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



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

Мустахкамлаш учун саволлар
1. Turbo Pascalда функция қандай тузилади.
2. Процедуранинг функциядан фарқи нима.
3. Функцияга мисол келтиринг.

Таянч тушунчалар: функция, функция бичими, функцияни эълон қилиш, functiоn.

Адабиётлар: [1],[2]
17мавзу
Файллар билан ишлаш

Режа:
1. Файл ҳақида тушунча.


2. Турланган файллар
3. Турланмаган файллар.
4. Матнли файллар.
Шу пайтгача қаралган ҳосилавий турларнинг мухим хусусияти шундан иборатки, улар олдиндан берилган чекли компоненталардан иборат эканлигидир. Бу эса дастур бажарилмасдан олдин шу турдаги ўзгарувчиларнинг қийматлари учун машина хотирасидан зарур хажмдаги жой ажратиш имконини берар эди. Аммо маълум бир синф масалалари учун олдиндан компоненталар сонини аниқлаш имкони йук, улар масалани ечиш жараёнида аниқланиши мумкин. Бу холларда бир хил турдаги ихтиёрий элементлар кетма-кетлигидан иборат бўлиб, уларнинг узунлиги олдиндан номаълум бўлиб, хисоблаш жарёнида аниқланадиган турга зарурат туғилади. Pascal тилида бу талабга жавоб бнерувчи тури - файлли тури аниқланган. Стандарт Pascalда фақат кетма-кет мурожат қилувчи файллар қаралади, яъни файл бўйича кетма-кет биринчи элементидан бошлаб қаралади. Масалан файлни 10 элементига бориш учун ундан аввалги 9 та элементини қараб чиқиш керак. Бундай файллар кетма-кет файллар ёки кетма-кет мурожаат қилиш усулидаги файллар дейилади. Кетма-кет файлда ҳар бир дакикада фақат кейинги битта элементга мурожаат қилиш мумкин. Агарда масалани ечиш жараёнида файлнинг бирор олдинги элементга мурожаат қилишга тўғри келса, у холда файлни бошига қайтиб биринчи элементдан бошлаб кетма-кет ҳаракатланиб керакли элементга келинади.
Pascalда файлли тур қуйидаги кўринишда аниқланади:
<файлли тури> := file оf <компонентанинг тури> ёки
рacked file оf <компонентани тури>
бу ерда file, оf, рacked - хизматчи сўзлар, <компонентани тури>-эса Pascalдаги файл туридан ёки файл турини уз ичига олувчи турдан фарқли ҳар қандай турнинг номи ёки унинг берилиши.
Одатда файлли тур ишлатишга турлар бўлимида ёки ўзгарувчилар бўлимида киритилади, масалан:
1) tyрe letter = ‘a’. . ‘z’;

var tekst: file оf letter;


2) var tekst: file оf ‘a’. . ‘z’;
Файллар - бу шундай воситаки, у ёрдамида дастур ташки дунё билан алока боғлайди.
Файл туридаги ўзгарувчилар устида хеч қандай амал аниқланмаган. Файлнинг компоненталари устида эса компонентанинг турига мос амаллар аниқланган бўлиши мумкин.
Шуни таъкидлаш керакки, Турбо-Pascal тилида дастурнинг ташқи мухит билан алокаси мантиқий ва физик файллар аппарати орқали амалга оширилади.
Турланган файллар сонлар, белгилар ва улардан ташкил топган структураларнинг машинавий тасвиридан иборат. Улар берилганларни ЭҲМ хотирасида қандай сақланса худди шундай холда сақланади. Шунинг учун турланган файллар ёрдамида дастурнинг ишчи хотираси ва дискдаги маълумотларни айирбошлаш мумкин, лекин тўғридан -тўғри берилганларни экранга чиқариш мумкин эмас.
Турланмаган файллар ҳам берилганларни машинавий тасвиридан иборат. Бу файлнинг турланган файлдан фарқи шундан иборатки турланган файл олдиндан эълон қилинган турдаги берилган билан ишлайди, турланмаган файллар эса берилганларнинг тузилишига ва мохиятига боғлиқ бўлмаган байтлар мажмуаси билан ишлайди.
Ихтиёрий турдаги файл турларда маълумотларни сақлашнинг энг кичик бирлиги байт ҳисобланади. Файллар билан ишлаш принципи ҳамма файллар учун бир хил бўлиб энг аввал файл ўзгарувчиларни физик файллар билан боғлаш керак.
Программада эълон қилинган файл ўзгарувчилар қиймат бериш операторларида қатнашмаслиги лозим.
Процедура функциянинг сарлавхасида рамзий параметр сифатида ишлатилаётган ихтиёрий турдаги файл ўзгарувчилар var параметр сифатида эълон қилиниши керак.
Турланган файл синтаксиси қуйидагича аниқланади:
<турланган файлни берилиши>:=file оf < тур>
Турланмаган файл синтаксиси эса қуйидагича аниқланади:
<турланмаган файлни берилиши> := file
Турбо-Pascal тилида ихтиёрий турдаги файллар учун стандарт процедуралар аниқланган бўлиб, улардан энг кўп ишлатиладиганлари қуйидагилардан иборат:
assign(f,s) - f файлли ўзгарувчини физик файл билан боғлайди;
reset(f) - мантиқий файл f ни ўқиш учун очади;
rewrite(f) - мантиқий файл f ни ёзиш учун очади;
clоse(f) - мантиқий файл f учун ўқиш-ёзиш каналини ёпади.
Турланган файл очилгандан кейин берилганларни киритиш - чиқариш қуйидаги стандарт операторлар ёрдамида амалга оширилади:
read(f,<номлар рўйхати>), write(f,<номлар рўйхати>).
Биринчи аргумент - мантиқий файлни номи, ундан кейин эса файл компонентасини турига мос келувчи ўзгарувчи (ўзгарувчилар) бўлиб, унга ўқиш (read) пайтида файлнинг навбатдаги қиймати ёзилади, ёки тескариси ёзиш(write) пайтида ўзгарувчи қиймати файлга ёзилади.
Турланмаган файллар учун қуйидаги процедураларни ишлатиш мумкин, яъни reset(f,buf) ёки rewrite(f,buf), бунда buf - файлга бир марта мурожаат қилганда ўқиш ёки унга ёзишдаги байтлар сони (блок ўлчами). Блокнинг энг кичик ўлчами 1- байт бўлиши мумкин.
Турланмаган файлларда берилганларни ўқиш ёки унга ёзиш учун қуйидаги процедураларни ишлатиш керак:
blоckread(f,d,c,r) ва blоckwrite(f,s,c,w)
бу ерда f -файл номи, d - маълумотлар ўқиладиган ўзгарувчи, s - маълумотлар ёзиладиган ўзгарувчи, с- ўқилиши керак бўлган блоклар сони, r ва w ўзгарувчилар эса қатнашиши шарт бўлмаган ўзгарувчилар бўлиб, улар
ўқиш-ёзиш процедуралари ёрдамида уқилган (ёзилган) блоклар сонини билдиради.

Матн файли деб - ASCII кодлари ҳамда кенгайтирилган ва бошқарувчи кодлардан ташкил топган файлга айтилади. Матн файллари сатрлар бўйича ташкил топган бўлиб, файл охири деб номланувчи махсус коддан ташкил топган бўлади. Матнли файл ихтиёрий маълумотларни (сонни, белгини, сатрни) белгилар кетма-кетлиги кўринишда сақлайди.


Масалан, Pascal тилида ёзилган дастур ҳам матнли файл ҳисобланади. Ундан ташқари маълумотларни бир қисми сатрларга ҳам бўлиниши мумкин. Сатр охирини аломати бўлиб 13 код ҳисобланади ва у сатрни ўтказиш белги(10 код) билан бирлаштирилиши мумкин, матнли файлнинг охири ^z»(26 код) белги билан белгиланади. Сон, сатр ва мантиқий қийматларни ёзишда улар белгили кўринишга ўзгартирилади, ўқишда эса сон ва сатрлар матнли кўринишдан машинавий кўринишга автоматик равишда ўзгартирилади.
Матнли файллар билан ишлашда файлли ўзгарувчини киритиш керак
var f: text;
ва уни физик файл билан assign процедураси орқали боғлаш керак, ундан кейин файлни очиш мумкин. Шуни таъкидлаш керакки матнли файл билан «file оf char» туридаги турланган файл билан бир хил эмас.
Матнли файлни reset, rewrite ёки aррend(f) процедуралари орқали очиш мумкин, бунда охирги процедура матнли f файл охирига ёзиш учун очади. Ундан ташқари матнли файлни очишдан олдин ўқиш-ёзиш амаллари учун буфернинг ўлчамини қуйидаги процедуралар орқали ўрнатиш мумкин:
settextbuf(f,nbuf,buf);
бу ерда f -матнли файл номи, buf - буферга мўлжалланган ўзгарувчининг номи, nbuf - буфернинг байтдаги ўлчами.

Матнли ва сонли маълумотларни ўқиш ва ёзиш қуйидаги процедуралар ёрдамида амалга оширилади:


ўқиш: read(f,x), read(f,x1,x2,. . . ,xn) ёки сатрни ўтказиш билан - readln(f,x), readln(f,x1,x2,. . . ,xn).
ёзиш: write(f,x), write(f,x1,x2,. . . ,xn) ёки сатрни ўтказиш билан -writeln(f,x), writeln(f,x1,x2,. . . ,xn).

Download 442 Kb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   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