- •Информатика
- •Понятие алгоритма. Свойства алгоритма. Структура простейшей программы на Паскале. Вывод текста на экран.
- •Вывод вещественных чисел в Паскале.
- •Разветвляющиеся алгоритмы. Блок-схема ветвления на Паскале. Пример программы, реализующей ветвление.
- •Условный оператор в Паскале. Блок-схема. Пример программы.
- •Сложные условия в Паскале. Алгоритм и пример программы реализации.
- •Циклы в Паскале. Цикл с уменьшением переменной. Цикл с переменной.
- •Циклы с условием. Алгоритм и пример программы-реализации.
- •Циклы с постусловием. Алгоритм и пример программы-реализации.
- •Оператор выбора в Паскале. Алгоритм и пример программы-реализации.
Циклы с постусловием. Алгоритм и пример программы-реализации.
Итерационные циклы с постусловием
Синтаксис:
repeat
оператор;
оператор;
...
оператор
until выражение
Операторы между словами repeat и until повторяются, пока логическое выражение является ложным (False). Как только логическое выражение становится истинным (True), происходит выход из цикла.
Так как выражение оценивается после выполнения операторов, то в любом случае операторывыполнятся хотя бы один раз.
Пример.
repeat
WriteLn('Введите положительное число');
ReadLn(x);
until x>0;
Операторы завершения цикла
Для всех операторов цикла выход из цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода и выхода.
В версии Турбо Паскаль 7.0 определены стандартные процедуры:
Break
Continue
Процедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.
Заметим, что хотя и существует возможность выхода из цикла с помощью оператора безусловного перехода goto, делать этого не желательно. Во всех случаях можно воспользоваться специально предназначенными для этого процедурами Break и Continue.
Оператор выбора в Паскале. Алгоритм и пример программы-реализации.
Оператор выбора CASE
Оператор служит для выбора одного из помеченных вариантов действия (операторов), в зависимости от значения "параметра". Оператор имеет вид:
Case "параметр" Of
"список помеченных операторов"
Else "оператор"
End;
Здесь "параметр" - выражение или переменная порядкового типа.
Из "списка помеченных операторов" выполняется оператор с меткой, включающей значение "параметра", иначе оператор после слова Else.
Конструкция Else "оператор" может отсутствовать. Напомним, что "оператор" может иметь вид: Begin "операторы" end;
Пример операторов для определения порядка целого числа N от 0 до 999:
case N of
0..9 : writeln('однозначное');
10..99 : writeln('двузначное');
100..999 : writeln('трехзначное')
else writeln('Число "N" не входит в указанный диапазон')
end;
Приведем пример программы случайного предсказания одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных случаях - вы "неудачник".
PROGRAM FUTURE;
var N : word;
BEGIN
writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО');
Randomize;
N:=Random(20)+1; { N - случайное число от 1 до 20 }
writeln; write('Вас ожидает ');
case N of
1 : writeln('счастье');
2 : writeln('пятерка');
3 : writeln('дорога');
4 : writeln('двойка');
5 : writeln('болезнь');
6 : writeln('здоровье');
7 : writeln('деньги');
8 : writeln('любовь');
9 : writeln('встреча');
10 : writeln('дети')
else writeln('неудача')
end;
writeln('Нажми Enter');
readln;
END.
Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.
