ЗАМОВИТИ РОБОТИ З ПРОГРАМУВАННЯ РОЗГАЛУЖЕНОГО АЛГОРИТМУ

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) – список значень виразу селектор, того ж типу, що і селектор. Оператор варіанту вибирає для виконання той оператор, мітка якого дорівнює поточному значенню селектора.

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

x+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.

Наші послуги:

Для оформлення замовлення потрібно заповнити форму:

    Вкажіть регіон, в якому знаходиться ваш Вуз
    УкраїнаЄвропаАмерикаАзія