загрузка...
загрузка...
На головну

ПРОГРАМУВАННЯ ЦИКЛІЧНОГО АЛГОРИТМУ

  1. Математична модель задачі лінійного програмування.
  2. Пример. Построить систему аутентификации электронных сообщений по алгоритму RSA.
  3. ПРОГРАМУВАННЯ ЛІНІЙНОГО АЛГОРИТМУ
  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. У випадку, коли число повторень циклу невідомо, але задана деяка умова закінчення або продовження циклу;

2. У випадку, коли число повторень циклу заздалегідь відомо, але шаг зміни параметра циклу не дорівнює +1 або -1.

WHILE (умова) DO

(оператор);

де: WHILE - поки; DO - виконати; (умова) - логічний вираз.

Оператор виконується в циклі, доки умова істинна; якщо умова хибна, то виконується оператор, який слідує за циклом. Умова обчислюється та аналізується перед кожним виконанням циклу.

Якщо в циклі необхідно виконати групу операторів, то їх заключають в операторні дужки BEGIN-END.

Оператор циклу з постумовою (післяумовою) REPEAT ... UNTIL

Оператор циклу з передумовою використовується:

1. У випадку, коли число повторень циклу невідомо, але задана деяка умова закінчення або продовження циклу;

2. У випадку, коли число повторень циклу заздалегідь відомо, але шаг зміни параметра циклу не дорівнює +1 або -1.

REPEAT

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

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

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

UNTIL (умова);

де: REPEAT - повторювати; UNTIL - доти, поки; (умова) - логічний вираз.

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

Перевага - не потрібні операторні дужки, на відміну від попереднього оператора. Недолік - умова обчислюється та аналізується після виконання циклу, тобто умова вже хибна, а цикл продовжує виконуватися ще раз, тому в програмуванні частіше використовують оператор циклу з передумовою.

4.2 Приклади розробки програм циклічного алгоритму

1. Скласти програму обчислення значення суми числового ряду:

PROGRAM SUM;

VAR

X,Y,S1,S2,S:INTEGER;

BEGIN

S1:=0; S2:=0;

FOR X:=10 TO 20 DO

S1:=S1+X;

FOR Y:=20 DOWNTO 10 DO

S1:=S1+Y;

S:=S1+S2;

WRITELN ('значение суммы S = ',S)

END.

2. Скласти програму обчислення наближеного значення числа p, використуючи рівність

/*вычисление приближенного значения числа π*/

PROGRAM P3;

VAR

S,PI : REAL;

BEGIN

S:=0;

FOR I:=1 TO 15 DO

S:=S+1/SQR(I);

PI:=SQRT(6*S);

WRITELN ('приближенное значение числа Пи=', PI:6:4)

END.

2. Скласти програму табулювання функції у дійсного аргументу х на відрізки

(-20,20) з кроком 0,5, з використанням оператора циклу з передумовою:

cos(xb)2 , якщо -20£x£0

y= , якщо 0<х£20

де: a,b - цілі числа.

PROGRAM TAB;

CONST

X0=-20; XN=20; HX=0,5;

VAR

X,Y:REAL;

A,B:INTEGER;

BEGIN

READLN (A,B);

X:=X0;

WHILE X<=XN DO

BEGIN

IF X<=0

THEN Y:=COS(SQR(X*B))

ELSE Y:=SQRT(A+B*EXP(3*LN(X)));

WRITELN ('при x=',X, 'y='Y);

X:=X+HX

END

END.

3. Скласти програму обчислення суми усіх натуральних двозначних чисел, кратних 2, та їх добутку.

PROGRAM 3;

CONST

X0=10; XN=98; HX=2;

VAR

X,S,P:INTEGER;

BEGIN

S:=0; P:=1; X:=X0;

WHILE X<=XN DO

BEGIN

S:=S+X;

P:=P*X;

X:=X+HX

END;

WRITELN ('значение суммы S=',S);

WRITELN ('значение произведения P=',P);

END.



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

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

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