Turbo pascal ортасындағы файлдар
МАЗМҰНЫ
КІРІСПЕ 3
І. TURBO PASCAL ОРТАСЫНДАҒЫ ФАЙЛДАР
1.1. Файл. программистердің сүйікті сөзі. 4
1.2. Файлдық тип. 7
1.3. Типтелген файлдар 9
ІІ. ФАЙЛДАРМЕН ЖҰМЫС ЖАСАЙТЫН ПРОЦЕДУРАЛАР ЖӘНЕ ФУНКЦИЯЛАР
2.1. Файлдармен жұмыс жасайтын процедуралар және функциялар 15
2.2 Текстік файлдармен жұмыс жасайтын процедуралар және функциялар 23
ҚОРЫТЫНДЫ 24
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР 25
ҚОСЫМША 26
КІРІСПЕ 3
І. TURBO PASCAL ОРТАСЫНДАҒЫ ФАЙЛДАР
1.1. Файл. программистердің сүйікті сөзі. 4
1.2. Файлдық тип. 7
1.3. Типтелген файлдар 9
ІІ. ФАЙЛДАРМЕН ЖҰМЫС ЖАСАЙТЫН ПРОЦЕДУРАЛАР ЖӘНЕ ФУНКЦИЯЛАР
2.1. Файлдармен жұмыс жасайтын процедуралар және функциялар 15
2.2 Текстік файлдармен жұмыс жасайтын процедуралар және функциялар 23
ҚОРЫТЫНДЫ 24
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР 25
ҚОСЫМША 26
КІРІСПЕ
60-70 жылдарда Н.Вирт ойлап шығарған Паскаль тілі қазіргі кезде дүние жүзінде кең тараған программалау тіліне айналды. Қаз Қазіргі кезде Паскаль тілі қолданбалы программалар жазу үшін және жүйелі прораммалау тілі ретінде де кеңінен қолданылады. Паскаль тілі бұрын құрылған (Фортран, Алгол және тағы басқалары) программалау тілдерінен маңызды ерекшелігі ол құрылымдық программалық идеясын өмірге біртіндеп енгізу. Паскаль тілінің тағы бір ерекшелігі ол деректер құрлымының концепциясының алгоритм түсінігімен қатар программалаудың негізінде жатқан фундаментальды түсініктер қатарына кіруі.
Паскаль тілініњ шыѓу тарихына тоќталатын болсаќ. Алгоритмдік тіл АЛГОЛ 1950-60 жылдары шыќќан. Паскаль тілі осы АЛГОЛ-дыњ м±рагері болып табылады. Б±нда енгізу жєне шыѓару процедуралары бар жєне АЛГОЛ тіліне ќараѓанда м‰мкіндігі µте кµп.
BORLAND фирмасыныњ TURBO PASCAL тіл стандартыныњ кењейтілген т‰рі болып табылады. Сонымен ќатар программа ќ±рылуыныњ процесін жылдамдататын жєне жењілдететін интегрерленген ортасы бар. TURBO PASCAL пайда болѓанѓа шейін б±л программалыќ µнім ( алты) версиядан µтті.
60-70 жылдарда Н.Вирт ойлап шығарған Паскаль тілі қазіргі кезде дүние жүзінде кең тараған программалау тіліне айналды. Қаз Қазіргі кезде Паскаль тілі қолданбалы программалар жазу үшін және жүйелі прораммалау тілі ретінде де кеңінен қолданылады. Паскаль тілі бұрын құрылған (Фортран, Алгол және тағы басқалары) программалау тілдерінен маңызды ерекшелігі ол құрылымдық программалық идеясын өмірге біртіндеп енгізу. Паскаль тілінің тағы бір ерекшелігі ол деректер құрлымының концепциясының алгоритм түсінігімен қатар программалаудың негізінде жатқан фундаментальды түсініктер қатарына кіруі.
Паскаль тілініњ шыѓу тарихына тоќталатын болсаќ. Алгоритмдік тіл АЛГОЛ 1950-60 жылдары шыќќан. Паскаль тілі осы АЛГОЛ-дыњ м±рагері болып табылады. Б±нда енгізу жєне шыѓару процедуралары бар жєне АЛГОЛ тіліне ќараѓанда м‰мкіндігі µте кµп.
BORLAND фирмасыныњ TURBO PASCAL тіл стандартыныњ кењейтілген т‰рі болып табылады. Сонымен ќатар программа ќ±рылуыныњ процесін жылдамдататын жєне жењілдететін интегрерленген ортасы бар. TURBO PASCAL пайда болѓанѓа шейін б±л программалыќ µнім ( алты) версиядан µтті.
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР.
1.Ғ.Ш.Тойкенов Паскаль тілінде программалау. Алматы “Дәнекер” 2001 жыл.
2.В.Э.Фигурнов IBM PC для пользователя. Москва “Инфра-М” 1996 год.
3.Е.А.Бурин. Программирование на языке TURBO-PASCAL. Алматы 2000 год.
4.А.И.Марченко Л.А.Марченко. TURBO PASCAL. Киев “Век+” 2000 год.
5.В.И.Грызлов. Т.П.Грызлова. TURBO PASCAL. Москва, ДМК, 1999 год.
6.Н.Б.Культин. “ Программирование в TURBO PASCAL 7.0 и Delphi.”
Санкт-Петербург.1997 год.
7.Л.М.Климова. PASCAL 7.0. Практическое программирование. Москва. 2000 год.
1.Ғ.Ш.Тойкенов Паскаль тілінде программалау. Алматы “Дәнекер” 2001 жыл.
2.В.Э.Фигурнов IBM PC для пользователя. Москва “Инфра-М” 1996 год.
3.Е.А.Бурин. Программирование на языке TURBO-PASCAL. Алматы 2000 год.
4.А.И.Марченко Л.А.Марченко. TURBO PASCAL. Киев “Век+” 2000 год.
5.В.И.Грызлов. Т.П.Грызлова. TURBO PASCAL. Москва, ДМК, 1999 год.
6.Н.Б.Культин. “ Программирование в TURBO PASCAL 7.0 и Delphi.”
Санкт-Петербург.1997 год.
7.Л.М.Климова. PASCAL 7.0. Практическое программирование. Москва. 2000 год.
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 27 бет
Таңдаулыға:
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 27 бет
Таңдаулыға:
МАЗМҰНЫ
КІРІСПЕ 3
І. TURBO PASCAL ОРТАСЫНДАҒЫ ФАЙЛДАР
1.1. Файл- программистердің сүйікті сөзі. 4
1.2. Файлдық тип. 7
1.3. Типтелген файлдар 9
ІІ. ФАЙЛДАРМЕН ЖҰМЫС ЖАСАЙТЫН ПРОЦЕДУРАЛАР ЖӘНЕ ФУНКЦИЯЛАР
2.1. Файлдармен жұмыс жасайтын процедуралар және функциялар 15
2.2 Текстік файлдармен жұмыс жасайтын процедуралар және 23
функциялар
ҚОРЫТЫНДЫ 24
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР 25
ҚОСЫМША 26
КІРІСПЕ
60-70 жылдарда Н.Вирт ойлап шығарған Паскаль тілі қазіргі кезде дүние
жүзінде кең тараған программалау тіліне айналды. Қаз Қазіргі кезде Паскаль
тілі қолданбалы программалар жазу үшін және жүйелі прораммалау тілі ретінде
де кеңінен қолданылады. Паскаль тілі бұрын құрылған (Фортран, Алгол және
тағы басқалары) программалау тілдерінен маңызды ерекшелігі ол құрылымдық
программалық идеясын өмірге біртіндеп енгізу. Паскаль тілінің тағы бір
ерекшелігі ол деректер құрлымының концепциясының алгоритм түсінігімен қатар
программалаудың негізінде жатқан фундаментальды түсініктер қатарына кіруі.
Паскаль тілініњ шыѓу тарихына тоќталатын болсаќ. Алгоритмдік тіл АЛГОЛ
1950-60 жылдары шыќќан. Паскаль тілі осы АЛГОЛ-дыњ м±рагері болып
табылады. Б±нда енгізу жєне шыѓару процедуралары бар жєне АЛГОЛ тіліне
ќараѓанда м‰мкіндігі µте кµп.
BORLAND фирмасыныњ TURBO PASCAL тіл стандартыныњ кењейтілген т‰рі
болып табылады. Сонымен ќатар программа ќ±рылуыныњ процесін
жылдамдататын жєне жењілдететін интегрерленген ортасы бар. TURBO PASCAL
пайда болѓанѓа шейін б±л программалыќ µнім ( алты) версиядан µтті.
I. TURBO PASCAL ОРТАСЫНДАҒЫ ФАЙЛДАР
1.1. Файл- программистердің сүйікті сөзі
Файл Паскаль тілінде бірыңғай типті элементтердің тізбектелуін
ұсынады. Сонымен қатар, дискіде сақталатын, жиі аталатын сыртқы құрылым.
Сыртқы файлдармен өзара қарым-қатынастағы программалардың бастапқы 3
түрін қарастырамыз:оқылу,жазылу, файлдардың оқылу және жазылуы.
Файлдың оқылуы дегеніміз- олар оперативті жадыда орналасқан сыртқы
файлдарға деректерді енгізуді түсіндіреді. Деректер сыртқы файлда тұратын
программаларға енеді.
Файлдың оқылуында программаға қажетті келесі жағдайлар
орындалады:оқылатын файлды ашу (RESET операторы), файлдағы программаға
тиісті енгізетін (READ операторы), оқылған файлды жабу (CLOSE операторы).
Жиі қолданылатын файлдардағы мәліметтер дәл осы түрде де сыртқы
файлда оқылады. Оқылатын файлдың жалпы үлгісі:
RESET(1 аты);
...
READ(1 аты, параметрі);
...
CLOSE(1 аты);
Программалардағы көп нүктелер келесі операторлардың бар екендігін
белгілейді.
Кейбір ЭВМ жағдайында қолданатын бірнеше аргументтер RESET
операторында да болуы мүмкін.
Мысалы: RESET(имя 1,’имя 2’, ‘имя3’, ‘имя4) осындай бірнеше
аргументтерді қарастырсақ:
имя1-айнымалы файл, кәдімгі программаларда қолданылатын файл. Ол
әсіресе физикалық файлдармен байланыс орнатады.
имя2 – физикалық файл аты, дискіде сақталады.
имя3- физикалық файлдың кеңеймесі. Кез-келген3 символды көрсетуі
мүмкін.
Мысалы: PAS, бір сөзбен қолданылатын DAT. Мұнда қысқартылған сөзде
аргумент көрсетілмеуі мүмкін DAT;
имя 4- айнымалы, автоматты түрде берілген мәнді қабылдайды, дискідегі
файлдармен тең жүйеде байланысады. Аргумент мүмкін көрсетілмейді, егерде
көрсетілмесе, онда барлық айнымалы типті жариялау керек. ЭВМ –де байтпен
есептелетін типтердің айырмашылығы әртүрлі болады. Мысалы: блок 512 байттан
тұруы мүмкін, ал бір символ жадыдан бір байтты алады.
Файлда оқылатын мәліметтер, READ операторына енетін барлық қарапайым
операторларды белгілері бойынша иеленеді. Егер READ операторына енетін
түрін атап айтсақ, не болмаса мәліметтерді клавиатурадан енгізсек, ал READ
(имя1, параметрі)-дегі мәліметттер дискіде сақталып, сыртқы файлға енеді.
Файлда есептелген әрбір айнымалының мәнін бір элемент қабылдайды. Осы
белгіден кейін айнымалылар қажетті мәліметтерді автоматты түрде құрады.
Паскаль тілінде соңғы файлға кіретін белгілер, анықталған файл
элементерінің санына шектелмейді. Стандартты кіріктірме функция:
EOF(имя1);
ол ақиқат мәндерді қабылдай отырып, файл соңына жету үшін пайдаланылады.
EOF функциясына циклдік операторды логикалық теңсіздіктер мен
жиліктерді пайдалануына болады, мысалы:
while not EOF (имя1) do
begin
...
end.
Әзірше файл соңына жету үшін программадағы циклдік бөлім қайталанады.
BEGIN_END операторды жабатын жақшалары.
Жол бөлігінде файл элементтері сақталады. Файлдың соңғы жолында
анықталған циклдік оператор
While not eoln(имя1) do
ал келесі айналымда жаңа жолдық файл- READLN(имя1)операторы қолданылады.
Файлдың жазылуы дегеніміз – Жиі аталатын файлдардағы мәліметтер осы
түрде де сыртқы файлда да жазылады. Жазылатын файлдың жалпы үлгісі:
Rewrite(имя1);
...
Write(имя1 параметрі);
...
CLOSE(имя1);
Кейбір кішкене ЭВМ версиясында кездесетін бірнеше аргументтер REWRITE
операторында да болуы мүмкін, мысалы, REWRITE (имя1,’ имя2’,’имя3’, имя4).
Осы берілген аргументтерді атап өтсек: имя1- айнымалы файл, арнайы
программада көрсетілетін файл. Ол әсіресе физикалық түрде құрылған
файлдармен байланыс орнатады.
имя3- физикалық файл кеңейтпесі. Кез-келген 3 символмен бағыттауға
болады, кейде DAT сөзімен де ұсынылады.
имя2-дискіде сақталған физикалық атпен құрылған файл.
имя4- барлық айнымалы типте құрылған файл өлшемін білдіреді.
Файлда жазылған мәліметтерді белгілері бойынша шығаратын қарапайым
WRITE операторы. Осы WRITE шығару операторы дискіде сақталған файлдарға
қажетті мәліметтерді жаза отырып, оларды ретімен экранға шығарады.
Мысал ретінде мына бір программаны қарастырайық:
мәліметтер жазылған файл. Осы программмадағы айнымалы А және В келесі
мәндерді шығарады:
А=510, В=16,2.
Файл аты D2.PAS жолдық түрде жазылады.
Program A21(input, output);
var
F2:text;
L2:integer;
B:real;
A:integer;
begin
L2:=1;
A:=510;
B:=16.2
Rewrite (F2,’A=’,A:3,’ ‘: 5,’B=’, B:4:1);
Close(F2);
end.
мұндағы F2-файлдық айнымалы REWRITE мәліметтер жазылған файлды ашады. WRITE
операторы форматына сәйкес жолдық символдарды шығарады. CLOSE операторы
жазылған файлдарды жабады.
Файлдың жазылуы және оқылуы. Файлдың атқаратын әртүрлі қызметтері
болуы шарт: кейде мәліметтерді бір файлдан оқуға және жазуға қажет етеді,
кейде бір файлдан өшіреді. Файлдың оқылуы және жазылуы программаға
қажетті операторларды бағыттайды немесе оларды жабады.
Файлды оқу және жазу кезінде, келесі файлдарды қолданарда бір бірдей
файлды бір уақытта ашуға болмайды. Жұмысқа қажетті пайда болатын файлдың
оқылуы және жазылуы кезінде алдымен ашу, ондағы мәдіметтерді өңдеп оны жабу
қажет. Содан кейін файлды ашып, ондағы келесі мәліметтер өңделген соң оны
жабады.
1.2. Файлдық тип
Файлдық тип - компоненттері файлдық тип немесе компоненті файлдық тип
болатын структуралық типтен басқа кез-келген тип болатын сызықты тізбектен
тұрады. Компоненттер саны файлдық типті хабарлауда бекітілмейді. Файлдың
әрбір элементі 0-ден бастап номерленеді. Паскальда файлдардың 3 түрі бар:
типтелген, типтелмегн және текстік. Паскалдағы кез-келген файлдық
айнымалы ол файлдық типтегі кез-келген айнымалы. Файлдық тип типті
сипаттаудың келесі көрсетілген операторларының көмегімен сипатталады:
TYPЕ TF=FILE OF тип
Файлдық айнымалыны қолданудың алдында ол ASSIGN процедурасының көмегі
арқылы сыртқы файлмен байланыстырылуы керек. Әдетте сыртқы файл сыртқы есте
сақтау құрылғысындағы (СЕСҚ) аты аталған деректер жиыны, сондай-ақ ол
пернелік немесе дисплей сыртқы құрылғыда болуы мүмкін. Сыртқы файлдарда
файлдарға жазылған ақпарат сақталады немесе олар файлдан оқылатын ақпарат
көзі ретінде қызмет атқарады. Сыртқы файлмен байланыс орнатылғаннан кейін
файлдық айнымалыны енгізу немесе шығару операциясына дайындау үшін ол
"ашылған" болуы керек. Бар файлды RESET процедурасының көмегімен ашуға
болады, ал жаңа файлды REWRITE процедурасының көмегімен құрып, ашуға
болады. Файлдарға қатынау әдетте жүйелік түрде ұйымдастырылады, яғни
элемент стандартты READ процедурасымен оқылған кезде немесе стандартты
WRITE процедурасының көмегімен жазылған кезде, файлдың ағымдағы позициясы
реті бойынша келесі элементке көшеді. Анықталған READ және WRITE
процедураларынан басқа да, END-OF-FILE жағдайы туған кезде (басқаша
айтқанда файлдан тыс жерден оқуға әрекет етілген кезде) TRUE мәнін
қабылдайтын EOF логикалық функциясы да жиі қолданылады. EOF функциясының
форматы:
Eof (NAME)
мұндағы NAME ретінде EOF жағдайына тексерілетін файлдың аты
көрсетіледі. Програма файлмен жұмысын аяқтағаннан кейін ол CLOSE
процедурасының көмегімен жабылуы керек. Файл жабылғаннан кейін онымен
байланысқан сыртқы файл толығымен жаңартылады. Кейіннен файлдық айнымалы
басқа сыртқы файлмен байланыстырыла алады. Енгізу-шығарудың стандартты
функциялары мен процедураларына қатынаған кезде қателерді тексеру өздігінен
автоматты түрде орындалады. Қате табылған жағдайда, экранға қате туралы
хабар беріледі және программа өзінің орындалуын тоқтатады. Қателерді
автоматты түрде тексеруді компилятордың директивасының көмегімен қосуға
{$I+} немесе алып тастауға{$I} болады. Тексеруді алып тастаған кезде енгізу-
шығарудың қателері программаның тоқталуына әкелмейді. Бұл жағдайда енгізу-
шығару операцияларының орындалу нәтижесін тексеру үшін бүтін сан қайтаратын
IORESULT стандартты функциясы қолданылады. Егер бұл функцияның нәтижесі 0-
ге тең болса, онда алдынғы енгізу-шығару операциясы ойдағыдай аяқталған.
Кері жағдайда бұл сан қатенің кодын көрсетеді. (олардың кейбіреуі төменгі
кестеде келтірілген)
Паскалда файлдық айнымалыларға қолданылатын оперцияларды негізгі 4
топқа бөлуге болады: орнату және аяқтау; енгізу-шығару; файлда жылжу;
арнайы.
1.3. Типтелген файлдар
Барлық типтелген файлдардың элементтері бірдей типті болуы керек, ал
типтелген файл әр түрлі болуы мүмкін. Мүмкін емес хабарламаның мысалы.
Type TF1=file of file;
TFR=record
A:Integer;
F:File of Real;
End;
TF2:file of TFR;
Типтелген файлдармен жұмыс жасайтын процедуралар және функциялар.
Типтелген файлдардан оқу тек Read процедурасымен, ал жазу-Write
процедурасымен орындалады .
Типтелген файл үшін Read және Write процедурасы келесі форматпен
көрсетіледі.
Read (файл аты және тізімі)
Write (файл аты және тізімі)
Тікелей қосу жұмысына келесі процедуралар және функциялар
белгіленген.
FilePos- файлда көрсетілген позицияның ағымдағы номерін қайтарады
(позиция нолден бастап номерленеді).
FileSize- файлдың ағымдағы өлшемін қайтарады (санау кезінде файл
элементтерінің саны бірден бастап номерленеді).
Seek-файлдағы ағымдық позицияны көрсеткіш берілген номердегі
элементпен алмастырады.
Truncate- файл өлшемі ағымдағы позицияға дейін қысқарады.Файлда
ағымдағы позициядан кейін орналасқан барлық элементтер өшіріледі, ал
ағымдық позиция файлдың соңы болып қалады. (Eof(f)=True).
Типтелген файлдың элементтеріне тікелей қосу жұмысында файлды електен
өткізу программасын қарастырайық.
Ескерте кететін жай типтелген файлдың ''шаблоны'', (''терезе'')
болады, біз физикалық файлға енетін символдар ''енгіземіз '', содан кейін
физикалық файл BYTE типінің файлы ретінде ашылады, нәтижесінде символдар
жазылған ASCII кодының баспасы шығады.
Program CharToByte;
Uses Crt;
Var
FC:file of Char;
FB:file of Byte;
Ch: Char;
B:Byte;
Begin
ClrScr;
Assign (FC,’Test.Dat’);
Rewrite (FC);
For Ch:='0' to '9' do
Write (FC,Ch);
For Ch:='A' to 'J' do
Write (FC,Ch);
Close (FC);
Assign (FB,’Test.Dat’);
Reset (FB);
While not Eof (FB) do
Begin
Read (FB,B);
Write (B:8);
End;
Close (FB);
End.
Нәтиже.
48 49 50 51 52 53 54 55 56 57
65 66 67 68 69 70 71 72 73 74
Бұл бөлімде типтелген типті файл айнымалылары пайдаланылатын
енгізушығару операторлары сипатталады.
Типтелген файлды ашқан кезде сыртқы файл төмендегіше
интерпретацияланады, ол бірдей структуралы (әдетте жазудың көмегімен
сипатталатын) компоненттер тізбегін білдіреді деп есептеледі. Арифметикалық
типті деректер қабылдаған мәндері тәуелсіз бекітілген байттар санын алып
жатады.
Типтелген файлдар үшін форматтары келесі түрде болатын оқудың READ
және жазудың WRITE процедуралары бар.
READ (F1,X);
WRITE (F1,X);
мұндағы Х айнымалысы F1 файлының компонентіне сәйкес типте болуы керек.
Типтелген файлдар үшін алмасу операцияларынан басқа да келесі
функциялар мен процедуралар қолданылады. SEEK, TRUNCATE, FILES FILEPOS.
SEEK процедурасы файлдың көрсеткішін берілген позицияға жылжытуға
арналған және форматы төмендегідей:
SEEK (F,NUM);
мұндағы F- файлдық айнымалының аты, NUM- файлдың көрсеткіші орнатылуы қажет
элементтің реттік номерін көрсететін LONGINT типті өрнек.
TRUNCATE процедурасы файлдың көрсеткішін тұрған иозициядан бастап
файлдың соңына дейін алып тастауға арналған және форматы төмендегідей:
TRUNCATE (F);
мұндағы F-файлдық айнымалының аты.
FILESIZE функциясы файлдың көрсеткішінің ағымдағы позициясын
анықтайды және форматы төмендегідей:
FILESIZE (F);
мұндағы F- файлдық айнымалының аты.
PROGRAM операторында F1 және F2 екі файлы сипатталған. REWRITE (F2)
процедурасының көмегімен F2 файлы жазуға ашылады. WHILE циклінде F1
файлынан R (фамилиясы және бағасы) жазуының сәйкес өрістеріне
оқылады.Кейін WRITE (F2,R) операторының көмегімен R жазуы Ғ2 файлына
жазылады.Процесс бастапқы файл үшін END-OF-FILE жағдайы туғанша
қайталанады.
Алынған файл студенттер тізімін алфавит бойынша сұрыптауға мүмкіндік
беретін келесі программаның бастапқы файлы ретінде пайдалана алады.
Program Fil_Typ_Sort;
Type
Stud=Record
Fam:Array [1..10] of Char;
Matan,Fiz,Alg:Integer;
End;
Var
F2:File of Stud;
R:Stud;
St:Array [1..100] of Stud;
N,I,J;Integer;
BEGIN
Reset (F2);
N:=0;
While not Eof (F2);
BEGIN
N:=N+1;
Read (F2,St [N]);
End;
For I:=1 To N-1 Do
For J:=I+1 To N Do
If St [I]. FamSt [J]. Fam Then
BEGIN
R:=St [J];
St [J]:=St [I];
End;
Writeln ('1-ші лурстың студенттері:’);
For I:=1 TO N DO
With St [I] DO
Begin
... жалғасы
КІРІСПЕ 3
І. TURBO PASCAL ОРТАСЫНДАҒЫ ФАЙЛДАР
1.1. Файл- программистердің сүйікті сөзі. 4
1.2. Файлдық тип. 7
1.3. Типтелген файлдар 9
ІІ. ФАЙЛДАРМЕН ЖҰМЫС ЖАСАЙТЫН ПРОЦЕДУРАЛАР ЖӘНЕ ФУНКЦИЯЛАР
2.1. Файлдармен жұмыс жасайтын процедуралар және функциялар 15
2.2 Текстік файлдармен жұмыс жасайтын процедуралар және 23
функциялар
ҚОРЫТЫНДЫ 24
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР 25
ҚОСЫМША 26
КІРІСПЕ
60-70 жылдарда Н.Вирт ойлап шығарған Паскаль тілі қазіргі кезде дүние
жүзінде кең тараған программалау тіліне айналды. Қаз Қазіргі кезде Паскаль
тілі қолданбалы программалар жазу үшін және жүйелі прораммалау тілі ретінде
де кеңінен қолданылады. Паскаль тілі бұрын құрылған (Фортран, Алгол және
тағы басқалары) программалау тілдерінен маңызды ерекшелігі ол құрылымдық
программалық идеясын өмірге біртіндеп енгізу. Паскаль тілінің тағы бір
ерекшелігі ол деректер құрлымының концепциясының алгоритм түсінігімен қатар
программалаудың негізінде жатқан фундаментальды түсініктер қатарына кіруі.
Паскаль тілініњ шыѓу тарихына тоќталатын болсаќ. Алгоритмдік тіл АЛГОЛ
1950-60 жылдары шыќќан. Паскаль тілі осы АЛГОЛ-дыњ м±рагері болып
табылады. Б±нда енгізу жєне шыѓару процедуралары бар жєне АЛГОЛ тіліне
ќараѓанда м‰мкіндігі µте кµп.
BORLAND фирмасыныњ TURBO PASCAL тіл стандартыныњ кењейтілген т‰рі
болып табылады. Сонымен ќатар программа ќ±рылуыныњ процесін
жылдамдататын жєне жењілдететін интегрерленген ортасы бар. TURBO PASCAL
пайда болѓанѓа шейін б±л программалыќ µнім ( алты) версиядан µтті.
I. TURBO PASCAL ОРТАСЫНДАҒЫ ФАЙЛДАР
1.1. Файл- программистердің сүйікті сөзі
Файл Паскаль тілінде бірыңғай типті элементтердің тізбектелуін
ұсынады. Сонымен қатар, дискіде сақталатын, жиі аталатын сыртқы құрылым.
Сыртқы файлдармен өзара қарым-қатынастағы программалардың бастапқы 3
түрін қарастырамыз:оқылу,жазылу, файлдардың оқылу және жазылуы.
Файлдың оқылуы дегеніміз- олар оперативті жадыда орналасқан сыртқы
файлдарға деректерді енгізуді түсіндіреді. Деректер сыртқы файлда тұратын
программаларға енеді.
Файлдың оқылуында программаға қажетті келесі жағдайлар
орындалады:оқылатын файлды ашу (RESET операторы), файлдағы программаға
тиісті енгізетін (READ операторы), оқылған файлды жабу (CLOSE операторы).
Жиі қолданылатын файлдардағы мәліметтер дәл осы түрде де сыртқы
файлда оқылады. Оқылатын файлдың жалпы үлгісі:
RESET(1 аты);
...
READ(1 аты, параметрі);
...
CLOSE(1 аты);
Программалардағы көп нүктелер келесі операторлардың бар екендігін
белгілейді.
Кейбір ЭВМ жағдайында қолданатын бірнеше аргументтер RESET
операторында да болуы мүмкін.
Мысалы: RESET(имя 1,’имя 2’, ‘имя3’, ‘имя4) осындай бірнеше
аргументтерді қарастырсақ:
имя1-айнымалы файл, кәдімгі программаларда қолданылатын файл. Ол
әсіресе физикалық файлдармен байланыс орнатады.
имя2 – физикалық файл аты, дискіде сақталады.
имя3- физикалық файлдың кеңеймесі. Кез-келген3 символды көрсетуі
мүмкін.
Мысалы: PAS, бір сөзбен қолданылатын DAT. Мұнда қысқартылған сөзде
аргумент көрсетілмеуі мүмкін DAT;
имя 4- айнымалы, автоматты түрде берілген мәнді қабылдайды, дискідегі
файлдармен тең жүйеде байланысады. Аргумент мүмкін көрсетілмейді, егерде
көрсетілмесе, онда барлық айнымалы типті жариялау керек. ЭВМ –де байтпен
есептелетін типтердің айырмашылығы әртүрлі болады. Мысалы: блок 512 байттан
тұруы мүмкін, ал бір символ жадыдан бір байтты алады.
Файлда оқылатын мәліметтер, READ операторына енетін барлық қарапайым
операторларды белгілері бойынша иеленеді. Егер READ операторына енетін
түрін атап айтсақ, не болмаса мәліметтерді клавиатурадан енгізсек, ал READ
(имя1, параметрі)-дегі мәліметттер дискіде сақталып, сыртқы файлға енеді.
Файлда есептелген әрбір айнымалының мәнін бір элемент қабылдайды. Осы
белгіден кейін айнымалылар қажетті мәліметтерді автоматты түрде құрады.
Паскаль тілінде соңғы файлға кіретін белгілер, анықталған файл
элементерінің санына шектелмейді. Стандартты кіріктірме функция:
EOF(имя1);
ол ақиқат мәндерді қабылдай отырып, файл соңына жету үшін пайдаланылады.
EOF функциясына циклдік операторды логикалық теңсіздіктер мен
жиліктерді пайдалануына болады, мысалы:
while not EOF (имя1) do
begin
...
end.
Әзірше файл соңына жету үшін программадағы циклдік бөлім қайталанады.
BEGIN_END операторды жабатын жақшалары.
Жол бөлігінде файл элементтері сақталады. Файлдың соңғы жолында
анықталған циклдік оператор
While not eoln(имя1) do
ал келесі айналымда жаңа жолдық файл- READLN(имя1)операторы қолданылады.
Файлдың жазылуы дегеніміз – Жиі аталатын файлдардағы мәліметтер осы
түрде де сыртқы файлда да жазылады. Жазылатын файлдың жалпы үлгісі:
Rewrite(имя1);
...
Write(имя1 параметрі);
...
CLOSE(имя1);
Кейбір кішкене ЭВМ версиясында кездесетін бірнеше аргументтер REWRITE
операторында да болуы мүмкін, мысалы, REWRITE (имя1,’ имя2’,’имя3’, имя4).
Осы берілген аргументтерді атап өтсек: имя1- айнымалы файл, арнайы
программада көрсетілетін файл. Ол әсіресе физикалық түрде құрылған
файлдармен байланыс орнатады.
имя3- физикалық файл кеңейтпесі. Кез-келген 3 символмен бағыттауға
болады, кейде DAT сөзімен де ұсынылады.
имя2-дискіде сақталған физикалық атпен құрылған файл.
имя4- барлық айнымалы типте құрылған файл өлшемін білдіреді.
Файлда жазылған мәліметтерді белгілері бойынша шығаратын қарапайым
WRITE операторы. Осы WRITE шығару операторы дискіде сақталған файлдарға
қажетті мәліметтерді жаза отырып, оларды ретімен экранға шығарады.
Мысал ретінде мына бір программаны қарастырайық:
мәліметтер жазылған файл. Осы программмадағы айнымалы А және В келесі
мәндерді шығарады:
А=510, В=16,2.
Файл аты D2.PAS жолдық түрде жазылады.
Program A21(input, output);
var
F2:text;
L2:integer;
B:real;
A:integer;
begin
L2:=1;
A:=510;
B:=16.2
Rewrite (F2,’A=’,A:3,’ ‘: 5,’B=’, B:4:1);
Close(F2);
end.
мұндағы F2-файлдық айнымалы REWRITE мәліметтер жазылған файлды ашады. WRITE
операторы форматына сәйкес жолдық символдарды шығарады. CLOSE операторы
жазылған файлдарды жабады.
Файлдың жазылуы және оқылуы. Файлдың атқаратын әртүрлі қызметтері
болуы шарт: кейде мәліметтерді бір файлдан оқуға және жазуға қажет етеді,
кейде бір файлдан өшіреді. Файлдың оқылуы және жазылуы программаға
қажетті операторларды бағыттайды немесе оларды жабады.
Файлды оқу және жазу кезінде, келесі файлдарды қолданарда бір бірдей
файлды бір уақытта ашуға болмайды. Жұмысқа қажетті пайда болатын файлдың
оқылуы және жазылуы кезінде алдымен ашу, ондағы мәдіметтерді өңдеп оны жабу
қажет. Содан кейін файлды ашып, ондағы келесі мәліметтер өңделген соң оны
жабады.
1.2. Файлдық тип
Файлдық тип - компоненттері файлдық тип немесе компоненті файлдық тип
болатын структуралық типтен басқа кез-келген тип болатын сызықты тізбектен
тұрады. Компоненттер саны файлдық типті хабарлауда бекітілмейді. Файлдың
әрбір элементі 0-ден бастап номерленеді. Паскальда файлдардың 3 түрі бар:
типтелген, типтелмегн және текстік. Паскалдағы кез-келген файлдық
айнымалы ол файлдық типтегі кез-келген айнымалы. Файлдық тип типті
сипаттаудың келесі көрсетілген операторларының көмегімен сипатталады:
TYPЕ TF=FILE OF тип
Файлдық айнымалыны қолданудың алдында ол ASSIGN процедурасының көмегі
арқылы сыртқы файлмен байланыстырылуы керек. Әдетте сыртқы файл сыртқы есте
сақтау құрылғысындағы (СЕСҚ) аты аталған деректер жиыны, сондай-ақ ол
пернелік немесе дисплей сыртқы құрылғыда болуы мүмкін. Сыртқы файлдарда
файлдарға жазылған ақпарат сақталады немесе олар файлдан оқылатын ақпарат
көзі ретінде қызмет атқарады. Сыртқы файлмен байланыс орнатылғаннан кейін
файлдық айнымалыны енгізу немесе шығару операциясына дайындау үшін ол
"ашылған" болуы керек. Бар файлды RESET процедурасының көмегімен ашуға
болады, ал жаңа файлды REWRITE процедурасының көмегімен құрып, ашуға
болады. Файлдарға қатынау әдетте жүйелік түрде ұйымдастырылады, яғни
элемент стандартты READ процедурасымен оқылған кезде немесе стандартты
WRITE процедурасының көмегімен жазылған кезде, файлдың ағымдағы позициясы
реті бойынша келесі элементке көшеді. Анықталған READ және WRITE
процедураларынан басқа да, END-OF-FILE жағдайы туған кезде (басқаша
айтқанда файлдан тыс жерден оқуға әрекет етілген кезде) TRUE мәнін
қабылдайтын EOF логикалық функциясы да жиі қолданылады. EOF функциясының
форматы:
Eof (NAME)
мұндағы NAME ретінде EOF жағдайына тексерілетін файлдың аты
көрсетіледі. Програма файлмен жұмысын аяқтағаннан кейін ол CLOSE
процедурасының көмегімен жабылуы керек. Файл жабылғаннан кейін онымен
байланысқан сыртқы файл толығымен жаңартылады. Кейіннен файлдық айнымалы
басқа сыртқы файлмен байланыстырыла алады. Енгізу-шығарудың стандартты
функциялары мен процедураларына қатынаған кезде қателерді тексеру өздігінен
автоматты түрде орындалады. Қате табылған жағдайда, экранға қате туралы
хабар беріледі және программа өзінің орындалуын тоқтатады. Қателерді
автоматты түрде тексеруді компилятордың директивасының көмегімен қосуға
{$I+} немесе алып тастауға{$I} болады. Тексеруді алып тастаған кезде енгізу-
шығарудың қателері программаның тоқталуына әкелмейді. Бұл жағдайда енгізу-
шығару операцияларының орындалу нәтижесін тексеру үшін бүтін сан қайтаратын
IORESULT стандартты функциясы қолданылады. Егер бұл функцияның нәтижесі 0-
ге тең болса, онда алдынғы енгізу-шығару операциясы ойдағыдай аяқталған.
Кері жағдайда бұл сан қатенің кодын көрсетеді. (олардың кейбіреуі төменгі
кестеде келтірілген)
Паскалда файлдық айнымалыларға қолданылатын оперцияларды негізгі 4
топқа бөлуге болады: орнату және аяқтау; енгізу-шығару; файлда жылжу;
арнайы.
1.3. Типтелген файлдар
Барлық типтелген файлдардың элементтері бірдей типті болуы керек, ал
типтелген файл әр түрлі болуы мүмкін. Мүмкін емес хабарламаның мысалы.
Type TF1=file of file;
TFR=record
A:Integer;
F:File of Real;
End;
TF2:file of TFR;
Типтелген файлдармен жұмыс жасайтын процедуралар және функциялар.
Типтелген файлдардан оқу тек Read процедурасымен, ал жазу-Write
процедурасымен орындалады .
Типтелген файл үшін Read және Write процедурасы келесі форматпен
көрсетіледі.
Read (файл аты және тізімі)
Write (файл аты және тізімі)
Тікелей қосу жұмысына келесі процедуралар және функциялар
белгіленген.
FilePos- файлда көрсетілген позицияның ағымдағы номерін қайтарады
(позиция нолден бастап номерленеді).
FileSize- файлдың ағымдағы өлшемін қайтарады (санау кезінде файл
элементтерінің саны бірден бастап номерленеді).
Seek-файлдағы ағымдық позицияны көрсеткіш берілген номердегі
элементпен алмастырады.
Truncate- файл өлшемі ағымдағы позицияға дейін қысқарады.Файлда
ағымдағы позициядан кейін орналасқан барлық элементтер өшіріледі, ал
ағымдық позиция файлдың соңы болып қалады. (Eof(f)=True).
Типтелген файлдың элементтеріне тікелей қосу жұмысында файлды електен
өткізу программасын қарастырайық.
Ескерте кететін жай типтелген файлдың ''шаблоны'', (''терезе'')
болады, біз физикалық файлға енетін символдар ''енгіземіз '', содан кейін
физикалық файл BYTE типінің файлы ретінде ашылады, нәтижесінде символдар
жазылған ASCII кодының баспасы шығады.
Program CharToByte;
Uses Crt;
Var
FC:file of Char;
FB:file of Byte;
Ch: Char;
B:Byte;
Begin
ClrScr;
Assign (FC,’Test.Dat’);
Rewrite (FC);
For Ch:='0' to '9' do
Write (FC,Ch);
For Ch:='A' to 'J' do
Write (FC,Ch);
Close (FC);
Assign (FB,’Test.Dat’);
Reset (FB);
While not Eof (FB) do
Begin
Read (FB,B);
Write (B:8);
End;
Close (FB);
End.
Нәтиже.
48 49 50 51 52 53 54 55 56 57
65 66 67 68 69 70 71 72 73 74
Бұл бөлімде типтелген типті файл айнымалылары пайдаланылатын
енгізушығару операторлары сипатталады.
Типтелген файлды ашқан кезде сыртқы файл төмендегіше
интерпретацияланады, ол бірдей структуралы (әдетте жазудың көмегімен
сипатталатын) компоненттер тізбегін білдіреді деп есептеледі. Арифметикалық
типті деректер қабылдаған мәндері тәуелсіз бекітілген байттар санын алып
жатады.
Типтелген файлдар үшін форматтары келесі түрде болатын оқудың READ
және жазудың WRITE процедуралары бар.
READ (F1,X);
WRITE (F1,X);
мұндағы Х айнымалысы F1 файлының компонентіне сәйкес типте болуы керек.
Типтелген файлдар үшін алмасу операцияларынан басқа да келесі
функциялар мен процедуралар қолданылады. SEEK, TRUNCATE, FILES FILEPOS.
SEEK процедурасы файлдың көрсеткішін берілген позицияға жылжытуға
арналған және форматы төмендегідей:
SEEK (F,NUM);
мұндағы F- файлдық айнымалының аты, NUM- файлдың көрсеткіші орнатылуы қажет
элементтің реттік номерін көрсететін LONGINT типті өрнек.
TRUNCATE процедурасы файлдың көрсеткішін тұрған иозициядан бастап
файлдың соңына дейін алып тастауға арналған және форматы төмендегідей:
TRUNCATE (F);
мұндағы F-файлдық айнымалының аты.
FILESIZE функциясы файлдың көрсеткішінің ағымдағы позициясын
анықтайды және форматы төмендегідей:
FILESIZE (F);
мұндағы F- файлдық айнымалының аты.
PROGRAM операторында F1 және F2 екі файлы сипатталған. REWRITE (F2)
процедурасының көмегімен F2 файлы жазуға ашылады. WHILE циклінде F1
файлынан R (фамилиясы және бағасы) жазуының сәйкес өрістеріне
оқылады.Кейін WRITE (F2,R) операторының көмегімен R жазуы Ғ2 файлына
жазылады.Процесс бастапқы файл үшін END-OF-FILE жағдайы туғанша
қайталанады.
Алынған файл студенттер тізімін алфавит бойынша сұрыптауға мүмкіндік
беретін келесі программаның бастапқы файлы ретінде пайдалана алады.
Program Fil_Typ_Sort;
Type
Stud=Record
Fam:Array [1..10] of Char;
Matan,Fiz,Alg:Integer;
End;
Var
F2:File of Stud;
R:Stud;
St:Array [1..100] of Stud;
N,I,J;Integer;
BEGIN
Reset (F2);
N:=0;
While not Eof (F2);
BEGIN
N:=N+1;
Read (F2,St [N]);
End;
For I:=1 To N-1 Do
For J:=I+1 To N Do
If St [I]. FamSt [J]. Fam Then
BEGIN
R:=St [J];
St [J]:=St [I];
End;
Writeln ('1-ші лурстың студенттері:’);
For I:=1 TO N DO
With St [I] DO
Begin
... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz