Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
INFORMATIKA.docx
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
49.35 Кб
Скачать
  1. Циклы с постусловием. Алгоритм и пример программы-реализации.

Итерационные циклы с постусловием

Синтаксис:

repeat

оператор;

оператор;

...

оператор

until выражение

Операторы между словами repeat и until повторяются, пока логическое выражение является ложным (False). Как только логическое выражение становится истинным (True), происходит выход из цикла.

Так как выражение оценивается после выполнения операторов, то в любом случае операторывыполнятся хотя бы один раз.

Пример.

repeat

WriteLn('Введите положительное число');

ReadLn(x);

until x>0;

 

Операторы завершения цикла

Для всех операторов цикла выход из цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода и выхода.

В версии Турбо Паскаль 7.0 определены стандартные процедуры:

Break

Continue

Процедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.

Заметим, что хотя и существует возможность выхода из цикла с помощью оператора безусловного перехода goto, делать этого не желательно. Во всех случаях можно воспользоваться специально предназначенными для этого процедурами Break и Continue.

  1. Оператор выбора в Паскале. Алгоритм и пример программы-реализации.

Оператор выбора 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]