Сабақтың тақырыбы: Бір өлшемді және екі өлшемді жиым элементтерімен жұмыс
|
мақсаттары:
|
1. Кестелік шамалар, алгоритмдегі кестелік шамаларды Паскалда программалау жолы мен әдісдері туралы түсінік қалыптастыру. ARRAY опреторы арқылы программалауды үйрену, пысықтау. Бір және екіөлшемді жиымдар туралы ұғым қалыптастыру.
2. Программаны математикалық модел құру арқылы сапалы жазу дағдысын қалыптастыру. Жиым элементі, элементті берілген қасиеті бойынша іздеу, сұрыптау туралы түсініктер қалыптастыру. Есептерге программалар жазып компьютерде орындау.
3. Программа мәтінін экранға және дәптерге жазудың эстетикасын сақтау.
|
көрнекілігі:
|
Кестелердің мысалдары сызылған плакат. Паскаль редакторы – Паскал АВС, кестедегі оң элементтердің қосындысы алгоритмінің блок-схемасы, баспалық таратпа материялдар (көкпен жазылғандар тақтаға н/е фч/прз жазылады, кей жерін оқушылар дәптерге жазады).
|
түрі:
|
Лекция, компьютерде машықтану сабағы.
|
ІІ
|
барысы:
(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}
Кестенің екі түрі бар:
Сызытық кесте – элементтері бірінен кейін-бірі (жол бойында) немесе бір-бірінің астына (баған бойына) орналасады. (математикадағы прогрессиялар, оқушылар тізімі...)
Тік төртбұрышты кесте– элементтері баған мен жолдың қилысында ұяшықтарда орналасады. (көбейту кестесі, сабақ кестесі...)
Біз әзірге сызықтық кесте элементтерін программалап үйренеміз.
Паскал тіліндегі жиымдар.
Жиымның негізгі параметрлері мыналар: типі (сандық, символдық, логикалық), өлшемі (бірөлшемді, екіөлшемді ...) және көлемі (жиымдағы элементтердің саны).
Бірөлшемді жиымды Паскалда былай жазады:
: array [1..n] of <элемент типі>
Мұндағы: - жиым (кесте) атауы, 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
|
Үйге тапсырма
2 мин.
|
Оқу: лекция бойынша, оқулықтан 125-127 беттер. №1 есеп 133 бет.
|
21 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: Көпөлшемді жиымдар.
Сабақтың мақсаты:
Білімділік – Берілген есептерді есептеп шығаратын программалар құруға, жиым операторларымен таныстыру,қолдануды үйрету.
Дамытушылық – Оқушылардың жан – жақты ойлау қабілеттерін, компьютерді пайдаланып программаны енгізіп жауабын алу дағдыларын дамыту.
Тәрбиелік – Оқушыларды кішіпейілдікке, жекелеп жұмыс жасауға, ұйымшылдыққа, сабақта өзін - өзі басқаруға тәрбиелеу.
Сабақтың түрі: Білімді меңгерту
Сабақтың әдісі: Баяндау , сұрақ жауап
Сабақтың барысы
Ұйымдастырылу кезеңі
оқушылармен сәлемдесу
келмеген оқушыларды белгілеу
сабаққа дайындығын, құралдарын тексеру
Үйге берілген тапсырманы сұрау
Нақты элементтерден тұратын сызықты жиым (а1,а2,…,an)берілген. Осы жиымның 3-ке бөлінетін, 5-ке бөлінбейтін элемент санын табу керек.
program esep1;
const n=5;
var a :array[1..n] of integer;
i,S:integer;
begin
for i:=1 to n do
begin
write('элемент нөмірін енгіз',i);readln(a[i]);
end;
S:=0;
for i:=1 to n do
if (a[i] mod 3=0) and (a[i] mod 5<>0) then
S:=S+1;
writeln('3-ке бөлінетін, 5-ке бөлінбейтін элемент саны =',S);
end.
Жиым деп нені айтады?
Паскаль тілінде жиым қалай сипатталады?
Жиым элементтерінің орны қалай анықталады?
Индекс деген не? Оларға қандай талап қойылады?
Жиым элементтері мен индекстерінің типтері қандай болуы мүмкін?
Жиымдарды сипаттауда тұрақтыларды пайдаланған неліктен қолайлы?
Жаңа сабақты түсіндіру
Егер жиым атауында бір ғана индекс болса , онда ол жиымды бірөлшемді, ал екі индекс болса екі өлшемді және т.с.с. n индекс болса n өлшемді жиым деп атайды. Бірөлшемді жиым-вектор, екі өлшемді жиым-матрица деп аталады. Осы айтылғандарға сәйкес жиым элементтері былай белгіленеді: А[i], B[i,j], C[i,j,k] және т.с.с ,көпөлшемді жиым элементтерін басқаша да белгілеуге болады, мысалы B[i] [j]. Мұндағы А[i] бірөлшемді жиымның i-ші элементі , оны математикада a i –түрінде белгілейді, B[i,j] екі өлшемді жиымның (кесте) і-жолы мен j бағанасының қиылысында орналасқан элементтің белгіленуі, ал C[i,j,k] үш өлшемді жиым , оның элементін кеңістікте орналасқан нүкте кординаталары (i,j,k) деп қарауға болады.
Типтер бөлігінде екі өлшемді жиым былай сипатталады:
TYPE atau=array[1..n,1..m] of < элементтер типі>;
Айнымалылар бөлігінде осы типке жататын жиымдар көрсетіледі.
Бекіту: Нақты элементтерден тұратын сызықты жиым (а1,а2,…,an)берілген. Осы жиымның ең кіші элементін және оның индекстік номерін табу керек.
program min1;
const n=20;
type mas=array[1..20] of real;
var a :mas;
m:real;i,k:integer;
begin
write('1-элемент= ');readln(a[1]);
m:=a[1];i:=1;
for k:=2 to n do
begin
write(k,'-элемент= ');readln(a[k]);
if a[k]
begin m:=a[k];
i:=k end; end;
writeln('min=',m:6:3,'номері=',i);
end.
№4. Нақты элементтерден тұратын сызықты жиым (а1,а2,…,an)берілген. Осы жиымның ең кіші және ең үлкен элементін және оның индекстік номерін табу керек.
program max1;
const n=20;
type mas=array[1..n] of real;
var a :mas;
min,max:real;n1,i,k,z:integer;
begin
write('1-элемент= ');readln(a[1]);
min:=a[1];i:=1;
for k:=2 to n do
begin
write(k,'-элемент= ');readln(a[k]);
if a[k]
begin min:=a[k];
i:=k end;
if a[k]>max then
begin max:=a[k];z:=k end;
writeln('min=',min:6:3,'номері=',i);
writeln('max=',max:6:3,'номері=',z);
end;end.
N элементтен тұратын нақты сандар жиымының элементтерін өсуі бойынша реттеп орналастыру керек.
program rettey;
var a:array[1..50] of real;
m:real;n1,i,k,j:integer;
begin
write('элементтер саны n–ді(n<50) енгіз : ');readln(n);end;
for k:=1 to n do
begin i:=k;
for j:=k+1 to n do
if a[j]
i:=j;m:= a[k]; a[k]:= a[i]; a[i]:=m;
end;write(' ',a[k]:6:2); end;
end.
Сабақты қорытындылау:
Көпөлшемді жиымдар дегеніміз не?
Екі өлшемді жиым қалай сипатталады?
Жиым элементтері мен индекстерінің типтері қандай болуы мүмкін?
Жиым элементтері компьютер жадында қалай орналасады? Көпөлшемді жиым элементтері ше?
Үйге тапсырма Көпөлшемді жиымдар. №2 есеп шығару.
22 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: Екіөлшемді жиым элементтерімен жұмыс.
Сабақтың мақсаты:
Білімділік – Берілген есептерді есептеп шығаратын программалар құруға, жиым операторларын қолдануды үйрету.
Дамытушылық – Оқушылардың жан – жақты ойлау қабілеттерін, компьютерді пайдаланып программаны енгізіп жауабын алу дағдыларын дамыту.
Тәрбиелік – Оқушыларды кішіпейілдікке, жекелеп жұмыс жасауға, ұйымшылдыққа, сабақта өзін - өзі басқаруға тәрбиелеу.
Сабақтың түрі: Білімді меңгерту
Сабақтың әдісі: Есептер шығару
Сабақтың барысы
Ұйымдастырылу кезеңі
оқушылармен сәлемдесу
келмеген оқушыларды белгілеу
сабаққа дайындығын, құралдарын тексеру
Үйге берілген тапсырманы сұрау
Бір өлшемді массивтің көбейтіндісін табатын программа құр
Program m12;
uses crt;
var i,n:integer; s:real;
a: array [1..100] of integer;
begin
Randomize;
Writeln('массив элементин енгиз');
readln(n);
for i:=1 to n do
a[i]:=-27+random(100);
for i:=1 to n do
write(a[i]:5);
s:=1;
for i:=1 to n do
s:=s*a[i];
writeln('');
writeln('сандардын косындысы',sum:6:2);
readln; end.
Жиым деп нені айтады?
Паскаль тілінде жиым қалай сипатталады?
Жиым элементтерінің орны қалай анықталады?
Көпөлшемді жиымдар дегеніміз не?
Екі өлшемді жиым қалай сипатталады?
Жиым элементтері мен индекстерінің типтері қандай болуы мүмкін?
Жиым элементтері компьютер жадында қалай орналасады? Көпөлшемді жиым элементтері ше?
№1. Кез келген екі өлшемді массивтің әрбір бағанындағы оң элементтердің қосындысын тап, бір өлшемді массив құр
program e32;
var s,n,i,j:integer;
a:array[1..100,1..100] of integer;
b:array[1..100] of integer;
begin
writeln;
randomize;
writeln ('massiv olshemin engiz');
readln(n);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=-20+random(100);
for i:=1 to n do begin
writeln;
for j:=1 to n do
write(a[i,j]:5);
end;
for j:=1 to n do
begin
s:=0;
for i:=1 to n do
if 0
end;
end;
writeln;
writeln;
for j:=1 to n do
write (b[j]:5);
readln
end.
№2. Кез келген екіөлшемді массивтің теріс элементтерінің көбейтіндісін табу программасын құр
Program E3;
Var A: array [1..100, 1..100] of integer;
i,n,m,j,k:integer;
begin
randomize;
writeln('massiv olhemin engiz');
Readln(n,m);
For i:=1 to n do
For j:=1 to m do
A[i,j]:=-5+random(10);
For i:=1 to n do begin
writeln;
for j:=1 to m do
write (A[i,j]:5); end;
k:=1;
for i:=1 to n do
for j:=1 to m do
if A[i,j]<0 then k:=k*A[i,j];
writeln;
writeln('теріс элементтерінің көбейтіндісі=',k);
Readln
end.
№3. Кез келген екі өлшемді массивтің оң элементтерінің санын табу программасын құр
Program E2;
Var A: array [1..100, 1..100] of integer;
i,n,m,j,k:integer;
begin
randomize;
writeln('massiv olhemin engiz');
Readln(n,m);
For i:=1 to n do
For j:=1 to m do
A[i,j]:=-25+random(100);
For i:=1 to n do begin
writeln;
for j:=1 to m do
write (A[i,j]:5); end;
k:=0;
for i:=1 to n do
for j:=1 to m do
if A[i,j]>0 then k:=k+1;
writeln;
writeln('oн элементтер саны=',k);
Readln
end.
Сабақты қорытындылау:
Көпөлшемді жиымдар дегеніміз не?
Екі өлшемді жиым қалай сипатталады?
Жиым элементтері мен индекстерінің типтері қандай болуы мүмкін?
Жиым элементтері компьютер жадында қалай орналасады? Көпөлшемді жиым элементтері ше?
Бағалау
Үйге тапсырма №3 Кез келген екі өлшемді массивтің ең кіші элементтерін табу программасын құр.
№4 Бір өлшемді массивтің элементтерінің қосындысын табатын программа құр
24 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: Көмекші программа туралы түсінік.Стандартты кітапханалық модульдер.
Сабақтың мақсаты:
Білімділік – Берілген есептерді есептеп шығаратын программалар құруға, жиым операторларын қолдануды үйрету.
Дамытушылық – Оқушылардың жан – жақты ойлау қабілеттерін, компьютерді пайдаланып программаны енгізіп жауабын алу дағдыларын дамыту.
Тәрбиелік – Оқушыларды кішіпейілдікке, жекелеп жұмыс жасауға, ұйымшылдыққа, сабақта өзін - өзі басқаруға тәрбиелеу.
Сабақтың түрі: Білімді меңгерту
Сабақтың әдісі: Есептер шығару
Сабақтың барысы
Ұйымдастырылу кезеңі
оқушылармен сәлемдесу
келмеген оқушыларды белгілеу
сабаққа дайындығын, құралдарын тексеру
Үйге берілген тапсырманы сұрау
Бір өлшемді массивтің көбейтіндісін табатын программа құр
Program m12;
uses crt;
var i,n:integer; s:real;
a: array [1..100] of integer;
begin
Randomize;
Writeln('массив элементин енгиз');
readln(n);
for i:=1 to n do
a[i]:=-27+random(100);
for i:=1 to n do
write(a[i]:5);
s:=1;
for i:=1 to n do
s:=s*a[i];
writeln('');
writeln('сандардын косындысы',sum:6:2);
readln; end.
Жиым деп нені айтады?
Паскаль тілінде жиым қалай сипатталады?
Жиым элементтерінің орны қалай анықталады?
Көпөлшемді жиымдар дегеніміз не?
Екі өлшемді жиым қалай сипатталады?
Жиым элементтері мен индекстерінің типтері қандай болуы мүмкін?
Жиым элементтері компьютер жадында қалай орналасады? Көпөлшемді жиым элементтері ше?
№1. Кез келген екі өлшемді массивтің әрбір бағанындағы оң элементтердің қосындысын тап, бір өлшемді массив құр
program e32;
var s,n,i,j:integer;
a:array[1..100,1..100] of integer;
b:array[1..100] of integer;
begin
writeln;
randomize;
writeln ('massiv olshemin engiz');
readln(n);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=-20+random(100);
for i:=1 to n do begin
writeln;
for j:=1 to n do
write(a[i,j]:5);
end;
for j:=1 to n do
begin
s:=0;
for i:=1 to n do
if 0
end;
end;
writeln;
writeln;
for j:=1 to n do
write (b[j]:5);
readln
end.
№2. Кез келген екіөлшемді массивтің теріс элементтерінің көбейтіндісін табу программасын құр
Program E3;
Var A: array [1..100, 1..100] of integer;
i,n,m,j,k:integer;
begin
randomize;
writeln('massiv olhemin engiz');
Readln(n,m);
For i:=1 to n do
For j:=1 to m do
A[i,j]:=-5+random(10);
For i:=1 to n do begin
writeln;
for j:=1 to m do
write (A[i,j]:5); end;
k:=1;
for i:=1 to n do
for j:=1 to m do
if A[i,j]<0 then k:=k*A[i,j];
writeln;
writeln('теріс элементтерінің көбейтіндісі=',k);
Readln
end.
№3. Кез келген екі өлшемді массивтің оң элементтерінің санын табу программасын құр
Program E2;
Var A: array [1..100, 1..100] of integer;
i,n,m,j,k:integer;
begin
randomize;
writeln('massiv olhemin engiz');
Readln(n,m);
For i:=1 to n do
For j:=1 to m do
A[i,j]:=-25+random(100);
For i:=1 to n do begin
writeln;
for j:=1 to m do
write (A[i,j]:5); end;
k:=0;
for i:=1 to n do
for j:=1 to m do
if A[i,j]>0 then k:=k+1;
writeln;
writeln('oн элементтер саны=',k);
Readln
end.
Сабақты қорытындылау:
Көпөлшемді жиымдар дегеніміз не?
Екі өлшемді жиым қалай сипатталады?
Жиым элементтері мен индекстерінің типтері қандай болуы мүмкін?
Жиым элементтері компьютер жадында қалай орналасады? Көпөлшемді жиым элементтері ше?
Бағалау
Үйге тапсырма №3 Кез келген екі өлшемді массивтің ең кіші элементтерін табу программасын құр.
№4 Бір өлшемді массивтің элементтерінің қосындысын табатын программа құр
0>0>
Достарыңызбен бөлісу: |