Учебный курс Программирование на Delphi. Модуль 7: различия между версиями
Строка 18: | Строка 18: | ||
*Использованные компоненты | *Использованные компоненты | ||
+ | |||
*Программный код | *Программный код | ||
− | + | var a,b,x,y,z:integer; | |
− | + | procedure TForm1.BitBtn2Click(Sender: TObject); | |
− | + | begin | |
+ | close; | ||
+ | end; | ||
+ | procedure TForm1.BitBtn1Click(Sender: TObject); | ||
begin | begin | ||
− | + | a:=strtoint(edit1.Text); | |
− | + | b:=strtoint(edit2.Text); | |
− | + | x:=a; y:=b; | |
− | + | while (x<>y) do | |
− | + | if x>y then x:=x-y | |
− | + | else y:=y-x; | |
− | + | z:=x; | |
− | + | label3.Caption:='НОД= '+inttostr(z); | |
− | + | end; | |
end. | end. | ||
− | |||
*Форма с результатом работы программы | *Форма с результатом работы программы | ||
[[Изображение:-4-1.JPG]] | [[Изображение:-4-1.JPG]] |
Версия 13:01, 26 февраля 2008
Для программирования циклов с условием в Delphi существуют оператор цикла с предусловием WHILE и оператор цикла с постусловием REPEAT.
Формат операторов:
while условие do оператор;
repeat операторы until условие;
условие – логическое выражение.
В операторе while сначала вычисляется логическое выражение и если оно истинно, то выполняется оператор. После этого управление возвращается в начало цикла на вычисление логического выражения. Если условие ложно, оператор завершает работу и управление передаётся на следующий оператор.
В операторе repeat сначала выполняются операторы, и только потом вычисляется логическое выражение. Если оно ложно, то управление возвращается в начало цикла, повторяется выполнение операторов тела цикла. Если условие истинно – то выход из цикла.
Содержание
Пример 1.
- Условие
Алгоритм Евклида для подсчета НОД (наибольшего общего делителя) двух натуральных чисел.
- Использованные компоненты
- Программный код
var a,b,x,y,z:integer; procedure TForm1.BitBtn2Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin a:=strtoint(edit1.Text); b:=strtoint(edit2.Text);
x:=a; y:=b; while (x<>y) do if x>y then x:=x-y else y:=y-x; z:=x;
label3.Caption:='НОД= '+inttostr(z); end; end.
- Форма с результатом работы программы
Пример 2.
- Условие
- Использованные компоненты
- Программный код
- Форма с результатом работы программы
Пример 3.
- Условие
- Использованные компоненты
- Программный код
- Форма с результатом работы программы
Задание
Таблица 13
Таблица 14
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.