- Главная
- Информатика
- Початки алгоритмізації та процедурного програмування. Циклічні програми
Содержание
- 2. Актуалізація опорних знань Завдання 1 Які з перерахованих нижче розділів є обов’язковими в програмі, написаній мовою
- 3. Актуалізація опорних знань Завдання 3 Подивіться уважно на фрагмент алгоритму. Яким буде значення змінної Х при
- 4. Вивчення нового матеріалу Опис циклічних алгоритмів Циклічним називається такий обчислювальний процес, який повторює одну і ту
- 5. Вивчення нового матеріалу Опис циклічного алгоритму з лічильником дія1 дія2 У випадках, коли наперед відома кількість
- 6. Вивчення нового матеріалу Опис циклічного алгоритму з передумовою дія1 дія2 У випадках, коли наперед невідома кількість
- 7. Вивчення нового матеріалу Опис циклічного алгоритму з післяумовою дія1 дія2 У випадках, коли наперед невідома кількість
- 8. Порівняння циклу з передумовою, циклу з післяумовою та циклу з лічильником В операторі WHILE цикл виконується
- 9. Вивчення нового матеріалу Завдання 5 Скласти блок-схему алгоритму та написати програму на мові програмування Паскаль для
- 11. Скачать презентацию
Актуалізація опорних знань
Завдання 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
Подивіться уважно на фрагмент алгоритму. Яким буде значення
початок
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.
Вивчення нового матеріалу
Опис циклічних алгоритмів
Циклічним називається такий обчислювальний процес, який повторює
Вивчення нового матеріалу
Опис циклічних алгоритмів
Циклічним називається такий обчислювальний процес, який повторює
В мові програмування Паскаль використовують 3 види циклів:
цикл з лічильником (з параметром) – for;
цикл з передумовою – while;
цикл з післяумовою – repeat … until.
Вивчення нового матеріалу
Опис циклічного алгоритму з лічильником
дія1
дія2
У випадках, коли наперед відома
Вивчення нового матеріалу
Опис циклічного алгоритму з лічильником
дія1
дія2
У випадках, коли наперед відома
for <змінна>:=<початкове_значення> to <кінцеве_значення> do <оператор> - загальний запис цикла мовою Паскаль.
Для цикла з лічильником у загальному вигляді ще присутній такий параметр як крок, але в мові Паскаль крок сталий і = 1.
i=<поч. знач.> .. <кінц.знач.>, <крок>
Замість ключового слова to можна записати інше ключове слово – downto, при цьому початкове значення повинно бути більше за кінцеве.
Якщо в тілі циклу виконуються більше однієї дії, то вони беруться в операторні дужки:
begin
…
end;
Вивчення нового матеріалу
Опис циклічного алгоритму з передумовою
дія1
дія2
У випадках, коли наперед невідома
Вивчення нового матеріалу
Опис циклічного алгоритму з передумовою
дія1
дія2
У випадках, коли наперед невідома
while <умова> do <оператор> - загальний запис цикла мовою Паскаль.
Якщо в тілі циклу виконується більше однієї дії, то вони беруться в операторні дужки:
begin
…
end;
При виконанні цього оператору спочатку перевіряється умова (деякий логічний вираз) і, у випадку, коли це значення правдиве, виконується оператор.
Можливий варіант, коли для виконання тіла циклу недостатньо перевірки однієї умови, тоді записуються декілька умов, між ними ставляться логічні сполучники “і”, “або”, а самі умови беруться в дужки.
<умова1> або <умова2>
так
ні
Вивчення нового матеріалу
Опис циклічного алгоритму з післяумовою
дія1
дія2
У випадках, коли наперед невідома
Вивчення нового матеріалу
Опис циклічного алгоритму з післяумовою
дія1
дія2
У випадках, коли наперед невідома
repeat <оператор> until <умова>- загальний запис цикла мовою Паскаль.
Якщо в тілі циклу виконується більше однієї дії, то вони не беруться в операторні дужки, так як repeat … until їх заміняють.
При виконанні цього оператору спочатку спочатку виконується оператор, тобто тіло циклу, потім перевіряється умова. У випадку, коли результат перевірки неправдивий, тоді виконується тіло циклу ще раз. В протилежному випадку управління передається наступному оператору, який розташований відразу після циклу, тобто відбувається вихід з циклу.
Можливий варіант, коли для виходу з тіла циклу недостатньо перевірки однієї умови, тоді записуються декілька умов, між ними ставляться логічні сполучники “і”, “або”, а самі умови беруться в дужки.
<умова1> або <умова2>
так
ні
Порівняння циклу з передумовою, циклу з післяумовою та циклу з лічильником
В
Порівняння циклу з передумовою, циклу з післяумовою та циклу з лічильником
В
В операторі REPEAT тіло циклу виконується хоча б 1 раз.
При використанні як оператору WHILE, так і оператору REPEAT, потрібно мати на увазі те, що змінні чи вирази, які записані в умові циклу – між словами WHILE і DO та після UNTIL, в тілі циклу повинні змінювати своє значення, в іншому випадку отримаємо “вічний” цикл.
При використанні циклу з лічильником значення параметру змінюється автоматично через 1 (або в сторону збільшення, або в сторону зменшення). Отже цикл з лічильником не може бути вічним.
Вивчення нового матеріалу
Завдання 5
Скласти блок-схему алгоритму та написати програму на мові
Вивчення нового матеріалу
Завдання 5
Скласти блок-схему алгоритму та написати програму на мові
початок
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.