Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Файлдар ⇐ ПредыдущаяСтр 4 из 4
Паскаль тіліндегі файл дегеніміз – саны шектелмеген бір типті мә ліметтердің реттелген жиыны. Файлдар негізінен мә ліметтерді сақ тауғ а, жинауғ а жә не ө ң деуге арналғ ан. Файлдардың ең басты ерекшелігі – олар оперативтік жадыда емес, сыртқ ы жадыда сақ талады. Бұ дан файлдар - ө ң деуге арналғ ан ақ параттарды сақ тау жә не жинақ тау ү шін пайдаланылады деуге болады. Яғ ни, файлдық тип программаны компьютердің сыртқ ы қ ұ рылғ ыларымен байланыстыратын жалғ ыз тип болып табылады. Паскаль тілінде файлдық типті ү ш тү рге бө ліп қ арастыруғ а болады: типтелген файлдар; текстік файлдар; типтелмеген файлдар. Типтелген файл дың кез келген компонентінің ұ зындығ ы тұ рақ ты болып табылады, себебі компонент типі сипаттау кезінде анық талады да, ә рбір компонентке белгілі бір жады кө лемі бө лінеді. Бұ л файлдың ә рбір компонентіне реттік номері бойынша тікелей қ атынауғ а мү мкіндік береді. Типтелген файлдарды сипаттауғ а file of қ ызметші сө зі қ олданылады. Жалпы тү рде жазылуы: Файлдық айнымалы: file of тип; Бұ л жерде тип файлдық типтен басқ а кез келген тип болуы мү мкін. Типтелген файл компоненттері бойымен жылжуды жең ілдету мақ сатында Паскаль тілінде арнайы процедуралар мен функциялар қ арастырылғ ан: fileSize(< файлдық айнымалы>) – файлдағ ы компоненттер санын анық тайтын функция; filePos(< файлдық айнымалы>) – кө рсеткіштің ағ ымдағ ы позициясын анық тайтын функция; seek(< файлдық айнымалы>, n) – кө рсеткішті файлдың n номерлі компонентіне жылжытатын процедура; Типтелмеген файлдарды сипаттау кезінде оның компоненттерінің типі кө рсетілмейді. Типтелмеген файлдарды сипаттау Паскаль тілінде келесі тү рде жү зеге асырылады: Файлдық айнымалы: file; Типтелмеген файлдар кез келген файлмен сә йкестендіріледі жә не типтелген файлдарғ а қ арағ анда тез ө ң деледі. Мұ ндай файлдарғ а ақ паратты енгізу жә не шығ ару блоктап жү зеге асырылады. Типтелмеген файлды мә ліметтер оқ у немесе жазу ү шін ашу кезінде екінші параметр ретінде байттармен файл блогының кө лемі кө рсетіледі. Ү нсіз келісім бойынша блок кө лемі 128 байтқ а тең. Типтелмеген файлдан мә ліметтер оқ у ү шін Blockread процедурасы қ олданылады. Жалпы тү рде жазылуы: Blockread(< файлдық айнымалы>, < компонент>, < компоненттер саны>) Текстік файлдар текстік ақ параттарды сақ тауғ а арналғ ан. Текстік файлдарды сипаттау ү шін text қ ызметші сө зі қ олданылады. Жалпы тү рде жазылуы: Файлдық айнымалы: text; Текстік файл компоненттерінің кө лемі ә ртү рлі болуы мү мкін. Файлдың ә рбір жолымен жұ мыс бірінші жолдан бастап тек тізбектей ғ ана орындалуы мү мкін. Жоғ арыда айтылғ ан типтелген файлдарғ а қ олданылатын процедуралар мен функцияларды текстік файлдарғ а қ олдануғ а болмайды. Текстік файл қ ұ рылғ ан кезде ә рбір жолдың соң ына EOLN (end of line -жолдың соң ы) арнайы белгісі қ ойылады. Кө рсеткіштің жолдың соң ына жеткендігін тексеру ү шін EOLN логикалық функциясы қ олданылады. Жазылуы: EOLN(< файлдық айнымалы>).
2𝟧 -26-41. Динамикалық массивтер Программаның орындалу кезінде массивтегі элементтер санын анық тап, массив ү шін жадыдан қ ажет ө лшемді бө ле аламыз. Массивпен жұ мыс жасалып болғ ан соң, алдың ғ ы бө лінген жадыны босатуғ а болады. Жадыны осылайша бө лу арқ ылы анық талатын массивтер динамикалық деп аталады. х динамикалық массивінің і-ші элементі x^[i] деп жазылады. Динамикалық массивтермен жұ мыс жасау барысында келесі ретті сақ тау керек: кө рсеткіштерді сипаттау керек. жадыдан орын бө лу керек. динамикалық массивті ө ң деу керек. жадыны босату керек. Динамикалық матрица дегеніміз, ә рқ айсысы бір жолды (немесе бір бағ анды) адрестейтін кө рсеткіштер массиві. Динамикалық матрицаның сипатталуын қ арастырайық. Мә ліметтер типі massiv жә не оғ ан кө рсеткіш din_massiv берілген болсын. Type massiv=array[1..1000] of real; Din_massiv=^massiv;
27-42-4𝟧. Сызық ты тізімдер. Стек пен кезек Ө зара кө рсеткіштермен байланысқ ан бір типтік элементтер қ атарын тізім деп атаймыз. Айталық, ө зара кө рсеткіштер тізбегімен байланысқ ан біртипті элементтер қ атары берілсін. Ә рбір элемент, соң ғ ысынан басқ а, мә ліметтерімен қ оса келесі элементке кө рсеткіштен қ ұ ралғ ан болсын. Мұ ндай қ ұ рылым сызық ты бірбағ ытталғ ан тізім деп аталады. Тізім элементі жазба болып табылады. Ө рістері: мә лімет жә не типтік кө рсеткіш. Тізім элементін сипаттау ү шін алдымен типтік кө рсеткіш сипатталады, содан соң оның базалық типі сипатталады: Type lst_ptr=^lst_type; Lst_type=record Data: datatype; Next: lst_ptr; End; Стек – бір типті мә ліметтер тізбегінің арнайы қ ұ рылымы. Бұ л мә ліметтерге ену мү мкіндін алу ү шін стектің тө бесі деп аталатын белгілі бір позиция пайдаланылады. Стектің жеке мә ліметі – оның элементі деп аталады. Стектегі элементтер бірінен соң бірі орналасқ ан. Стек ү шін екі негізгі операция маң ызды орын алады: стекке мә лімет қ осу жә не стектен мә лімет алу. Стекке мә ліметтерді қ осу кезінде ондағ ы мә ліметтер бір позицияғ а ары қ арай жылжып, соң ғ ы элементтің орнына, яғ ни стектің тө бесіне енгілген мә лімет орналасады. Стектен мә ліметті алу кезінде тө бесіндегі мә лімет алынып, барлық элементтер бір позицияғ а жоғ ары жылжиды. Ширет – мә ліметтерді алу тек оның басынан, ал мә ліметтерді қ осу ү шін тек соң ына ғ ана мү мкін болатын біртипті мә ліметтер тізбегінің арнайы қ ұ рылымы. Ширеттің де жеке мә ліметі оның элементі деп аталады. Стектегі сияқ ты ширетте де элементтер бірінің соң ына бірі орналасады. Мұ нда да екі негізгі опеарция: ширетке мә ліметтерді қ осу жә не одан мә лімет алу. Ширетке мә ліметті қ осу кезінде ол ширеттің соң ғ ы элементінің артына орналасып, ө зі соң ғ ы элемент болып кетеді. Ал ширеттен мә ліметті алу кезінде, мә лімет ширеттің басынан алынып, қ алғ ан мә ліметтер бір позицияғ а басына қ арай жылжиды.
29-36-37. Паскаль тілінің графикалық мү мкіндіктері. Graph модулін іске қ осу ү шін программаның модульдерді қ осу бө лімінде UsesGraph деп жазамыз. Графиктермен жұ мыс істеу алдында оғ ан сә йкес келетін монитор режимін орнату қ ажет. Паскаль тілінде алдын ала бекітілген драйверлер саны бар. Графиктік режимді іске қ осу келесі процедураның кө мегімен жү зеге асырылады: InitGraph(var Driver, Mode: integer; Path: string); Графикалық режимде жұ мыс істеуге арналғ ан процедуралар мен функциялар Графиктік режиммен жұ мыс істеуге арналғ ан келесі процедуралар мен функциялар қ арастырылғ ан: CloseGraph процедурасы – графиктік режимді жабуғ а арналғ ан. SetColor процедурасы – бейнеленетін символдар мен тү зулердің тү сін орнатады. GetColor функциясы – ағ ымдағ ы тү сті қ айтарады. GetMaxColor функциясы - GetColor функциясына параметр ретінде беруге болатын ең ү лкен мә нді анық тайды. SetBkColor процедурасы – фон тү сін орнатады. SetPalette процедурасы – палитра тү сін жаң а тү ске ауыстырады. SetFillStyle процедурасы – бояу тү сін жә не нұ сқ асын анық тайды. GetX, GetY – ағ ымдағ ы нү ктенің тік жә не кө лденең координаталар мә нін қ айтарады. MovеTo процедурасы – ағ ымдағ ы кө рсеткішті берілген координата бойынша орналастырады. ClearDevice процедурасы – экранды тазартып, ағ ымдағ ы кө рсеткішті экранның жоғ арғ ы сол жақ бұ рышына орналастырады. PutPixel процедурасы – берілген орынғ а берілген тү с бойынша нү кте салады. Line процедурасы – берілген координаталар бойынша екі нү кте арасына тү зу салады. LineTo процедурасы – ағ ымдағ ы орыннан бастап берілген координатағ а дейін тү зу сызады. SetLineStyle процедурасы – тү зудің жаң а тү рін бейнелейді. Rectangle процедурасы – берілген координаталары бойынша тө ртбұ рыш салады Circle процедурасы – шең бер салады. OutText процедурасы – ағ ымдағ ы орыннан бастап тексті шығ арады.
40. Динамикалық жадымен жұ мыс Динамикалық жады дегеніміз - жалпы жады кө лемінен мә ліметтер сегментін (64Кб), стекті (16Кб) жә не ехе-кодты алып тастағ андағ ы қ алғ ан бө лігі. Жадыны басқ арудың негізгісі – ұ яшық тың немесе байттың адресі. Паскальда жадыны басқ ару ү шін арнайы мә ліметтер типі енгізілген. Бұ л мә ліметтер типі – кө рсеткіштер деп аталады. Кө рсеткіштің мә ні – байттың адресі. Кез-келген динамикалық айнымалы ү шін жады new процедурасы кө мегімен бө лінеді. Оның параметрі болып типтелген кө рсеткіш табылады. Процедураны шақ ыру кезінде кө рсеткіш мә ліметтерді орналастыруғ а болатын динамикалық адреске сә йкес мә нді қ абылдайды. Кө рсеткіштермен жә не динамикалық жадымен жұ мыс жасау кезінде new, dispose процедураларының дұ рыс қ олданылуын жә не адрестермен, динамикалық жадымен жұ мыс жасауды қ адағ алап отыру керек, себебі транслятор мұ ндай қ ателіктерді бақ ыламайды. Осы тектес қ ателер ә серінен компьютер уақ ытша істен шығ уы мү мкін. Кө рсеткіштерді қ олданғ ан кезде пайдаланылатын кейбір функцияларды қ арастырайық. Addr(var x) функциясы х параметрінің адресін береді (нә тиже типі - pointer). Бұ л фунцияғ а сә йкес болатын операция - @, оның операндасы ретінде адресін табу керек болатын объект болып табылады. seg(x) функциясы х параметрінің сегментін табады (типі word). ofs(x) функциясы х параметрінің ығ ысуын береді (типі word). ptr(sg, ofs: word) функциясы sg жә не ofs мә ндерін, sg нө мірі бар сегментте, оның басынан ofs байтқ а ығ ысқ ан байт адресінен тұ ратын кө рсеткішке тү рлендіреді. Қ осымша:
Мазмұ ны: 1. 1. Прог-у тіл-ң классификациясы 2. 2. Паскаль тіл-ң нег эл-і, станд функ-р, айнымалы-р, тұ рақ ты-р 3. 3. Прог қ ұ рылымы, қ ызм сө з-р, комментарийлер 4. 4-𝟧. Меншіктеу операторы, енгізу, шығ ару, сызық ты прог-у
|