Repeat – Until қайталау опрераторына программа жазу, таңба типі, сөз ұзындығы

45
№17 Сабақтың 9- СЫНЫП.
І тақырыбы: Repeat – Until қайталау опрераторына программа жазу, таңба типі, сөз ұзындығы (1 сағ)
мақсаттары: 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 ұп /мұғалім қояды/
Жалпы жинаған ұпайы