![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Простые и сложные условия. Ветвление и выбор: алгоритм и реализация в Паскале.Стр 1 из 45Следующая ⇒
Разветвления в программах возникают при необходимости выбора одного из нескольких возможных путей в решении задачи, который может зависеть от исходных данных или промежуточных результатов. Для организации разветвлений в программах используются операторы перехода, условный и выбора. Оператор перехода goto вызывает передачу управления оператору, которому предшествует метка, указанная в данном операторе перехода. Общий вид записи оператора: Goto n; где n – метка оператора. Используемые в программе метки должны быть описаны в разделе описания меток. При использовании оператора перехода должны соблюдаться следующие правила: 1. Метка, которая указывается в операторе перехода, должна находиться в том же блоке или модуле, что и сам оператор перехода. Другими словами, не допускаются переходы из процедуры или функции или внутрь нее. 2. Переход извне внутрь структурного оператора (то есть переход на более глубокий уровень вложенности) может вызвать непредсказуемые эффекты, хотя компилятор не выдает сообщения об ошибке. Например, вы не должны переходить в тело цикла for. Условные операторы позволяют выбрать для выполнения один из составных операторов (или не выбрать ни одного). Общий вид записи оператора: If b then a; или If b then a else c; где b – логическое выражение, a и c – операторы простые или составные.
Условный оператор можно расширить за счет вложенности новых условий в операторе. Оператор выбора (casе) обеспечивает выполнение одного оператора (простого или составного) из нескольких возможных (рисунок под буквой б). Оператор варианта состоит из выражения (переключателя) и списка операторов, каждому из которых предшествует одна или более констант (они называются константами выбора) или ключевое слово else. Переключатель (селектор) должен иметь порядковый тип (размером в байт или слово). Общий вид записи оператора: Case Переключатель of Список констант1: Оператор1; Список констант2: Оператор2; … Список константN: ОператорN Else ОператорЕ End Простые и сложные условия: Способом записей условий являются логические выражения. Они бывают простые и сложные. Простое логическое выражение – это два арифметических выражения, соединенные символом отношения (<, >, =, < >, < =, > =), а сложное – это простые логические выражения, соединенные логическими операциями: Not, And, OR. Виды циклов. Цикл с параметром: алгоритм и реализация в Паскале.
Арифметический Цикл
for < параметр>: =А to В do < тело цикла> Оператор цикла с параметром применяют тогда, когда известно число повторений одного и того же действия. Начальное и конечное значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями. Рассмотрим, как выполняется оператор цикла с параметром вида for < параметр>: =А to В do < тело цикла>. Сначала вычисляются значения выражений А и В. Если А< =В, то < параметр> последовательно принимает значения, равные А, А+1,..., В-1, В, и для каждого из этих значений выполняется < тело цикла>. Если А> В, то < тело цикла> не будет выполнен ни разу и выполнение цикла с параметром сразу же закончится. Оператор цикла с параметром < параметр>: =А downto В do < тело цикла> выполняется аналогичным образом, но значение < параметра> изменяется с шагом, равным -1.
15 . Цикл с постусловием и с предусловием: алгоритм и реализация в Паскале.
Для программной реализации в Turbo Pascal 7.0 циклических процессов с неизвестным числом повторений существует еще один оператор - оператор цикла с постусловием, который имеет следующий вид: repeat < onepamop 1>; < оператор2>; ... < оператор п>; until < условие>; где repeat (повторять), until (до тех пор, пока...). Этот оператор аналогичен оператору цикла с предусловием, но отличается от него тем, что проверка условия производится после очередного выполнения тела цикла. Это обеспечивает его выполнение хотя бы один раз. Обратите внимание на то, что данный оператор цикла предполагает наличие нескольких операторов в теле цикла, поэтому служебные слова begin и End не нужны. Последовательность операторов, входящих в тело цикла, выполняется один раз, после чего проверяется соблюдение условия, записанного следом за служебным словом until. Если условие не соблюдается, цикл завершается. В противном случае - тело цикла повторяется еще раз, после чего снова проверяется соблюдение условия. Составить программу планирования закупки товара в магазине на сумму, не превышающую заданную величину. Program pr; uses crt; var с, k, p, s: integer; begin clrscr; writeln('Пред. сумма - '); readln(p); s: =0; repeat; writeln('цена тов. и его кол '); readln(c, k); s: =s+c*k; wrightln(‘Стоимость покупки =’, s); until s> p; wrightln(‘Суммарная стоимость покупки превысила предельную сумму’); readln; end. Цикл с предусловием.
Блок-схема данной конструкции представлена на рис с помощью условного блока. Особенностью цикла с предусловием является то, что если изначально условное выражение ложно, то тело цикла не выполнится ни разу. while...do Цикл с предусловием используется для программирования процессов, в которых число повторений оператора цикла не известно, а задается некоторое условие его окончания. Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова while. Если оно соблюдается, то выполняется < тело цикла>, а затем вновь проверяется условие и т. д. Как только на очередном шаге окажется, что условие не соблюдается, то выполнение < тела цикла> прекратится. program primer; uses crt; var m, n: longint; k: integer; {Сметчик цифр} begin clrscr; writeln('Введите N'); readln(n); т: = п; к: =0; while m< > 0 do begin к=к+1; т: =m div 10; end; writeln('B числе ‘, n, ’-‘, k, ’ цифр! '); readln; end. Популярное:
|
Последнее изменение этой страницы: 2016-04-10; Просмотров: 1822; Нарушение авторского права страницы