Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Програмування розгалуженого алгоритму



3.1 Основні оператори

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

GOTO (мітка);

GOTO – йти до. Оператор безумовного переходу виконує передачу управління програмою до оператора, який помічений вказаною міткою. Мітка оператора обов’язково повинна бути описана в розділі опису міток.

Використання оператора безумовного переходу в Паскалі необов’язково й небажано, так як може бути порушена структурна цілісність програми.

Умовний оператор IF…THEN…ELSE

IF (логічна умова)

THEN (оператор-1)

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

IF – якщо, THEN – то, ELSE – інакше.

Умовний оператор дозволяє виконати один із двох операторів, які входять до нього, після перевірки деякої логічної умови. Якщо значення логічного виразу істинно, то виконується оператор-1, хибно – оператор-2. Далі в кожному випадку виконується оператор, який слідує за умовним оператором.

Існує скорочена форма умовного оператору:

IF (логічна умова)

THEN (оператор);

В цьому випадку, після перевірки логічної умови, якщо значення логічного виразу істинно, то виконується деякий оператор, хибно – даний оператор не виконується. Далі в кожному випадку виконується оператор, який слідує за умовним оператором.

Умовний оператор може мати вкладену конструкцію, коли після умовного оператору використовуються інші умовні оператори.

IF (логічна умова-1)

THEN (оператор-1)

ELSE IF (логічна умова-1)

THEN (оператор-2)

ELSE (ОПЕРАТОР-3);

До складу умовного оператору в кожному з напрямків (істинно, хибно) можна використовувати тільки один оператор. Існує багато задач, в яких у випадку істинності (хибності) логічної умови необхідно виконати групу операторів. Якщо в якомусь з напрямків необхідно виконати декілька операторів, то їх об’єднують в один складовий оператор і заключають в операторні дужки BEGIN-END.

IF (логічна умова)

THEN (оператор-1)

ELSE BEGIN

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

(оператор-3);

...

(оператор-n)

END;

Розглянуті оператори дозволяють програмувати розгалужений алгоритм.

Оператор варіанту CASE…OF…END

Оператор варіанту являється узагальненням умовного оператору та дає змогу виконати один з кількох операторів у залежності від значення деякого виразу, що називається селектором.

CASE (селектор) OF (мітка-1):(оператор-1); (мітка-2):(оператор-2);... (мітка-n):(оператор-n) END;

CASE – вибір, OF – із, END – кінець;

селектор – вираз цілого, логічного або символьного типу (не дійсного);

(мітка-1) – (мітка-n) – список значень виразу селектор, того ж типу, що і селектор. Оператор варіанту вибирає для виконання той оператор, мітка якого дорівнює поточному значенню селектора.

3.2 Приклади розробки програм розгалуженого алгоритму

1. Скласти програму визначення мінімального і максимального з трьох цілих чисел x,y,z.

PROGRAM R2;

VAR

X,Y,Z,MIN,MAX:INTEGER;

BEGIN

WRITELN (‘введите числа X,Y,Z’);

READLN (X,Y,Z);

IF X<Y

THEN MIN:=X

ELSE MIN:=Y;

IF Z<MIN

THEN MIN:=Z;

IF X>Y

THEN MAX:=X

ELSE MAX:=Y;

IF Z>MAX

THEN MAX:=Z;

WRITELN (‘значение MAX=’,MAX);

WRITELN (‘значение MIN=’,MIN)

END.

2. Скласти програму обчислення значень функції:

ln/x/, якщо х≤0

y= ex+1-sinx, якщо 0<х<10

x2 +cosx , якщо х³10

де: х – ціле число.

/*вычисление значения функции*/

PROGRAM R1;

VAR

X:INTEGER;

Y:REAL;

BEGIN

READLN (X);

IF X<=0

THEN Y:=LN(ABS(X))

ELSE IF X>=10

THEN Y:= SQR(X)+COS(X)

ELSE Y:= EXP(X+1)-SIN(X);

WRITELN (‘значение Y=’,Y:8:4)

END.

3. Скласти програму обчислення корнів квадратного рівняння ax2+bx+c=0 x1,x2= , де D=b2-4ac, пpи D³0

/*Вычисление корней квадратного уравнения*/

Рrogram kv;

var

a,b,c,d,x1,x2:real;

begin

readln (a,b,c);

d:=sqr(b)-4*a*c;

if d>=0

then begin

x1:=(-b+sqrt(D))/(2*a);

x2:=(-b-sqrt(D))/(2*a);

writeln (‘значение корня x1=’,x1:7:3);

writeln (‘значение корня x2=’,x2:7:3)

end

else writeln (‘корни комплексные’)

end.

3. Скласти програму обчислення значень функції, використовуючи оператор варіанту:

x3, при k=4

ex-a2+b, при k=5

F= , при k=6 де: a,b – цілі числа, х – дійсне число.

ln/x/, при k=7

PROGRAM R3;

VAR

A,B: INTEGER; X, F:REAL; K:4..8;

BEGIN

WRITELN (‘введите числа X,A,B’);

READLN (X,A,B);

WRITELN (‘введите значение селектора K’);

READLN (К);

CASE K OF

4:F:=EXP(3*LN(X));

5:F:=EXP(X)-SQR(A)+B;

6:F:=SQRT(X+A*B);

7:F:=LN(ABS(X))

END;

WRITELN (‘при селекторе k=’,К);

WRITELN (‘значение функции F=’,F:10:5)

END.





Дата публикования: 2014-09-25; Прочитано: 2297 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...