Уроку


НазваУроку
Сторінка4/5
Дата05.04.2013
Розмір0.56 Mb.
ТипУрок
bibl.com.ua > Інформатика > Урок
1   2   3   4   5

Розглянемо декілька прикладів:

Знайти суму всіх натуральних чисел від 1 до n.

program zadacha3_1;

var i,n,s:integer;

Begin

writeln('введіть натуральне n'); readln(n);

s:=0;

for i:=1 to n do

s:=s+i;

writeln('сумма від 1 до',n,' = ',s);

End.

В даному циклі змінна i автоматично змінюється від 1 до n з кроком 1. Тому до змінної s додається i спочатку рівна 1, потім 2, потім 3, і т.д. до n, відповідно змінна s приймає значенні 1, 3, 6, 10, 15 ...

Задане натуральне n. Обчислити суму ряду:

S=1 - 1/2 + 1/3 - 1/4 + 1/5-........1/n

program zadacha3_2;

var i,n,a:integer;

s:real;

Begin

writeln('Введіть n');

readln(n);

s:=1;a:=1;

for i:=2 to n do

begin

а:=(-1)*a;

s:=s+a/i;

end;

writeln('Сумма ряду S= ',s);

End.

Визначити кількість тризначних натуральних чисел, сума цифр яких рівна заданому числу N.

program zadacha3_3;

var с1,с2,с3,i,n,kol:integer;

Begin

writeln('Введіть n');

readln(n);

kol:=0;

for i:=100 to 999 do

begin

c1:=i div 100;

c2:=(i div 10) mod 10;

c3:=i mod 100;

if c1+c2+c3=n then kol:=kol+1;

end;

writeln('Кількість таких чисел = ',kol);

End.

Питання для повторення:

  1. Для чого призначений оператор циклу?

  2. Які існують цикли в мові Паскаль?

  3. Який формат запису має оператор FOR?

  4. Як працює оператор FOR?

  5. В яких випадках застосовується оператор FOR?

  6. Скільки разів буде виконаний цикл, і чому буде рівна змінна S після виконання:

s:=0; n=6;

for i:=3 to n do

s:=s+i;

  1. Як в тілі циклу виконати декількох операторів?



Завдання для самостійної роботи:

  1. Знайти суму всіх непарних тризначних чисел.

  2. Знайти суму позитивні кратні 7 чисел, менших 100.

  3. Знайти всі числа, які діляться на N серед:

  1. всіх двухзначных чисел;

  2. всіх тризначних чисел.

  1. Скласти програму обчислення суми квадратів чисел від 1 до n.

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

  3. Знайти всіх дільників для заданого числа n.

  4. Дано натуральне число n. Обчислити:

a) 2n; b) 3n з) n!;

  1. Серед чотиризначних чисел вибрати ті, у яких:

  1. всі чотири цифри різні (наприклад: 3167, 9012);

  2. є три однакові цифри (наприклад: 1311, 7779);

  3. цифри попарно різні (наприклад: 1331, 7979, 2255);

  4. цифри утворюю зростаючу послідовність (наприклад: 1389, 4678);

  1. Написати програму пошуку чисел <1000, які при розподілі на 2 дають в залишку 1, при розподілі на 3 дають в залишку 2, при розподілі на 4 - в залишку 3, при розподілі на 5 - в залишку 4, при розподілі на 6 - в залишку 5 а при розподілі на 7 дають в залишку 6.



Вивчаємо “Цикли”


Тема уроку:

Алгоритми з повтореннями.

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

Цикл з післяумовою REPEAT.
Мета заняття:

  1. Закріпити поняття про цикли;

  2. Познайомитися з циклами WHILE і REPEAT;

  3. Отримати навики рішення алгоритмів з повтореннями.

На минулому занятті ми познайомилися і навчилися використовувати рахунковий цикл FOR.

Продовжимо роботу по цій темі і познайомимося з ще двома циклами:

- цикл WHILE з предусловием;

- цикл REPEAT.UNTIL з постусловием.

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

Вирішимо задачу zadacha3_1 використовуючи цикли WHILE і REPEAT

спробуємо зрозуміти принцип роботи цих циклів.

Знайти суму всіх натуральних чисел від 1 до n.

1) цикл FOR

program zadacha3_1a;

var i,n,s:integer;

Begin

writeln('введіть натуральне n'); readln(n);

s:=0;

for i:=1 to n do

s:=s+i;

writeln('сумма від 1 до',n,' = ',s);

End.

2) цикл WHILE

program zadacha3_1b;

var i,n,s:integer;

Begin

writeln('введіть натуральне n'); readln(n);

s:=0; i: =1;

while i<=n do

begin

s:=s+i;

i:=i+1;

end;

writeln('сумма від 1 до',n,'=',s);

End.

Цикл WHILE виконуватиметься до тих пір, поки виконується умова i<=n. Причому змінну i змінюємо усередині циклу.

3) цикл REPEAT

program zadacha3_1c;

var i,n,s:integer;

Begin

writeln(' введіть натуральне n'); readln(n);

s:=0; i:=1;

repeat

begin

s:=s+i;

i:=i+1;

end;

until i>n;

writeln('сумма від 1 до',n,' = ',s);

End.

Цикл REPEAT. UNTIL виконуватиметься до тих пір, поки не виконатися умова i>n.

Задано натуральне число n. Обчислити суму цифр числа.

program zadacha3_4;

var n,sum,cif:integer;

Begin

writeln('Введіть n'); readln(n);

sum:=0;

while n>0 do

begin

cif:=n mod 10;

sum:=sum+cif;

n:=n div 10;

end;

writeln('Сумма цифр введеного числа = ',sum);

End.

Знайти мінімальне натуральне число, яке при розподілі на 2 дає в залишку 1, при розподілі на 3 дає в залишку 2, при розподілі на 4 - в залишку 3, при розподілі на 5 - в залишку 4, при розподілі на 6 - в залишку 5 а при розподілі на 7 дають в залишку 6.

program zadacha3_5;

var i, kl:longint;

Begin

kl:=0; i:=0;

while kl=0 do

begin

i:=i+1;

if (i mod 2=1) and (i mod 3=2) and (i mod 4=3) and (i mod 5=4) and (i mod 6=5) and (i mod 7=6) then kl:=1;

end;

writeln(i);

End.

Питання для повторення:

  1. Які цикли існують в мові Паскаль?

  2. Який формат запису мають цикли WHILE і REPEAT?

  3. В яких випадках зручно застосовувати ці цикли?

  4. Чим відрізняється цикл WHILE від циклу REPEAT?

  5. Чи буде зупинено виконання даного циклу? Чому?

s:=0; i: =1;

while i<=4 do

s:=s+i;

Завдання для самостійної роботи:

  1. Дано натуральне число n.

  1. Скільки цифр в числі n?

  2. Скільки парних цифр в числі n?

  1. Дано натуральне число n.

  1. Обчислити, чи входить цифра 3 в запис числа n2.

  2. Поміняти порядок цифр числа n на зворотний.

  3. Переставити першу і останню цифри числа n.

  4. Приписати по одиниці в початок і в кінець запису числа n.

  5. Чи є число n - палиндромом? (9889 - так, 9878 -нет)

  1. Дано натуральне число n. Чи є n ступенем 3.

  2. Для даного натурального числа m>1. Знайдіть максимальне до, для якого ще виконується рівність 2k

  3. Для даного натурального числа m>1знайдіть мінімальне до, для якого вже виконується рівність до!>m. (Наприклад, якщо m=10, то k=4).


Вивчаємо “Цикли”


Тема уроку:

Вкладені цикли.
Мета заняття:

  1. Закріпити знання по використовуванню різних типів циклів;

  2. Отримати навики рішення алгоритмів з вкладеними циклами;

  3. Вдосконалення уміння будувати програми мовою Паскаль. Виховувати уважність, активність на уроці.

Для вирішення задачі достатньо часто вимагається використовувати декілька вкладених один в одного циклічних конструкцій. Такі конструкції називають вкладеними циклами.

Розглянемо декілька прикладів:

Дано натуральне число S. Вимагається написати програму для знаходження всіх прямокутників, площа яких рівна S і сторони виражені натуральними числами.

program zadacha3_6;

var s, а, b:longint;

Begin

writeln('Введіть s'); readln(s);

for а:=1 to s do

for b:=1 to s do

if a*b=s then writeln ('сторони ',a,' і ',b);

End.

Дану задачу можна було вирішити, використовуючи тільки один цикл. Подумайте, як це зробити.
Дані натуральні числа n, m. Отримати всі натуральні числа, менші n, сума квадратів цифр яких рівна m.

program zadacha3_7;

var n, m, i, а, sum, cif:longint;

Begin

writeln('введіть n і m');readln(n, m);

for i:=1 to n do

begin

а:=i;sum:=0;

while a>0 do

begin

cif:=a mod 10;

sum:=sum+sqr(cif);

а:=a div 10;

end;

if sum=m then write(i,' ');

end;

End.




Знайти всі рішення заданого числового ребусу. Кожній букві відповідає деяка цифра. Причому однаковим буквам відповідають однакові цифри, різним буквам - різні цифри.

Оскільки тут всього три букви, то для вирішення достатньо написати три вкладені цикли, і перебрати всі варіанти складання тризначних чисел.

program zadacha3_8a;

var до, t, про, kto, kot, tok:longint;

Begin

for до:=0 to 9 do

for t:=0 to 9 do

for про:=0 to 9 do

begin

kto:=k*100+t*10+o;

kot:=k*100+o*10+t;

tok:=t*100+o*10+k;

if (k<>t) and (k<>o) and (t<>o) and (kto+kot=tok) then

writeln(kto,'+',kot,'=',tok);

end;

End.

В даному алгоритмі тіло циклу виконувалося 10•10•10=1000 разів. (говоритимемо складність алгоритму =1000)

Якщо ж для вирішення складніших ребусів буде потрібно написати 8-10 вкладених циклів, то такий повний перебір працюватиме достатньо довго.

Можна трохи спростити даний алгоритм, якщо побачити що 1?k?4, t?2.

for до:=1 to 4 do

for t:=2 to 9 do

for про:=0 to 9 do

Тепер складність алгоритму 4•8•10=320. Просте косметичне виправлення дало збільшення швидкості в 3 рази.

Але і даний алгоритм не є оптимальним. Подивіться, при k=2 і t=2 програма перебере всі 10 варіантів про. В таких випадках коли k=t цикл по про взагалі необхідно не виконувати.

Назвемо такий метод - контрольований перебір.

program zadacha3_8c;

var до, t, про, kto, kot, tok:longint;

Begin

for до:=1 to 4 do

for t:=2 to 9 do

if k<>t then

for про:=0 to 9 do

if (k<>o) and (t<>o) then

begin

kto:=k*100+t*10+o;

kot:=k*100+o*10+t;

tok:=t*100+o*10+k;

if kto+kot=tok then writeln(kto,'+',kot,'=',tok);

end;

End.

Такий алгоритм навіть при 8-10 вкладених циклах працює дуже швидко.

Питання для повторення:

  1. Чи може у вкладених циклах використовуватися одна і та ж змінна, наприклад i?

  2. Чи можна вкладати один в одного різні цикли: FOR в WHILE або REPEAT в FOR?

Завдання для самостійної роботи:

  1. Старовинна задача. Скільки можна купити биків, корів і телят, якщо бик коштує 10 рублів, корова – 5 рублів, теля – полтінік (0,5 рублі), за умови, що на 100 рублів треба купити 100 голів худоби.

  2. Задане натуральне n. Для всіх чисел від 1 до n знайти:

  1. кількість дільників; b) суму парних дільників.

  1. Знайти всі рішення наступних числових ребусів:

  1. БАБКА+ДЕДКА+РЕПКА=СКАЗКА (4 рішення)

  2. КОРОВА+ТРАВА+ДОЯРКА=МОЛОКО (2 рішення)

  3. АЛЕНКА+ИВАН+КОЗЛИК=СКАЗКА (1 рішення)

  4. ВЕТКА+ВЕТКА+СТВОЛ=ДЕРЕВО (3 рішення)

  5. ВОРОТА+ТРАВА=ФУТБОЛ (3 рішення)


Вивчаємо “Цикли”


Тема уроку:

Алгоритми з повтореннями.

Практикум по розв’язуванню задач

з повтореннями.
Мета заняття:

  1. Закріпити навики написання алгоритмів з повтореннями;

  2. Здійснити проміжний контроль знань;

  3. Вдосконалення уміння будувати програми мовою Паскаль. Виховувати уважність, активність на уроці.

Завдання для самостійної роботи:

  1. Дано натуральне число n. Обчислити:

.

  1. Дані дійсне число а, натуральне число n. Обчислити:

  1. an;

  2. а(а + 1).(а + n – 1).

  1. Дано натуральне число n. Обчислити твір перших n сомножетелей:

  1. ;

  2. .

  1. Обчислити 1 - наступними чотирма способами:

  1. послідовно зліва направо;

  2. послідовно зліва направо обчислюються і, потім друге значення віднімається з першого;

  3. послідовно справа наліво;

  4. послідовно справа наліво віднімаються суми, виписані в би), потім віднімання.

Чому при обчисленнях кожним з цих способів виходять різні результати?

  1. Знайти всі двозначні числа, які містять цифру N.

  2. Складіть програму зведення натурального числа в квадрат, використовуючи наступну закономірність:

12 = 1

22 = 1 + 3

32 = 1 + 3 + 5

42 = 1 + 3 + 5 + 7

. . .

n2 = 1 + 3 + 5 + 7 + 9 + . + (2n – 1).

  1. Скласти програму зведення заданого числа в третій ступінь, використовуючи наступну закономірність:

13 = 1

23 = 3 + 5

33 = 7 + 9 + 11

43 = 13 + 15 +17 + 19

53 = 21 + 23 + 25 + 27 + 29

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

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

  3. Написати програму пошуку тризначних чисел, квадрат яких закінчується трьома цифрами, що становлять початкове число.

  4. Написати програму пошуку чотиризначного числа, яке при розподілі на З дає в залишку B, а при розподілі на B дає в залишку D.

  5. Знайти суму позитивних непарних чисел, менших N.

  6. Знайти суму цілих позитивних чисел з проміжку від А до В, кратних до (значення змінних А і У вводяться з клавіатури).

  7. Знайти суму цілих позитивних чисел, великих А, менших B, кратних 3 і що закінчуються на 2, 4 або 8.

  8. В тризначному числі закреслювали старшу цифру, коли отримане двозначне число помножили на 7, то отримали дане число. Знайти це число.

  9. Сума цифр тризначного числа кратна 7, саме число також ділиться на 7. Знайти всі такі числа.

  10. Серед чотиризначних чисел вибрати ті, у яких всі чотири цифри різні.

  11. Дано натуральне число. Знайти всіх його дільників і їх суму.

  12. В 1626 році індійці продали острів Манхеттен за 20$. Якби ці гроші були поміщені в банк на поточний рахунок і щорічний приріст склав k%, то була яка б сума в поточному році?

  13. Серед двозначних чисел знайти ті, які діляться на число q, а сума їх цифр рівна n (0  n  18).

  14. Знайти мінімальне число, більше N, яке без остачі ділиться на До (До, N - натуральні числа).

  15. Приписати по цифрі 1 в початок і в кінець запису числа n.

(Наприклад, введення n = 923, висновок 19231).

  1. Поміняти місцями першу і останню цифри числа.

(Наприклад, введення n = 9423, висновок 3429).

  1. Приписати до початкового числа n таке ж число.

(Наприклад, введення n = 423, висновок 423423).

  1. З'ясувати, скільки разів в натуральному числі зустрічається його максимальна цифра.

(Наприклад, введення 4423, висновок 2 рази; введення 9077, висновок 1 разів).

  1. З'ясувати, чи є різниця максимальної і мінімальної цифр числа парної.

  2. Дано натуральне число n. Вимагається з'ясувати, чи можна відрекомендувати його у вигляді суми квадратів трьох натуральних чисел? Якщо можна, то:

вказати трійку x, у, z таких натуральних чисел, що

x2 + y2 + z2 = n;

вказати всі трійки таких чисел, що x2 + y2 + z2 = n.

  1. Скласти програму, друкуючу к-ю цифру послідовності:

  • 12345678910., в якій виписані підряд всі натуральні числа;

  • 14916253649., в якій виписані підряд квадрати всіх натуральних чисел;

  1. Скласти програму для знаходження всіх натуральних чисел n, m, до з інтервалу [а, b], удовлеовторяющих співвідношенню n2 + m2 = k2 (а і b задані).

  2. Сторони прямокутника задані натуральними числами M і N. Скласти програму, яка знаходитиме, на скільки квадратів, сторони яких виражені натуральними числами, можна розрізати даний прямокутник, якщо від нього кожного разу відрізується квадрат максимально можливої площі.


Вивчаємо “Масиви”


Тема уроку:

Двомірні масиви: опис, введення і висновок масивів по рядках.

Приклади розв’язування задач з використанням двомірних масивів.
Мета заняття:

  1. Отримати навики розробки програм по роботі з елементами двомірного масиву;

  2. Практична робота з масивами на комп'ютері;

  3. Вдосконалення уміння будувати програми мовою Паскаль. Виховувати уважність, активність на уроці.

Двомірні масиви мають рядки і стовпці. Елемент масиву задається номером рядка і номером стовпця, на перетині яких він знаходиться




Якщо кількість рядків = кількості стовпців масив називається квадратною матрицею, в особливому випадку - прямокутної.

Задана прямокутна матриця розміру n рядків і m стовпців.

Заповнити її цілими числами. Роздрукувати по рядках. Знайти і вивести суму всіх елементів і їх середнє арифметичне значення.

program zadacha5_3_1;

var

i, j, s,m,n : integer;

sr : real;

а:array[1..10, 1..20] integer; {опис масиву}

Begin

Write('Кіл. рядків, кіл. стовпців?');

readln( n,m);

for i:=1 to n do

for j:=1 to m do

begin

write('Введіть а[', i, ',', j, ']'); {Введення елементів

readln (а[ i, j ]); масиву}

end;

writeln('Введенний масив');

for i:=1 to n do {Висновок ел. масиву}

begin

for j:=1 to m do

write (а[ i, j ],’ ’); {Висновок ел. масиву}

writeln;

end;

s:=0;

for i:=1 to n do

for j:=1 to m do {Знаходження суми}

s:=s + а[ i, j ];

writeln('Сума =', s);

sr:=s / (n*m); {Знаходження середнього}

writeln('Середнє =', sr:8:3)

End.
Задача. Серед непарних стовпців заданої цілочисельної матриці розмірністю n*m знайти стовпець з максимальною сумою модулів елементів.

program zadacha5_3_2;

var

i, j, m, n, до, s, max :integer;

а : array[1..10, 1..20] integer; {опис масиву}

Begin

Write('Кіл. рядків, кіл. стовпців?'); readln( n,m);

{Заповнити таблицю}

{Вивести таблицю по рядках}

{Спочатку рахуватимемо суму модулів елементів першого стовпця максимальної}

s:=0;

for i:=1 to n do {Знаходження суми першого стовпця}


-3

4

6

8

1

4

9

-12

-6

13

3

-5

2

7

-5

10 18 20 21 19

max сумма мод. Пар. стовп. = 20

номер стовпця = 3
s := s + abs ( а[i, 1]);

max := s ;

до:=1; j :=3;

while j <= m do

begin

s := 0;

for i:=1 to n do

s := s + abs ( а[ i,j ]);

if s > max

then begin

max := s; до:=j;

end;

j := j+2; {Перехід до чергового непарного

end; індексу стовпця }

writeln( 'Номер стовпця з максим. сумою модулів елементів ='

до, 'знач. макс.=', max);

end.
1   2   3   4   5

Схожі:

Уроку Тема уроку: Пристрої введення-виведення інформації. 
Структура і тип уроку повністю відповідають меті і завданням уроку, тобто науковий рівень уроку відповідає сучасним вимогам
Уроку. Прямокутна система координату просторі. Мета уроку: знайомство...
В кінці уроку збираються учнівські зошити для перевірки їх ведення й виконання домашнього завдання
Уроку виробничого навчання
Велигодська Л. С. чітко в доступній формі розкрила тему та мету уроку на всіх етапах структури уроку
Уроку; тема уроку не записується на дошці; мета уроку не узгоджується...
«загравання» з учнями, намагання сподобатись, невміння знайти правильний тон; вживання пестливих слів
КОНСПЕКТ УРОКУ З ФІЗИКИ (10 КЛАС) Тема уроку
Комп'ютер, мультимедійний проектор, презентація до уроку, програмне середовище «Жива фізика»
УРОКУ Тема уроку
Методична мета уроку: Інтерактивне навчання учнів графічного представлення даних електронних таблиць засобами мультимедіа з використанням...
Уроку: урок засвоєння нових знань. КМЗ уроку
Мета уроку: вивчити види впливу електричного струму на організм людини, особливості ураження електрострумом
Тема уроку. Зрізана піраміда. Мета уроку
Мета уроку: вивчення властивості площини, яка перетинає піраміду і паралельна основі; формування поняття зрізаної піраміди
Уроку Тема уроку: Поняття про виробничий травматизм та професійні захворювання  
Мета уроку: Ознайомити учнів з основними причинами виробничого травматизм та професійних захворювань та їх наслідками
План-конспект уроку інформатики в 7 класі Тема уроку
Тема уроку: Робота з текстовою інформацією. Призначення та основні функції текстового редактора. Текстові процесори. MS Word. Поняття...
Додайте кнопку на своєму сайті:
Портал навчання


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
bibl.com.ua
Головна сторінка