Цикли

Вказівки повторення

Урок 1. Цикли. Види циклів.

Ц И К Л - це конструкція, яка організовує повторення дій.

Цикли з умовою використовуються тоді, коли кількість повторень дій заздалегідь невідома. Якщо кількість повторень циклу задана або її неважко передбачити, використовують цикл з параметром.

Цикл з параметром

Для значення параметра x на проміжку від a до b виконуй команди

Цикл з передумовою

поки є істинна умова, виконуй команди

о

while ( умова) do

begin

серія команд

end;

Цикл з післяумовою

повторюй виконання команд до тих пір, поки аж не стане істинною умова

repeat

серія команд

until (умова);

for x:=a to b do begin серія команд end;

(крок = +1)

for x:=b downto a do begin серія команд end;

(крок = -1)

Який результат виконання фрагментів програм ?

s:=0; for i:= 3 to 5 do

begin s:=s+i; k:=s*2; end;

writeln ( s/2);

s:=0; for i:= 3 to 5 do

s:=s+i; k:=s*2;

writeln ( k/2);

s:=5; a:=1;

while (a <18) do

begin s:=s+a; a:=a+3; end;

writeln (‘ s=’ , s);

Який результат виконання фрагментів програм ?

Скільки разів виконується тіло циклів?

1) for i:=-1 to 5 do f:=f*i;

2) for i:= 4 to 9 do d:=d- i;

3) a:=8; repeat s :=s div2 +3; a:=a+3; m:=m-a; until a>14;

Домашнє завдання.

s:=0; for i:= 4 to 7 do

begin s:=s+2*i; m:=m-2; end;

writeln ( s+2);

s:=1; for i:= 9 to 7 do

s:=s-i; k:=s*2;

writeln ( k/2);

s:=8; a:=2;

while (a <9) do

begin s:=s+2+a; a:=a+2; end;

writeln (‘ s=’ , s);

s:=14;

repeat s:=s + 2 until s>20;

writeln ( s);

Урок 2. Розв'язування задач на знаходження суми, добутку, кількості чисел із заданого числового проміжку з використанням циклів з параметром.

В циклах використовуються рекурентні формули.

Рекурентними називаються формули, у яких наступне значення обчислюється на основі попереднього.

Скільки разів виконується тіло циклів

1) for i:=-4 to 0 do f:=f*i;

2) for i:= 3 to 4 do d:=d- i;

3) a:=16; repeat s :=s div 3; a:=a-3; m:=m-a; until a<10;

Задача 1 . Знайти суму чисел з проміжку від 2000 до 354000 , які є кратні 9 і при діленні на 7 дають в остачі 2

program pr1;

var SUMA , a : longint;

BEGIN

SUMA:=0 ;

for a:=2000 to 354000 do

if (a mod 9 =0) and (a mod 7=2)

then SUMA := SUMA + a ;

writeln ( ‘Cума чисел = ’ , SUMA);

READLN END.

Задача 2. Знайти кількість парних чотирицифрових чисел, які не діляться на 7

program pr2;

var k , a : integer ;

BEGIN

k:=0 ;

for a:=1000 to 9999 do

if (a mod 2 =0) and (a mod 7<>0)

then k:=k+1 ;

writeln ( ‘Кількість = ’ , k) ;

READLN END.

1. Протабулюйте функцію у=2ctg2x-4(x+3)/(x-1) а проміжку від 2 до 15 з кроком 0,285.

2. Протабулюйте функцію у=5cos5x+5|ctg3x-4| а проміжку від 44 до 57 з кроком 0,75. Знайдіть середнє арифметичне значення функції на цьому проміжку.

3. Знайти значення суми всіх членів числового ряду 5/21+10/41+15/61+...+500/2001

Урок 3. Розв'язування задач з використання циклів з умовою та циклів із параметром.

Урок 3. Розв'язування задач табулювання функцій. Використання циклів з умовою.

Табулювання функції – це виведення на екран таблиці, у якій в одному стовпчику будуть роздруковані всі значення аргументу х, а в другому – всі значення функції y.

Задача 4.

Протабулюйте функцію y= sin2x на проміжку від 12 до 40 з кроком 0,94.

program pr3;

var x, y : real ;

BEGIN

x:=12 ;

repeat

y:= sin(2*x);

writeln ( ‘x=’, x:15:5 , ’ y=’ , y:17:8);

x:=x+ 0.94;

until (x> 40 );

READLN END.

Задача 5. Протабулюйте функцію у = |2 cos x | - 1 на проміжку від 10 до 11 з кроком 0,2 i знайдіть середнє арифметичне значень функції , які менші за 1,5, найбільше і найменше значення функції. .

program pr3_1;

var x, y, sa, s,min, max : real; n : integer;

BEGIN

x:=10; s:=0; n:=0; min:=999999; max:=-9999999;

repeat

y:=abs(2*cos(x)) - 1;

writeln ( ‘x=’, x:15:5 , ’ y=’ , y:17:8);

if (y<1.5) then begin s :=s+y; n:=n+1; end;

if (y<min) then min:=y;

if (y>max) then max:=y;

x:=x+0.2;

until (x>11);

if n <>0 then sa:=s/n;

writeln('sa=',sa:15:8);

writeln('min=',min:15:8);

writeln('max=',max:15:8);

READLN END.

Задача 6. Знайти значення суми всіх членів числового ряду 1/7+3/13+5/19+...+1001/3007.

program pr5;

var s : real; x : integer ;

BEGIN

s:=0; x:= 1 ;

repeat

s := s + x / ( 3*x + 4 ) ; x := x + 2;

until ( x> 1001) ;

writeln ( ‘ дріб = ‘ , s);

READLN END.

Самостійна робота

1. Протабулюйте функцію у=2cos9x-4|x+0,2| а проміжку від 4 до 7 з кроком 0,35.

2. Протабулюйте функцію у=2sin2x+|tg3x+2| а проміжку від 14 до 17 з кроком 0,45. Знайдіть найбільше значення функції на цьому проміжку.

3. Знайти значення суми всіх членів числового ряду 1/2+4/11+7/20+...+1000/2999

Домашнє завдання.

1. Знайдіть суму всіх чотирицифрових чисел, кратних 25.

2. Підрахуйте кількість парних чисел з проміжку від 200 до 7089, які при діленні на 5 дають в остачі 1.

3. Знайдіть всі трицифрові числа Армстронга (саме число дорівнює сумі кубів його цифр).

Для роботи з окремими цифрами числа вигідно використати вкладені цикли.

Задача 3. Знайти чотирицифрове число, яке на 1120 більше від суми його цифр.

program pr6;

var a,b,c,d, abcd, s: integer ;

BEGIN

for a:=1 to 9 do

for b:=0 to 9 do

for c:=0 to 9 do

for d:=0 to 9 do

begin

abcd:= a*1000 + b*100 + c*10 + d;

s:=a+b+c+d;

if (abcd - s = 1120) then writeln(abcd);

end;

READLN END.

Самостійна робота

1. Знайдіть добуток двоцифрових чисел, кратних 15.

2. Підрахуйте кількість непарних чисел з проміжку від 20 до 789, які не діляться на 5.

3. Знайдіть всі п'ятицифрові числа-паліндроми (зліва направо і справа наліво вони читаються одинаково, наприклад 34543), у яких сума цифр кратна 7.

Домашнє завдання.

Задача 7. Знайти значення функції

y=sin(cos(cos(cos(cos(cos(9x)))))).

program pr6;

var x,y : real ; i : integer;

BEGIN

writeln(‘x=’); readln (x);

y := 9*x ;

for i := 1 to 5 do y := cos(y);

y := sin(y);

writeln ( ‘ y= ’ , y : 15 : 10) ;

READLN END.

Додаткові завдання.

Рівень А

1. Серед трицифрових чисел знайти суму всіх, які кратні 11 та при діленні на 8 дають в остачі 5.

2. Підрахуйте добуток двоцифрових чисел, кратних 7 і менших, ніж 30.

3. Знайдіть кількість п’ятицифрових чисел, які кратні 29, парні і при діленні на 5 дають в остачі 2.

4. Серед чисел з діапазону від 15 до 456 знайти суму всіх, які кратні 17 та при діленні на 4 дають в остачі 2.

5. Підрахуйте добуток цілих чисел з проміжку [2..99], парних і кратних 8.

6. Знайдіть кількість п’ятицифрових чисел, які кратні 44, непарні і при діленні на 5 дають в остачі 3.

7. Знайдіть добуток чисел, кратних 6 з проміжку від 20 до 100 .

8. Знайдіть кількість трицифрових чисел , які при діленні на 5 дають в остачі 4 , а при діленні на 6 дають в остачі 5.

9. Знайдіть суму парних чисел з проміжку від 25 до 300

10. Знайдіть кількість парних семифрових чисел.

Рівень Б

Рівень В

1. Дано натуральне число n (п>9). Чи є воно «щасливим»? (У його записі сума перших цифр дорівнює сумі останніх.)

2. Серед шестицифрових чисел знайдіть такі, у яких сума парних цифр дорівнює сумі непарних.

3. Серед трицифрових чисел знайдіть такі, сума цифр яких дорівнює їх добутку .

4. Серед чотирицифрових чисел знайдіть кількість паліндромів (тобто таких , які зліва направо і справа наліво читаються одинаково. Наприклад 1221 , 4554 ,.... )

5. До деякого двоцифрового числа зліва і справа дописали по 1. Дістали чотирицифрове число , яке у 23 рази більше за початкове. Знайдіть це двоцифрове число.

6. Якщо між другою і третьою цифрами трицифрового числа вставити таку ж цифру ,як і друга, то вийде чотирицифрове число , яке у 155 разів більше за суму другої та третьої цифр чотирицифрового числа. Знайдіть це число.

7. Числа Фібоначчі будуються так: перше і друге рівні 1, кожне наступне дорівнює сумі двох попередніх: 1,1,2,3,5,8,13,21... Знайти число, яке знаходиться у послідовності на k-ому місці. (1≤k<10000).

8. Розгадайте ребуси: а) МУХА:ХА=УХА б)

9. У зв’язку із всесвітньою кризою 20 банків відмовилися видавати депозити. Із них банкрутами об’явили ті банки, в яких заборгованість становила більше, ніж 35 млн. грн. Знаючи суму заборгованості кожного з цих банків, з’ясуйте:

a. скільки банків-банкрутів;

b. яка середня заборгованість перед населенням у цих банках;

c. знайдіть номер банку із найбільшою та найменшою заборгованістю;

d. підрахуйте загальну суму до виплат у найкращих банках, тих банках, де вона є меншою від 5 тис. грн.

ТЕСТУВАННЯ З ТЕМИ

ПЕРЕГЛЯД РЕЗУЛЬТАТІВ ТЕСТУВАННЯ