Главная » Файлы » Для вчителя » Інформатика | [ Добавить материал ] |
Повторення. Цикли. Урок
[ · Скачать удаленно (38 Kb) ] | 04.08.2010, 15:41 |
Тема: Повторення. Цикли. Мета: Повторити організацію багатократного виконання групи вказівок (тіла циклу) із вказаною умовою, схему дії кожного із трьох циклів (для, поки, до), використання циклічних структур при складанні програм. Обладнання: карточки, підручник, комп’ютер, плакати. Хід уроку І. Перевірка домашнього завдання (5 хв). Задача Скласти програму знаходження модуля дійсного числа. Program Modul; var x,y:real; begin write('Ведiть x='); readln(x); if x>=0 then y:=x else y:=-x; Writeln('x по модулю дорiвнює ',y); end. Задача Скласти програму розв’язання лінійної нерівності ax+b>0. Program Nerivnist; var a,b,x:real; begin write('Введiть a,b через пропуск:'); readln(a,b); if a<>0 then begin x:=-b/a; writeln('x>',x); end else writeln('Дана нерiвнiсть немає розв"язкiв'); end. ІІ. Актуалізація опорних знань (4 хв). Види циклів: для, поки, до: “для” “поки” “до” For i:=N1 to N2 do While <умова> do repeat begin begin <вказівка1>; <вказівка1>; <вказівка1>; <вказівка2>; <вказівка2>; <вказівка2>; …………… …………… …………… <вказівкаN> <вказівкаN>; <вказівкаN> until <умова> end; end; ІІІ. Аналіз складених програм (14 хв). 3.1. Робота із програмою (S1_dlya.exe); 3.2. Проаналізувати і знайти значення Y для наступних рядків: y:=3; i:=1; while i<4 do i:=i+1; y:=y+i; y= y:=0; i:=2; while i<5 do begin i:=i+1; y:=y+1 end; y= y:=1; i:=5; repeat i:=i-1 y:=y+1; until i<=2; y= y:=0; for i:=4 downto 1 do y:=y+i; y= IV. Самостійна робота (20 хв) Деякі моменти: 234 div 10 = 23 – ділення націло; 234 mod 10 = 4 - остача від ілення. І-В 1. S:=10; for i:=5 to 7 do s:=s+i; S=28 2. S:=1; i:=0; while i<4 do begin i:=i+1; s:=s*i end; S=24 3. S:=5; i:=5; repeat s:=s+1/i; i:=i-1 until (i<=3); S=5.45 4.1. Знайти добуток всіх натуральних чисел від 5 до 9. (для) Program Dobutok; Var i,S:integer; Begin S:=1; For i:=5 to 9 do S:=S*i; Writeln(S); End. 4.2. Вивести непарні тризначні числа, сума цифр яких дорівнює 21. Варіант-1 Program Suma; Var i:integer; Begin i:=101; While i<=999 do Begin If (i div 100+i div 10 mod 10+i mod 10)=21 then Writeln(i); i:=i+2; End; End. Варіант-2 Program Suma; Var i:integer; Begin i:=101; Repeat If (i div 100+i div 10 mod 10+i mod 10)=21 then Writeln(i); i:=i+2; Until i>999; End. ІІ-В 1. S:=1; for i:=10 downto 2 do s:=s+1; S=10 2. S:=3; i:=1; while i<6 do i:=i+1; s:=s+i; S=9 3. S:=2; i:=1; repeat s:=s+i; i:=i+1 until (i>3); S=8 4.1. Знаяти суму всіх двозначних непарних натуральних чисел. (поки) Program Suma; Var i,S:integer; Begin i:=11; S:=0; While i<=99 do Begin S:=S+i; i:=i+2; End; Writeln(S); End. 4.2. Вивести шестизначні номера “щасливих” квитків, сума цифр яких дорівнює 22. Варіант І program Kvutok; var i:longint; begin For i:=100000 to 999999 do begin if (i div 100000+i div 10000 mod 10+i div 1000 mod 10+i div 100 mod 10+i div 10 mod 10+i mod 10)=22 then Write(i:7); end; end. Варіант ІІ program Kvutok; var i:longint; begin i:=100000; While i<=999999 do begin if (i div 100000+i div 10000 mod 10+i div 1000 mod 10+i div 100 mod 10+i div 10 mod 10+i mod 10)=22 then Write(i:7); i:=i+1; end; end. Варіант ІІІ program Kvutok; var i:longint; begin i:=100000; repeat if (i div 100000+i div 10000 mod 10+i div 1000 mod 10+i div 100 mod 10+i div 10 mod 10+i mod 10)=22 then Write(i:7); i:=i+1; until i>199999; end. ІІІ-В 1. S:=1; for i:=10 to 12 do s:=s+i; S=34 2. S:=7; i:=1; while i<6 do i:=i+1; s:=s+i; S=13 3. S:=6; i:=7; repeat s:=s+i; i:=i-1 until (i<=4); S=24 4.1. Знайти суму всіх двохзначних натуральних чисел кратних 7. (до) Program Suma; Var i,S:integer; Begin i:=14; Repeat S:=S+i; i:=i+7; Until i>99 Writeln(S); End. 4.2. Вивести всі парні тризначні числа, які діляться на число 3 без остачі. Варіант І Program Tru; Var i:integer; Begin i:=100; While i<=998 do Begin If i mod 3=0 then Writeln(i); i:=i+2; End; End; Варіант ІI Program Tru; Var i:integer; Begin i:=100; Repeat If i/3=int(i/3) then Writeln(i); i:=i+2; Until i>998; End; Варіант ІII Program Tru; Var i:integer; Begin i:=100; While i<=998 do Begin If i/3=round(i/3) then Writeln(i); i:=i+2; End; End; Варіант ІV Program Tru; Var i:integer; Begin i:=100; While i<=998 do Begin If (i div 100+i div 10 mod 10+i mod 10)/3=round(i/3) then Writeln(i); i:=i+2; End; End; Варіант ІV Program Tru; Var i:integer; Begin i:=102; Repeat Writeln(i); i:=i+6; Until i>996; End; V. Домашнє завдання (2 хв). Повторити вказівки виклику підрпрограм: процедури та функції. | |
Просмотров: 327 | Загрузок: 217 | |