Відмінності між версіями «Конспект уроку №10»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
 
(не показані 3 проміжні версії цього учасника)
Рядок 8: Рядок 8:
 
'''І. Актуалізація ЗУН.'''
 
'''І. Актуалізація ЗУН.'''
  
самостійна робота (10 -15 хв)
+
самостійна робота (10 хв)
 +
 
 
1. дайте означення цикла.
 
1. дайте означення цикла.
 +
 
2. які види циклів ви знаєте?
 
2. які види циклів ви знаєте?
 +
 
3. заповніть пропуски:
 
3. заповніть пропуски:
 +
 
а) For < параметр > := <вираз1 >  . . . <вираз2 > . . .  <оператор >
 
а) For < параметр > := <вираз1 >  . . . <вираз2 > . . .  <оператор >
 +
 
б)  . . .  Умова  . . . Оператор
 
б)  . . .  Умова  . . . Оператор
 +
 
в)  ….
 
в)  ….
  
<оператор1 >
+
    <оператор1 >
<оператор2 >  
+
    <оператор2 >  
<оператор3 >
+
    <оператор3 >
 
         ***
 
         ***
<оператор n >
+
  <оператор n >
….      <умова>;
+
    ….      <умова>;
 
4.Коли використовується оператор For
 
4.Коли використовується оператор For
 +
 
5. Як діє оператор REPEAT UNTIL?
 
5. Як діє оператор REPEAT UNTIL?
  
Рядок 31: Рядок 38:
 
Умова: Компанія бабусь поїхала на мотоциклах на курси комп'ютерної грамотності. Попереду на мотоциклі без глушника їхала одна бабуся, за нею - дві, потім - три і т.д. Скільки бабусь їхало на заняття, якщо приголомшені пішоходи всього нарахували N рядів? Чи змогли бабусі зайняти всі місця у класі, якщо там стояло k рядів по l комп'ютерів в кожному? Скільки вільних місць залишилося?
 
Умова: Компанія бабусь поїхала на мотоциклах на курси комп'ютерної грамотності. Попереду на мотоциклі без глушника їхала одна бабуся, за нею - дві, потім - три і т.д. Скільки бабусь їхало на заняття, якщо приголомшені пішоходи всього нарахували N рядів? Чи змогли бабусі зайняти всі місця у класі, якщо там стояло k рядів по l комп'ютерів в кожному? Скільки вільних місць залишилося?
 
Зверніть увагу на те, що фактично ця задача зводиться до знаходження суми всіх натуральних чисел від 1 до N. В кінці задачі для повторення команди розгалуження учням пропонується визначити кількість зайнятих бабусями та вільних місць.
 
Зверніть увагу на те, що фактично ця задача зводиться до знаходження суми всіх натуральних чисел від 1 до N. В кінці задачі для повторення команди розгалуження учням пропонується визначити кількість зайнятих бабусями та вільних місць.
 +
 
Program Example_183;  
 
Program Example_183;  
 +
 
Uses crt;  
 
Uses crt;  
 +
 
Var I,N,Sum:word;  {I – параметр циклу, N –   
 
Var I,N,Sum:word;  {I – параметр циклу, N –   
 
                   кількість рядів мотоциклів,   
 
                   кількість рядів мотоциклів,   

Поточна версія на 12:04, 10 грудня 2008

Тема: Реалізація найпростіших програм з циклами.

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

Тип уроку: практична робота

І. Актуалізація ЗУН.

самостійна робота (10 хв)

1. дайте означення цикла.

2. які види циклів ви знаєте?

3. заповніть пропуски:

а) For < параметр > := <вираз1 > . . . <вираз2 > . . . <оператор >

б) . . . Умова . . . Оператор

в) ….

   <оператор1 >
   <оператор2 > 
   <оператор3 >
       ***
  <оператор n >
   ….      <умова>;

4.Коли використовується оператор For

5. Як діє оператор REPEAT UNTIL?

ІІ. Розвязування задач.

Задача №1

Умова: Компанія бабусь поїхала на мотоциклах на курси комп'ютерної грамотності. Попереду на мотоциклі без глушника їхала одна бабуся, за нею - дві, потім - три і т.д. Скільки бабусь їхало на заняття, якщо приголомшені пішоходи всього нарахували N рядів? Чи змогли бабусі зайняти всі місця у класі, якщо там стояло k рядів по l комп'ютерів в кожному? Скільки вільних місць залишилося? Зверніть увагу на те, що фактично ця задача зводиться до знаходження суми всіх натуральних чисел від 1 до N. В кінці задачі для повторення команди розгалуження учням пропонується визначити кількість зайнятих бабусями та вільних місць.

Program Example_183;

Uses crt;

Var I,N,Sum:word; {I – параметр циклу, N –

                  кількість рядів мотоциклів,  
                  тобто кількість повторень, Sum –  
                  загальна кількість бабусь, що  
                  приїхали на курси} 
 Place,k,l:word;        {k – кількість рядів в  
                        комп’ютерному класі, l –  
                       кількість комп’ютерів в  
                       кожному ряду, Place – кількість  
                                      місць, що вистачила для бабусь} 

Begin

 Clrscr; 
 Sum:=0;      
 Write(‘Введіть кількість рядів мотоциклів, що  
        нарахували пішоходи:  ’); 
 Readln(N); 
 For I:=1 to N do  Sum:=Sum+I; 
 Writeln(‘Кількість бабусь, що приїхала на курси ’,Sum); 
 Writeln(‘Кількість комп”ютерів на курсах ’,k*l); 
 If Sum < k*l Then writeln(‘Бабусі не змогли зайняти всі місця.’) 
 Else writeln(‘Бабусі зайняли всі місця.’); 
 Place:=Sum – k*l; 
 If Place>0 
 Then writeln(‘Бабусям не вистачило ’,Place,’місць.’); 
 Readkey;	{Затримка зображення на екрані} 

End.

Задача №2

Умова: Коли Василині Премудрій виповнилося 18 років, Чахлик Невмирущий вирішив взяти її заміж. Василина запитала Чохлика, скільки у нього скринь із золотом. Чахлик сказав, що в нього зараз n скринь і щороку додається ще по m скринь. Василина пообіцяла, що вийде заміж тоді, коли у Чохлика буде k повних скринь із золотом. Скільки років буде тоді нареченій? Program Example_180; Uses crt; Var m,n,k:word; {n – початкова кількість скринь з

                  золотом, m – щорічний “прибуток”  
                  Чахлика Невмирущого, k – “потреби”  
                  Василини Премудрої} 
 Sum,Years:word; {Sum – щорічне накопичення Чахлика  
                  Невмирущого, Years – вік Василини  
                  Премудрої} 

Begin

 Clrscr; 
 Write(‘Введіть початкову кількість скринь з золотом:  ’); 
 Readln(n); 
 Write(‘Введіть щорічний прибуток Чахлика:  ’); 
 Readln(m);   
 Write(‘Введіть “потреби” Василини Премудрої:  ’); 
 Readln(k); 
 Sum:=n;      {Початковий “капітал” Чахлика} 
 Years:=18;   {Початковий вік Василини} 
 While Sum<=k do 
  Begin 
    Sum:=Sum+m; 
    Years:=Years+1; 
  End; 
 Writeln(‘Василині вже виповнилося ’,Years,’ років.‘);   
 Readkey;	{Затримка зображення на екрані} 

End. Задача №3 Умова: На дверях ліфта висіло загрозливе попередження про те, що двері зачиняються самі в той самий момент, коли зайвий за вагою пасажир переступить поріг ліфта. Котрий пасажир постраждає, якщо ліфт витримує вагу не більше S кг, а вага пасажирів, що стоять у черзі до ліфта, дорівнює відповідно a1, a2, a3, … an? В цій задачі зручніше використовувати цикл с післяумовою, тому що спочатку необхідно дати можливість "ввійти" пасажиру в ліфт, а потім перевіряти, чи витримає його ліфт. Умовою виходу з циклу буде перевищення сумарної ваги пасажирів, що увійшли в ліфт, деякого заданого критичного значення. Для зберігання ваги чергового пасажиру в цій задачі ми будемо використовувати одну й ту саму змінну (А), так як після перевірки вага пасажира нас вже не цікавить. Program Example_179; Uses crt; Var N:word; {I – номер пасажира, що увійшов у

                  ліфт} 
   Sum,A,S:real; {Sum – сумарна вага пасажирів, що  
                  знаходяться в ліфті, A – вага  
                  чергового пасажира, що увійшов до  
                  ліфта, S – критична вага, що може  
                  бути піднята ліфтом} 

Begin

 Clrscr; 
 Sum:=0;     {На початку роботи програми в ліфті  
 N:=0;        немає пасажирів} 
 Write(‘Введіть критичну вагу, що піднімає ліфт:  ’); 
 Readln(S); 
 Repeat 
   Write(‘Введіть вагу чергового пасажира:  ’); 
    Readln(А); 
    Sum:=Sum+А; 
   N:=N+1; 
 Until Sum>S; 
 Writeln(‘Постраждає ’,N,’-й пасажир.’); 
 Readkey;	{Затримка зображення на екрані} 

End. Задача №4 Умова: Знайти значення (1 + 0.1)(2 + 0.2)...(9 + 0.9) В даному випадку, очевидною що кількість повторів буде дорівнювати 9, тобто результуюча програма буде мати вигляд: Program Example_189_2; Uses crt; Var I:word; {I – параметр циклу}

   Rez:real;     {Rez – результат обчислень} 

Begin

 Clrscr; 
 Rez:=1;    {Початкове значення дорівнює 1, тому що  
             результат являється накопиченням  
             добутку}      
 For I:=1 to 9 do  Rez:=Rez*(I+0.1*I); 
 Writeln(‘Rez= ’,Rez:8:2); 
 Readkey;	{Затримка зображення на екрані} 

End.

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

Розв’язати наступні задачі:

№1.

Дано ціле n. Визначити 1*3*5*7*…*(2n+1).

№2.

Капосний папуга навчився висмикувати у дідусі Василя волосся, яке ще залишилося у того на голові. Почавши з однієї волосини, він щодня збільшував порцію вдвічі. Через скільки днів дідусеві не знадобиться гребінець, якщо спочатку в нього на голові було аж N волосин?