Мустахкамлаш учун саволлар
1. Жадвал катталиклари деганда нимани тушансиз
2. Турбо Pascalда неча хил жадвал катталиклар бор
3. Жадвал катталикларга мисол келтиринг.
Таянч тушунчалар: жадвал катталиклар, жадвал катталиклар бичими, жадвал катталиклар ўлчами, Array, Break, Continue.
Адабиётлар [1],[2],[5], [6].
13мавзу
Икки ўлчовли жадваллар
Режа:
1. Икки ўлчовли жадвал ҳақида.
2. Икки ўлчовли жадвалга мисоллар.
3. Жадвал катталикларини эълон қилиш.
Жадвал элементлар ихтиёрий типли шунингдек ностандарт типли ҳам бўлиши мумкин. Жадвал индекслари эса longint типидан ташқари барча бутун типли бўлиши мумкин. Индекс типи сифатида integer ёки word дан унинг диапазонини кўрсатиш мумкин.
Икки ўлчовли жадваллар ҳам бир ўлчовли жадваллар каби ёзилиб, ўрта қавс ичида унинг сатр ва устун элементлари бир биридан вергул орқали ажратиб ёзилади.
Масалан,
k:array[1..15,1..10] of real;
сатри элементлари ҳақиқий сонлардан иборат бўлган 15 та сатр ва 10 та устунли тўғри тўртбурчакли жадвал мазмунини билдиради.
Масала.
Элементлари ҳақиқий сонлардан тузилган a[1..20,1..10] жадвал берилган. Шу жадвал ҳар бир сатр элементлари йиғиндисини топиш дастурси тузилсин.
program jad_кo’p;
var
t:array[1..20,1..10] of real;
i,j:integer; s:real;
begin
for i:=1 to 20 do
begin
for j:=1 to 10 do
begin
write(‘t[‘,i,’,’,j,']=‘); readln(t[i,j]);
end;
end;
for i:=1 to 20 do
begin
s:=0;
for j:=1 to 10 do
s:=st[i,j];
writeln(i,' сатр йи\индиси=‘,s);
end;
end.
Жадвал катталикларни type хизматчи сўзи орқали икки холатда эълон қилиш мумкин:
Бичими:
<жад.номи>=array[] of <тип>; ёки
<жад.номи>=array[] of <тип>;
Жадвал катталикларни эълон қилишнинг иккинчи холида ўрта қавс ўрнига кичик қавс белгисидан фойдаланилади. Кичик қавс очилгандан сўнг ва қавс ёпилишидан аввал нуқта қўйиш керак бўлади.
Бичими:
<жад.номи>=array(..) of <тип>;
ёки
<жад.номи>=array(..) of <тип>;
Масалан,
a=array(.1..30.) of byte;
t=(.1..10,1..15.) of real;
Турбо Pascalда жадвал константа билан ҳам ишлаш имконияти бор. Бундай холларда аввал жадвал эълон қилинади, сўнгра const ёрдамчи сўзидан сўнг жадвал константа ёзилади. Жадвал константа элементлари кичик қавс ичида вергул билан ажратиб ёзилади.
Масалан,
type
t1=array[1,,5] of real;
t2=array[1..4,1..3] of integer;
var
a1,a2,a3:t1; c:t2;
const
e:t1=(43.1,12.14,3.2,5,11.217);
k:t2=((2,2,1,),(1,3,6),(4,1,7),(8,11,3));
Ушбу мисолимизда e-элементлари ҳақиқий сонлардан иборат бўлган бир ўлчовли жадвал константа, k-эса элементлари бутун сонлардан иборат бўлган икки ўлчовли жадвал константа.
Масала. Берилган m1=(1.1,2.1,3.1), m2=(4,5.1,6.1) ва r=((7,8),(9,10),(11,12)) константаларнинг қийматларини экранга чиқариш дастури тузилсин.
program Jadvalkonstanta;
type
a=array[1..3] of real;
b=array[1..3,1..2] of byte;
var
i,j,l:byte;
const
m1:a=(1.1,2.1,3.1);
m2:a=(4,5.1,6.1);
r:b=((7,8),(9,10),(11,12));
begin
writeln;
for i:=1 to 3 do
writeln(m1[i]:2:3,’ ‘, m2[i]:4:3);
for j:=1 to 3 do
for i:=1 to 2 do
write(r[j,i],’ ‘);
end.
Turbo Pascal тилида var сўзи ёрдамида эълон қилинган ва битта сатрга жойлашган жадвал элементларининг бирини иккинчисига нусхалаш мумкин, лекин иккинчи сатрда эълон қилинган, бир хил типли ва индекслар сони тенг бўлса ҳам уларни бирини иккинчисига нусхалаш мумкин эмас.
type орқали эълон қилинган жадвалларда эса жадвал элементларининг тури ва индекслари бир хил бўлган элементларни бирини иккинчисига нусхалаш мумкин.
Масала.
Элементлари ҳақиқий сонлардан иборат бўлган икки ўлчовли жадвал берилган. Шу жадвал ҳар бир сатри элементларининг йиғиндиси ва ўрта арифметикларини топинг.
program jadкnushalash;
type
a=array[1..3,1..4] of real; {а исмли икки ўлчовли жадвал}
var
t,p:a; {t ва p жадвал а жадвал сифатида}
i,j:integer;
s,ort:real;
begin
for i:=1 to 3 do
for j:=1 to 4 do
begin
write(‘t[‘,i,’,’,j,’]=‘); readln(t[i,j]);
end;
for i:=1 to 3 do
begin
s:=0;
for j:=1 to 4 do s:=st[i,j];
writeln(i,’ сатр йиғиндиси =‘,s);
end;
p:=t;
for i:=1 to 3 do
begin
ort:=0;
for j:=1 to 4 do
ort:=ort+p[i,j];
writeln(i, ‘сатр ўрта арифметиги=‘,ort);
end;
end.
Do'stlaringiz bilan baham: |