Файл элементтерін өзгерту
Жоспар:
Кіріспе.......................................................................................................................3
I тарау Файлдар
1.1.Файлдар.............................................................................................................5 1.2.Файлдардың түрлері......................................................................................9
II тарау Файлдармен жұмыс
2.1.Файлдардың жалпы сипатталуы............................................................16
2.2.Файлды өңдеудің негізгі процедуралары мен функциялары...................19
2.3.Файлдармен жұмыс.......................................................................................26
III тарау
3.1.Текстік файлдар құру мысалддары..........................................................................31
3.2.Типтері анықталған файлдармен жұмыс мысалдары..........................................44
3.3.Типтері анықталмаған файлдармен жұмыс мысалдары......................................50
Қорытынды
Пайданылған әдебиеттер тізімі.
Кіріспе
Турбо Паскаль программалау тілін осы кезге дейін оқып
Файл негізінен екі мәселені шешеді:
Берілген мәліметерді және программа нәтижесін жинақтауға және оның
Программаны басқа сыртқы енгізу щығару құралдармен (дисплей,баспа) байланыстырады.
Файлға тізбекті ену тәсілінде файл элементтерін шығару, олармен
Файлды өңдеу үшін көптеген процедуралар мен функциялар қолданылады.
Олар: Assign, Close, Rewrite, Reset,Read, Write, Blockread, Blockwrite,
Программаның орындалу кезеңінде файл элементтерімен файлға тізбекті және
Файлға тізбекті ену тәсілінде файл элементтерін шығару, олармен
I тарау Файлдар
1.1.Файлдар туралы жалпы түсінік
Файл- берілгендердің іргелі құрылымы (структура) Компьютерді
File (ағылшын тілінен аударылғанда) бума, іс қағаздар жинағы,
Файлдар деп жад құрылғыларына( дискеттер, винчестер,
оның белгілі бір аты болады, бұл бір мезгілде
оның компоненттері бір типті болады, мысалы жазулардан немесе
қатарлардан тұратын файлдар жасауға болады;
- бір файлдың ішінде екінші файл жасауға
файл жасауға болмайды.
файлды жасаған кезде оның бастапқы көлемі берілмейді, ол
Шартты түрде файлды жолақ (лента) түрінде қарастыруға
Мұнда м.о – маркер( курсор) орыны
Turbo Pascal-да файлдарды екі негізгі белгісі бойынша
а) файлдық типі бойынша (оның логикалық құрылымына);
б) файл элементтеріне катынау тәсілі бойынша.
Типтері бойынша файлдар шартты түрде үш түрге
Мәтіндік файл; типтік файл;
Біз көбінесе мәтіндік және типтік файлдармен жұмыс істейміз.
Қатынау тәсілі бойынша файлдар келесідей бөлінеді:
Біртіндеп ( кезекпен ) қатынау файлдары.
-Тікелей қатынау файлдары. Мұнда
Турбо Паскальда біртіндеп қатынау файлдарын текстік, (не последовательные
Программа бұрын бар файлды өңдей алады немесе жаңадан
1) файлды ашу; 2) оқу
Программаның кезкелген айнымалысы сияқты файл программаның
1.2.Файлдардың түрлері
Осыған дейін ,біз мәліметтерді пернетақтадан енгізіп, оларды экранға
Мәтіндік файлға мәліметтер жазу.
Бір өлшемді массив
Ең қарапайым файл типі мәтіндік файл болып табылады.
Келесі есепті шешіп көрейік: Пернетақтадан бірнеше сандар енгізіп,
Есепті кезеңдерге бөлейік:
1) Пернетақтадан мәліметерді енгізу.
2) Оларды «myfile.in» атты файлға жазу керек.
Бірінші кезеңді орындау үшін:
пернетақтадан енгізілетін сандардың мөлшерін (массив өлшемін) көрсету керек.
Сан мөлшерін білген соң , параметрлі циклді қолдану
Осы әрекеттерді орындау үшін қолданылатын айнымалыларды сипаттаймыз.
Айталық санымыз 100-ден көп емес және олар басқа
Program Misal_F1;
Var
San: array [1..100] of integer;
I, sanMolcheri: integer;
Мәліметтерді енгізу процедурасы келесі түрде болады:
procedura init; begin readln (sanmolcheri):
for I:=1 to sanmolcheri do
begin
write (“san[“,I,”]=’);
readln (san[1]);
end;
Мәліметтерді өңдеу процедурасы әзірге бізге қажет емес ,сондықтан
procedura work;
begin
end;
Енді екінші кезеңді қарастырайық, яғни мәліметтерді “myfile.in”атты мәтіндік
Алдымен өз файлымызды байланыстыратын, айнымалының атауын беру керек.Айталық,
var
fileOut:text;
Одан кейін біз программаға, «мәтіндік» типтегі FileOut атты
Файл аты мен оның кеңейтілуінен басқа орналасқан орнына
Енді сіз берілген файлды ашып , оған
Мұндағы, NameVar-бұл файлды белгілеу үшін берілген айнымалы аты,
Енді мәліметтерді файлға жазуға бәрі дайын.Ол үшін бұрыннан
Close(NameVar) процедурасы- файлдың соңына, файл соңы белгісін жазып,
Мәліметтерді файлға жазу процедурасы қандай болатынын қарастырып көрелік:
Procedura exi;
Var
FileOut : text;
Begin
Assign (FileOut,’mayFile.in’);
Rewrite (FileOut);
Write(FileOut,SanMolcheri);
For I:=1 to SanMolcheri do
Write (FileOut,San[i]);
Close (FileOut);
End;
Негізгі программаның мәтіні өзгеріссіз қалады
begin
init;
work;
exi;
end.
Осы программаны «Misal_F1» атымен дискіге жазып, оны орындауға
Ол үшін, сандары бір бірінен дәл ажыратудың екі
а) әрбір мәнді бос орын (‘ ’)
b) әрбір мәнді жаңа жолға жазу (баған бойынша).
Бірінші жағдайда енгізілетін айнымалы атауынан кейін бос орын
write(FileOut,SanMolcheri, ‘’);
for i:=1 to SanMolcheri do
write(FileOyt,San[i], ‘’);
Екінші жағдай үшін,writeln ( ) процедурасын қолданамыз:
Writeln (FileOut,SanMolcheri);
for i:=1 to SanMolcheri);
writeln(FileOut,San[i]);
Типті файл-барлық элементтері бір типті мәліметтер болып келетін
Әр элементті файлға жазу үшін, мәліметтердің типіне байланысты,міндетті
:File of< мәліметтер типі>
Біздің жағдайымызда:
FileOut:File of integer;
Бұл жазу, берілген файлдағы мәліметтер-32768-ден 32767 аралығында жататын
Сонымен қатар, типті файлдармен жұмыс істегенде де, assign(
Assign(¸)
Біздің жағдайымызда:
Assign (FileOut,’may.dat’);
Типті файлдармен жұмыс жасағанда мәтіндік файлдардағы секілді оларды
Rewrite() – процедурасын файлды жазуға ашады және
Типті файлдарға мәліметерді жазу write( ) процедурасы арқылы
Типті файлдарға writeln( ) процедурасын қолдануға болмайды.
Типті файлдармен жұмыс аяқталған соң Close()-процедурасы көмегімен
Reset()-процедурасы файлды оқуға ашады және көрсеткішті файлдың
Типті файлдан мәліметтерді оқу үшін read( ) процедурасын
Бұл қиындықтан шығу үшін FileSize( ) функциясын
FileSize( ):longint-функциясы файлдағы компоненттер санын анықтайды. Яғни,
II Файлдармен жұмыс
2.1.Файлдардың жалпы сипатталуы
Программада файлдар FILE OF қызметші сөздері арқылы сипатталады.
а) бірден айнымалылар бөлімінде:
VAR : ;.
ә) типтер бөлімінде:
TYPE< типі>=;
VAR : ;
Файлдарды сипаттау мысалдары:
TYPE A=File Of Char;
VAR X:А; {символдардан түратын Х файлы FC-типті);
Y:File Of Real; {нақты
TYPE Dosye=RECORD
A: String; B: lnteger; C: Char;
VAR X; Dosye; {Dosye-типті X жазуы)
Y: File Of Dosye
1. Әртүрлі символдардан құралған қатарлар тізбегінен тұратын файлдарды
VAR X: Text; Y: String;
Текстік файлдар әртүрлі текстік немесе сандык шамалардан тұратын
2. Құрамындағы элементтер типтері алдын-ала типтер бөлімінде сипатталатын
файлдарды жатқызуға болады:
TYPE Karta=RECORD
A,B: lnteger;
C: Real;
D: String;
End;
VAR X: File Of Karta;
Y: Array [1..10] Of Karta;
Типтері анықталған файлдарды көбінесе деректер қорын жасайтын программаларда
3. Құрамындағы элементтер типтері көрсетілмей, тек қана
сипатталу мысалы:
VAR X:File; Y :integer;
Типтері анықталмаған файлдарды символдар мен байттардың жиынтығы ретінде
2.2. Файлды өңдеудің негізгі процедуралары мен функциялары.
ASSIGN және СlOSЕ процедуралары.
Файлмен жұмыс алдында оның атын файлды айнымалымен байланыстырып
Assіgn(X,N);
мұндағы: X файлдық айнымалы, N
Жоғарыдағы процедураның орындалу нәтижесінде компьютер жұмыс істеу үшін
Файлды жабу үшін CLOSE процедурасы қолданылады.
CLOSE(X);
мұндағы: X – файлдық айнымалы
ASSIGN және CLOSE процедураларын қолдану мысалдары.
а) бірінші ашылған файлды жауып, екінші файлдың
Ciose(X); {X файлын жабу}
Assign(X.M); аХ-ке келесі ашылатын М файлының атын беру
ә) бірінші ашылған файлды жаппай-ақ екінші файлдың атын
Assign(X,N);
Assign(X1 ,М); //Х1 -кe
Close(X);
ASSIGN процедурасының көмегімен файлдың атын файлдык, айнымалымен байланыстырғаннан
Дискіге жаңа файл жазу;
Дискіде бар файлдың мәліметтерін өшіріп, басқа мәліметтер жазу;
Файлды дискіден оқу;
Файлдың атын өзгерту;
Файлды дискіден өшіру;
Файлдан берілген элементті іздеп табу;
Файл элементтерін өзгерту;
Файлға жаңа элемент қосу;
9.Бір файлдың элементтерін екінші бір файлға көшіріп жазу
REWRITE процедурасы
Дискіден бос орын ашып, жаңа файл жазуға дайындау
REWRITE(X);
мұндағы: X - дискіге жазылатын файл аты.
Жаңа файлдың ішіне мәліметтер READ және WRITE енгізу-шығару
WRITE('Teкст'); //файлға жазылатын текст мәлімет
Read(Y) //У - файлға жазылатын айнымалы
Ендірілген мәліметтер файлда сақталып жазылып қалуы үшін WRITE
WRITE(X,Y);
//Y айнымалысынын, мәні X файлында сақталады
Дискіге файл жазу мысалы: VAR
BEGIN WRITE('файл атын енгіз:'};
Readln(N); {жазылатын файлдын, атын енгізу)
Asaign(X,N); {файлдың атын файлдық айнымалымен байланыстыру]
Rewrite(X); (дискіден X файлын жаңа файл жазу үшін
Write('Y қатарын енгіз:');
Readln(Y); {Y айнымалысының мәнін енгізу}
Write{X,Y}; {X файлында Y айнымалысынын, мәнін
RESET процедурасы.
Дискідегі бар файлды ашу үшін стандартты RESET процедурасы
RESET(X);
файлдары айнымалылар мәндерін оқу READ процедурасы қолданылады, жалпы
READ(X,Y); //X ашылған файл,
Файлдағы айнымалылардың мәндерін экранға шығару үшін WRITE процедурасы
WRITE(Y);
Ашылған файлға қайтадан жаңа мәліметтер READ және WRITE
Дискідегі файлды оқу мысалы:
VAR X:Text;
Y,N:String;
BEGIN Readln(N), {оқылатын файлдың атын енгізу)
Assign(X,M), {файлдың атын файлдық
ResetfX); {дискіден X файлын оқу үшін ашу}
Read(X.Y); (X файлындағы Ү айнымалысының мәнін оқу)
Write('Y=',Y); {Ү - айнымалысының мәнін экранға
Close(X); Readln END.
BLOCKREAD процедурасы.
File-типті файлдардың элементтерін
BLOCKREAD(X, Y, B, N);
мұндағы:
X - файлдық айнымалы,
Ү - оқылатын айнымалы,
В - дискіден оқылатын мәліметтер көлемі(байт),
N - процедура орындалып болғандағы өңделген мәліметтер
көлемі(бұл параметрді көрсету міндетті емес).
BLOCKWRITE процедурасы.
File-типті файлдардың енгізілген элементтері дискіге жазылып сақталуын
BLOCKWRITE(X,Y.B,N);
APPEND процедурасы.
Текстік файлдың соңына жаңа мәліметтер ендіру үшін APPEND
APPEND(X);
мұндағы: X - Text-типті файлдық айнымалы
FLUSH процедурасы.
Файлдың ішкі буферін тазалап, соңғы енгізілген мәліметтердің
FLUSH(X);
мұндағы: X - Техt-типті файлдық айнымалы
TRUNCATE процедурасы.
Файлдың көрсетілген компонентінен бастап соңына дейін eндipy үшін
TRUNCATE(X);
мұндағы: X - типі анықталған файлдық айнымалы
RENAME процедурасы.
Дискідегі кез-келген ашылмаған файлдың атын өзгерту үшін RENAME
RENAME(X.New);
мұндагы: X файлдық айнымалы, New -
ERASE процедурасы.
Дискідегі кез-келген ашылмаған файлды өшіру үшін
ERASE(X); //дискіден X файлын
FILESIZE функциясы.
FILESIZE(X) - X файлының элементтерін, санын аныктау функциясы.
FILEPOS функциясы.
FILEPOS(X) X файлының орындалайын деп жатқан элементтін реттік
SEEK процедурасы.
SEEK(X,N) - файлдық сілтеме-керсеткішті N нөмірлі элементіне апаратын
EOLN, EOF және IORESULT логикалық функциялары.
EOLN(X) - Егер файлдық сілтеме-керсеткіштік позициясы қатардың соңында
IORESULT - Егер файл қатесіз дұрыс ашылса. онда
SEEKEOLN, SEEKEOF логикалык функциялары.
SEEKEOLN(X) - Егер файлдық сілтеме-көрсеткіш қатарда кездесетін барлық
SEEKEOF(X) - Егер файлдық сілтемелер- көрсеткіш тексте кездесетін
2.3. Файлдармен жұмыс.
Программаның орындалу кезеңінде файл элементтерімен файлға тізбекті және
Файлға тізбекті ену тәсілінде файл элементтерін шығару, олармен
Тікелей ену тәсілінде файл элементтерімен амалдар олардың файлдағы
Турбо-Паскаль да өзге программалау тілдеріндегі сияқты сыртқы жадқа
Жедел жадтағы файл компоненттерін (жазуларын) дискіге сақтау;
Сыртқы жадтағы файл компоненттерін жедел жадқа жүктеу.
Пайдаланушылар күнделікті жұмыс барысында бұл іс-әрекеттерді жиі орындайтындықтан,
Жедел жадтағы файл компоненттерін (жазулардың) дискіге сақтаудың келесі
1) файлды сақтау үшін ашу.Нәтижедегі жүйе сыртқы жадты
2)Жедел жадтағы файл компоненттерін сыртқы жадқа сақтау. Файл
3) Файл компоненттері дискіге жазылғаннан кейін файлды жабу.
Сыртқы жадтағы файл компоненттерін жедел жадқа жүктеу жолы
Файлды жедел жадқа жүктеу үшін ашу. Жүйе дискіден
Программалау тілінде компоненттерімен жұмыс істеу әдісіне қатысты файлдардың
n-ші компонентіне тек саны (n1) компоненттерден кейін ғана
Ал nші компонентін бірден табуға болатын файлдар- тікелей
Турбо-Паскаль тілінде берілгендер файлымен жұмыс істеу барысында келесі
1.Файл ретінде қандай да бір атқа ие берілгендер
2. Файлдың әрбір компоненті құрамына енетін берілгендердің типтері
3.Файл компоненттері санына шек қойылмайды, тек сыртқы жадтың
4.Берілгендер файлын құруда келесі іс-әрекеттер ретімен орындалуы тиіс:
а) файлды дискіге сақтау үшін ашу;
b) файл компоненттерін (жазуларын) енгізу;
c) файлды жабу .
2) файлды жедел жадқа жүктеу жолы:
a) Файлды жедел жадқа жүктеу үшін ашу;
b) файл компоненттерін оқу;
c) файлды жабу.
Турбо-Паскаль тілінде программа түрлі типті файлдармен жұмыс істеуі
1.Файлдық айнымалыны дискідегі файл атымен байланыстыру. Ол assign
Assign(, )
Мысалы, Assign(ƒ,bƒ).
2. Мәлімет алмасу бағытын, яғни файлдың жедел жадқа
Турбо-Паскаль тілінде файлдың үш түрімен жұмыс істеуге мүмкіндік
1.Типтелмеген файлдар;
2.Мәтіндік файлдар;
3.Типтелмеген файлдар.
Түрлі типті файлдарды сақтауда арнайы қызметші сөздер қолданылады.Типтелген
Type ƒil=ƒile oƒ
Түрінде көрсетіледі. Мұндағы, ƒil-пайдаланушы берген тип аты, oƒ
Мәтіндік файл типін Var ƒ:text арқылы сипаттауға болады.
Типтелмеген файлдарды сипатауда
Type Tbƒ=ƒile;
Var
F:Tbƒ;
Немесе var ƒ:ƒile қатарын қолдануға болады.
Файл түрі файлда берілгендерді сақтау жолын анықтайды.
Дискіде типтелген файлды құру және оны жедел жадқа
Дискіде жаңадан файл құру жолы (Біздің мысалымыздағы kuru
1. assign(ƒ,"< дискідегі файл аты>").Біздің мысалымызда ол-assign(ƒ,bƒ).
2.дискіде файлды құру үшін ашу: rewrite(ƒ);
3.файл компоненттерін енгізу:write(ƒ,ν), мұндағы ƒ-файлдық айнымалы аты, ν
4.Файлды жабу:close(ƒ).
Дискідегі файлды жедел жадқа жүктеу жолы (біздің мысалымызда
1. assign(ƒ,"< дискідегі файл аты>").Біздің мысалымызда ол-assign(ƒ,bƒ).
2.дискіде файлды ашу үшін: reset(ƒ);
3.файл компонентін оқу: read(ƒ,ν), мұндағы ƒ-файлдық айнымалы аты,
4.Файлды жабу:close(ƒ).
Берілгендер файлы бірнеше компонентерден тұратындықтан файл соңын анықтауда
3.1.Текстік файлдар құру мысалдары.
Элементтері жолдық қатардан тұратын текстік файлмен жұмыс.
а) файл жасау:
PROGRAM Fail_1;
USES Crt;
VAR X:Text; Y,N:String;
BEGIN Clrscr; Write('Файлдың атын енгіз: '); Readln(N),
Clrscr; Assign(X,N); Rewrite(X);
Repeat Readln(Y); Writeln(X,Y); Until Y=’’;
Writeln('Файлдың соңы'); Close(X}; Readln END.
ә) файл оқу:
PROGRAM Fail_2;
USES Crt;
VAR X:Text; Y,N:String;
BEGIN Clrscr; Write('Файлдың аты: '); Readln(N);
Clrscr; Assign(X,N)
Reset(X);
While Not Eof(X) Do Begin Readln(X,Y);
Writeln(Y); End;
б) файлдан берілген қатарды іздеп шығару:
PROGRAM Fail_3;
USES Crt
VAR X;Text; T:Integer;
Y,S:String; N:String;
BEGIN Clrscr; writе('Файлдың аты: '); Readln(N);
Clrscr; Assign(X,N); Reset(X);
Write(‘Шығаратын қатарды енгіз:’); Readln(S); T:=0;
While Not Eof(X) Do Begin
ReadIn(X,Y);
IF Y=S Then Begin T: = 1; Writeln(‘Y=’,Y):
If T=0 Then writeln('Ондай қатар жоқ'):
Readln; Close(X); END.
в) файл соңына мәлімет ендіру:
PROGRAM Fail_4;
VAR X:Text; Y,N:String;
BEGIN writе('Файлдың аты; ');
Assign(X,N); Append(X);
Repeat Readln(Y);
Writeln(‘Фaйлдың соңы'); Close(X);
г) жаңа файлға текстің бір қатарын көшіру:
PROGRAM Fail_5;
VAR X,X1:Text; Y.N,New:String;
BEGIN write ('Фaйл аты: '); Readln(N);
Assign(X,N); Reset(X);
writе('Жаңа файл аты: '); Readln(New);
Assign(X1,New); Rewrite(X1);
While Not Seek Eoln(X) Do Begin
Read(X,Y); Writeln(X1,Y); End;
Close(X); Close(X1); Readln END.
д) дискіде бар файлға мәлімет көшіру:
PROGRAM Fail_6;
VAR X,X1 Text; Y,N,New:String;
BEGIN write(‘Файл аты:’); Readln(N);
Assign(X.N); Reset(X);
Write (‘қай файлға көшіру керек:’); Readln(New);
Assign(X1,New), Append(X1);
While Not Eof(X) Do Begin Readln(X,Y);
Close(X); Close(X1); Readln END.
Элементтері бүтін сан болатын текстік файлмен жұмыс.
а) файл жазу:
PROGRAM Fail_7;
USES Crt;
VAR X:Text; Y,K:lnteger; N:String;
BEGIN Clrscr; Writе('Файлдың атын енгіз: '); Readln(N);
Assign(X,N); Rewrite(X);
For K: = 1 to 10 Do Begin
Read(Y);
Writeln(X,Y); End;
Writeln ('Файлдың соңы'); Readln; Close(X); END.
ә) файлды оқу:
PROGRAM Fail_8;
USES Crt;
VAR X:Text; N:String;
Y:lnteger;
BEGIN Clrscr; Writе('Файлдың атын енгіз: '); Readln(N);
Assign(X,N); Reset(X);
While Not Eof(X) Do Begin
Readln(X.Y);
Write( ‘Y=’,Y); End;
Writeln; Writeln('Файлдың соңы'); Readln; Close(X); END.
б) файлдан теріс сандар шығару:
PROGRAM Fail_5;
USES Crt;
VAR X:Text; Y:Integer; N:String;
BEGIN Clrscr; Writе('Файлдың атын енгіз ');
Readln(N); Assign(X,N); Reset(X);
While Not Eof(X) Do Begin
Readln(X,Y); If Y0 Then S:=S+A[K]; End;
Writeln(‘S=',S);
Writeln; writeln(‘Файлдың соңы’); Close(X);
Readln END.
в) файлға жазылған массивтің жұп элементтерін шығару:
PROGRAM Fail_14;
USES Crt;
VAR X:Text; N:String;
K:lnteger; A:Array[1..5] of Integer;
BEGIN Clrscr; Write(‘файлдың атын енгіз: '); Readln(N),
Assign(X,N), Reset(X);
K:=0; While Not Eof(X) Do Begin lnc(K);
Readln(X,A[K]);
If A[K] Mod 2-0 Then Write (A[K]); End;
Writeln; Writeln('Файлдың соңы’); Close(X):
Readln END.
г) файлға жазылған массив элементтерін өсу бойынша реттеу:
PROGRAM Fail_15;
USES Crt;
VAR X-.Text; N:String;
K,I,P:lnteger; A:Array[1..5] of Integer;
BEGIN CIrscr; write('Файлдың атын енгіз: '); Readln(N);
Assign(X,N); Reset(X);
K:=0; While Not Eof(X) Do Begin lnc(K); Readln(X,A[K]);
For K:=1 To 4 Do
For 1:=K+1 To 5 Do If А[К]>А[I] Then
End;
For K: = 1 To 5 Do Write(‘A[K]=’,
Writeln; Writeln('Файлдың соңы'); Close(X); Readln END.
д) файлдағы массивтің тақ элементтерін екінші файлға жазу:
PROGRAM Fail_16;
USES Crt;
VAR X,X1:Text; N,New:Strjng;
K:lnteger; A:Array[1..5] Of Integer;
BEGIN CIrscr; Write(‘файлдың атын енгіз: '); Readln(N);
Assign(X,N); Reset(X);
writе('Жаңа фaйлдың атын енгіз: '); Readln(New);
Assign(X1,New), Rewrite(X1;
K:=0; While Not Eof(X} Do
Read(X,A[k]); If Odd(A[K]) Then Writeln(X1,A[k]); End;
Writeln; Writeln('файлдың соңы'); Close(X); Close(X1); Readln END.
Элементтері матрица болатын текстік файлмен жұмыс.
а) файл жазу:
PROGRAM Fail_17;
VAR X:Text. N:string;
A:Array[1..5,l..3] Of integer; K,I:Integer;
BEGIN Write(файлдың атын енгіз; '); Readln(N);
Assign(X.N); Rewrite(X);
For K: = 1 To 5 Do
For І:=1 To n Do Begin Read(A[K,I])
Writeln(X,A[K,l]); End;
Writeln; Writeln('файлдың соңы'); Readln; Close(x); END.
ә) файл оқу:
PROGRAM File_18;
VAR X:Text; N:String;
A:Array[1..5,1..3] Of Integer: K,I:integer;
BEGIN Write('файлдың атын енгіз’); Readln(N)
Assign(X,N); Reset(X);
For K:=1 To 5 Do Begin
For I:=1 To 3 Do Begin
Read(X,A[K,I]); Write(A[K,I]:4); End;
Writeln; End;
Writeln; Writeln(‘Файлдың соңы’); Readin; Close(X); END.
б)файлдағы матрицаның теріс элементтерінен бір өлшемді массив шығару:
PROGRAM Fail_19;
VAR X:Text; N:String;
A:Array[1..5,1..3] Of Integer;
B:Array[1..15] Of Integer;
K,I,T:integer;
BEGIN Write('Файлдың атын енгіз:'); Readln(N).
Assign(X,N); Reset(X);
T:=0;
For K: = 1 To 5 Do
For l:=1 To 3 Do Begin
Read (X,A[K,I]); IF A[K,I]0 Then Writeln('Y=',Y) End;
Close(X); Readln END.
Массив элементтерінен тұратын файл жасау.
PROGRAM fail_34;
VAR X:File; Y:Array[1..10] Of Integer;
K:lnteger; N:String;
BEGIN Write('Файлдың атын енгіз: '); Readln(N);
Assign(X.N); Rewrite(X);
For K: = 1 To 10 Do Begin
Read(Y[K]); BlockWrite(X Y[K],1) End;
Close(X); Readln END.
Массив элементтерінен тұратын файлды оқу.
ә) файлды Eof функциясын қолдану арқылы оқу:
PROGRAM fail_35;
VAR X:File;
Ү:Аггау[1..10] Of Integer;
K:lnteger; N:String;
BEGIN Write('Фaйлдың атын енгіз: '); Readln(N);
Assign(X,N); Reset(X); K:=0;
While Not Eof(X) Do Begin Inc(K);
BlockRead(X,Y[K],1);
Write (‘Y[‘, K,’]=’, Y[K]); End;
Writeln; Writeln(‘Файлды оқу аяқталды’); Close(X);
Readln END.
б) файлды Filesize функциясын қолдану арқылы оқу:
PROGRAM fail_36;
VAR X:File; Y:Array[1.. 10] Of Integer; K:Integer; N:String;
BEGIN Write (‘Файлдың атын енгіз:’); Readln(N);
Assign(X,N); Reset(X);
For K:=1 To Filesize(X) Do Begin
BlockRead(X,Y[K],1);
Write(' Y[',K,']=', Y[K]); End;
Writeln; Writeln('Файлды оқу аяқталды'); Close(X);
Readln END.
Файлдағы массив элементтерінің ең үлкенін басқа
файлға жазу.
а) файлдағы массивтің ең үлкен элементін басқа файлға
PROGRAM fail_37;
VAR X,X1:File; Y:Array[1 ..10] Of Integer;
K,Max:Integer; N,N1:String;
BEGIN Wгite(‘фaйлдың атын енгіз:’); Readln(N);
Assign(X,N); Reset(X);
Writе('Жаңа файл атын енгіз: '); Readln(N1);
Assign(Xl,N1); Rewrite(X1); K:=0;
While Not Eof(X) Do Begin Inc(K); BlockRead(X,Y[K],1); End;
Max:=Y[1];
For K:= 2 To Filesize(X) Do If Y[K]>Max
BlockWrite(X1,Max,1);
Writeln('Maccивтің ең үлкен элементі жаңа', X1, '
Close(X)ж Close(X1); Readln END.
ә) үлкен элемент жазылған файлды оқу:
PROGRAM fail_38;
VAR X:File; Y:Array[1..10l Of Integer;
K,Max:lnteger; N:String;
BEGIN Write('файлдың атын енгіз: '); Readln(N);
Assign(X,N), Reset(X);
For K:=1 To Filesize(X) Do Begin
BlockRead(X,Max,1); Write(' Max=', Max); End;
Writeln; Writeln('Файлды оқу аяқталды'); Close(X);
Readln END.
Қорытынды
Файлдар деп сыртқы жат құрылғыларына дискілерге белгілі бір
Мәлімет сақтау үшін файлдардың ролі өте зор.
1. Жазба типін пайдаланып студенттердің жеке кодын,
Program Prost_20;
uses Crt;
type
StudentBase=record
Code: word;
Fam: string[20];
GodR: integer;
Spec: string[15];
Grup: string[8];
end;
var
Student: StudentBase;
f: file of StudentBase;
i: integer;
ch: char;
begin
Assign(f, 'c:\Tp7\student.dat');
Rewrite(f);
i:=0;
Repeat
ClrScr; inc(i);
Writeln(i,' - студент туралы мәлімет енгізіңіз:'); Writeln;
Write('Жеке коды:
Write('Аты-жөні:
Write('Туылған жылы: '); Readln(Student.GodR);
Write('Мамандығы:
Write('Оқу тобы:
Write(f,Student); Writeln;
Writeln('Енгізуді аяқтау үшін түймесін басыңыз');
Writeln('Енгізуді жалғастыру үшін кезкелген түймені басыңыз');
ch:=ReadKey;
until ch=chr(48);
Close(f);
end.
2. Бұрын жасақталған «student.dat» файлын ашып, экранға студенттердің
Program Prost_21;
uses Crt;
type
StudentBase=record
Code: word;
Fam: string[20];
GodR: integer;
Spec: string[15];
Grup: string[8];
end;
var
Student: StudentBase;
f: file of StudentBase;
i,k: word;
ch: char;
p: boolean;
begin
Assign(f,'c:\Tp7\student.dbf');
{$I-}
reset(f);
{$I+}
if IOResult 0
then Writeln(' "student.dat" файлы табылған жоқ!')
else
begin
ClrScr;
For i:=1 to filesize(f) do
begin
Read(f,Student);
Writeln(Student.Code:6,' - '+Student.Fam);
if i mod 24=0 then begin Readln;
end;
Write('Студенттің жеке кодын енгіз: '); Readln(k) ;
i:=0; Seek(f,i); p:=true;
While not eof(f) do
begin
Read(f,Student);
if Student.Code=k
then
begin
ClrScr;
Writeln('Жеке коды:
Writeln('Аты-жөні:
Writeln('Туылған жылы: ',Student.GodR);
Writeln('Мамандығы:
Writeln('Оқу тобы:
p:=false;
ch:=ReadKey; Break;
end;
end;
if p then
begin Writeln('Ондай студент жоқ '); ch:=ReadKey end;
Close(f);
end;
end.
Пайдаланылған әдебиеттер
1.В.Б.Попов. Турбо Паскаль. Для школников. М:. «Финансы и
2.Г.Григас.Начало программирования.Книга для учащихся. Москва. «Просвещение». 1987. 110
3.С.А.Абрамов. Е.В.Зима «Начало программирования на языке Паскаля.
4.В.Н.Кирнос. Язык Паскаль и численные методы. Учебное пособие
5. Б.Қ .Науысбеков, Е.Қ .Балапанов, К.З.Халықова, А.Б.Дәулетқұлов. Паскаль
6.А.Б.Дәулетқұлов , С.С.Алғазы. Паскаль тілінде программалау негіздері:Алгоритмдеу және
7.Б.Бөрібаев. Р.М.Дүзбаева , А.М.Махметова. Информатика және есептеуіш техника
8.Йенсен К., Вирт Н. Руководство для пользователя и
9. Пильщиков В.Н. Сборник упражнений по языку Паскаль.
10.Грэхем Р. Практический курс языка Паскаль. – М.:
11. Бутомо И.Д., Самочадин А.В., Усанова Д.В. Программирование
12. Абрамов В.Г., Трифонов Н.П. Введение в язык
13. Рашбаев Ж.М. Функция,процедура және рекурсия.Әдістемелік нұсқау-Атырау:АМУ ЖАТО.2002
14.Динисламов Ж. Turbo Pascal 6.0.ортасында программалау-II.Оқу құралы.-Қызылорда-2002. 140-бет.
3
Диапазондық
Бүтін
Файлдық
Жиындық
Жолдық
Санамалы
Символдық
Логикалық
Реттік
Жазба
Массив
Нақты
Объектілі
Сілтемелік
Процедуралық
Құрылымдық
Қарапайым
Типтер Типы
Т.М
f0
f1
f2
f3
…
М.К.
Rewrite (f)
Reset (f)
Т.М
f0
f1
М.К.
Т.М
Word мәтіндік редактор
«Информатика» пәнінен практикалық жұмыстар
Жұмыс бетінің өлшемі
Файлдар және оның түрлері
Microsoft Power Point программасы
«Кино жұлдыздары» мәліметтер қорын құру.
Презентацияны шаблондар көмегімен құру
TYPE типі файл элементтерінің типтері
Диаграммаға тақырып енгізу
Turbo pascal ортасындағы файлдар