Си тілінде программа құру


Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 23 бет
Таңдаулыға:
Тақырыбы : СИ ТІЛІНДЕ ПРОГРАММА ҚҰРУ
МАЗМҰНЫ
I. Кіріспе 3
II. Негізгі бөлім:
1. Есептің қойылымы 5
2. Есептің алгоритмін жасау 6
3. Пайдаланылатын әдістер 7
3. 1 Құрылым типінің сипатталуы 7
3. 2 Мәліметтер құрылымы 9
3. 3 Функция 10
4. Алгоритм 13
5. Программаның сипатталуы 14
6. Басты программаның сипатталуы: 18
7. Программаның баяндалуы 19
ІІІ. Қорытынды 20
Пайдаланылған әдебиеттер 21
КІРІСПЕ
Жазылған программа курстық жұмыс болып табылады. Бұның орындалуы “Жоғары деңгейлі тілдерінде программалау” пәнінің соңғы қадамы болып есептеледі. Студент өз мүмкіндіктерін қорыта келе бір бағытта түпкілікті жұмыс істей алады. Курстық жұмыс жасау уақытысында студент іс жүзінде есепті шығара отырып, тәжірибе жинауы тиіс. Ол өзінің үйренгенін қорыта отырып, программалауға арналған оқулықтарды дұрыс пайдалануын, есеп шығару кезінде жаңа және тиімді тәсілдерді ойлап табуын, алгоритмді дұрыс құруын, Си тілінің көптеген операторларын үйренуі қажет.
Курстық жұмыстың басты мақсаты: студенттің практикада санау жүйесімен танысып, ойындар, күрделі есептер орындауда тәжрибе жинақтауына негізделген. Алдыға қойған мақсат студенттің өзіндік жұмысы арқылы және Си тілінде алгоритмді дұрыс құру, операторларды орынды пайдалану арқылы жүзеге асады.
Бұл курстық жұмысты “Жоғары деңгейлі тілдерінде программалау” пәнінен үйренгенімді көрсету мақсатымен ойлап шығардым.
Қазіргі уақытта ғылыми техникалық дамуының жетістіктеріне сай, алдыңғы қатарлы ЭЕМ өміріміздің әр түрлі саласында кеңінен қолданылуда. Осыған орай ЭЕМ-да жұмыс істеу реттерін программа арқылы басқара алатын систематехника инженеріне сұраныс көп.
ЭЕМ-сымен арақатынас қалыптастыруда керекті алгоритмдік тілдер: Фортран, Паскаль, Бейсик, Си, және т. б. компьютерде есептерді белгілеп, нәтижесін шығаруға бейімделген.
Соның ішіндегі программалау технологиясы мен алгоритмдік тілдерді оқытып үйретуге ыңғайлысы Си тілі туралы қысқаша айта кетелік.
Си тілі әйгілі профессионалдық программалау тілдерінің арасынан әлі өз позициясын жоғалтқан жоқ. Бұл тіл басқа программалау тілдері мүмкіншіліктерінің бәрін бойына сіңіре отырып, сонымен қатар ол программистке басқа да көптеген мүмкініліктерді береді, жады ұяшығына және компьютер регистрлеріне қатынас құруға мүмкіндік береді. Ол үшін компьютер ерекшеліктерін бөлуді қажет етеді.
Алгоритмдік немесе программалау тілі жазу ережелері қарапайым жасамды тіл. Сондықтан, алгоритмдік тілде программа жасау әрі жеңіл, әрі ыңғайлы болып келеді.
Әрбір ЭЕМ алдын ала берілген алгоритммен, яғни жоспармен жұмыс істейді. Алгоритмді белгілі бір заңдылық бойынша, реттелген амалдар жиыны арқылы көрсетілген, кезекпен орындалатын операциялар тізімі деп ұғынсақ дұрыс болады. Бұл ұғым қазіргі кезде кеңінен қолданылып жүр.
Берілген есепті шығару барысында бізге көптеген айнымалылар енгізу керек болады. Олардың ішінде файлдық айнымалылар, жолдық айнымалылар және т. с. с. қолданады. Есептің жауабын файлға жазу керек болған соң, ол жерде файлмен жұмыс жасайтын процедурлар мен функцияларды пайдалану керек болады. Біздің программамыз өте ауқымды болуы да мүмкін.
Мәліметтер қорымен жұмыс болған соң, программада құрылымдар мен файлдар қолданылуы қажет. Себебі, құрылымдарсыз және файлдарсыз біз өзімізге керек мәліметтер қорымен жұмыс жасай алмаймыз.
- Есептің қойылымы
«Кітап сүюші» кітаптарды ұзындығы бірдей, бірақ әр түрлі биіктіктегі кітап сөрелеріне қояды. Кітаптарды ол қораптан алады және кітап биіктігін, енін, түсін мөлшерлейді.
Келесі жағдайларды есепке ала отырып кітаптарды сөрелерге орналастыру алгоритмін сипаттайтын процедура құру керек:
- кітап үшін биіктігі бойынша сөре таңдалады;
- кітап сөреге тігінен қойылады;
- қатар тұрған екі кітап түсі әр түрлі болуы керек, егер бір түсті түптеудегі кітаптар қалған жағдайда түстердің сәйкес келуі жіберіледі;
- кітап сөрелері кіші биіктіктегі кітаптармен толтырылганнан кейін ғана, үлкен биіктіктегі кітаптар сөрелерге қойыла бастайды.
Құралған функцияны қолданатын және қораптан қырық кітапты орналастырып қоюды моделдейтін программаны құру керек. Программа әр сөреге қойылған кітаптың тізімін және орналастырып қойылмаған кітаптардың тізімін қалыптастыру керек.
2 . Есептің алгоритмін жасау
Алгоритм дегеніміз есепті шешетін операциялар тізімі. Ол есепті шешу процесі. Есептің программасын жазып, оның түбіне жету үшін қолдануға қажетті немесе жеткілікті процедуралар мен функциялар жиыны.
3. Пайдаланылатын әдістер
Қазіргі кезде компьтерлерді қолданбайтын ешқандай облыс жоқ. Компьютерлер көптеген мекмелерде бар ақпаратпен тиімді жұмыс жасауда қолданылады. Мысалы, қызметкерлер туралы мәліметтер қорын жасағанда бізге өте ауқымды ақпарат қорымен жұмыс жасауға тура келеді.
Ауқымды ғылыми-техникалық және экономикалық ақпаратпен жұмыс жасайтын есептерді жасағанда бізге ондай ақпарат көлемімен жұмыс істейтін массивтерді пайдалануға болады. Бірақ, массив бір типті ақпаратпен жұмыс жасайды. Сондықтан массивтерді пайдалану тиімсіз болып табылады.
Мәліметтер қорымен жұмыс жасағанда әр түрлі типтермен жұмыс жасауға тура келеді. Сондықтан да Си тілінде әртүрлі типті объектілерді сипаттау үшін арнайы жасалған аралас типті ҚҰРЫЛЫМ(СТРУКТУРА) қолданылады.
Құрылым қазіргі кезде аралас мәліметтердің ортақ және пайдалануға жеңіл болатын типі кеңінен қолданылады. Құрылым әртүрлі типті компоненттерден құрала отырып, олардың арасында байланыс жасайды да, біріңғай объект ретінде келеді.
Бұған қоса, есептің берілгенінде файл болған соң, файлдармен де жұмыс жасайтын функцияларды қарастырғанымыз жөн.
3. 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;
3. 2 Мәліметтер құрылымы
Мәліметтер құрылымы - бір немесе бірнеше әр түрлі типті айнымалылардан құралған, ыңғайлылық үшін бір атқа жинақталған мәліметтер жиыны.
Мәліметтер құрылымына қарапайым мысал болып - жұмысшы есеп карточкасы табылады. Жұмысшы мәліметтері: аты, тегі, адресі, еңбек ақысы, тағы сол сияқты мәліметтер құрылым компоненттері болып табылады. Кейбір компоненттерінің өзін мәліметтер құрылымдарын үлкен программаларда қолдануға тиімді әрі ыңғайлы.
Мәліметтер құрылымын struct кілті сөзінен басталатын фигуралы жақша ішінде сипаттайды. struct сөзінен кейін мәліметтер құрылымына ат қоюға болады. Компоненттері немесе айнымалылары жазба мүшелері деп аталады. Олардың атын еркімізше таңдаймыз, көбінесе сипатталатын объектіге байланысты таңдайды.
Басқа кез келген типтер сияқты бірнеше айнымалыларды, фигуралы жақшадан кейін тізіп жазуға болады.
struct {…} x, y, z, сәйкесінше INT X, Y, Z;
Мәліметтер құрылымына да жадыдан орын бөлінеді. Қандай да бір айнымалыны мәліметтер құрылымына сипаттамаса, онда оған жадыжан орын бөлінбейді. Ол тек шаблон немесе мәліметтер құрылымы формасы ретінде қалады, бірақ мәліметтер құрылымының атын қолдануға болады.
struct person
{
char name[namesize] ;
char address[adrsize] ;
long zipcode; /* почталық индекс*/
long ss_number; /*әлеуметтік қорғау коды*/
double salary; /*еңбек ақы*/
struct date birthdate; /*туған күні*/
struct date hiredate; /*жұмысқа кірген күні*/
};
3. 3 ФУНКЦИЯ
Тілде функцияны көру екі нүктесінен анықтап қарауға ереді . - біріншілердің, функция - мынау бір тап осы туынды үлгілерден, ал - екіншілердің - мынау бағдарлама ең аз орындалатын модулі С . тілінде барлық тілде функцияның анықтама форматын келесі болады :
< үлгі >< аты _ функция >(< параметрлердің егжей-тегжейін ашуы >)
< функция денесі >
Осында < үлгі > немесе void ( функцияларға арналған, қайтарушылардың емес мағынаның ), немесе функциямен қайтаратын мағына үлгі көрсетуі .
< аты _ функцияның >- немесе main үшін ең басты ( негізгінің ) бағдарлама функциялары, немесе бағдарламашымен өз бетімен таңдалатын аты ( теңестіру ) .
< параметрлердің егжей-тегжейін ашуы >- мынау немесе бос, немесе формалдық параметрлердің тізім, қайсы әрбір элемент түрды болады :
< көрсету _ үлгінің >< аты _ параметрдің >
Салыстырумен жіңішке белгілілермен сіздерге формалдық параметрлердің анықтама тәсілдерімен, келесі көп нүктемен үтірлердің параметрлердің тізім аяқтау мүмкіншілігі бар болады " . . . ". мынау білдіреді, не функцияға айналдыру жанында нақты параметрлердің үлкен саны мүмкін көрсетілген . Дәл осылай белгілілер сіздерге printf функциялары және scanf түп тұлғаларды болады :
Int printf ( const char format, . . . ) ;
Int scanf ( const char format, . . . ) ;
Форматталған енгізуді - шығару көрсетілген функциялары нақты параметрлердің теориялық шектелмеген санын қолдануға рұқсат етеді . Міндеттімен char параметрі тек қана келеді format -" форматты жол ", ішінде қайсының өзгерту егжей-тегжейін ашулары арқасында параметрлердің нақты саны анықталады, айырбастарда қатысушылардың .
< функция денесі >- мынау функция анықтама бөлім, таныстырушы бағдарламалық одақ, фигуралық жақшалармен шек қойылған мәтін үзіндісі тілде, орналасқан ортасыз функция тақырыбы артынша . Тіл ерекшелігі функция денесі ішінде басқа функцияны анықтау мүмкіншіліксізде түзеледі : ішіне салынған функциялардың анықтамалары бола алмайды .
Аяқтауға арналған ( үзудың ) функция жұмыстары return операторын қызмет етеді . мына оператор екі түры бар болады :
Return ; қайтару нәтиже тапсырулары
Return < айтылу >; мағына қайтаруы
Бірінші түр функциялар үшін қолданылады, анықтамада қайсы аттың алдында void үлгі көрсетілген . еш жазбау мына үлгі функцияларына арналған return операторы бағдарлама мәтінінде болады - функция денелері жапқан фигуралық жақшаның алдында автоматты оның құрастырушы қоса салады
< айтылу > оператор екінші түрына үлгі тиісті, функция үлгісімен сәйкес келуші болу немесе функциямен қайтаратын мағына үлгісіне болатын автоматты өзгерту .
Функциялардың суреттеуі . Мәлімдеу функциясына сыпайылық айналдырулардың артынан туралы оған құрастырушыға, т тиісті белгілі болу томға функция шақыруына дейін ғой файлда оның суреттеуі орналасуға ұсынылады - түп тұлға :
< үлгі >< аты _ функцияның >(< параметрлердің егжей-тегжейін ашуы >)
Оның түп тұлғасында функция тақырыбысының айырмашылық формалдық параметрлердің аттары жасай алуға көрсетілмеу, мысалы эквиваленттік
Double Func ( int n, double x ) ;
Double Func ( int, double ) ;
Функция шақыруы . Функция шақыруы операциямен айтылумен іске асады " дөңгелек жақшаның ". мыналар жанында синтаксис келесіге қолданылады :
< көрсету _ функцияның >(< нақты параметрлердің тізімі >)
әдеттегі кім, не ретінде < көрсету _ функцияның > . Сонымен қатар, функцияны белгілеуге болады, разыменовав көрсеткіш оған . .
< нақты параметрлердің тізімі >, аталатындардың ұқсастық математикамен дәлелдермен - мынау айтылулардың тізім, сан қайсылардың функция формалдық параметрлерінің санына бірдей ( шығару параметрлердің өзгергіш санымен функцияларды құрастырады ) . формалдық және нақты параметрлер аралық сәйкестік тізімдерде олардың өзара орналастыруымен орналастырады .
Аралық формалдық және нақты параметрлермен үлгілермен сәйкестік тиісті болу . Егер үлгілер сәйкес келсе - үлгілердің өзгерту механизмі қосылады ( егер сондай өзгерту өткізуі мүмкін ) .
Return операторымен мағына функциясымен қайтару жанында ұқсас болады .
Double Mat ( long x, int n
{
If ( x x < n ) return ( x
Return ( n -1) ;
}
Мына функция үлгісі - double . сондықтан return операторларында айтылуларға үлгілердің келтіруіне арналған құралдар автоматты қосылған болады :
return (double) (x*2) ;
return (double) (n-1) ;
}
4. Алгоритм
Бұл есепті шешу үшін жоғарда айтылған әдістерді пайдаланған жөн. Ең біріншіден, біз ірі мәліметтер қорымен жұмыс жасайтын болған соң жазбаларды пайдаланғанымыз жөн.
Жазбаларды енгізу үшін, керек жазбалар санын енгіземіз. Содан соң цикл жасалады, енгізілген санға байланысты, сонша рет жазбалардың өздерін енгіземіз. Енгізілген жазбалар автоматты түрде өзіміз таңдаған файлға жазылады.
Қызметкердің аты бойынша іздеу үшін, ізделінді адамның атын енгіземіз. Содан соң цикл жасалады, адамның аты файлдағы жазбамен салыстырылады. Егер ізделінді адам табылса, онда экранға ол туралы барлық мағұлмат шығады. Ал егер ізделінді адам табылмаса, онда ондай адамның жоқтығы туралы хабар шығады. Егер ондай аттас адамдар болса, онда барлық аттары ұқсас адамдар туралы ақпарат шығады.
Жазбаларды файлға жазу үшін арнайы файл жасаймыз. Программамен жұмыс одан әрі жеңілдету үшін, біз файлдың атын программаның жұмыс жасау кезінде енгіземіз. Ол файлға тек жазбалар жазуға болады.
Жоғардағы командаларды тағы да пайдалану үшін программа денесіне арнайы цикл енгіземіз. Ол цикл бізге манағы операцияларды қайтадан қолдануға мүмкіндік береді.
... жалғасы5. Программаның сипатталуы
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

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