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