Тақырыбы: Массивтер. Массивтің көлемі, өлшемі, индексі. Массивтерді енгізу және шығару. Бір өлшемді массивтермен жұмыс.
Сабақ мақсаттары:
а) Массив ұғымымен таныстыру. Массивтің негізгі элементтерімен таныстыру. Массив көлемі, өлшемі, типі сияқты негізгі ұғымдарды меңгерту.
ә) Массивтермен жұмыс жасау, массивтерді циклді қолданып енгізу және шығару, бірөлшемді массивтерді өңдеу дағдыларын қалыптастыу.
б) Оқушылардың логикалық ойлау қабілеттерін дамыту. Пәнге қызығушылықтарын арттыру.
Сабақ көрнекілігі: DELPHI ортасында құрылған массив тақырыбына арналған электронды құрал.
Сабақ түрі: Проблемалық сабақ
Сабақ әдісі: Түсіндірмелі баяндау, сұрақ-жауап, тест алу, электронды құралмен жұмыс.
Сабақ типі: Жаңа білімд меңгерту сабағы.
Сабақ барысы:
Ұйымдастыру кезеңі
Жаңа сабақ түсіндіру
Жаңа сабақты тест арқылы бекіту
Жаңа тақырыпты пысықтауға есептер шығару, программа құру
Үйге тапсырма
Сабақты қорытындылау
Оқушыларды түгендеп, сабаққа дайындықтарын қарап алған соң сабақты бастаймын
Бүгін біздер жаңа тақырып бастаймыз. Сондықтан өткен сабақтағы үй тапсырмаларыңды келесі сабақта қосып тексеремін. Алдымен жаңа сабаққа кіріспес бұрын мынадай есептерді қарап көрелік.
1) Пернетақтадан 4 бүтін сан енгізіп, сол сандарды бір қатарға шығаратын программа құрыңдар.
Program San_4;
Var a,b,c,d:integer;
Begin
Write(‘4 сан енгіз’);
Readln(a,b,c,d);
Writeln(a,’ ‘,b,’ ‘,c,’ ‘,d);
Readln;
End.
2) Пернетақтадан N бүтін сан енгізіп, сол сандарды бір қатарға шығаратын программа құрыңдар.
Бұл есепті біз қарапайым тәсілмен шығара алмаймыз. Себебі, біріншіден, енгізілген сандарды жеке-жеке бір айнымалыға меншіктеу үшін біз алдын-ала қанша айнымалы қажет екенін білмейміз, ал екіншіден, енгізілген сандардың бәрін бір айнымалыға меншіктесек онда алыдңғы енгізілген сандар келесі сан енгізілгенде жойылып отырады.
Яғни бұл есепті біз қарапайым типті айнымалыны қолданып шығара алмаймыз екен.
Мұндай есептерді шығару үшін бізге құрылымдық типті қолдану керек болады.
Сонымен еске түсіретін болсақ, Паскальда типтер былайша жіктелетін еді.
Сонымен бүгінгі сабақтың тақырыбы Жиымдар (массивтер).
Массив дегеніміз – белгілі бір атауға біріктірілген бір типті шамалардың реттелген тізбегі.
Массивке кіретін айнымалыларды массивтің элементтері дейді. Элементтер типі файлдық типтен басқа кез-келген тип бола алады. Массив элементтерінің типін оның негізгі типі деп атайды. Массив тұтастай бір атпен аталады, ал элементтерінің реті индекс арқылы көрсетіледі. Индекс массив атынан соң тік жақшаға алынып жазылады. Индекс типі массив элементтерінің өзгеру аралығын көрсетеді де, шектелген қарапайым типтердің (байттық, логикалық, аралық) бірімен беріледі. Сонымен массивтің негізгі параметрлері оның өлшемі, базалық типі және көлемі болып табылады.
Массив өлшемі оның элементінің индекс санымен анықталады.
Массивтің элементтерінің типі массивтің типін анықтайды.
Массив элементтерінің саны оның көлемін анықтайды.
Мысалдар: А массиві берілген болса, оның
Тұрмыста тізбектелген сандарды, сызықтық кестелік мәліметтерді көп пайдаланамыз. Оны бірөлшемді массив ретінде қарастыруға болады.
Мысалы: 1.5, 6.5, -8.9, 0.4, сандарының тізбегі бірөлшемді массивке мысал бола алады. Оған А деген ат беріп, массивтің әрбір элементін массив атымен белгілейміз. Әрбір элементін ажырату үшін массив атауының жанына тік жақшаға алып элементтің индексі жазылады.
Мысалы
А[1]=1.5
A[2]=6.5
A[3]=-8.9
A[4]=0.4
Берілген массивтің негізгі параметрлері мынадай:
өлшемі: бір өлшемді
массив типі: нақты
көлемі: 4-ке тең
Бір өлшемді массивтер сызықтық кесте түрінде кескінделсе, ал екі өлшемді массивтер тікбұрышты кесте түрінде кескінделеді. Жалпы бір өлшемді массив математикадағы «вектор», ал екі өлшемді массив «матрица» ұғымдарымен парапар. Екі өлшемді массивтерді келесі сабақта қарастырамыз.
Массивтермен жұмыс жасау үшін оны программада алдын ала сипаттап алу керек. Массивті айнымалылар бөлімінде былайша сипаттайды:
VAR массив ты:ARRAY[индекс типі] OF элемент типі;
Мысалы нақты 40 элементтен тұратын А массивін айнымалылар бөлімінде былайша сипаттайды.
VAR А:ARRAY[1..40] OF REAL;
Массивті сипаттағанда индекстің үлкен мәні үшін кез-келген 255-тен аспайтын санды алуға болады, бірақ программада пайдаланылатын индекстің мәні оның берілген ең үлкен мәніне дейін болуы шарт емес. Мысалы массивті сипаттағанда ARRAY[1..255] деп жазып, программаны орындағанда і<255 кез-келген мәнді пайдалануға болады. Программада і-дің мәні массивті сипаттағандағы оның ең үлкен мәнінен ешқашан артпауы керек.
Егер бірнеше массив бірдей базалық және индекстік типте болса, онда оларды массив ретінде сипаттағанда үтір арқылы бөліп жазуға болады.
VAR А,В,С:ARRAY[1..10] OF REAL;
Мұнда А,В,С масссивтер, олар нақты типтегі 10 саннан (элементтен) тұрады.
Тапсырмалар:
Нақты 10 элементтен тұратын Vector массивін сипатта.
Log[true]:=5; Log[false]:=9 массивін сипаттта.
256 элементтен тұратын символдық тұрақтылардан құралған А массивін сипатта.
Массивтерге қолданылатын амалдар.
Паскаль тілінде массивтерге = тең, <>тең емес және := меншіктеу амалдарын қолдануға болады. Бұл амалдарға қатысатын массивтердің базалық және индекстік типтері бірдей болуы шарт.
Мысалы А және В массивтері былайша сипатталса:
VAR А,В:ARRAY[1..10] OF REAL;
Онда пайдаланылған амалдар төмендегідей нәтиже береді.
Өрнек
|
Нәтиже
|
A=B
|
А массивінің әр элементінің мәні В массивінің сәйкес элементінің мәнінен тең болса, онда нәтиже ақиқат (True) болады.
|
A<>B
|
А массивінің ең аз дегенде бір элементінің мәні В массивінің сәйкес элементінің мәніне тең болмаса, онда нәтиже ақиқат (True) болады.
|
A:=B
|
A массивінің барлық элементтері B массивінің сәйкес элементтеріне ауысады. В массивінің элементтері өзгермейді.
|
Ал массив элементтері үшін олардың типіне сәйкес кез-келген амал орындала береді.
Массивтерге қолданылатын амалдарды мысалдар арқылы орындап көру.
А (‘a’,’s’,’e’,’t’,’e’,’u’);
E (‘a’,’s’,’e’,’t’,’e’);
F (‘a’,’s’,’e’,’t’,’e’,’n’);
B (1,2,5,-9,6,4,0.3);
G (1,2,5,9,6,4,0.3);
C (‘bar’,’zhok’);
K (’zhok’,’bar’);
D (12,54,-25,45,10);
X (12,54,-25,45,10,47);
Bir (12,54,-25,45,10);
Eki ('zhok','bar');
Ysh ('a','s','e','t','e','n');
Tort (12,54,-25,45,10,47);
Bes (1,2,5,9,6,4,0.3);
Alti ('bar','zhok');
Zheti ('a','s','e','t','e');
Segiz ('a','s','e','t','e','u');
Togiz (1,2,5,-9,6,4,0.3);
Оқушылар тақтада электронды оқулықта дайындалған тапсырмаларды орындайды. Екі қатарда әртүрлі массивтер берілген. Екі қатардан екі массив таңдап, массивтерге қолданылатын тең және тең емес амалдарының нәтижелерін тауып, тексереді.
Массивтерді енгізу және шығару.
Массивтің элементерін мынадай тәсілдермен толтыруға болады:
Меншіктеу операторы көмегімен. Бұл тәсіл массив элементтері арасында белгілі бір тәуелділік (арифметикалық, геометориялық прогрессия немесе рекуренттік қатынастар) бар болғанда қолданған тиімді.
Мысал: заңдылығымен массивті толтыру керек.
а1=1; a2=1; ai=ai-2+ai-1; (i=3,4, … , n)
…
Read(N); {Элементтер санын енгізу}
A[1]:= 1;
A[2]:= 1;
FOR I := 3 TO N DO
A[I] := A[I - 1] + A[I - 2];
For i := 1 to N Do Write(a[i]:7);
Массив элементі мәндерін меншіктеудің екінші тәсілі кездейсоқ сандармен толтыру;
ReadLn(N);
randomize;
For I := 1 To N Do A[i] :=random(65535);
For i := 1 to N Do Write(a[i]:7);
Массив элементтерін пернетақтадан енгізу элементтер арасында ешқандай заңдылық болмаған жағдайда қолданылады.
Мысалы: 1, 2, -5, 6, -111, 0 сандар тізбегін былайша енгіземіз:
Program Vvod;
Var N, I : Integer;
A : Array [1..20] Of Integer;
Begin
Write('Введите количество элементов массива '); ReadLn(N);
FOR I := 1 TO N DO
Begin
Write('Введите A[', I, '] '); ReadLn(A[I]);
End.
FOR I := 1 TO N DO Write(A[I],’ ‘);
Readln;
End.
Кей жағдайда есеп шығару барысында массив элементтерін қайта-қайта енгізіп отырмас үшін оларды тұрақтылар бөлімінде енгізіп кеткен ыңғайлы болады.
Мысалы: 5 бүтін элементі бар А массивін тұрақтылар бөлімінде былайша енгізіп кетеміз.
Program Primer;
Const
A:Array[1..5] of byte=(71,57,85,95,85);
Var I : Integer;
Begin
FOR I := 1 TO 5 DO Write(‘A[‘,I,']=',A[i]:5);
Readln;
End.
Байқап отырған боларсыңдар 3-есеп біздің сабақ басында шықпай қалған есебіміз болатын. Пернетақтадан N бүтін сан енгізіп, сол сандарды бір қатарға шығаратын программа массивті қолданып осылайша жазылады.
Сонымен қорыта келсек бүгінгі сабақта айтылған негізгі ұғымдар мыналар болып табылады:
Массив дегеніміз – белгілі бір атауға біріктірілген бір типті шамалардың реттелген тізбегі.
Масив айнымалыларды сипаттау бөлімінде сипатталуы керек.
Массивт элементіне қатынасу элемент индексі арқылы жүзеге асырылады.
Массив элементтерін енгізу және шығару цикл арқылы жүзеге асырылады.
Айтылған материалды бекіту үшін 10 сұрақтан тұратын тест өткізіледі. Тест Visual Basic программасында әзірленген.
Тапсырмалар:
А ( 12.5, 10.4, -14, 5, 0, 15, 5, -8.5, 5, -5);
В ( 17, 2, 9, -5, 6, 100, 5, 145, 111, 10, -32, 0, 78);
С ( -12, -5, -1, 8, 14, 21, 38, 39, 32, 19, 13, 4);
D ( 20, 0, 0, -10, 20, 10, -11, -5, -5, 10);
E ( 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6);
А массивінің 5-ке тең элементтерінің индексін экранға шығаратын программа құру керек.
Program ESEP1;
USES CRT;
CONST A:Array[1..10] of real=( 12.5, 10.4, -14, 5, 0, 15, 5, -8.5, 5, -5);
var i:integer;
begin
clrscr;
for i:=1 to 10 do if a[i]=5 then write(I,’ ‘);
readln;
end.
В массивінің жұп элементерінің номерлерін (индекстерін) шығаратын программа құр.
Program ESEP2;
USES CRT;
CONST B:Array[1..13] of integer= ( 17, 2, 9, -5, 6, 100, 5, 145, 111, 10, -32, 0, 78);
var i:integer;
begin
clrscr;
for i:=1 to 13 do if b[i] mod 2=0 then write(I,’ ‘);
readln;
end.
С массивінің оң элементтерінің санын табатын программа құр.
Program ESEP3;
USES CRT;
CONST C:Array[1..12] of integer= ( -12, -5, -1, 8, 14, 21, 38, 39, 32, 19, 13, 4);
var I,k:integer;
begin
clrscr;
k:=0;
for i:=1 to 12 do if c[i] >0 then inc(k);
writeln(’Оң элементтерінің саны ‘,k);
readln;
end.
Үйге тапсырма:
1-ден 100-ге дейінгі кездейсоқ 15 санмен толтырылған массивтің ең үлкен және ең кіші элементтерін тауып, олардың орындарын ауыстыратын программа құр.
Оқулықтағы 125 беттен басталатын 5.3 және 5.4 тақырыптарын оқып келу.
Сабаққа белсене қатынасқан оқушылар бағаланады.
Сонымен бүгінгі жаңа тақырыпқа байланысты негізгі есте сақтайтын мына нәрселерді қайталап өтелік.
Массив дегеніміз – белгілі бір атауға біріктірілген бір типті шамалардың реттелген тізбегі.
Масив айнымалыларды сипаттау бөлімінде сипатталуы керек.
Массивтің элементіне қатынасу элемент индексі арқылы жүзеге асырылады.
Массив элементтерін енгізу және шығару цикл арқылы жүзеге асырылады.
255>
Достарыңызбен бөлісу: |