Научно - Информационный портал



  Меню
  


Смотрите также:



 Главная   »  
страница 1
Лекция 10. Программирование ветвящихся вычислительных процессов.

Структурные операторы: условный оператор if, составной оператор begin – end. Простые операторы: пустой оператор, оператор перехода. Оператор case. Операции целочисленной арифметики.

Структурные операторы

Структурные операторы представляют собой структуры, построенные из других операторов по строго определенным правилам. Все структурные операторы подразделяются на 3 группы: составные, условные и повтора.



Условные операторы обеспечивают выполнение или невыполнение некоторого оператора, группы операторов или блока в зависимости от заданных условий. Паскаль допускает использование двух условных оператор: If и Case.

Оператор условия If.

Может принимать одну из форм:



  1. If условие Then оператор1

Else оператор 2;

  1. If условие Then оператор;

В первом случае говорят о полном операторе If, а во втором – о неполном операторе If. Условие – это выражение булевского типа. Оно может быть простым или сложным. Сложные условия образуются с помощью логических операций. При записи условия могут использоваться все возможные операции отношения.

В первом случае если условие истинно, то выполняется оператор1, если условие ложно – оператор2. Во втором случае если условие истинно, выполняется оператор, если ложно – оператор, следующий за оператором If.

Оператор If может входить в состав другого оператора If. В этом случае говорят о вложенности операторов:

If условие Then

If условие Then оператор1

Else оператор2;

При вложенности операторов каждое Else соответствует тому Then, которое непосредственно ему предшествует.

Пример:


If ((A>B) And (CThen


If (Z>=X) Then Writeln (‘Норма’)

Else Writeln (‘Превышение нормы’)

Else

WriteLn (‘Недобор’);



Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой и ограниченную операторными скобками Begin и End. Составной оператор воспринимается как единое целое и может находиться в любом месте программы, где синтаксис языка допускает наличие оператора.

Формат оператора:

Begin


Оператор 1;

Оператор N;



End;

Оператор безусловного перехода GOTO.

Служит для передачи управления оператору, помеченному меткой. Метка отделяется от оператора двоеточием. Оператора GOTO применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор.


Формат оператора:

GOTO метка;


Формат описания меток:

LABEL


имя метки;
При записи оператора GOTO необходимо помнить следующее:

  1. Метка, на которую передается управление, должна быть описана в разделе описания меток того блока процедуры, функции, основной программы, в котором эта метка используется.

  2. Областью действия метки является тот блок, в котором она описана.

  3. Попытка выйти за пределы блока или передать управление внутрь другого блока вызывает программное прерывание.

Пример:

Goto met1;

met1: оператор;


Пустой оператор не содержит ни оного символа и не выполняет никаких действий. Он может быть использован там, где синтаксис языка требует наличие оператора, но никакие действия выполнять не нужно. Пустой оператор — это лишняя точка с запятой (;). Чаще всего пустой оператор встречается с меткой и ставится в конце оператора или программы.
Оператор выбора Case

Является обобщением оператора If и позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, называемого селектором, и списка параметров, каждому их которых предшествует список констант выбора (список может состоять и из одной константы). Как и в операторе If, здесь может присутствовать слово Else, имеющее тот же смысл.



Формат оператора:

Сase выражение-селектор of

Список 1: оператор1;

Список 2: оператор2;

...

Список N: операторN



Else оператор N+1

End;


Оператор Case передает управление тому оператору, с одним из значений списка которого совпало значение выражения-селектора. Если ни одно из значений списков не совпадает со значением селектора, то либо такой оператор Case эквиваленте пустому оператору и затем выполняется оператор, следующий за словом Еnd, либо выполняется оператор, следующий за словом Else.

Выражение-селектор может иметь любой порядковый тип. Список констант выбора состоит из произвольного числа значений или диапазонов, отделенных друг от друга запятыми. Тип меток должен совпадать с типом селектора.

Примеры:

Case X of {выражение-селектор целого типа}

1,2,3 : A:=B+C;


  1. : A:=B-C;

5..9 : A:=B*C

Else A:=B/C

End;

Case CH of {выражение-селектор литерного типа}



‘A’..’Z’: WriteLn (‘Введена латинская буква’);

‘0’..’9’ : WriteLn (‘Введена цифра’)

End;
Операции целочисленной арифметики
Целочисленное деление (Div) – возвращает целую часть частного, дробная часть отбрасывается. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя.

Деление по модулю (Mod) – возвращает остаток, полученный в результате целочисленного деления.

Пример:


11 div 5 = 2; 2 div 3=0

11 mod 5 = 1; 14 mod 5=4


Функции преобразования типов


  1. Round (X) – возвращает значение X, округленное до ближайшего целого числа, результат имеет целочисленный тип.

  2. Trunc (X) – возвращает ближайшее целое число меньшее или равное X, если X0, большее или равное X, если X<0. Результат имеет целочисленный тип.

Пример:

Round (3.7); результат 4

Round (-46.317) результат -46

Trunc (3.7); результат 3



Trunc (-10.78); результат -10
Обычно оператор Goto применяется для преждевременного выхода из цикла или при обработке ошибок. В других случаях его использовать не рекомендуется.

страница 1

Смотрите также: