Программалау тілдері - жасанды тілдер


№8 Билет
1. Бағдарламалаудың тілдері мен әдістері. Программаны жобалау. Өндеу әдістері. Жобалау әдістері.
2. «Графикалық редактор» атты сабақ тақырыбын оқыту әдістемесі.
1. Алгоритмді компьютерге программалау тілдері түсінікті етіп көрсете алады. Алдымен әрқашан да алгоритм әрекеті әзірленеді, сонан кейін ол мұндай тәсілдердің бірінде жазылады. Жалпы қорытындысында программа мәтіні - толықтай аяқталған, алгоритмді программалау тілінде бүге-шігесіне дейін сипаттаған күйінде пайда болпады. Содан соң программаның бұл мәтіні транслятор деп аталатын арнайы қызмет қолданбаларымен өңдеуден өтеді немесе машина кодына аударылады, не болмаса орындалады.
Программалау тілдері - жасанды тілдер. Олардың табиғи тілдерден айрмашылығы - мағынасы трансляторға түсінікті болатын әрі жазу командасының (операторлардың) қатаң ережесіне бағынатын «сөздері» шектеулі болады. Мұндай талаптардың жиынтығы программалау тілінің синтаксисін қалыптастырады, ал әрбір команданың және тілдің басқа да конструкциясы (құрылымы) - оның семантикасын қалыптастырады. Программаларды жазудың формасы бұзылатын болса, бұл транслятордың оператор міндетін түсінбей қалуына әкеп соғады және синтаксистік қате туралы хабарлайды, ал команда тілін пайдалануға қажетті алгоритмге жауап бере алмайтын дұрыс жазу семантикалық қателікке (оны логикалық қателік немесе орындау уақытындағы қателік деп те атайды) ұрындырады.
Программалау тілінің көмегімен дайын программа емес, оның бұрын әзірленген алгоритмді суреттейтін мәтіні ғана жасалады. Жұмыс істейтін программаға қол жеткізу үшін бұл мәтінді автоматты түрде машина кодына ауыстыру керек (бұл үшін компилятор - программасы пайдаланылады), содан соң оны бастапқы мәтіннен бөлек пайдалану қажет немесе программа мәтінінде көрсетілген тіл командасын бірден орындау керек (мұнымен интерпретатор - программасы айналысады) .
Процессорлардың әр тұрпаты әр түрлі теру командасына ие. Егер программалау тілі процессорлардың нақты тұрпатына бағдарланып, оның ерекшеліктерін ескеретін болса, онда ол деңгейі төмен программалау тілі деп аталады. Бұл жағдайда «деңгейі төменнің» мағынасы «нашар» деген ұғымды білдірмейді. Бұл арада - тіл операторының машина кодына жақындығы және процессордың нақты командасына бағдарланғаны жөнінде сөз болып отыр. Ең төменгі деңгейдегі тілге Ассемблер тілі жатады. Ол машина кодының әрбір командасын сан түрінде емес, мнемоника деп аталатын символдық шартты белгілердің көмегімен жай ғана көрсетеді.
Алғашқы буындағы ЭЕМ-ның программасын жасау сандар-дың көмегімен ЭЕМ эрекеттерін кодтау ережелерінің жиынтығын білдіретін машина тілінде ғана жүзеге асырылды. Барлық ЭЕМ-ға жазуды қысқарту үшін әдетте сегіздік және он алтылық есептеу жүйелерінің орнын алмастыратын, қос есептеу жүйесі ғана «түсінікті».
Машина тілімен салыстырғанда символикалық кодтаудың машиналық-бағдарланған тілдері ең жоғары деңгейге ие. Символикалық кодтау тілдерін жасаудың негізгі принципі машина кодын олардың қаріптік белгілеуімен (буквенные обозначения) ауыстыру, соңдай-ақ жадында сақтауды және қателіктер диагностикасын бөлу процесін автоматтандыру болып табылады. Мұндай машиналық-бағдарланған тіл Ассемблер тілі деген атауға ие болды. Ассемблер тілінде жазылған программаны машина тіліне аудару транслятордың (аудармашы) -ассемблер деген атауға ие арнайы программаның көмегімен жүзеге асырылады. Алғашқы процедура бағдарлы программалау тілінің (процедурно-ориентированный язык программирование) бірінде Фортран (FORmula TRANslation - формуланы түрлендіру) жатады. Фортран компилирлік тіл болып табылады. Ол осы күнге жетіп қана қоймай, кең таралуы жағынан әлемде алдыңғы орынды бермей келеді. Осылайша ұзақ жасауының көптеген себептері бар. Олардың ішіндегі ең басты себеп -Фортранның өзінің де және оны транслятордың машина кодына айналдыруға арналған құрылымының қарапайым болуында жатыр. Фортран ғылыми және инженерлік-техникалық есептеулер
саласында пайдаланылады.
Фортран тілі программалаудың басқа тілдерін тудырып әрі дамуына зор ықпал ете отырып, өзі де жетілу үстінде дамуын жалғастырып жатыр. Мысалы, Фортран тілі Бейсик (Basic beginners all -purpose symbolic instruction code) сұхбат тілінің негізі етіп алынды.
Бұл тіл әуел баста негізінен программалауды оқытуға арнап жасалған болатын. Бейсик тілінің осы заманғы нұсқасы міндеттерді кәсіби тұрғыдан шешуге мүмкіндік береді.
Алгол-60 (ALGOritmic Language- алгоритмдік тіл) - бұл Фортранға қарағанда әлдеқайда жетік тіл (жетілген тіл) болып табылады. Ол программаның үлкен икемділігі мен сенімділігіне ие.
Экономикалық міндеттерді шешу - (материалдық құндылықтардың, кәсіпорын шығарған өнімдердің, жеке құрамның есебін) XX ғасырдың 60 жылдарында Кобол тілінде орындау қолайлы болды.
Лисп жэне Пролог тілдері өнер интеллектісіне қатысты міндеттерді шешу үшін жасалған. Бұл тілдер мәтіндік (символдық) информацияны өндеуге, логикалық және математикалық міндеттерді шешуге мүмкіндік береді. Мәселен, Лисп тілінің негізінде белгілі Derive математикалық жүйесі әзірленді.
ЛОГО тілін балаларға программалау негіздерін оқыту үшін пайдаланады. Бұл тілдің өзіне ғана тән өзгешелігі - «тасбақа» деп аталатын графикті қолданады.
ЭЕМ-ның екінші буынын әзірлеп, енгізу кезеңінде пайда болған алгоритмдік тілдердің өте көптігін олардың бірде-біреуі әр түрлі міндеттерді қолайлы сипаттап бере алмауымен түсіндіруге болады. ЭЕМ-ның үшінші буыны әмбебеп (универсальный) алгоритмдік тілдерді жасаудың жаңа тәсілін ойлап табуды күн тәртібіне қойды.
Мұндай ұмтылыстардың біріне ІВМ фирмасы тудырған ПЛ/1 (Programming Language) тілін жатқызуға болады. Ол Фортран, Алгол жэне Кобол тілдеріне негізделген.
1971 жылы Алгол-60-қа сабақтас болып табылатын Паскаль тілін сипаттаған жариялым жарық көрді. Оның конструкциясы (құрылымы) ПЛ/1 жэне Алгол-60 құрылымдарына ұқсас, алайда Паскалъдың конструкциясы әлдеқайда қысқа (лаконичный) болды. Паскалъда құрылымдық программалау идеясы жүзеге асырылады. Паскалъ тілінде жазылған программаның жақсы құрылымдануының арқасында күрделі жобаларды әзірлеу кезінде бірнеше программалар бір мезгілде қатар жұмыс істей алады.
70-жылдардың соңында АҚШ Қорғаныс министрлігінің тапсырмасы бойынша Францияда Паскаль негізінде АДА тілі әзірленді. Бұл тіл Ч. Бэббиджеймен жұмыс істеген алғашқы программашы Augusta Ada Byron-ның құрметіне орай осылайша аталды, алайда өте қолайсыз әрі сөзі көп еді.
СИ тілі аса күрделі Ассемблер тіліне жүгінбей-ақ программаны өте тиімді етіп жазуға мүмкіндік бере алатын осы заманғы компьютерлердің мүмкіндіктерін толық бейнелейді. Бұл тілде әйгілі UNІХ операциялық жүйесі жазылған.
Осы заманғы есептеуіш техникаларының дамуы көп процессорлы компьютерлер мен есептеуіш желілердің кеңінен тарауымен сипатталады. Сондықтан да программалы ету саласында кең тараған программаларды (яғни, бірнеше процессорлардың немесе машинаның көмегімен орындалатын программа) әзірлеуде пайдаланылатын тілдер уақыт озған сайын үлкен сұраныс тудырып отыр. Мұндай тілдердің бірі - Linda . Ол деректерді параллельді өндеуге арналған. Linda тілін пайдалану барысында есептеу процесі процессорлардың топтарына бөлінеді. Аталған процестер бір мезгілде бірнеше процессорларда жүзеге асырылып, олардың біреуі басқасымен синхрондалады.
Ада және Линда тілдерінен басқа параллельдік программалаудың басқа тілдері де бар, атап айтқанда, Erlang, Modula, occam .
Объекті бағдарланған тілдерді жасау - программалаудың технологиясын одан ары дамытудың келешегі бар бағыты болып табылады.
Программалаудың алғашқы объекті бағдарланған тілі (объектно-ориентированный язык) - Simula 67 (Симула) . Ол 60-жылдардың соңында моделдеу міндетін шешу үшін Норвегияда жасалды.
Smaltalk тілі - программалаудың ең дамыған әрі куатты объекті бағдарланған тілдердің бірі. Онда объекті бағдарланған тілдердің барлық негізгі белгілері, оның ішінде, деректердің инкапсуляциясы мен полиморфизмі, туындатуы (наследование) .
Делъфи (Dеlрһі) - Borland фирмасы Турбо-Паскал тілінің негізінде жасаған. Программалаудын бұл тілі көбінесе «клиент-сервер» технологиясы бойынша деректер базасымен жүмыс істеуде пайдаланылады. Dеlрһі -де негізгі күш қолда бар программаны барынша көп қайталап пайдалануға жұмсалады. Бұл құрастырушыларға бұрын дайын болған объектілерден қолдан-баларды жасауына, сондай-ақ өздерінің жеке объектілерін әзірлеуіне мүмкіндік береді.
Программаны жобалау.
Модульді программаластыру мақсаты
ПС - программасының әрбірін құруға кірісе отырып, ол үлкен жүйе болып табылатындықтан оңайлатудың жолын қарастыруымыз керек. Осы мақсатта мұндай программаларды бөліктерге бөліп құрады. Бұл бөліктерді программалық модульдер деп атайды. Ал программа құрып, дайындауды осы әдісі модульді программаластыру деп аталады.
Программалық модуль - жеке программалық өкім ретінде дайындалған процессті бейнелейтін (сипаттайтын) кез-келген фрагменті. Бұл мынаны білдіреді:
әрбір программалық модуль басқа программалық модульдерден бөлек, жеке программаланады, компиляция жасалынады және отладка жасалынады, яғни жеке-жеке дайындалады.
Бұндай әрбір бөлек дайындалған программалық модуль, егер оны пайдалану шарты орындалса, онда әртүлі программалардың құрамына енгізілуі мүмкін.
Пайдалану шарты модульдің документациясында келтіріледі.
Осылайша программалық модульді программалардың күрделілігін оңайлату құралы ретінде және программалауда кездесетін қайталануларға қарсы құрал (яғни, көп қайтара қолдануға және жинақтауға болатын құрал) ретінде қарастыруға болады.
Бұған қоса модульді программаластыру жүйе компоненттерінің тәуелсіздігін және иерархиялық құрылымын пайдалануды қамтамасыз етеді.
Модульді программаластыру - программа құрып дайындау процессінде қиындықпен күресудің жалпы екі тәсілінің амалға асырылуы боп табылады.
Бірінші тәсілді амалға асыру үшін программалық модульге қойылатын белгілі бір талаптар анықталады, яғни «жақсы» программалық модульдің негізгі сипаттамалары айқындалады. Екінші тәсілді амалға асыру үшін программаның ағаш түрдегі модульді құрылымын пайдаланады.
Программалық модульдің негізгі сипаттамалары.
Программалық модульдің барлығы да программа құруды оңайлатуға қызмет ете бермейді. Оңайлату тұрғысынан жақсы модульдерді іріктеп алу салмақты шығармашылық мәселе боп табылады. Таңдап алынған модульді қаншалықты қолдануға болатындығын бағалау үшін кейбір критерийлер пайдаланылады.
Мысалы, Хольт мынадай 2 критерийді ұсынған:
- жақсы модуль ішінен гөрі сыртынан жеңіл;
- жақсы модульді құрудан гөрі қолдану оңай.
Майерс программалық модульді бағалаудығ әлдеқайда нақтырақ сипаттамаларын қолдануды ұсынады: модуль көлемі, модуль беріктігі, модуль ілінісуі (басқа модульдермен), модуль байланыстығы (алдыңғы шақыруларынан тәуелсіздігі) .
Модуль көлемі оның ішіндегі операторлардың (қатарлардың) санымен өлшенеді.
Әдетте операторлар саны 10-100 аралығында болсын делінеді.
Үлкен модуль оны үйреніп шығып, өзгерістер енгізуге қиын, программаның қайталанып трансляция жасалу уақытын үлкейтеді.
Тым кіші модульдер программаның і - бұл оның ішкі байланыстарының өлшемі. Беріктігі жоғары болған сайын ол көп ішкі байланыстарды программаның басқа бөліктерінен жасыра алады және осынысымен программаны жеңілдетуге үлес қосады. Модуль беріктігінің деңгейін бағалау үшін Майерс деңгейі бойынша реттелген 7 модульдер классын ұсынады. Ең әлсіз деңгейлі модуль элементтерінің арасында мағыналы байланыс жоқ.
Майерс ұсынған бұл модульдер классының беріктігі бойынша жоғарғы 2 деңгей кері ғана қолдануға ұсынылады. Олар:
- функциональді берік модуль - белгілі бір функцияны орындайтын модуль. Осы функцияны жүзеге асыру барысында басқа модульдерді де пайдалануы мүмкін. Қолдану үшін программалық модульдердің осындай классы ұсынылады.
- информациялық берік модуль - осы модульдің сыртында белгісіз деп есептелінетін бір ғана берілгендер құрылымының үстінде бірнеше операция (функция) орындайтын модуль. Осы операциялардың әрбірінің өз кірісі, шақыру формасы бар. Мұндай классты беріктігі ең жоғары деңгейдегі деп есептейді. Информациялық берік модуль мысалы берілгендердің абстрактілі типін жүзеге асыруы мүмкін.
Модульді программалау тілдерінде функциональді берік модульді жасау құралдары бар болады. Ал информациялық берік модульдерді жасау құралдары соңғы программалау тілдерінде ғана пайда болды.
Жобалау әдістері
Жоғары қарай құру тәсілі : Алдымен программаның ағаш түріндегі модульді құрылымы құрылады. Одан соң кезекпен модульдер ең төмен деңгейдегіден (ағаш жапырақтары) бастап программалана бастайды.
Әрбір программаланатын модуль үшін керек болатын модульдер программаланып қойылатындай кезекпен құрылады. Программаның барлық модульдері программаланып болған соң, жоғарыдағыдай кезекпен оларды тестілеу және отладка жасау жүргізіледі.
Бір қарағанда программаның осындай ретпен құрылуы керек те сияќты: әрбір модуль программалану кезінде программаланып қойылған бағынышты модульдермен өрнектеле алады, және тестілеу кезінде отладка жасалынған модульдер дайын қолданылады.
Айтылып жатқан тәсілдердің барлығы программа дайындалу барысында оның ағаш түрдегі құрылымның түйіндерін (модульдерін) қандай ретпен айналып өтуіне қарай әр түрге бөлінеді. (Айналып өту түрлері: жоғарыдан - төменге, оңнан -солға, т. б)
Солардың бір түрі длірегі конструктивті жандасудың бір түрі мақсаттты - конструктивті жүзеге асыру. Бұл тәсілдің мәні мынадай: конструктивті жандасуды ұсатала отырып, алдымен программаның ең қарапайым (ықшамды) варианты үшін кееркті модульдер жүзеге асырылады.
Бұл қарапайым программа енуші берілгендер саны аз жағдай үшін дұрыс орындалады және аяғына дейін орындалады. Программады
шақырылатын әлі программаланбаған модульдердің орнына имитаторы қолданылады. Бұдан кейін осы программаға енуші басқада берілгендер қосылған жағдайда дұрыс орындалуы үшін керекті модульдер енгізіле бастайды. Бұл процесс біртіндеп программа толық жүзеге асырылғанша жалғасады. Сонымен программа ағашын айналып өту дұрыс орындалатын программаның вариантарын ең қысқа жолмен жүзеге асыруды мақсат етеді. Бұл тәсілдің артықшылығы - бастапқы этаптарда дайындалып жатқан программаның орындала алатын варианты құрылуында.
2. Графикалық редакторды оқыту әдістемесі
Оқыту мақсаты. Оқыту мақсатына:
- ЭЕМ-ді пайдалану тәсіліне - сурет салуға және сызуға оқушыны практикалық дайындау; тыңғылықты жұмыс істеу дағдысын қалыптастыру;
- Суретті компьютерлік өңдеудің артықшылықтары жөнінде болжам қалыптастыру;
- Суретті жоғары деңгейде салуға өзінің іс-әрекетін ойша реттей білу, яғни алгоритмдей білу іс-әрекетін қалыптастыру;
- Суретті түрлендіруде әр түрлі командаларды біріктіруге үйрету;
- Салынған суретті дискіге жазу, фрагментін өшіру және т. б. әрекеттерді орындауға үйрету.
Басқару құралдары. Адам мен қоғам дамуын ескетүсірсек, сурет салу жазудан бұрын дамыған. Олай болса, тышқан мен басқарылатын графикалық редакторды да әлі оқи білмейтін бала да меңгере алатыны сөзсіз. Программамен баланың арасындағы диалог ешқандай сөзсіз, сурет - пиктограммалар арқылы жүреді.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

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