Головна

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

  1. Математична модель задачі лінійного програмування.
  2. Пример. Построить систему аутентификации электронных сообщений по алгоритму RSA.
  3. ПРОГРАМУВАННЯ ЛІНІЙНОГО АЛГОРИТМУ
  4. ПРОГРАМУВАННЯ ЦИКЛІЧНОГО АЛГОРИТМУ

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.



  1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   Наступна

МЕТОДИЧНИЙ ПОСІБНИК | АНОТАЦІЯ | ОСНОВНІ ТИПИ СТРУКТУР АЛГОРИТМІВ | ОПРАЦЮВАННЯ МАСИВІВ ДАНИХ У ПАСКАЛІ | Організація введення-виведення одновимірних масив | Організація введення-виведення матриць | ЗАВДАННЯ ДО САМОСТІЙНОГО ОПРАЦЮВАННЯ |

© 2016-2022  um.co.ua - учбові матеріали та реферати