Динамикалық облыс
1 Динамикалық облыс.
2. Жазба. Байланысты тізімдер
2. Жазба. Байланысты тізімдер
Программамен жұмыс істеу кезінде әдетте айнымалылар мен тұрақтылардың жадтың қай орнына жазылатыны ескерілмейді де, олардың атаулары бойынша жұмыс істей беріледі. Бұл әдіс жалпы талапты қанағаттандырмайтын жағдайлар да бар. Мысалы, массивтермен жұмыс істеу үшіп оларды алдын ала сипаттап (жадтан орындар бөліп) қою керек. Кіші көлемді массивпен жұмыс істеу кезінде үлкен орын болу жадты үнемді пайдалану төсіліне жатпайды. Кейде 64 Кбайттан артық орын алатын үлкен келемді деректермен жұмыс істеуге тура келеді. Турбо Паскальда бір типті деректер үшін 64 Кбайттық, орын бөлінеді де, біраз орын бөлінген соң орын жетіспегені жөнінде хабар беріп, компьютер тоқтап қалады. Мұндай жағдайда не әшейінде де, жадты ұтымды пайдалану әдісі — көрсеткішті және динамикалық облысты пайдалану.
Көрсеткіш (Роinter) — басқа айнымалыға сілтемені (басқа сөзбен айтқанда, деректер сақталатын жад облысының кездейсоқ адресін) сақтайтын айнымалы (4-сурет)
Көрсеткіш (Роinter) — басқа айнымалыға сілтемені (басқа сөзбен айтқанда, деректер сақталатын жад облысының кездейсоқ адресін) сақтайтын айнымалы (4-сурет)
1. О.Камардинов Информатика – «Турбо Паскаль тілінде программалау»бөлімі,
2. Алматы «Ғылым» ғылыми баспа орталығы 2004ж.
3. О.Сейітқұлов «Программалау тілі» - Алматы 2002ж.
2. Алматы «Ғылым» ғылыми баспа орталығы 2004ж.
3. О.Сейітқұлов «Программалау тілі» - Алматы 2002ж.
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 5 бет
Таңдаулыға:
Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 5 бет
Таңдаулыға:
1.Динамикалық облыс.
Программамен жұмыс істеу кезінде әдетте айнымалылар мен тұрақтылардың
жадтың қай орнына жазылатыны ескерілмейді де, олардың атаулары бойынша
жұмыс істей беріледі. Бұл әдіс жалпы талапты қанағаттандырмайтын жағдайлар
да бар. Мысалы, массивтермен жұмыс істеу үшіп оларды алдын ала сипаттап
(жадтан орындар бөліп) қою керек. Кіші көлемді массивпен жұмыс істеу
кезінде үлкен орын болу жадты үнемді пайдалану төсіліне жатпайды. Кейде 64
Кбайттан артық орын алатын үлкен келемді деректермен жұмыс істеуге тура
келеді. Турбо Паскальда бір типті деректер үшін 64 Кбайттық, орын бөлінеді
де, біраз орын бөлінген соң орын жетіспегені жөнінде хабар беріп, компьютер
тоқтап қалады. Мұндай жағдайда не әшейінде де, жадты ұтымды пайдалану әдісі
— көрсеткішті және динамикалық облысты пайдалану.
Көрсеткіш (Роinter) — басқа айнымалыға сілтемені (басқа сөзбен
айтқанда, деректер сақталатын жад облысының кездейсоқ адресін) сақтайтын
айнымалы (4-сурет)
Керсеткіш Әдеттегі айнымалы
4-сурет. Айнымалы көрсеткіш
Көрсеткіштің сипатталу түрі:
атау : ^тип; не атау: Pointer
атау — көрсеткіш атауы; тип — көрсеткіш сілтейтін әдеттегі ай-нымалылар
типі (яғни көрсеткіш (сілтеме) күрделі деректер типтерінің бірі);^—
сипатталған айнымалының көрсеткіш екенін білдіру белгісі. Мысалы, Interger
типті айнымалы облысын Р көрсеткіші арқылы сипаттау арқылы var Р:^interger;
арқылы жазылады.
Көрсеткішке деректерді меншіктеу жөне оқу үшін көрсеткіш атауының соңына
^белгісін қойып жазу керек. Мысалы, р^:=25;write(p^); (Меншіктеу
операторының орнына әдеттегідей енгізу операторын пайдадану да мүмкін:
геаd(p^)).
Роinter көрсеткіші — айнымалыны жалпы түрде (типке байланыссыз) сипаттау.
Динамикалық облыс - программа мен деректер үшін әдетте бөлінетін сегменттен
басқа, Р көрсеткіші пайдаланатын (көрсететін)жад облысы. Оны "Үйінді
(Куча)" деп те атайды. Динамикалық облыстан Р адресін таңдау операторлары:
NEW (P) не Getmen(P,‹Облыс көлемі›)
Динамикалық облыстан NEW операторы таңдайтын облыс ете үлкен болуы да
мүмкін. Getmem арқылы таңдалатын облыс бүтін санмен (байтпен) беріледі, оны
Облыс көлемі орнына қолдан енгізу керек, ол 65521-тен аспайтын кез
келген сан болуы мүмкін.
NEW не Getmem операторын енгізу алдында көрсеткіш бос болып, ешнәрсеге
сілтеме жасамайды. Ал, көрсеткіш пайдаланған соң оның ішіндегісін өшіріп,
адресті бос етіп қойған дұрыс. Ол орындалмаса, программа бір мезетте
кезекті динамикалық айнымалыны жасай алмай қалуы мүмкін.
Көрсеткішті адреске көрсетуден босату операторлары:
Dispose (P)
... жалғасы
Программамен жұмыс істеу кезінде әдетте айнымалылар мен тұрақтылардың
жадтың қай орнына жазылатыны ескерілмейді де, олардың атаулары бойынша
жұмыс істей беріледі. Бұл әдіс жалпы талапты қанағаттандырмайтын жағдайлар
да бар. Мысалы, массивтермен жұмыс істеу үшіп оларды алдын ала сипаттап
(жадтан орындар бөліп) қою керек. Кіші көлемді массивпен жұмыс істеу
кезінде үлкен орын болу жадты үнемді пайдалану төсіліне жатпайды. Кейде 64
Кбайттан артық орын алатын үлкен келемді деректермен жұмыс істеуге тура
келеді. Турбо Паскальда бір типті деректер үшін 64 Кбайттық, орын бөлінеді
де, біраз орын бөлінген соң орын жетіспегені жөнінде хабар беріп, компьютер
тоқтап қалады. Мұндай жағдайда не әшейінде де, жадты ұтымды пайдалану әдісі
— көрсеткішті және динамикалық облысты пайдалану.
Көрсеткіш (Роinter) — басқа айнымалыға сілтемені (басқа сөзбен
айтқанда, деректер сақталатын жад облысының кездейсоқ адресін) сақтайтын
айнымалы (4-сурет)
Керсеткіш Әдеттегі айнымалы
4-сурет. Айнымалы көрсеткіш
Көрсеткіштің сипатталу түрі:
атау : ^тип; не атау: Pointer
атау — көрсеткіш атауы; тип — көрсеткіш сілтейтін әдеттегі ай-нымалылар
типі (яғни көрсеткіш (сілтеме) күрделі деректер типтерінің бірі);^—
сипатталған айнымалының көрсеткіш екенін білдіру белгісі. Мысалы, Interger
типті айнымалы облысын Р көрсеткіші арқылы сипаттау арқылы var Р:^interger;
арқылы жазылады.
Көрсеткішке деректерді меншіктеу жөне оқу үшін көрсеткіш атауының соңына
^белгісін қойып жазу керек. Мысалы, р^:=25;write(p^); (Меншіктеу
операторының орнына әдеттегідей енгізу операторын пайдадану да мүмкін:
геаd(p^)).
Роinter көрсеткіші — айнымалыны жалпы түрде (типке байланыссыз) сипаттау.
Динамикалық облыс - программа мен деректер үшін әдетте бөлінетін сегменттен
басқа, Р көрсеткіші пайдаланатын (көрсететін)жад облысы. Оны "Үйінді
(Куча)" деп те атайды. Динамикалық облыстан Р адресін таңдау операторлары:
NEW (P) не Getmen(P,‹Облыс көлемі›)
Динамикалық облыстан NEW операторы таңдайтын облыс ете үлкен болуы да
мүмкін. Getmem арқылы таңдалатын облыс бүтін санмен (байтпен) беріледі, оны
Облыс көлемі орнына қолдан енгізу керек, ол 65521-тен аспайтын кез
келген сан болуы мүмкін.
NEW не Getmem операторын енгізу алдында көрсеткіш бос болып, ешнәрсеге
сілтеме жасамайды. Ал, көрсеткіш пайдаланған соң оның ішіндегісін өшіріп,
адресті бос етіп қойған дұрыс. Ол орындалмаса, программа бір мезетте
кезекті динамикалық айнымалыны жасай алмай қалуы мүмкін.
Көрсеткішті адреске көрсетуден босату операторлары:
Dispose (P)
... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz