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

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

ELSE (оператор 2);

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

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

Рассмотрим конкретный пример.

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

 

 

ax, если 0

x

7;

У =

 

bx2 , если 7

x

12;

 

 

 

 

 

 

 

cx3 , если 12

x

20;

 

 

dx4 , если 15

x

20;

где а =

3,7

;1

 

 

 

 

10

 

 

 

b= 0,15;

 

 

 

 

с=1,2;

 

 

 

 

d=

0,2

. 2

 

 

 

 

10

 

 

 

 

 

 

x 1,

При

этом,

шаг

изменения

аргумента

интервал изменения аргу-мента: 0 х 20.

 

Структурная

схема

алгоритма табулирования

разрывной функции приведена на рис. 4.2.2

 

Начало

Ввод а,в,с,d

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

Х

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Х< 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

Нет

 

 

 

 

 

У= a*x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Х 12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y = a*x2

 

 

 

 

 

 

 

 

 

Х 12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У= bx3

 

 

 

 

 

Y= dx4

20

Вывод х,у

Конец

Рис.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

read(x); If_x<7_then_y:=a x_else

If_x<=12_then_y:=b sqr(x)_ else If_x<=15_then_y:=c exp(3 ln(x))_ else If_x<=20_then_y:=d exp(3 ln(x))_ else;

Writeln (´x=´, x:2, ´y=´, y);

End.

ОПЕРАТОР ВАРИАНТА CASE

Данный оператор относится к группе переходных операторов (if, goto). Дело в том, что часто вместо оператора if удобно использовать оператор варианта или выбора, который в общем виде можно представить (неполная форма):

Case (селектор) of

Метка 1: оператор 1 ; Метка 2 : оператор 2 ;

.

.

.

Метка n : оператор n ;

End;

Здесь:

Case – выбор ;

Of – из ;

End – конец оператора case.

(Поэтому в программе с использованием case, на один оператор end, будет больше);

(селектор) - математическое выражение целого типа, либо переменная целого типа.

Метка – целое число, стоящее перед оператором и отделѐнное от него двоеточием.

т.е метки – целые числа, значения которых принимают селекторы.

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

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

 

ab,

 

 

если n=1

 

 

 

 

 

 

 

ah

 

,

 

если n=2

 

2

 

 

 

 

 

 

 

 

S

 

(ab)h

,

если n=3

2

 

 

 

 

 

 

 

 

 

 

2

 

если n=4

 

 

 

 

r

,

 

 

 

 

 

 

 

 

 

 

R

2

если n=5

 

 

 

 

 

 

 

 

 

 

,

 

 

360

 

 

 

 

Здесь а=3.2, h=2.4,

=27.4,;

b=7.8*

10 1,

3.14

pi, r=4.2;

Значение селектора n необходимо вводить вручную (с клавиатуры) с помощью оператора READ.

Вариант программы следующий:

Program_geom; Label

1,2,3,4,5; Const

a=3.2; b=7.8e-1; h=2.4; f=27.4; r=4.2;

Var

S: real;

n: integer; Begin

Read (n);

Case_n_of 1:S:=a*b; 2:S:=a*h/2;

3:S:=h*a*b/2; Оператор выбора

4:S:=pi*r*r;

5:S:=pi*(r*r)*f/360;

end;

Write (‗S=‘,S);

End.

В данной программе при реализации необходимо с клавиатуры ввести одну из цифр от 1 до 5.

Если набрана цифра больше 5, то компьютер выходит из программы без выдачи результатов и сообщения об ошибках.

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