Автор работы: Пользователь скрыл имя, 30 Августа 2013 в 14:37, курсовая работа
Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцрия физигі Niklaus Wirth ұсынған.Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль деп атап , тіл атауын үнемі бас әріппен жазылуын сұраған.Кейінен тілдің көптеген нұсқалары жарық көреді. Кейінен тілдің көптеген нұсқалары жарық көреді.Солардың ішінде 1983 жылы Борланд корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа үлгісі Turbo Pascal программалаушылар арасында жоғарғы сұранысқа ие болды.
І. Кіріспе
ІІ. Негізгі бөлім
ІІ. 1. Файлдардың түрлері
ІІ. 2.Мәтіндік файлға мәліметтер жазу. Бір өлшемді массив.
ІІ. 3.Мәтіндік файлға мәліметтер жазу. Екі өлшемді массив
ІІ. 4.Мәтiндiк файлдан мәлiметтердi оқу
ІІ. 5. Мәтiндiк файлдан мэлiметтердi оку (жалғасы)
ІІ. 6. Типті файл. Типті файлдарға мәліметті жазу
ІІ. 7. Типті файлдан мәліметтерді оқу
ІІ. 8. Әртүрлі базалық типтерді біріктіру. Жазба типі
ІІ. 9. Сыртқы кітапханалар. Модульдер
ІІ. 10. Модуль құрылымы
Қорытынды
Пайдаланылған әдебиеттер
assing (FileOut,`mayFile.in`);
{файлды жазуға дайындау}
rewrite(FileOut);
{массив өлшемдерiн жазу және курсорды жаңа жолға көшiру}
writeln(FileOut, JolSany,``, BaganSany);
for i=1 to JolSany do
begin
{массив элементтерiн бос орын арқылы жолға жазу}
for j=1 to BaganSany do
write(FileOut,San[i,j],``);
{j-циклiн аяақтаған соң, курсорды жаңа жолға көшiру}
writeln(Fileout);
end;
{файлды жабу}
close(FileOut);
end;
Негiзгi программа мәтiнiнiң өзгерiсiз қалатындығын айтпаса да болады. Осы программаны Misal_F5 атымен сактаңыз. Программаны iске қосудың алдымен, келесi әрекеттердi:
Процедура мәтінімен жүріп өткенде құрама операторлардың жұмысына көңіл бөліңіз.
{j-цикл аякталган сон, курсорды жана жолга кошiру}
writeln(FileOut);
end;
Тоқтату нүктесін алып тастау үшін, келесі әрекеттерді орындаймыз:
Экранда программаға қойылған барлық тоқтату нүктелерінің тізімі көһрсетілген, Breakpoints… (тоқтату нүктелері) сұхбат терезесі (2.9-сурет) шығады.
Белгіленген тоқтату нүктесі тізімнен алынып тасталады. Егер сіз барлық тоқтату нүктесін алып тастағыңыз келсе-- “Clear all” батырмасын басу керек.
Тапсырма
4. Мәтiндiк файлдан мәлiметтердi оқу
Өткен тақырыптарда сіздер, мәліметтерді мәтіндік файлға жазуды үйреніңіздер. Енді оларды қайтадан файлдан қалай оқуға болатынын қарастырамыз.
Ол үшін `mayFile1/in` файлын пайдаланамыз. Мәліметтерді файлға жазу кезіндегідей, біздің файлмызды байланыстыратын айнымалыға атау беруіміз керек. Айталық, ол атау Fileln болсын, содан кейін біз оны мәтіндік файл ретінде сипаттауымыз керек. Бұл айнымалыны біз енгізу процедурасында пайдаланатын болғандықтан, сол процедураның жергілікті айнымалысы ретінде сипаттаймыз.
Filelnt:text;
Одан кейін біз программада, “мәтіндік типті ” Fileln айнымалысы, біздің
`mayFile1.in` атауымен берілген нақтылы
файлмызды белгілейтіндігін көрсетуіміз
керек. Ол үшін assing(NameVar,NameFile)-проце
Енді файлдан мәліметтерді оқу үшін, берілген файлды ашуымыз керек. Ол үшін, reset(NameVar)—процедурасында қолданады, мұндағы NameVar-сіздің файлды белгілеуге берген айнымалыңыздың атауы, біздің жағдайымызда, ол NameVar-Fileln. Reset(NameVar)-процедурасы, мәліметтерді оқуға файлды ашады және курсорды файлдың басына орналастырадв. Егер ондай жоқ болса, қателік туралы хабарлама береді. Енді мәліметтерді файлдан оқуға барлығы дайын болды. Ол үшін өзімізге бұрынан таныс Read() және Readln() процедураларын пайдаланамыз. Мәліметтерді оқу пернетақтадан емес, файлдан жүзеге асу үшін, мәліметтерді оқудың жолын көсетеміз. Яғни, жақшалардың ішіне, assing()- процедурасының көмегімен біздің файлмызды байланыстырып тұрған, айнымалының атауын көрсетеміз.
`MayFile.in`файлындағы бірінші сан, файлдағы барлық сандардардың мөлшерін көрсетеді. Сондықтан, алдымен файлдан
Sanau айнымалысының мәнін оқытамыз,содан кейін параметрлі циклді қолданып, файлдағы сандардың мәндерін оқимыз. Мәліметтер толық оқылып болған соң, өзімізге таныс Close() процедурасын пайдаланып, файлды жабу керек.
Енді, мәліметтерді фйалдан оқу процедурасы қандай болатындығын көрелік:
procedure lnit;
reset(Fileln);
readln(Fileln,Sanau);
for i:=1 to Sanau do
read(Fileln,San[i]);
close(Fileln);
Дәл осындай, егер өлшемдері белгілі болса, мәліметтерді екі өлшемді массивтен оқу да онша қиыншылық туғызбайды. `MayFile.in5` файлынан мәліметтерді оқитын программадан үзінді мысалға келтірейік:
procedure lnit;
Мынаған көңіл аударыңыз, массив элементтерін оқу кезінде, Readln() процедурасын қолданбай, тек қана Read() процедурасы қолданылды. Бұл мүмкін еді, себебі массив элементтерін оқу үшін оның өлшемдері алдын ала белгілі болды. Егер мәтіндік файлдағы элементтер жазбалар саны алдын ала белгісіз болса, онда қайталану саны белгісіз цикл операторларын қолдануға тура келеді.
Тапсырма
5. Мәтiндiк файлдан мэлiметтердi оку
(жалғасы)
Егер мәтіндік файлдардағы жазбалар саны белгілі болса, онда мәліметтерді оқу онша қиын емес. Ал, егер мәтіндік файлдағы жазбалар саны белгісіз болса ше, онда не істейміз? Егер сізге орындалатын әрекеттердің саны белгісіз болса, онда қайталану саны белгісіз цикл операторларын қолдануға болатындығын білесіз.2.8.2 тақырыбында мәтіндік файлдардың қасиеттерін сипаттаған болатынбыз, онда файлдың соңына файл соңын көсететін белгі код қойылатыны жайлы айтылған. Олай болса, мәліметтерді оқу файлдың соңы табылғанша жалғаса береді. Егер файл бос болса, яғни онда ешқандай жазба жоқ, онда одан мәліметтерді оқуға болмайды. Осы айтылғандарды тұжырымдай келе, алғы шарт циклін қолдану керек екеніне көзіміз жетті. Файл соңы белгісін анықтау үшін, EOF(Name Var)-процедурасын қолданады ағылшын тілінде EndOf File—файл соңы деген сөзден қысқартылып алынған. Жақшаның ішіне assing() процедурасында көрсетілген файлдың нақтылы атымен байланыстыратын айнымалы атауы жазылады. EOF(Name Var)-процедурасының мәні, False(жалған)-болады егер файл соңына жетпеген болса Ture(ақиқат)-болады, егер файлдың соңы анықталған болса. Олай болса, алғы шарт циклін қолданғанда Not EOF(Fileln)-шарты әзірше ақиқат болса, онда цикл орындала береді, яғни файл соңы анықталғанша. Бұл жағдайда мәліметтерді енгізу процедурасы келесідей болады:
procdure lnit;
San: arry[1…100] of integer;
Sanau: byte;
Жазбалар саны белгісіз файлдан мәліметтерді оқу жұмысының дұрыстығын тексеру үшін, оқылған мәліметтер массивін экранға баған түрінде шығарамыз:
procedure exi;
Егер сіз программа мәтінінің қалған бөлігін дұрыс құрастырыңыз, онда жазбалар саны 100-ден аспайтын мәтіндік файлдан мәліметтерді және жазбалар санын оқитын программа аласыз. Сонымен қатар бұл программа файлдағы барлық жазбалар санын анықтап, оны экранда жазады.
Информация о работе Мәтіндік файлға мәліметтер жазу. Бір өлшемді массив