Автор: Пользователь скрыл имя, 04 Марта 2013 в 07:51, курсовая работа
Паскаль және Бейсик бағдарламалық тілдерінің әрі қарай зерттелінуі Си бағдарламалық тілімен танысуға алып келді. Си бағдарламалық тілі арқылы біз кез-келген бағдарламаны жазып, нәтижесін шығарамыз. Паскаль және Бейсик тілдерінде кейбір мүмкіндіктер шектеулі. Си бағдарламалық тілінің пайда болуы әр түрлі тiлдердің эволюциялық дамуының нәтижесi болып табылады. Эволюция бойынша қолданбалы бағдарламалауда алдымен Алголь, Коболь, Паскаль, Фортран сынды тілдер пайда болса, кейіннен жүйелiк-тiркеулi ассемблерлерден ЭЕМ-нiң тiркеулi архитектураларына негізделген ,трансляторларда жасалған Си тіліне өту кезеңі басталды.
Кіріспе…………………………………………………………... 1
1.Си бағдарламалық тілінің Паскаль бағдарламалық тілінен артықшылығы ..2
1.1 Паскаль бағдарламалық тілінің мүмкіншіліктері (математикалық өрнектер, операторлар, циклдар)………………………………………………...7
1.2 Си бағдарламалық тілінің мүмкіншіліктері (математикалық өрнектер, операторлар,циклдар)…………………………………………………………...12
1.3 Си тілінің командаларының кейбір түрлері(масивтер)...............................14
Қорытынды………………………………………………………………………15
Пайдаланылған әдебиеттер тізімі………………………………………………16
Қосымшалар……………………………………………………………………...21
Қазақстан Республикасының
Қарағанды Мемлекеттік Техникалық Университеті
Тақырыбы: Си және Паскаль бағдарламалық тілдеріне синтаксистік анализ жасау
Қарағанды 2010
Қазақстан Республикасының ғылым және білім министрлігі
Қарағанды мемілекеттік техникалық университеті
Коккоз М.М. _____________
«___»_____________ 2010г.
Тақырыбы: Си тілімен Паскаль тіліне синтаксистік анализ жасау , программалық тілдердің артықшылығы мен айырмашылығы
Жұмысқа бастапқы мәліметтер: Барлық тапсырмалар пән бойынша курстық жобалау бойынша электрондық оқулықта және әдiстемелiк нұсқаулар көрсетілген. Варианттың ретi студенттiң сынақ кiтапшасының нөмiрiнiң соңғы екi цифрларының нөмері қабылданады
Тапсырманың берілген күні <<______>>____________________
Жетекшісі ______________________________
Студент_______________________
МАЗМҰНЫ
Кіріспе………………………………………………………….
1.Си бағдарламалық тілінің Паскаль бағдарламалық тілінен артықшылығы ..2
1.1 Паскаль бағдарламалық
тілінің мүмкіншіліктері (
1.2 Си бағдарламалық
тілінің мүмкіншіліктері (математикалық өрнектер, операторлар,циклдар)…………………………
1.3 Си тілінің командаларының кейбір түрлері(масивтер).............
Қорытынды………………………………………………………
Пайдаланылған әдебиеттер тізімі………………………………………………16
Қосымшалар……………………………………………………
Кiрiспе
Паскаль және Бейсик бағдарламалық тілдерінің әрі қарай зерттелінуі Си бағдарламалық тілімен танысуға алып келді. Си бағдарламалық тілі арқылы біз кез-келген бағдарламаны жазып, нәтижесін шығарамыз. Паскаль және Бейсик тілдерінде кейбір мүмкіндіктер шектеулі. Си бағдарламалық тілінің пайда болуы әр түрлі тiлдердің эволюциялық дамуының нәтижесi болып табылады. Эволюция бойынша қолданбалы бағдарламалауда алдымен Алголь, Коболь, Паскаль, Фортран сынды тілдер пайда болса, кейіннен жүйелiк-тiркеулi ассемблерлерден ЭЕМ-нiң тiркеулi архитектураларына негізделген ,трансляторларда жасалған Си тіліне өту кезеңі басталды.
Си тіліндегі мүмкіндіктер Паскаль тілінде шектеулі. Мысалы операциондық жүйенің фрагменті немесе операциондық жүйенің өзі Си тілінде жасалғанымен Паскаль тілінде жургізілмейді. Паскальдегі трансляторлар қатары Си тілінде жазылған. Паскаль тілінде жазылған қолданбалы бағдарламалар Си тілінің жаңа мүмкіндіктері арқылы жаңа белестерді бағындырды. Мұнда бағдарламашы жеңіл жұмыс жасап, еркіндікке қол жеткізе алады. Паскаль тілінде бағдарлама жазу жеңілірек. Себебі оның құрылымы өте қарапайым болғандықтан бағдарламашыларға оны түсіну оңайға түседі. Си тілі құрылымы өте күрделі жүйеден тұрады. Бұл тілде Паскаль тіліндегі шектеулер азайып, жаңа мүмкіндікке жол ашылған. Неғұрлым тіл дамып, жаңалықтар ашылған сайын қиындығы да арта түседі. Шектеулер аз болған сайын жүйелiк бағдарламалық қамтамасыз ету нығайып, нәтижелі болады.
Ғылым дамыған сайын бағдарламалау тілдері де жаңарып, өзгеріске түсіп отырады. Си тілі де Бейсик, Паскаль тілдерінің жинақталған жаңа түрі. Мұнда алдынғы тілдерге негізделе отырып, жаңа мүмкіндікке ие, жоғары нәтижелі бағдарламалау тілі пайда болды. Яғни тілдер арасындағы ұқсастықтар жоғалмай, тек жаңарып отырады. Паскаль тілін жетік меңгерген бағдарламашы Си тілін де оңай алып кете алады. Паскаль тілінің ерекшеліктері төмендегідей:
Паскаль тiлінде бағдарламалардың дұрыстығын автоматты тексеру , жөндеу әдістері іске асырылды. Басқару құрылымдары Паскаль тілінде тарамдау, циклдарды жүзеге асырды. Си тілі - бұл операторлардың бай жиынына ие, жүйелiк және қолданбалы бағдарламаларды өңдеудiң әмбебап тiлі болып табылады.
1 Си бағдарламалық тілінің Паскаль бағдарламалық тілінен артықшылығы
Си тiлі ыңғайлы жоғарғы деңгейдегi тiлдердi жинастыра отырып бағдарламашыларға жаңа мүмкіндіктер сыйлап, компьютерді қажетті деңгейде қолдануға жол ашты. Си тілінде құрылым, модуль, класс ұғымдары пайда болды. Си тілінде бағдарлама жазу ерекше төзімділікті қажет етеді. Нәтижелі болу үшін сол тіл туралы толық мәлімет алу керек. Бұл кез-келген тілде бағдарлама жазудың ең бірінші шарты.
Си тілі бағдарламашылар үшін өте қолайлы әрі компьютер мүмкіндіктерін тиімді пайдалануға мүмкіндік береді. Жоғарғы дәрежелі жаңа замандық бағдарламалау тілдеріне тиесілі (құрылым, класс модуль, мәліметтер типін анықтау) ерекшеліктерімен қатар ассемблер жағдайында бағдарламалау мүмкіндіктері (көрсеткіштерді қолдану, биттік операциялар, қозғау операциялары) де енгізілген. Операторлардың көптігі арқасында ықшамды әрі маңызды бағдарламалар жазуға болады.
Бағдарламашылар тілдің артықшылықтары мен кемшіліктерін қатаң ескере отырып аса ұқыптылықпен жазу керек. Трансляция кезеңінде көптеген қателер тудыратын, бағдарламашының еркіндігін шектейтін Паскаль типті бағдарламалау тілдеріне қарағанда Си тілі бағдарламашыға көп еркіндік береді. Алайда бағдарламаның дұрыс орындалуы бағдарламашының білім деңгейіне, тіл мүмкіндіктерін тиісті деңгейде қолдануына байланысты.
Қазіргі уақытта әр текті копьютерлерге арналған сан түрлі Си тілінде бағдарламалау жүйелері бар. Жаңа бағдарлама жасау жұмысын жеңілдететін модульдер библиотекалары, өңдеп, нәтижесін шығаратын құрылымдық жүйелер ойластырылып шығарылған. Си тіліндегі бағдарламалар мобилизацияланғандықтан еш өзгеріссіз әр типті машиналарға көшіріліп, орындала береді. Оқу жобаларының негізінде конвертор деп аталатын бағдарламалық жүйе іске асырылды. Бұл жүйе Паскаль тілінде жазылған бағдарламаны Си тіліне көшіру кезіндегі процессті автоматтандыруға мүмкіндік береді. Конверторға ену кезінде Паскальда синтаксистік жағынан дұрыс жазылған бағдарлама берілсе, шығу кезінде Си тіліне эквивалентті бағдарлама құрылады.
Конверторларды ойлап табудағы басты мақсат ескі тілдерде жазылған бағдарламаларды жаңа заманғы тілдерге автоматты турде көшіру. Семантикалық және синтаксистік жағынан күрделі Паскаль тіліне арналған конвертерді өңдеу көп еңбекті қажет етті.
Паскаль тілінде жасырын көрсету принциптеріне, қысқартуларға қатаң тиым салынып, құрылым және бағдарламалар объктілерінің орындары көрсетілген. Жоғарыда айтқанымыздай Паскаль тіліндегі бағдарламаны Си тіліне қолмен аудару бағдарламашыға ақыл-ой жағынан көп ізденуді талап етеді. Сондықтан конвертерлерді қолдану қазіргі кездегі уақытша, материалдық ресурс болып табылады. Синтаксистік шектеулерге байланысты конвертордың енгізілу бағдарламасы осы конверторды жүзеге асыратын семантикалық шектеулерге ғана ие болады. Солардың негізгілері мыналар:
1.1 Паскаль бағдарламалық тілінің мүмкіншіліктері (математикалық өрнектер, операторлар, циклдар)
Паскаль тіліндегі өрнектер. Аталған элементтерге қолданылатын амалдар тізбегін беретін тіл құрылымы өрнек деп аталады. Өрнек операндалардан(операцияда қолданылатын берілген элемент), операциялар орындалатын өлшем мен өрнектерден(барлық типтардың тұрақтылары мен айнымалылары), дөңгелек жақша мен операция белгісінен тұрады. Операция операндаларға орындалатын амалдарды анықтайды. Мысалы (X+Y-10) өрнегінде X, Y және 10 – операндалар, ал "+" және "-" –қосу, алу амалдары.
Кей жағдайда өрнек тек бір айнымалыдан немесе тұрақтыдан тұруы мүмкін. Дөңгелек жақшалар операциялардың ретін білдіру мақсатында қарапайым арифметикалық өрнектерде де қойылады.
Паскаль тіліндегі операциялар арифметикалық, қатыстық, логикалық, жолдық т.б. болып бөлінеді. Өрнектердің арифметикалық, қатыстық, логикалық, жолдық т.б.болып бөлінуі оларда қолданылатын операнда мен амал типіне байланысты. Өрнек арқылы есептелінетін мәннің типі оған қолданылатын операндалардың типі мен қолданылған амалдардың белгісі арқылы анықталады.
Операциялар унарлы және бинарлы болып бөлінеді. Бірінші жағдайда операция бір операндыға қатысты болып, ардайым оның алдында жазылады. Екіншісінде операция екі операнданың арасындағы қатынасты көрсетіп, ортасына жазылады.
Мысалы, -А - унарлы , Х+У – бинарлы операция.
Паскаль тіліндегі арифметикалық өрнек және операциялар. Арифметикалық өрнек дегеніміз арифметикалық типті операндалардан,
арифметикалық операциялардың белгісінен, дөңгелек жақшалар тұратын өрнек. Есептеу реті жақшалармен, операция улкендігімен анықталады. Арифметикалық өрнек бүтін немесе нақты мәнді тудырады. Арифметикалық өрнектердің қарапайым формалары мыналар:
1) Бүтін немесе нақты тұрақты амал белгісінсіз;
2) Бүтін немесе нақты айнымалы;
3) Бүтін немесе нақты типті массив элементі;
4) Бүтін немесе нақты мән қабылдайтын функция.
Айнымалының мәні немесе массив элементі арифметикалық өрнектен бұрын анықталу қажет. Өзге арифметикалық өрнектер жоғарыда айтылғандай дөңгелек жақшалар мен арифметикалық операцияларды қолдану арқылы құрылады.
Арифметикалық операциялар өрнекте нақты және бүтін типтегі операндалардың мәндеріне арифметикалық амалдар қолданады. Ол 1-ші кестеде көрсетілген.
Кесте1 . Паскаль тіліндегі арифметикалық операциялар
Амалдар |
Амал аты |
Операнда типтері |
Нәтиже типтері | ||
+ |
Қосу |
бүтін |
бүтін | ||
- |
Азайту |
нақты |
нақты | ||
* |
Көбейту |
бүтін |
бүтін | ||
/ |
Бөлу |
нақты |
нақты | ||
Div |
Бүтіндей бөлу |
бүтін |
бүтін | ||
mod |
Қалдықпен бөлу |
нақты |
нақты | ||
AND |
Арифметикалық және |
бүтін |
Нақты | ||
SHL |
Солға жылжу |
нақты |
нақты | ||
SHR |
Оңға жылжу |
бүтін |
Бүтін | ||
OR |
Арифметикалық немесе |
бүтін |
Бүтін | ||
XOR |
Қысқартылған дизъюнкция |
бүтін |
бүтін | ||
Информация о работе Си және Паскаль бағдарламалық тілдеріне синтаксистік анализ жасау