Цикл с предусловием
Формат: while условие do
оператор;
Особенности:
1. Цикл выполняется, пока условие
истинно
цикл не выполнится ни разу
2. Если условие изначально ложно, то
var i:integer;
begin
i:=0;
while i<10 do i:=i+1;
end.
увеличивает
переменную i
на 1, пока она
меньше 10 и
ничего не
выводит.
Программа
просто
Программа просто увеличивает переменную i на 1, пока она меньше 10 и ничего не выводит.
Презентации "Изучаем Pascal"
мы
попытаемся
Цикл с предусловием
Если
выводить
значение переменной i, то нужно
дописать оператор вывода:
var i:integer;
begin
i:=0;
while i<10 do
последнее
Программа
выводит только
значение (10), а
не все от 1 до
10.
i:=i+1;
writeln(i);
end.
Программа выводит только последнее значение (10), а не все от 1 до 10.
Презентации "Изучаем Pascal"
Цикл с предусловием
Проблема в том, что после do должен
быть один оператор (см. формат)
В нашем случае повторяется только
первая
строчка,
вторая
выполняется один раз.
begin
i:=0;
while i<10 do
а
Эта строчка повторяется 10 раз в
цикле
А эта строчка выполняется
всего 1 раз
i:=i+1;
writeln(i);
end.
Презентации "Изучаем Pascal"
чтобы
Операторные скобки
Для
объединить
несколько операторов в одно целое
(там, где должен быть один оператор)
применяются операторные
скобки,
указывающие начало и конец группы
операторов.
того,
Начало группы: служебное слово
begin
Операторные
могут
Конец группы: служебное слово
применятся не только в операторах
end;
цикла, но и в условных операторах.
скобки
Презентации "Изучаем Pascal"
Цикл с предусловием
Программа вывода 10 чисел будет
выглядеть так:
var i:integer;
begin
i:=0;
while i<10 do
begin
Теперь оба оператора
будут повторяться 10
раз
i:=i+1;
writeln(i);
end;
end.
Презентации "Изучаем Pascal"
Операторные скобки
Операторные скобки служат для
объединения нескольких операторов в
единую группу
Начало группы – begin, конец – end;
Группа может применятся в любом
месте программы, где вместо одного
действия нужно сделать несколько.
if a>0 then
if a>0 then begin
x:=sqrt(a)/2;
x:=sqrt(a)/2;
writeln(x); сравни
writeln(x);
те
end;
сравните
Презентации "Изучаем Pascal"
Цикл с предусловием
Так как значение переменной мы
изменяем сами, то шаг её изменения
может быть отличен от единицы,
например:
i:=0;
while i<10 do
begin
прибавляется 2
•Что выведет эта
Теперь каждый раз к i
i:=i+2;
writeln(i);
end;
end.
программа?
•Понадобился ли нам
условный оператор?
•Как вывести числа,
кратные 3?
•Может ли шаг изменения
быть дробным? Что для
этого нужно?
•Что выведет эта программа?•Понадобился ли нам условный оператор?•Как вывести числа, кратные 3?•Может ли шаг изменения быть дробным? Что для этого нужно?
Презентации "Изучаем Pascal"
Цикл с предусловием
Цикл с предусловием является самым
универсальным циклом и с его помощью
решаются многие задачи, например, задача
нахождения количества цифр в числе:
begin
readln(x);
k:=0;
while x>0 do begin
x:=x div 10;
k:=k+1;
end;
writeln('Количество цифр: ',k);
end.
Презентации "Изучаем Pascal"
Цикл с постусловием
Формат:
repeat
оператор(ы)
until условие;
Особенности:
1. Вне зависимости от условия цикл
выполнится хотя бы один раз
2. Цикл выполняется до тех пор, пока
условие ложно
3. Цикл имеет четкие границы и для
выполнения нескольких действий
операторные скобки не нужны.
Презентации "Изучаем Pascal"
Цикл с постусловием
Цикл с постусловием используется в тех
случаях, когда тело цикла должно
обязательно выполниться хотя бы один раз,
например, при проверке ввода пароля:
program z;
var x:integer;
begin
repeat
write('Введите числовой пароль: ');
readln(x);
until x=358;
writeln('Доступ разрешён!');
end.
Презентации "Изучаем Pascal"
Задания
1. Выведите значения функции
x
2
для x от 0,3 до 2,5 с шагом 0,15.
x
1
2. Определите максимальную цифру в
y
целом числе N (N вводится с
клавиатуры).
3. Определить положение минимальной
цифры в числе N (N вводится с
клавиатуры).
4. Определить, каких цифр (четных или
нечетных) больше в числе N (N вводится
с клавиатуры).
Задания
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.