Контрольная работа по "Программирование"

Автор: Пользователь скрыл имя, 20 Декабря 2010 в 21:03, контрольная работа

Краткое описание

Простейшая программа в среде Delphi.

Цель работы: Научиться конструировать главную форму программы простейшими стандартными компонентами.

Постановка задачи:

1.Создать главную форму и присвоить ей имя, соответствующее лабораторной работе.
2.Сконструировать простейший калькулятор.
3.Написать обработчики, реализующие основные арифметические действия калькулятора.
4.Изучить структуру Unit главной формы.

Файлы: 1 файл

Записка.doc

— 640.50 Кб (Скачать)

end; 

procedure TForm2.Button3Click(Sender: TObject);

var vv,nn:real;

begin

if rashcet=1 then begin

vv:=1/sqrt(2)*ln((1.75/1.25)+(sqrt(3.0625-0.0625)/1.25));

nn:=1/sqrt(2)*ln((0.75/1.25)+(sqrt(0.5625-0.0625)/1.25));

intp:=vv-nn;

pogr:=abs(int-intp); 

rashcet:=rashcet+1;

Label2.Caption:='Погрешность  рассчитана';

end else

Application.MessageBox('Ошибка! Интегралл еще не рассчитан.', 'Внимание!!!',0);

end; 

end. 

unit Unit3; 

interface 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, Menus,

  ExtDlgs; 

type

  TForm3 = class(TForm)

    Button1: TButton;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Chart1: TChart;

    Series1: TFastLineSeries;

    Image1: TImage;

    OpenPictureDialog1: TOpenPictureDialog;

    SaveDialog1: TSaveDialog;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N3: TMenuItem;

    N2: TMenuItem;

    procedure Button1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure N3Click(Sender: TObject);

    procedure N2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form3: TForm3; 

implementation

uses Unit1, Unit2;

{$R *.dfm} 

function f(x:real):real; {интегрируемая функция}

begin

f:=1/sqrt(1+3*x+2*x*x);

end; 

procedure TForm3.Button1Click(Sender: TObject);

begin

Form3.close;

end; 

procedure TForm3.FormCreate(Sender: TObject);

var i:integer;

    clr:TColor;

    im,ib,a,b:real;

    inn:integer;

begin

Label2.Caption:=FloatToStr(int);

Label4.Caption:=FloatToStr(pogr); 

Chart1.Series[0].Clear;

a:=1;b:=2;

im:=a;

inn:=1000;

ib:=(b-a)/inn;

for i:=0 to inn-1 do

begin

  Chart1.Series[0].AddXY(im,f(im),'',clr);

  im:=im+ib;

end;

end; 

procedure TForm3.N3Click(Sender: TObject);

begin

SaveDialog1.InitialDir:=extractfilepath(application.ExeName);

if savedialog1.Execute then

begin

  if extractfileExt(SaveDialog1.FileName)<>'.bmp' then SaveDialog1.FileName:=SaveDialog1.FileName+'.bmp';

  Chart1.SaveToBitmapFile(SaveDialog1.FileName);

end;

end; 

procedure TForm3.N2Click(Sender: TObject);

begin

SaveDialog1.InitialDir:=extractfilepath(application.ExeName);

if OpenPictureDialog1.Execute then

Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

end; 

end. 

2) Пример работы  программы: 

 

 

Лабораторная  работа №13

Создание  многостраничного документа

Цель  работы: Изучить компоненты TPageControl, TTabSheet

Постановка  задачи: Разработать программу ввода данных, выбора метода расчета, расчета и представления результатов в табличной и графической формах на примере вычисления определенного интеграла, реализуя отдельные вычислительные шаги на различных закладках многостраничного документа.

1)Листинг программы: 

unit Unit1; 

interface 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ComCtrls, StdCtrls, ExtCtrls, TeEngine, Series, TeeProcs, Chart,

  Grids; 

type

  TForm1 = class(TForm)

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    TabSheet2: TTabSheet;

    TabSheet3: TTabSheet;

    TabSheet4: TTabSheet;

    ComboBox1: TComboBox;

    RadioGroup1: TRadioGroup;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    Button6: TButton;

    Edit1: TEdit;

    Label1: TLabel;

    Chart1: TChart;

    Series1: TFastLineSeries;

    StringGrid1: TStringGrid;

    Button8: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure ComboBox1Change(Sender: TObject);

    procedure RadioGroup1Click(Sender: TObject);

    procedure Button8Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1;

  a,b:real;

implementation 

{$R *.dfm} 

function AbsReal(X : Extended):Extended;

begin

    Result := Abs(X);

end; 

function F(X : Double):Double;

begin

If Form1.ComboBox1.Text='f(x)=sin(x)' Then Result:=sin(x);

If Form1.ComboBox1.Text='f(x)=cos(x)' Then Result:=cos(x);

If Form1.ComboBox1.Text='f(x)=ln(x)' Then Result:=ln(x);

end; 

function IntegralRect(a : Double; b : Double; Epsilon : Double):Double;

var

    i : Integer;

    n : Integer;

    h : Double;

    s1 : Double;

    s2 : Double;

begin

    n := 1;

    h := b-a;

    s2 := h*F((a+b)/2);

    repeat

        n := 2*n;

        s1 := s2;

        h := h/2;

        s2 := 0;

        i := 1;

        repeat

            s2 := s2+F(a+h/2+h*(i-1));

            i := i+1;

        until  not (i<=n);

        s2 := s2*h;

    until  not (AbsReal(s2-s1)>3*Epsilon);

    Result := s2;

end; 

function IntegralTrap(a : Double; b : Double; Epsilon : Double):Double;

var

    i : Integer;

    n : Integer;

    h : Double;

    s1 : Double;

    s2 : Double;

begin

    n := 1;

    h := b-a;

    s2 := h*(F(a)+F(b))/2;

    repeat

        s1 := s2;

        s2 := 0;

        i := 1;

        repeat

            s2 := s2+F(a-h/2+h*i);

            i := i+1;

        until  not (i<=n);

        s2 := s1/2+s2*h/2;

        n := 2*n;

        h := h/2;

    until  not (AbsReal(s2-s1)>3*Epsilon);

    Result := s2;

end; 

function IntegralSimps(a : Double; b : Double; Epsilon : Double):Double;

var

    h : Double;

    s : Double;

    s1 : Double;

    s2 : Double;

    s3 : Double;

    x : Double;

begin

    s2 := 1;

    h := b-a;

    s := F(a)+F(b);

    repeat

        s3 := s2;

        h := h/2;

       s1 := 0;

        x := a+h;

        repeat

            s1 := s1+2*F(x);

            x := x+2*h;

        until  not (x<b);

        s := s+s1;

        s2 := (s+s1)*h/3;

        x := AbsReal(s3-s2)/15;

    until  not (x>Epsilon);

    Result := s2;

end; 
 
 
 

procedure TForm1.Button1Click(Sender: TObject);

begin

PageControl1.ActivePage:=TabSheet2;

end; 

procedure TForm1.Button2Click(Sender: TObject);

begin

PageControl1.ActivePage:=TabSheet3;

Информация о работе Контрольная работа по "Программирование"