![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
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; Прочитано: 2318 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!