КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Дополнительные операторы для циклов
Да Повторять до тех пор, пока не будет выполнено условие }. Оператор цикла REPEAT с постусловием Алгоритм оператора REPEAT:
– начало цикла – тело цикла
Нет – условие завершения цикла
Начало цикла оператора определяется ключевым словом REPEAT, которое открывает составной или простой оператор тела цикла, и выполняется пока условие B (X) не выполняется (False). Окончание выполнения оператора происходит в момент, когда условие B (X) становится истинным (True). Таким образом, анализ конца цикла оператора производится после выполнения тела цикла. Он используется, когда количество повторений операторов тела цикла заранее неизвестно и определяется в процессе выполнения цикла. Операторы тела цикла должны выполняться хотя бы один раз. Форма оператора цикла REPEAT: REPEAT S (простой или составной операторы) UNTIL B(X) (условие завершения цикла); где B(X) – логическое выражение; В S должно быть предусмотрено изменение операндов выражения B(X). REPEAT и UNTIL B(X) определяют начало и условие завершения цикла. Тело цикла выполняется хотя бы один раз. После каждого выполнения тела цикла анализируется значение результата выражения B(X): если оно ложно (FALSE), выполнение тела цикла повторяется, если истинно (TRUE) – цикл завершается. В цикле REPEAT …UNTIL… операторные скобки тела оператора Begin... End могут быть опущены. Оператор REPEAT очень удобен для организации многократной работы программы без повторных ее загрузок. Для этого: 1. Объявить переменную типа Char (например CH); 2. За ключевым словом Begin в начале программы вставить строку с оператором REPEAT; 3. В конце программы перед ключевым словом End вставить три следующие строки: Writeln (‘Продолжить работу - Y, иначе нажать любую клавишу ‘); Read (CH); UNTIL UPCASE (CH) < > ‘ Y ‘;
Язык Паскаль имеет две стандартные процедуры: BREAK, CONTINUE. Они могут использоваться в циклах всех видов: FOR, WHILE, REPEAT. Вызовы этих процедур могут быть только в пределах тела цикла. Обе процедуры без параметров. Процедура BREAK прекращает выполнение данного цикла. Управление передается оператору, следующему сразу за данным циклом.
Нет
Да BREAK Процедура CONTINUE (продолжение) обеспечивает досрочное прекращение очередного прохода цикла и переход за последний оператор цикла, т.е. к анализу конца цикла и выполнению следующей итерации.
Нет
Да
CONTINUE
Пример программы с использованием процедур BREAK и CONTINUE. В первой части примера производится суммирование и вывод всех элементов массива А, кроме отрицательных и нулевых элементов массива. Во второй части примера необходимо суммировать положительные элементы массива А до первого попавшегося отрицательного.
CONST A: ARRAY [ 1.. 5 ] OF INTEGER = (1, 2, -3, -4, -5); VAR S, I: INTEGER; BEGIN {Суммирование и вывод положительных и не нулевых элементов массива } S:= 0; FOR I:=1 TO 5 DO BEGIN IF A [ I ] <= 0 THEN CONTINUE; WRITELN (‘ A [ ‘, I, ‘ ] = ‘, A [ I ]); S:= S + A [ I ]; END; WRITELN (‘ S = ‘, S); { Суммирование и вывод положительных элементов массива до первого попавшегося отрицательного } S:= 0; FOR I:=1 TO 5 DO BEGIN IF A [ I ] < 0 THEN BREAK; S:= S + A [ I ]; END; WRITELN (‘ S = ‘, S); END.
Дата добавления: 2014-01-06; Просмотров: 369; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |