Лекция: Лекция 23
Цикл может быть прерван в любой момент времени. Такой выход из цикла называется специальным. Он осуществляется с помощью оператора Goto.
Пример оформления цикла со специальным выходом (решение нелинейного уравнения методом простой итерации с контролем количества итераций) приведен на рис.4.16.5
Рис.4.16.5.
Тело цикла может в свою очередь содержать циклы и любые другие конструкции. Но вложенные циклы не должны быть пересекающимися. Пример оформления вложенных циклов (вычисление произведений ненулевых элементов строк двумерного массива А) приведен на рис.4.16.6.
---------------------------------------Рис.4.16.6.
4.9.6. Оператор выбора (Case).
Оператор выбора предназначен для оформления конструкции «Выбор» (рис.4.16.7.) структурного программирования. Принцип действия этой конструкции следующий: из указанного набора операторов выполняется оператор, метка варианта (mвх) которого совпадает с значением селектора варианта (СВ).
Рис.4.16.7.
Для оформления в программе этой конструкции имеется специальный оператор «Case» ( иногда его называют оператором варианта). Возможности этого оператора несколько шире (за счет дополнительного ключевого слова ELSE). Общая форма записи оператора Case приведена на рис.4.16.7.
На рис.4.16.7. обозначено:
— Case (случай, выбор), Of (из), Else (иначе), End — зарезервированные слова;
— Св — селектор варианта (переменная или выражение порядкового типа);
— mв1, mв2,… — метки варианта;
— Оператор1, оператор2, ….- один простой или составной оператор.
Принцип действия:
— вычисляется значение выражения СВ;
— осуществляется переход к блоку, метка варианта которого равна значению СВ;
— выполняется оператор помеченный этой меткой и осуществляется выход из этой конструкции.
Если значение СВ не совпадает ни с одной из меток варианта, то выполняется оператор записанный после Else. Фрагмент с Else может отсутствовать.
Пример записи оператора Case приведен на рис.4.16.8.
Рис.4.16.8.
В данном случае меткой 3 помечен блок, содержащий два оператора, поэтому в операторе Case для оформления этого блока используется составной оператор.
Правила:
— Метки варианта относятся только к конкретному оператору Case, их не надо указывать в разделе меток;
— Один оператор может быть помечен несколькими метками, разделителем между метками является символ ",";
— Селектор варианта (Св) может иметь любой порядковый тип;
— Все метки варианта должны быть уникальными и иметь порядковый тип совместимый с типом Св;
— Меткой варианта может быть константа или диапазон выбора.
Пример на данные правила приведен на рис.4.16.9.
Если в качестве Св используются данные символьного типа, то строчные и прописные буквы понимаются как различные.
Пример на рис.4.16.10.
Рис.4.16.9. Рис.4.16.10.
Операторы входящие в Case могут быть помечены обычными метками. Эти метки должны быть объявлены в разделе меток. Метки варианта должны предшествовать обычным меткам.
Входить в Case можно только через заголовок.
лекция 23