
- •Лекции ясп
- •Среда визуальной разработки delphi
- •Свойства и события формы
- •Основы программирование в delphi
- •1. Скалярные (простые)
- •2. Структурные (составные)
- •3 03 06 По2
- •10 03 06
- •Var uln: integer;
- •Основные понятия ооп
- •31.03.06 Модульный принцип программ delphi
- •Главный модуль
- •Модули форм
- •Отладка и тестирование программ
3 03 06 По2
Самостоятельная работа
Программа сложение двух чисел.
Программа определения четности/нечетности числа.
ОПЕРАТОРЫ
Условный оператор If
If x>0 then
Begin
.
.
.
операторы
.
.
End
Else
Begin
.
.
.
End;
10 03 06
If x>0 then writeln (‘ X>0‘) else writeln (‘ X=0 or X<0 ‘);
Общий вид оператора Case
Ind – селектор.
Case Ind of
1….3000:
begin
.
.
операторы
.
.
End;
3001…6000:
Begin
.
.
End
Else
Begin
.
.
End;
End; - закрывает конструкцию case.
Пример
Обработка нажатия клавиш
procedure TForm1.Re1KeyPress(Sender: TObject; var Key: Char);
begin
{Obrabotka Key}
Case key of
'0'..'9','-',',',chr(8):;
chr(13): Re2.SetFocus;
else
begin
ShowMessage('Жми на цифры!');
key:=chr(0);
end;
end;
end;
procedure TForm1.Re2KeyPress(Sender: TObject; var Key: Char);
begin
{Obrabotka Key}
Case key of
'0'..'9','-',',',chr(8):;
chr(13): Re2.SetFocus;
else
begin
ShowMessage('Жми на цифры!');
key:=chr(0);
end;
end;
end;
ОПЕРАТОРЫ ЦИКЛОВ
Цикл с постусловием
1.
Repeat
X: =X-1;
Until X: =0;
Цикл с предусловием
2.
While x>0 do
begin
x:=x-1;
end;
step? Not
Цикл со счетчиком
For I=1 to 10 do
Begin
X: =x+0.3;
End;
For I=10 downto 1 do
Begin
Write(i);
End;
Пример
Подсчет цифр в трех полях
procedure TForm1.Button18Click(Sender: TObject);
Var
I,L,SC: integer;
begin
SC:=0;//Всего цифр
//1 строка
U1:=Re1.Text;
L:=Length(U1);
For I:=1 to L do
begin
If (ord(U1[I])>47)and(ord(U1[I])<58) then SC:=SC+StrToInt(U1[I]);
end;
//2 строка
U1:=Re2.Text;
L:=Length(U1);
For I:=1 to L do
begin
If (ord(U1[I])>47)and(ord(U1[I])<58) then SC:=SC+StrToInt(U1[I]);
end;
//3 строка
U1:=Wi1.Text;
L:=Length(U1);
For I:=1 to L do
begin
If (ord(U1[I])>47)and(ord(U1[I])<58) then SC:=SC+StrToInt(U1[I]);
end;
U2:=IntToStr(SC);
ShowMessage('Сумма цифр: '+U2);
end;
Функции и процедуры пользователея
Процедуры
Описание
procedure ИмяПроцедуры(Формальные параметры);
{Описательная часть}
begin
{Инструкции исполнительской части}
end;
Вызов
имя процедуры (фактические параметры);
Функции
Описание
function ИмяФункции(Формальные параметры) : тип результата;
{Описательная часть}
begin
{Инструкции исполнительской части}
Имя функции:= Результат;
end;
Вызов
Пример 1
procedure TForm1.Button15Click(Sender: TObject);
{Описание функции}
function UserFu(var UF1: string): string;
Var uln: integer;
begin
ULN:=Length(UF1);
UF1:=IntToStr(ULN)+' знаков для числа '+UF1;
ShowMessage(UF1);
end;
begin
U1:=Wi1.Text;
U2:=UserFu(U1);
end;
Пример 2
procedure TForm1.Button16Click(Sender: TObject);
{Описание функции}
function Fact(N: integer): integer;
begin
If N<=0 then Fact:=1 else Fact:=N*Fact(n-1);
end;
begin
{Использование рекурсивной функции}
Temp:=StrToInt(Re1.Text);
Re2.Text:='';
Wi1.Text:=IntToStr(Fact(Temp));
Wi2.Text:='!';
end;