Си программалау тілі туралы ақпарат


Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 12 бет
Таңдаулыға:
Мазмұны
Кіріспе. 2
1. Есептің қойылымы. 3
2. Пайдаланатын әдістер 4
2. 1. Құрылым типінің сипатталуы 4
2. 2. Файлдық тип 6
2. 2. 1. Файлды өңдеу жабдығы 7
2. 3. Сызықтық әдісімен сорттау 8
3. Алгоритм 10
4. Программаның сипатталуы 11
5. Қорытынды 13
Кіріспе
Си тілі қазіргі кезде ең белгілі тілдердің бірі болып табылады. Бұл тілді көбінесе, программалауды үйрену үшін қолданады. Си тілінде қарапайымдылық пен жоғарғы дәрежелі өнімділік ұштастырылған.
Бұл тілді 70-ыншы жылдары америкалық Деннис пен Ритчи жасаған еді. Жылдар өте келе Си кең тараған тілдердің біріне айналды.
Паскальда программа жазу өте оңай. Программалаудан хабары жоқ адам аз уақыттан кейін қарапайым программалар жаза алады. Си Паскаль немесе Бейсик тілінен күрделіреу, ал Дельфи немесе Си++ тілінен әлдеқайда жеңіл.
Си тілінің негізінде жоғарғы дәрежелі Си++ тілі жасалған. Бұл тілді оқу әрбір болашақ программисттің міндеті болып табылады.
Берілген есепті шығару барысында бізге көптеген айнымалылар енгізу керек болады. Олардың ішінде файлдық айнымалылар, жолдық айнымалылар және т. с. с. қолданады. Есептің жауабын файлға жазу керек болған соң, ол жерде файлмен жұмыс жасайтын процедурлар мен функцияларды пайдалану керек болады. Біздің программамыз өте ауқымды болуы да мүмкін.
Мәліметтер қорымен жұмыс болған соң, программада құрылымдар мен файлдар қолданылуы қажет. Себебі, құрылымдарсыз және файлдарсыз біз өзімізге керек мәліметтер қорымен жұмыс жасай алмаймыз.
- Есептің қойылымы
Есеп: Автобус вокзалының платформасында қалааралық автобусты күтіп тұрған белгілі бір жолаушы тобы бар. Әр жолаушының орны бар. Кейбір жолаушылардың жүгінің өлшемі бойынша үлкен және өте үлкен чемодан және сөмке бар.
А) Жолаушы багаждық бөлімдері белгілі салондағы орын нөмері мен
литерін еске сақтау керек.
Б) Құралған есепті қолданатын және жиналған жолаушыларды бірінші
өте үлкен багажы барын өткізу. Списокты кемімелі түрде сорттау.
2. Пайдаланылатын әдістер
Қазіргі кезде компьтерлерді қолданбайтын ешқандай облыс жоқ. Компьютерлер көптеген мекмелерде бар ақпаратпен тиімді жұмыс жасауда қолданылады. Мысалы, қызметкерлер туралы мәліметтер қорын жасағанда бізге өте ауқымды ақпарат қорымен жұмыс жасауға тура келеді.
Ауқымды ғылыми-техникалық және экономикалық ақпаратпен жұмыс жасайтын есептерді жасағанда бізге ондай ақпарат көлемімен жұмыс істейтін массивтерді пайдалануға болады. Бірақ, массив бір типті ақпаратпен жұмыс жасайды. Сондықтан массивтерді пайдалану тиімсіз болып табылады.
Мәліметтер қорымен жұмыс жасағанда әр түрлі типтермен жұмыс жасауға тура келеді. Сондықтан да Си тілінде әртүрлі типті объектілерді сипаттау үшін арнайы жасалған аралас типті ҚҰРЫЛЫМ(СТРУКТУРА) қолданылады.
Құрылым қазіргі кезде аралас мәліметтердің ортақ және пайдалануға жеңіл болатын типі кеңінен қолданылады. Құрылым әртүрлі типті компоненттерден құрала отырып, олардың арасында байланыс жасайды да, біріңғай объект ретінде келеді.
Бұған қоса, есептің берілгенінде файл болған соң, файлдармен де жұмыс жасайтын функцияларды қарастырғанымыз жөн.
2. 1 Құрылым типінің сипатталуы
Құрылым - бұл структурленген, шектелген компоненттердің санынан тұратын, мәлімет типі болып табылады. Жазба типін жариялау struct идентификаторынан басталады. Екі ирек жақшаның арасында копоненттердің жиыны тұрады, олар аймақтар деп аталады. Олардың әрқайсысынында типтің аты жазылуы қажет.
Формат:
Struct <аты>
{
<айнымалы типі> <айнымалы аты>
…
<айнымалы типі> <айнымалы аты>
}
Мысал:
struct Car
{
int Number;
char Marka[20] ;
char FIO[15] ;
char Address[10] ;
} Mycar;
Mycar. Number=777;
Бұл жерде CAR жазбасы төрт компоненттен тұрады: нөмір, мәшинәнің маркасының аты, аты-жөні және адресі.
Аймақ идентификаторы құрылым айналасында ғана біреу болу керек. Бірақ, әртүрлі қателіктерді болдырмау үшін оның бүкіл программа үшін жалғыз қылайық. Құрылым үшін керекті жады мөлшері оның аймақтарының ұзындығынан құрылады. Құрылым аймақтарының мағыналары өрнектерде пайдалануға болады. Бөлек аймақтардың аттары айнымалылар атымен болмауы қажет. Себебі ұқсас типті жазбалардың бірнешеуі болуы мүмкін. Аймақпен жұмыс жасау үшін оның айнымалы идентификаторы мен аймақ идентификаторы белгілі болуы қажет. Осындай аттар ҚҰРАМА АТТАР деп аталады. Олардың арасында нүкте болады. Мысалы, CAR типті жазбалармен жұмыс жасау үшін :
Mycar. Number, Mycar. Marka, Mycar. Fio, Mycar. Address
Аймақтың мағынасын енгізу үшін меншіктеу операторы қолданылады.
Мысалы:
Mycar. Number=1678;
Mycar. Marka=’Gaz-24’;
Mycar. Fio=’Ded Mozai i zaitsi’;
Mycar. Address=’Petrovka 38’;
Құрама аттарды енгізу-шығару операторларында пайдалануға болады:
Scanf(“%d%d”, &e1. hour, &e1. min) ; gets(e1. theme) ;
Printf(“%d%d%s”, &e1. hour, &e1. min, e1. theme) ;
Құрылымдарға қатысты меншіктеу операторын қолдануға болады. Бірақ жазбалардың типі бірдей болуы керек. Мысалы,
Vcar. number:=Mycar. number;
Бұл оператордың орындалуынан кейін V жазбасының мағынасы M жазбасының мағынасына тең болады.
Сіз бір кезде бірнеше экземплярды пайдалана аласыз. Яғни, айнымалылары бірдей бірнеше құрылымдарды пайдалана аласыз. Мысалы:
Struct circle
{
Int radius;
Int xcoord;
Int ycoord;
} mycircle, yourcircle, ourcircle;
Осыдан кейін бір экземплярдың мазмұнын басқасына теңестіре аламыз. Мысалы:
Yourcircle=mycircle;
Жоғардағы айтылған амалдарды құрылымдармен жеңіл қолдануға болады. Бірақ, struct резервтелген сөзінің орнына typedef пайдалануға болады. Typedef арқылы сіз өзіңіздің уақытыңызды үнемдей аласыз. Келесі жолдар жоғарыда айтылған circle құрылымына пара-пар:
Typedef struct
{
Int radius;
Int xcoord;
Int ycoord;
} circle;
2. 2 Файлдық тип
Үлкен мәліметтер қорын, мысалы телефондық анықтама немесе мектеп оқушалары жөнінде мәліметтер, сыртқы жадыда сақтаған жөн. Қандай да болмасын программалау тілі сыртқы жадыда сақталған ақпаратпен жұмыс жасауға мүмкіндік беру керек. Си-да мұндай қажеттілік үшін арнайы объектілер бар - файлдар. Файл - сыртқы жадыда жазылған, белгілі атпен сақталған, ақпараттар жинағын атаймыз.
Файлдардың жиі-жиі пайдалану келесі себептерден пайда болды:
- Өте үлкен өңделетін мәліметтер жиынын енгізу өте көп уақыт алады және қатты шаршатады. Одан гөрі ақпартты арнайы жасалған файлда сақтаған жөн. Ол файлды біз бірнеше рет жүктеп және сақтауға болады. Бұған қоса оларды бірнеше рет падалануға болады.
- Мәліметтер файлы басқа программамен де жасалуы мүмкін. Бұл жағдайда файл екі әртүрлі программа арасындағы көпір және сыртқы ортамен байланыс болады.
- Файлдағы мәліметтерді пайдаланатын программа жұмыс жасау кезінде қасында пайдаланушының болуын қажет етпейді
Әр файлдың үш басты еркшеліктері бар. Біріншден, программаға бірнеше файлдармен жұмыс жасауға мүмкіндік беретін өзіне тән файл аты болады. Екіншіден, файл бір типті компоненттерден тұрады. Мұндай компонент файлдан басқа типті болады. Мысалы, жазбалар немесе жолдар файлын жасауға болады. Бірақ «файлдар файлын» жасауға болмайды. Үшіншіден, жаңадан жасалған файлдың ұзындығын шектеудің қажеті жоқ. Оның өлшемі тек сыртқы жадының көлемімен шектеледі.
Көбінесе файлдар құрылымдардан немесе мәтіндік жолдардан тұрады. Файлдарды сипаттау үшін File сөзі қолданылады. Оның синтаксисы былай жазылады:
File <*файлдық көрсеткіш аты>;
Файлмен жұмыс жасау үшін арнайы файлдық айнымалы сипатталады. Ол Си-программадағы файлдың көресеткіші болып табылады. Формат:
File *Pdiskfile;
Puts(“Оқылатын файлдың атын енгіз”) ;
Gets(filename) ;
Pdiskfile=fopen(filename, ”r”) ;
Бұл мысалда, біз файлдың атын енгізе отырып оны аштық. Осы жерде Fopen функциясы пайдаланылды.
2. 2. 1 Файлды өңдеу жабдығы
Си тіліндегі файлдық жүйе операциялық жүйенің мәліметтер тасымалдау мүмкіндігін максималды түрде пайдаланады. Әрбір файлға программада файлдық айнымалы меншіктеледі. Сондықтан да файлмен жұмыс жасар алдында оны дұрыстап сәйкестендіру қажет. Ол үшін Си тілінде келесі функция пайдаланылады:
File *open(const char *file_name, const char *mode) ;
Мұндағы mode - файлдың ашылу режимін қадағалап отыратын параметр. Ал file_name операциялық жүйені қанағаттандыратын файлдың толық аты болады. Ол файлды қайтадан пайдалану үшін, оны алдын ала fclose процедурасы арқылы жабу керек. Содан соң оны қайтадан қосуға болады.
Файлмен жұмыс жасау үшін оны алдын ала ашып алу керек. Бұл үшін Си тілінде келесі процедуралар көзделген:
Int fread(void *buffer, int blocksize, int blocks, file *fptr) ; - файлдағы ақпаратты оқиды.
Int fwrite(void *buffer, int blocksize, int blocks, file *fptr) ; - ашық файлға ақпаратты жазады.
Жабу операциясы әрбір ашық файлмен жұмыс аяқталған кезде пайдаланылатын логикалық операциясы болып табылады. Ол үшін келесі процедура қолданылады:
int Fclose(file *filepointer) ;
fclose процедурасын қолданғанда, fopen процедурасымен орнатылған, файлдық айнымалы мен сыртқы файлдың арасындағы байланыс үзіледі.
Бұған қоса файл атын өзгерту және файлды кетіру процедуралар бар. Олар - файлдың типіне қарамай жұмыс жасай береді.
Rename(Oldname, Newname) ;
Функция ашық емес файлдың атын өзгертеді. Ескі файлдың аты Oldname деген жерге енгізіледі. Жаңа файлдың аты Newname жолында беріледі.
Remove(filename) ;
Функция filename айнымалысымен берілген, ашық емес файлды кетіреді.
Мысал: Файлды кетіру.
Void delete(char *filename)
{
Char choice;
Puts(“Шыныменде кетіресіз бе”) ;
Choice=getch()
If (choice==’y’)
{
Remove(filename) ;
Puts(“Файл кетірілді”) ;
Return;
}
Else
{
Puts(“Файл кетірілген жоқ”) ;
Return;
}
}
Келесі мысалда біз файлдың атын өзгертеміз:
Void ren(char *oldname, char *newname)
{
Char new[8], old[8] ;
Puts(“Ескі және атты енгізіңіз”) ;
Gets(new) ;
Gets(old) ;
Rename(old, new) ;
Return;
}
2. 3 Сызықтық әдісімен сорттау
Сорттаудың ең кең тараған түрлерінің бірі - сызықтық әдісі. Бұл әдіс жұмыс жасаған кезде массив элементтерің ең жеңілдері жүзіп шығады. Бұл әдістің басты ерекшелігі - массив әр элементін қалғандарымен салыстыру емес, жұп жұбымен басқа элементтермен салыстыру.
Өсу бойынша массивті сорттайтын программаның мәтінін келесі түрде жазуға болады:
#include<stdio. h>
#include<math. h>
Int M[19] =(9, 11, 12, 3, 19, 1, 5, 17, 10, 18, 3, 19, 17, 9, 12, 20, 20, 19, 2, 5) ;
Int i, j, k, l, A;
Main()
{
puts(“Массив:”) ;
For (i=0; i<=19; i++)
printf(“%i”, M[i] ) ;
A=0;
For (i=1; i<=19; i++)
{
For (j=19; j>=i; j--)
{
a=a+1;
if (M[j-1] <M[j] )
{
k=M[j-1] ;
M[j-1] = M[j] ;
M[j] =k;
}
}
for (i=0; i<=19; i++)
printf(“%i”, M[i] ) ;
printf(“Число итераций=%i”, A) ;
getch() ;
}
}
3. Алгоритм
Бұл есепті шешу үшін жоғарда айтылған әдістерді пайдаланған жөн. Ең біріншіден, біз ірі мәліметтер қорымен жұмыс жасайтын болған соң жазбаларды пайдаланғанымыз жөн.
Жазбаларды енгізу үшін, керек жазбалар санын енгіземіз. Содан соң цикл жасалады, енгізілген санға байланысты, сонша рет жазбалардың өздерін енгіземіз. Енгізілген жазбалар автоматты түрде өзіміз таңдаған файлға жазылады.
Файлда сақталған жазбаларды шығару үшін қарапайым процедураларды пайдаланып экранға шығарамыз. Ол үшін арнайы процедура жазылады. Ол процедура файлдың соңы болмағанша файлда сақталынған жазбаларды оқиды.
Қызметкердің аты бойынша іздеу үшін, ізделінді адамның атын енгіземіз. Содан соң цикл жасалады, адамның аты файлдағы жазбамен салыстырылады. Егер ізделінді адам табылса, онда экранға ол туралы барлық мағұлмат шығады. Ал егер ізделінді адам табылмаса, онда ондай адамның жоқтығы туралы хабар шығады. Егер ондай аттас адамдар болса, онда барлық аттары ұқсас адамдар туралы ақпарат шығады.
Жазбаларды файлға жазу үшін арнайы файл жасаймыз. Ол файлдың типі жазбалардың типіне тең. Программамен жұмыс одан әрі жеңілдету үшін, біз файлдың атын программаның жұмыс жасау кезінде енгіземіз. Ол файлға тек жазбалар жазуға болады.
Жоғардағы командаларды тағы да пайдалану үшін программа денесіне арнайы цикл енгіземіз. Ол цикл бізге манағы операцияларды қайтадан қолдануға мүмкіндік береді.
Программаны әсемдету үшін арнайы дыбыстық және графиктік қосымшалар енгіземіз.
Программа жасалу кезінде өте үлкен көлемге ие болады. Сондықтан да, программаның кодын екі бөлікке бөлген жөн. Жазбаларды енгізетін, шығаратын, файлды оқитын және қызметкерді іздейтін процедураларды Proca. pas файлына жазамыз. Енді біздің программа өзіне керек процедураларды басқа файлдан оқиды. Сөйтіп программаның көлемі азаяды.
- Программаның сипатталуы
Басты программаның мәтіні:
1: #include<stdio. h>
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz