- •26. Алдыңғы және кейінгі шартты қайталану операторлары.
- •9. Жазбалардың сипатталуы.
- •29. Жады кластары.
- •15. Компиляциялар нұсқалары және компилятор хабарламасы.
- •18. Класс және оның құрылымы.
- •34. Класс және оның негізгі қасиеттері.
- •35. Конструктор және деструктор ұғымы.
- •46. Көмекші программаларды ұйымдастыру.
- •12. Қасиеттер ұғымы.
- •47. Логикалық операция түрлері
- •11. Модульдер және оның құрылымы.
- •40. Математикалық функциялардың қолданылуы.
- •41. Мәліметтердің бүтін типтері.
- •42. Мәліметтердің нақты типтері.
- •50. Массивтерді енгізу және шығару.
- •1. Oбъектілі-бағытталған программалау негіздері.
- •2. Обьектілі-бағытталған орта терезелері түрлері.
- •5. Операторлар және оның түрлері.
- •6. Объектілі-бағытталған орта тілінің мәліметтер типтері.
- •13. Оқиғалар ұғымы.
- •14. Объектілі-бағытталған ортадағы жобаның негізгі файлдары.
- •39. Операциялар және оның түрлері.
- •16. Программалау ортасының графикалық мүмкіндіктері.
- •20. Препроцессор директивалары.
- •21. Программаның графикалық сызбасы
- •25. Параметрлі қайталану операторы.
- •48. Программа негізгі құрылымы.
- •30. Символдық жолдарға қолданылатын функциялар.
- •24. Тармақталу операторы.
- •33. Тізбе құрылымды типі.
- •10. Файлдардың сипатталуы.
- •28. Функцияны құру және қолдану.
- •49. Функция анықтамасы және оның сипатталуы.
10. Файлдардың сипатталуы.
Файл – сыртқы сақтау құралында орналасқан, бір типтес элементтердің атауландырылған, реттелген тізбегі. Файлдармен жұмыс жасау үшін программистер файлдық айнымалыларды пайдаланады немесе логикалық файлдар. Файл дегеніміз мәліметтер сақтауға арналған сыртқы тасымалдаушыдағы жадының ат қойылған аймағы. Файл ағылшын тілінен аударғанда бума, іс қағаздар жинағы, сонымен қатар ақпаратты сақтау дегенді білдіреді.
Файлдық айнымалы – дисктегі нақты файлға сәйкес келетін айнымалы. Бұл айнымалымен жүргізілген барлық операциялар дисктегі орналасқан файлғада жүргізіледі.
Файлдар құрамындағы элементтерге байланысты түрлі типті болып келеді. Олар мәтіндік, типтелген, типсіз файлдар болып бөлінеді.
Мәтіндік файлдар ұзындығы өзгермелі жолдардан тұрады. Мұндай файлдар TextFile сөзі арқылы сипатталады.
Типтелген файлдар типі анықталған (көрсетілген) мәліметтерден тұратын файл. Мұндай файлдар File of typeData құрлымы арқылы сипатталады.
Типсіз файлдар типі көрсетілмеген элементтерден тұруы мүмкін. Мұндай файлдар жай File сөзі арқылы анықталады.
Файлдың сипатталуы:
<файлдың атауы>:file of< мәліметтер типі>
Типті файлдармен жұмыс істегенде аssign() процедурасының көмегімен нақтылы файл аты мен байланыстыратын атауды көрсетеміз.
Assign(<файл атауы>,<файлдың нақты атауы>)
Rewrite(<файл атауы>) – файлды жазуға ашады және курсорды файлдың басына орналастырады.
Reset(<файл атауы>) – файлды оқуға ашады және көрсеткішті файлдың басына орналастырады.
FileSize(<файл атауы>):longint – файлдағы компоненттер санын анықтайды.
Seek(<файл атауы>,<жазбаның нөмері>); – көрсеткішті қажетті мәліметті оқуға қою үшін қолданылады.
28. Функцияны құру және қолдану.
Си тілінде барлық программалар функция ретінде қарастырылады. Әдетте, бұл тілдегі программалар көптеген кішкене функциялардан тұрады. қолданылатын әр функция үшін функцияның баяндалуы мен анықтамасы келтіріледі. (Функцияны баяндау оның типі және параметрлердің жазылу реті туралы ақпаратты береді. Функцияны анықтау кезінде орындалатын нақты операторлар көрсетіледі) Функциялар типі нәтиже ретінде қайтаратын мәндердің типімен бірдей болуы қажет. Егер типі берілмесе, онда функция типі үндеместен іnt болады. Егер функция басқа тип болса, онда ол шақырушы программада және функцияның өзінің анықтамасында көрсетілуі керек.
Функцияның баяндалуын қарастырайық: функцияны баяндаудың екі түрлі стилін (классикалық және қазіргі стиль) қолдануға болады. Бірінші жағдайда, функцияны баяндау форматы келесідей:
Тип функция_аты ();
Бұл спецификация функцияның атын және қайтаратын мәннің типін баяндайды.
Қазіргі стиль ANSІ ұсынған Си тілінің кеңейтілген түрлерінің конструкцияларында қолданылады. Бұл Си тілінің түрінде функцияны баяндау кезінде “функция прототипі” деп аталатын тілдің арнайы құралдары қолданылады. Оның прототипін қолданып функцияны баяндау кезінде параметрлері туралы қосымша ақпарат болады:
Тип функция_аты(парам_ақпар1, парам_ақпар2, ...);
Бұндағы парам_ақпар1 параметрі - формальды параметрлердің аты және типі туралы мәлімет.
Функция анықтамасы. Функцияны баяндау сияқты оны анықтау кезінде де екі стильді қолдануға болады - классикалық және қазіргі. Функцияны анықтаудың классикалық форматы келесідей:
Тип функция_аты (параметрлер аты) параметрлер анықтамасы;
{
локалдық баяндау;
операторлар;
}
31-32. Файлдармен жұмыс істеу.
Файлдан ақпаратты оқу және оған ақпаратты жазу үшін оны стандартты кітапханалық функция fopen көмегімен ашу қажет. Программада fopen-ге бағытталу мына түрде болады:
Fp=fopen(name, mode);
Бірінші параметр - файл аты, символдар қатары, екінші параметр - mode-та файл қалай қолданылатынын көрсететін символдар қатары. Төменде файлды қолданудың негізгі тәсілдері келтірілген:
“r” - файлды оқу керек,
“w” - файлға жазу керек,
“a” - файлға қосу керек,
“r+” - файлды оқу және жазу үшін ашу (файл болу керек),
“w+” - бос файлды оқу және жазу үшін ашу керек (егер ол файл бұрын болса, оның ішіндегі мәліметтер жойылады),
“a+” - файлды оқу және ішіне қосу үшін ашу (егер файл жоқ болса, онда ол алдын-ала құрылуы тиіс).
“r”-ді қолданған кезде бар файл ашылады.
Келесі функцияларды қарастырайық: fgets(), fputs(), fread(), fwrіte().
1. Fgets(). Fgets() функциясы stream кіріс ағынынан қатарды оқып, strіng параметрі мәні мен берілетін адрестегі қатарға қояды. Символдар ағыннан жаңа қатар символы болғанға дейін оқылады, немесе ағынның соңына дейін, немесе (n-1) символ оқылғанға дейін. Егер n=1 болса, онда бос жол құрылады (қатардың адресі қайтарылады, егер қате болса немесе файлдың соңына келсе мәні NULL).
2. Fputs(). Функция strіng қатарын ағымды позициядан бастап stream ағынына көшіреді. Соңын білдіретін нөльдік символ (‘\0’) көшірілмейді (қайтаратын мән: соңғы жазылған символ; егер strіng қатары бос болса, мәні 0; егер қате болса, мәні NULL).
3. Fread(). Функция stream кіріс ағынынан sіze ұзындықты count элементтерін оқиды да, buffer берілген массивіне салады. Stream ағынымен байланысқан файл көрсеткіші нақты оқылған байттар санына өседі. Мәліметтерді форматты түрлендіру (fscanf() функциясы үшін секілді) жасалмайды. Қатарды түсіру символы (‘\n’) арнайы (fgets() үшін секілді) өңделмейді.
4. Fwrіte(). Функция buffer обылысынан stream шығысағымға sіze байттан count жазба жазады. Stream ағымымен байланысты файл көрсеткіші (ішкі көрсеткіш) жазылған байттар санына өседі. Мәліметтерді форматты түрлендіру жасалмайды. Қатарды түсіру символы өңделмейді.
5. Fseek(). Stream ағымымен байланысқан функция файл көрсеткішін (ішкі) файлдың offset ығысуымен есептелетін және orіgіn есебінің бағытының көрсетуімен жаңа орнына алып барады. Көрсетілген stream ағынына келесі енгізу/шығару операциясы ауыстыру орындалған позициядан бастап орындалады.
36-37.Форматталған енгізу, шығару операторлары.
Мұнда мәліметтердің бірнеше негізгі типтері қолданылады. Олар:
char (8 бит) – символдық, яғни таңбалық тип,
short – қысқа бүтін сан,
int – бүтін сан типі,
long – екі еселенген бүтін сан,
unsigned – таңбасыз бүтін сан,
float – нақты сан типі, яғни жылжымалы нүктелі сандар,
double – екі еселенген нақты сан типі,
long double – ұзартылған, әрі екі еселенген нақты сан типі.
Алғашқы төрт тип бүтін сандарды сипаттау үшін қолданылады.
Printf және scanf функциялары
Си тілінде сыртқы ортамен мәліметтер алмасу <stdio.h>енгізу-шығару функциялары кітапханасын пайдалану арқылы орындалады. Ол тақырып файлы ретінде былай жазылады:
#include <stdio.h>
scanf() функциясы мәліметтерді экранға енгізу үшін пайдаланады.
scanf (<формат тіркесі>,<аргументтер тізімі>);
Аргументтер ретінде адрес нұсқауыштары пайдаланылады.
printf() функциясы мәліметтерді экранға шығару үшін қолданылады. Оның жалпы жазылу түрі:
printf(<формат тіркесі>,<аргументтер тізімі>);
Формат тіркесінде мыналар болады:
мәтін ретінде шығарылатын символдар тіркесі;
түрлендіру спецификациялары;
басқару символдары.
Әрбір аргументке өз спецификациясы сәйкес келуі тиіс, олар:
%d – бүтін ондық сан шығарылуы тиіс,
%i – бүтін ондық сан шығарылуы тиіс,
%f – жылжымалы нүктелі нақты ондық сан ([-]dddd.dddd ) жазылып шығады,
%e – жылжымалы нүктелі экспоненциалды сан ([-]d.ddddedd) шығарылады,
%E – жоғарыдағы сияқты, тек е орнына Е ([-]d.ddddEdd) шығарылады,
%c – бір символ шығарылуы тиіс,
%s – символдар тіркесі (қатары) шығарылуы тиіс,
%g – нақты сан, сан ұзындығына қарай %e немесе %f қолданыла алады,
%u – таңбасыз ондық бүтін сан жазылып шығады,
%o – таңбасыз бүтін сегіздік сан шығады,
%x – таңбасыз бүтін он алтылық сан шығады.
\n – келесі жаңа жолға көшуді атқаратын басқару символы.
