СИ тіліндегі файлдар және мәтіндік файлдар



Батыс Қазақстан инженерлік-технологиялық университеті

КУРСТЫҚ ЖҰМЫС

Тақырыбы:

СИ++ тіліндегі файлдар және мәтіндік файлдар

Орындаған:
Тексерген:

Орал, 2012ж.

Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... ...3
І тарау. СС++ программалау тілдерінің тарихына қысқаша шолу
1.1. СИ программалау тілдерінің
жіктемесі ... ... ... ... ... ... .. ... ... ... ... ... ... ... ...5
1.2. Си тіліндегі программалау
технологиялары ... ... ... ... ... . ... ... ... ... ... ... ...10
ІІ. СИ++ тіліндегі файлдар және мәтіндік файлдар
2.1. СС++ тіліндегі мәтіндік
файлдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..12
2.2. СИ тіліндегі файлдармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... .17
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ..22
Пайдаланылған әдебиеттер
тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
..23

Кіріспе

Курстық жұмыстың өзектілігі: Алгоритмді компьютерге түсінікті түрде
ұсынатын тіл – программалау тілдері. Программалау тілдерінің деңгейлері:
Ең төменгі деңгей. Машиналық кодқа ұқсас тіл. Оған Ассемблер тілі жатады.
Жоғары деңгей. Компьютерге қарағанда адамға түсінікті тіл. Оған Бейсик
(Basic), Паскаль (Pascal), Си (С), Ява (Java) тілдері жатады.Қазіргі
кездегі программалау тілінің арасында ең көп тараған тілдердің бірі Си
универсалды программалау тілі. Бірақ оны системалық программаларда,
транслятор, операциялық системаларды жазуда қолдану жақсы жетістіктер
береді. Си программалау тілін 1972 жылы Bell laboratories фирмасының
қызметкері Денис Ритчи ойлап тапты. Тіл системалық программаларға арналған
деп саналғанымен оның мүмкіндігінің өте үлкен болғандықтан оны қолданады,
программаларды жазуға да пайдалануға болады.
Си тілінде жазылған программаның архитиктуралары әр түрлі
компьютерлердің бірінен бірін ауыстыруға бір операциялық системаның екінші
операторлық системаға ауыстыруға жеңіл. Сонымен қатар Си тіліндегі
программалардың орындалу жылдамдығы ассемблер тіліндегі программалардан кем
емес. Си тілінің компиляторы қазіргі кездегі барлық операциялық жүйеде
жұмыс істей береді. Unix, MSDOS, WINDOWS.
Программалау тілін меңгеру дегеніміз оның мүмкіндіктерімен ғана танысу
емес. Шын мәнінде, түрлі тілдердің мумкіндіктерінің ұқсастығы алдамшы елес
сияқты болып келеді. Олар тек сырт қарағанда ғана ұқсас болғанымен, оларды
жеке-жеке зерттеу барысында олардың бағалануы түрліше болып шығуы мүмкін.
Мысалы, қарапайым қосу амалының өзі барлық тілдерде ең негізгі амал ретінде
қарастырылады, бірақ С++ тілдеріндегі оның бағалануы түрліше болып келеді.
70-жылдарда Ada, C, Pascal, Prolog, Smalltalk тілдері, 80-ші жылдары –C++,
ML, Postscrіpt, 90-шы жылдары Java программалау тілі, сондай-ақ
программалау жүйелері – Delphі, Vіsual Basіc, C++ Buіlder т.с.с. дүниеге
келді.
Си бағдарламалау тілі Bell лабораториясында жасалған. Бұл тілді
ассемблердің орнына қолдану үшін шығаруды жоспарлаған еді. Си – бұл жалпы
тағайындаудың тілі, ол өзінің үнемділігімен, тиімділігімен және
тасымалданғыштығымен ерекшеленеді. Аталған ерекшеліктер арқасында Си тілі
арқылы бағдарлама өнімдерінің кез келген түрін жасауға болады. Си тілі
құралдық тіл ретінде қолданғанда, жедел және тұтас бағдарламаларды
құрастыруға болады.
Курстық жұмыстың мақсаты: СИ программалау тіліндегі файлдармен танысу.
Алгоритмдеу және программалау тілінен алынған білімді тереңдету.
Курстық жұмыстың міндеті:
Курстық жұмыстың құрылымы: курстық жұмыс кіріспедлен, екі тараудан
және қорытынды мен әдебиеттер тізіміген тұрады.

І тарау. СС++ программалау тілдерінің тарихына қысқаша шолу
1.1. СИ программалау тілдерінің жіктемесі

Бұл бағдарламалау тілі 1980 жылы пайда болды. Оны құрастырған Бьяр
Страуструп. Оның атауын ойлап тапқан Рик Масситти деген адам. Бұл Си атты
бағдарламалау тілінің Си++ тіліне эволюциялық түрде көшуін білдіреді. Си++
- бұл Си тілінің объектігі бағытталған кеңейтілген түрі.
Си++ үшін базалық тіл ретінде Си-дің таңдалды, себебі ол:
➢ көпмақсатты, ықшамды және біршама төмен деңгейлі;
➢ жүйелік бағдарламалаудың мақсаттарының көбісіне жауап береді;
➢ UNIX бағдарламалау ортасында жарамды болып табылады.
Қазіргі электрондық есептеуіш машиналарын программалық жабдықтау
барысында негізгі орын – программалау жүйелеріне тиесілі. Ал, программалау
жүйелері – ақпараттармен жұмыс жасауға арналған универсал құрал. Олардың
көмегімен есептеулер жүргізуге, мәтіндерді өңдеу, графикалық бейнелер
тұрғызу, мәліметтерді сақтау және іздеу т.б. әрекеттерді жүзеге асыруға
болады.
Өз кезегінде бұл құралдардың өзі – программалау тілдерінде жазылған
программа.
Ал, программалау тілдерінің өзгеру қарқыны өте жылдам, қазіргі таңда
программалау тілдерінің саны көп және жыл сайын жаңа бір тілдер пайда
болуда.
Программалау тілдерінің даму бағытын шартты түрде – процедуралық және
процедуралық емес деп бөлуге болады.
Си - тілі жүйелік программалау тілі, бұл тілді компиляторлар мен
операциялық жүйелерді жазуға және қолданбалы программаларды жазуға
қолданылады. Мысалы, Нью–Джерси штатының Мюррей Хилл қаласында Bell
laboratiories компаниясының ұйымдастыруымен 1969 жылы UNIX –операциялық
жүйесі жазылды, бұл жүйе PDP-7 компьютеріне орнатылған. С тілінің негізгі
идеяларының көпшілігі BCPL тілінен алынған.
Жалпы Си тілінің шығу тарихына тоқталайық: Ең алдымен 1960 жылы Аlgol
тілі пайда болған. Содан кейін CPL- (біріктірілген програмамлау тілі) 1963
жылы жазылған. Осы тілдер негізінде іргелендіру арқылы Мартин Ричардс
ВCPL(базалық біріккен программалау тілі) тілін 1967 жылы дүниеге әкелген.
Артынша 1970 жылы Кен Томпсон В тілін ойластырған. Алғашқы Си тілі 1972
жылы Bell laboratiories лабораториясында жазылған және оның авторы - Деннис
М.Ритчи. 1983 жылы АNSI(Америка ұлттық стандарттау институты) институты Си
тілін стандарттау мақсатын қойды. Себебі, Кен Томпсон В тілін жазып
бітіргенде PDP – 11 компьютері пайда болған. Сондықтан UNIX операциялық
жүйесін және В тілінің компиляторын жаңа машинаға сәйкестендіріп жөндеген.
Бұл PDP-11 компьютерінің оперативті жадысының көлемі -24 Кб, мұның 16 Кб
орыны операциялық жүйеге қолданылған. Сонымен қатар, дискідегі орыны – 512
Кб болған. UNІX–ті В тілінде қайта жазу идеясы туындаған. Бірақ, В тілі жәй
жұмыс жасаған және В сөздермен жұмыс жасауға бағытталған. Жалпы BCPL және В
тілдері – типсіз тілдерге жатады. Сондықтан В тілінің өзін жетілдіру
қажеттілігі туындаған. Ізінше 1971 жылы жаңа версиясын - Си тілін жаза
бастаған. Деннис Ритчи тілдің нақты бір құрылғыдан тәуелсіздігін
қарастырады.
Программалау тілдерінің көбісін (C, Рascal, Lisp u APL) жеке авторлар
құрастырғандықтан біртұтастығымен ерекшеленеді, және көпшілік авторлар
жазған (Ada, PL1 u Algol60) тілдеріне қарағанда бір автордың жақсы білетін
сұрақтарын шешеуге мамандандырылған сипатта құрылады.
Деннис Ритчи жүйелік програмалау саласында мойындалған ең ірі маман
саналады.
С\С++ программалау тілдерінің мүмкіндіктері мен ерекшеліктеріне шолу
Деннис Ритчи жазған Си тілінің таралу себебі: салыстырмалы түрде
төмен деңгейлі тіл, сондықтан алгоритм жұмысының әрбір бөлімін бақылау
мүмкіндігі бар және жоғары деңгейлі тілдер принцптері енгізілгендіктен,
нақты бір компьютердің архитиктурасы ерекшелітерінен тәуелсіздігін
қамтамасыз ету мүмкін болды.
Жоғарғы деңгейлі тілдерден Си тілінің ерекшелігі:
- операторлар түрі өзгеше;
- көрсеткіштер жиі қолданылады;
- басқа тілдерге қарағанда синтаксикалық ережелері аз, нәтижесінде
компилятор тиімді жұмыс жасау үшін 256 Кб оперативті жады жеткілікті;
- қызметші сөздерге қарағанда операторлар мен олардың комбинациялары
көп;
- алғашқыда Си тілінде 27 қызметші сөз ғана болған. Кейін ANSI Си
тіліне және Microsoft C тіліне қызметші сөз қосылды, жалпы саны шамамен 50;
- Көп программалау тілдерінде бар функциялар Си тілінде жоқ;
- Си тілінде қосалқы енгізу шығару функциялары, математикалық
функциялары және жолдармен жұмыс жасау функциялары жоқ, бірақ сол
функциялардан және басқа функциялардан тұратын жеке кітапханалардан алу
мүмкіндігі қарастырылған;
- мәліметтер типін бақылау жеңіл, яғни программаның бір жерінде
айнымалыны символ түрінде , екінші бір жерінде осы символдың ASCII коды
ретінде қарастыруға болады;
- Си тілінде қазіргі тілдері секілді барлық басқарушы конструкциялары
бар(For, if else, ... );
- Cи тілінде модулдік программалауға болады, яғни программаның әртүрлі
бөлігін жеке копиляциялауға болады;
- Ассемблер тілінде жазылған ішкі программаларды шақыруға болады;
- көрсеткіштер яғни жады аймақтарынан берілген адрес бойынша қарау
программаны орындау жылдамдығын арттырады. Көрсеткіштер көп тілде
қолданылады, ал көрсеткіштерге арифметикалық амалдар тек Си тілінде
қолданылады.
- Си тілінде барлық массивтер бір өлшемді, бірақ Си тілінде бір
өлшемді массивтерден тұратын конструкциялар бар, яғни көп өлшемді массивтер
құрылады;
- тек қажетті кітапханалар шақырылатын болғандықтан жады тиімді
қолданылады;
- басқа тілдердегідей қосалқы функциялар;
- көптеге мамандандырылған функциялар кітапханаларының жинытығы бар.
Кемшілігі:
- Си тілінде мәліметтер типі қатаң қадағаланбайды, сондықтан Си
тілінде тәжірибелі программист байқағанмен жаңа үйренуші байқамайтын
айнымалы мәндеріне өзгерістер болуы мүмкін.
Мысалы, бір өрнекте (=) меншіктеу операторы бірнеше рет қолданылуы
мүмкін. Сондықтан нәтижесінің типі түсініксіз және қиын анықталады. Бірақ
оны қолдану арқылы тілдің қуаты арттырылған.
С++ тілі Си тілінің толықтырылған, яғни объектілі бағытталған
программалау(ОБП) құралдарымен толықтырылған жиыны деуге болады.
Си және С++ тілдерінің айырмашылығы:
-құрылымдар мен класстар аттары мәләметтер типтерінің аттары болып
табылады. С- де класс түсінігі жоқ.
СС++ тіліндегі программаның жалпы құрылысы
Си тіліндегі кез-келген программа main функциясынан тұрады. Мұның
орындалу барысында басқа функциялар шақырылады. Функциялар арасындағы
байланыс параметрлер арқылы беріліп функция мәнін қайтарып алу арқылы
жүзеге асады.
Сонымен қатар, Си тілінің компиляторында мәселені бірнеше бөлікке
-файлдарға бөліп, әрқайсысын жеке-жеке трансляциялап, сосын оларды жеке бір
орындалатын файлға, жинау мүмкіндігі бар. Жинақтау байланыс редакторының
көмегімен жүзеге асырылады.
Программа құрылымы:
Кез-келген программа комментарийден басталады. Комментарийді Си
тілінде * , * белгілеріне алынып жазылған блок түрінде беруге болады.
Содан кейін препроцессор дерективасы орналасады. Препроцессор
директивасы берілгенде кітапханалық файлда –тақырыптық файлда орналасқан
кодты программаға қою нұсқауын береді. Мұндағы .h кеңеймелі файлдар
тақырыптық файлдар деп аталады. Тақырыптық файлдарда әртүрлі тұрақты мен
таулар сипатталады. Функциялар прототиптері сақталады.
Препроцессор дерективасынан кейін main функциясы сипатталған бөлігі
орналасады.
Main функциясы барлық программада міндетті түрде болуы тиіс, одан
программа орындалуы басталып, Return инструкциясы шақырылғанда аяқталады.
Main функциясының денесі фигуралық жақшада орналасады.
Си тілінде барлық айнымалы оған программаның қандайда бір бөлігінен
сілтеме жасалғанға дейін сипатталуы тиіс.
Процедуралық программалау есептеуіш техникаларының даму кезеңінен
бастап таралған және әлі кең қолданыста. Және процедуралық тілдердегі
программа орындауға тиісті әрекеттерді сипаттайды, әрекеттерге сәйкес
нәтиже нақты бір процедуралардың көмегімен алынады. Олай болса,
процедуралық программалау алгоритмдік ойлау қабілетімен негізделеді, демек
ойлау қабілетін дамыту құралы ретінде қолданыла алады. Процедуралық
тілдердің ішінде структуралық тілдерді айрықша атауға болады.
Структуралық тілдерде бір оператор көмегімен бүтін бір алгоритмдік
құрылым жазылатынын белгілі. Алгоритмдік құрылымдар: ілесу, тармақ, циклдар
екені бәрімізге аян. Ал, операциялық тілдерде мұны сипаттау бірнеше амал
орындауды қажет етеді. Структуралық тілдер Pascal, CC++ .
Процедуралық емес программалауға функциональдық және логикалық тілдер
жататыны мәлім. Функционалдық тілдердегі программа қандай да бір функцияның
есептелуін сипаттайды.
1.2. Си тіліндегі программалау технологиялары

Программаларды жобалаудың негізгі екі тәсілі жоғарыдан төмен және
төменнен жоғары бар.
Төменнен жоғары технологиясыныңмағынасы: алдымен етене таныс және
түсінікті (сұрыптау алгоритмдері жүзеге асыру, жолдарды өңдеу, мәліметтерді
енгізу) мәселелер орындалады да сосын барып үлкен, күрделі прорамманы дайын
бөлшектерден құрастыру жасалады.
Жоғарыдан төмен тенологиясының мағынасы: алдымен программа скелеті
дайындалып (процедуралар мен олардың арасындағы байланысы) алынады да содан
кейін жеке бөлшектерін жазуға кіріседі.
Көбінесе программа аталған екі технологияны аралас қолдану арқылы
құрылады. Программалар жиі нашар құрылымдарға ие болады немесе оларда
мәліметтер көрінісі орындалатын жұмысқа сәйкес болмағандықтан, олармен
жұмыс істеу қиын.
Мәліметтердің жақсартылған құрылымын таңдау, үйрене алмайтын өзінің
тегіндегі көркемөнері болып табылады. Шешімдер процесі жеңілірек болу үшін
және мәліметтер құрылымында қандай өзгерістер басқаруды қысқартуға
көмектесетінін анықтау үшін алдын-ала программаның алғашқы жазылған түрін
жиі жазып отыруға тура келеді.
Көптеген программалар, оларды түгелдей қабылдау үшін өте қолайсыз
болып келеді. Жеке-жеке меңгеру үшін, оларды бөліктерге бөлу қажет. Бұл
программаның сеніділігін арттырудың жалғыз жолы, сондай-ақ оқу мен
түсінудің жалғыз тәсілі.
Функция мен процедуралар үлкен программалаудың модульдері немесе
құрылыстық блоктары болып табылады. Көптеген тілдерде ол жеке түрде
трансляциялануы және бір-бірінен тәуелсіз пайдалануы мүмкін. Үлкен
модульдер, егер олар өте көп санды немесе тым әртүрлі функцияларды
орындайтын болса кең түрде қолдану үшін өте мамандандырылған болады және
пайдалану қиын.
Қайда және не орындалу керектігін анықтайтын, программаны ұйымдастыру
жеткіліксіз мәліметтерді енгізу және шығару форматтары мен есепті талдау
салдары болып табылады.
Үлкен көлемдегі есептерді кіші көлемді есептерге бөлу процесі
құрылымдық жобалау деп аталады. Осы пәннің шеңберінде:
- Жазу мен үлкен программаларды сүйемелдеудің жалғыз тәсілі – оларды
модуль түрінде ұйымдасқан біраз функциялардың жиынтығы ретінде көрсету;
- Модульде ақпарат, ол өзінің есебін қалай шешетіндей жұмыс істемеуі
керек;
- Әр модуль өзінің тікелей көршілерінің шағын тобымен ғана өзара
әрекеттесуі қажет;
- Программаның құрамында өнделген мәліметтердің бейнесі табылуы керек.

ІІ. СИ++ тіліндегі файлдар және мәтіндік файлдар
2.1. СС++ тіліндегі мәтіндік файлдар
Енгізу-шығару стандартты кітапханалық функциялар файлдармен және
әртүрлі құрылғылармен байланысқан мәліметтерді оқуға немесе жазуға
мүмкіндік береді.
Файл дегеніміз – мәліметтер сақтауға арналған сыртқы тасымалдаушыдағы
жадының ат қойылған аймағы (бөлігі).
File (ағылшын тілінен аударылғанда) бума, іс қағаздар жинағы, сонымен
қатар ақпаратты сақтау деген мағынаны білдіреді.
СИ бағдарламалау тілінде файлдарды екі негізгі белгісі бойынша
топтастыруға болады:
a) файлдың типі бойынша (оның логикалық құрылымына )
b) файл элементтеріне қатынау тәсілі бойынша
Типтері бойынша файлдар шартты тұрде үш түрге бөлінеді:
- мәтіндік файл;
- типтік файл;
- типтік емес файл.
Мәтіндік файл (текстовый файл; text file) — құрамында құрылымдалмаған
түрдегі ақпарат мәтіні бар файл; әріптерден, цифрлардан және тыныс
белгілері мен арнайы символдардан құрастырылған қарапайым мәтіндік файл;
онда каретканы қайтару мен келесі жолға ауысудан өзге басқару (пішімдеу)
таңбалары болмайды. Көбінесе ASCII кодындағы файлдар деп аталады.
Біз көбінесе мәтіндік және типтік файлдармен жұмыс істейміз.
Қатынау тәсілі бойынша файлдар келесідей бөлінеді:
- Тікелей қатынау файлдары
- Кезекпен қатынау файлдары
С тілінде файлдың қандай да бір алдын-ала анықталған структурасы жоқ.
Кез-келген мәлімет байттар тізбегі түрінде қарастырылады.
Жалпы енгізу-шығару функцияларын негізгі үш категорияға бөлуге болады:
- Лектік(потоктық);
- консолдық (консольные);
- төмен деңгейлі (низкоуровневые).
Лектік функциялар: буферлік, форматталған, форматсыз енгізу-шығару
мүмкіншілігін жүзеге асырады.
Буферлік лектердің мәліметтерді уақытша жазу-оқу барысында буферде
сақтау мүмкіндігі бар. Дискке тікелей жазу уақыт алады, ал буферлік аймақты
пайдалану процесті тездетеді.
Лектік функциялар мәліметтерді символдар легі түрінде қабылдайды.
Лектік файлдар арқылы белгілі бір мөлшердегі және форматтағы символдар
блогымен алмасуға болады.
Файлды ашқанда лектік функцияны пайдаланып ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Операциялық жүйелер пәнінен дәрістер
Ядро және процестер
Visual basic ортасында программалау
Әрбір оператордан кейін
Паскаль программалау тіліне жалпы түсінік
Си тілінің алфавиті
Turbo Pascal жүйесінде файлдармен жұмысты ұйымдастыру технологиясы
Си программалау тілі туралы ақпарат
Операциялық жүйелер,оның дамуы және түрлері ( MS-DOS,NC,OS/2,UNIX,Windows, оның түрлері)
ST құрылымдалған мәтін
Пәндер