Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретический блок.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
628.74 Кб
Скачать

Операторы повторения

Очень часто приходится повторять определенную часть алгоритма для различных значений аргумента. Для организации таких процессов используется алгоритмы с циклической структурой. На языке программирования – операторы повторения. Они составляются по правилам на основе различных закономерностей. Для выполнения процессов повторения на языке Паскаль предусмотрены три вида операторов цикла: арифметический цикл (параметрический цикл) - FOR, цикл с предусловием WHILE и цикл с постусловием REPEAT.

  1. Оператор цикла с параметром

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

Блок-схема оператора FOR

Формат записи: for <параметр цикла>:=<начало> to/downto <конец> do <оператор>;

для до делать

параметр цикла - числовая переменная типа integer

начало, конец - арифметическое выражение

to - используется когда начало меньше конца

downto - используется когда начало больше конца

оператор - тело цикла, любой оператор, в том числе и составной

Принцип работы:

  • Параметру присваивается значение начало;

  • Выполняется оператор - тело цикла;

  • Затем параметр сравнивается с концом;

  • Если параметр больше/меньше конца, то начинает работать следующий оператор за оператором цикла, в противном случае к параметру прибавляется/отнимается единица;

  • Снова выполняется оператор;

  • Так продолжается пока параметр не станет больше/меньше конца.

  1. Оператор цикла с предусловием

Оператор While осуществляет повторение по предварительной проверке условий, а также с помощью ключевых слов While.

Блок-схема оператора WHILE

Формат записи: while <условие> do <оператор>;

пока делать

условие - логическое выражение

оператор (тело цикла) - любой оператор, в том числе и составной.

Здесь: while –«пока», do–«выполнить». А условие повторения – логическое выражение. Тело цикла – простой или составной оператор, которой выполняется с повторением. Перед каждом пвторением тела цикла вычисляется значение условия повторения.

Принцип работы:

  • Проверяется истинность условия;

  • Если условие истинно выполняется оператор;

  • Цикл работает, пока условие не станет ложным.

  1. Оператор цикла с постусловием

Оператор Repeat аналогичен оператору While, с той разницей, что условие повторения цикла проверяется в конце цикла, поэтому тело цикла выполняется хотя бы один раз. Вторая особенность – тело цикла выполняется, если условие ложно, и прекращается, если условие истинно (в операторе While было наоборот).

Блок-схема оператора REPEAT.

Формат записи: repeat <операторы> until <условие>

повторять до тех пор пока

условие - логическое выражение

операторы (тело цикла)- любое количество любых операторов, в том числе и составной.

Этот оператор использует ключевые слова repeat – повторять и until – до тех пор пока. Оператор состоит из тела цикла и условия повторения.

Принцип работы:

  • Выполняются все операторы между repeat и until;

  • Проверяется ложность условия;

  • Цикл работает, пока условие не станет истинным.

Особенности и отличия операторов цикла

  • Вход в цикл возможен только через его начало;

  • Переменные оператора должны быть определены до входа в цикл;

  • Необходимо предусмотреть выход из цикла, чтобы он не повторялся бесконечно;

  • Оператор while repeat может ни разу не выполнится;

  • оператор repeat обязательно выполниться хотя бы раз.

Примеры программ

Написать программу, которая выводит на экран табл. умножения, например на 7.

Program M4;

Var m,n,p:integer;

Begin

For i:=1 to 10 do

Writeln(7,’*’,I:2,’=’,7*I:2);

end.

Написать программу, которая выводит табличные значения функции у=x+2. Диапазон изменения аргумента от – 4 до 4, приращение аргумента - 0.5

Program M5;

var x,y:real;

begin

clrscr;

writeln('y':20,' : ','x':5);

writeln(' --------------');

x:=-4;

repeat

y:=abs(x)+2;

writeln(y:20:1,' : ',x:5:1);

x:=x+0.5;

until x>4;

end.

Написать программу, которая определяет максимальное число из введенной последовательности положительных чисел. Завершение ввода – 0.

Program M6;

Var a{очередное число},m{макс.число}:integer;

Begin

M:=0;

Repeat

Writeln(‘введи число’);Readln(a);

If a>m then m:=a;

Until a=0;

Writeln(‘max=’,m);

end.

Контроль

Вопросы:

  1. Что такое транслятор, компилятор, интерпретатор?

  2. Как загрузить TurboPascal?

  3. Назовите элементы главного меню редактора TurboPascal.

  4. Перечислите основные понятия языка TurboPascal.

  5. Нарисуйте структуру программы TurboPascal.

  6. Назовите операторы ввода-вывода.

  7. Назовите дополнительные арифметические операции и функции, преобразования числовых переменных.

  8. Какие существуют типы данных?

  9. Что такое порядковые типы переменных?

  10. Как работать в среде TurboPascal?

  11. Как нужно набирать, корректировать и отлаживать программы?

  12. Как сохранять, загружать и корректировать программы?

  13. Как преобразовываются числовые переменные?