Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по методике и информатикеВсё в одном.doc
Скачиваний:
11
Добавлен:
25.09.2019
Размер:
1.09 Mб
Скачать
  1. Организация циклов в языках программирования.

Если бы циклы не существовали, вряд ли занятие программ-ем было бы оправданным: циклы позволяют записать длинные послед-ти операций обработки данных с пом небольшого числа повторяющихся команд. Если в пр-ме возникает необх-ть неоднократного выполнять оператор, то испол-ся опер-р повтора (цикла). 3 вида цикла:While, Repeat, For. Они испол-ся для организации циклов разного типа. Выр-я управл-щие повторениями д/иметь булевский тип. Если число повторений опер-ра заранее не известно, а задано лишь условие его повторения исп-ся While, Repeat. Опер-р For испол-ся, если число повторений заранее известно.

Опер-р While(пока) часто наз. цикл с предусл-ем за то, что проверка условия выполнения тела цикла производится в самом начале оператора. Формат записи: While <условие продолжения повторений> do begin <тело цикла> end;

Условие – булевское выражение, тело цикла – простой или составной оператор. Перед каждым выполнением тела цикла вычисл-ся знач-е выраж-я условия. Если результат = true, то тело цикла вып-ся и снова пров-ся условие. В прот-ом случае при ложном условии цикл заканч-ет свою работу. Блок схема

Пока условие истинно, выполн. опер-р цикла. Напр,  10 чисел

a:=1; s:=0; While a<11 do begin s:=s+a; a:=a+1; end;

Опер-р повтора Repeat аналогичен опер. While, но отлич-ся от него тем, что условие проверяется после очередного выпол-я тела цикла (очередной итерации), и т.о, гарантир-ся хотя бы однократное выполн-ие цикла и критерием прекращения цикла явл. рав-во выр-я константе True. За это его часто называют циклом с постусловием, т.к. он прекращает выполняться, как только знач-ие выраж-ия условия, записанного после слова Until = True. Этот оператор состоит из заголовка Repeat, тела и условия окончания Until. Формат записи: Repeat <опер-ры;> Until <условие окончания цикла>; Операторы, заключенные между словами Repeat и Until, явл телом цикла. Сначала вып-ся тело цикла, затем проверяется условие выхода из цикла. Именно поэтому такой цикл выполниться в  случае хотя бы 1 раз. Если рез-ат булевского выр-ия = False, то тело цикла активизируется еще раз, если рез-ат True, происходит выход из цикла. При программ-ии операторов тело цикла следует обеспечить влияние по крайней мере одного из операторов тела цикла на значение условия, иначе цикл будет выполняться бесконечно.

Напр, проверка корректности ввода данных. Writeln (‘введите положит число’); Repeat Readln(a); If a<0 then writeln(‘повторите ввод’); Until a>0

Опер-р повтора For наз. опер-м цикла с параметром, т.к. число повторений задается переменной, наз-й параметром цикла. Сущ-ет 2 формата цикла For: for<параметр>:=<нач. зн-е> to <кон. зн-е> do begin <тело цикла>; end; Параметр пробегает все значения от нач. до конечного с шагом +1. Если слово to заменить но downto, то шаг параметра = -1. Этот оператор обеспечивает выполнение цикла до тех пор, пока не будут перебраны все значения параметра цикла от начального до конечного. На испол-ие управляющей переменной параметра в цикле for наклад-ся ограничение:*в качестве параметра д/испол-ся простая переменная. *управл-ая переменная д/иметь дискретный тип. *нач. и кон. зн-я диапозона д/иметь тип совмест-мый с типом управл-й переменной. *в теле цикла запрещается явное изменение зн-я управл-ей переменной. *после завершения опер-ра зн-е управл-ей переменной становится неопределенной. Напр, For i:=n to m do s:=s+I; Writeln(‘сумма’,s); end. Здесь целая переем-ая i принимает послед-ть знач-ий в диапазоне от n до m. При кажд знач-ии i выполн-ся тело цикла. После последнего вып-ия цикла при i=n происходит выход из цикла на продолжение алгоритма. Цикл вып-ся хотя бы 1 раз, если nm и не выполн-ся ни разу, если при nm.

Вложенные опер-ры цикла, если тело цикла явл. циклич. структура, то такие циклы наз. вложенными. Цикл содержащий в себе др. цикл наз. внешним, а цикл содер-ся в цикле – внутренним. Все опер-ры внутр-го цикла д/ распол-ся в теле внешнего цикла. for i:=1 to 10 do for j:=1 to 5 do begin Repeat(a[i,j]); Write(a[i,j]); end; Значение параметра внешнего цикла измен-ся на 1, пар-р внутр-го цикла побегает все значия.