Читайте также: |
|
1. Типтелген файлдың компоненттері қандай мәннен бастап нөмірленеді?
2. Қандай процедура арқылы типтелген файлдың қажетті компонентіне файлдың көрсеткішін жылжытуға болады?
3. Типтелген файлдың компоненттерінің типтері қандай болуы мүмкін?
4. Filepos қандай нәтижені қайтарады?
5. ASSIGN процедурасының параметрлері қандай?
11– дәріс. Мәтіндік және типтелмеген файлдар
Мәтіндік файлдар мәтіндік ақпаратты сақтау үшін қолданылады. Мәтіндік файлдың компоненттерінің ұзындығы айнымалы болуы мүмкін (Ұзындығы айнымалы болатын қатарлардың жиынтығы мәтіндік файл болып табылады). Осындай файлдың әрбір қатарын қарастырғанда файлдың тек бірінші қатарынан бастап тізбектеп өңдеуге болады.
Мәтіндік файлды құру кезінде әр жазбадан (жолдан) кейін EOLN арнайы белгісі, ал барлық файлдың соңына EOF белгісі қойылады. Мәтіндік файлдарды құру барысында келесі ASCII кодтары қолданылады:
EOLN – #13 (CR) және #10 (LF);
EOF – # 26
Жазбаларға қатынау үшін READ, READLN, WRITE, WRITELN процедуралары қолданылады.
READ процедурасы. Сандарды, жолдарды, символдарды енгізу үшін қолданылады:
READ (<ф.айн.>, <енгізу тізбегі>);
Мұнда < енгізу тізбегі > - CHAR, STRING типті айнымалылар және бүтін немесе нақты типті айнымалылардан тұратын тізбек.
CHAR типті айнымалыларды енгізгенде файлдан бір символдың оқуы орындалады және оқылған мәнді айнымалы меншіктейді. Егер оқу процедурасын орындау алдында файлдың көрсеткіші кезекті жолдың соңына жетсе, онда (#13 ACCII коды) оқудың нәтижесі болып саналады және файлдың соңы кездессе, онда EOF (# 26коды) символы оқудың нәтижесі болып саналады. Пернетақтадан енгізгенде CR символы Enter пернесін басу арқылы, ал EOF символы CTRL және Z пернелерін біруақытта басқан кезде енгізіледі.
STRING типті айнымалыларды енгізу кезінде жолдарда орналасқан және процедурамен саналған символдардың саны қатарлардың ұзындығына тең болады, егер CR немесе EOF символдары бұрын кездеспеген болса. Бұл жағдайда CR және EOF символдары қатарларға орналаспайды. Егер мәліметтердің енгізу ағынында символдар саны қатарлардың максималды ұзындығынан артық болса, онда «артық» символдар қатардың аяғына дейін алынып тасталады, ал READ процедурасына жаңадан қатынау бос қатарды қайтарады. Демек, READ процедурасы қатарлар тізбегін оқи алмайды: бірінші қатарды оқуға болады, ал қалғандары бос болып қалады.Қатарлар тізбегін енгізу үшін READLN процедурасын қолдану қажет.
Сандық айнымалыларды енгізу үшін READ процедурасы алдымен енгізу ағынында келесі ереже бойынша ішкі қатарды бөліп алады: бірінші мәні бар символ кездескенге дейін оның алдындағы бос орындар, табуляция символдары және EOLN – қатарлардың соңының маркерлері қарастырылмайды, ал мәні бар символ кездескеннен кейін аталған символдар және EOF символы ішкі қатардың соңы болып саналады. Осылай бөлініп алынған ішкі қатар содан кейін сәйкес типті сандық тұрақтының символдық бейнеленуі ретінде қарастырылады және ішкі бейнеленуіне түрлендіріледі, ал осының нәтижесінде шыққан мән айнымалыға меншіктеледі. Егер ішкі қатарда сандық тұрақтыларды бейнелеудің қажетті форматы бұзылса, онда енгізу-шығару қатесі шығады.
Кезекті бүтін немесе нақты санды енгізген кезде READ процедурасы қатарлар соңының маркерлерін «аттап» өтеді, яғни файл сандардың мәтіндік бейнеленуінен тұратын бір ұзын қатарретінде қарастырылады.
READLN процедурасы. Символдарды, қатарларды, сандарды енгізгенде READLN процедурасын пайдалануға болады. Бұл процедура READ процедурасын ұқсас, тек қана мынадай айырмашылығы бар: соңғы айнымалы оқылғаннан кейін EOLN маркерге дейін қатардың қалған бөлігі қарастырылмайды, сондықтан READLN (немесе READ) процедурасына келесі қатынау жаңа жолдың бірінші символынан басталады.
WRITE процедурасы. Ақпаратты мәтіндік файлға жазу үшін немесе логикалық құрылғыға шығару үшін келесі түрде шақырылады:
WRITE (<ф.айн.>, <шығару тізбегі>) немесе WRITE (<шығару тізбегі>), мұнда <шығару тізбегі> - CHAR, STRING, BOOLEAN бүтін немесе нақты типті өрнектерден тұратын тізбек.
<ф.айн.> файлдық айнымалы TEXT типті айнымалы ретінде баяндалуы қажет және ASSIGN процедурасы арқылы файлдың атымен немесе логикалық құрылғымен байланысуы қажет. Шығару тізбегінің кез келген элементі келесі түрде жазылуы мүмкін:
P[: l [: d] ]
Мұнда P – шығарылатын өрнек.
l – P өрнектің символдық бейнеленуі жазылатын өрістің минималды ұзындығы;
d – нақты сандық бөлшек бөлігіндегі цифрлардың саны.
Егер шығарылатын өрнектің l шығару өрісінің ұзындығы көрсетілмесе, онда шығарылатын өрнектер бөлшектер арқылы бөлінбейді.
Логикалық өрнектер шығарылғанда олардың мәніне байланысты TRUE немесе FALSE қатарлары шығарылады.
WRITELN процедурасы. WRITE процедурасына ұқсас, тек мынадай ерекшелік бар: шығарылатын символдар қатары CR және LF кодтарымен аяқталады. WRITELN процедурасын шақырған кезде <шығару тізбегі> параметрі жазылмаса, онда файлға EOLN маркері беріледі, тбұл экранға шығарылғанда келесі қатардың басына курсордың көшірілуіне келтіріледі.
EOLN логикалық функциясы TRUE мәнін қайтарады, егер енгізілетін мәтіндік файлда қатардың соңының маркері кездессе:
EOLN (<ф. айн.>).
SEEKEOLN (<ф.айн.>) логикалық функциясы қатардың соңының маркеріне дейін немесе мәні бар бірініші символына дейін барлық бос орындарды, табуляция белгілерін аттап өтуге пайдаланылады және TRUE-ді қайтарады, егер маркер кездессе.
SEEKEOF (<ф.айн.>) логикалық функциясы файлдың соңының маркеріне дейін немесе мәні бар бірінші символына дейін барлық бос оырндарды, табуляция белгілерін және EOLN қатардың соңының маркерлерін аттап өту үшін қолданылады және TRUE-ді қайтарады, егер маркер кездессе.
Дата добавления: 2015-07-08; просмотров: 333 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Бақылау сұрақтары | | | Дәріс. GRAPH стандартты модулін қойлдану |