Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодАлгКП.doc
Скачиваний:
109
Добавлен:
18.02.2016
Размер:
2.27 Mб
Скачать

Практикалық жұмыс №13

Тақырыбы: Turbo программалау тілінде файлдармен жұмыс істеу

Жұмыс мақсаты: Turbo Pascal бағдарламалау тілінде файлдарды кұруды, файлдарға деректерді жазуды, оқуды жəне оларды өңдеуді үйрену.

Жұмыстың орындалу тəртібі:

  1. Теориялық мəліметтермен танысу.

  2. Тапсырмалар орындау.

  3. Бақылау сұрақтарына жауап беру.

  4. Орындалған жұмыс туралы жазбаша есеп беру. Есепте жұмыс тақырыбы, мақсаты, листингі болуы қажет.

13.1 Негізгі түсініктер

Əдістемелік нұсқаулар. Физикалық дискіде орналаскан файлмен байланыс құру үшін ASSIGN процедурасы қолданылады.

Мысалы: ASSIGN (f, C:\win_doc\ ft. txt’’);

Берілген мысалда ASSIGN процедурасының көмегімен қатты дисктегі «win_doc» бумасындағы «ft. txt» файл атауымен «f» файлдық айнымалы байланыстырылды.

Ал RESET процедурасы арқылы файлды оқу үшін ашуға болады. Мысалы: RESET (f);

Келесі мысалда бес элементтен тұратын массивті файлға жазу жолы қарастырылған

PROGRAM FILE_PRAK:

Uses crt:

Var

F: file of integer

i, x: integer

begin

clrscr

assign (f; c:\massiv.txt);

rewrite (f)

for i: = 1 to 5 do

begin

read (x)

write (f,x)

end;

close (f):

end

Негізгі түсініктер

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

ASSIGN (файлдық айнымалы, файл аты);

(ASSIGN-тағайындау).

Файлдық айнымалы программаның Var айнымалыны сипаттау бөлімінде көрсетіледі.

Мысалы: Var f1: text;

Begin

Assign(f1, ‘C:\out.txt’);

….

END.

Ашылған барлық файлдар программа аяқталған соң CLOSE(файлдық айнымалы) процедурасы арқылы жабылу қажет.

Мысалы: Close(f1);

Сыртқы құрылғыда жазулы берілгендер файлын сыртқы файл деп, ал элементтері символ болып табылатын файлдар мәтіндік деп аталады. Текстік файлдың стандарт типі txt (текстік) болады.

Дискіде бар файлды ашу үшін

RESET(файлдық айнымалы); процедурасы қолданылады. Файлдан мәліметтерді оқу үшін қолданылатын READ енгізу процедурасының жазылу үлгісі төмендегіше болады:

READ( файлдық айнымалы, Var1, Var2,..);

Файлға жазу үшін

REWRITE(файлдық айнымалы);

процедурасы қолданылады. (rewrite-жаңадан жазу). Бұл процедура нәтижесінде дискіде жаңа файл жасалады. Оны Ms-Dos-тың COPY CON текстік файл жасау командасы арқылы жасау қажет емес, файл автоматты жасалады. Егер мұндай файл дискіде бар болса, оның бұрынғы мәні жойылып кетеді.

Файлға мәліметтерді жазу үшін қолданылатын WRITE шығару процедурасының жазылу үлгісі төмендегіше болады:

WRITE( файлдық айнымалы, Var1, Var2,..);

Элементтер файлда 0-ден бастап номерленеді. Соңғы элементтен кейін файл соңы белгісі автоматты жазылады.

FileSIZE(f) функциясы файлдағы элементтер санын анықтайды. Егер көрсеткіш файл соңында тұрса, логикалық типті EOF(f) функциясы ақиқат мән қабылдайды.

EOF(End OF File)-көрсеткіштің файл соңына жетуін тексеретін стандарт функция.

While Not EOF(f) do-көрсеткіш файл соңына жеткенге дейін орындау циклі.

1-мысал. Компоненттері нақты сан болатын f1 файлы берілген. Барлық компоненттердің квадраттарының қосындысын тауып, нәтижені f2 файлында шығарыңдар. Кіру файлының аты Esep1.txt, шығу файлының аты out1.txt.

Файл жасау үшін Турбо Паскаль редакторының мәзірінен

  1. File-DOS SHELL

  2. C:\>copy con Esep1.txt <enter>

7.17 3.56 4.5 …..<f6>-<enter>

3. C:\> Exit <enter> командалар тізбегін орындау қажет. Нәтижеде С дискісінің түпкі каталогында нақты сандардан тұратын Esep1.txt файлы жасалады. Ол 7.17 3.56 4.5..... нақты сандардан тұрады.

Есептің программасы:

Program Pr1;

Var f1, f2: text;

X,S:integer;

Begin

Assign(f1,’c:\Esep1.txt’); Reset(f1); {дискіде бар файлды ашу}

Assign(f2,’c:\out1.txt’); Rewrite(f2); {жаңа файл жасау}

While not eof(f1) do

Begin

Read(f1, x);

S:=S+sqr(x);

End;

Write(f2, ‘S=’, S);

Close(f1);

Close(f2);

End.

Нәтижені қарау үшін File-Dos SHELL командасы арқылы MS-DOS операциялық жүйесіне өтіп, TYPE файл аты командасын теру қажет.

C:\TYPE out1.txt

TYPE- MS-DOS-тың экранға файл мазмұнын шығару командасы.

2-жаттығу. Бүтін сандардан тұратын f файлы берілген. Оның 3-ке бөлінетін және 7-ге бөлінбейтін барлық компоненттерін g файлына жазыңдар.

Program Pr2;

Var f1, f2: text;

X: integer;

Begin

Assign (f, ‘c:\Esep2.txt); Reset (f);

Assign (g,’c: \out1.txt’); Rewrite(g);

While not EOF (f) do

Begin

Read (f,x);

If (x mod 3=0) and (x mod 7<>0) then Write (g, ‘x=’,x); End;

Close (f); Close (g); End.

ЖЕКЕ ТАПСЫРМАЛАР

1. Текстік файлдан тек тырнақшаға алынып жазылған сөз тіркестерін экранға іріктеп шығаратын бағдарлама құру

2. Текстік файлдан тек сөйлемдегі сөздер саны бесеуден аспайтын сөйлемдерді іріктеп экранға шығаратын бағдарлама құру

3. Текстік файлдың сөйлемдерінде сандық мəндері кездеспейтін бөліктерін іріктеп экранға шығаратын бағдарлама құру

4. Файлдан тексті оқып, берілген сөйлемдегі барлық бас əріптерді қатарлық əріптерге қайта ауыстырып экранға шығаратын бағдарлама құру

5. Текстік файлдан төрт сөйлемді оқып, оны кері реті бойынша шығару бағдарламасын құру

6. Файлдағы тексті оқып, сөйлемдерде пернетақта көмегімен енгізілген сөз кездессе, онда осы сөйлемді толық экранға шығаратын бағдарлама құру

7. Файлдан тексті оқып, экранға тек сандық деректері бар сөйлемдерді іріктеп шығару бағдарламасын құру

8. Файлдан тексті оқып, тек үтір кездесетін сөйлемдерді экранға іріктеп шығаратын бағдарлама құру

9. Файлдан тексті оқып, сұрақ белгісі жəне леп белгісі кездесетін сөйлемдерді іріктеп экранға шығаратын бағдарлама құру

10. Файлдан тексті оқып, берілген текстегі тыныс белгісі ең көп кездесетін сөйлемді экранға шығаратын бағдарлама құру

11. Файлдан тексті оқып, сөйлемдерде ең ұзақ сөздерді тауып, оларды іріктеп экранға шығаратын бағдарлама құру

12. Файлдан тексті оқып, сөйлемдердегі ең қысқа сөздерді тауып, оларды іріктеп экранға шығаратын бағдарлама құру

Бақылау сүрақтары:

  1. 1. Файл дегеніміз не?

  2. 2. Файлдардың қандай түрлері болады?

  3. 3. Типтелген файлдарды қалай ұйымдастыруға болады?

  4. 4. Типтелмеген файлдарды қалай ұйымдастыруға болады?

  5. 5. Текстік файлды қалай ашуға болады?

  6. 6. Деректерді файлдарға қалай жазуға болады?

  7. 7. Типтелген жəне типтелмеген файлдардың айырмашылығы неде?

  8. 8. Файл соңын қалай анықтауға болады?