Жиымдар. Паскаль тіліндегі жиымдар

133
№22 23 24 Сабақтың 9- СЫНЫП.
І тақырыбы: Жиымдар. Паскаль тіліндегі жиымдар (3 сағ)
мақсаттары: 1. Кестелік шамалар, алгоритмдегі кестелік шамаларды Паскалда программалау жолы мен әдісдері туралы түсінік қалыптастыру. ARRAY опреторы арқылы программалауды үйрену, пысықтау. Бір және екіөлшемді жиымдар туралы ұғым қалыптастыру.

2. Программаны математикалық модел құру арқылы сапалы жазу дағдысын қалыптастыру. Жиым элементі, элементті берілген қасиеті бойынша іздеу, сұрыптау туралы түсініктер қалыптастыру. Есептерге программалар жазып компьютерде орныдау.

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

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

(3 мин)

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

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

(20 мин)

1-сабақ лекция.

Кестелер

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

Натурал сандар тізімі  1,2,3,…,N    жазылуы    N[1..N]

Нақты сандар     2, 3.5,  -7,11, 0, 91,  0,  9,  -75,  0,…,0.005        NC[1..N]

Оқу орындары    мектеп, лицей, колледж, университет,…, магистратура ok[1..n]

Бұл мысалдарда тізімде кілең біртекті элементтер жазылған. Асты сызылған сөздер тізбектік атауларын береді. Атауды латын әрптер тізбегімен де көрсетуге болады.

Сонымен,   Жиым деп белгілі атауы бар, біртекті элементтерден тұратын кестені айтады. Нақты сандар кестесін қарастырайық.

i 1 2 3 4 5 6 7 8 9 10
nc[i] 2 3.5 -7.11 0 91 -75 0 0.05 8.8 -9.81

мұндағы nc[i] –жиым элементі, і – жиым элементерінің реттік нөмірі, оны индекс деп те атайды.

Мысалы: nc[3] =>3.5,  nc[4..6] =>{0, 91, -75}

Кестенің екі түрі бар:

Сызытық кесте – элементтері бірінен кейін-бірі (жол бойында) немесе бір-бірінің астына (баған бойына) орналасады. (математикадағы прогрессиялар, оқушылар тізімі…)

Тік төртбұрышты кесте– элементтері баған мен жолдың қилысында ұяшықтарда орналасады. (көбейту кестесі, сабақ кестесі…)

Біз әзірге сызықтық кесте элементтерін программалап үйренеміз.

Паскал тіліндегі жиымдар.

Жиымның негізгі параметрлері мыналар: типі (сандық, символдық, логикалық), өлшемі (бірөлшемді, екіөлшемді …) және көлемі (жиымдағы элементтердің саны).

Бірөлшемді жиымды Паскалда былай жазады:

<atay> : array [1..n] of <элемент типі>

Мұндағы: <atay> — жиым (кесте) атауы,  1 алғашқы элемент нөмірі, n- ақырғы элемент нөмірі, <элемент типі>-integer, real немесе string…болатын элемент типі,   array- (жиым) операторды белгілеуге арналған Паскалдың қызметші сөзі.

 

IV Сабақты бекіту

(10 мин)

Жетелеу: 7 оң санба теріс сан ба?,  -9 оң санба теріс сан ба?, 5,5 оң санба теріс сан ба?, х оң санба теріс сан ба?

Есеп. 10 элементтен тұратын нақты сандардың жиымы берілген. (Кестеге қараңдар). Осы кестеде қанша оң сан бар екенін анықтайтын программа жазыңыз.

Математикалық модель.

1. Не белгілі?  элемент нөмірі белігілі і- бүтін сан,

кесте белгілі nc[1..10] — типі нақты.

2. Не істеу керек?   Оң сандар санын табу  s — бүтін сан.

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

Алдымен кесте элементтерін for операторы көмегімен енгіземіз. Тағы да сол оператор көмегімен барлық элементтердің оң екендігін тексереміз.

Сонымен i=1 … 10 дейін өзгереді  кесте элементтерін енгіземіз

Тағыда i=1 … 10 дейін өзгереді, әр жолы егер nc[i]>0 болса s мәнін 1-ге арттырып отырамыз.

Нәтижені экранға шығарамыз. Сонда Pascal ABC-тегі программамыз былай болып шығады.

program keste01_54;

var nc:array[1..50] of real;

i,s:integer;

begin

s:=0;

write(‘арасын бөліп 10 нақты сан енгіз ‘);

for i:=1 to 10 do

read(nc[i]);

for i:=1 to 10 do

   if nc[i]>0 then s:=s+1;

writeln;

writeln(‘Кестеде ‘,s,’ оң сан бар’);

end.

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

(10 мин)

Тапсырмаларды дәптерге орындаңдар;

Жоғарыдағы программаны жиымдағы

№1. теріс элементтердің санын шығаратындай;

№2. 0-дерді санап шығатындай;

№3. оң сандардың қосындысын есептейтіндей;

№4. теріс сандардың қосындысын есептейтіндей етіп өзгертіңіз.

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

5 мин.

Оқу: лекция бойынша, оқулықтан 125-127 беттер. №1 есеп 133 бет.

 

 

 

2-сабақ.  Программалауға машықтану.
IІІ Үй тапсырмасымен жұмыс

10 мин.

1. Үй жұмысының орындалуын тексеру, есепке алу

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

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

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

                                                 жоқ                     —  0

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

·         Жиым дегеніміз не?

·         Жиым параметрлеріне сипаттама бер.

·         Жиымға мысалдар келтір (сандық, символдық, жолдық).

·         Кестелердің қандай түрлері бар, мысал келтір.

·         МЕКТЕП жиымында қандай біртекті элементтер болуы мүмкін?(оқушы, ұстаз, кіпхана, кітап,…)

·         АСПАН жиымында қандай біртекті элементтер болуы мүмкін

·         Паскаль тілінде жиымдар қалай жазылады. Сипаттама бер.

·         Қайталау параметрі деген не? (қайталау санын көрсететін, әр қайталау сайын 1-ге артып отыратын натурла типті шама)

·         Шарт деген не?  (жауабы «иә» немесе «жоқ» болатын ұйғарым)

·         Үй тапсырмасының әр жолын талдап шық.

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

IV Жаңа сабақ 10 мин. Бірөлшемді жиым.

Компьютерде атқарылатын өңдеу жұмыстарының 90% қасиеттері бойынша сұрыптау әрекеттерінен тұрады деседе болады. Қарапайым сұрыптауға жиымның ең үлкен нмесе ең кіші элементін табу программалары жатады.

Бұл программалардың идеясын анықтап көрелік.

-Массасы әртүрлі бір топ темір шарлардың ең ауырын қостабақты тараз көмегімен гирлерсіз қалай анықтауға болады? (Тараздың екі табақшасына екі шар саламыз. Жеңілін қалғанына қоспай бөлек тастап, басқа шарды саламыз. Шарлар таусылғанша осы әрекетті қайталай берсек ақырында табақшада ең ауыр шар қалады.)

— Ұзындығы әртүрлі жіптердің ең қысқасын өлшеу құралдарынсыз қалай табуға болады?

— Кім осы тәріздес сұрақ қоя алады?

Есеп: 5 сөзден тұратын сөздер тізбегі берілген. Ең ұзын сөзді анықтайтын программа жазыңыз.

1. сөз жиымы белгілі sz[1..5] типі жолдық,

жиымдағы сөз нөмірі і – бүтін сан.

2. ең ұзын сөзді анықтау керек sz[x] -типі жолдық және оның нөмірін x – (бүтін), символдар санын  анықтау,

3. Ең ұзын сөзді табу үшін алғашқы сөздің ұзындығын max (бүтін) деп алып, оны келесі сөздің ұзындығымен салыстырамыз, егер ол сөзін ұзын болса ауыстырамыз, болмаса тексеруді ары жалғастырамыз. Ең соңында ұзын сөз анықталады.

program maxsimvol;

var sz:array[1..5] of string;

i,x,max:integer;

begin

write(‘әр жолға бірден 5 cөз енгіз ‘);

for i:=1 to 5 do

read(sz[i]);

max:=length(sz[1]); x:=1;

for i:=2 to 5  do

begin

if max<length(sz[i]) then begin max:=length(sz[i]); x:=i;end;

end;

writeln;

writeln(‘Ең ұзын сөз ‘,sz[x]);

writeln(‘Рет нөмірі ‘,x);

writeln(‘Сөздегі әріптер саны ‘,length(sz[x]));

end.

 

Екіөлшемді жиым.

Төртбұрышты кестені екіөлшемді жиым немесе матрица дейді. Оның элементі екі индекспен берілетіні түсінікті. Baga[i,j] екіөлшемді жиымының i-жолы мен j-бағанының қилысында тұрған элементтің белгіленуі.

Паскалда жазылу түрі:

<atauy>:array[1..m,1..n] of <элементтер типі>;

ЕСЕП: Оқушылар үш топқа бөлініп, 5 сұрақ бойынша білім сайысына түсті.Топтардың жинаған ұпайларын есептеп, экранға матирца түрінде  басып шығаратын  программа жазыңыз.

Математикалық моделі

1. Екі өлшемді жиым top[1..5,1..3] элементтер типі нақты сандар;

жиым жолының нөмірі i және бағанның нөмірі  j бүтін сандар.

2. Топ ұпайлар саны s1, s2, s3 нақты сандар;

топтың орны n — бүтін.

3. Қалай есептейміз немесе есептеу идеясы:

Кесте тақырыбына топтардың аттарын жазамыз, сұрақ нөмірлерін write операторының көмегімен келтіреміз.

і 1-ден 5-ке дейін,  j=1… 3 дейін өзгереді, әр топтың әр сұрақ бойынша алған ұпайларын енгіземіз.

і 1-ден 5-ке дейін,  j=1… 3 дейін өзгереді, баған бойынша әр топтың ұпайын есептейміз, s1, s2, s3 анықталады.

s1, s2, s3 өз ара салыстырып топтардың орындарын анықтаймыз.

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

program jarys;

uses Crt;

var i,j:integer;

top:array[1..5,1..3] of real;

s1,s2,s3:real;

begin

writeln(‘Кесте элементтерін жол б-ша пробел арқылы енгізіңіз енгізіңіз ‘);

s1:=0; s2:=0; s3:=0;

for i:=1 to 5 do

for j:=1 to 3 do read(top[i,j]);   {кесте енгізу}

for i:=1 to 5 do

begin

for j:=1 to 3 do

begin

if j=1 then s1:=s1+top[i,j];    {ұпай есептеу}

if j=2 then s2:=s2+top[i,j];

if j=3 then s3:=s3+top[i,j];

end;

end;

ClrScr;

write(‘             1-топ’,’     2-топ’,’     3-топ’);writeln;

for i:=1 to 5 do                    {кестені экранға шығару}

begin

write(i,’-сұрақ’);

for j:=1 to 3 do

begin write(top[i,j]:10:2);end;

writeln;

end;

{нәтижелерді экранға шығару}

writeln(‘ЖИНАҒАН  Ұ П А Й Л А Р Ы:’);

writeln(s1:18:2,’   ‘,s2:8:2,’   ‘,s3:6:2);

end.

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

20 мин.

 

Осы программаны компьютерде теріп орындаңыз. Программаны

—          ең қысқа сөзді табатындай, (5 ұпай)

—          сөздер орынына бүтін сандар алып ең үлкен санды, оның нөмірін анықтайтындай,  (10 ұпай)

—          Нақты сандар үшін ең кіші және ең үлкен санды табатындай,

етіп өзгертіңіз. (15 ұпай)

Бағалау

5 мин.

Шығармашылық қабілет және белсенділік көрсеткен оқушыларды бағалаймыз. Баға алған оқушылардың ұпайлары жойылады. Қалғандарына келесі сабақта толтықтыруға болатын ұпай береміз.
VІІ үйге Сыныпта қарастырылған екі программаның мазмұнын түсініп немесе жаттап келу.
3-сабақ практикалық жұмыс (ПЖ).
IІІ Үй тапсырмасымен жұмыс

5 мин.

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

·         Жиым дегеніміз не?

·         Жиым параметрлеріне сипаттама бер.

·         Сызықтық, төртбұрышты кесте

·         Қозғалыс жиымында қандай біртекті элементтер болуы мүмкін?

·         Ауы райы  жиымы элементтерінің типі қандай болуы мүмкін

·         Паскаль тілінде жиымдар қалай жазылады. Сипаттама бер.

·         Қайталау параметрі деген не? (қайталау санын көрсететін, әр қайталау сайын 1-ге артып отыратын натурла типті шама)

·         Шарт деген не?  (жауабы «иә» немесе «жоқ» болатын ұйғарым)

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

ІV Өзіндік жұмыс

15 мин

1-нұсқа: Көбейту кестесін экранға дәстүрлі әдіспен (2х3=6 түрінде) басып шығаратын программа жазыңыз.

2-нұсқа: Көбейту кестесін экранға Пифагор әдісмен (баған мен жолдар бойынша) басып шығаратын программа жазыңыз.

Дайын проргамманы өзгерту арқылы орындау – 5ұп

Математикалық моделі дайын тапсырманы орындау – 10 ұп

Толық өз бетінше орындау – 15 ұп

V Тест тапсыру 20 мин Inftest бағдарламасы бойынша, тек осы тақырыпқа арналған тест тапсыру.
Бағалау Оқушының бағалау парағы:

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

Бар, бірақ дұрыс емес -0,5

жартылай дұрыс – 1,5                       толық дұрыс       —  3

жоқ                     —  0

Сұрақ-жауап н/е тест Бір дұрыс – 1 ұп барлығы 10
Өзіндің жұмыс Бір дұрыс –  ұп
Сынып жұмысы

А-нұсқа

В

С

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

5 ұп

10 ұп

15 ұп

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

31-ден көп екі рет «5»

23-30 ұп – «5»

15-22 —  «4»

7 – 14 – «3»

0 – 7 – «2»