Автор работы: Пользователь скрыл имя, 13 Сентября 2013 в 20:13, курсовая работа
Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцрия физигі Niklaus Wirth ұсынған.Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль деп атап , тіл атауын үнемі бас әріппен жазылуын сұраған.Кейінен тілдің көптеген нұсқалары жарық көреді. Кейінен тілдің көптеген нұсқалары жарық көреді.Солардың ішінде 1983 жылы Борланд корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа үлгісі Turbo Pascal программалаушылар арасында жоғарғы сұранысқа ие болды.
I Кіріспе…………………………………………………………………….2
II Негізгі бөлім
Файлдар………………………………………………………………3
Мәтіндік файлға мәліметтер жазу..................................................4
а) Бір өлшемді массив.........................................................................4
б) Екі өлшемді массив.........................................................................8
Мәтіндік файлдан мәліметтерді оқу..............................................11
Есеп.................................................................................................18
III Қорытынды……………………………………………………………..19
Пайдаланылған әдебиеттер……………………………………………….20
б) Екі өлшемді массив.
Алдыңғы тақырыпта сіз мәтіндік файлдарды ашуды, оған ақпараттарды жазуды үйреніңіздер.Write()- процедурасын пайдаланып мәліметтерді бір жолға, ал writeln()—процедурасын пайдаланып оларды бағанға жазуды көрдік. Осы білгендерімізді пайдаланып, келесі есепті шешіп көрелік:
Пернетақтадан, өлшемі 100х100, элементтері бүтін сан болатын, екі өлшемді массив енгізіледі.Осы массивті элементтерінің орналасу реті бойынша, `МayFile5.in` атымен, мәтіндік файл түрінде жазатын, программа жазу керек.
Бұл есеп те, алдыңғы тақырыпта қарастырылған есепке ұқсас, екі негізгі кезеңнен тұрады:
1.Пернетақтадан мәліметтерді енгізу
2.Оларды атауы `МayFile5.in`болатын, файлға жазу керек.
Бірінші кезеңді орындау үшін :
Пернетақтадан енгізілетін, массив өлшемдерінің нақты мәндерін кіргізу;
Массив өлшемдерін біле отырып параметрлі цикл операторын қолданып массив элементтеріне нақты мәндерді меншіктеу.
Мәліметтерді енгізу процедурасының мәтінін Misal_8 программасынан алуға болады.Ал мәліметтерді өңдеу процедурасы өзгеріссіз қалатындықтан, Misal_F1программасындағыдай болады.
Массив элементтерін `МayFile5.in`файлына жазу процедурасының қандай болатындығын қарастыралық:
procedure exi;
assing(FileOut,`mayFile.in`);
{файлды жазуға дайындау}
rewrite(FileOut);
{массив өлшемдерiн жазу және курсорды жаңа жолға көшiру}
writeln(FileOut, JolSany,``, BaganSany);
for i=1 to JolSany do
begin
{
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:
Курсорды Exi процедурасын сипаттайтын жолдың басына қойыңыз;
Негiзгi менюдi Debug iшкi менюiнашыңыз;
Add brekpoint… әрекетiн тандаңыз;
Enter пернесiн басыңыз.
Экранға Add brekpoint… (тоқтату нүктесiн қосу) сұхбат терезесi шығады (2.8-сурет).”Line number” (жол нөмері)өрісінде, курсор тұрған жолдың нөмірін көрсетіп тұрады, ол Exi процедурасын сипаттайтын жолдың басын көрсетеді.
“Ok” батырмасын (сұхбат терезесіндегі) немесе “Enter” пернесін басыңыз.
Редактор терезесіндегі бұл жол басқа түспен бөлінеді.Енді Ctrl+F9 пернелерін басу арқылы программаны іске қосыңыз. Пернетақтадан бастапқы мәндерді енгізіңіз.Мәліметтерді енгізген соң программа жұмысын тоқтатады және компьютердің экранында қайтадан редактор терезесі шығады. Яғни, біз өзіміздің әрекеттеріміз арқылы программа жұмысын көрсетілген жолда тоқтатуға нұсқау бердік.Жұмысты қайтадан жалғастыру үшін “Ctrl+F9” пернелерін басуымыз керек немесе F7 пернесін пайдаланған тиімді және Exi процедурасының қалай жұмыс істейтінін бақылап көре аламыз.
Бұл әрекеттер, программаның жеке бөліктерімен жұмыс жасағанда (жүріп өткенде) тиімді, себебі үлкен өлшемді программаларды толығымен жүріп өту жалықтырады және керек емес.Олай болса, программалаудың құрылымдылық тәсілін қолдай отырып бізде бары:
Жеке модульдермен “жұмыс істеу” (программалау) мүмкіндігі.
Бір деңгейдегі “ойша” машиналардың тәуелсіздігі, программаның жекеленген бөліктерін, программашның басқа бөліктеріне әсер етпей тәуелсіз жетілдіруге мүмкіндік береді.Э.Дейкстр атап өткендей: “... программаны жетілдіру, бір түрдегі (ойша) машиналардың басқа қолайлы машиналарға ауысуынан туындайды”.
Құрылымдылық программаның жеке бөліктерімен жұмыс жасау.
Процедура мәтінімен жүріп өткенде құрама операторлардың жұмысына көңіл бөліңіз
writeln(FileOut);
Тоқтату нүктесін алып тастау үшін, келесі әрекеттерді орындаймыз:
Негізгі менюді белгілеңіз;
Негізгі менюден Debug ішкі менюін ашыңыз;
Breakpoints пернесін басыңыз.
Enter пернесін басыңыз.
Экранда программаға қойылған барлық тоқтату нүктелерінің тізімі көһрсетілген, Breakpoints… (тоқтату нүктелері) сұхбат терезесі (2.9-сурет)шығады.
Қажетті элементті белгілеңіз;
“Delete” (сұхбат терезесінен) батырмасын немесе “D” (пернетақтадан) пернесін басыңыз.
Белгіленген тоқтату нүктесі тізімнен алынып тасталады. Егер сіз барлық тоқтату нүктесін алып тастағыңыз келсе-- “Clear all” батырмасын басу керек.
3. Мәтiндiк файлдан мәлiметтердi оқу
Өткен тақырыптарда сіздер,мәліметтерді мәтіндік файлға жазуды үйреніңіздер.Енді оларды қайтадан файлдан қалай оқуға болатынын қарастырамыз.
Ол үшін `mayFile1/in` файлын пайдаланамыз.Мәліметтерді файлға жазу кезіндегідей, біздің файлмызды байланыстыратын айнымалыға атау беруіміз керек.Айталық, ол атауFileln болсын,содан кейін біз оны мәтіндік файл ретінде сипаттауымыз керек.Бұл айнымалыны біз енгізу процедурасында пайдаланатын болғандықтан,ол процедураның жергілікті айнымалысы ретінде сипаттаймыз.
Filelnt:text;
Одан кейін біз программада, “мәтіндік типті ”Fileln айнымалысы, біздің
`mayFile1.in` атауымен берілген
нақтылы файлмызды белгілейтінд
Енді файлдан мәліметтерді
оқу үшін, берілген файлды ашуымыз
керек. Ол үшін,reset(NameVar)—
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() процедурасы қолданылды.Бұл мүмкін еді, себебі массив элементтерін оқу үшін оның өлшемдері алдын ала белгілі болды. Егер мәтіндік файлдағы элементтер жазбалар саны алдын ала белгісіз болса, онда қайталану саны белгісіз цикл операторларын қолдануға тура келеді.
Егер мәтіндік файлдардағы
жазбалар саны белгілі болса, онда мәліметтерді
оқу онша қиын емес. Ал, егер мәтіндік файлдағы жазбалар
саны белгісіз болса ше, онда не істейміз?
Егер сізге орындалатын әрекеттердің
саны белгісіз болса, онда қайталану саны
белгісіз цикл операторларын қолдануға
болатындығын білесіз.Егер файл бос болса,
яғни онда ешқандай жазба жоқ, онда одан
мәліметтерді оқуға болмайды.Осы айтылғандарды
тұжырымдай келе, алғы шарт циклін қолдану
керек екеніне көзіміз жетті. Файл соңы
белгісін анықтау үшін,EOF(NameVar)-процедурасын
қолданады ағылшын тілінде EndOfFile-файл
соңы деген сөзден қысқартылып алынған.
Жақшаның ішіне assing() процедурасында
көрсетілген файлдың нақтылы атымен байланыстыратын
айнымалы атауы жазылады.EOF(NameVar)-
Procdure lnit;
assing(fileln,`mayFile1.in`);