
- •1 Модуль. Алгоритмдеу және программалауға кіріспе
- •1 Тақырып. Кіріспе
- •1 Лекция
- •1.1 „Автоматтандыру есептерін программалау" курсының мақсаттары мен міндеттері.
- •1.2 Есептеуіш техника құралдарын пайдаланып ақпаратты өндеу және басқару жүйелерін әзірлеу. Компьютерлік жүйелердің ақпаратты өндеу және басқару әдістері мен міндеттері
- •2 Тақырып.Дербес компьютерді (дк) программалауды автоматтандырудың программалық құралдары
- •2 Лекция
- •2.1 Дербес компьютердің программалық қамтамасыз етілуі туралы
- •2.2 Программалауды автоматтандыру әдістері. Алгоритмдік тілдер және оларға қойылатын талаптар.
- •2.3 Процедуралы–бағытталған тілдер және объектке–бағытталған программалау туралы түсінік.
- •3.1 Программаларды құру құралдары
- •3.2 Программалаудың біртұтас жүйелері.
- •3.3 Техникалық есептер
- •3 Тақырып. Есептерді алгоритмдеу негіздері.
- •4 Лекция
- •4.1 Алгоритм анықтамасы. Алгоритмдерді бейнелеу тәсілдері.
- •4.2 Алгоритмдердің блок-схемаларын безендіру ережелері.
- •4.3 Алгоритм құрылымдарының түрлері.
- •4 Тақырып Негізгі процедураға бағытталған алгоритмдеу тілінде программалау
- •5 Лекция
- •5.1 Оқылатын алгоритмдеу тілінің негізгі түсініктері
- •5.3 Тілдің негізгі объектілерін жазу ережелері
- •5.4 Деректердің типтері
- •5.5 Деректердің стандартты типтері
- •6 Лекция
- •6.2 Өрнектер. Арифметикалық және логикалық өрнектер
- •7 Лекция Құрылымды деректер (типтер)
- •7.1 Массивтер
- •7.2 Жиындар
- •7.3 Жазбалар
- •Модуль 2 Алгоритмдік тілдерде программалаудың арнайы мәселелері
- •5 Тақырып Программадағы басқару құрылымдар
- •8.1 Алгоритмдік тілдің операторлары.
- •8.3 Басқару операторлары. Құрама және бос операторлар
- •8.4 Деректерді енгізу-шығаруды ұйымдастыру
- •8.5 Программаның құрылымы. Алгоритмнің схемасынан программаға өту
- •9 Лекция
- •9.1 Сызықты құрылымды алгоритмдерді программалау
- •9.2 Тармақталған құрылымды алгоритмдерді программалау
- •9.3 Таңдау операторы (case)
- •10 Лекция
- •10.1 Циклдік құрылымды алгоритмдерді программалау. Кейінгі шартты цикл операторы (repeat)
- •10.2 Алдынғы шартты цикл операторлары (while)
- •10.3 Параметрлі цикл операторлары (for)
- •10.4 Ішкі циклдерді құрастыру (массивтерді өндеу, массив компоненттерін реттеу есептерінің мысалдары негізінде)
- •11 Лекция
- •11.1 Жолдық деректер
- •Var s: string;
- •Var s1: string[40];
- •11.2 Символдық және жазбалар түріндегі деректерді өндеу есептерін программалау
- •12 Лекция
- •12.1 Пайдаланушының ішкі программалары (процедуралар) классификациясы. Ішкі программаларды рәсімдеу тәсілдері және оларды программа құрамында пайдалану.
- •13 Лекция
- •13.1 Сыртқы сақтауыш құрылғыларын (файлдық шамаларды) және динамикалық жадыны пайдалану арқылы программалау
- •14 Лекция
- •14.1 Тілдің графикалық мүмкіндіктерін пайдалану
- •Initgraph(var gd:integer, var gm:integer, pt:string);
- •15 Лекция
- •15.1 Объектке-бағдарлы программалау (обп) негіздері
- •15.2 Объекттер және олардың негізгі қағидалары
- •15.3 Объекттерді құру және оларды пайдалану
- •15.4 Өткен материалға шолу
- •15.5 Алған білімдердің студенттің алдағы оқу барысында және болашақ инженерлік тіршілігіндегі тәжірибелік мағынасы. Программалау тілдері мен технологиялардың даму перспективалары.
- •Өрнектер – тұрақтылар. Паскаль өрнектер-тұрақтыларды пайдалануға мүмкіндік береді. Ол өрнекті программаны орындау қажеттіліксіз компилятор орындайды. Өрнектер-тұрақтылардың мысалдары:
- •Түсініктемелер (комментарий)
- •6 Лекция
- •6.1 Блоктар, локальділік және амал жасау облысы
- •6.5 Типтердің үйлесімділігі
- •7.1 Ординалды типтер
- •7.2 Құрама құрылымдар
- •10.4 Жалғау операторы (with)
15.3 Объекттерді құру және оларды пайдалану
Turbo-Vision қабықшасы. тәсіл программаларды жетілдіру барысында ары-қарай пайдалану үшін объектілік орталарды, объектілердің библиотекаларын құруға мүмкіндік береді. Әсіресе кең танымалдылыққа стандартты болып қалған бірыңғай стильде программалардың интерфейстерін жетілдіруге арналған объектілі қабықшалар кең танымалдылыққа ие болды. Turbo-Vision (TV)- Паскаль ортасында программалардың аяқталған интерфейстерін құруға арналған қабықша. Объектке-бағытталған TV библиотекасы қамтиды:
өлшемдері өзгеріп тұратын көп есе қиылысатын терезелер;
жайылатын мәзір;
мауысты сүйемелдеу;
түсті орнату;
кнопкалар, скроллинг жолақтары, шығару терезелері, тәуелді және тәуелсіз кнопкалар;
клавиштер мен мауыс басылуын стандартты өндеу және көптеген басқалар.
TV арқылы құрылатын, стандартты түрде өнделген интерфейстің жоғарғы жағында мәзір қатары, ал астында статус жолы бар. Статус жолында пайда болатын мәтін әдетте программаның ағымдағы қалып-күйі туралы хабарламаларды шығарып, қол жетерлік ыстық клавиштерді немесе ағымдағы моментте тұтынушыға қол жетерлік бұйрықтар үшін подсказкаларды көрсетеді.
Программа тұтынушымен әдетте бір немесе бірнеше сұхбаттасу терезелері арқылы өзара әрекеттеседі, ол терезелер мауыс немесе клавиатураның бұйрықтарына сәйкес экранның панелінде пайда болады немесе жойылады.
Turbo-Vision –дағы ең қарапайым программа келесі амалдарды орындайды:
экран панелін жартылай көленкелінген шаблонбен толтырады;
экран бетіне мәзір жолағын (жоғарыда) және статус жолын (астында) шығарады;
клавишалар және мауыс арқылы туындылаған оқиғаларды өндеушіні орнатады;
объекттің мәзірін құрып оны мәзір жолағымен байланыстырады;
сұхбаттасу терезесін құрады;
сұхбаттасу терезесін мәзір байланыстырады;
тұтынушының клавишалар немесе мауыс арқылы беертін амалдарын күтеді.
Кез келген программаның ең басты объектісі TApplication объекті болып табылады – ол объекттің абстрактілі типі. Ол ешнәрсе істемейді, ал программалық кодты қамтитын TApplication-дан туындылаған типтерді құру үшін пайдаланылады. Мысалы, Turbo-Vision үшін стандартты түрде HELLO, WORLD! жазуын шығаратын HELLO.PAS қарапайым программада THelloApp объекттің туындылаған типі анықталады:
PHelloApp = ^THelloApp;
THelloApp = object(TApplication)
procedure GreetingBox;
procedure HadleEvcnt(var Event: TEvent); virtual;
procedure InitMenuBar; virtual;
procedure InitStatusLine; virtual;
end;
Бұл жерде көрсетілгендей, анықталатын объекттің әр типіне нұсқағыштың типін анықтаған пайдалы, себебі, объектілерге қолданылатын жұмыстын үлкен бөлігі нұсқағыштар арқылы орындалады. Полиморфизм, негізінде, нұсқағыштар арқылы жұмыс жасайды. THelloApp оның ішіндегі төрт әдіске қарағанда көбірек нәрсені қамтиды, туындылаған объект өзінің тегіген барлық нәрсеге мұра етіп алады. THelloApp анықталуында жаңа объект оның TApplication тегінен айырмашылығы неде екендігі анықталады. Қайта анықталмайтын барлық нәрсе өзгеріссіз түрде Tapplication-дан мұра етіп алынады. THelloApp-да анықталған төрт әдіс қосымшаны аяқтайды:
HadleEvent кейбір оқиғалардың орын алғандығын (көрсетіп) және осы оқиғаларға басқа қолданбалы функциялары қалай жауап қайтаруы тиіс екендігін анықтайды; Tapplication-да анықталған HadleEvent әдісі кез келген программаның ішінде пайда болатын ортақ оқиғалармен жұмыс жасайды, бырақ, программа үшін ерекше болатын оқиғаларды өндеуді қамтамасыщ ету керек;
InitMcnuBar программаның Мәзір жолағы үшін мәзірді орнатады (TApplication мәзірлердің өздерін емес Мәзір жолағын ғана қамтиды);
InitStatusLine экранның төменгі жағындағы статус жолының мәнін орнатады; бұл мәтін әдетте қол жетерлік ыстық клавиштерді көрсетіп немесе тұтынушыға кейбір амалдар туралы ескерту жасап, программаның ағымдағы қалып-күйі туралы хабарламаны бейнелейді;
GreetingBox мәзірдің Greeting элементіне жауап беру ретінде сұхбаттасу терезесін шақырады; GreetingBox Greeting мәзірдің элементін таңдау арқылы айырылып-қосылатын оқиғаға жауап қайтару ретінде HadleEvent әдісінен шақырылады; күрделілеу программаларда бастапқы мәзірде анықталған мәзірдің әр элементіне жауап қайтару ретінде түрлі әдістерді пайдалануға болады.
Абстракциялаудың жоғарғы деңгейінде TV басты программасыынң түрі Hello-ға ұқсас және үш әдісті қамтиды:
var
HelloWorld: THelloApp;
begin
HelloWorld.Init;
HelloWorld.Run;
HelloWorld.Done;
end;
Бұл әдістердің әрқайсысын қысқаша түсіндіру керек.
Init - бұл конструкторды қажетті шақыру. Виртуалды әдістерді қамтитын барлық объекттер осы объекттің кез келген басқа әдістерін шақырудан бұрын (олардың конструкторын шақыру арқылы) құрылуы тиіс. TV-ның барлық конструкторлары Init атауға ие. Бұл ыңғайлы келісім.
HelloWorld.Init басты программаның объекттерін пайдалану үшін орнатады. Ол экранды тазалайды, маңызды айнымалылар үшін кейбір мәндерін орнатады, экран панелін толтырады және статус жолы мен мәзір жолағын шығарады. Ол көптеген басқа объекттердің конструкторларын шақырады, олардың кейбіреулері ешқасан көрінбейді, себебі олар ішінен шақырылады.
TV-да программаның бүкіл жұмысы дерлік басты Run программаның әдісінің ішінде орындалады. Run әдістің анықталынуы бұл жерде жоқ, себебі Run аналық TApplication объекттен мұра етіліп алынады.
Бұл әдіс негізінде псевдокодта көрсетілген repeat...until циклынан тұрады.
Repeat <оқиғаны алу>; <оқиғаны өндеу>; until Quit;
Бұл дәл код емес, ал Run-ды жүзеге асырудың жалпы схемасы. Маңызында TV программасы циклденіп екі есепті шешеді: оқиғаны алу (мұндағы оқиға, маңызында, «бір нәрсені орындау») және осы оқиғаны өндеуді. Оқиғалардың біреуі шығу командасының бір түріне есептеледі де цикл аяқталады.
Дестрактор Done ол программы барлық объекттерін жояды – мәзір жолағын, статус жолын және экран панелін – және қателерді өндеушісі мен TV драйверлерін жояды. Done әдісі Init конструкторы арқылы орындалған барлық амалдарды жойып, одан кейін барлық стандартты элементтерді өндейтін TAppHcation.Done-ны шақыруы тиіс. TV-ны пайдалану арқылы объектке-бағытталған программалау объекттер иерархиясын және олардың әдістерінің спецификацияларын жақсы білуді талап етеді. Паскальға арналған объектке-бағытталған TV қабықшасымен қатар C++ тілі үшін дамыған ұқсама жүйе бар. Объектке-бағытталған программалау Windows жүйесі интерфейсінің негізіне айналды. Visual Basic, Delphi сияқты қазіргі объектке-бағытталған жүйелер программалау механизмдерін жасырып, дисплей экранындағы көрнекілік жобалау құралдарын ғана пайдаланып, мүлдем кодтау командаларын қолданбай программа-қосымшалардың интерфейстерін жетілдіруге мүмкіндік береді.