Початки алгоритмізації та процедурного програмування. Циклічні програми

Содержание

Слайд 2

Актуалізація опорних знань Завдання 1 Які з перерахованих нижче розділів є

Актуалізація опорних знань

Завдання 1

Які з перерахованих нижче розділів є обов’язковими в

програмі, написаній мовою Паскаль?

1) Var; 2) Const; 3) Type; 4) Label; 5) Begin … End.

Завдання 2

При допомозі якої з наведених команд змінній B надається значення виразу (може бути декілька вірних варіантів)?

а) A := (x + y) / (x – y); B := (A – 1 / A) * (1 / A + A);
б) A := (x + y) / (x – y); B := Sqr(A) – Sqr (1 / A);
в) A := (x – y) / (x + y); B := Sqr(1 / A) – Sqr (A);

Слайд 3

Актуалізація опорних знань Завдання 3 Подивіться уважно на фрагмент алгоритму. Яким

Актуалізація опорних знань

Завдання 3

Подивіться уважно на фрагмент алгоритму. Яким буде значення

змінної Х при A = 5, B = 4?

початок

A, B

A>=B

ні

Х=А+В

так

Х=А*В

Х

кінець

Завдання 4

Подивіться уважно на фрагмент алгоритму. Яким буде значення змінних p та d після його виконання?

k := 47; Case k Mod 9 Of
5: Begin d := k; p := True End;
0..2: Begin d := 2; p := False End;
8: Begin d := 1; p := False End
Else Begin d := 1; p := True End
End;

1) p = True, d = 1; 2) p = False, d = 2;
3) p = False, d = 3; 4) p = True, d = 47;
5) p = True, d = 2.

Слайд 4

Вивчення нового матеріалу Опис циклічних алгоритмів Циклічним називається такий обчислювальний процес,

Вивчення нового матеріалу Опис циклічних алгоритмів

Циклічним називається такий обчислювальний процес, який повторює

одну і ту ж визначену послідовність операторів скінченну кількість разів.

В мові програмування Паскаль використовують 3 види циклів:
цикл з лічильником (з параметром) – for;
цикл з передумовою – while;
цикл з післяумовою – repeat … until.

Слайд 5

Вивчення нового матеріалу Опис циклічного алгоритму з лічильником дія1 дія2 У

Вивчення нового матеріалу Опис циклічного алгоритму з лічильником

дія1

дія2

У випадках, коли наперед відома

кількість повторень, використовують оператор циклу з лічильником.
for <змінна>:=<початкове_значення> to <кінцеве_значення> do <оператор> - загальний запис цикла мовою Паскаль.
Для цикла з лічильником у загальному вигляді ще присутній такий параметр як крок, але в мові Паскаль крок сталий і = 1.

i=<поч. знач.> .. <кінц.знач.>, <крок>

Замість ключового слова to можна записати інше ключове слово – downto, при цьому початкове значення повинно бути більше за кінцеве.
Якщо в тілі циклу виконуються більше однієї дії, то вони беруться в операторні дужки:
begin

end;

Слайд 6

Вивчення нового матеріалу Опис циклічного алгоритму з передумовою дія1 дія2 У

Вивчення нового матеріалу Опис циклічного алгоритму з передумовою

дія1

дія2

У випадках, коли наперед невідома

кількість повторень, використовують цикл з передумовою або післяумовою.
while <умова> do <оператор> - загальний запис цикла мовою Паскаль.

Якщо в тілі циклу виконується більше однієї дії, то вони беруться в операторні дужки:
begin

end;

При виконанні цього оператору спочатку перевіряється умова (деякий логічний вираз) і, у випадку, коли це значення правдиве, виконується оператор.
Можливий варіант, коли для виконання тіла циклу недостатньо перевірки однієї умови, тоді записуються декілька умов, між ними ставляться логічні сполучники “і”, “або”, а самі умови беруться в дужки.

<умова1> або <умова2>

так

ні

Слайд 7

Вивчення нового матеріалу Опис циклічного алгоритму з післяумовою дія1 дія2 У

Вивчення нового матеріалу Опис циклічного алгоритму з післяумовою

дія1

дія2

У випадках, коли наперед невідома

кількість повторень, використовують цикл з передумовою або післяумовою.
repeat <оператор> until <умова>- загальний запис цикла мовою Паскаль.

Якщо в тілі циклу виконується більше однієї дії, то вони не беруться в операторні дужки, так як repeat … until їх заміняють.

При виконанні цього оператору спочатку спочатку виконується оператор, тобто тіло циклу, потім перевіряється умова. У випадку, коли результат перевірки неправдивий, тоді виконується тіло циклу ще раз. В протилежному випадку управління передається наступному оператору, який розташований відразу після циклу, тобто відбувається вихід з циклу.
Можливий варіант, коли для виходу з тіла циклу недостатньо перевірки однієї умови, тоді записуються декілька умов, між ними ставляться логічні сполучники “і”, “або”, а самі умови беруться в дужки.

<умова1> або <умова2>

так

ні

Слайд 8

Порівняння циклу з передумовою, циклу з післяумовою та циклу з лічильником

Порівняння циклу з передумовою, циклу з післяумовою та циклу з лічильником

В

операторі WHILE цикл виконується при істинності умови, а цикл REPEAT – поки умова хибна. Ще одна відмінна риса – для циклу REPEAT при записі в тілі циклу декількох операторів немає необхідності брати їх в операторні дужки begin…end, оскільки цей оператор сам виступає в цій ролі: repeat…until їх замінює.
В операторі REPEAT тіло циклу виконується хоча б 1 раз.
При використанні як оператору WHILE, так і оператору REPEAT, потрібно мати на увазі те, що змінні чи вирази, які записані в умові циклу – між словами WHILE і DO та після UNTIL, в тілі циклу повинні змінювати своє значення, в іншому випадку отримаємо “вічний” цикл.
При використанні циклу з лічильником значення параметру змінюється автоматично через 1 (або в сторону збільшення, або в сторону зменшення). Отже цикл з лічильником не може бути вічним.
Слайд 9

Вивчення нового матеріалу Завдання 5 Скласти блок-схему алгоритму та написати програму

Вивчення нового матеріалу
Завдання 5

Скласти блок-схему алгоритму та написати програму на мові

програмування Паскаль для обчислення значення функції на проміжку [c; d] з кроком 1:

початок

a, b, c, d

(2*a+b)=0

так

ні

введені некоректні
дані

i, y

кінець

y=exp(3*i)/(2*a+b)

i=c..d, 1

program obchislennya2;
uses dos, crt;
var a, b, y : real;
c,d,i:integer;
begin
clrscr;
write(‘Введіть значення a: ’);
readln(a);
write(‘Введіть значення b: ’);
readln(b);
write(‘Введіть значення c: ’);
readln(c);
write(‘Введіть значення d: ’);
readln(d);
if (2*a+b)=0 then write(‘Введені
некоректні дані!’)
else
for i:=c to d do
begin
y:=exp(3*i)/(2*a+b);
writeln(’При х= ’, i,’y= ’,y:3:2);
end;
readln
end.