бағалау. Д_ріс та_ырыбы №1. Ба_дарламалау тілдері ж_не алгоритм __ымына к. Дріс таырыбы 1. Бадарламалау тілдері жне алгоритм ымына кіріспе. Дріс жоспары
Скачать 38.6 Kb.
|
Дәріс тақырыбы №1. Бағдарламалау тілдері және алгоритм ұғымына кіріспе. Дәріс жоспары. Бағдарламалау тілдері жайындағы жалпы мағлұматтар. Бағдарламалау тілдеріне қойылатын негізгі талаптар Алгоритмнің сипаттамасы, қасиеттері, типтері, жазу ережесі Дәріс тезистері 1. Бағдарламалау тілдері жайындағы жалпы мағлұматтар Программаларды жасауда қазіргі заманғы компьютерлерде әр түрлі деңгейдегі программалау тілдері пайдаланылады. Жалпы жағдайда тілдеп информацияның жазылыуын және оның түрленуін белгілі ережелер бойынша формальдыетіп беруші құралдарды түсінеміз. Тілдің құрамында информацияның негізгі элементтерін құрудың құралдары және осы элементтерден әр түрлі мазмұнды құрылымдар құруға арналған ережелер жүйесі бар. Программалау тілідеп деректерді жазуға және оларды белгілі ережелер бойынша өңдеуге арналған адам мен компьютерді байланыстыратын формальды тілді айтамыз. Програмалаудың әр түрлі тілдерін пайдалану. Әр түрлі белгілер бойынша жіктеуге болатын бірнеше жүздеген программалау тілдері бар. Ең жалпысы тілдің машинаға жақындық дәрежесі бойынша жіктеу болып табылады. Осы белгісі бойынша программалау тілдері екі үлкен топқа бөлінеді: машинаға тәуелді тілдер; машинаға тәуелсіз тілдер; Машинаға тәуелді тілдер өз кезегінде былай бөлінеді: машина тілі; машинаға бағдарланған тілдер; Машинаға бағдарланған тілдер кейде автокодтар деп те аталады. Машинаға бағдарланған тілдердің екі деңгейі бар: символдық кодтау тілдері, басқаша айтқанда мнемокодтар; макротілдер. Макротілдер машина тілінің командаларына тікелей ұқсастығы жоқ макрокомандаларды пайдалануға рұхсат етеді. Макрокомандаларды пайдалану программаны қысқартады әрі тілді жасау құралдарының жиынын кеңейте отырып программалаушының еңбегінің өнімділігін арттырады. Машинаға тәуелсіз тілдерпрограммаларды бөлшектеу дәрежесіне қарай екі топқа бөлінеді: процедулалы- бағдарланған тілдер; проблемалы – бағдарланған тілдер Процедулалы – бағдарланған тілдересепті шешу алгоритмін сипаттауға арналған, сондықтан да оларды кейде алгоритмдік тілдердеп те атайды. Алгоритмдік тіл деген ұғым программалау тілі деген ұғыммен сәйкес елмейді. Егер алгоритмдік тілде жазылған алгоритмдік жазу компьютерге ендіруге тікелей жарамды және дайын жұмысшы программаға түрленетін болса, онда мұндай алгоритмдік тіл программалау тілі де бола алады. Кейбір алгоритмдік тілдер тек оларға кейбір құралдарды қосқаннан кейін ғана программалау тілі болады. Проблемалы – бағдарланған тілдересептерді сипаттау үшін қызмет атқарады. Бірақ алгоритмдік тілдер өздігінен барлық проблеманы, тіптен программаны да шеше алмайды. Мұндай тілде жазылған программа компьютерде тікелей орындалмайды, ол орындалу үшін алдын ала сол компьютердің машина тіліне аудару жеткілікті қиын мәселе болып табылады. Алгоритмдік тілден программаны машина тіліне аудару жұмысын компьютердің әмбебаптығын пайдаланып, оның өзіне жүктеуге болады. Бұл үшін әрбір алгоритмдік тілден машина тіліне формальды аударуға яғни аударудың ережесін алгоритм түрінде тұжырымдауға мүмкіндік беретіндей болуы керек. Егер, осы алгоритмді бір рет машиналық программа түріне келтіріп алсақ, онда одан кейін осы программаның көмегімен компьютердің өзі берілген алгоритмдік тілде жазылған кез келген программаны нақтылы компьютердің машина тіліне аударып бере алады. Мұндай арнайы аудармашы-программа жоғарыда айтқанымыздай транслятордеп аталады. 2 Бағдарламалау тілдеріне қойылатын талаптар мен олардың классификациясы Бағдарламалаудың алгоритмдік тілдерінің мақсаты– математикалық және логикалық мәндер мен операцияларды адамның да, компьютердің де математикалық моделімен (математикалық шамалардың жиыны) көрсетілген есепті бір мәнді және дұрыс шеше алуы үшін сипаттау. Алайда алгоритмдік тілдегі сипаттау адамның табиғи тіліндегі сипаттауы да мәндердің көптілігінен зардап шегуі мүмкін. Әр түрлі алгоритмдік тілдерде сипатталған есептеу процедураларының кезектілігі бірдей дұрыс нәтижеге әкелуі мүмкін, бірақ түрлі командаларды қажет етеміз, демек машина уақыты шығындарын аңғарамыз. Сөйтіп, әр түрлі тілдегі бағдарламаны құру бағдарламашылардың әр түрлі біліктілігін және олардың еңбегінің шығынына әкеліп соғады. Демек, бағдарламалаудың алгоритмдік тілін жасау үшін логика да, білім де, шығармашылық та, өнер де, математикада қажет. Сонымен қатар бір топтағы есептерді бағдарламалауға арналған тіл есептердің басқа тобына қолданылу мүмкіндігінің жоқ болуы ықтимал. Ол тіл машиналардың бір түрімен тиімді, ал екінші машиналармен қолданылу барысында сәтсіздікке келіп тірелуі әбден мүмкін. Бұл жағдай бағдарламалау тілдерінің жүздеген немесе мыңдаған нұсқаларының дамуына жағдай жасайды. Ешкім де неше бағдарламалау тілдерінің бар екендігіне жауап бере алмайды, соның өзінде көптеген елдерде әр түрлі институттар мен фирмалар жаңа тілдерді құруда. Бұған қарамастан бағдарламалау тілдеріне деген қойылатын талаптарды топтауға болады және сол тілдерді олардың ерекшеліктері бойынша бөлуге болады. 3. Алгоритмнің сипаттамасы, қасиеттері, типтері, жазу ережесі Кез келген есепті шешу - берілген алғашқы мәліметтерді пайдаланып, нәтиже алуды талап етеді, яғни есепті шешу алгоритмі алғашқы мәліметтерді бірте-бірте тұрлендіру арқылы нәтиже алу жолын сипаттайды. Көздеген мақсатқа жетуге, қойылған мәселені шешуге бағытталған әрекеттер тобын іске асыру үшін атқарушыға түсінікті әрі дәл нұсқаулар жиынтығы алгоритм деп анықталады. «Алгоритм» сөзi мағынасы жағынан нұсқау, жарлық, рецепт, ереже, тәртiп, заң, жоба сөздерiне синоним болып келедi, Алгоритм сөзi Орта Азияның орта ғасырлык ұлы ғалымы - Mухамед ибн Mұса. Хорезмидiң атымен байланысты шыққан. Қойылған мәселені шешудің дұрыс алгоритмі мынадай негізгі қасиеттерге ие болуы тиіс: анықтылық, нәтижелілік, жалпыламалық, дискреттік. Алгоритмнің анықтылығы дегенде оның әрбір адымы әртүрлі түсінікке жол бермейтін, дәл және анық түжырымдалған ережені түсінеміз. Алгоритмнің нәтижелілігі деп санаулы қадам жасалған соң қарастырылған мәселенің не шешімі табылатынын, не шешімі жоқтығы анықталатынын айтады. Алгоритмнің жалпыламалық қасиеті бойынша дайын алгоритммен жеке бір есепті ғана емес, осы есеп класына тиісті кезкелген есепті шығару мҺмкін болуы тиіс. Алгоритмнің дискреттілігі деп алгоритммен анықталған есептеулерді жекеленген кезеңдерге (қарапайым амалдарға) жіктеуді ұғамыз. Алгоритмді қарапайым тілмен (cөзбен және формулалар арқылы) жазып көрсетуге схема (графиктік жол) арқылы кескіндеуге алгоритмдік тілде (программалау тілінде) жазуға болады. Сонымен, әрекеттер тізбегінің орындалуы алгоритмдік процесс, оның әрбір әрекеті-қадамы, әрбір нұсқауы – алгоритмнің командасы деп аталады. Алгоритмдерге қойылатын негізгі талаптар. Алгоритмдерді компьютерде орындау үшін оларды алдын ала жазып алу керек, яғни ол белгілі бір заңдылықпен өңделуі тиіс. Жалпы жағдайда, алгоритм жазудың мынадай түрлері қабылданған: табиғи тілдегі жазылуы; белгілі бір түйінді сөздер – терминдер (псевдокодтар – жалған кодтар) арқылы қысқаша тізбекті түрде жазу, мұны қарапайым алгоритмдік тіл деп те айтады; графиктік жолмен (блок – схема арқылы) жазу. програмалау тілдеріндегі жазылуы. Бірақ табиғи тілде жазылған алгоритм компьютерде орындалмайды, өйткені бұл жағдайда дәлдік, нақтылық сақталмайды. Ал алгоритмді екінші көрсетілген жолмен жазу, қарапайым алгоритмдік тіл деп аталып, кеңінен қолданылып жүр. Мұны олардың ағылшын тіліне негізделіп жасалған программалау тілдеріне жақындығымен түсіндіруге болады. Алгоритмнің графиктік түрде кескінделуі – кең таралған әдіс. Бұл жазудың түсінікті, анық, көрнекі түрі болып табылады. Оны сызу ғана уақыт алады. Алгоритмдерді графиктік жолмен жазудың мемлекеттік стандарты айқындалған. Алгоритм схемасын оның блок-схемасы деп атайды. Блок-схемада пайдаланылатын фигуралар оның блоктары, ал оларды бір-бірімен қосатын сызықтар байланыс сызықтары деп аталады. Байланыс сызықтары тармақталған жағдайда оның бағытын көрсету үшін бағыттауыш белгісі қойылады. Блок-схема құрудың төмендегідей ережесі бар: блок-схеманың басын және соңын міндетті түрде көрсетіп тұратын блок болуы керек; блок-схемада бірімен-бірі қосылмай қалған блоктар болмауы керек; блок-схемада блоктар орындалу реті бойынша тізбектеле орналасуы қажет; арифметикалық амалдарды орындайтын блоктардың бір ғана ену, бір ғана шығу сызығы, ал шарттың орындалуын тексеретін ромб түріндегі логикалық блоктың бір ену, екі шығу сызығы болуы қажет. Ал алтыбұрышты фигурамен берілген цикл басы блогының екі ену және екі шығу сызығы болады. Блоктар шартты және шартсыз деп екі топқа бөлінеді. Шартсыз блоктар - есептеу-меншіктеуді атқаратын арифметикалық блок, мәліметтерді енгізу, баспаға беру және есептеуді бастау және аяқтау блоктарынан тһрады. Шартты блок алгоритмде шартқа байланысты тармақталуды немесе қайталануды көрсету үшін қолданылады. Алгоритмдік тіл және оның жалпы ережесі Алгоритмдік тіл деп - орындалатын әрекеттерді, амалдарды бірыңғай және дәл жазуға арналған, өз тіліміздің кейбір сөдерін пайдаланатын белгілер мен ережелер жүйесін айтады. Алгоритмдерді және алгоритмдік тілде құрылған амалдар тізбегін компьютерге түсінікті командалар мәтіні түрінде жазуға арналған жасанды тілдерді программалау тілдері деп атайды. Әр компьютердің өзінің машиналық тілі болады, ол командалар тілі немесе кодтар тілі деп аталады 1. – сурет Программаны орындау кезеңдері Алгоритмдік және программалау тілінде программа жазу – ыңғайлы болып табылады. Оларды белгілі бір машинада (компьютерде) орындау үшін сол программалау тілін машина тіліне автоматты түрде аударатын түрлендіргіш (аудармашы) программалар болуы керек, оларды трансляторлар деп атайды. Трансляторлар үш түрге бөлінеді: интерпретатор, компилятор және ассемблер. Интерпретатор – берілген программаның әрбір жолын (командасын) жеке-жеке аударып отырып орындайтын транслятор. Компилятор – бірден барлық программа мәтінін толық аударып машина тіліндегі бір модуль түріне келтіреді де, сонан соң сол модульді компьютер жадына қайта жазып алып, оны кейін тек біздің қалауымыз бойынша орындайды. Ассемблер – тек автокад түрінде, яғни ассемблер тілінде жазылған программаларды ғана машина тіліне аударады. Негізгі әдебиеттер тізімі 1. Қойбағарова Т. Қ. Turbo Pascal программалау тілі: оқу құралы. - Павлодар, 2012 2. Көксеген Ә. Е. Алгоритмдеу және программалау тілдері: оқулық. - Алматы, 2011 3. Шайқұлова А. Ә. Бағдарламалық жасақтаманың қазіргі заманғы жабдықтары: оқулық.- Астана, 2010 4. Культин, Н. Turbo Pascal 7.0. - Спб, 1998 Қосымша әдебиеттер тізімі 1. Муканов М. М. Основные идеи и понятия программированного обучения-Алма-Ата, 1973 2.Ершов А. П. Введение в теоретическое программирование: уч. пособие. - М., 1977 |