Материал: Алгоритмический язык Turbo Pascal 7.0. Юршин Е.Д., Рог А.И

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

IF (условие) THEN (какой-либо оператор);

Полная форма:

IF (условие) THEN (какой-либо оператор 1) ELSE (какой-либо оператор 2);

Где IF, THEN и ELSE – зарезервированные служебные слова (ЕСЛИ, ТО, ИНАЧЕ); <оператор 1>,<оператор 2>- любой оператор языка

Turbo Pascal;

<условие>- произвольное выражение логического типа, в котором обязательно присутствует математические и логические операции сравнения.

При этом математические операции сравнения следующие:

= - равно (=); <> - не равно (≠); < - меньше (<); > - больше (>);

<= - меньше или равно ( ); >= - больше или равно ( );

Логические операции сравнения: Not – логическое не;

And – логическое и; Or – логическое или;

Xor – логическое исключающее или.

Выполняя оператор IF полной формы компьютер проверяет условие и если ( IF) оно выполняется, то ( THEN) и выполняется оператор 1 после THEN, иначе ( ELSE) выполняется оператор 2.

Следует иметь в виду, что полная форма if может иметь несколько разновидностей, например:

IF (условие 1 )THEN (какой-либо оператор 1 ) ELSE _ IF (условие 2 ) THEN (оператор 2) ELSE (оператор 3);

IF (условие 1 ) THEN _ IF (условие 2 ) THEN (какойлибо оператор 1 ) ELSE (оператор 2) ELSE (оператор

3);

IF (условие 1 ) THEN _ IF (условие 2 )THEN (оператор 1 ) ELSE (оператор 2);

Таким образом, в любой из этих форм выполняется либо оператор 1, либо оператор 2.

Следует отметить, что в любой из этих форм: стоит только выполниться любому оператору, кроме IF , как компьютер выходит из данного оператора IF.

Работу одного из участков такого оператора продемонстрируем на следующей структурной схеме:

Участок программы

Условие (if)

Оператор 1 (после then)

Оператор 2 (после else)

Продолжение программы

Рис.4.2.1. Структурная схема работы оператора IF.

Из этой схемы видно, что выполняется либо левый участок программы, а правый игнорируется, либо наоборот. Вполне возможны и такие формы данного оператора.

IF <условие 1> THEN BEGIN

IF <условие 2> THEN <оператор 1>

END;

ELSE <оператор 2>;

Во всех этих случаях иногда бывает не ясно какому then относится, то или иное ELSE

На самом деле надо иметь ввиду, что else всегда относится к ближайшему IF слева.

Рассмотрим конкретный пример. Пусть требуется протабулировать следующую значение разрывную функцию:

ax, если 0

x

7;

bx2 , если 7

x

12;

cx3 , если 12

x

20;

dx4 , если 15

x

20;

где3а,7= 10 1

;

b=0,15;

 

с=1,2;

 

d=0,2 10 2

;

шаг изменения аргументаx 1, предел изменения аргумента .

Структурная схема алгоритма табулирования может выглядеть следующим образом:

Ввод

Ввод а,в,с,d

Ввод аргумента

Х

Да

Нет

Х< 7

 

 

 

 

 

Да

 

 

Нет

 

У= a*x

 

 

 

 

 

 

 

 

 

 

Х

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a*x2

Y =

Х 12

 

Y =

 

 

Y=

 

bx3

 

 

dx4

 

 

 

 

 

Вывод х,у

Конец

Рис.4.2.2. Структурная схема алгоритма табулирования разрывной функции.

Один из вариантов программы: согласно структурной схеме рис.4.2.2.

Program_funс; Const

а=3.7e-1; b=0.15; с=1.2; d=0.2e-2;

Var

x: integer; y:real;

Begin

Источник: https://studfile.net/preview/16565609/