Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otchet3.docx
Скачиваний:
1
Добавлен:
03.09.2019
Размер:
521.25 Кб
Скачать

Операторы циклов с условием Синтаксис цикла с предусловием While:

While условие do

begin

{Последовательность инструкций}

end;

− Инструкции, находящиеся между begin и end выполняются до тех пор, пока условие истинно. Если условие неверно при входе в цикл, инструкции ни разу не исполняются.

− Чтобы цикл завершился, необходимо, чтобы последовательность инструкций между begin и end изменяла значения переменных, входящих в выражение условие.

Синтаксис цикла с постусловием Repeat … Until

Repeat

{последовательность инструкций}

Until условие;

Работа оператора:

− выполняются инструкции, следующие после ключевого слова Repeat;

− вычисляется значение условия. Если условие ложно, то повторно выполняются инструкции цикла. Если условие истинно, то выполнение цикла прекращается.

Замечание. При использовании цикла с постусловием нет необходимости использовать операторные скобки.

3. Листинг программы

Unit1:

unit Unit1;

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Label3: TLabel;

Label4: TLabel;

Button1: TButton;

Label5: TLabel;

Button2: TButton;

Label6: TLabel;

Button3: TButton;

Button4: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit4, Unit3;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

form2.show;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

form3.Show;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

form4.show;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

close;

end;

end.

Unit2:

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, math;

type

TForm2 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

var

a,b,h,x,y: real;

n,i: integer;

begin

a:=StrToFloat(Edit1.Text); {начало отрезка}

b:=StrToFloat(Edit2.Text); {конец отрезка}

h:=StrToFloat(Edit3.Text); {шаг табуляции}

n:=ceil((b-a)/h+1); {расчет количества точек}

x:=a;

{формирование заголовка таблицы табуляции,

которая выводится в Memo. Добавление в конец строки

chr(13)+chr(10) - кодов 13 - возврат каретки

и 10 - переход на одну строку; позволяет разбить таблицу на строки}

memo1.text:=' x | y ' +chr(13)+chr(10);

for i:=1 to n do

begin y:=1/10*(power(x,2))-x*ln(x); {вычисление следующего значения функции}

{формирование очередной строки табицы с результатами табулирования}

Memo1.Text:=Memo1.Text+FloatToStrf(x,fffixed,5,2)+' | '

+FloatToStrf(y,fffixed,5,2)+chr(13)+chr(10);

x:=x+h; {вычисление следуюшей точки табуляции}

end;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

close;

end;

end.

Unit3:

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, Math;

type

TForm3 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Edit2: TEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

close;

end;

procedure TForm3.Button2Click(Sender: TObject);

var

k,n: integer;

y,s: real;

begin

n:=StrToInt(Edit1.Text);

s:=0; {оргнанизация циклов по числу членов последовательности}

for K:=1 to n do

begin

y:=(k+2)/(k*k+4); {вычисление очередного члена последовательности}

s:=s+y; {вычисление суммы последовательности}

end;

edit2.Text:=FloatToStr(s);{вывод результатирующей суммы}

end;

end.

Unit4:

unit Unit4;

interface

uses

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

Dialogs, StdCtrls;

type

TForm4 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Edit2: TEdit;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button2Click(Sender: TObject);

begin

close;

end;

procedure TForm4.Button1Click(Sender: TObject);

var

a,k:integer;

begin

a:=StrToInt(Edit1.Text);

k:=0;

while a<>0 do

begin

k:=k+1;

a:=a div 10

end;

edit2.Text:=intToStr(k);

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]