Файл құрылымы



Жоспар:

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ..3
I. Файл
құрылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ...4
1.1.
Файлдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ..4
1.2. Физикалық және логикалық файлдардың
түсінігі ... ... ... ... ... ... ..6
1.3. Фйлды ашу және жабу, белгіленуі ... ... ... ... ... ... ... ... ... . ... ... 8
1.4 Файлдарды жою және атын өзгерту
процедуралары ... ... ... ... ... 10
ІІ. Файлдың
түрлері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1
1
2.1. Деректер файлы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12
2.2. Тізбекті ену
файлы ... ... ... ... ... ... ... ... ... ... ... .. ... ... ... ... ... ..14
2.3. Еркін ену
файлы ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... .
... ... ... ..15
2.4. Мәтіндік
файл ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... .16
2.5. Текстік
файл ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ...18
2.6. Файлдармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... .
... ... 24
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ...27
Қолданылған әдебиеттер
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... 29
Кіріспе

Бұл курстық жұмыстың тақырыбы: “ Файлдармен жұмыс”. Курстық
жұмыстың мақсаты – файлдармен жұмыс жасау. Жалпы файл деп, белгілі бір
атпен сыртқы жадыға жазылған мәліметтер жиынын айтамыз.
Файлдарды пайдалану төмендегідей мүмкіндіктерге себеп болады:
➢ Өңдеуге жататын үлкен көлемдегі мәліметтерді бірден енгізу көп
уақытты,шаршауды керек етеді. Сондықтан, күні бұрын дайындалған
мәлімет файлдарын кез-келген уақытта шақырып,пайдалану
қарастырылған.
➢ Мәліметтер файлы басқа программада дайындалып, әртүрлі екі
есепті,мақсатты программа арқылы,сыртқы ортамен құрылғыда
байланыстырылады.
➢ Файлдан алынатын мәліметтері бар программа өзін пайдалану үшін
қолданушының қатысуын қажет етпейді.
Файл өлшемі оған енетін байт санымен анықталады. Файл өзгерген
сайын оның құрылған мезгілі де өзгеріп тұралды. Файлдың аты магниттік
дискідегі каталогқа тіркеледі. Каталог-файлдың аты, өлшемі,қалпына
келтірілген мезгілі, атрибуттары көрсетілген магниттік дискідегі әдейі
орын. Бір магниттік дискіде бірнеше каталог болуы мүмкін,файл сияқты
олардың аты,толық мәліметтері болады.
Турбо Паскаль компиляторы үш файл түрімен жұмыс жасайды:
текстік,типтелмеген,типтелген. Текстік файлдың өзінің ерекшелігі бар. Әдейі
кеңейткіш,стандарт процедуралар оқу Read және жазу Write символсыз типті
шамалармен жұмыс істеуді кеңейтеді. Басқаша айтқанда, символдар тізбегі
автоматты түрде, файлдық операцияларда қолданылатын айнымалы тип мәніне
өзгереді.
Типтелген файлдарға қатаң түрде анықталған файлдар жатады. Олар
әртүрлі мәліметтер базасын құру үшін пайдаланылады.

І. Файлдар құрылымы
1.1 Файлдар

Файлдық тип – компоненттері файлдық тип немесе компоненті файлдық
тип болатын структуралық типтен басқа кез келген тип болатын сызықты
тізбектен тұрады. Компоненттер саны файлдық типті хабарлауда бекітілмейді.
Файлдың әрбір элементі 0-ден бастап нөмірленеді. Паскальда файлдардың үш
түрі бар: типтелген,текстік және типтелмеген.
Паскальдағы кез келген айнымалы. Файлдық тип типті сипаттаудың
келесі көрсетілген операторлардың көмегімен хабарланады:
Type TF=File of тип
Файлдық айнымалыны қолданудың алдында ол ASSIGN процедурасының
көмегі арқылы сыртқы файлмен байланыстырылуы керек. Әдетте сыртқы файл
сыртқы есте сақтау құрылғысындағы (СЕСҚ) аты аталған деректер жиыны, сондай-
ақ ол пернелік немесе дисплей сияқты құрылғы да болуы мүмкін. Сыртқы
файлдарда файлдарға жазылған ақпарат сақталады немесе олар файлдан оқылатын
ақпарат көзі ретінде қызмет атқарады.
Сыртқы файлмен байланыс орнатылғаннан кейін файлдық айнымалыны
енгізу немесе шығару операциясына дайындау үшін ол “ашылған” болуы керек.
Бір файлды RESET процедурасының көмегімен ашуға болады,ал жаңа файлды
REWRITE прлцедурасының көмегімен құрып,ашуға болады.
Файлдарға қатынау әдетте жүйелік түрде ұйымдкастырылады, яғни
элемент стандартты READ процедурасымен оқылған кезде немесе стандартты
WRITE прцедурасының көмегімен жазылған кезде, файлдың ағымдағы позициясы
реті бойынша келесі элементке көшеді.
Аталған READ және WRITE процедураларынан басқа да, END-OF-FILE
жағдай қуған кезде (басқаша айтқанда файлдан тыс жерден оқуға әрекет
етілген кезде) TRUE мәнін қабылдайтын EOF логикалық функциясы да жиі
қолданылады.
EOF (NAME)
Мұндағы NAME ретінде EOF жағдайына тексерілетін файлдың аты
көрсетіледі. Программа файлмен жұмысын аяқтағаннан кейін, ол CLOSE
процедурасының көмегімен жабылуы керек. Файл жабылғаннан кейін онымен
байланысқан сыртқы файл толығымен жаңартылады. Кейіннен файлдық айнымалы
басқа сыртқы файлмен байланыстырыла алады. Енгізу-шығарудың стандартты
функциялары мен процедуралырына қатынаған кезде қателерді тексеру өздігінен
автоматты түрде орындалады. Қате табылған жағдайда, экранға қате туралы
хабар беріледі және программа өзінің орындалуын тоқтатады. Қателерді
автоматты түрде тексеруді компилятордың дириктивасынның көмегімен қосуға {$
I+} немесе алып тастауға {$ I-} болады. Тексеруді алып тастаған кезде
енгізу-шығарудың қателері программаның тоқтауына әкелмейді. Бұл жағдайда
енгізу-шығару операцияларының орындалу нәтижесін тексеру үшін бүтін сан
қайтаратын IORESULT стандартты функциясы қолданылады. Егер бұл функцияның
нәтижесі нөлге тең болса, онда алдыңғы енгізу-шығару операциясы ойдағыдай
аяқталған. Кері жағдайда бұл сан қатенің кодын көрсетеді (олардың кейбіреуі
төменгі кестеде келтірілген).

Кесте. Енгізу-шығару операцияларының қателері.
Қатенің коды Қатенің пайда болуының себебі
01 Файл табылмады
02 Файл ашылмаған
03 Файл оқу үшін ашылмаған
10 Сандық мән дұрыс көрсетілмеген
2 Жарамайтын операция
90 Жазудың мөлшері сәйкес емес
99 Файлдың соңы
Ғ0 Дискіге жазу кезіндегі қате
ҒҒ Сыртқы файл табылмады

Паскальда файлдық айнымалыларға қолданылатын операцияларды негізгі
4 топқа бөлуге болады: орнату және аяқтау; енгізу-шығару; файлда жылжыту;
арнайы.
1.2 Физикалық және логикалық файлдардың түсінігі

Файл түсінігін екі жағынан қарастыруға болады. Бірінші жағынан,
файл-бұл сыртқы жадыдағы қандай да бір ақпаратты сақтайтын атауы облыс.
Мұндай түсініктегі файлды физикалық файл деп аталады, яғни кейбір
материалдық ақпарат тасушыға физикалық түрде болады.
Екінші жағынан, файл-бағдарламалау кезінде қолданылатын
берілгендердің көптеген құрылымдарының біреуі. Мұндай түсініктегі файл
логикалық файл деп аталады, ол тек біздің бағдарламаны жазу кезіндегі
логикалық ойлауымызды жүзеге асырылады. Бағдарламаларда логикалық файлдар
белгілі типтің файлдық ауысуымен көрсетіледі.
Физикалық файлдың құрылысы.
Физикалық файлдың құрылысы – ақпарат тасымалдаушы жадындағы қатты
магниттік дискі (ҚМД) мен жұмсақ магниттік дискінің байттық жай ғана
кезектесуін көрсетеді.

байт байт байт ... байт байт байт

Логикалық файлдың құрылысы.
Логикалық файлдың құрылысы – бұл бағдарламада файлды елестеу
әдісі. Былайша айтқанда, бұл сол арқылы файлдың физикалық құрылысын
қарайтын - “шаблон”. Программалау тілінде мұндай -“шаблондарға” файл
компоненттері ретінде жіберілетін берілу типі сәйкес келеді.
Файлдың логикалық құрылысы,былайша айтқанда, массив құрылысына өте
ұқсас. Массив пен файл арасындағы айырмашылық келісімін түсіндіріледі.
Массивте элементтер саны жадыны тарату кезінде бекітіледі және ол
толығымен оперативті жадыға орналасады. Массив элементінің номерациясы оны
хабарлау кездерінде өзгеруі мүмкін және ол сыртқы ақпарат тасушыда
орналасады. Элементтердің номерациясы солдан оңға қарай нөлден бастап
орындалады. Файлдың элеметтер саны әрбір момент сайын белгілі бола
бермейді. Бірақ, файл соңында файл аяқтауының арнайы белгісі 36(Ctrl+z)
кодымен ASCI I басқару символы ретінде қолданылатын Еof орналасады. Одан
басқа, файлдың ұзындығын анықтау және басқа да жиі талап етілетін
операцияларды орындау файлдармен жұмыс істеуге арналған стандартты
процедуралар және функциялар көмегімен жүзеге асырылады.
Turbo Pascal файлдың классификациясы.
Turbo Pascal – да файлдар екі белгі бойынша классификацияланады.
1. Типі бойынша
2. Файл элементіне кіру әдістері бойынша.

1 сурет. Turbo Pascal файлдың
классификациясы.

Типі бойынша әрбір файлдарға кіру кезіндегі әдістерді қолдану
мүмкіндігін келесі схемамен көрсетуге болады:

2 сурет. Файлдарға кіру кезіндегі әдістерді қолдану схемасы.

1.3 Файлды ашу және жабу,белгіленуі

ҚМД және ЖМД-да орналасқан қандай да бір файлмен жұмыс істеу үшін
ең алдымен оны файлдық өзгеріспен байланыстыру керек,яғни соның көмегімен
осы физикалық файлға ену мүмкін болады. Физикалық және логикалық файлдардың
байланысуы Assign процедурамен іске асырылады,яғни ол тек жабық файлдар
үшін мүмкін болады. Бұл процедураның іске асырылуы,яғни ол тек жабық
файлдар үшін мүмкін болады. Бұл процедураның бірінші параметрі файлдық
өзгеріс болып табылады,ол екінші параметрі MS DOS- тағы идентификатор
жазбаның ережелеріне сәйкес көрсетілген,мәні физикалық файлдың аты болатын
жолдық костанта нмесе жолдық өзгерістің идентификаторы.

Келтірілген мысалда логикалық файлдың f физикалық файлмен MyFILE.Dat
яғни,ол MS DOS активті дискінің ағымды каталогында болған жағдайда
байланысуы жүреді. Егер, Assign процедурасының жұмысы MS DOS- тың ағымдағы
құрылғыларынан тәуелді болмаса,онда дискіде көрсетілген файлдардың толық
аты,каталог жолдары және файл аттары жазылады,мысал:

Файлдағы кез келген жазу және оқу операцияларын орындау
кезінде бұл файлдар ашық болуы тиіс. Файлдарды ашу Reset және Rewrite
процедуралармен жүзеге асырылады,ал жабу Close процедурамен орындалады.

Reset процедурасы f файлдық өзгеріспен байланысқан физикалық
файлды ашады. Егер f – текстік файл болса, онда ол элементке кезекті енген
кезде оқу үшін мүмкін болады, егер f – енуге типтелген болса...
Ашылу кезінде файлдың ағымдағы позициясының көрсеткіші оның
басында құрылады. Егер көрсетілген аттағы физикалық файл болмаса,онда
компилятордың {$I-} директивтерден өшіруге болатын орындау уақытының
қателіктері туындайды. Мұндай директивтік қондырғыда О мәнін қайтаратын 10
Result функциясының көмегімен файлдың ашылуын жабу операцияларының
нәтижесін сараптауға болады,егер операция сәтті аяқталса.
Rewrite процедурасының аты f файлдық өзгеріспен байланысты жаңа
физикалық файл құрады. Егер мұндай файл бар болса,онда жайылып,оның орнына
жаңа бос файл құрылады. Ашылу кезінде файлдағы ағымдық позицияның оның
басталуы кезінде құрылады.

1.4 Файлдарды жою және атын өзгерту процедуралары

Rename процедурасы физикалық файлдың атын өзгертуге, Erase –
жоюға қызмет етеді. Бұл процедуралар қандай да бір физикалық файлмен
қолданылады. Елесі программа алдымен файлдың атын My File.Dat-тан
Result.dat – қа алмастырады, содан соң файлды жояды.
Мысалы:
Program RenDel Demo;
Var
F:file;
Begin
Assign (f,’MyFile.Dat’);
Rename (f,’result.Dat’);
{. . . аты өзгертілген файлмен жұмыс істеу . . . }
Frase(f)
End.

ІІ. Файлдардың түрлері

Осыған дейін, біз мәліметтерді пернетақтадан негізіп, оларды
экранға шығардық, программа жұмысы кезінде олар компьютердің оперативті
жадында сақталатын да, есептеулер біткеннен кейін бұл мәліметтер жоғалып
кетеді. Жұмыс нәтижесін келешекте пайдалана алу үшін, мысалы, оларды
есептеулерге пайдалану үшін немесе жаңа мәліметтерді алу үшін, оларды есте
сақтап қалу керек. Ондай тәсілдердің бірі мынадай: нәтиже экранға шыққан
соң қолға қаламсап (қарындаш) және бір бет қағаз алып, бұл мәліметтерді
жазып алу. “Дербес компьютерлер” дәуірінің басында оларды “үй тапсырмасы”
деп атаған да, шын мәнінде солай болған. Қазіргі кездегі дербес
компьютерлердің барлығы ақпаратты сақтауға арналған арнайы құрылғылармен
жабдықталған. Қызметтеріне қарай оларды: магниттік ақпарат тасымалдаушылар
немесе жазылатын CD- дискілер деп атайды. Ақпаратты сақтау осы
тасымалдаушыларда ұйымдастырылады, бұл жағдайда біз алған нәтижелерді
солардың жадында сақтаймыз. Барлық мәліметтер осы тасымалдаушыларда файлдар
түрінде сақталады.
Файл дегеніміз – мәліметтер сақтауға арналған сыртқы
тасымалдаушыдағы жадының ат қойылған аймағы (бөлігі).
File (ағылшын тілінен аударылғанда) бума, іс қағаздар жинағы,
сонымен қатар ақпаратты сақтау деген мағынаны білдіреді.
Borland Pascal-да файлдарды екі негізгі белгісі бойынша
топтастыруға болады:
1. файлдың типі бойынша (оның логикалық құрылымына )
2. файл элементтеріне қатынау тәсілі бойынша
Типтері бойынша файлдар шартты түрде үш түрге бөлінеді:
• мәтіндік файл;
• типтік файл;
• типтік емес файл.
Біз көбінесе мәтіндік және типтік файлдармен жұмыс істейміз.
Қатынау тәсілі бойынша файлдар келесідей бөлінеді:
• Тікелей қатынау файлдары
• Кезекпен қатынау файлдары

2.1 Деректер файлы

Паскальда ерекше орын алатын берілгендер файлы – жазбалардан
тұратын элементтер тізбегі. Жазбалар санын файлдың ұзындығы деп атайды,оны
алдын ала анықтап қою міндетті емес.
Файл типін сипаттау үлгісі мынадай:
Type тип атауы=file of элеметтер атауы;
Var айнымалы атауы:тип атауы;
Мұндағы file (қатар,тігінді), of (тиісті) – қызметші сөздер. Тип
және айнымалы атауларын пайдалануға ыңғайлы етіп,түсінікті түрде таңдап
алған жөн. Мысалы. Жоғарыда қарастырылған мәліметтік тізімнен тұратын
файлды мынадай түре сипаттау мүмкін:
Type student = file of record a1:integer;
A2: string [17];
A3: integer; a4:string [5]
End;
Var v:student;
(student – файл типінің атауы; record,end жазуды анықтайтын
синтаксистік шектеулер, v – student типті айнымалы,a1,a2,a3,a4 – атрибут
атаулары)
Сипаттаудың екінші түрі:
Type student =record a1:integer;
A2:string [17];a3:integer;
A4:string[5]
End;
Var f:file of student; v:student.
Мұндағы student – жазба типіне берілген атау; f – элементтері
сипатталған жазбалардан тұратын файлды, v – осы жазбаларды анықтайтын
айнымалылар.
Жазба өрістері нүкте арқылы бөлінген жазба мен атрибут атаулардан
тұрады : v.a1,va2,v.a3,v .a4.
Сипаттаудың соңғы түрі жазбалардың және олардың өрістерінің
мәндері кезегімен бірдей айнымалыларға меншіктелгені көрініп тұр. Оларды
компьютердің ажырату түрі мынадай: дискіге файлдың әр элеметін (v)
көрсеткіш деп аталатын магниттік бүршік жазады да, к – элементті жазуды
аяқтаған кезде ол автоматты түрде (к+1) – элемент жазылатын орынға жылжиды.
Файл элементтерін дискіде жазудағы еркшеліктерінің бірі – олар О-ден бастап
ретімен автоматты түрде нөмірленіп қойылуы. Әдетте файлды дискідегі тиеуді
файлды жазу не файлды жүктеу деп,сыртқы құрылғыдан оны машинаның жадына
ендіруді файлды оқу деп атайды.
Файл элементтерін жазу мен оқу әр жолы көрсеткіш тұрған элементтен
басталады. Файлды жүктеу,оқу операторларымен танысар алдында мынадай
белгілеулер енгізейік:
F – файлдық айнымалы,
Bf – берілгендер файлының атауы меншіктелетін айнымалы,
V - файлдық элементтер, v.a1,va2,v.a3,v .a4. - өрістік
айнымалылар.
Турбо Паскальда файлды жүктеу үшін мынадай операторлар пайдаланылады:
Assign (f,bf) – bf файлына f атауын беру. Ол – bf атауын f
мәнімен анықталған файл жұмысынабаламалы болады.
Rewrite (f) – атауы Assign операторында анықталған файлды жүктеу
үшін дискілік файлды ашу. Ол f үшін дискіден арнайы орын бөледі де,
көрсеткіші осы орынның басына орналастырылады.
Write (f,v) – f арқылы белгіленген дискілік файлға v элементін
жүктеу. Ол элементті бастиек тұрған орыннан бастап жүктеп шығарады да,
оператор орындалған соң бастиек келесі элемент жүктедлетін орынның басына
ауысады;
Close (f) – файлды жабу.
Файлды жүктеудегі ерекшелік: әр жазбасы жүктелген сайын жүйе оның
соңына автоматты түрде ең қойып кетеді.

2.2 Тізбекті ену файлы

Дискіде жазылған деректер файлын және дискіде файл жазылатын
орынды да файл деп, файлмен жұмыс істеуде арналған программаны программалық
файл деп атайды. Жалпы, олардың бәрін де файл деп атай береді,оларды айтылу
мағынасына қарай ажырату қиын емес.
Файлды оқып,экранға шығару үшін пайдаланылатын операциялар:
Assign (f,bf) – bf файлымен f файлын байланыстыру;
Reset(f) – атауы Ғ арқылы берілген сыртқы файлды ашып,көрсеткішті
осы файлдың басына орналастыру (Reset – ұйата орнату);
While not eof (f)do – көрсеткішін файлдың соңына жеткенге дейін
орындау циклі.
Read (f,v) – атауы F арқылы белгіленген файлдың бір элементтен
дискілік файлдан оқу. Оператор орындалып болған соң көрсеткіш келесі
элементтің басына ауысады;
Write (v.a1,’’,v.a2,’’,v.a3,’’,v.a4) – файл элементін экранға
шығару. Әдетте бұл оператордың параметрлеріне арнайы орындар бөліп,файлды
экранға оқуға ыңғайлы түрде шығарады,мысалы, va1:6,va2:18 параметрінің
орнында
(‘’,va2,’`:18-length(v.a2) параметрлерін алса болғаны. бұл кезде адамның
аты-жөні еніне 18 символ сиятын бағанның сол жағынан бастап орналастырылады
да, ‘ ‘:18-length (v.a2) параметрі артық қалған жері бос тастап кетеді.
Файлды оқу мен оны экранға шығару цикліне read(f,v),write (v.a1...)
оперлаторларының енгізілуі тиіс. With v do операторын пайдаланып, write
оперлаторларының параметрлеріне v . қосымшасын енгізбеуге де болады.
Мысал. Тізбекті ену тәсілі бойынша 1719 атауы сыртқы файлдың бірінші өріс
мәні b-ға тең болатын жазбасын экранға шығару керек.
Program f3;
{файл жазбасын басынан бастап ретімен экранға шығару}
Type... {(36)-программадағыдай}
Var ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
WІNDOWS 95 ЖҮЙЕСІНДЕГІ СІЛТЕУ ТЕРЕЗЕСІ
WINDOWS 98 ЖҮЙЕСІНДЕГІ СІЛТЕУ ТЕРЕЗЕСІ, ІСКЕ ҚОСУ
Файлдық жүйе функцияларына шолу
NTFS файлдық жүйесі
Текстік файлдар
Текстік файлдарға қолданылатын процедуралар
Дискінің логикалық құрылымы
Компьютерлік вирустардың пайда болуы және олардан қорғану
Файлдык жуйе
UNIX операциялық жүйедегі файлдық жүйе
Пәндер