Лабораторная работа Операторы цикла. Операторы цикла с условием . Операторы цикла с предусловием
Цель работы: закрепить практические навыки работы с системой Borland delphi, научиться правильно использовать различные операторы циклов; научиться составлять программы решения задач с использование циклических структур
В Delphi применяются два оператора цикла с условием:
While "условие" DO "оператор";
- цикл с предусловием: проверка условия перед каждым выполнением "оператора",
Repeat "операторы" Until "условие";
- цикл с постусловием: проверка условия после каждого выполнения "операторов".
Здесь "условие" - выражение логического типа (Boolean).
Схема выполнения операторов имеет вид:
Цикл WHILE |
Цикл REPEAT |
|
|
В цикле While "оператор" выполняется если условие верно (True), если условие ложно (False), то цикл заканчивается, т. е. цикл While повторяется пока выполняется условие. Цикл While начинается проверкой условия, поэтому, если начальное условие ложно, то "оператор" не выполняется ни разу. Для включения в тело цикла нескольких операторов применяется составной оператор: Begin "операторы" end.
Цикл Repeat повторяется, если условие ложно (False), и заканчивается, если условие верно (True), т. е. цикл Repeat повторяется до выполнения условия.
Цикл Repeat заканчивается проверкой условия, поэтому "операторы" выполняются не менее одного раза. В теле цикла может записываться более одного оператора.
Пример
1. Вычислить
значение функции
на отрезке [
]
с шагом 0,1
var x, y:real;
begin
x:=0; //присваиваем начальное значение x
//Цикл с предусловием
while x<=pi do
begin
//Вычисляем y
y:=exp(sin(x))*cos(x);
x:=x+0.1; // выводим значения х и у в поле Memo1
memo1.Lines.Add('x= '+floattostr(x)+'; y= '+floattostr(y)); end; end.
Пример 2: Поступает последовательность целых положительных чисел. 0 – конец последовательности. Определить количество простых чисел в последовательности.
Окно ввода – это стандартное диалоговое окно, которое появляется на экране в результате вызова функции Input Box. В общем виде оператор ввода данных с использованием этой функции записываются так:
Имя_переменной:=InputBox(заголовок_окна, подсказка, значение_переменной);
Где:
Заголовок_окна - строка, определяющая название окна;
Подсказка – текст поясняющего сообщения;
Значение_переменной – строка, которая будет находиться в поле ввода при появлении окна на экране;
Имя_переменной – переменная строкового типа, которой будет присвоено значение_переменной из поля ввода;
Блок-схема алгоритма изображена на рис. 1. Обратите внимание, что для решения задачи было организовано два цикла. Первый цикл с предусловием обеспечивает ввод элементов последовательности до тех пор, пока не поступит нулевой элемент. Второй цикл находится внутри первого и определяет, является ли поступившее число простым. Кроме того, во внешнем цикле предусмотрена проверка, не является ли текущий элемент последовательности отрицательным. Если это так, выдается сообщение об ошибке, и управление передается оператору ввода следующего элемента.
Код программы:
Рис.1 Поиск простых чисел в последовательности
Начало
X
K = 0
X ≠ 0
-
X > 0
+
+
Pr = истина
K = 0
I = 2, x div 2
-
- - +
