Паскаль тілінің REPEAT (қайталау) операторы

307

Сабақтың тақырыбы: Паскаль тілінің REPEAT (қайталау) операторы

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

Білімділік: Оқушыларды циклдің түрлерімен таныстырып, оператордың жазылу ережесін түсіндіріп, циклдік алгоритмді программалауды үйрету. REPEAT қайталау операторы көмегімен программа құру, командаларының жазылу ретін, өрнектелуін үйрету.

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

Тәрбиелілік: Оқушыларды ұқыптылыққа, тиянақтылыққа, жүйелілікке тәрбиелеу.

Сабақтың типі: Жаңа сабақты меңгерту

Сабақтың әдіс-тәсілі: Түсіндіру, сұрақ-жауап, есептер шығару

Сабақта қолданылатын көрнекі құралдар: компьютер, интерактивті тақта, флипчарт, Power Point –та дайындалған презентация-слайдтар, электронды тест, Паскаль АВС

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

Күтілетін нәтиже: Repeat операторының қызметі, синтаксистік диаграммасын білу, циклдік алгоритмді программалауға үйрету.

 

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

  1. Ұйымдастыру кезеңі.

Психологиялық дайындық.

«Менің көңіл күйім» жаттығуы арқылы оқушылардың көңіл –күйін көтеру. Оқушыларға түсті таңдауды ұсынып, қызыл түс-шаттық, қызылсары-көңілді, сары-ашық, жағымды, жасыл-салмақты, көк-көңілсіз, күлгін –қобалжу,  алаңдаушылық, қара-шаршағандық, әлсіздік, ақ-немқұрайлықты білдіреді.

  1. Үй тапсырмасын сұрау.

а) «Цикл алаңы» ойны арқылы сұрақтар қою.

  1. Циклді оператор дегеніміз не?
  2. Әзірше қайталау операторы қалай орындалады?
  3. While операторының синтаксистік диаграммасын жаз.
  4. While операторында шарт жалған болғанда не болады?
  5. Шарт деген не?
  6. Циклді оператордың неше түрі бар?

 

 

б) Үйге берілген есептерді тексеру.

Тапсырма№1:  Қатесін табыңыз:  1-ден n – ге дейінгі сандардың квадраттарының қосындысын табатын программа құру керек.

Program  kvadrat;

Var s,  i , n: integer;

Begin

WriteLn (‘ n = ’) ;

Readln (n);

I:=1; S:=0;

I:= i+1;

While i<=n do

S:=S + sqr (i);

Begin

WriteLn (‘ S=’ , S);

End;

End.

Program  kvadrat;

Var s,  i , n: integer;

Begin

WriteLn (‘ n = ’) ;

Readln (n);

I:=1;  S:=0;

While i<=n do

Begin

S:=S + sqr (i);

WriteLn (‘ S=’ , S);

I:= i+1;

End;

End.

№2 Мысал.  1 кг ірімшік 300 тг. тұрады. Ірімшіктің 100, 200, 300, …, 1000 граммына төленетін теңгені анықтайтын және есептің жауабын кесте түрінде шығаратын программа құру.   Қадам – 100 –ге тең.

Program esep3_3;

Var 

m: Integer;                     

z:real;                           

BEGIN

Цикл денесі

m:=100;

while       m<1000                

begin

z:=(300*m)/1000;            

WriteLn(m,  ‘  | ‘,z , ‘ тг.’);   

m:=m+100;

end;

END

Программа нәтижесі:

100       |  30 тг.

200       |  60 тг.

300    |  90 тг.

400    |  120 тг.

500  |  150 тг.

 

 

  • Жаңа сабақ

Бүгінгі сабақта қайталау операторының цикл тұлғасы шарттан бұрын орындауға мүмкіндік беретін Паскальдың жаңа операторымен танысамыз. REPEAT қайталау операторы  WHILE операторына ұқсас, айырмашылығы – қайталану шарты цикл соңында тексеріледі, екінші өзгешілігі – цикл тұлғасы шарт жалған болғанда қайталанып, ол ақиқат болған кезде циклді орындау доғарылады ( while операторында керсінше болатын).

 

 

БС.

WHILE (эзірше) операторы

басы
m, z
m<1000
m:=100

 

 

 

 

 

 

 

 

 
 

жок

и ә

z:=(300*m)/1000

 

 
 

m:=m+100
соңы
z

 

 

 

 

 

 

 

 

 

REPEAT  операторы

m, z
басы
m:=100

 

 

 

 

 

 

 
 

 

z:=(300*m)/1000

 

 

m:=m+100

 

 
жок

m>1000

 

 

иә

z

 

 

 

 

 

соңы

 

 Бүгінгі күнді жазып, жаңа ұғымдармен танысайық: REPEAT (оқылуы: репит, қайталау болып аударылады) және UNTIL (оқылуы:антил, дейін, шейін болып аударылады) түйінді сөздері. Осы түйінді сөздер арқылы операторды жазамыз.

REPEAT қайталау операторының синтаксистік диаграммасы:

 

repeat
оператор
until
;
шарт

 

 

 

 

Бұл жерде операторлар REPEAT  және UNTIL сөздерінің арасына орналасатындықтан, мұнда Begin және End сөздері жазылмайды.

REPEAT операторының циклі ішінде оның орындалу шартына әсер ететін кем дегенде бір оператор болуы тиіс, әйтпесе ол шексіз қайталана беруі мүмкін. Егер қайталау кезінде цикл ішінде көшу операторы болып, ол басқаруды цикл сыртындағы операторға берсе, онда циклдің орындалуы әрі қарай жалғаспайды. Цикл тұлғасы болып келген опертор жай немесе құрама опертор бола береді. Бұл оперторды да WHILE оперторын пайдаланған есептерде қолдануға болады, қай оперторды қолдану әркімнің өз еркіне байланысты шешіледі. WHILE оперторы көмегімен шығарылған есепті енді REPEAT операторымен шығарайық.

Program esep3;

Var     m: Integer;                              

           z:real;                                      

BEGIN

m:=100;

 

while       m<1000  do              

begin

z:=(300*m)/1000;                   

WriteLn(m,  ‘  | ‘,z , ‘ тг.’);   

m:=m+100;

end;

END.

 

Программа нэтижесі:

100     |  30 тг.

200     |  60 тг.

300     |  90 тг.

400     |  120 тг.

500     |  150 тг

Program esep4;

Var     m: іnteger;                             

           z:real;                                      

BEGIN

m:=100;

 

  REPEAT

 

z:=(300*m)/1000;                   

WriteLn(m,  ‘  | ‘,z , ‘ тг.’);   

m:=m+100;

until  m>1000               

END.

 

Программа нэтижесі:

100       |  30 тг.

200       |  60 тг.

300       |  90 тг.

400       |  120 тг.

500       |  150 тг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Жаңа сабаққа есептер шығару.

3 түрлі тапсырма беріледі, № 1 тапсырма while операторы түрінде берілген есепті REPEAT операторымен жазу. №2, №3 оқушылардың мүмкіндігіне қарай REPEAT операторы түрінде программа құру.

№1 тапсырма.  1, 3, 5, …, 15 сандары квадраттарының қосындысын есептеу. While  операторы түрінде берілген есепті REPEAT операторымен жазу.

while операторы repeat операторы
program kosyndy;

var x,y,s:integer;

begin                                                                      

x:=1; s:=0;

while x<=15 do

begin            

y:=sqr(x);

s:=s+y;

x:=x+2;

end;

writeln (‘s=’,s);

end.

program kosyndy;

var x,y,s:integer;

begin                                                                      

x:=1;

s:=0;

repeat

y:=sqr(x);

s:=s+y;

writeln (‘s=’,s);

x:=x+2;

until x>15;

end.

 

№2 тапсырма. Берілген есепті есептеу алгоритмін және  repeat операторын қолдана программа құру керек.

1-20 дюйм  аралығын сантиметрге түрлендіріңдер (1 дюйм=2,54 см).

 

алгоритмі repeat операторы
Алг.  Esep2;

Арг  i-дюйм,

 

Нәтижесі  а-см,

 

Формуласы

a:=i*2.54

Шарты   i>20.

 

 

 

 

 

Program  esep2;

Var    i: Integer;                              

          a:real;                                      

BEGIN

i:=1;

  REPEAT

a:=i*2.54;                   

WriteLn(i,  ‘ дюйм ‘, a, ‘ см.‘);   

i:=i+1;

until  i>20;

end.               

 

№3 тапсырма. Берілген есепті есептеу алгоритмін және  repeat операторын қолдана программа құру керек.

өрнегінің а=1, 2, …,100 болғандағы мәндер кестесін жасатын программа құрыңдар.

алгоритмі repeat операторы
Алг.esep3

Арг  a

 

Нәтижесі  y

 

Формуласы  

a:=1

y:=(2*a+4)/(4*a+5)

 

Шарты  a>100

 

 

Program  esep3;

Var

a: Integer;

y: real;

BEGIN

a:=1;

  REPEAT

y:=(2*a+4)/(4*a+5);

WriteLn (‘a=’, a, ‘  ‘, ‘y=’, y:5:2);

a:=a+1;

until  a>100;

end.

 

 

  1. Көз жаттығулары.

1.Қаламсаптарымызды қолымызға ұстап тұрып созамыз, қаламсаптың ұшынан төмен қарай, төменнен жоғары қарай 4-5 рет көз жүгіртеміз.

  1. Өзіміздің мұрнымыздың ұшына 4-5 рет қараймыз.
  2. Сағат тілі бағытымен және қарсы бағытта көзді 4-5 рет айналдырамыз.
  3. Көзімізді оңға-солға, жоғары-төмен 4-5 рет қараймыз.
  4. Өзіміз отырған бөлменін оң бұрышынан сол бұрышына, сол бұрышынан оң бұрышына 4-5 рет көз жүгіртеміз.

 

  1. Сабақты бекіту. Электронды тест бағдарламасын орындау

 

  • Оқушылардың білімін бағалау.
  • Үйге тапсырма беру. §3,7 -128-133 бет

(148 бет №2 тапсырма (а,ә) , № 6 repeat операторына программа кұру. )