Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Файлдар






    Паскаль тіліндегі файл дегеніміз – саны шектелмеген бір типті мә ліметтердің реттелген жиыны. Файлдар негізінен мә ліметтерді сақ тауғ а, жинауғ а жә не ө ң деуге арналғ ан. Файлдардың ең басты ерекшелігі – олар оперативтік жадыда емес, сыртқ ы жадыда сақ талады. Бұ дан файлдар - ө ң деуге арналғ ан ақ параттарды сақ тау жә не жинақ тау ү шін пайдаланылады деуге болады. Яғ ни, файлдық тип программаны компьютердің сыртқ ы қ ұ рылғ ыларымен байланыстыратын жалғ ыз тип болып табылады.

    Паскаль тілінде файлдық типті ү ш тү рге бө ліп қ арастыруғ а болады:

    типтелген файлдар;

    текстік файлдар;

    типтелмеген файлдар. Типтелген файл дың кез келген компонентінің ұ зындығ ы тұ рақ ты болып табылады, себебі компонент типі сипаттау кезінде анық талады да, ә рбір компонентке белгілі бір жады кө лемі бө лінеді. Бұ л файлдың ә рбір компонентіне реттік номері бойынша тікелей қ атынауғ а мү мкіндік береді.

    Типтелген файлдарды сипаттауғ а 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 байтқ а ығ ысқ ан байт адресінен тұ ратын кө рсеткішке тү рлендіреді.

    Қ осымша:

     

     

    Бү тін типтер
    Тип атауы Жадыдан алатын орны, байт Мә ндер диапазоны
    Byte   0..255
    ShortInt   -128..+127
    Word   0..65535
    Integer   -32768..+32767
    LongInt   -2 147 483 648..+2 147 483 647

     

    Нақ ты типтер
    Жадыдан алатын орны, байт Тип атауы Нақ ты мә нге ие цифрлар саны Мә ндер диапазоны
      Real 11..12 -39..+38
      Double 15..16 -324..+308
      Extended 19..20 -4951..+4932
      Comp 19..20 -2*1063 +1..+2*1063 -1

     

    Мазмұ ны:

    1. 1. Прог-у тіл-ң классификациясы

    2. 2. Паскаль тіл-ң нег эл-і, станд функ-р, айнымалы-р, тұ рақ ты-р

    3. 3. Прог қ ұ рылымы, қ ызм сө з-р, комментарийлер

    4. 4-𝟧. Меншіктеу операторы, енгізу, шығ ару, сызық ты прог-у






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.