Ш. И. Раззоќов, М. Д. Юнусова turbo pascal алгоритмик тилида дастурлаш касб-ћунар коллеж талабалари учун ўќув ќўлланма


Download 1.74 Mb.
bet78/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   74   75   76   77   78   79   80   81   ...   96
Bog'liq
Turbo Pascal назария

11.7.1. Турдошлаштирилмаган файллар билан ишлаш учун процедура ва функциялар
Турдошлаштирилган файлларда ишлатиладиган барча процедура ва функциялар турдошлаштирилмаган файлларда ћам ишлатилади. Фаќат бунда Read ва Write процедуралари ўрнида BlockRead ва BlockWrite процедуралари ишлатилади, Reset ва Rewrite процедуралар, маълумотларни узатишда ишлатиладиган ёзув ўлчамини аниќловчи иккинчи Word туридаги параметрга эга бўлади. Агар бу параметр тушириб ќолдирилган бўлса, ёзув ўлчами сукут ћолатида 128 байтга тенг, деб ќабул ќилинади.
Назорат саволлари

  1. Файл деб нимага айтилади?

  2. Физик ва мантиќий файллар таснифлари ўртасида нима фарќ бор?

  3. Массив ва файл ўртасида ќандай ўхшашлик ва фарќ бор?

  4. Турбо Паскалда файллар ќандай белгиларига кўра синфланади?

  5. Файлни очиш учун ќандай иш бажариш керак?

  6. Файлни очиш учун ќандай процедуралар белгиланган ва улар ќандай ишлайди?

  7. Ќайси процедуралар каталоглар билан ишлайди?

  8. Close процедураси нима учун керак?

  9. Rename ва Erase процедуралар ќандай ишларни бажаради?

  10. Турдошлаштирилган файлларни ќандай турларда баён этиш мумкин?

  11. Турдошлаштирилган файлларнинг элементлари ќандай раќамланади?

  12. Турдошлаштирилган файллардан ўќиш ќайси ќоидалар бўйича бажарилади?

  13. Write процедура турдошлаштирилган файллар учун ќандай форматга эга?

  14. Турдошлаштирилган файл элементларидан тўѓридан-тўѓри фойдаланиш учун ќандай процедура ва функциялар бор?

  15. Фойдаланувчи матн файлларининг Input ва Output файлларидан фарќи нимада?

  16. Матн файлларининг хусусиятлари нимада?

  17. Матн файлининг File of Char дан фарќи нимада?

  18. Турдошлаштирилмаган файллар ќандай эълон ќилинади?

  19. Турдошлаштирилмаган файлларнинг турдошлаштирилган файллардан фарќи нимада?

  20. Турдошлаштирилмаган файлларда ќандай процедура ва функциялар ишлатилади?

XII БОБ.


ДИНАМИК ТАСНИФЛИ МАЪЛУМОТЛАР БИЛАН ИШЛАШ

Динамик таснифли маълумотларнинг тармоќли тузилиши V бобда берилган эди


12.1. Динамик хотира


Дастурда эълон ќилинган ћамма ўзгарувчилар тезкор хотиранинг маълумотлар сегменти деб аталувчи битта узлуксиз соћасида жойлаштирилади. Маълумотлар сегментининг узунлиги 80х86 микропроцессорлар архитектураси билан аниќланади ва 65536 байтни ташкил ќилади, бу эса маълумотларнинг катта массивлари билан ишлашда маълум ќийинчиликларни келтириб чиќаради. Бошќа томондан эса, ШК хотира сигими (одатда 640 К байтдан кам эмас) катта ўлчамли маълумотларга эга масалалар билан ишлаш учун етарли. Ћолатдан чиќишга динамик хотира хизмат ќилади.
Динамик хотира – бу маълумотлар сегменти (64Кбайт), стек (одатда 16 Кбайт) ва дастур танаси учун кетган сигимлар олиб ташлангандан кейин дастурга, унинг иши ваќтида бериладиган, шахсий компьютернинг тезкор хотира ќисми. Динамик хотира ўлчами кенг чегараларда фарќланиши мумкин. Сукут саќланганда у компьютернинг ишлатиш мумкин бўлган ћамма хотира ўлчами билан (200…300 Кбайтдан кам эмас) аниќланади.
Динамик хотира – бу катта ўлчамдаги маълумотлар массивларини ќайта ишлашнинг ћаќиќий ягона имконияти. Кўпчилик амалий масалаларни динамик хотирани ишлатмасдан туриб ечиш ќийин ёки мумкин эмас. Шунингдек, динамик хотира, ШК нинг график ва товуш воситалари билан ишлашда маълумотларни ваќтинча эслаб ќолишда кенг ишлатилади.
Маълумотларни динамик жойлаштириш динамик хотирани бевосита дастур иши ваќтида ќўллашни билдиради. Бундан фарќ ќилиб, статик жойлаштириш Турбо Паскалнинг компилятори томонидан дастурни компиляция ќилиш жараёнида амалга оширилади. Динамик жойлаштиришда, олдиндан турлар ћам, жойлаштириладиган маълумотлар сони ћам маълум бўлмайди, уларга статик ўзгарувчилардаги каби исми билан мурожаат ќилиш мумкин эмас.

12.2. Адреслар ва кўрсаткичлар


Шахсий компьютер тезкор хотираси, ахборотни саќлаш учун элементар ячейкалар-байтлар тўпламидан иборат. Бу ячейкаларнинг ћар бири ўз шахсий раќамига эга. Бу раќамлар адреслар дейилади, улар хотиранинг ихтиёрий байтига мурожаат ќилишга имкон беради.
Турбо Паскал, дастурчи ихтиёрига кўрсаткичлар, деб аталувчи динамик хотирани бошќариш, воситасини беради. Кўрсаткич – ќиймати хотира байти адресига тенг бўлган ўзгарувчидир.
Шахсий компьютерда адреслар, иккита сегмент ва силжиш деб аталувчи ўн олти хонали сўзлар тўплами билан берилади. Сегмент узунлиги 65336 байт (64 Кбайт) га тенг бўлган ва 16 га бўлинадиган (яъни 0, 16, 32, 48 ва ћ.к) физик адрес билан бошланадиган хотира ќисмидир. Силжиш керакли адресга мурожаат этиш учун сегмент бошидан нечта байт ўтказиш зарурлигини кўрсатади.
Шахсий компьютер адрес макони 1 Мбайтни ташкил ќилади (гап шахсий компьютернинг стандарт хотира деб аталувчи хотираси тўѓрисида бораяпти; 80386 ва ундан юќори процессорли замонавий компьютерларда адресли макон 4 Г байтни ћосил ќилади, лекин Турбо Паскалда ќўшимча хотиралар билан ишни ќувватловчи воситалар йўќ; Borland Pascal with Objects 7.0 мућитини ишлатишда бундай имконият бор). 1 Мбайт чегарасида адресациялаш учун иккита ўн олти хоналик сўзлардан (сегмент ва силжишдан) ќуйидагича ћосил бўладиган, 20 та иккиламчи разрядлар керак, сегмент таркиби чапга 4 хонага силжитилади, бўшаган хоналар ноллар билан тўлдирилади, натижа силжиш таркибидан ћосил бўлади.



Сегмент

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

+

Силжиш

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

=

Адрес

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

12.1. Шахсий компьютерда адреснинг ташкил бўлиш схемаси

16 байтлик хотира бўлаги параграф дейилади, шунинг учун сегмент хотирани параграфгача, силжиш эса – байтгача бўлган аниќликда адреслайди, деб айтиш мумкин. Ћар бир сегментга хотиранинг узлуксиз ва алоћида адресланадиган соћаси мос келади. Сегментлар хотирада бири кетидан иккинчиси, оралиќсиз ёки ќандайдир оралиќ билан, келиши ёки, нићоят бир-бирини ёпиши мумкин. Шундай ќилиб, ўзининг ички тузилишига кўра ихтиёрий кўрсаткич, сегмент ва силжиш деб тушунтириладиган икки сўз тўпламини (WORD туридаги маълумотни) ифодалайди. Кўрсаткичлар ёрдамида динамик хотирада Турбо Паскалда маълум маълумотларнинг ихтиёрий турини жойлаштириш мумкин. Уларнинг фаќат баъзиларигина (BYTE, CHAR, SHORTINT, BOOLEAN) ички ифодалашда бир байтни, ќолганлари эса бир нечта (аралаш) байтни эгаллайди. Шунинг учун, аслида кўрсаткич маълумотларнинг фаќат биринчи байтини адреслайди.


12.3. Хотира таќсимоти


Динамик таркибли маълумотлар баёнлар бўлимида эълон ќилинганда ќандайдир турдаги ўзгарувчининг ўзи эмас, балки унга мурожаат (кўрсаткич) кўрсатилади. Натижада кўрсаткич одатдаги ўзгарувчи, у кўрсатаётган ўзгарувчи эса динамик бўлади.

Дастурда кўрсаткич идентификаторининг ишлатилиши у кўрсатаётган хотира ячейкаси адресига мурожаатни билдиради, унинг идентификаторидан кейин ^ белгини ќўйиш талаб ќилинади.


Дастур иши ваќтида динамик ўзгарувчилар учун хотира ажратиш ва бўшатиш New, Dispose, GetМет, FreeМет, Mark, Release стандарт процедуралари билан бажарилади.
Р кўрсаткичли ўзгарувчи уч хил ћолатда бўлиши мумкин.

  1. Х отирадан олдиндан ажратилган ќандайдир бир ўзгарувчининг адресига эга бўлиш:




  1. Махсус бўш nil адресга эга бўлиш:




  1. Ноаниќ ћолатда бўлиш:

Бу ћолатда кўрсаткич дастур иши бошида, у биринчи аниќ адресни ёки бўш nil адресни ўзлаштиргунча, шунингдек у кўрсатаётган хотира соћаси бўшатилгандан кейин бўлади.


nil ва ноаниќ ћолат ўртасидаги фарќ:



Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   74   75   76   77   78   79   80   81   ...   96




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