Repeat – Until қайталау опрераторы

37
№16-17 Сабақтың 9- СЫНЫП.

02.02.09

І тақырыбы: Repeat – Until қайталау опрераторы

(2 сағ)

мақсаттары: 1. Дейін-қайталау командаларын Паскаль опреторында программалауды үйрену, пысықтау. CHAR, STRING, LENGT қызметші сөздерімен және олардың атқаратын қызметтерімен қажеттілік туғыза отырып алдын-ала танысу.

2. Программаны ықшам, сапалы жазу дағдысын қалыптастыру. Программаның математикалық моделі туралы түсініктерін тереңдеу.

3. Программа мәтінін экранға және дәптерге жазудың эстетикасын сақтауды ескеру.

көрнекілігі: Паскаль редакторы – Паскал АВС, дейін-қайталау операторнының блок-схемасы, Паскаль тілі бойынша компютерлік тестілеу программасы. Көкпен жазылғандарды оқушылар дәптерлеріне жазып алады. Ол жазуларды плифшартқа қоюға болады.
түрі: Теориялық сабақ, гуманитарлық бағыт.
ІІ барысы:

(3 мин)

 

 

 

 

 

(20 мин)

 

 

 

 

 

 

 

 

Жаңа сабақпен байланыс-тыру

Ұйымдастыру.

  1. Оқушыларды түгелдеу, журнал толтыру, оқушылардың дәптерлерін, оқулықтарын қарап шығу.
  2. Сынып, тақта, парта  тазалығын қарап шығу, қажет болса ескертулер жасау.
  3. Оқушылардың назарын сабаққа аудару.
ІІІ Үй тапсырмасымен жұмыс.

1. Үй жұмысының орындалуын тексеру, есепке алу (Есеп №2ә)

Үй жұмысы орындалған, бірақ дұрыс емес — 1 ұпай,

                                                жартылай дұрыс — 2

                                                толық дұрыс       —  3

                                                 жоқ                     —  0

2. Қысқаша сұрақ-жауап. (1-2 ұп)

·         Қайталау операторы не үшін қолданылады?

·         Әзір қайталау операторы қалай орындалады

·         Қайталау параметрі деген не?

·         Шарт деген не? Серия деген не?

·         ҚО Паскаль тілінде қалай жазылады? Әр қызметші сөздің қазақша мағанасы қандай?

·         Шартты тексермей тұрып серияны орындауға болама? Неге?

Журналдағы тізім бойынша әр оқушы бір сұраққа жауап береді. Сұрақтар бітіп қалғанда басынан бастап қайтадан қойыла береді. Әр қайталанған сайын сұрақтар күрделене береді. Бір дұрыс жауапқа бір ұпай.

 

 

IV Жаңа сабақ

Лекция мазмұны.

(20 мин)

1.  Бүгінгі сабақта қайталау операторының денесін (тұлғасын/сериясын) шарттан бұрын орындауға мүмкіндік беретін Паскальдың жаңа операторы мен танысамыз.

Жазылу түрі:

repeat

<серия >;

UNTIL  <шарт>;

repeat–until операторының While – do-ға қарағанда үш айырмашылығы бар. 1.  шарт циклдан бұрын тексеріледі, сондықтан серия кем дегенде бір рет атқарылады. 2. Repeat операторында шарт ақиқат (иә)  болғанда қайталау (цикл) аяқталады. 3.  Repeat операторында қайталау соңы шартпен аяқталады.

ЕСЕП: Берілген сөйлемде орысша  «а» әрібі қанша рет кездесетінін табатын программа жазайық.

Бұл мақсатқа жету үшін сөзде қанша әріп бар, «а» әрбін қалай белгілейміз, соны анықтап алайық. Алдымен есепте кездестін шамаларды айқындайық. Есепті шешу үшін не белгілі деп ойлайсыңдар? «а»  әрібі, сөйлем, сөйлемнің ұзындығы. Паскалда тамаша мүмкіндіктер бар. Әріпті жеке таңба деп қарасақ оның типін CHAR қызметші сөзімен көрсетуге болады. Мысалы: аа:char; Сөйлемнің өзін де типі STRING болатын айнымалымен белгілейміз. String –типімен көрсетілген сөйлемде (жолда) 1-ден 256-ға дейін таңба бола алады. Сөйлемдегі таңбалар солдан оңға қарай 0-ден 255-ке дейін нөмірленеді. Әр таңбаға бір нөмір сәйкес келеді. Мысалы: аа:=’Информатика’; ,болса,  aa[3]=ф,  aa[7]=а, aa[11]=а болады.  Енді сөздің ұзындығын ше?  Яғни, тағы бір қызметші сөз қажеттігі көрініп тұр. Сөйлемде, кез-келген таңбалар тізбегінде қанша таңба бар екенін LENGTH(zz) қызметші сөзі көмегімен анықтауға болады. Мұндағы zz – таңбалар тізбегі немесе сөйлем. Сонымен мысалда келтірілген есепті шешу үшін қажет нәрсенің бәрі бізде бар.

Есептің математикалық моделіндегі бірінші сұраққа жауап беріп қойдық.

  1. Не белгілі «а» әрібі, сөйлем zz-жолдық, сөйлемнің ұзындығы n – бүтін сан
  2. Не табу керек? «а» әріптерінің саны s– бүтін сан.
  3. Қалай есептейміз;

Сөйлемді енгіземіз zz;

–мәнін енгіземіз, қайталау параметрі i:=1; а-лар саны  s:=0;

n:=сөйлем ұзындығы;

қайталау

егер zz[i]=’a’ онда s:=s+1;

i:=i+1;

жоқ  і > n    иә

 

Программа мәтіні:

program sanau_repeat;

var s, i, n:integer;

      zz:string;

begin

s:=0; i:=2;

write(‘Сөйлем енгіз ‘);

read(zz);  n:=length(zz);

s:=0; i:=1;

repeat

  if zz[i]=’а’ then s:=s+1; write(‘ ‘,zz[i]);

  i:=i+1;

  until i>n;

writeln(‘а саны =’,s);

end.

V Сынып жұмысы

(20 мин)

А. Осы программаны компьютерде теріп орындаңдар, (5 ұп)

В. Осы прогмамманы сөйлемдегі «б» (с, е…, әркімге әртүрлі) әрібін санайтындай етіп өзгертіп, компьютерде орындаңдар. (10ұп)

С. REPEAT-UNTIL көмегімен оқулықтан №11 есептің (103) программасын жазыңдар. Бүтін М (100<=M<=200) санына дейінгі жұп сандар мен тақ сандардың қосындысын жеке есептеп, нәтижелерін экранға шығаратын программа жазып, компьютерде орындаңыз. (15 ұп)

Нұсқау: Қателерін тексеріп, түрлі мән беріп бірнеше рет орындаңдар, файлды сыныптарыңның «9 сын» папкасына өз фамилияларың мен есеп нөмірін файл аты етіп сақтаңдар.

Бағалау:

Компютерлік тестілеу

(10 мин)

Қосымша ұпайлар:    белсенділік – 2 ұп,    оқу-құралдары (кітап, дәптер, қалам) толық – 1 ұп,  тәртібі – 2 ұп

1 дұрыс жауап 1 ұп. Барлығы – 10 ұп.

40-50 үп   — «5»    20-39 ұп  — «4»    3 – 19 ұп – «3»    … – 0-2 – «2»

VІІ Үйге тапсырма

(3 мин)

Оқулықтан 3.7 (93-95 бет)

Есеп №2ә, программасын repeat-until көмегімен жазып келу, мүмкін болса дискіге жазып келу.

 

Оқушының бағалау парағы:

Ұйымдастыру Оқулық  бар – 1 ұп, жоқ -0
Дәптер   бар – 1 ұп, жоқ -0
Қалам    бар – 1 ұп, жоқ -0
Үй жұмысы Үй жұмысы

Бар, бірақ

дұрыс емес -1

жартылай дұрыс — 2                       толық дұрыс       —  3

жоқ                     —  0

Сұрақ-жауап Бір дұрыс – 1 ұп
Жаңа сабақ / сұрақ-жауап Бір дұрыс – 1 ұп
Сынып жұмысы

А-нұсқа

В

С

мұғалім бағалайды

5 ұп

10 ұп

15 ұп

белсенділік 2 ұп /мұғалім қояды/
тәртіп-мәдениеттілік 2 ұп /мұғалім қояды/
Жалпы жинаған ұпайы  

 

 

 

27

 

 

Сабақтың

9- СЫНЫП.
І тақырыбы: FOR –DO, FOR –DOWNTO қайталау операторы (1 сағ)
мақсаттары: 1. FOR –DO опреторы көмегімен программалауды үйрену.

2. Программаны ықшам, сапалы жазу дағдысын қалыптастыру. Программаның математикалық моделі туралы түсініктерін тереңдеу.

3. Программа мәтінін экранға және дәптерге жазудың эстетикасын сақтауды ескеру.

көрнекілігі: Паскаль редакторы – Паскал АВС, қайталау операторнының блок-схемасы.
түрі: Теориялық сабақ.
ІІ барысы:

(3 мин)

 

 

 

 

 

(10 мин)

 

 

 

 

 

 

 

 

 

Ұйымдастыру.

  1. Оқушыларды түгелдеу, журнал толтыру, оқушылардың дәптерлерін, оқулықтарын қарап шығу.
  2. Сынып, тақта, парта  тазалығын қарап шығу, қажет болса ескертулер жасау.
  3. Оқушылардың назарын сабаққа аудару.
ІІІ Үй тапсырмасымен жұмыс.

1. Үй жұмысының орындалуын тексеру, есепке алу (Есеп №2ә repeat-until көмегімен жазып келу)

Үй жұмысы орындалған, бірақ дұрыс емес — 1 ұпай,

                                                жартылай дұрыс — 2

                                                толық дұрыс       —  3

                                                 жоқ                     —  0

2. Қысқаша сұрақ-жауап. (1-2 ұп)

·         Әзір-қайталау операторы не үшін қолданылады?

·         Дейі- қайталау операторы қалай орындалады?

·         Қайталау параметрі деген не?

·         Repeat – Until –дің While – do –ден қандай айырмашылығы бар?

·         Бұл оперторларда циклдің қайталану саны белгілі ме? (жоқ)

·         Қайталанатын процес саны алдын ала белігі болған жағдайда не істеуге болады?

Журналдағы тізім бойынша әр оқушы бір сұраққа жауап береді. Сұрақтар бітіп қалғанда басынан бастап қайтадан қойыла береді. Әр қайталанған сайын сұрақтар күрделене береді. Бір дұрыс жауапқа бір ұпай.

IV Жаңа сабақ

Лекция

(10 мин)

1.  Қайталау саны алдын-ала белгілі болған жағдайда For – Do және For – Downto операторларын қолданған ыңғайлы. Жазылу түрі:

For <цикл параметрі>=<алғашқы мән> to <соңғы мән> do

begin;

<серия>;

end;

For <цикл параметрі>=<соңғы мән > to < алғашқы мән >  downto

begin;

серия;

end;

 

 

V Сынып жұмысы

(20 мин)

2. ЕСЕП: Сөйлем сөздерден тұратыны белгілі. Клавиатурадан енгізілген сөйлемдегі ең ұзын сөзді және оның қанша таңбасы бар екенін анықтайтын программа жазыңыз:

МАТЕМАТИКАЛЫҚ модел:

Не белгілі?

Цикл параметрі і –типі бүтін сан, сөйлем– типі жолдық, ең ұзын сөз

mr — типі жолдық, – ең ұзын сөздегі әріптер (таңбалар) саны –типі бүтін сан.

Не істеу керек?

mr, шамаларының мәндерін анықтау;

Қалай есептейміз?

бастапқы мәліметтерді енгіземіз s, бастапқы мәндерді меншіктейміз m=0,

Қайталау парамтерi i 1-бастап сөйлем ұзындығына дейін өзгереді. Әр қайталау сайын кезекті таңбаны s[i] аралық шамаға жинақтаймыз, әрі оның бос орынға (пробелге) тең емес екенін тексереміз. Бос орын кездессе r –шамасына сөйлемнің бір сөзі жинақталғанын білеміз. Оның әріптер санын алдынғы сөздің әріптер санымен салыстырамыз да, қайсысында таңба көп болса сол сөзді mr және оның таңбалар санын m сақтап қаламыз.

program uzynsoz;

var i,m: integer;

mr,s,r: string;

begin

  writeln(‘Бірнеше сөзден тұратын сөйлем енгізіңіз ‘);

  read(s); m:=0;

   for i:=1 to length(s) do

   begin

r:=r+s[i];

  if s[i]=’ ‘ then r:=»;

 if m<length(r) then begin m:=length(r); mr:=r;end;

end;

writeln(‘Ең ұзын сөз: ‘,mr);

writeln(‘Оның ‘,m,’ таңбасы бар’);

end.

 

Үйге тапсырма

(2 мин)

Оқулықтан 3.7 (96-99 бет)

Есеп №12, программа жазып келу.