Негізгі әдебиеттер 1.Искакова, К.А. Бағдарламалау технологиясы [Мәтін]: Оқу құралы / К.А. Искакова.- Алматы: Нур-Принт, 2018.- 216 б.
2.Кемельбекова, Ж. СИ бағдарламалау тілі [Мәтін]: Оқу құралы / Ж. Кемельбекова, Г. Абишова.- Шымкент, 2018.- 176б.
3. Медешова, А.Б. Бағдарламалау [Мәтін]: Оқу құралы / А.Б. Медешова, Ғ.Г. Мұхамбетова.- Алматы: Бастау, 2017.- 368б.
4. Стауструп Б. Программалау 1-том. СС++ тілін пайдалану қағидалары мен тәжірибесі. Оқулық-Алм, 2016-688, (ҚР БЖҒМ «Оқулық» орталығы бекіткен)
Қосымша әдебиеттер 1. Жүнісбеков, Ж.С. Программалау есептерін шығару практикумы Шымкент -2018ж
2. Балғанова, М.С. Программалау есептерін шығару практикумы Шымкент-2018
Лекция 8
Жоспары: Ақпаратты компьютердің сыртқы құрылғыларында көрсету. Файлдармен жұмыс істеу. Мәліметтердің динамикалық құрылымы. Сілтемелер. Кезектер және ағымдармен жұмыс істеу.
Программа — магниттік тасымалдаушыда (дискіде) файл түрінде сақталып, әрбір адамның командасы бойынша компьютер жадына жүктеліп, орындауға арналған машина тіліндегі нүсқаулар жиыны. Көптеген мәселелер өзара байланыстағы бір-бірімен бірігіп отырып жұмыс істейтін бағдарламалар кешендерінің көмегімен шешіледі .
Алдын ала келісім нақты бағдарлама арқылы орындалатын әрекеттер (функциялар) жиынының және әр функцияның орындалу вариантын анықтайды.
Үнсіз келісім егер жұмыс істеп отырған адам айқын түрде нұсқамаса, көрсетілген немесе басқа әрекеттің, яғни функцияның нақты атқарылу параметрлерін (басқа да вариантгары болғанда) тағайындайды.
Интерфейс - бағдарламалық жабдық пен.жұмыс істейтін адам арасындағы сұқбат жүргізу шарттары мен келісімдер жиыны.
Программалық жасақ - информациялық технологиялардың елеулі бір бөлігі. Программасыз кез келген аппаратура жәй элементтер жиыны болады да, ол ешнәрсе істей алмайды.
ЭЕМ бағдарламалары екі топқа бөлінеді, олар:
1) жүйелі бағдарламалық жасақ;
2) қолданбалы (кәделі) бағдарламалық жасақ.
Жүйелі бағдарламалар ЭЕМ-нің аппараттық жабдықтар жұмысын басқарып, жүмыс істеп отырған адамды қолданбалы бағдарламалармен байланыстырады.
Жүйелі бағдарламалық жасақты бірнеше топқа жіктеуге болады:
1) операциялық жүйелер;
2) утилиттер;
3) сервистік бағдарламалар.
Операциялық жүйелер - компьютерді басқаруға арналған және қолданбалы бағдарламалармен байланысы бар нақты бағдарлама. Дербес компьютерлер үшін кең тараған операциялық жүйелерге МЗ (РС) DOS, Windows 95, Windows NT,OS/2, UNIX жатады, Дербес компьютерлерлерге арналған операциялық жүйелердің барлығы да тек бір адамдық болып табылады. Расында да екі адамның бір мезетте бір компьютерде жұмыс істеуін елестету қиын ғой.
WINDOWS 95, WINDOWS NT, OS/2, UNIX көп мақсатты жүйелер болып саналады. Көп мақсаттылық — бір компьютерде бір уақытта қатарласа бірнеше есепті шығару мүмкіндігі немесе бірнеше әрекеттің қатар атқарылып жатуы. Мысалы, Сіз мәтін көшіріліп жатқан шақта ойнап та отыруыңызға болады, өйткені бұл жұмыстарды әртүрлі құрылғылар атқарады немесе ол қүрылғылардың жұмыс жылдамдығы адамның жылдамдығынан өте жоғары болып келеді.
Көптеген ІВМ - үйлесімді компьютерлер дискілік МЗ DОS операциялық жүйесі мен көп терезелі WINDOWS графикалық операциялық жүйесін пайдаланады.
Операциялық жүйелер көптеген функцияларды орыңдайды: информацияны дискіге жазу-оқуды жүзеге асырады, мәліметтер сақтауды ұйымдастырады, компьютер құрылғыларының өзара байланыста жұмыс істеуін, барлық қолданбалы бағдарламалар жұмысының орындалуын қамтамасыз етеді. Бұл жүйе ЭЕМ іске қосылғаннан кейін иілгіш не қатты дискіден алғашқы жүктелетін кешенді бағдарлама болып табылады. Белгілі бір қосымша қызмет атқаруға керекті бағдарламалар тобы утилиттер болып табылады. Оларға мысал ретінде антивирустік (вирустерге қарсы) бағдарламаларды, мәліметтерді архивтеу (кысу) бағдарламаларын, компыотердің: жұмыс істеу қабілетін (диагностика) тексеретін бағдарламаларды (тест ирограммалары) айтуға болады.
Сервистік бағдарламалар — әрбір адамның операциялық жүйемен жұмыс істеуін жеңілдететін бағдарламалар тобы.
Қолданбалы бағдарламалар арқылы біздер өз есептерді шығарамыз. Мұндай бағдарламалар "қосымшалар" (приложения) деп те аталады. Қолданбалы бағдарламалар сан алуан, оларға қарапайым бағдарламадан бастап күрделі есептерді шығара алатын қуатты мамандандырылған жүйелерді (мәтіндік процессор, графикалық редактор, баспаханалық жүйелер т.б.), ғылыми мөселелерге арналған және жалпы көпшілікке қызмет ету кешендерін де жатқызуға болады.
Қолданбалы (кәделі) бағдарламалық жасақ - белгілі бір мамандық салалсында нақты есептер шығара алатын бағдарламадар жиыны. Олар белгілі бір мақсатта пайдаланылатын және әмбебап болып екіге бөлінеді.
Белгілі бір мақсатта пайдаланылатын бағдарламалық жасақ әр адамның нақты есептерін шыгаруга арналған, сондықтан оны пайдалану аймағы да шектеулі. Мұндай бағдарламаларды жұмыс иесі өзі жасайды немесе оньң талабы бойынша маман бағдарламалаушылар жасап береді.
Дербес компьютерлердің кең тарауына басты себеп болған олардың алдын ала дайындалған әмбебап бағдарламалық жасақтарың кең таралуы еді, бұл бағдарламалар тек бір есепті шығарып қана қоймай, белгілі бір мамандық саласында есеп жұмыстарын түгел автоматтандыруды немесе информацияның белгілі бір түрлерін өндеуді түгел қамти алатын болды.
Әртүрлі информацияларды өндеуге мүмкіндік беретін әмбебап бағдарламалық; жасақтың негізгі түрлері мыналар:
- мәтін редакторлары;
- графикалық редакторлар;
- электрондык, кестелер;
- оқыту жоне ойнау бағдарламалары; информациялық жүйелер және т.б.
Мәтіндік информацияларды даярлау мен өңдеуге арналған бағдарламалар мәтін редакторы деп аталады. Өмірде кез келген ЭЕМ-де жұмыс істейтін адамдар әртүрлі есеп-қисаптар мен құжаттар дайындау, мақала және басқа жазбалар жазу сияқты мәтін дайындаумен айналысады. ДЭЕМ-дерді осы мақсатгарға пайдаланса, басқа машинкасына қарағанда жұмыс өнімділігі күрт өсетіні талас тудырмаса керек.
Мәтін редакторлары экранда мәтіндерді түзетуге, қателерін уақыттында табуға, абзацтардың сол жақ, оң жақ шеттерін туралауға, мәтіндерді дискілерде ұзақ уақыт сақтап, қажет болғанда бірден тауып алуга, бірнеше алфавитті (латьш, орыс, қазақ) қатар пайдалануға, құжаттарды қағазға бірнеше дана етіп басып шығаруға мүмкіндік береді.
Дербес ЭЕМ-дер кітап, журнал, газет, т.б. шығаруда кең пайдаланылады. Компьютердің машинкаға қарағанда көптеген артықшылығы бар: қате оңай түзетіледі, материалдарды дайындау шапшандайды, оларды безендіру жолдары женілдейді. Өте жоғары сапалы басылым шығара алатын лазерлік принтерлермен жабдықталған шағын баспахана жүйелерінің одан да күшті мүмкіндіктері бар (осы оқулық та компъютерлік баспа жүйесінде дайындалды).
Кең тараған мәтін редакторларына WordPerfekt, Mikrosoft Word, MultiEdit, WordStar, PageMaker т.б. жатады.
Графиктік редакторлар графиктік информацияны дайындау мен өңдеуге арналған бағдарлама болып табылады. Олар өмірде жиі кездесетін есептеу нөтижелерін график түрінде шығаруда өте ыңгайлы. Оның үстіне графикалық редакторлар бейнелерді әртүрлі етіп - схемалар, сызбалар, суреттер және т.б. түрлерде бере алады.
Графикалық редакторлар мәліметтердің есептелу нәтижесін график бейнесінде көрсетуде де және өз қалауымызша түрлі сызықтар тұрғызуда да қолданылады. Графиктерді әртүрлі қылыи, мысалы, түзу немесе кисық сызық түрінде, дөңгелек диаграммалар мен гисто-граммалар бейнесінде алуга болады, оларга автоматты түрде масштаб енгізуге, керек болса координата остеріне сандар мен атауларды жазып қоюга да болады. Күрделі графикалық бейнелер түрғызу кезінде түрлі-түрлі фигура мен контурларды пайдаланып, олардың әрқайсысын әртүрлі түстерге бояуга да болады. Электрондық кестелер жүйесінде миллионнан аса торлар (ұялар) болады, оігар пернелермен информацияны енгізу арқылы немесе формулалар орнегін есептеу нэтижесі бойынша компьютермен жазу арқылы толтырылады. Мұнда кестелік мәліметтерді түзету, оларды дискілерде жазып сақтау, түрлендіру, қагазга басып алу сияқты коптеген орекеттср өте жылдам орындалады.
Ойын бағдарламалары дербес ЭЕМ-дердегі қызғылықты, кез келгенжан әуестенетінтопқажатады. Дербес компьютерлердің кеңінен тарауъша да себепші болған ойын бағдарламалары еді. Компьютерлік ойындар - демалудың жаңа технологиясы. ЭЕМ-де ойнағанда онымен шектен аса өуестенудің зиян екенін есте сақтау жөн.
Оқыту бағдарламалары оқу-үйрену сабақтарын ұйымдастырады, олардың мектепте не үйде тарихтан, информатикадан, тілден, биологиядан, математикадан, физикадан т.б. пәндерден сабаққа дайындалу кезінде өте ыңғайлы екені талас тудырмайды. Компыотерлер сабақ оқуда электрондық оқулық жөне тренажерлер түрінде, лабораториялық аспаіт әрі информациялық анықтамалық жүйе есебінде кеңінен пайдаланылады. Институттарға қабылдау емтихандарын өткізу кезінде компьютерлер "қазы" рөлін де әділ атқара алатын құрал екені белгілі.
Іс бағдарламалары қызметте керекті әртүрлі иыформацияларды дайыңцау, сақтау және өңцеу үшін кеңінен қолданылып жүр. Бұлар іс қағаздарын жүргізуді компьютерлендіру кезінде де құжаттар дайындау, жұмыс кестелерін жасау, кезекшілік графиктерін салу сияқты әрекеттерде де өте ыңғайлы болып табылады.
Информацияның кептеген түрлерін сақтау, іздеу, жалпы ұйымдастыру жұмысында информациялық жүйелер қолданылады. Бұларга мәліметтер базасы, кітапханадағы информация іздеу жүйелері, театрлардағы, әуе жолындағы және темір жолдагы билет сату мен оларды тіркеу тәсілдері жатады. ЭЕМ желілері мен информациялық коммуникациялар негізіндегі осы сияқты жүйелерді жасау мен дамыту қоғамымызды информацияландыру бағдарламасының ірге тасын қалайды.
Болашақта перспективасы бар информациялық құралдарға білімдер базасы мен эксперттік жүйелерді жатқызуға болады. Олардың көмегімен кейбір мамандық салаларында эксперттер тәртібін модельдеу арқылы медициналық тақырыптардан консультациялар мен әртүрлі қызмет салаларынан анықтамалар беру, онертапқыштарга, технологгар мен конструкторларга көмек беру істерін жүзеге асыруга болады.
Әмбебап бағдарламалық жасақтың дамуының арқасында күрделі біріктірілген жүйелер (интегралданған) жасальгаып жатыр. Олар бірыңғай командалар жүйесі арқылы бір форматгы пайдалана отырып мәтін редакторын, электрондық кестелерді, графикалық редакгорды, мәліметгер базасын басқаружүйесін, калъкуляторды және тағы басқаларды біріктіріп, бір интерфейс арқылы осылардың барлығын да пайдалану мүмкіндігін береді. Әмбебап бағдарламалык, жасақ дербес компьютерлермен жабдыкталган өртүрлі мамандьгқ иелерінің жүмыс орыңцарът автоматгандыруды іске асырады. Мұдай жүйелерге, мысалы, конструкторлық жобалауды, электрондық тақшалар жасап дайындауды, экономикалық және бухгалтерлік жүмыстарды автоматтандыру істерін жатқызуға болады. Қоғамъшызды дербес компьютерлермен, ЭЕМ желілерімен және информациялық қорлармен толық қамтамасыз ету бүрынгы "қағаздағы" мәлімеггерді қолдану жүмыстарын толықтыра отырып, информация алу, тарату, пайдалану жүмыстарын ұйымдастыруды жаңа белеске көтерді. Мүны өзі қоғамымызды информацияландыру процестерін дамытудың негізі болады деп толығынан айта аламыз.
Қолданбалы програмалар арасындағы ерекше топқа "қосымша" бағдарламаларды даярлаудың аспаптық құралдары (инструментальные средства) жатады.
Бағдарламалау жүйелері шыққанға дейін өр адам өзі қолданатын бағдарлама мәтінін бағдарламалау тілінде жазып, оны ЭЕМ-ге арнаулы мәтін редакторы арқылы енгізіп, сонан соң тағы бір арнайы программа - компилятор (транслятор) көмегімен өз мәтінін машина тіліне аударатын. Ен соңында үшінші бір арнаулы жинақтаушы бағдарламаның арқасында бөлек модульдерден орындалатын бағдарламалық файл алынатын.
Қазіргі кезде жасалынып жатқан бағдарламалар теледидар, тоңазытқыш, шаңсоргыш тәрізді өндірістік өнімдер санатына кіреді. Бұл бағдарламаларды жасау мен тарату — өндірісті жүргізу зандылықтарымен бірдей деңгейде болады деген сөз.
Ақпараттық технология өндірістік технологиядан түбегейлі өзгеше. Ақпараттық технология үзіліссіз болуы мүмкін емес. Ақпараттық технология бірнеше өсу кезеңінен өтті.
ХІХ ғасырдың екінші жартысына дейін мәліметтерді жинау, өңдеу, тарату қолмен жүргізілді. ХІХ ғасырдың соңына қарай телефон, басу машинкалары, пошта т.б. пайда болып, жартылай механикалық топология өмірге келді. ХХ ғасыр электронды, компьютерлік технологияның басы болып табылады.
Бағдарламалаудың негізгі жүйесі. Бағдарламалау тілдерінің ішіндегі көп таралғаны және жиі қолданылатындары Бейсик (бастапқы дайындық бойынша), Паскаль (арнайы дайындық бойынша), Си++, Ява (кәсіби дайындық бойынша) т.б. жатады.
Осы бағдарламалау тілдеріне арналған әртүрлі компьютерлерге және операциялық жүйелерге арналған көптеген бағдарламалау жүйелері бар. Олардың ішінде көп тарағаны BASIC: Microsoft Visual Basic, PASCAL: Borland Delphi, C++: Borland C++Bulider, JAVA: Simantec Café.
Бағдарламалау жүйесі – бұл бағдарламаларды дайындауды жөнге келтіруді автоматтандыруды қамтамасыздандыратын бағдарламалық құралдар жиынтығы. Ол өзіне бағдарламалау тілдерін, бұл тілдерден аударғыштар, көмекші бағдарламалар кітапханаларын, бағдарламаларды құрастырушыларды және жөндеушілерді қосады.
Әрбір компьютердің өзінің меншікті бағдарламалау тілі – машиналық командалар тілі немесе машиналық тілі болған бағдарламаларды орындай алады. Цифрлар тілі болғандықтан, машиналық тіл бағдарламалауға көп жарамайды, өйткені бағдарлама жазуға және оны жөнге келтіруге көп уақыт жұмсауды қажет етеді. Сол себепті машиналық тілмен үйлеспейтін бағдарламалау тілдері кең тарады. Машиналық тілге жақындық дәрежесі бойынша бағдарламалау тілдерін төмен және жоғары деңгейлі тілдерге бөлу қабылданған. Осы тілдердің бірінде жазылған бағдарлама сөйлемдер тізбегінен немесе операторлардан тұрады, және олар бастапқы бағдарлама немесе бастапқы модуль деп атайды.
Бағдарламалау тілі адамдыкіне неғұрлым жақын болса, ол адамдарға соғұрлым қолайлы, бірақ онда процессор регистрлері басқаруға арналған командалар соғұрлым аз болады. Процессорға жақын тілдер төмен деңгейлі тілдер, ал адамдар үшін қолайлы тілдер жоғары деңгейлі тілдер деп аталады.
Жоғары деңгейлі бағдарламалау тілдері бағдарламаларды адамға үйреншікті терминдердің көмегімен жазуға болады. Олар жадының нақтылы ұяшықтарымен және қарапайым нұсқауларымен емес, табиғи тілдің командаларымен басқарады.
Келешекте бұл командалар арнайы командалардың көмегімен автоматты түрде машиналық кодқа аударылады.
Қазіргі бағдарламалау технологиясы тиімділігі дәлелденген тізбекті нақтылау әдісіне негізделген:
1. Жеке модулдер оңай тестіленеді және жөнге келтіріледі, сондықтан олармен жұмыс жасау қолайлы болады;
2. Модуль өз алдына шағын бағдарлама болғандықтан, оны дайындау оңайға соғады;
3. Модульдермен әр түрлі бағдарламалық кешендерді дайындауға және бағдарламалық кітапханалар жасауға болады.
Бағдарламалау технологиясы екі стратегияға негізделеді: жоғардан төмен және төменнен жоғары. Бірінші жағдайда алгоритмді дайындау басында анық емес нобайынан бастап, бөлшектеріне қарай жүргізіледі, ол үшін есеп алгоритмі алдын ала белгілі көмекші есептерге бөлінеді. Ал төменнен жоғары технологиясы жағдайында көмекші алгоритмдер олардан негізгі алгоритм құрастырылатын бөлшектер қызметін атқарады.