
- •Методичний посібник
- •Анотація
- •1. Основні типи структур алгоритмів
- •2. Програмування лінійного алгоритму
- •2.1 Основні оператори
- •2.2 Приклади розробки програм лінійного алгоритму
- •3. Програмування розгалуженого алгоритму
- •3.1 Основні оператори
- •3.2 Приклади розробки програм розгалуженого алгоритму
- •4. Програмування циклічного алгоритму
- •4.1 Основні оператори
- •4.2 Приклади розробки програм циклічного алгоритму
- •5. Опрацювання масивів даних у паскалі
- •Визначення масиву. Характеристики масивів у Паскалі
- •5.2 Оголошення одновимірних масивів в Паскалі
- •5.4 Оголошення матриць у Паскалі
- •Оголошення матриці дійсних чисел а(6х8)
- •Оголошення матриці цілих чисел b(9х5)
- •5.5 Організація введення-виведення матриць
- •5.6 Опрацювання масивів даних у Паскалі.
- •6. Завдання до самостійного опрацювання
- •6.1 Скласти програми лінійного алгоритму
- •6.2 Скласти програми розгалуженого алгоритму
- •6.3 Скласти програми циклічного алгоритму
- •6.4 Скласти програми опрацювання масивів даних
- •7 Література
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и D0
/*Вычисление корней квадратного уравнения*/
Р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.
4. Програмування циклічного алгоритму
4.1 Основні оператори
Особливістю циклічного алгоритму є те, що в програмах циклічного алгоритму одні й ті дії багаторазово повторюються над різними значеннями змінних. Ділянки програми, які повторюються багаторазово, називаються циклами.
Існує 2 типи циклів:
Цикли с заданим числом повторень;
Цикли с заздалегідь невідомим числом повторень.
1. Цикли с заданим (с заздалегідь відомим) числом повторень – це цикли з параметром (з лічильником). Число повторень циклу підраховується за допомогою параметра циклу (лічильника), для якого задані початкове та кінцеве значення, шаг зміни, а також закон зміни лічильника при кожному проходженні циклу. Управління циклом здійснюється на підставі порівняння поточного значення параметра циклу з його кінцевим значенням. Для програмування циклів с заданим числом повторень використовується оператор циклу з параметром.
2. В циклах с заздалегідь невідомим числом повторень повинна бути задана деяка умова закінчення або продовження циклу. Для програмування таких циклів використовуються оператори циклу з передумовою та постумовою (післяумовою).
Оператор циклу з параметром FOR…TO(DOWNTO)…DO
FOR (параметр циклу) := (вираз-1)
(вираз-2) DO
(оператор);
де: FOR – для; TO – до; DOWNTO – вниз до; DO – виконати.
Параметр циклу – змінна цілого, логічного або символьного типу (не дійсного);
(вираз-1) – початкове значення параметра циклу; (вираз-2) – кінцеве значення параметра циклу того ж типу, що й параметр циклу.
Оператор виконується в циклі для кожного значення параметра циклу від початкового до кінцевого. При використанні службового слова TO – шаг зміни параметра циклу +1, DOWNTO – шаг зміни параметра циклу -1.
Якщо в циклі необхідно виконати декілька операторів, то їх заключають в операторні дужки BEGIN-END.
Накопичування кінцевої суми
Накопичування кінцевої суми
зводиться до накопичування заданої
кількості доданків S=f(1)+f(2)+f(3)+…+f(n)=
Накопичування суми реалізується в циклі з параметром. При кожному проходженні циклу номер доданка збільшується на одиницю, а сума – на величину доданка. Перед циклом початкове значення суми повинно дорівнювати нулю (S0=0).
Накопичування кінцевого добутку
Накопичування кінцевого
добутку зводиться до накопичування
заданої кількості співмножників
Р=f(1)*f(2)*f(3)*…*f(n)=
Накопичування добутку реалізується в циклі з параметром. При кожному проходженні циклу номер співмножнику збільшується на одиницю, а добуток – на величину співмножника. Перед циклом початкове значення добутку повинно дорівнювати одиниці (P0=1).
Оператор циклу з передумовою WHILE …DO
Оператор циклу з передумовою використовується:
У випадку, коли число повторень циклу невідомо, але задана деяка умова закінчення або продовження циклу;
У випадку, коли число повторень циклу заздалегідь відомо, але шаг зміни параметра циклу не дорівнює +1 або –1.
WHILE (умова) DO
(оператор);
де: WHILE – поки; DO – виконати; (умова) – логічний вираз.
Оператор виконується в циклі, доки умова істинна; якщо умова хибна, то виконується оператор, який слідує за циклом. Умова обчислюється та аналізується перед кожним виконанням циклу.
Якщо в циклі необхідно виконати групу операторів, то їх заключають в операторні дужки BEGIN-END.
Оператор циклу з постумовою (післяумовою) REPEAT … UNTIL
Оператор циклу з передумовою використовується:
У випадку, коли число повторень циклу невідомо, але задана деяка умова закінчення або продовження циклу;
У випадку, коли число повторень циклу заздалегідь відомо, але шаг зміни параметра циклу не дорівнює +1 або –1.
REPEAT
(оператор-1);
(оператор-2);
(оператор-n);
UNTIL (умова);
де: REPEAT – повторювати; UNTIL – доти, поки; (умова) – логічний вираз.
Оператор виконується в циклі, доки умова істинна; якщо умова хибна, то виконується оператор, який слідує за циклом. Умова обчислюється та аналізується після кожного виконання циклу.
Перевага – не потрібні операторні дужки, на відміну від попереднього оператора. Недолік – умова обчислюється та аналізується після виконання циклу, тобто умова вже хибна, а цикл продовжує виконуватися ще раз, тому в програмуванні частіше використовують оператор циклу з передумовою.