Мустахкамлаш учун саволлар:
1. Turbo Pascalда қандай янги типларни биласиз
2. Диапазон ва саноқли типларни тушунтиринг.
3. Мантиқий ва сатр типларига мисол келтиринг.
Таянч тушунчалар: диапазон типи, саноқли тип, мантиқий тип, сатр типи, boolean, string
Адабиётлар: [1],[2],[3],[6]
12мавзу
Бир ўлчовли жадвал катталиклар
Режа:
1. Жадвал катталиклар ҳақида тушунча.
2. Жадвал катталиклар бичими.
3. Жадвал катталикларга мисоллар.
4. Break ва Continue стандарт процедуралари.
Математикада ҳар хил тўпламлар ва уларнинг элементидан ташқари ҳар бир элементи ўз индексига эга бўлган, яъни номерланган бир хил типли элементлар тўплами билан иш кўришга тўғри келади. Бундай тўпламлар жадвал катталиклари дейилади.
Масалан, гурух журналида ёзилган талабалар рўйхати. Бунда ҳар бир талаба фамилиясига мос келган рақам мавжуд ёки гурухдаги ҳар бир талабанинг фанлар бўйича тўплаган баллари ва х.к. Демак, журналда ёзилган ҳар бир талаба ўз индекси, яъни тартиб номерига эга бўлар экан.
Замонавий ЭҲМ ларда жуда катта хажмдаги ахборот билан иш кўрилади. Бундай ахборот чизиқли ёки тўғри тўртбурчак кўринишга келтирилади. Юқоридаги масала чизиқли жадвал кўринишда бўлади.
Бир ўлчовли жадвал катталикларида ҳар бир элемент ўзининг битта индексига, икки ўлчовли катталикларида эса ҳар бир элемент ўзининг иккита индексига эга бўлади. Жадвал катталикларни бир-биридан фарқлаш учун уларга ном берилади.
Жадвал номидан сўнг ":" белги қўйилади ва array (жадвал, тартиб) сўзи, ўрта қавс ичида биринчи ва охирги тартиб номерлари ".." орқали ажратиб ёзилади. Ундан кейин of (тегишли) ёрдамчи сўзи ва жадвал элементларининг типи кўрсатилади.
Бичими: var
<Жадвал номи>:array [a..b] of <тип>;
Масалан, элементлари сатр катталиклардан иборат ва guruh деб номланувчи 20 та элементли чизиқли жадвални қуйидагича эълон қилиш мумкин:
guruh:array[1..20] of string[30];
Элементлари ҳақиқий сонлардан иборат бўлган 30 кун давомидаги ўртача ҳароратни билдирувчи чизиқли жадвал берилган бўлса, уни қуйидагича эълон қилиш мумкин:
i
|
1
|
2
|
3
|
4
|
. . .
|
T[i]
|
21
|
22
|
19
|
25
|
. . .
|
t:array[1..30] of real; Бунда t[3]=19,
яъни жадвалнинг учинчи элементи 19 га тенг ёки 19 га тенг бўлган жадвал элементининг индекси 3 га тенг дейилади.
Масала.
Элементлари натурал сонлардан иборат бўлган a[1..20] жадвал берилган. Жадвалдаги энг катта сон неча марта учрашини аниқлаш дастури тузилсин.
program katta;
var
t:array[1..10] of byte;
i,k,s:byte;
begin
for i:=1 to 10 do
begin
write(‘t[‘,i,’]=‘); readln(t[i]);
end;
k=0;
for i:=2 to 10 do
if t[i]>k then k:=t[i];
s:=0;
for i:=1 to 10 do
if t[i]=k then s:=s1;
writeln(‘Макс. эл. сони =‘,s);
end.
4. Break ва Continue стандарт процедуралари.
Repeat, While, For цикл фармойишларида иккита стандарт Break ва Continue процедураларидан фойдаланиш мумкин. Break процедураси цикл шартининг бажарилишини кутмаган ҳолда циклдан чиқиш имкониятини беради. Continue процедураси эса аввалги қадам бажарилмаса ҳам янги қадамни бажарилишини таъминлайди. Шартнинг
бажарилишига қараб, циклдан чиқиш ёки чиқмасликни билдиради.
Масала. Бир ўлчовли жадвалдаги биринчи манфий элемент ва унинг индексини аниқлаш дастури тузилсин.
program J;
const N=10;
Y: Boolean= False;
var
M: array[1..N] of integer;
I: Byte;
begin
WriteLn(‘Жадвал элементларини киритинг’);
for i:=1 to N do;
begin
Write(‘M[‘,i,’]=’);
ReadLn(M[i]);
end;
for i:=1 to N do
begin
if M[i]>=0 then
Continue; {m[i] мусбат бўлса цикл бошига,
акс холда кейинги сатрга ўтиш}
WriteLn(‘биринчи рақам=’);
M[i], ‘Рақам=’, i);
Y:=True;
Break; {Циклдан чиқиш}
end;
if not Y then
WriteLn(‘Манфий сонлар йўқ’);
ReadLn;
end.
Do'stlaringiz bilan baham: |