Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Програмування циклічного алгоритму



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.





Дата публикования: 2014-09-25; Прочитано: 2953 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...