I дастурлаш тиллари, уларнинг классификацияси pascal дастурлаш тили



Download 442 Kb.
bet20/29
Sana23.07.2022
Hajmi442 Kb.
#842416
TuriИнструкция
1   ...   16   17   18   19   20   21   22   23   ...   29
Bog'liq
turbo pascal

Мустахкамлаш учун саволлар
1. Икки ўлчовли жадвални тушунтиринг.
2. Икки ўлчовли жадвалнинг бичими.
3. Икки ўлчовли жадвалга мисол келтиринг.

Таянч тушунчалар
1. Икки ўлчовли жадвал.
2. Икки ўлчовли жадвалнинг ўлчами.
3. Икки ўлчовли жадвалнинг бичими.
4. Жадвални эълон қилиш.
5. Жадвал константа.

Адабиётлар: [1],[2],[5]
14-мавзу
Берилмаларнинг структураланган типлари

Режа:
1. Тўпламлар.


2. Ёзув типлар.

1. Pascal тилида берилган иҳтиёрий тўплам ва унинг элементлари билан ҳам иш кўриш мумкин. Тўплам элементларининг сони 256 тадан ортиб кетмаслиги талаб


қилинади. Тўплам элементларида ord функцияси 0 дан 255 гача бутун сонли қиймат беради.
Тўплам типини эълон қилишда set of ёрдамчи сўзларидан фойдаланилади ва бу сўзлардан кейин диапазон типи ёки саноқли типлардаги каби тўплам элементлари эълон қилинади. Тўплам типида ҳам константалардан фойдаланиш мумкин.
Масалан:
type
a=set of ‘a’..’b’;
b=set of (Qosh, ayir, kop, bol);
c=set of 0..9; d=set of’0’..’9’;
var
kh:a; amal: b;
const
j:c=[0,2,4,6,8];
rb:d=[‘0’..’9’]

Тўплам типини бевосита var сўзидан кейин ҳам эълон қилиш мумкин.


Масалан,
var
a:set of ’a’..’b’;
b:set of (Qosh, ayir, kop, bol);
const
j:set of 0..9=[0,2,4,6,8];
rb:set of ‘0’..’9’=[‘0’..’9’];
Тўплам элементлари учун қуйидаги амаллар ўринли "" -(бирлашма), "-" - (айрима), "*" - (кесишма), "" - тенг, "<>"- тенг эмас, "< ёки >"- қисм тўплам, "in" - чап томондаги тўпламнинг ўнг томондаги тўпламда ётиши ёки ётмаслигини текшириш.

2. Ёзув типи майдонлар деб номланувчи компонентлардан иборат бўлиб, бу компонентларнинг типлари ихтиёрий бўлиши мумкин. Ёзув типини аниқлашда record ва end хизматчи сўзларидан фойдаланилади. Бу сўзлар

орасида барча майдонлар ва уларнинг типлари эълон қилинади. Ҳар бир майдон «;» белгиси ёрдамида якунланади.
Масалан,
type
Complex=record;
Re:real;
Im:real
end;
Бундай аниқланган тип номи Complex дан иборат. Complex нинг объектлари Re ва Im майдонлардан иборат бўлиб, улар real типдадир.
Программада x ва y ўзгарувчилар Complex типли бўлса, уларнинг ҳар бирида иккитадан майдон бўлади:
var x,y:Complex;

Майдонларга мурожаат қилиш учун ёки майдон ўзгарувчиларига қиймат бериш учун ўзгарувчи номи, нуқта белгиси ва майдон номи ёзилиб, одатдаги ўзгарувчилар каби иш юритилади.


Бизнинг мисолимизда Complex типли ёзув орқали комплекс сонларни ифодалаш мақсадида унинг ҳақиқий қисмини ва мавхум қисмини m сўзлари ёрдамида аниқлаб олдик. x ва y лар эса Complex типли бўлганлиги учун, уларнинг ҳар бири иккитадан ҳақиқий ва мавхум қисмлари учун аниқланган майдонларга эга. Ушбу майдонларга мурожаат қилиш x.Re ва x.Im ёки y.Re ва y.Im каби амалга оширилади.
x.Re, x.Im, y.Re ва y.Im лардан биз кўриб утган ўзгарувчилар каби иш олиб борилади.
Комплекс сонларини белгилаш учун унинг ҳақиқий ва мавхум қисмларини майдонлар сифатида қараш мумкин.
Ёзувдаги майдонларга мурожаат қилишда ёзув номини ёзмаслик учун with операторидан фойдаланилади.
Бичими:
with<ўзгарувчи>do<оператор>

Масалан,
with x do begin


Re:=3.1;
Im:=276;
end;
Юқорида киритилган типлардан фойдаланиб, икки комплекс соннинг кўпайтмасининг дастурини қуйидагича тузиш мумкин:
program Maltiply;
type
Complex=record
Re:Real;
Im:Real
end;
var x,y,malt:Complex;
begin
readln(x.Re, x.Im);
readln(y.Re, y.Im);
with malt do
begin
Re:=x.Re*y.Re-x.Im*y.Im;
Im:=x.Re*y.Im+x.Im*y.Re;
writeln;
writeln('(',x.Re:3:1,'+i',x.Im:3:1,')*(',y.Re:3:1,'+i',y.Im:3:1,')');
writeln('=', Re:3:1, '+i', Im:3:1, ';');
end
end.

Талабалар ҳақидаги маълумот ёзувини аниқлашда талабаларнинг фамилияси - fio, туғилган йили - ty, яшаш жойи yj ва бошқаларни майдон сифатида қабул қилиш мумкин.


Ёзув типидаги ўзгарувчиларни массив ўзгарувчиларга ухшатиш мумкин, агар массив ўзгарувчининг ҳар бир элементи турли типда бўлиши мумкин бўлса ва фойдаланишда қавсларни ташлаб юбориб, массив номи билан индекс ўртасига нуқта қуйилса, индекс сифатида

идентификатор олинса ёзув типидаги ўзгарувчи ҳосил бўлади.

Масала. Икки кишининг бир бири билан ёши тенг ёки тенг эмаслигини аниқлаш дастури тузилсин.
program tengqur;
type
t=record;
f:string[20];
yosh:byte;
end;
var
x,y:t;
begin
write(‘Биринчи киши фамилияси ва ёши -‘);
readln(x.f,x.yosh);
write(‘Иккинчи киши фамилияси ва ёши –‘);
readln(y.f,y.yosh);
if (x.yosh=y.yosh) then writeln(x.f,’ва’,y.f,’лар тенгкур’)
else writeln(x.f,’ва’,y.f,’лар тенгкур эмас’);
end.


Download 442 Kb.

Do'stlaringiz bilan baham:
1   ...   16   17   18   19   20   21   22   23   ...   29




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish