{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
a,b,c: Real;
procedure TForm1.Button1Click(Sender: TObject);
var
p,s: Real;
m: String;
Issides: boolean;//стороны треугольника
begin
Issides:= (c< (a + b)) and (a< (c + b)) and (b < (c+a));
if Issides
then//a,b,c - стороны треугольника
begin
p:= (a + b + c)/2;
s:= SQRT(p*(p - a)*(p - b)*(p - c));
m:= FloatToStr(s);
end
else m:= 'a,b,c - не стороны треугольника';
Edit4.Text:= m;
end;
procedure TForm1.Edit1Exit(Sender: TObject);
begin
try
a:= StrToFloat(Edit1.Text);
if a<0 then
begin
ShowMessage('Не длина');
Edit1.SetFocus;
end;
except
on EConvertError do
begin
ShowMessage('Не длина');
Edit1.Clear;
Edit1.SetFocus;
end;
end;
end;
procedure TForm1.Edit2Exit(Sender: TObject);
begin
try
b:= StrToFloat(Edit2.Text);
if b<0 then
begin
ShowMessage('Не длина');
Edit2.SetFocus;
end;
except
on EConvertError do
begin
ShowMessage('Не длина');
Edit2.Clear;
Edit2.SetFocus;
end;
end;
end;
procedure TForm1.Edit3Exit(Sender: TObject);
begin
try
c:= StrToFloat(Edit3.Text);
if c<0 then
begin
ShowMessage('Не длина');
Edit3.SetFocus;
end;
except
on EConvertError do
begin
ShowMessage('Не длина');
Edit3.Clear;
Edit3.SetFocus;
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
p,s: Real;
m: String;
Issides: boolean;//стороны треугольника
begin
Issides:= (c< (a + b)) and (a< (c + b)) and (b < (c+a));
case Issides of
true:
begin
p:= (a + b + c)/2;
s:= SQRT(p*(p - a)*(p - b)*(p - c));
m:= FloatToStr(s);
end
else m:= 'a,b,c - не стороны треугольника'
end;
Edit4.Text:= m;
end;
end.
Пример 2. Оператор варианта case.
В приведённом ниже примере приложение определяет принадлежность введённого с клавиатуры символа одному из заданных подмножеств набора символов ASCII.
unit UCase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;//Символ
Label1: TLabel;
Edit2: TEdit;//Принадлежность
Label2: TLabel;
Button1: TButton;//Вычислить
Button2: TButton;//Выход
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var s: String;
begin
Edit1.Clear;
case Key of
#0..#31:begin s:='Управляющие символы'; Edit1.Text := IntToStr(Ord(Key)) end;
#32:begin s:= 'пробел';Edit1.Text := IntToStr(Ord(Key)) end;
'0'..'9':s:='Арабские цифры';
'A'..'Z':s:='Прописные латинские буквы';
'a'..'z':s:='Строчные латинские буквы';
'Ё','А'..'Я','ё','а'..'я':s:='Прописные буквы кириллицы';
else s:='Другой символ'
end;
Edit2.Text:= s;//Вывод результата
Edit1.SetFocus;
end;
end.
1. Какие действия позволяет запланировать условный оператор if в полной форме?
2. Какие действия позволяет запланировать условный оператор if в сокращенной форме?
3. От чего зависит выбор варианта в условном операторе if?
4. Какое выражение можно записать в качестве условия выбора?
5. Сколько операторов можно записать после зарезервированного слова then?
6. Сколько операторов можно записать после зарезервированного слова else?
7. Назначение оператора case?
8. Какие действия позволяет запланировать оператор варианта case?
9. От чего зависит выбор варианта в операторе варианта case?
10. Какое выражение можно записать в качестве селектора в операторе варианта case?
11. Какого типа должны быть константы выбора в операторе варианта case?
12. Обязательна ли else ветвь в операторе варианта case?
13. Сколько операторов может быть в else ветви оператора варианта case?
14. Является ли структура ifthen простой программой?
15. Какие действия по обработке данных позволяет организовать структура ifthen?
16. Является ли структура ifthen элементарной программой?
17. Какой оператор Паскаля позволяет реализовать программы с управляющей структурой типа структура ifthen?
18. Что такое then-часть?
19. Что такое if-тест?
20. Когда выполняется then-часть?
21. Является ли структура case простой программой?
22. Является ли структура case элементарной программой?
23. Какой оператор Паскаля позволяет реализовать программы с управляющей структурой типа структура case?
24. Что такое case-часть?
25. Что такое case-тест?
26. Что такое case-список?
27. Когда выполняется case-часть?
28. Когда выполняется else-часть?
29. Какие действия по обработке данных можно организовать с помощью структуры case?
· А.И. Марченко. Программирование на языке Object Pascal 2.0. - К.: Юниор, 1998. - 304 с., ил.
· Кэнту М. Delphi 5 для профессионалов. – СПб.: Питер, 2001. – 944 с.: ил.
· П. Дарахвелидзе, Е. Марков. Программирование в Delphi 4. - СПб.:БХВ - Санкт-Петербург,1999.-864 с., ил.
· Петр Дарахвелидзе, Евгений Марков. Delphi - среда визуального программирования. СПб.: BHV - Санкт-Петербург, 1996. - 352 с.
· Джон Матчо, Дэвид Р. Фолкнер. Delphi. М.: Бином. 1995. -464 с.
· Джеф Дантеман, Джим Мишел, Дон Тейлор. Программирование в среде Delphi. - К.: НИПФ «ДиаСофтЛтд», 1995. - 608 с.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.