Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод_рекомендации_1.doc
Скачиваний:
158
Добавлен:
14.02.2015
Размер:
2.44 Mб
Скачать

Лабораторная работа «Программирование на Delphi разветвляющихся алгоритмов»

Цель работы:

  1. Усвоить правила записи логических выражений, работу операторов if и case.

  2. Научиться составлять разветвляющиеся программы на Delphi.

Краткие сведения из теории

Алгоритм называется разветвляющимся, если он содержит несколько ветвей, отличающихся друг от друга содержанием вычислений. Выход вычислительного процесса на ту или иную ветвь алгоритма определяется исходными данными задачи.

Пример 3. Найти максимальную из двух величин а и в

Использованные компоненты:

Edit1 – для ввода первого числа;

Edit2 – для ввода второго числа;

Label3 – для вывода результирующего сопротивления;

BitBtn1 – для запуска программы;

BitBtn2 – для выхода из программы.

Рис. 11. Форма примера 3

Программный код

unitUnit1;

interface

uses

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

Dialogs, StdCtrls, Buttons;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Label3: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var a,b,m:real;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

a:=strtofloat(edit1.Text);

b:=strtofloat(edit2.Text);

if a>=b then m:=a else m:=b;

label3.caption:='Первое число= '+floattostr(a)+#13+'Второе число= '

+floattostr(b)+#13+'Максимальное= '+floattostr(m);

end;

end.

Пример 4. Найти корни квадратного уравнения

Использованные компоненты:

Edit1 – для ввода коэффициента a;

Edit2 – для ввода коэффициента b;

Edit3 – для ввода коэффициента с;

Label6 – для вывода результата;

Button1 – для запуска программы.

Рис. 12. Форма примера 4

Программный код

unit Unit1;

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit; Edit2: TEdit;

Edit3: TEdit; Label1: TLabel;

Label2: TLabel; Label3: TLabel;

Label4: TLabel; Label5: TLabel;

Button1: TButton; Label6: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var a,b,c,x,x1,x2,d:real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c:=StrToFloat(Edit3.Text);

d:=b*b-4*a*c;

if d<0 then Label6.Caption:='Нет решений'

else if d>0 then begin

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

Label6.Caption:='x1='+FloatToStr(x1)+', x2='+FloatToStr(x2);

end

else begin

x:=-b/(2*a);

Label6.Caption:='x='+FloatToStr(x);

end

end;

end.

Пример 5. Определить название столицы по названию государства.

Использованные компоненты:

Edit1 – для ввода названия страны;

Label2 – для вывода названия столицы;

BitBtn1 – для запуска программы;

BitBtn2 – для выхода из программы.

Рис. 13. Форма примера 5

Программный код

unitUnit1;

interface

uses

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

Dialogs, StdCtrls, Buttons;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var land, cap:string[50];

num:0..8;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

land:=edit1.Text;

num:=0; //номер страны в списке

if land='Австралия' then num:=1;

if land='Болгария' then num:=2;

if land='Греция' then num:=3;

if land='Италия' then num:=4;

if land='Норвегия' then num:=5;

if land='Франция' then num:=6;

if land='США' then num:=7;

if land='Россия' then num:=8;

case num of //определение столицы по номеру страны в списке

1:cap:='Вена';

2:cap:='София';

3:cap:='Афины';

4:cap:='Рим';

5:cap:='Осло';

6:cap:='Париж';

7:cap:='Вашингтон';

8:cap:='Москва';

0:cap:='Такой столицы не знаю';

end;

label2.Caption:=cap;

end;

end.