Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основные сведения. Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных данных.






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

Различают циклы с параметрами (циклы ДЛЯ) и циклы с условием (циклы ПОКА). Для программирования циклов с параметром в Паскале используют оператор FOR. Следует помнить, что в качестве управляющей переменной должна быть переменная дискретного типа.

ОПЕРАТОР ОРГАНИЗАЦИИ ЦИКЛОВ FOR

Операторы повтора используются при организации циклов. Цикл – это последовательность операторов, которая может выполняться более одного раза.

Форматы оператора FOR:

1. for < параметр цикла>: = < S1> to < S2> do < оператор>;

2. for < параметр цикла>: = < S1> downto < S2> do < оператор>;

С помощью FOR..TO < оператор> выполняется S2 - S1 + 1 раз, с FOR..DOWNTO - S1-S2 раз. Например, оператор~ FOR I: = 1 to 20 do write('*'); 20 раз выведет на экран в одной строке символ " *".

Параметр цикла, его начальное и конечное значения должны принадлежать одному и тому же типу данных. Вещественные типы запрещены. Если используются типы integer, byte и интервальный, то значение параметра цикла последовательно увеличивается (при for.. to) или уменьшается (при for.. downto) на единицу на каждом шаге.

Оператор Результат

for I: = 10 to 14 do write (I: 3); 10 11 12 13 14

for I: = 14 downto 10 do write(I: 3); 14 13 12 11 10

for Ch: ='a' to 'e' do write (Ch: 2); a b c d e

for Ch: ='e' downto 'a' do write (Ch: 2); e d c b a

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

 

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ ОПЕРАТОРА FOR

FOR I: =1 TO 10 DO Read(X); ввод с клавиатуры в цикле 10 значений

 

FOR I: =1 TO 80 DO Write('*'); строка из 80 символов '*'

 

FOR I: =1 TO 24 DO Writeln('*'); столбик из символов '*'

 

ОПЕРАТОР ПОВТОРЕНИЯ REPEAT

Оператор повтора REPEAT состоит из заголовка (REPEAT), тела и условия окончания (UNTIL).

Формат: REPEAT

< оператор; >

< оператор; >

...

< оператор>

UNTIL < условие>;

Условие - выражение булевского типа. При написании условия допустимы булевские операции и операции отношения. Операторы, заключенные между словами repeat и until, являются телом цикла.

Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Если результат булевского выражения False, тело цикла активизируется еще раз, если результат True - происходит выход из цикла.

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

 

PROGRAM Demo_REPEAT; - заголовок программы

Var I, Sum: integer; - объявление переменных

BEGIN - начало раздела операторов

I: = 0; Sum: = 0; - обнуление I, Sum

REPEAT - начало оператора REPEAT

Writeln('I= ', I); - вывод текущего значения I

Sum: = Sum + I; - наращивание суммы

I: = I + 2 - увеличение I (0, 2, 4, 6, 8, 10)

UNTIL (I > 10); - конец оператора REPEAT

writeln('Сумма четных чисел= ', Sum) - вывод результата

END. - конец программы

 

ОПЕРАТОР ПОВТОРЕНИЯ WHILE

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

Формат:

WHILE < условие> DO < тело цикла>;

Условие - булевское выражение, а тело цикла - простой или составной оператор. Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен True, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходит выход из цикла и переход к первому после WHILE оператору. Если перед первым выполнением цикла значение выражения было False, тело цикла вообще не выполняется и происходит переход на следующий оператор.

П р и м е р.

WHILE True DO write ('Бесконечный цикл');

WHILE 1 = 1 DO wRite ('Бесконечный цикл'); {очевидно, что

результат выражения 1=1 всегда равен True}

 

Оператор WHILE, как и другие операторы организации циклов, может быть вложенным. Досрочный выход из WHILE можно осуществить по GOTO.

PROGRAM Demo_WHILE; - заголовок программы

Var I, Sum: integer; - объявление переменных

BEGIN - начало раздела операторов

I: = 0; Sum: = 0; - обнуление I, Sum

WHILE I < 12 DO BEGIN - начало оператора WHILE

Writeln('I= ', I); - текущее значение I

Sum: = Sum + I; - наращивание суммы

I: = I + 2 - увеличение I (0, 2, 4, 6, 8, 10)

END; - конец оператора WHILE

writeln('Сумма четных чисел= ', Sum) - вывод результата

END. - конец программы

 

ПРИМЕР 1: Приписать к 523*** три такие цифры справа, чтобы

полученное шестизначное число делилось на 7, на 8,

на 9.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.