ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖЈНЕ ҒЫЛЫМ МИНИСТРЛІГІ
шјкјрім атындағы семей мемлекеттік университеті
|
3 деңгейлі СМК құжаты
|
ПОЈК
|
ПОӘК 042-39.1.14/03-2013
|
«Программалау тілдері және технологиялары» пәнін оқыту-әдістемелік кешені
|
№1 басылым 18.09.2013ж
|
«Программалау тілдерінің технологиясы»
пјнін оқу-әдістемелік кешені
5В060200 – «Информатика» мамандығына арналған
оқу-әдістемелік материалдар
Семей
2013
Мазмұны 1. Дәріс сабақтары
2. Машықтану сабақтары
3. Зертханалық сабақтар
4. Студенттің өздік жұмысы
Дәріс сабақтары 1 апта
Тақырып 1. Персоналды компьтердің программалық құралдары.
Тақырып 2. Программалау методологиясы
Дәріс жоспары
-
ПК-дің программалық қамсыздандыруы (ПҚ)туралы ұғым.ПҚ түрлері.
-
Программалау түрлері.Программалау ілдерінің дәрежелері. Трансляция. Трансляторлар.
-
Программалау тілдерінің кезеңдері.
-
Программалау жүйелері.
-
Программаларды өңдеу сатылары.
-
Алгоритмдік программалау.
-
Құрылымдық программалау.
Дәрістің қысқаша конспектісі
1. Программалық қамсыздандыру
Программа — бұл компьютерді басқаруға қажетті командалардың логикалық реттелген тізбегі(онымен нақты операцияны орындауға арналған)
ПҚ- компьютерге арналған программалар жиыны.
Программалық қамсыздандыруды орындайтын функцияларына сәйкес 3 топқа бөлуге болады:
1. жүйелі (базалық) ПҚ
-
қолданбалы ПҚ
-
құрылғылар ПҚ
2. Программалау тілдері. Трансляторы
Программалау тілдері– бұл компьютердің көмегімен есепті шешу алгоритмін сипаттауға арналған құрылған жасанды тіл.
Барлық программалау тілдерін төмен және жоғары дәрежелік программалау тілі деп бөлуге болады.
Төмен дәрежелі программалау тілі аппаратураның анықталған түріне арналған. Программаны құру микропроцессордың архитектурасын және компьютердің құрылғыларын жақсы білуді талап етеді. Бұндай тілдегі программа машина тілінде жазылған қарапайым командалардан тұрады. (Мысалы, Ассемблер тілі)
Жоғары дәрежелі программалау адамға жақын анықталған жүйе көмегімен компьютерге команда беруге мүмкіндік береді. (Мысалы, Бейсик, Паскаль, Фортран, Си)
Трансляторлар
Жоғары дәрежелі программалау тілінде жазылған программа мәтіні компьютерге түсінікті емес, сондықтан оны машина тіліне аудару керек.
Программаны жоғары дәрежелі программалау тілінен машиналық код тіліне ауыстыру трансляция деп аталады. Бұл аударулар арнайы программалармен –трансляторлармен жүзеге асады.
Трансляторлар компиляторлар және и интерпретаторларға бөлінеді.
Компилятор барлық программаны машина тіліне аударады , содан кейін оны орындайды..
Интерпретатор командалық ауыстыру орындайды және шығатын программаны орындайды.
3. Программалау тілдерінің кезеңдері
Программалау тілдерін бес кезеңге бөледі. Бірінші кезеңге 50- жылдардың басында компьютер алғаш пайда болғанда пайда болған тілдер жатады. Ол «бір инструкция-бір жол» принципі бойынша құрылған ассемблердің бірінші тілі болып табылады. Екінші кезеңнің өрлеуі 50-жылдардың соңы мен — 60-жылдардың басында болды. Онда айнымалы ұғымы пайда болған , символдық ассемблер құрылған. Ол программалау тілінің бірінші толық дәрежелі тілі болды.Программалау тілінің үшінші кезеңі 60- жылдарды қатиды. Бұл кезде кез келген облыстағы есептерді шешетін жоғары дәрежелі әмбебап тіл пайда болды. 70-жылдардың басынан бүгінге дейін программалау тілінің төртінші кезеңі.
Бұл тілдер үлкен көлемді проектілерді жүзеге асыруға арналған. Олар әдетте арнайыланған қолдану обылысына бағытталған, онда әмбебап тілдерді емес, пәндік облыстың нақты ұғымдарын операциялайтын мәселеге бағытталған тілдерді қолдану арқылы жақсы жетістіктерге жетуге болады. Бесінші кезең тілдерінің пайда болуы 90-жылдардың ортасында.Оларға программалауды білмей,өңдеудің визуалды құралдары көмегімен құрылған қолданбалы программаларды автоматты құру жүйесі жатады. Бұл тілдерге қолданылған басты идея әмбебап программалау тілдерінде нәтижелі мәтінді автоматты түрде түрлендіру мүмкіндігі(оны артынан компиляциялау қажет).
4. Программалау жүйесі
Программа құру құралы
Жалпы жағдайда программалаудың таңдалған тілінде программа құру үшін, келесі компоненттер болу керек:
1. Мәтіндік редактор. Программаның мәтіні ағылшын сөздерінен және стандартты символдардан тұратын кілттік сөздер арқылы жазылғандықтан, бұл мәтінді нәтижесінде негізгі мәтін алатындай кез келген редакторда түрлендіруге болады. Жақсысы программалаудың нақты тіліне бағытталған және мәтінді енгізу прцесінде кілттік сөздер мен идентификаторларды түрлі түстер мен және қаріптермен ерекшелейтін арнайыланған редакторды қолдану.
2. Программы-компилятор арқылы негізгі мәтін машина кодына ауысады. Әдетте компилятор аралық
объектілі кодты береді (екілік файл, стандартты кеңейтілімі.OBJ).
3. Үлкен пограмманың негізгі мәтіні бірнеше модульдерден тұрады( негізгі мәтін файлдарынан), сондықтан барлық мәтіндерді бір файлда сақтау ыңғайсыз. Әр модуль жекеленген файлға обьектілі код арұылы компиляцияланады. Оларды кейінірек бір бүтінге біріктіру қажет .
Сонымен қатар, оларға әртүрлі стандартты функцияларды жүзеге асыратын ішкі программаның машиналық кодын қосу керек (мысалы, математикалық функцияларды есептейтін sin немесе ln функциялары). Ондай функциялар компиляторлармен бірге жүретін библеотекаларда саталады(стандартты кеңейтілімі.LIB болатын файлдарда ).
Обьектілі код обьектілі модульдер мен стандартты функциялардың машиналық кодын библеотекадан тауып, байланыстыратын арнайы программамен өңделеді— байланыстар редакторімен немесе жинақтаушымен, және шығысында жұмыс істеуге жарамды қосымша — орындаушы код құрады.
4. Орындаушы код— бұл осы программа арналып құрылған операциялық жүйесі орнатылған кез келген копьютерде орындауға жіберуге болатын аяқталған программа. Ереже бойынша соңғы программаның кеңейтілімі .ЕХЕ.
Программалаудың интеграцияланған жүйелері
Сонымен, программаны құру үшін:
-
мәтіндік редактор;
-
компилятор;
-
байланыстар редакторы;
-
функциялар библиотекасы
қажет.
5. Компьютерде есепті шешудің негізгі сатылары.
1. Есептің математикалық қойылымы:
а) не берілген–негізгі берілгендерді есептеу;
б) не алу қажет– нәтижені есептеу;
в) негізгі берілгендердің мүмкіндігінің шарты.
2. Математикалық модельді құру – нәтиже алу үшін қажеттілердің барлығы ережелер мен заңдар.
3. Шешу әдісі– қолда бар математикалық моделдерді оптималды қолдану.
4. Есептің алгоритмизациясы– математикалық сипаттау негізінде шешу алгоритмін құру.
5. Программалау– компьютерде алгоритмді орындау мүмкіндігін қамтамасыз ететін программа құру.
6. Программаны және негізгі берілгендерді ЭЕМ– ға енгізу.
7. Программаны тестілеу және жөндеу. Бұл этапта алгоритмді ЭЕМ– нің көмегімен орындау орындалады, іздеу және қатенің болмауы.
8. Жөнделген программаны орындау және нәтижені талқылау.
6. Алгоритмдік (модульдік) программалау
Алгоритм — бұл есепті әрекет ету кезегін уақыт бойынша соңғыға бөлу жолы арқылы шешу әдісінің формальді сипатталуы.
Алгоритмдік программалаудың негізгі идеясы— программаны әр қайсысы бір немесе бірнеше әрекетті орындайтын модульдердің жүйелілігі бойынша бөлу. Модульге қойылатын басты талап— оның орындалуы әрқашан бірінші командадан басталып, соңғы командадан аяқталатындай болуы керек. Таңдалған программалау тіліндегі алгоритм берілгендерді сипаттау, мәндерді есептеу және программаның орыдалуының кезектілігін басқару командасы көмегімен жазылады.
7. Құрылымдық программалау
Ішкі программалар
Өлшемі бойынша орташа қосымшаларды құрғанда (бірнеше мың негізгі код жолдары) негізгі мәтіннен шешу алгоритмі көрінетін, программа құрылымы шешетін есептің құрылымына әсер ететін құрылымдық программалау қолданылады.Ол үшін программаны тек үш қарапайым оператордың көмегімен ғана емес, алгоритмнің нақта құрылымын бейнелейтін құралдар көмегімен құру керек. Осы мақсатта программалауда ішкі программа ұғымы енгізілген. Ішкі программа— қажеттіәрекеттерді орындайтын және негізгі кодтың басқа бөліктеріне тәуелсіз операторлар терілімі. Программа әрқайсысы негізгі тапсырма қарастырған әрекеттердің біреуін орындайтын көптеген ішкі программаларға бөлінеді(50 —ге дейінгі оператордан тұратын — ішкі программаның мақсатын жылдам түсінуге арналған). Осы ішкі программаларды комбинациялау арқылы қарапайым операторлардан емес, аяқталған блок кодтарынан тұратын, анықталғн мәнді жүктемеден тұратын қорытынды алгоритмді құруға болады, сонымен қатар ондай блоктарға атымен байланысуға болады. Сонымен, ішкі программалар— бұл программистер анықтаған тілдің жаңа операторлары немесе операциялары . Ішкі программаларды қолдану мүмкіндігі программалау тілін процедуралық тілдерге жатқызады.
Өзін –өзі тексеру сұрақтары
-
Программа деген не?
-
ПК –дің ПҚ –ы деген не?
-
ПҚ –дың қандай түрлері бар?
-
Программалау тілі деген не?
-
"Төменгі дәрежелі программалау тілі " және " жоғарғы дәрежелі программалау тілі " терминдеріне түсінік беріңдер.
-
Трансляция, трансляторлар деген не?
-
Компиляторлар мен интерпретаторлар арасындағы айырмашылық қандай?
-
Программалаудың кезеңдері қандай?
-
Программалау жүйесі деген не?
-
Программаны өңдеудің сатылары?
-
Алгоритмдік программалу деген не?
-
Құрылымдық программалау деген не?
8.1. Негізгі әдебиеттер
1. Нейбауэр А. Моя первая программа на С/С++ /Перев. с англ. – СПб: Питер, 1995
2. Подбельский В.В., Фомин С.С. Программирование на языке СиЖ Учеб. пособие. – 2-е доп. изд. – М.: Финансы и статистика, 1999
3. Информатика. Базовый курс. 2-е издание / Под ред. С.В. Симоновича. – СПб.: Питер, 2005
8.2. Қосымша әдебиеттер
1.Дейтел Х., Дейтел П. Как программировать на Си. – М.: Бином, 2000
2. Мейер Б., Бодуэн К. Методы программирования. Т. 1 и 2. – М.: Мир, 1984
2 апта
Тақырып 3. Программалау технологиясы негіздері
Дәріс жоспары
-
ПҚ –ды проектілеу әдістері. Программаны проектілеу.
-
Обьектіге бағытталған программалау ұғымы.
-
Программалау қызмет түрі ретінде.
-
Программалаудың экономикалық аспектісі.
-
ПҚ – ды өңдеу периоды.
-
Сапаны бақылау.
Дәрістің қысқаша конспектісі
1.ПҚ – ды проектілеу әдісі
Ішкі программаның бар болуы проектілеуді жүргізуге және қосымшаны жоғарыдан төменге қарай өңдеуге мүмкіндік береді. Алдымен ең көлемді есептерді шешетін(мысалы, берілгендер инициализациясы, негізгі бөлім және аяқталуы) бірнеше ішкі программа ерекшеленеді, содан соң, сол модулдердің әрқайсысы төменгі дәрежеде бөлшектелінеді, өз кезегінде басқа кішкене ішкі программаларға бөлінеді және барлық тапсырма жүзеге асқанша солай болады. Ішкі программаның негізгі сипаттамасы— ол оны қайта тексеру мүмкіндігі. Программалаудың интеграцияланған жүйелерімен бірге жиі қолданылатын ішкі программаларды құруға арналған өзгелердің жұмысын қолдану арқылы еңбек өнімділігін жоғарылату үшін стандартты ішкі программалардың үлкен библеотекалары қойылады.
2. Объектіге бағытталған программалау
Обьект ұғымы
Құрылымдық және оқиғалық программалық дамудың идеясы программистердің еңбегінің өнімділігін арттырды және жолдарда (бірнеше айларда) жүз мыңдаған жолдардан тұратын қосымша құруға мүмкіндік береді. Бірақ та мұндай үлкен көлем адам мүмкіндігінің шегіне жетті, және программаны өңдеудің жаңа технологиялары қажет болды.
80- жылдардың басында программалауда обьект ұғымына негізделген жаңа бағыт пайда болды. Әлемді қоршаған нақты обьектілер үш базалық сипаттамаладан тұрады: олар әр түрлі әдістермен қасиеттерін өзгете алатын және қоршағн әлемде, сонымен қатар обьектінің ішінде болып жатқан оқиғаларға әсер ететін қасиеттер жиынынан тұрады. Нақ осы түрде программалау тілінде қасиеттер жиыны(осы обьектіге сәйкес берілгендер құрылымы), оларды өңдеу әдістері (қасиеттерді өзгерту ішкі программасын) және оқиғалар сияқты сияқты обьект ұғымы жүзеге асқан.
3. Программалау қызмет түрі ретінде
Бірінші компьтерлердің пайда болуы программалауды ғалым ретінде қайта жандандырды.Ақпаратты өңдеудің, программаның дұрыстығын дәлелдеудің құрылғылары, код оптимизациясы, тиімді компиляторды құру, формальді тестілеу және т.б бірінші математикалық теориялар құрылды. Содан кейін, үшінші кезеңнің әмбебап программалау тілінің пайда болуымен, бұл аспектілер аса өзекті емес болып қалды , негізгі мәтіндерді автоматты генерациялау облысына негізделген зерттеулер жүргізу және компилятодың тиімділігін жоғарылату.Программалау өнерге айналды — арнайы білімдері жоқ миллиондаған адамдар өздерінің қолданбалы есептерін шешу үшін компьютерді қолданану мүмкіндігіне жетті, ол олардан дұрыс жұмыс істейтін программаны талап етпеді . Программалау өнері бүгінгі таңда білікті өңдеушілер үшін де, қызығушылар үшін де жекелеген шеберлік болып табылады.
Сонымен қатар, мемлекет тарапынан да , жеке ұйымдар тарапынан да кәсіпорынды автоматтандыруды күрделендіруге, сенімді операциялық ортаға, глобальді телекоммуникационды басқару комплексіне деген сұраныс көбейген сайын , программалық қамсыздандыруды өңдеу процесінің қойылымын программалауды кәсіпке айландырған лекке айландыру қажеттілігі туындады.
4. Программалаудың экономикалық аспектісі
Бірінші компьютерлер пайда болғанда, олардың бір минут жұмыс істеуінің өзі қымбат тұрды, ал тек өте оңай есептер ғана шешілді, сондықтан программа құрудағы еңбек оның аз ғана бөлігін алды. ПК пайда болуымен және үлкен программалық жүйелерге сұраныс көбейісімен барлық шығын программистің жұмысына төленді. Осындай проектілердің көбі сәтсіз аяқталды, ал оларға кететін шығындар өте көп болғандықтан, бүгінгі таңда сапалы программалық қамсыздандыруды уақытында және бюджет рамкасында құру өте қажет болып табылады. Кәсіпорынның программалық қамсыздандыру метадологиясын тиімді құру үшін барлық дамыған елдердің программистері жұмыс атқаруда.
5. Программалық қамсыздандыруды өңдеу периоды
ПҚ-дың классикалық периодын қарастырайық.
-
Проектіге қойылатын талаптар қалыптасып, талданады. Проектіге қойылатын талаптың қате болуы артық жұмыс істеуге әкеп соғатындықтан,бұл саты өте маңызды болып табылады. Ал күрделілікті дұрыс бағаламау уақыт пен құралдардың артық шығынына әкеп соғады. Бүгінгі таңда талапты даярлау сатысында кеткен қатеден көлемді проектілердің 60% -ы сәтсіздікпен аяқталады. Әр түрлі әдіс бойынша қойылатын талаптардың негізінен проектінің көлемі және оның еңбек сиғыштығы, болашақта кететін еңбек шығындары және оның бағасы анықталады. Проектіге қойылатын талап жұмыс барысында өзгеруі және нақтылануы мүмкін болғандықтан, ал талаптың орындалуын қадағалау керек болғандықтан, талаптарды басқару үшін арнай прграммалар қолданылады. Әдетте тапсырыс беруші өзіне не қажет екенін түсіндіре алмайды, ал жүйелік талдаудағы мамандардың тапсырмасы— талаптарды түрлендіруге жарамды түрде білдіруге көмек көрсету. Содан кейін талаптар ПҚ- ды өңдеу контрактісіне жазылады. Ары қарай өнімге қойылған кез келген талапты бұзу(тапсырыс берушінің жағынан да, орындаушы жағынан да) контракті бұзу болып саналады. Бұл этапағы жұмыстың көлемінің шамасы — барлық проектінің 5% —н құрайды.
-
Автоматизация обьектісін проект алды тексеруі басталады. СASE- құралы көмегімен оның жұмысының формальді моделі, деректер базасының, обьектілер және ақпарат ағымының моделі құрылады. Бұл этапта тапсырма құрылатын пәндік облыспен жақсы таныс тапсырыстың мамандары және сарапшылары жұмысқа тартылады. Бұл этапағы жұмыстың көлемінің шамасы — барлық проектінің 10% —н құрайды.
-
Формальді модель негізінде программистер үшін нақты техникалық тапсырма, жекеленген модулдердің спецификациясы , деректер базасының кестесі, басқа жетекші құжат құрылады. Жұмыстың нақты жұмыс жоспары дайындалады, онда барлық жолдар, нақты орындаушылар және орындалатын жұмыс көлемі( апта бойынша, ай бойынша) көрсетіледі. Бұл этапағы жұмыстың көлемінің шамасы — барлық проектінің 10% —н құрайды.
-
ПҚ –ның өңдеу методологиясы таңдалады және өңдеу басталады (кодтау). Өңдеу процесінде қажет:
-
Талаптың жүзеге асуының дұрыстығын білу үшін, тапсырыс берушімен үздіксіз кері байланыста болу;
-
Жоспар бойынша жұмыстың жүруін үздіксіз бақылау және бас тартулар болған жағдайда шұғыл шаралар қабылдау;
Бұл этапағы жұмыстың көлемінің шамасы — барлық проектінің 10% —н құрайды.
-
Программа аяқталған соң(жұмыс істеуге дайын альфа-версия ) ол қатенің барын тексеретін және табылған қатені пограммистке хабарлайтын орындаушы компанияның тестеріне түседі. Талданады, дебес жағдайда , критикалық немесе дұрыс емес мәндерді енгізгенде, ақпараттың жоқтығынан, аппаратураның жаңылуынан, стрессті режимдерде және т.б жағдайларда программа жұмысының беріктігін талдайды. Анықталған уақытта (апта, ай) пайда болған қате саны эксперементальді таңдалған дәрежеге дейін т төмендеген кезде(балама проектілер негізінде), тапсырыс берушіде бета-тестілеу басталады. Бұндай тесілеуге қызеткерлердің максималды саны жұмылдырылады, және программа жұмыс режимінде бөліктей функционалдана бастайды. Бұл этапағы жұмыстың көлемінің шамасы — барлық проектінің 10% —н құрайды.
-
Тапсырыс берушіні өнім сапасы қанағаттандырған кезде, оны ендіру—эксплуатацияға жіберуге дайындық басталады. Егер қосымша көп қолданушылық болса, көп жағдайда желіні түрлендіру және баптау керек, сервер орнату, қосымша программаларды жүктеу керек болады. Көптеген қызметкерлер бірігіп құрған және әртүрлі фирмалардан сатылынып алынған (құралған автоматтау деп аталатын) ескі программалардан(мысалы, бухгалтерлік есепке алу, еңбек ақыны есептеу, қызметкерлермен жұмыс) жаңа интеграцияланған жүйеге көшу кезінде өте көп мәселелер туындайды, өте қажетті ақпараттарды: барлық бухгалтерлік және финанстық есеп берулерді, сақтаудағы құралдар туралы ақпарат және т.б. салыстыра тексеру, енгізу, тасымалдау керек болады. Бұл саты ең еңбекті көп қажет етеді және барлық проектімен жұмыс уақытының 90% -на дейінін алуы мүмкін .
-
Жаңа жүйе жұмысқа дайын болғаннан кейін, тапсырыс беруші компанияның жұмысшыларына осы жүйемен жұмыс істеуді үйрету керек, себебі ол туралы кітап жазылмаған және нақты кәсіпорынға ендірілген бұл жүйенің жұмыс спецификациясымен байланысты кемшіліктері көп. Оқытуға кететін еңбек шығыны барлық проектке кететін еңбек шығынының — 5% — ын құрайды.
-
Тапсырыс беруші қабылдау актісіне қол қойған соң, проект аяқталған болып есептеледі, бірақ, орындаушымен байланыс жоғалмайды. Әдетте бастапқы уақытта жүйемен жұмыс кезінде қолданушыларда онымен байланысты біраз сұрақтар туындайды. Жөндеуге керек қателерден де қашып құтылу мүмкін емес. Сонымен қатар, орындаушы жүйенің жаңа версияларын да шығара алады және ескі жүйені жаңарту керек болады. Жүйеге қызмет көрсетуге тапсыс берушімен бірлесу деп аталады. Ол анықталған кепілдік уақытына дейін тегін.(мысалы, бір жыл)
Құру циклындағы программалау мен жөндеудің (тестілеудің) нақты көлемі көп емес. Ол барлығы жалпы көлемнің 10-20% - ын құрайды.
6. Сапаны бақылау
Проект үлкен болған сайын, қате де көп болады.Сонымен қатар, сатыны көп созуға болмайды— мерзім бұзылады, тұтынушылардың реніші туындайды және нарыққа эксплуатация кезінде жөнделетін, қатесі көп " шикі" жүйе жіберіледі .
Сенімді ПҚ-дың қазіргі технологиялары құрылатын өнімді тестілеу сатысында ғана емес, оны құрудың барлық этаптарсатыларында — талаптарды талдаудан бастап ендіру сапасын үздіксіз тексеруден өткізуді қамтамасыз етеді.
ПҚ сапасының стандарттары
Компания ПҚ –ды өңдеудің өте тиімді процесін ұйымдастыра алады, бірақ, тапсырыс берушінің сенбеуі де мүмкін. Берілген комания программалық өнімдерді уақтылы және жоғары сапада орындайды деген , ISO 9000 сапа стандарты бойынша компаниялардың халықаралық серификат жүйесі бар. Сертификация процессі өте күрделі және бірнеше жылдық даярлық жұмысын қажет етеді.
АҚШ – тағы Карнеги-Меллона университетінде бірнеше жыл бұрын ПҚ өңдеу процесінің 5 "жетілдіру" дәрежесінің бірі бойынша компанияларды сертифификаттайтын, СММ (Capability Maturity Model for Software), арнайы методологиясы өңделген. АҚШ – тың қорғаныс Министрлігінің 20-жылдық зерттеулеріне сәйкес үлкен ақпаратты проектілерді құрудағы сәтсіздіктердің көбі ПҚ-ларды құру процесіндегі менеджерлердің процесті басқара алмауы.
Ортақ критерийлер негізінде компания жұмысының сапалылығын растайтын ISO 9000 стандартына қарағанда, СММ методологиясы өңдеу процесін сапалы басқаруға бағытталған және онда ПҚ-ды құрудың барлық сатыларын ұйымдастыру әдістерінің нұсқаушылары мен ұсыныстарының жиыны бар.
Өзін – өзі тексеру сұрақтары
-
Құрылымдық программалау деген не?
-
Программалаудың экономикалық аспектілері қандай?
-
ПҚ – ны өңдеу периодының қандай сатылары бар?
-
Программаның сапасын тексеру сатысында не болады?
8.1. Негізгі әдебиеттер
1. Нейбауэр А. Моя первая программа на С/С++ /Перев. с англ. – СПб: Питер, 1995
2. Подбельский В.В., Фомин С.С. Программирование на языке СиЖ Учеб. пособие. – 2-е доп. изд. – М.: Финансы и статистика, 1999
3. Информатика. Базовый курс. 2-е издание / Под ред. С.В. Симоновича. – СПб.: Питер, 2005
8.2. Қосымша әдебиеттер
1.Дейтел Х., Дейтел П. Как программировать на Си. – М.: Бином, 2000
2. Мейер Б., Бодуэн К. Методы программирования. Т. 1 и 2. – М.: Мир, 1984
3 апта
Тақырып 4. Си тілінің жалпы сипаттамасы. Си программалау жүйесіне кіріспе
Дәріс жоспары:
-
Алфавит, идентификаторлар, қызметтік сөздер.
-
Айнымалылар мен тұрақтылар.
-
Берілгендер типтері.
-
Си тіліндегі программаның құрылымы.
-
Си программалау жүйесі.
Дәрістің қысқаша конспектісі
1. Алфавит, идентификаторлар,қызметтік сөздер
Алфавит. Си тілінің алфавитіне келесілер кіреді:
-
Латын алфавитінің жазулық және жолдық әріптері (A,B,...,Z, a, b,..., z)
-
Сандар: 0,1,2,3,4,5,6,7,8,9
-
Арнайы белгілер: " , { } | [ ] () + -• / % \ ;'.:?<=>_!&* # ~ ^
-
Лексемдерді бір бірінен бөлуге арналған бейнеленетін символдар (мысалы, пробел, табуляция, жаңа жолға көшу).
Комментарилерде, жолдарда және символдық тұрақтыларда басқадай литерлер де қолданылады (мыслы, орыс әріптері).
Комментарий сол жағынан /* белгісімен , оң жағынан */ белгісімен шектелген , белгілердің (символдардың) кезектілігі ретінде құрылады. Мысалы:
/* Бұл комментарий */
Си стандартты тілінде коментрийді бірінің үстіне бірін жазуға тиым салады, яғни мынадай жазу
/* мәтін -1 /* мәтін-2 */ мәтін-3 */
" мәтін-3" коментарийге есептелмейді.
Си тілінде лексемнің алты класы бар: еркін таңдалынатын және қолданылатын идентификаторлар, қызметтік (кілттік) сөздер, тұрақтылар,жолдар (жолдық тұрақтылар), операциялар (операция белгілері), бөлгіштер (пунктуация белгілері).
Идентификатор. Әріптердің кезектілігі, сандар және сызық символдары "_", әріптен немесе сызу символынан, Си тілінің идентификаторы.Жазулық және жолдық әріптер арасында айырмашылық бар. Идентификаторлардың ұзындығы әр түрлі, бірақ, компилятор идентификатордың басынан бастап, 31-го символдан артық оқымайды. Кейбір компиляторларда бұл шектеулер одан да қатаң, кез келген идентификатордың тек бастапқы 8 символы ғана оқылады. Бұндай жағдайда NUMBER_OF_ROOM және NUMBER_OF_TEST идентификаторлары программада айырылмайтындай болады.
Қызметтік (кілттік) сөздер. Программист таңдай алатын ерікті сөздерге жатпайтын, тілде тіркелген идентификаторларттік қызметтік сөздер деп аталады. Қызметтік сөздер берілгендердің типін, жады кластарын, типтің квалификаторын, модификаторды, псевдоайнымалыларды және операторларды анықтайды.
2. Айнымалылар, тұрақтылар
Программа берілгендерді өңдеуге арналған. Берілгендер айнымалылар және тұрақтылар болып екіге бөлінеді.
Тұрақтылар – программаны өңдеу процесінде өзінің мәнін өзгертпейтін берілгендер.
Айнымалылар – программаны өңдеу процесінде өзінің мәнін өзгертетін берілгендер.
Тұрақтылар
Бүтін тұрақтылар. Тілдің синтаксисі бүтін константаларды анықтады: ондық, он алтылық және сегіздік.
-
Бүтін ондық нөлден басталмайтын ондық сандардың кезектілігі ретінде жазылады: 44, 684, 0, 1024
-
Нөлден басталатын және 7 ден үлкен емес ,ондық сандардан тұрмайтын сандардың кезектілігі сегіздік тұрақты ретінде қабылданады: 016 – 14 ондық бүтін санының сегіздік санау жүйесіндегі мәні.
-
Алдында 0х немесе 0Х символдары жазылған он алтылық сандардың кезектілігі (0, 1,..., 9 ,А, В, С, D, Е, F), он алтылық тұрақты деп есептеледі:
-
0х16 – 22 ондық бүтін санының он алтылық санау жүйесіндегі мәні;
-
0XFF – 255 ондық бүтін санының он алтылық санау жүйесіндегі мәні.
Нақты тұрақтылар. Нақты (бүтін емес) сандарды жариялау үшін, ЭЕМ– нің жадысында жылжымал нүкте түрінде көрсетілетін тұрақтылар қолданылады. Әр бір нақты тұрақты келесі бөліктерден тұрады:
-
Бүтін бөлігі (ондық бүтін тұрақты);
-
Ондық нұкте;
-
Бөлшек бөлігі (ондық бүтін тұрақты);
-
"е" немесе "Е" көрсеткіш белгісі;
-
Ондық дәреже көрсеткіші ( таңбасы бар болуы мүмкін ондық бүтін тұрақты).
Жылжымалы нүктелі тұрқтыны жазу кезінде бүтін немесе бөлшек бөлігі түсуі мүмкін(бірақ, бір уақытта емес); ондық нүкте немесе дәреже көсеткішімен экспонента символы(бірақ, бір уақытта емес); Жылжымалы нүктемен тұрақтының мысалы: 44., 3.14159, 44е0, 3.14159E1, 0.0
Символдық тұрақтылар. Ішкі жеке кодтары бар жекеленген белгілерді бейелеу үшін символдық тұрақтылар қолданылады. Әр символдық тұрақты– бұл символмен бейнеленген және опострофпен шектелген лексема. Мысалы: 'А', 'а', 'В', '8', '0', '+', ';' және т.б.
Жолдық тұрақтылар. Жолдар формальді түрде Си тілнің тұрақтылары болып табылмайды (стандарттқа сай), тек оның лексемаларының жекеленген типтері.Олар үшін әдебиеттерде тағы бір "жолдық литералдар" атауы қолданылады. Жолдық тұрақтылар екі тырнақшаға алынған (апострофқа емес)символдардың кезектілігі ретінде анықталады: "Жолдың үлгісі "
Жол символдарының ішінде эскейп-кезектілік болады, яғни , бейнеленбейтін символдарына және олардың ішкі кодтарымен берліленген символдарына сәйкес белгілердің сәйкестігі . Бұндай жағдайда да, жекеленген симводық тұрақтыларды жариялағандағы сияқты, оладың бейнеленуі кері қисық сызықтан басталады: '\': "\n Мәтін \n дисплейдің 3-ші жолында \n орналасады "
ЭЕМ –нің жадысында жолдық тұрақтыларды жариялау келесі ережелерге сүйенеді. Барлық жолдық символдар қатар орналасады және әр символ (сонымен қатар эскейп-кезектілікпен жарияланған) 1 байт орын алады. Жолдық тұрақтыны жазудың соңына компилятор '\0' символын орналастырады.
Сөйтіп, жолдың мәнін жариялау үшін ЭЕМ – нің жадысында бөлінген байттар саны 1-ге тең және бұл жол тұрақтысын жазудағы симводардан көп.
Айнымалылар
Си тілінің негізгі ұғымының бірі жадының аталған аумағы обьектісі. Обьектінің дербес жағдайы - айнымалы. Айнымалының ерекшелігі оның әртүрлі мән атымен байланыс мүмкіндігі. Айнымалының мәнін оған сәйкес жады аумағында берген кезде осы мәннің коды орналастырылады . Айнымалының мәніне рұқсат алу оның атын қамтамассыз ету, ал оның жады аумағына рұқсат алу оның адресі бойынша ғана мүмкін. Айнымалы ұғымын "атауы- мәні" түрінде интерпретациялауға болады.
3. Берілгендер типі
Берілгендер типі– рұқсат етілген операциялардың анықталған жиынын біріктіретін өлшемдер жиыны.
Берілгендердің негізгі типтері
Берілгендер типі
|
Өлшем, бит
| |
Достарыңызбен бөлісу: |