Слайд 2 Жазулар
Көптеген экономикалық
есептерде және кеңселік іс қағаздарында ведомосттарды, құжаттарды, каталогтарды, тізімдерді өңдеуге тура келеді. Өңдеу барысында әртүрлі типтегі мәліметтерді бір топқа біріктіру қажеттігі туындайды. Мәліметтер тобымен жұмыс істеу үшін Паскаль тіліне жазулар түсінігі енгізілген. Ж а з у – әртүрлі типтегі мәліметтердің шектеулі жиынтығынан тұрады. Жазулар басқа мәліметтер сияқты сипаттамалар бөлімінде сипатталып, операторлар бөлімінде пайланылады.
Слайд 3
Жазуды сипаттаудың жалпы түрлері:
1) var t : record
a11, a12,
…, a1r : type 1;
a21, a22, …, a2p : type 2;
………………………..
an1, an2, …, anm : type n
end;
2) type t = record
a11, a12, …, a1r : type1;
a21, a22, …, a2p : type2;
……………………….
An1, an2, …, anm : type n
end;
Слайд 4 Мұндағы Aij– алаң айнымалылары; type - алаңдардың типі;
t - тип аты. Record қызмет сөзі операторлық жақшаны ашу, ал end операторлық жақшаны жабу қызметін атқарады. Осы операторлық жақшалардың ішінде жазудың элементтері сипатталады. Жазудың аты ретінде үтір арқылы ажыратылған атаулар тізімін пайдалануға болады. Жазу элементтерін олардың сипаттамаларымен бірге жазу алаңы деп атайды.
Слайд 5 Жазу түсінігін емтихан ведомостын толтыру мысалы арқылы түсіндірейік.
Слайд 6 Бұл ведомостың әрбір жолы әртүрлі типтегі жеке
элементтерден тұрады:
рет номері – бүтін сан;
фамилиясы, аты – символдық массив;
бағалар – бүтін сандар массиві.
Осы мәліметтерді бір топқа біріктіріп, оны жазу деп атауға болады. Жалпы жазуға және оның элементтеріне атау берейік: барлық жазудың аты - b; рет номері - n; фамилиясы, аты - fa; бағасы - ozenka.
Бағдарлама ішінде жазу элементімен жұмыс істеу үшін, дәл (құрмалас) атауды пайдаланамыз. Дәл атау жазу аты мен оның элементінің атынан тұрады:
ЖАЗУ АТЫ. ЭЛЕМЕНТ АТЫ
Мысалы,
b.n
b.fa
b.ozenka
Слайд 7
Жазулар басқа мәліметтер сияқты сипаттамалар
бөлімінде сипатталып, операторлар
бөлімінде пайдаланылады.
Ведомость үшін
жазуды сипаттау:
var b : record
n : integer;
fa : packed array[1…20] of char;
ozenka : array[1…3] of integer
end;
type ведомость = record
n : integer;
fa : packed array[1…20] of char;
ozenka : array[1…3] of integer
end;
var b : ведомость;
Слайд 8 Жазудың элементтерінеоның типіндегі мәліметтерге мүмкін болатын әрекеттерді жасауға
болады. Егер жазу элементінің типі бүтін болса, онда бүтін мәліметтер үшін мүмкін болған барлық амалдар орындалады. Қарастырылып отырған ведомосттағы жазудың элементтері үшін мынадай амалдар орындайық:
B жазудың n рет номеріне 3 мәнін меншіктейік:
b.n:=3
‡ш бағаның қосындысын табайық:
s:=b.ozenka[1]+b.ozenka[2]+b.ozenka[3]
Рет номеріне мән енгізейік:
read(b.n)
Слайд 9Біріктіру операторы.
Бұл операторды қолданғанда жазудың
аты біріктіру операторының тақырыбына шығарылады, ал төменгі блокта жазу элементтерінің аты қолданылады. Біріктіру операторының жалпы түрі:
with b do
begin
n:=3;
s:=ozenka[1]+ozenka[2]+ozenka[3];
read(n)
end;
Слайд 101-есеп. Мына көпмүшеліктегі а айнымалысы бойынша ұқсас мүшелердің қосындысын табыңдар:
5a+17b-4a-3k+1p+9b-15r-4b
Көпмүшеліктің бір
элементін жазу деп қарастырамыз, себебі ол әртүрлі типтегі мәліметтен – коэффициенттен (саннан) тұрады. Бағдарлама үшін мынадай белгілеу енгізейік: m1- көпмүшеліктің (жазудың) элементі; coef – коэффициент (жазу элементі); buk - әріп (жазу элементі); elem - жазудың типі; sum - коэффициенттер қосындысы.
Слайд 11program prog_1;
type elem = record
coef : integer;
bukwa : char;
end;
var m1 : elem;
m2 : elem;
sum : integer;
begin
sum:=0;
readln;
writeln('Көпмүшелікті енгізіңдер:');
while not eoln do
begin
read(m1.coef, m1.bukwa);
if m1.bukwa='a' then sum:=sum+m1.coef
end;
m2.coef:=sum;
m2.bukwa='a'
writeln('¦қсас мүшелердің қосындысы =', m2.coef:3, m2.bukwa)
end.
Слайд 122-есеп. Бағдарламалау кружогына қатысатын оқушылар тізімі берілген. Беске оқитын және фамилиясы
а әрпінен басталатын оқушылардың санын анықтаңдар.
Қағазбаева Гаућар 5 Асанов Мұрат 4
Тайсынова Айнұр 5 Беріков Асқар 5
Алтаев Асан 4 Төлегенов Абай 5
Сайынов Бахтияр 4 Телтаев Мұхит 5
Тізімнің әрбір жолында типтері әртүрлі мәліметтер болғандықтан, аты tizim болатын және екі алаңнан тұратын жазуды енгіземіз:
fa- фамилиясы, аты;
ball - бағасы (бүтін сан);
Бағдарламаның орындалу нәтижесі:
summa1 - 5 оқитын оқушылар саны;
simma 2- фамилиясы А әрпінен басталатын оқушылар саны.
Слайд 13program prog_2;
const m=15;
type t=record
fa : packed array[1…m] of char;
ball : integer;
end;
var tizim :t;
i, k : integer;
summa1 : integer;
summa 2 : integer;
n : integer;
begin
summa1:=0; summa2:=0;
writeln ('Оқушылар санын енгізіңдер :');
readln(n);
writeln('Кестені енгізіңдер: фамилиясы, аты, бағасы');
for і := 1 to n do
begin
for і:=1 to m do
read(tizim.fa[k]);
read(tizim.ball);
if tizim.ball = 5 then summa1:=summa1+1;
if tizim.fa[1] = 'a' then summa2 :=summa2+1;
end;
writeln('Беске оқитын оқушылардың саны=', summa1);
writeln('Фамилиясы А әрпінен басталатын оқушылардың саны=', summa2);
end.
Слайд 143-есеп.
Екі x=4+5i және y=8+7iкомплекс санның
s қосындысын p көбейтіндісін табыңдар.
x+y=(4+8)+i(5+7);
x*y=(4*8-5*7)+i(8*5+4*7);
Слайд 15program prog_3;
type
complex=record
re, im : real;
end;
var x, y
: complex;
s : complex;
p : complex;
begin
x.re:=4.0;
x.im:=5.0;
y.re:=8.0;
y.im:=7.0;
{ Қосындыны есептеу}
s.re:=x.re+y.re;
s.im:=x.im+y.im;
{Көбейтіндіні есептеу}
p.re:=x.re*y.re-x.im*y.im;
p.im:=y.re*x.im+x.im*y.re;
writeln('Екі комплекс санның қосындысы =', s.re, ' ', s.im);
writeln('Екі комплекс санның көбейтіндісі =', p.re, ' ', p.im);
readln;
end.
Слайд 16Пайдаланған әдебиеттер:
О.Камардинов. Информатика. І, ІІ-бөлімдер. –Шымкент, 2000.
Е.Б.Шаметов .Паскаль тілін үйренейік -Шымкент,1993
Б.Бөрібаев.
Информатика және компьютер. Алматы, 1996.
Т.К.Досмайлов. Программалау тілі Паскаль. Алматы, 1996.