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

15. Организация циклов в языках пр-ия.

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

Опер-р While(пока) часто наз. цикл с предусловием за то, что проверка условия выполнения тела цикла производится в самом начале оператора.

While <условие> do

begin

<опер-р>;

end;

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

Пр. сосчитать сумму 10-ти чисел

a:=1;

s:=0;

While a<11 do

begin

s:=s+a;

a:=a+1;

end;

Опер-р повтора Repeat аелогичен опер. While, но отлич-ся от него тем, что условие проверяется после очередного выпол-я тела цикла, и т.о, гарантир-ся хотябы однократное выполн-ия цикла.

Прекращение цикла явл. равенство выр-я условия константы True.

Repeat

опер-р;

Until <условие>

Опер-р повтора For наз. опер-м цикла с параметром, т.к. число повторений задается переменной, наз-й параметром цикла. Сущ-ет 2 формата цикла For:

for <параметр>:=<нач. зн-е> to <кон. зн-е> do

begin

опер-р;

end;

Параметр пробегает все значения от нач. до конечного с шагом +1. Если слово to заменить но downto, то шаг шараметра = -1. На испол-ие управляющей переменной параметра в цикле for наклад-ся ограничение:*в качестве параметра д/испол-ся простая переменная. *управл-ая переменная д/иметь дискретный тип. *нач. и кон. зн-я диапозона д/иметь тип совмест-м с типом управл-й переменной. *в теле цикла запрещается явное изменение зн-я управл-ей переменной. *после завершения опер-ра зн-е управл-ей переменной становится неопределенной.

Вложенные опер-ры цикла, если тело цикла явл. циклич. структура, то такиециклы наз. вложенными. Цикл содержащий в себе др. цикл наз. внешним, а цикл содер-яся в цикле –внутренним. Все опер-ры внутреннего цикла д/располагаться в теле внешнего цикла.

for i:=1 to 10 do

for j:=1 to 5 do

begin

Repeat(a[i,j]);

Write(a[i,j]);

end;

Значение параметра внешнего цикла измен-ся на 1, пар-р внутр-го цикла побегаетвсе зн-я.

18. Условный, безусловный переход, выбор в языках прогр-ия.

Условные операторы предназначены для выбора одного из возможных действий в зависимости от нек-го условия. При этом одно из действий м/б пустым, т.е. отсутствовать. В качестве условия выбора исп-ся зн-е логического выр-я. В Pascal им. 2 условных оператора: if,case. Также сущ-ет оператор безусловного перехода goto, к-й означает перейти к… и примен-ся в случаях, когда после выполнения нек-го оператора надо выпол-ть не след-й по порядку, а какой-либо др. отмеченный меткой оператор.

опер-р;

goto M;

опер-р;

M:опер-р

Данный опер-р наз. избыточным и подвергается критике, т.к. способствует созданию малопонятных и трудно Их необходимо применять для передачи управления только вниз по тексту пр-мы, причем расстояние перехода не д/превышать одной страницы экрана.

Оператор условия if явл. одним из самых попул-х ср-в изменяющих естественный порядок выполнения пр-мы.

if <условие>

then <опер-р1>

else <опер-р2>;

Перед else ; не ставится. На блок-схеме:

Сначала проверяется условие, рез-м к0го получается зн-е булевского типа. Если зн-е истинно True, то выполняется опер-р1, указанный после слова then, если рез-т ложный False, то выпол-ся опер-р2(else). Сущ-ет неполная форма ветвления, когда один опер-р отсутсвует.

Оператор выбора Case обеспечивает выбор из произвольного числа имеющихся вариантов. Оператор if обеспечивает выбор 2 альтернатив.

Формат выбора Case:

case <выр-е -селектор> of

<список1>:<опер-р1>;

<списокN>:<опер-рN>

else <опер-рN+1>

end;

Опер-р Case работает след-м образом: сначала вычисл-ся зн-е выр-я-селектора, а затем обеспечивается реализация того опер-ра, константа выбора к-го соотв-ет текущему зн-ю селектора. Если ни одна из конст. не равна текущему зн-ю селектора выполняется опер-р, стоящий за словом else. Селектор д/относится к одному из целочисл-х типов, булевскому, литерному или пользоват-му. Тип констант д/совпадать с типом селектора. Правило использования Case:*зн-е выр-я переключателя селектора д/принадлежать к дискретному типу. *все конст. предшествующие оператором альтернатив д/иметь тип совмест-м с типом выр-ия. *все конст-ты в альтернативах д/б уникальны в пределах оператора варианта, т.е. он допускает повторность, диапозоны не д/пересекаться.

Пр.Case d of

1…15:Writeln(‘Перва декада’);

16…31:Writeln(‘Вторая декада’)

else Writeln(‘Ошибка’)

end;