Краткие сведения из теории. Алгоритм называется разветвляющимся, если он содержит несколько ветвей, отличающихся друг от друга содержанием вычислений
Алгоритм называется разветвляющимся, если он содержит несколько ветвей, отличающихся друг от друга содержанием вычислений. Выход вычислительного процесса на ту или иную ветвь алгоритма определяется исходными данными задачи. Пример 3. Найти максимальную из двух величин а и в Использованные компоненты: Edit1 – для ввода первого числа; Edit2 – для ввода второго числа; Label3 – для вывода результирующего сопротивления; BitBtn1 – для запуска программы; BitBtn2 – для выхода из программы. Рис. 11. Форма примера 3 Программный код unit Unit1;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);beginClose;end;procedure TForm1.BitBtn1Click(Sender: TObject);begina:=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
Программный код unit Unit1;interfaceuses 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.
|