Параметрлі цикл oператоры

Тақырыбы Параметрлі цикл oператоры

Сабақтың мақсаты:

білімділік: Оқушыларға параметрі бар қайталану командасының арналу міндетін  және программалау тілінде  жазылу пішінін кең ауқымды түрде жазудың құралы ретінде көрсету. Есептерге  параметрі бар қайталану командасын қолдана білу  дағдысын қалыптастыру.

дамытушылық:   бағдарлама құру дағдысын, өзін – өзі бақылау, танымдық қызығушылығын дамыту.

тәрбиелік:   өз еңбегінің нәтижесіне ұқыптылыққа, жауапкершілікке тәрбиелеу;

 

Құралдар:  Дербес компьютерлер, мультимедиялық проектор, экран, тақта.

Әдістемелік және бағдарламалық қамсыздандыру: Turbo Pascal 7.0, PowerPoint, «Параметрлі цикл oператоры» презентациясы, бағалау парағы, тест сұрақтары.

Әдістері: талдау, сұрақ- жауап, проблема қою,  зерттеу.

Сабақ типі: жаңа сабақ.

Пәнаралық байланыс: математика, ағылшын тілі.

Сабақ жоспары.

  1. Ұйымдастыру сәті.
  2. Үй тапсырмасын тест арқылы тексеру.
  3. Білімнің маңыздылығы. Проблемалық жағдаят туғызу.
  4. Жаңа тақырып түсіндіру
  5. Компьютерде тапсырманы өз бетімен орындау.
  6. Сабақты бекіту.
  7. Қорытындылау, үйге тапсырма.

 

  1. Үй тапсырмасын тексеруге арналған тест сұрақтары:
1. Алгоритм

А) әрекеттерді орындауға  нұсқаулар*

Б) нөмірлеген әрекеттер жиыны

В) есептеулердің орындалуы

 

2. Егер z:=(x/5+y)*4 және х=5, y=10 болса, онда z-тың мәні неге тең?

А) 40     Б) 42      В) 44*

 

3. Алгоритм термині қандай атақты математик атымен аталған?

А) Джон Фон Нейман

Б) Чарльз Беббидж

В) Мухаммед аль – Хорезм*

 

4. Тармақталған алгоритм

А) машиналық кодтағы алгоритм

Б) бірінен соң бірі орындалатын әрекеттер

В) бір немесе бірнеше логикалық шарттары бар алгоритм*

 

5. Блок – схемада тіктөртбұрыш нені білдіреді?

А) алгоритмнің басы, аяғы

Б) мәліметтерді енгізу – шығару

В) командалардың орындалуы*

 

6. Егер m — нақты сан болса, онда

m+1 өрнегінің мәні қандай болады?

А) real*   Б) integer   В) boolean

 

7. Паскаль тіліндегі айнымалылар бөлімі

А) label      Б) var*     В) type

 

8. Егер х:=0, х:=х+1, х:=х*х болса, онда х-тың мәні неге тең?

А) 0     Б) 1*      В) 2

 

9.          a := 4; b := 6;

while a < b do a := a + 1;

А)  2 рет, a = 6*

Б)  3 рет,  a = 4

В)  1 ретте орындалмайды.

 

10. Егер y — бүтін сан болса,  онда x:=1.2*y  өрнегінің мәні айныма-лылардың қандай типіне жатады?

 

А) real*     Б) integer      В) char

 

  1. Алынған білімнің маңыздылығы. Проблемалық жағдаят туғызу.

 

Цикл  ұғымы, оның түрлері туралы алдыңғы сабағымызда қарастырылды.

Цикл – белгілі бір әрекеттер тізбегінің бірнеше рет қайталанып орындалуы.

  • қайталану саны алдын-ала белгілі цикл
  • қайталану саны алдын-ала  белгісіз цикл (шартты циклдер)

Есеп. 1-ден 8-ге дейінгі бүтін сандардың квадраттары мен кубтарын есептеп шығару .   (a-дан b-ға дейін).

Ерекшелігі: бірдей амалдар 8 рет орындалады.

  1. 4. Жаңа тақырып түсіндіру.

Қайталану саны алдын-ала белгілі болған кезде  for операторы қолданылады. Бұл оператор параметрлі цикл операторы деп те аталады, себебі қайталау саны функция аргументі (айнымалы) сияқты циклдің параметрі қызметін атқаратын басқару айнымалысы арқылы беріледі.

       

        Параметр өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында  циклге кіретін бір немесе бірнеше операторды қайталап орындауды атқарады. Оператор For сөзінен басталатын тақырыбынан және цикл тұлғасынан тұрады.

Алгоритмдік тілде:

үшін Х  бастап  Хбас  дейін  Хсоң  қадам  Хқад

  цб

цикл денесі

  цс

Егер қадамның мәні 1-ге тең болса, онда қадам қызметші сөзін жазбауға болады.

Паскаль тілінде:

 1/  for X:=Xбас  to  Xсоң do                        қадам   X = 1-ге тең

      begin

цикл денесі

      end;

 2/  for X:=Xбас  downto Xсоң do                 қадам  X = -1-ге тең

      begin

цикл денесі

      end;

мұндағы    Xбас , Xсоңцикл параметрінің бастапқы және соңғы мәндерін

анықтайтын өрнектер;

for …  do  — цикл тақырыбын анықтайтын түйінді сөздер;        

for – үшін, to —  дейін , do – орындау, downto – кері қарай деген мағынаны береді.

 

Осы бойынша есептің программасын құрамыз:

   program qq;

   var i, i2, i3: integer;

   begin

 

 

 

    

          for i:=1 to 8 do begin

          i2 := i*i;

          i3 := i2*i;

         writeln(i:4, i2:4, i3:4);

         end;

 

   end.

 

Айнымалысы кеміп отыратын цикл үшін

Есеп. 8-ден 1-ге дейінгі бүтін сандардың квадраттары мен кубтарын есептеп шығару. (кері қарай есептеу).

Ерекшелігі: цикл айнымалысы кеміп отыруы керек.

Шығарылуы: 

 

 

 

 

Ерекшеліктері:

  • цикл айнымалысының мәні бүтін немесе символдық типті болуы керек (integer,char немесе longint)
  • цикл айнымалысының өзгеру қадамы қашанда 1-ге (to) немесе -1-ге (downto) тең
  • егер цикл денесінде бір ғана оператор болса, begin мен end сөздерін жазбай кетуге болады:

 

 

  • егер соңғы мән алғашқы мәннен кіші болса, (to) циклы бірде бір рет орындалмайды (шартты циклдың басында тексеру, шартты алдын ала тексеретін цикл)
  • Цикл денесінде цикл айнымалысын өзгертуге рұқсат етілмейді (неліктен?)
  • Алғашқы және соңғы мәндер өзгертілгенімен цикл ішіндегі қадамдар саны өзгермейді:

n := 8;

for i:=1 to n do begin

writeln(‘Салем’);

n := n + 1;

end;

 

Жаңа тақырыпты пысықтау. Айнымалысы бар цикл. Слай №   бойынша.

Бекіту тапсырмалары:

№1 тапсырма. Цикл неше рет орындалған?

№2 тапсырма. Қадамдарды қалай өзгертуге болады?

№3 тапсырма. Программаның үзіндісін орындау нәтижесін анықтаңдар,

цикл неше рет қайталанады(компьютерсіз)?:
                                       begin

                                                s:= 0;

                                                for i:= -4 to  1 do

                                                          s:=s+i;

                                                writeln (s);

                                       end.                                        Жауабы: 6 рет. -9

 

 

  1. Компьютерде тапсырманы өз бетімен орындау.

 

№4 тапсырма.  n-ші мүшесінің формуласымен берілген  Хп=n2+5 тізбегінің

алғашқы он мүшесін есептеу программасын құрыңдар.

 

№5 тапсырма.  n! санының факториалын есептеу.

program z21;                   Мысал: 5!=1*2*3*4*5

7!=1*2*3*4*5*6*7 }

var f,n,i : integer;

begin

write(‘n=’);readln(n);

f:=1;

for i:=1 to n do f:=f*i;

write(‘f=’,f);

readln;

end.

 

  1. Сабақты бекітуге арналған тест сұрақтары:

 

1. Параметрдің алғашқы, ақырғы мәндерін және қадам мәнін белгілейтін оператор.

А) for*    Б) repeat    В) while

 

2. Программа бөлігіндегі m-нің мәнін анықтаңдар.

m:=0;

While m<3 do

m:=m+1;

А) 3*        Б) 4        В) 2

 

 

3. for I:=2 downto 0 do writeln (j);

Берілген программа бөлігі қандай қызмет атқарады?

А) экранға 0-ден 2-ге дейінгі сандарды шығарады

Б) экранға 2-ден бастап барлық сандарды шығарады

В) экранға 2-ден 0-ге дейінгі сандарды шығарады*

 

          4.  Тек 5 санды ғана шығару керек, k айнымалысы 1-ден 5-ке дейін өзгереді. i-дің бастапқы мәні 1-ге тең, циклдың әр қадамы сайын i  2-ге артып отырады. Шығарылуы:       ???

for k:=1 to 5 do begin

i2 := i*i;

i3 := i2*i;

writeln(i:4, i2:4, i3:4);

???

end;

А)  i := 1; i := i + 2*;

Б)  i := 0; i := i + 1;

В)  i := 1; i := i + 0;

5. Паскаль  тіліндегі символдық берілгендер  типінің жазылуы.

А) char*   Б) integer  В) string

 

       6. Қай алгоритмдер бір және   бірнеше әрекеттерді қайталайды?

А) тізбектелген

Б) циклдік*

В) тармақталған

 7. Программа үзіндісінің орындалу нәтижесін (компью-терсіз) анықтау керек:

р:=0;

for x:=6 to 10 do

р := р+х;

writeln(‘р=’, р);

А) 10       Б) 30        В)40*

  8.  Программа үзіндісінің орындалу нәтижесін (компью-терсіз) анықтау керек:

s:=1;

for x:=2 to 6 do

s := s+х;

writeln(‘s=’, s);

А) 20    Б) 21*      В) 25

9. Берілген программадан  i-дің типін анықтау

Var   i:  ??? ;

begin

for i:=’а’ to ’z’ do

writeln(‘_‘, i);

end.

 

А)integer  Б)char*   В)real

10. begin мен end сөздерін қай кезде жазбай кетуге болады?

А) егер цикл денесінде бірнеше оператор   болса,

Б) оператор орындалмайтын болса

В) егер цикл денесінде бір ғана оператор  болса*

 

 

  1. Қорытындылау, үйге тапсырма.

   Оқушыларды бағалау /бағалау парағы бойынша/.

Бағалау парағы.

 

Аты-жөні

Үй тапсырмасыСабаққа белсен-ділігіТест

жұмысы

Практикалық тапсырма орындауыҚорытынды баға
1
2
3
4
5
6
7
8
9

 

Үйге тапсырма. Параметрлі цикл oператоры.

 

File  Edit  Search  Run  Compile  Debug  Tools  Options  Window  Help

────────────────────────────1─────┐

│program ee;

│var i,i2,i3:INTEGER;

│begin

│   i:=1;

│   while i<=8 do

│   begin

│   i2:=i*i;

│   i3:=i2*i;

│   writeln(‘i=’,i,’  ‘,’i2=’,i2,’  ‘,’i3=’,i3);

│   i:=i+1;

│   end;

│end.

═════════════════════════════2═[↑]═╗

║i=1  i2=1  i3=1

║i=2  i2=4  i3=8

║i=3  i2=9  i3=27

║i=4  i2=16  i3=64

║i=5  i2=25  i3=125

║i=6  i2=36  i3=216

║i=7  i2=49  i3=343

║i=8  i2=64  i3=512

╚═◄■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒►─┘