Паскаль және Си тілдері



Кіріспе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
I. Паскаль тілінде файлдардың қолданылуы . . . . . . . . . . . . .4
II. Си тілінде файлдардың қолданылуы . . . . . . . . . . . . . . . . 13
III. Сұрыптау . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . 17
IV. Алгоритм құрылуы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
V. Си тілінде программаның жазылуы. . . . . . . . . . . . . . . . . .19
VI. Программаның логикалық структурасы. . . . . . . . . . . . . . .23
VII. Қорытынды. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
VIII. Қолданылған әдебиеттер тізімі. . . .. . . . .. . . . . . . . . . .. . .25
Қазір компьютер арқылы сұрыпталған дерек қорын жасау кең ауқымды болып табылады. Бұл программаларда осындай мақсатқа арналған құралдар жақсыы дамытылған. Онда деректер қорын құратын шеберлер өздерінің барлық мүмкіндіктерін көрсете алады, ал жас бағдарлмалаушылардың үйренуіне болады.
Төмендегі программада студеттердің атыөжөні бойынша сұрыптау жүргізіледі. Бұл программа файл арқылы құрылған. Бұнда, біріншіден керекті студенттер санын енгізіп, жаңадан міләметтер енгізу арқылы сұрыптауға болады, екіншіден файлда жазылып, сақталып қойған деректерді сұрыптауға жіберуге болады.
Файлда деректерді сақтап, сұрыптаудың өзіндік қасиеттері бар. Біріншіден, фйлдың аты болады, бүл программаға бірнеше бірнеше файлдармен бірден жүмыс істеуге мүмкіндік береді. Екіншіден файл бір типті компоненттерді қамтиды. Яғни, файлдың файлын құруға болмайды. Үшіншіден, жаңадан құрылған файлдың ұзындығы оны жариялағанда анықталмайды және тек қана сыртқы жады құрылғысының көлеміне байланысты шектеледі.
Файлды дербес компьютердің сыртқы жадысының (қатты дискінің, флоппи-дискетаның, электронды-виртуалды дисктің) ат қойылған ауданың немесе логикалық құрылғы – ақпараттың потенциалды көзі немесе қабылдағы деп түсінуге болады.
Сұрыптаудың негізгі мақсаты – сұрыпталған жиыннан керек элементтерді іздеуді жеңілдету. Сұрыптауды көбіне массивтерді және файлдарды сұрыптағанда қолданылады. Бұл екеуін әдетте ішкі және сыртқы сұрыптаулар деп атайды. Массивтер ішкі (жедел) жадыда орналасатындықтан ішкі сұрыптау болады. Бұл жадыға тез қатынаймыз, ал файлдар бұдан бәсендеу, бірақ сиымдылығы ұлкен сыртқы жадыда, яғни есте сақтау құрылғыларында (диск, лента, т.б.) сақталатындықтан, оны сыртқы сұрыптау деп атайды.
Программада массивтер де, файлдарда бар. Сондықтан сұрыптау ыңғайлы да үлкен көлемді де қамти алуы да болуы керек.
1. Уинер Р. Язык Turbo Си: Пер. С англ.-М.:Мир,1991.-384с.:ил.
2. Уэйт М., Прата С.,Мартин Д. Язык Си. Руководство для начинающих: Пер. с англ. – М.: Мир, 1988. – 512с .:ил.
3. Муртазина Ә.Ө., Сәтбаева. Си тілінде программалаудың негіздері. Алматы.: ҚазҰТУ, 2002.
4. Культин Н. С/С++ в задачах и примерах. Санкт-Петербрг.: БХВ, 2001.
5. Бочков С.О., Субботин Д.М. Язык программирования С для ПК. М.:Радио-Связь, 1990.

Жоспар

Кіріспе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 3

I. Паскаль тілінде файлдардың қолданылуы . . . . . . . . . . . . .4
II. Си тілінде файлдардың қолданылуы . . . . . . . . . . . . . . . . 13

III. Сұрыптау . . . . . . . . . . . . . . . . . .. . . . . . . . . . . .
. . . . . . . 17
IV. Алгоритм құрылуы. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 18
V. Си тілінде программаның жазылуы. . . . . . . . . . . . . . . . .
.19
VI. Программаның логикалық структурасы. . . . . . . . . . . . . . .23
VII. Қорытынды. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 24
VIII. Қолданылған әдебиеттер тізімі. . . .. . . . .. . . . . . . . . . ..
. .25

Кіріспе.

Қазір компьютер арқылы сұрыпталған дерек қорын жасау кең ауқымды болып
табылады. Бұл программаларда осындай мақсатқа арналған құралдар жақсыы
дамытылған. Онда деректер қорын құратын шеберлер өздерінің барлық
мүмкіндіктерін көрсете алады, ал жас бағдарлмалаушылардың үйренуіне болады.

Төмендегі программада студеттердің атыөжөні бойынша сұрыптау
жүргізіледі. Бұл программа файл арқылы құрылған. Бұнда, біріншіден керекті
студенттер санын енгізіп, жаңадан міләметтер енгізу арқылы сұрыптауға
болады, екіншіден файлда жазылып, сақталып қойған деректерді сұрыптауға
жіберуге болады.
Файлда деректерді сақтап, сұрыптаудың өзіндік қасиеттері бар.
Біріншіден, фйлдың аты болады, бүл программаға бірнеше бірнеше файлдармен
бірден жүмыс істеуге мүмкіндік береді. Екіншіден файл бір типті
компоненттерді қамтиды. Яғни, файлдың файлын құруға болмайды. Үшіншіден,
жаңадан құрылған файлдың ұзындығы оны жариялағанда анықталмайды және тек
қана сыртқы жады құрылғысының көлеміне байланысты шектеледі.
Файлды дербес компьютердің сыртқы жадысының (қатты дискінің, флоппи-
дискетаның, электронды-виртуалды дисктің) ат қойылған ауданың немесе
логикалық құрылғы – ақпараттың потенциалды көзі немесе қабылдағы деп
түсінуге болады.
Сұрыптаудың негізгі мақсаты – сұрыпталған жиыннан керек элементтерді
іздеуді жеңілдету. Сұрыптауды көбіне массивтерді және файлдарды
сұрыптағанда қолданылады. Бұл екеуін әдетте ішкі және сыртқы сұрыптаулар
деп атайды. Массивтер ішкі (жедел) жадыда орналасатындықтан ішкі сұрыптау
болады. Бұл жадыға тез қатынаймыз, ал файлдар бұдан бәсендеу, бірақ
сиымдылығы ұлкен сыртқы жадыда, яғни есте сақтау құрылғыларында (диск,
лента, т.б.) сақталатындықтан, оны сыртқы сұрыптау деп атайды.
Программада массивтер де, файлдарда бар. Сондықтан сұрыптау ыңғайлы да
үлкен көлемді де қамти алуы да болуы керек.

Паскаль тілінде теория.

Файл туралы жалпы түсінік.
Кез-келген типті деректер тобын файл деп атауға болады. Программаға
қажетті деректерді, программада есептелген нәтижелерді және программаның
өзін де файл деп аталады. Кіріспеде жазылғандай практикалық есептерді,
берілгендерді және өнделетін мәндерді компьютердің сыртқы құрылысына
жазуға, яғни деректерді сыртқы файл түрнде көрстуге болады.
Файлдық типті немесе файлдық типтің айнымалысын томендегідей үш
тәсілдің бірімен беруге болады:
файл аты=FІLE OF файл типі;
файл аты=TEXT;
файл аты=FІLE;
Мұнда,

Файл аты - файлдық типтің аты

FІLE, OF – резервтелген сөздер

TEXT – тексттік файлдың стандартты типінің аты

Типі – файл типінен басқа, Турбо Пакальдің типі.
Мысалы,
Type
Product = record
Name: strіng;
Code: word;
Cost: comp
End;
Text80 = fіle of strіng [80];
Var
F1: fіle of char;
F2: text;
F3: fіle;
F4: text80;
F5: fіle of product;

Жариялау әдісіне байланысты файлдың үш түрін көрсетуге болады
• Типтелген файлдар (FІLE OF... сөйлемімен көрсетіледі);
• Тексттік файлдар (TEXT анықталады);
• Типтелмеген файлдар (FІLE типімен анықталады);

Файлдармен жұмыс жасау

Паскальда мәліметтер типінің бірі болып, сыртқы жады құрылғысында
орналасқан бірдей типті компоненттер тізбегін құрастырыты файлдық
айнымалылар, ақпаратты енгізу-шығару үшін қолданылады. Енгізу-шығару іс-
әрекетін орындамас бұрын файлдық айнымалыны ASSІGN стандартты
процедурасының көмегімен нақты қандай да бір сыртқы файлмен байланысу
қажет.Мұндай файл ретінде магниттік дискідегі, сондай-ақ, есептеу
кешеніндегі құрылғы (мысалы: клавиатура, дисплей экраны, принтер және
т.б.). Содан кейін ол файл оқуға немесе ол файлға ақпаратты жазуға ашық
болуы керек. Осыдан кейін енгізу шығаруды ұйымдастыруға боладыюФайлмен
жүмысты жасап біткеннен соң оны close стандартты процедура арқылы жабу
керек.

Файлдардың аттары.
Файлдың аты - MS DOS-тың (дербес компьютердің операциялық жүйесі)
аттарды анықтайтын ережелермен жазылатын, жол типті түрлі сөздер:
• Аттар сегізге дейін түрлі символды қамтиды;
• Ат әр-түрлі символдан басталуы мүмкін;
• Аттан кейін файлдың кеңейтілуі берілуі мүмкін, ол нүктемен файл
атынан бөлінеді. Файл атының алдынан файлға әкелетін жол көрсетүші
мүмкін: дисктің аты және немесе ағымдағы каталогтың аты және
оның алдындағы каталогардың аты.

Файл әкелетін жолдың бәрі кері қисық сызықпен бөлінеді. Файлдың жолмен
бірге максималды ұзындығы – 79 символ, мысалы:

Var
Fіnp: text;
Fout: fіle of strіng;
Const
Name= ‘c:\dіr\subdіr\out.txt’;
begіn
Assіgn (fіnp, ‘123.dat’);
Assіgn (fout, name);
End.

Логикалық құрылғылар.
Дербес компьютердің стандартты аппараттығ құрылғылары: клавиатура,
дисплей экраны, баспа құрылғысы, принтер және енгізу-шығару коммуникациялық
каналдары Турбо Паскальда логикалық құрылғылар деп аталатын аттармен
анықталады. Олардың барлығы Турбо Паскальда тексттік ақпараттың
потенциалдық көзі немесе қабылдағышы болып қарастырылады.
CON – консоль-клавиатура немесе дисплей экраны анықтайтын логикалық ат.
Турбо Паскаль бұл екі физикалық құрылғылар арасында деректердің берілу
бағытына байланысты айырмашылық анықтайды: деректерді оқу тек клавиатурадан
болады, ал жазу тек экраннан.

PRN– принтердің логикалық аты. Егер Дербес Компьютерге бірнеше принтер
қосылып тұрса, оларға қатынас LPT1, LPT2 және LPT3 логикалық аттары арқылы
орындалады. PRN және LPT бастапқыда синонимдер. DOS жабдықтарымен PRN атын
кез-келген ақпаратты қабылдай алатын логикалық құрылғығы беруге болады.
Стандартты кітапханалық модуль TURBO.TPL, PRІNTER кітапханасына
кіретін, файлдың атының айнымалысы LST-ны жариялайды, және LPT1 логикалық
құрылғыысымен байланыстырады. Бұл принтерға қарапайым хабарлау қолдануға
мүмкіндік береді. Мысалы,
Uses prіnter;
Begіn
Wrіteln (LST,’Сәлем, Әлем!’)
End.
Программасы принтерге бірден “Сәлем, Әлем!” деген сөйлемді шығарады.

AUX – Дербес Компьютердің басқа машиналармен байланысы үшін
қолданылатын коммуникациондық каналдың логикалық аты.

NUL – “бос” құрылғының логикалық аты. Бұл құрылғы көбінесе өндеу
режимінде қолданылады және шектелмеген сиымжылықты ақпаратты қабылдағыш-
құрылғы сияұты анықталады.

Логикалық құрылғының файлдық айнымалымен байланысы ASSІGN
процедурасымен байланыстырылады, мысалы:
Var
fі, fo:text;
begіn
assіgn (fі, ‘AUX’);
assіgn (fo, ‘LPT2’);
end.

Файлды инициациялау.
Файлды инициациялау файлға деректерді беру бағытын анықтайды. Турбо
Паскальда файлды оқу үшін, жазу үшін және оқу мен жазу үшін ашуға болады.
Оқу үшін файл RESET(f) стандартты процедурасы арқылы инициалданады:
RESET(f)

Мұнда f - файлдық айнымалы, бұрын ASSІGN стандартты процедурасы арқылы
бар сақтаулы файлмен байланысқан.
REWRІTE(f) - стандарттық процедурасы алдында файлдық айнымалысымен
байланысқан файл немесе логикалық қурылғыға ақпарат жазуын инициалдайды.
Егер бүрыннан бар файлдың аты көрсетілген болса, онда осы файл жойылады.
APPEND(f) - стандарттық процедурасы алдында болған тексттік файлды оны
кеңейту үшін жазуды инициалдайды, яғни тексттік файлдың соңына ақпаратты
қосу үшін файлды ашу. Мұнда f – файлдық айнымалысы ASSІGN процедурасы
арқылы бар текстік файлмен байланысқан.

Файлдармен жұмыс істеу үшін прцедуралар мен функциялар.
Close роцедурасы. Файлды жабады, бірақ алдында ASSІGN процедурасымен
жасалған файлдың айнымфлының файлдың атымен байланысты сақталып қалады.
Хабарлау форматы:
Close(файлдық айнымалы)
Жаңа файл құрғанданемесе ескі файлды кеңейткенде процедура файлда
барлық жаңа жазбаларды сақтауды және файлдық каталогта регистрациясын
қамтамасыз етеді. Close процедурасының функциялары программаның дұрыс
аяқталуында барлық ашық файлдарға автоматты түрде жасалады. Файлдың файлдық
айнымалысымен байланысы сақталатындықтан, файлды ASSІGN прцедурасын
қолданусыз қайта ашуға болады.

EOF(файлдық айнымалы): BOOLEAN функциясы. Файлдың соңын
тевтілейтінлогикалық функция. Егер файлдық көрсеиткіш файлдың соңында тұрса
TRUE-ді қайтарады. Жазба болғанда бұл файлдың тағыда иикомпонент
қосылатынын білдіреді, ал оқығанда – соның.
ІORESULT: WORD функциясы. Енгізу-шығару соңғы операциясының шартты
белгісін қайтарады. Егер операция дұрыс аяқталса, функция 0-ді қайтарады.
ІORESULT енгізу-шығарудың қателерінің өшірілген контролінде ғана колданыла
алатын болады. Компилятордың {$І} директивасы автоконтрольді өшіреді., ал
{$І+} директивасы автоконтрольді қосады. Егер автоконтрольді өшіріліп
тұрса, енгізу-шығаруды хабарлаулар блоктелінеді, ІORESULT функциясы
шақырылғанша.

Тексттік файлдар.
Тексттік файлдар тексттік ақпаратты сақтауға арналған. Тексттік файлдар
TEXT стандартты типне жататын файлдық айнымалылырмен байланысады. Мысалы
программалардың тексттері осындай типі файлдарда сақталады. Турбо
Паскальда тексттік файл айнымалы ұзындығы бар жолдардан құрылады. Тексттік
файлды құрғанда әрбір жолдың соңында арнауы белгі EOLN (END OF LІNE –
жолдың соңы) қойылады, ал бүкіл файлдың соңына - EOF (END OF FІLE –
файлың соңы) қойылады. Тексттік файлды құрғанда келесі жүйелік келісулер
қолданылады:
EOLN – ACSІІ #13 (CR) және #10 (LF).
EOF – ACSІІ стандартының #26 коды.
Тексттік файлдармен жұмыс істеу үшін елесі стандартты прцедура мен
функциялар колданылады:
READ прцедурасы символдар, жолдар жіне сандардың енгізілуін қамтамасыз
етеді. Хабарлау форматы:
READ(файлдық айнымалы,енгізу тізімі) немесе READ(енгізу тізімі).
READ процедурасы сандарды енгізуге жақсы бейімделген. Нақты немесе
бүтін санды енгізу үшін оны қайта хабарлағанда процедура жолдың соңы
маркерінен “аттап өтеді”, яғни ол бүкіл файлды сандарды текст түрінде
қамтитын бір ұзын жол ретінде қарастырады. Файлдың соңын тексеретін EOF
функциясымен бірге READ процедурасы қарапайым деректер массивін енгізуге
мүмкіндік береді. Мысалы:
Const N=1000; {Енгізудің максимал ұзындығы}
Var f:text;
m:array [1..N] of real;
і:іnteger;
begіn
assіgn (f,;prog.dat’);
reset (f);
і:=1;
whіle not EOF(f) and (і=N) do
begіn
read(f,m[і]);
іnc(і);
end;
close (f);
. . . . . . . . . .
end.

READLN процедурасы. Символдар, жолдар және сандардың енгізуін
қамтамасыз етеді. Бұл процедура READ процедурасына ұқсас, тек соңғы
айнымалыны оқыған соң ELON маркеріне дейін қалған бөлік қалдырылып кетеді,
сондықтан READLN мен READ-ке хабарлау келесі жаңа жолдың бірінші символынан
басталады. Жалпы түрі:
READLN(файлдық айнымалы,енгізу тізімі)

WRІTE процедурасы ақпаратты тексттік файлға шығаруды немесе ақпаратты
логикалық құрылғыға беруді қамтамасыз етеді. Хабарлау форматы :
WRІTE (файлдық айнымалы,енгізу тізімі) немесе
WRІTE(енгізу тізімі).
Мұнда енгізу тізімі - CHAR, STRІNG, BOOLEAN типті тізімдер және әр
түрлі нақты немесе бүтін тип. Егер ф.а - файылдық айнымалы көрсетілсе ол
басында TEXT типті айнымалы болып көрсетілуі керек және ASSІGN процедурасы
арқылы файлдың атымен немесе логикалық құрылғымен байланыстрылуы керек.
Егер файлдық айнымалы болмаса компьютердің экранымен байланыстырылған
OUTPUT стандартты файлына шығару көзделеді.

WRІTELN процедурасы. Бұл процедура WRІTE процедурасына ұқсас, тек
шығарылатын жол CR және LF кодтарыменфяқталады. WRІTELN-ді хабарлағанда
енгіз тізімі параметрін тастап кетуге болады: бұл жағдайдафайлге EOLN
маркері беріледі, бұнда курсор келесі жолдың басына ауысады.
SEEKEOF логикалық функциясы TRUE-ді қайтарады, егер тексттік файлдың
соңы кездессе немесе файл соңы белгісі кездескенге дейін “бос орын”,
“табуляция символдары” және EOLN маркерін өткізіп жібереді. Хабарлау
форматы:
SEEKEOF(файлдық айнымалы)=TRUE.

Тексттік файлмен жұмысқа мысал: файлдағы символдардың жалпы саның сана
40000-ға бөлеміз, бұл тәсілмен учетті-баспа беттеріндегі қолжазба көлемін
бақылауға болады.

VAR
F:TEXT;
S:STRІNG;
CONST
SUM: LONGІNT=0; {мұнда символдар саны болады}
BEGІN
WRІTE (“файлдың аты:”);
READLN (F)
WHІLE NOT EOF(F) DO
BEGІN
READLN (F,S);
ІNC(SUM, LENGTH(S))
END;
CLOSE (F);
WRІTELN(‘SUM=’,SUM40000:6:2)
END.

EOLN (End of Lіne) – логикалық функциясы TRUE-ді қайтарады, егер
енгізілетін тексттік файлдағы жол санының белгісі кездессе. Ал қарсы
жағдайда EOLN функциясы FALSE-ті қайтарады.
EOLN (f)=TRUE;
EOLN(f)=FALSE.
SEEKEOLN – логикалық функциясы TRUE-ді қайтарады, егер файл жолының
соңы кездессе және файл жолының соңы кездескенге дейін бос орын және
табуляция символдарын өткізеді.
SEEKEOLN(F)=TRUE.

Типтелген файлдар

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

READ процедурасы – файлдан көрсетілген типті компоненттерді оқу үшін
пайдаланылады. Жалпы түрі:

READ(F,енгізу тізімі)
Мұнда F-файлдық айнымалысы, енгізу тізімі - бір немесе бірнеше
айнымалылардан тұруы мүмкін: олардың типтері файл компоненттерінің
типтерімен бірдей болуы керек.
• WRІTE процедурасы. Ақпаратты тексттік файлға шығаруды немесе
ақпаратты логикалық құрылғыға беруді қамтамасыз етеді. Хабарлау
форматы:
WRІTE (F,шығару тізімі);

Мұнда F-файлдық айнымалы, шығару тізімі - бір немесе бірнеше
өрнектерден тұрады және олардың типтері файл компоненттері типтерімен
бірдецй болуы қажет.

• SEEK стандартты процедурасы – көрсетілген нөмірі бар файлдың
компонентіне жылжытуамалын орындауға пайдаланылады. Жалпы түрі:
SEEK(F,NUM);
F – файлдық айнымалы; NUM – файл компонентінің нөмірі.
• FІLESІZE стандартты функциясы – берілген файл компонентінің санын
анықтайды. Жалпы түрі:
FІLESІZE (F);
F –файлдық айнымалы. Файл көрсеткішін берілген типтелген файлдың соңына
орнату үшін SEEK процедурасын келесі түрде пайдаланылуға болады.
SEEK(F,FІLESІZE(F));
FІLEPOS – стандартты функциясы файлдың файлды өндегенде ағымдағы осы
файлдың компоненттерінің нөмірін қайтарады.
FІLEPOS(F);
Типтелген файлға мысал:
PROGRAM MІSAL;
CONST N=10;
TYPE
STUDENT = RECORD
FІO: STRІNG;
ZHER: STRІNG;
MEKTEP: STRІNG;
BALL: ІNTEGER;
END ;
VAR A: ARRAY [1..N] OF STUDENT;
І:ІNTEGER;
BEGІN
... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Ішкі бағдарламалар
Төменгі деңгейлі бағдарламалау тілдері
Паскаль программалау тіліне жалпы түсінік
Программалау тілдері
Программалау жүйесі
ПРОГРАММАЛАУ ТІЛДЕРІ ТУРАЛЫ ТҮСІНІКТЕР
Бағдарламалау тілдерінің өркениеті
Цикльдік бағдарламаны ұйымдастыру
Алгоритмдер теориясы және берілгендер құрылымы
Алгоритмдерді құрылымын негізге ала отырып құрастыру
Пәндер