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


Кушеккалиева Динара Нысанбайқызы
информатика пәнінің мұғалімі
Сабақтың тақырыбы: Паскаль тілінің REPEAT (қайталау) операторы.
Сабақтың мақсаты:
Білімділік: Оқушыларды циклдің түрлерімен таныстырып, оператордың жазылу ережесін түсіндіріп, циклдік алгоритмді программалауды үйрету. REPEAT қайталау операторы көмегімен программа құру, командаларының жазылу ретін, өрнектелуін үйрету.
Дамытушылық: Оқушылардың алған білімін практикада қолдана білуін, программа құруға, өз бетімен жұмыс істеуге дағдыландыру.
Тәрбиелілік: Оқушыларды ұқыптылыққа, тиянақтылыққа, жүйелілікке тәрбиелеу.
Сабақтың типі: Жаңа сабақты меңгерту
Сабақтың әдіс-тәсілі: Түсіндіру, сұрақ-жауап, есептер шығару
Сабақта қолданылатын көрнекі құралдар: компьютер, интерактивті тақта, флипчарт, Power Point –та дайындалған презентация-слайдтар, электронды тест, Паскаль АВС
Пән аралық байланыс: Математика, ағылшын тілі.
Күтілетін нәтиже: Repeat операторының қызметі, синтаксистік диаграммасын білу, циклдік алгоритмді программалауға үйрету.
Сабақтың барысы:
Ұйымдастыру кезеңі.
Психологиялық дайындық.
«Менің көңіл күйім» жаттығуы арқылы оқушылардың көңіл –күйін көтеру. Оқушыларға түсті таңдауды ұсынып, қызыл түс-шаттық, қызылсары-көңілді, сары-ашық, жағымды, жасыл-салмақты, көк-көңілсіз, күлгін –қобалжу, алаңдаушылық, қара-шаршағандық, әлсіздік, ақ-немқұрайлықты білдіреді.
Үй тапсырмасын сұрау.
а) «Цикл алаңы» ойны арқылы сұрақтар қою.
Циклді оператор дегеніміз не?
Әзірше қайталау операторы қалай орындалады?
While операторының синтаксистік диаграммасын жаз.
 While операторында шарт жалған болғанда не болады?
Шарт деген не?
Циклді оператордың неше түрі бар?
б) Үйге берілген есептерді тексеру.
Тапсырма№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:=100


m<1000


жок
иә
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 тг
Жаңа сабаққа есептер шығару.
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 операторын қолдана программа құру керек.
2a+44a+5 өрнегінің а=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.Қаламсаптарымызды қолымызға ұстап тұрып созамыз, қаламсаптың ұшынан төмен қарай, төменнен жоғары қарай 4-5 рет көз жүгіртеміз.
2. Өзіміздің мұрнымыздың ұшына 4-5 рет қараймыз.
3. Сағат тілі бағытымен және қарсы бағытта көзді 4-5 рет айналдырамыз.
4. Көзімізді оңға-солға, жоғары-төмен 4-5 рет қараймыз.
5. Өзіміз отырған бөлменін оң бұрышынан сол бұрышына, сол бұрышынан оң бұрышына 4-5 рет көз жүгіртеміз.
Сабақты бекіту. Электронды тест бағдарламасын орындау
Оқушылардың білімін бағалау.
Үйге тапсырма беру. §3,7 -128-133 бет