Информатикадан практикалы? саба?тар ж?не есептер жина?ы
Кіріспе
Методикалық нұсқау 9 сыныптың информатика пәніне арналған күнтізбелік тақырыптық жоспарына сәйкес практикалық жұмыстарды орындауға қажетті барлық мағлұматтардан құрастырылған.
«Информатика және есептеуіш техника негіздері» пән ретінде қалыптасқан ғылымның бір саласы. 9-сыныптарға арналған информатика пәні, негізінен келесі тақырыптарды қамтиды:
«Алгоритм», «программа» ұғымы
Алгоритмдерді қарапайым тілде, блок-схема түрінде жазу
Паскаль тілінде мәліметтерді сипаттау, программалар құру, оларды компьютерде орындау
Әр түрлі операторларды жазу, функциялар мен процедураларды пайдалану жолдары және т.б.
Информатика терминдері ағылшын тілінде қалыптасып, одан кейін басқа тілдерге аударылып келеді.
Практикалық жұмыстарды орындау негізі ретінде Паскаль программалау тілі қолданылады.
Паскаль тілі қарапайым программалармен қатар, күрделі өндірістік мәселелерді шеше алатын құрылымды тіл болып табылады. Ол Бейсик тіліне қарағанда аздап күрделі болғанмен, компьютер үшін ыңғайлы, программа құру реттілігін алгоритмдік тәртіппен қарастыратын, оқушыларды іс-әрекет тәртібіне тәрбиелейтін тіл болып табылады.
Қазіргі кезде барлық елдердің оқушылары программалау тілін үйренуді осы тілден бастайды деп айтуға болады. Олай болса, еліміздің оқушылары да программалау тілін, алгоритм терминдерін ана тілінде оқып үйренуі қажет.
Практикалық жұмыс №1
Тақырыбы: ЕТ кабинетіндегі техника қауіпсіздігі
Теорияға шолу
Техника қауіпсіздігі және есептеуіш техника кабинетіндегі тәртіп сақтау ережелері
Есептеуіш техникасын оқу үрдісінде қолдану алдында оқушылар 17.08.2007 жылғы ҚР Ғылым және Білім Министрлігінің бұйрығына сәйкес техника қауіпсіздігі бойынша инструктаждан өтулері тиіс. Сонымен, авариялық жағдайларда өзін қалай ұстау керек, электр тоғына түскен адамға бірінші медициналық көмекті көрсету және көздің шаршауынан сақтайтын жаттығуларды білуі қажет. Инструктажды өткізгеннен кейін оқушылар техника қауіпсіздігі жөнінен сынақ тапсырып, ол сәйкесінше формадағы журналда тіркелуі қажет.
Техника қауіпсіздігі ережелері
Техника қауіпсіздігі ережелерін келесі топ бойынша бөлуге болады:
Жалпы ережелер
ДК –мен жұмыс жасау алдындағы ережелер
Жұмыс жасау барысындағы ережелер
Авариялық жағдайдағы ережелер
Жұмыс аяқтау барысындағы ережелер
Жалпы ережелерге келесілер жатады:
Кабельдер, сымдар, розеткалар, штекерлерді түртуге, мұғалімнің рұқсатынсыз орнын ауыстыруға болмайды.
Мұғалімнің рұқсатынсыз аудиторияға кіруге және шығуға болмайды.
Мұғалімнің рұқсатынсыз аудитория ішінде жүруге болмайды.
Ылғал қолмен немесе ылғал киіммен ДК-де жұмыс жасауға болмайды.
Корпусы немесе кабельдерінің бүтіндігі бұзылған ДК-де жұмыс жасауға болмайды.
ДК тұрған стөл үстіне сөмке, кітап қоюға тиым салынады. Стөл үстінде тек қаламсап пен дәптер ғана тұруы қажет.
Пернетақта үстіне ештеңе қоюға болмайды.
Компьютер сыныбында жүгіруге, ойнауға және де жұмыс жасап отырған жолдастарыңа кедергі жасауға болмайды.
ДК –мен жұмыс жасау алдындағы ережелер:
Тоқ көзінен қосылмай тұрған ДК-ді қарап шығу қажет: корпусының бүтіндігі, кабельдерінің изоляциялануы.
Кабельдер бір-бірімен айқасып, жұмыс барысында кедергі жасамай ма, байқау керек.
Жұмыс орнын қолдану есебі журналында сәйкесінше жазуларды енгізу.
Жұмыс жасау барысындағы ережелер:
ЕТ жұмыс жасау барысында экраннан оптимальды қашықтықты сақтау керек (60-70 см). Минимальды қашықтық – 50 см.
Сабақ барысында сыныпқа кірген мұғалім немесе басқа адамдарға оқушылардың тұруына қажет емес.
Егер көзіңіз шаршаса, жұмыс орныңыздан тұрмай-ақ, көз шаршауын басатын жаттығуларды жасауға болады.
Оқушылар электр тоғымен зақымдануда бірінші медициналық көмекті көрсетуді, өртсөндіргішпен жұмыс жасай білу және өртті сөндіру әдістерін меңгеруі қажет.
Оқушылар көз шаршауын басатын жаттығуларды білулері қажет.
Авариялық жағдайдағы ережелер:
Егер жұмыс барысында ДК-дің бұзылу; яғни, жағымсыз иіс немесе түрлі дыбыс байқасаңыз, онда тез ДК – ді өшіріп, ол туралы мұғалімге хабарлаңыз.
Қажетті жағдайда өртті сөндіруге көмек беруге болады.
Электр тоғынан зардап шеккен адамға бірінші медициналық көмек көрсету керек.
Өртті сумен өшіруге болмайды. Тек құм немесе өртсөндіргішті қолдану қажет.
Егер электр тоғынан зардап шеккен адам электр тоғы әсерінде болса, оны жалаң қолмен ұстауға болмайды. Электр өткізгіш болып табылмайтын материалдарды қолданып, зардап шеккен адамды босатуға болады.
Жұмыс аяқтау барысындағы ережелер:
Мұғалімнің айтуынша компьютерді өшіру қажет.
Жұмыс орнында тазалық жүргізу.
Жұмыс орнын пайдалану есебі журналында сәйкесінше жазулар енгізу керек.
Бірінші медициналық көмек көрсету
Электр тоғымен зақымданғандағы көмек көрсету:
Тоқты өшіру.
Электрөткізгіш болып табылмайтын материалдарды пайдаланып, электр тоғының әсерінен зақымданған адамды босату.
Зақымданған адамды қарап шығу, денесі күйіп қалған жағдайда көмек көрсету.
Жедел жәрдем шақыру (мектеп медпункті).
Денесі күйіп қалған жағдайда көмек көрсету:
Тыныштандыратын дәрі беру (анальгин, валерианка)
Күйік болған жерге мазь жағу.
Күйік алған жерді целофанмен орап, суық суға салу.
Жедел жәрдем шақыру.
Талып қалған жағдайда көмек көрсету:
Талған адамды тегіс жерге арқасымен жатқызу, басын артқа қарай шалқайту керек.
Жедел жәрдем шақыру.
Тынысы тоқтап қалған жағдайда көмек көрсету:
Аузын ашып, тілін тексеру керек, егер тілі кетіп қалса, оны орнына келтіру.
Тынысы қалыпты жағдайға келгенше немесе дәрігерлер келгенше, жасанды тыныс алдыруды жасау.
Жедел жәрдем шақыру.
Көз шаршауын басатын жаттығулар:
Компьютер алдында біріңғай жұмыс жасау көздің шаршауына әкеліп соғады. Сондықтан да, жұмыс жасау барысында 1-2 мин көзге арналған жаттығуларын жасап тұру қажет.
Ұзақ жаққа – мұрын ұшына, оңға-солға, жоғарыға-төменге қарау.
Көзді сағат тілі бойынша шеңбер бойынша қозғалту.
Көзді жұмып, оны қолмен жауып, 1-1,5 минут отыру керек.
Жалпы шаршағанды басу жаттығулары:
Сағат тілі бойынша және керісінше басты бұру.
Оңға-солға бұрылу.
Саусақтарды жұдырыққа түйіп, қайта босату.
Керілу және созылу.Практикалық жұмыс №2
Тақырыбы: Алгоритм түсінігі және программа. Атқарушы командалары жүйесі. Атқарушы түсінігі
Теорияға шолу
Информатика ғылымында «алгоритм» түсінігі ақпарат түсінігі сияқты негізгі ұғымдардың бірі болып табылады.
«Алгоритм» сөзі атақты араб математигі Әбу Жафар Мухаммед ибн Мұса әл-Хорезми (763—850 жж.) есімінің латындық транскрипциясы болып табылады. Ол санаудың ондық санау жүйесінде көпорынды сандар мен арифметикалық амалдардың орындалу ережесін ұсынған. Бұл ережелер қосынды мен көбейтіндіні табуға арналған амалдарды орындауға қажетті тізбектен құрылған. Сол ереже осы күнге дейін қолданылып келеді.
Бірақ әл-Хорезмиге дейін де арифметикалық операцияларды орындау ережелері көп болатын. Бірақ ол кезде сандардың ерекшеліктеріне көп мән берілген болатын, ал әл-Хорезми болса, көпорынды сандардың бәріне ортақ және барлық сандарға жарамды ереже ұсынды. Әл-Хорезмидің тәсілін қолдаушыларды алгоритмдіктер деп атады. Алгоритм ұғымы бірнеше қасиеттері бар ережелер жүйесі деген мағынаны білдіреді.
Қазіргі таңда алгоритм ұғымы тек математикалық есептерге ғана емес, сонымен қатар басқада мағыналарда қолданылады. Әрбір компьютер алдын-ала құрылған алгоритм бойынша, яғни программа бойынша жұмыс істейді.
Алгоритм ұғымының анықтамасы өте көп.
Алгоритм деп берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіруді айтамыз. Кез келген есептің шешу кезеңін қарапайым амалдар тізбегіне бөлектеуге болады. Алгоритмді компьютерде орындау үшін оны программа түрінде жазып шығу керек.
Программа деп машина тілі түсінетіндей, инструкциялар тізбегі түрінде жазылған алгоритмді айтамыз. Программа командалар тізбегінен тұрады. Командалар тізбегі орындалған кезде есептің нәтижесі шығады. Әрбір компьютер алдын-ала құрылған программа бойынша жұмыс жасайды. Яғни, программа деп белгілі бір нәтиже алу үшін түсінікті операциялар тізбегін айтамыз. Процессор программа құрамындағы командаларды реті бойынша орындайды. Команда бір қарапайым операцияны орындауға бұйыратын бұйрық түрінде болады. Командалар арифметикалық, логикалық, басқаруды беру, сандарды салыстыру, экранға шығару, принтерге шығару және т.б. болып бөлінеді.
Атқарушы түсінігі
Алгоритм атқарушысының рөлін адам немесе автоматтандырылған құрылғы: компьютер, робот және т.б. орындайды. Мысалы:
у = (ах+b)(сх -d) функциясын есесптеу үшін келесі қарапайым әрекеттерді орындау керек:
1) а- ны х-ке көбейтіп, оны У деп белгілеп аламыз;
2) У – ті b –ға қосып, оны У1 деп белгілейміз;
3) с – ны х – ке көбейтіп, оны У2 деп белгілейміз;
4) У2 –ден d – ны алып тастаймыз, оны У3 деп белгілейміз;
5) У1 –ді У3 –ке көбейтіп, нәтижені У4 деп белгілейміз.
Көрсетілген пункттерді өзгертуге болмайды. Олар дәл осы қалпында орындалуы қажет. Сонда ғана қажетті нәтижеге жетуге болады.
Тағы бір мысал ретінде, күнделікті мектепке бару алгоритмін келтіруге айтуға болады:
1
2
8
7
3
4
5
6
9
Қалааралық телефонды қолдану алгоритмі.
Телефон тұтқасын алу;
8 санын теру;
Үзіліссіз үнді күту;
Керекті қаланың кодын теру;
Абоненттің телефон нөмірін теру;
Абонент жауабын күту;
Сөйлесу батырмасын басу;
Сөйлесуге болады.
Осы мысалдағы әрекеттерді орындау үшін алдын-ала абоненттің телефон нөмірін, тұратын қала кодын білу қажет.
Жалпы алғанда, өміріміздің барлығы алгоритм тізбектерінен тұрады десек те болады.
Алгоритм орындалу барысында атқарушы қандай инструкция келесі орындалу керектігін біледі. Атқарушы орындай алатын командалардың жиынын атқарушы командалар жүйесі деп атаймыз.
Сонымен, алгоритм атқарушысы алдын-ала қойылған әрекеттерді орындап, нәтижеге жететін адам, компьютер немесе техника болуы мүмкін. Егер есепті шешу үшін техникалық құралдар пайдаланылса, орындалатын әрекеттер тізбегі нақты және түсінікті болу керек. Қаншалықты әрекеттер түсінікті де, нақты болса, соншалықты нәтижеге жету тез және дұрыс болады.
Практикалық жұмыс №3
Тақырыбы: Алгоритм қасиеттері. Алгоритмді жазу тәсілдері
Теорияға шолу
Алгоритм ұғымын толығымен түсіну үшін оның қасиеттерін білу қажет. Және де компьютерде орындалатын алгоритмге қойылатын талаптарды білу керек:
алгоритм нақты және анық берілуі қажет;
модульдік қасиетке ие болуы керек (яғни, алгоритмді қарапайым кіші бөліктерге бөлу мүмкіндігі болу керек);
белгілі бір уақыт аралығында бір нәтижеге келу, яғни, алгоритм қадамдарының саны шексіз болмауы керек;
бір тектес есептерге жалпы бір ғана алгоритмді қолдану.
1. Алгоритмнің айқын, дәл өрнектелу қасиеті. Алгоритмде көрсетілген барлық әрекеттер анық, нақты және белгілі болу керек. Онда көрсетілген қадамдар ғана орындалуы керек. Есепті шешу үшін орындалатын барлық әрекеттер алгоритм атқарушысына түсінікті де белгілі болу керек. Атқарушы алгоритм орындалу барысында ешқандай ойланбауы қажет.
2. Алгоритмнің дискреттік (үзіктілік) қасиеті. Үлкен алгоритмді кіші модульдерге бөлу мүмкіндігі болу керек. Бұл қасиет бойынша алгоритмді кіші бөліктерге бөліп, аралық нәтижені бақылауға мүмкіндік алуға болады. Алгоритмді 2-3 бөлікке бөліп, оның әрқайсына бөлек алгоритм құруға болады. Әрбір бөлік керекті берілгендер ретінде алдыңғы бөліктің нәтижесін қолданады. Осылай, алгоритмдеу процессінің құрылымы үзілісті (дискретті) командалар тізбегінен тұрады. Бірінші қадамды орындамай, алгоритм атқарушысы 2-ші қадамға өте алмайды. Белгілі командалар негізінде қадамдарға бөлу жолымен алгоритмнің ретімен орындалуы алгоритмнің дискреттік қасиеті деп аталады.
3. Алгоритмнің нәтижелілік қасиеті. Кез келген алгоритм белгілі бір нәтижеге әкелуі қажет. Белгілі бір уақыт аралығында белгілі бір қадам орындалған соң біз бір нәтиже алуымыз керек. Әрбір алгоритм бастапқы берілгендер қолданады және керекті нәтижеге әкеледі. Кейде алгоритмде бірнеше қадамдар қайта – қайта орындала береді және ешқандай нәтижеге әкелмейді. Мұндай жағдайда олар циклден шықпайды және оларды нәтижесіз алгоритмдер деп атайды. Мұндай болса, алгоритмді қайта құрып шығу қажет.
4. Алгоритмнің жалпылық немесе ортақтық қасиеті. Алгоритм тек бір ғана есепке емес, бір типті есептерге жалпы болуы керек. Мұндай қасиет жалпылық қасиет деп аталады. Мысалы, квадрат теңдеудің түбірлерін табатын алгоритм тек қана бір есепке емес, барлық квадрат теңдеу есептеріне арналған болуы керек.
5. Алгоритмнің формальды орындалуы. Алгоритм орындалу барысында атқарушы команданы түсінуі де, түсінбеуі де мүмкін. Алгоритмнің әрбір командасы атқарушыдан бір әрекетті орындауын сұрайды. Атқарушы командаларды түсінуі үшін берілген командалар атқарушының білім деңгейіне сәйкес болуы керек. Атқарушы командалардың мәнін түсінбесе де, оны орындай отырып, белгілі бір нәтижеге жетеді. Яғни, алгоритмді формальды орындайды.
Жалпы айтқанда:
Алгоритм белгілі бір атқарушыға құрылады.
Егер алгоритмде атқарушыға түсініксіз командалар болса, оларды түсінікті командалармен алмастыру керек. Яғни, алгоритмде қолданылатын командалар атқарушы командалар жүйесінен шықпауы тиіс.
Алгоритм орындалуын зерттемей, оны сол жазылған күйінде орындау қажет.
Алгоритм орындалу үшін бастапқы берілгендер белгілі болуы керек.
Алгоритм тізбегінің орындалуы – алгоритмдік процесс, әрбір әрекет – қадам деп аталады.
Алгоритмді жазу тәсілдері.
Алгоритмді компьютерде орындау үшін оны белгілі бір заңдылықтарға сәйкес өңдеу керек. Алгоритмді жазудың бірнеше тәсілдері бар:
Табиғи тілде
Арнайы түйінді сөздер – терминдер, псевдокодтар арқылы жазу. Яғни, қарапайым алгоритмдік тілдер қолдану.
Блок-схема түрінде графикалық кескіндеу.
Программалау тілінде жазу.
Осының ішінде алгоритмді блок-схема түрінде жазу және одан кейін оны программалау тіліне аудару кеңінен қолданылады.
Алгоритмді графикалық кескін түрінде жазу – кеңінен қолданылатын тәсіл. Алгоритмді осы түрде жазу көрнекі, нақты және түсінікті болып табылады. Блок-схема түрінде жазу үшін белгілі бір уақыт керек. Ол үшін мемлекеттік стандарт қабылданған. Мұнда әрбір әрекет геометриялық фигура көмегімен сипатталады. Оларды фигуралар немесе блоктар деп атайды. Блоктар бір-бірімен бағытталған сызықтармен байланысады және бірінен кейін бірі орналасады. Алгоритм схемасын блок-схема деп атайды.
Атауы Блок-схема түрі Негізгі әрекеттері
Процесс Математикалық өрнектерді есептеу
Таңдау Шартқа сәйкес есептеу жолын таңдау
Модификация Циклдің басы (қайталау)
Енгізу және шығару Берілгендерді енгізу және шығару
Басы, соңы Алгоритмнің басы және соңы
Қосалқы программа Қосалқы программа шақыру
Алгоритм блоктарында орындалатын операциялардың мазмұны жазылады. Әр блоктың кіру және шығу сызығы болады. Блок-схема құру үшін келесі ережелерді білу қажет:
Алгоритмнің басы мен соңын білдіретін блоктар болуы қажет.
Бір-бірімен байланыспаған блоктар болмауы керек.
Блоктар бірінен кейін бірі орналасуы қажет.
Арифметикалық операциялар орындалатын блоктарда тек бір кіру және бір шығу сызығы болуы керек. Шарттық блокта бір кіру сызығы және екі шығу сызығы болуы керек.
Мысалы, екі санның қосындысын табатын алгоритмнің блок-схемасын құрайық: у = а + с .
Басы
а, с-ны енгізу
у = а + с
у-ті шығару
Соңы
Практикалық жұмыс №4
Тақырыбы: Алгоритм типтері
Теорияға шолу
Алгоритм құрылымына қарай оны келесі типтерге бөлуге болады:
Сызықтық алгоритмдер. Сызықтық алгоритм қарапайым командалар тізбегінен тұрады. Әрекеттердің тізбектей орындалуын сипаттайтын алгоритм – сызықтық алгоритм деп аталады. Мысалға, алдыңғы практикалық жұмыстағы екі санның қосындысын табу алгоритмі сызықтық алгоритмге жатады.
Тармақталу алгоритмі. Күнделікті өмірде алгоритмдер негізінен тармақтарға бөлінеді. Бұл тармақтардың орындалуы шарттың орындалуына байланысты болады. Тармақталу алгоритмінде біріншіден, арифметикалық теңсіздік түрінде берілген логикалық шарт тексеріледі. Егер шарт орындалса, алгоритм бір тармақ бойынша (1-ші серия) , ал егер орындалмаса, екінші тармақ бойынша (2-ші серия) орындалады.
1-ші серия
2-ші серия
Шарт?
иә
жоқ
Циклдік алгоритмдер. Көптеген алгоритмдерде белгілі бір әрекеттер бірнеше рет орындалады. Математикада, есеп шығару барысында айнымалы мәні өзгеруіне байланысты бір теңдеудің көмегімен бірнеше рет есептеледі. Алгоритмнің белгілі бір бөлігі бірнеше қайталанатын болса, ондай процессті цикл деп атайды. Қайталанатын бөлігі бар алгоритмдер циклдік алгоритм деп аталады. Циклдік алгоритмдер қолдану арқылы программаны қысқа да нұсқа жазуға болады. Қайталану бөлігіне қайталану (циклдік) командалары қолданады. Қайталану саны белгілі немесе белгісіздігіне байланысты циклдар екі түрге бөлінеді. Қайталану саны белгілі болса, ондай цикл арифметикалық, ал егер белгісіз болса, итерациялық деп аталады.
3254375-4445lefttop
Арифметикалық цикл Итерациялық цикл
Практикалық жұмыс №5
Тақырыбы: Есептерді шешу кезеңдері
Теорияға шолу
Компьютерде есеп шығару процессі өте күрделі болып табылады. Оны келесі кезеңдерге бөлу қабылданған:
Есептің ауызша анықталуы.
Есептің қойылымы. Есепті математикалық түрде анықтау.
Есепті ЭЕМ-де шешу үшін қолданатын әдісті таңдау және анықтау.
Есепті шешу алгоритмін құру.
Компьютерде есепті шешу программасын құру. Программаны баптау (қатесін жөндеу).
Қажетті берілгендерді дайындау.
Есепті компьютерде шешу, талдау және нәтижесін қолдану.
Есепті математикалық түрде анықтау дегеніміз есепті шешу үшін қажетті математикалық формулалар мен өрнектерді анықтауды айтамыз. Яғни, бұл дегеніміз – есепті математикалық күйге келтіру керек, математикалық символдар мен белгілер арқылы есепті анықтау керек.
Алгоритмді құру барысында есепті шешу тәсілдері тізбектелген әрекеттердің схемасы түрінде бейнеленеді.
Программа құрудеп – белгілі бір программалау тілінде алгоритмді жазуды атаймыз. Қазіргі таңда көбінесе, Бейсик, С++, Паскаль программалау тілдері қолданылады. Құрылған программаның қателерін компьютерде дұрыстау еш қиындық тудырмайды. Өйткені, компьютер қателерді бірден байқап, оны пайдаланушыға көрсетеді.
Қажетті берілгендерді дайындау – бұл алдын-ала таңдалып алынған берілгендерді магниттік дискке жазып, компьютер жадына ретімен енгізуді айтамыз.
Есептің нәтижесін алу және оны талдау – бұл арнайы мамандардың жұмысы.
Осы көрсетілген 6 кезең көбінесе үлкен өнеркәсіптік есептерді шешу кезінде пайдаланылады. Ал қарапайым есептерге көбінесе 3-ші, 4-ші және 6-шы кезеңдер қолданылады.
Алгоритм командалары есеп шартына қарай күрделі немесе қарапайым болып бөлінеді. Қарапайым командаларға: меншіктеу, берілгендерді енгізу, шығару командалары жатады. Күрделі командалар сызықтық, тармақталу және циклдық құрылымдардан тұрады.
Мысалы, шеңбердің ауданын табу. Кезеңдер бойынша есепті шешіп көрелік.
1-кезең:
Берілген: R – шеңбер радиусы
Табу керек: S – шеңбер ауданы
Байланыс: S = π*R2
Есепті шешу үшін келесі берілгендер қажет: R (3 см) , π (3,14)
Есеп математикалық болғандықтан, оның формуласы бізге белгілі. Осымен берілгендерді, есепті шешу жолын, формуласын анықтадық. Есептің қойылымын орындаған соң, келесі кезеңге өтеміз. Көп жағдайларда, 1-ші және 2-ші кезеңдерді біріктіріп, 1 кезең ретінде қарастыруға болады. Көбінесе, оқулықтарда бұл екі кезең «есептің қойылымы» кезеңі ретінде көрсетіледі.
3-кезең:
Есептің алгоритмін құру үшін өздерің білетін блок-схема тәсілін таңдауға болады. Алгоритм сызықтық түрде болады.
Басы
R, π –ді енгізу
S = π*R2
S шығару
Соңы
Алгоритм құру үшіналгоритмдік тілде немесе жазбаша түрде жазуды таңдауға да болады.
4-кезең
Программалау тілінде программасын құру үшін арнайы білім қажет. Программалау тілінің операторлары мен командаларын, оларды қалай қолдану керек, ол тілдің алфавитін, синтаксисін білу қажет. Алдыңғы уақытта қарастырылады.
5-кезең
Берілгендерді дайындау: егер программамыз дайын болған жағдайда, оны іске қосып, енгізілетін берілгендерді дайындаймыз.
R = 3
π = 3.14
6-кезең
Нәтижесін аламыз : S = 28,26
Практикалық жұмыс №6
Тақырыбы: Turbo Pascal программалау тілі.
Тілдің алфавиті, жазылу тәртібі
Теорияға шолу
Программалар белгілі бір мәселені, есепті шешуге арналған. Есепті шығару барысында компьютерге бастапқы мәліметтер енгізіледі, оларды қалай өңделетіндігі көрсетіледі және нәтиже қандай түрде, қандай құрылғыға шығарылатыны айтылады.
Паскаль тіліндегі программа жеке-жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар арқылы атқарылады.
Паскаль тіліндегі программа 3 бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі. Кез келген программаның алғашқы жолы PROGRAM сөзінен басталатын оның тақырыбынан тұрады. Одан кейін программаның ішкі объектілерінің сипатталу бөлімі жазылады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала анықтап көмектеседі. Сипаттау бөлімі бірнеше бөліктерден тұрады, бірақ программаның күрделілігіне байланысты көбінесе ол бір немесе екі ғана бөліктен тұруы мүмкін. Программаның соңғы және негізгі бөлімі операторлар бөлімі болып табылады. Орындалатын іс-әрекеттер, командалар осы бөлімде орналасады. Ол begin түйінді сөзінен басталып, барлық атқарылатын операторлар (командалар) тізбегі жеке-жеке жолдарға жазылып біткен соң end түйінді сөзімен аяқталады.
PROGRAM BASTAU;
СИПАТТАУ БӨЛІМІ
BEGIN
ОПЕРАТОРЛАР БӨЛІМІ
END.
Операторлар бөлімінде командалар ретімен орналасады.
Программалау тілінің алфавиті программаның элементтерін құруда қолданылуға болатын символдар жиынынан тұрады. Оған әріптер, цифрлар және арнайы белгілер жатады. Тіл ерекшеліктеріне қарай символдар тобын шартты түрде төмендегі топтарға жіктеге болады:
атаулар (идентификаторлар)
цифрлар
айыру белгілері
арнайы символдар.
Атау символдары ретінде латын алфавитінің 26 әрпі мен цифрлары қолданылады. Латын алфавитінің бас әріптері мен кіші әріптерінің маңызы бірдей. Мысалы, alfa1, ALFA1 бірдей болып есептеледі. Арнайы символдарға пунктуация және арифметикалық операция (+,-,*,/) белгілері жатады. Айыру белгілеріне бос орын, барлық басқару символдары, тыныс белгілері, ENTER пернесін басу белгісі және түсініктемелер жатады. Айыру белгілері атауларды, сандарды мағыналарына сәйкес арнаулы қызмет атқаратын түйінді сөздерді бір-бірінен бөліп тұрады. Айыру белгілері: _ , . : ; ‘ ( ) [ ] { }
Программалау тілдерінде «өрнек», «оператор», «тіл синтаксисі» мен «семантикасы» ұғымдары кең пайдаланылады.
Арифметикалық немесе логикалық амалдар таңбасымен біріктірілген айнымалылар, атаулар, функциялар, жиымдар т.б. мағынасы бар сөздер тізбегі - өрнек деп аталады. Математикадағы формулалар, арифметикалық өрнектер, алгебрадағы көпмүшелер программалау тілінде тек осы өрнек ұғымы арқылы беріледі.
Программалау тілінің белгілі бір іс-әрекетті орындай алатын тиянақты мағынасы бар ең қарапайым сөйлемі – оператор деп аталады.
Тіл объектілерін, яғни программада пайдаланылатын мәліметтердің құрылымы мен ұйымдастырылуын алдын ала анықтайтын сөйлемдер жиыны – программаның сипаттамасы болып табылады.
Мысал: радиусы r=5,5 см болатын берілген шеңбердің ұзындығын табу керек болсын. Шеңбер ұзындығын есептеу үшін l = 2πr формуласын пайдаланамыз.
Program bastau;{Программаның тақырыбы}
Const pi = 3.14159; {π тұрақтысының мәнін беру}
Var r, l : real; {r және l мәндерін нақты сан ретінде анықтау}
Begin{операторлар басы}
r:=5.5; {r мәнін беру}
l:= 2*pi*r; {шеңбер ұзындығын есептеу}
write (‘Радиусы 5,5 см болатын шеңбер ұзындығы =’, l);
{нәтижесін экранға шығару}
end. {программа соңы}
Практикалық жұмыс №7
Тақырыбы: Программа және оның құрылымы.
Командалар және операторлар
Теорияға шолу
Паскаль тілінің программасы блоктардан тұрады. Қандай да бір блок ішінде басқа да кішігірім блоктар орналасуы мүмкін. Блоктар екі бөлімнен тұрады, олардың алғашқысы – мәліметтерді сипаттау бөлімі, ал екіншісі – сол мәліметтерді пайдаланып, әр түрлі іс-әрекеттерді атқару бөлімі.
Мәліметтерді сипаттау бөлімінің болуы міндетті емес, ал екінші бөлімінің болуы міндетті. Басқа блокқа кірмейтін блок негізгі блок деп аталады. Ал блок ішіндегі блок жергілікті блок деп аталады.
Белгіні сипаттау
Тұрақтыны анықтау
Типтерді анықтау
Айнымалыларды сипаттау
Процедураны сипаттау
Функцияларды сипаттау
begin
оператор
end
;
Сипаттау бөлімі 7 бөліктен тұрады:
программамен байланысатын кітапханалық модульдер атауларының тізімі (uses түйінді сөзімен басталады);
белгілерді (label)сипаттау;
тұрақтыларды (const) сипаттау;
мәліметтер типтерін (type) анықтау;
айнымалыларды (var) сипаттау;
процедураларды (procedure) сипаттау;
функцияларды (function) сипаттау.
Осы айтылғандарға байланысты программа құрылымы мынадай болуы қажет:
Program <программа аты> (Input, Output);
Uses <1-атау, 2-атау, 3-атау, ....>;
Label ….;
Const …..;
Type …..;
Var …….;
Procedure <процедура аты>;
<процедура тұлғасы>;
Function <функция аты>;
<функция тұлғасы>;
Begin
<1-оператор>;
<2-оператор>;
…..
<n-оператор>;
End.
Мысал: 2 санның көбейтіндісін есептейтін программа құралық.
Program esep;
Var a,b, kobeitindi: integer;
Begin
Write (‘А бүтін санын енгізіңдер:’);
Readln(a);
Write (‘В бүтін санын енгізіңдер:’);
readln(b);
kobeitindi:=a*b;
write(‘А және В сандарының көбейтіндісі :’,kobeitindi);
end.
Программаға енетін айнымалылар мен тұрақтыларды, сандарды пайдаланып түрлі әрекет (нұсқау, жарлық) орындай алатын сөйлемдерді Паскаль тілінде операторлар, ал алгоритмдік тілде командалардеп атайды. Операторларды қарапайым және күрделі деп екі топқа бөледі. Begin және end түйінді сөздері операторлық жақшалар деп аталады. Сәкесінше, Begin – ашылатын, end – жабылатын жақшалар.
Оператор дегеніміз – алгоритмді жүзеге асыру барысында орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі. Олар жазылу ретіне қарай біртіндеп бірінен кейін бірі тізбектей орындалады. Операторлар бір-бірінен нүктелі үтір (;) арқылы бөлініп жазылады. Бір жолға ораналасатын операторларды құраушы символдар саны 256 символдан артпауы керек.
Қарапайым операторлар деп құрамына басқа операторлар енбейтін (меншіктеу, шартсыз көтеру, процедура шақыру) операторларды айтады.
Құрама операторлар бірнеше операторлардан құралады, оларға: шартты операторлар, таңдау операторы, қайталау операторлары жатады.
Операторлардың жіктелуі
Операторлар
Меншіктеу операторы
Енгізу – шығару операторы
Басқару операторлары
Функция және процедураларды анықтау операторлары
Практикалық жұмыс №8
Тақырыбы: Айнымалылар. Тұрақтылар. Деректер.
Теорияға шолу
Паскаль тілінің қарапайым объектілеріне «сан», «идентификатор», «тұрақты», «айнымалы», «функция» және «өрнек» ұғымдары кіреді. Атау – идентификатор программаны және программадағы тұрақтыларды, типтерді, айнымалыларды, функцияларды, файлдарды т.б белгілеп жазу үшін қажет. Идентификатор – міндетті түрде әріппен басталатын сандар мен әріптердің тізбегінен тұратын атау. Оның ұзындығын өте үлкен етудің қажеті жоқ, өйткені, атауларды теру және кейіннен есте сақтау біраз уақыт пен жады көлемін қажет етеді. Мысалы, x, X1, cymma, DT3.
Идентификатор стандартты және бейстандартты болып бөлінеді. Бейстандартты атауды тұтынушы өзі тағайындайды. Пайдаланушы қойған бейстандартты атауларға қойылатын талаптар:
Атау тек латын әріптермен басталуы тиіс. Тек белгілер атауы ғана цифрдан да әріптенде бастала береді.
Атаудың алғашқыдан кейінгі символдары әріптерден, цифрлардан немесе астын сызу белгісінен тұруы мүмкін.
Қатар орналасқан екі атау арасында кем дегенде бір бос орын белгісі болуы қажет.
Атаудағы символдар саны 127 –ден аспауы қажет.
Атауда бас әріптер мен кіші әріптерді қатар пайдалануға рұқсат етілген, олардың ішкі кодтары әр түрлі болғанмен, транслятор үшін ешбір айырмасы жоқ болып саналады.
Тұрақты немесе константа деп программаның орындалу барысында мәндері өзгеріссіз қалатын шамаларды айтады. Тұрақтыға программаның орындалу барысында бірден сандық мән берсек те немесе оны программаның сипаттау бөлімінде идентификатор түрінде белгілеп алып мән берсек те болады. Олар сандық, символдық, логикалық және тіркестік мәндерді қабылдайды.
Тұрақтыларға бейстандарт идентификаторлар атау ретінде берілуі тиіс. Барлық тұрақтылар программаның сипаттау бөліміндегі const түйінді сөзінен басталатын бөлікте көрсетілуі тиіс. Оның жазылу пішімі келесідей:
Const Min=1000; Max=1000000;
Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп, әр уақытта әр түрлі мәнге ие бола алады. Айнымалының атауы оның орындайтын міндетіне сәйкес түсінікті және қарапайым болғаны жөн. Оның жазылу пішімі:
Var <идентификатор> : <тип> ;
Мысалы:
Var a,b:integer;
Sum, baga: real;
Айнымалылар қарапайым және индексті болуы мүмкін. Қарапайым айнымалылар өз атаулары бойынша жазылады. Мысалы, delta, x, y, resultm, nuber_1. Индексті айнымалыларға массив элементтері жатады.
Программада пайдаланылатын мәліметтердің немесе шамалардың мәндері Паскаль тіліндегі алдын ала келісілген типтердің біріне тән болуы тиіс.
Мәліметтердің немесе шамалардың типі деп, олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың жиынын анықтауды айтады, яғни тип дегеніміз – шамалардың қабылдайтын мәндеріне берілетін сипаттама. Паскаль тілінде пайдаланылатын барлық типтер скалярлық және құрылымдық болып екі үлкен топқа бөлінеді.
Стандартты (скалярлық) типтер:
бүтін – INTEGER
нақты – REAL
логикалық – BOOLEAN
символдық – CHAR
тіркестік – STRING
Бүтін сан түріндегі типтер. Паскаль тілінде бүтін шамалар үшін бес стандартты тип пайдаланылады, олардың сипаттамасы келесідей:
Типі Мәндерінің өзгеруі
BYTE 0 – 255
SHORTINT -127 – +128
INTEGER -32768 – +32767
WORD 0 – 65535
LONGINT -2147483648 – +2147483647
Ондық сандар бүтіні мен бөлшегін бөлетін үтірі жылжымалы және тұрақты түрде жазылады. Үтірі математикадағыдай жазылады, бірақ үтір орнына нүкте қойылады. Мысалы, 12.5, 49.89
Нақты сан REAL сөзімен анықталады оның диапазоны: -1.7 *1038 – 1.7 *1038.
Логикалық типтегі шамалар (BOOLEAN) негізінен екі мән ғана қабылдайды: TRUE – ақиқат, FALSE – жалған. Олар компьютер жадында бір байт орын алады.
Символдық типтегі шамалар (CHAR) мән ретінде тек бір таңбаны ғана қабылдай алады. Мәннің символ екендігін көрсету үшін оны апостроф ішіне алып жазады. Мысалы, ‘a’, ‘5’, ‘K’.
Тіркестік типтегі шамалар (STRING) апостроф ішіне алынған символдар тізбегі қабылдайды. Мысалы, ‘MAMA’, ‘fbvv’, ‘654654’.
Практикалық жұмыс №9
Тақырыбы: Арифметикалық операциялар. Өрнектеу
Теорияға шолу
Шамаларға қолданылатын операциялар (амалдар) олардың типтеріне байланысты болады. Бүтін типке мынадай амалдар қолданылады: +, -, *, /, div, mod. Келесі кестеде осы операциялар және олардың операторлары мен нәтижелерінің типтері келтірілген.
Арифметикалық амалдар
белгілер операциялар Операндтар типі Нәтиже типі
+ Қосу Екеуі де бүтін, не біреуі бүтін, біреуі нақты Бүтін, нақты
- Азайту Екеуі де бүтін, не біреуі бүтін, біреуі нақты Бүтін, нақты
* Көбейту Екеуі бүтін немесе екеуінің біреуі нақты Бүтін, нақты
/ Бөлу Бүтін немесе нақты Нақты
div Бүтін бөлу Бүтін Бүтін
mod Бүтін қалдық Бүтін Бүтін
Қосу, азайту, көбейту, бөлу амалдары кәдімгі математикадағыдай орындалады, ал қалған екі амалға мысал келтірейік.
5 div 2 = 2 5 mod 2 = 1
8 div 3 = 2 8 mod 3 = 2
7 div 2 = 3 7 mod 2 = 1
Өрнекдеп арифметикалық амал таңбаларымен біріктірілген айнымалылардың, функциялардың, тұрақтылардың жиынтығын айтады. Өрнектегі арифметикалық амалдардың орындалуы олардың орналасу реті мен жақшалар арқылы өзгертіледі. Қарапайым жағдайда өрнек тек айнымалылардан, тұрақтылардын немесе функциялардан тұруы мүмкін. Мысалы, (5+7*х)/7.2;
Алгоритмдік тілдерде арифметикалық амалдардың орындалу тәртібі олардың математикадағы орындалу тәртібіне сәйкес келеді, яғни алдымен жақша ішіндегі амалдар, сонан соң көбейту, бөлу, қосу, азайту т.б. амалдар орындалады.
Практикалық жұмыс №9 - ға арналған тапсырмалар
Тапсырма №1. Жұмыс дәптеріңе орында.
а) 25 санын 3-ке бөлгендегі бөліндіні табыңдар.
б) 42 санын 5-ке бөлгендегі бүтін қалдықты табыңдар.
Тапсырма №2. Жұмыс дәптеріңе орында.
1- нұсқа 2-нұсқа
37(25+87,5)-17(4,6+1,9) а+2с-3х
2ас . 45,5(5х+2,189)-2а
Практикалық жұмыс №10
Тақырыбы: Стандарттық функциялар
Теорияға шолу
Паскаль тілінде көбінесе қолданылатын математикалық не басқа функциялар үшін алдын-ала программалары ішкі модуль ретінде жазылып, SYSTEM стандарттық кітапханасында сақталған. Оларды керекті кезде стандарттық функциялар мен процедуралар ретінде қолдануға болады. Стандарттық функциялар көбінесе қолданылатын математикалық функцияларды есептеу үшін қолданылады. Стандарттық функцияларды жазу үшін міндетті түрде оның атын және жақша ішінде функция аргументтерін көрсету керек. Стандарттық функцияларды пайдаланғанда функция мен оның аргументтерінің типтері бірдей бола бермейтінін естен шығармау керек.
Арифметикалық функциялар
Математикалық жазылуы Паскаль тілінде жазылуы Орындалатын фунция Функция типі
|x| abs(x) Аргументтің абсолюттік шамасы arctg x arctan(x) Аргументтің арктангенсі Нақты
cos x cos(x) Аргументтің косинусы Нақты
sin x sin(x) Аргументтің синусы Нақты
ex exp(x) е санының х дәрежесі Нақты
frac(x) х санының бөлшек бөлігі Нақты
[x] int(x) х санының бүтін бөлігі Нақты
ln x ln(x) х санының натуралдық логарифмі Нақты
π pi Пи санының мәні (3,14159265) x2 sqr(x) х санының квадраты sqrt(x) х санының квадрат түбірі Нақты
Арифметикалық функиялардың аргументтері нақты немесе бүтін болады. Деректердің типтерін өзгерту функциялары, мысалға, нақты санды бүтін санға айналдыру немесе символдық типті бүтін типке айналдыру үшін қолданылады.
Round(x) – нақты санды бүтін санға дөңгелектейді.
Trunс(x) – нақты санның бүтін бөлігі.
Odd(x) – х мәнін жұп немесе тақ сан екенін анықтайды. Егер х мәні жұп болса, онда функция нәтижесі – false, ал егер сан тақ болса, онда функция нәтижесі – true болады.
Мысалы, келесі функция берілген.
Осы функцияны Паскаль тілінде жазайық.
Y:= sqrt ((2*sqr(x))/ (exp(x)*ln(x)));
Егер х санының квадраты емес, кубын табу керек болса, оның бірнеше жолы бар:
х3 - sqr(x) * x;
х3 - exp(3*ln(x));
Яғни, санның кез келген дәрежесін соңғы әдіспен есептеуге болады.
ху -> exp(y*ln(x));
Келесі өрнектердің математикалық және программалау тілінде жазылуы көрсетілген:
Практикалық жұмыс №11
Тақырыбы: Меншіктеу операторы
Теорияға шолу
Меншіктеу операторы барлық тілде пайдаланылатын негізгі оператор болып табылады. Математикадағы қарапайым теңдеу тәрізді айнымалыларға сандық мән беру бұл жағдайда меншіктеу операторы деп аталады.
Меншіктеу операторы жазылған өрнектердің мәнін есептеп, оны айнымалыға меншіктеу үшін қолданылады. Өрнек мәнінің типі айнымалының типіне міндетті түрде сәйкес келуі тиіс. Кейде нақты түрдегі айнымалыға бүтін сан мәнін меншіктеуге болады, ондайда бүтін сан нақты санға айналып кетеді. Меншіктеу операторының жазылу пішімі:
<айнымалы атауы> : = <өрнек>;
Мұндағы <айнымалы атауы> - айнымалы идентификаторы,
: = – меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген сан мәнін қабылдайды,
<өрнек> - арифметикалық өрнек немесе сан.
Бұл оператор екі міндет атқарады:
Айнымалылардың белгілі мәндері бойынша арифметикалық өрнектің сандық мәнін есептейді.
Табылған мән айнымалы атауына меншіктеледі, яғни анықталған мән сол айнымалыға сәйкес компьютер жады ұяшығына орналасады.
Мысалы:
I:=I+1;
X:=3.56;
X1:=(-b+4.63)/46*a;
N:=’mama’;
Res:=true;
Y:=sqrt(5)+1;
Практикалық жұмыс №12
Тақырыбы: Деректерді енгізу және шығару
Теорияға шолу
Паскаль тілінде мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала анықталатын Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.
Паскаль тілінде мәлімет енгізетін READ операторының жалпы пішімі төмендегідей:
READ (A1, A2, …, AN);
READLN(A1, A2, …, AN);
READLN;
Мұндағы, A1, A2, …, AN – айнымалы атаулары, оларды енгізу операторының параметрлері деп атайды. Оператордың параметрлері біреуден көп болса, олардың арасын бос орын қалдыру арқылы енгізу керек.
READLN алдыңғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Ешқандай параметрсіз енгізу операторы READLN ешбір мән енгізбейді, тек курсорды келесі қатарға көшіруді ғана атқарады. Енгізілетін айнымалылардың мәндері integer, real, char немесе string типтеріне жатуы мүмкін. Логикалық айнымалылар мәндері енгізілмейді. Мысалы:
Var
I: real;
J: integer;
K: char;
Begin
Read (I, J, K);
…..
Егер осы программаны іске қосатын болсақ, келесі мәндерді пернетақтадан енгізсек болады:
214.25 59 ‘р’
Бүтін айнымалыға бүтін, нақты айнымалыға нақты мәндер берілуі қажет.
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы қолданылады. Оның жазылу пішімі:
WRITE (A1, A2, …, AN);
Мұндағы жақша ішіндегі жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін. Мысалы, экранға А-ны мәні = 13.26 дегенді шығару үшін келесідей команда жазамыз:
WRITE( ‘A-ның мәні=’ , A);
Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылады. Паскаль тілінде нақты сандарға шығару операторын қолданғанда оларды компьютер экспоненциалды түрде шығарып көрсетеді. Алдыңғы мысалда экранда келесідей жазу шығады:
A-ның мәні=1.326Е+01
Бұл деген 1.326 *101
Пайдаланушыға түсінікті болу үшін оны қалыпты түрге келтіруге болады.
WRITE( ‘A-ның мәні=’ , A:4:2);
А : 4 : 2 дегендегі 4- нәтижеге берілген барлық орын, 2 – үтірден соңғы бөлшек бөлігіне берілетін орындар саны.
Мысал:функциясын есептейтін программа құру қажет. x – тің мәнін пернетақтадан енгізіледі.
Program esep2;
Var
x:integer;
y:real;
begin
writeln(‘х санын енгізіңіз:‘);
read(x);
y:=sqrt(x);
writeln(‘y=’, y:5:2);
end.
Практикалық жұмыс №13
Тақырыбы: Сызықты алгоритмді программалау
Теорияға шолу
Сызықтық алгоритм программасы тізбектеле орналасқан командалардан тұрады. Сызықтық программа құру үшін енгізу-шығару және меншіктеу операторларын білу жеткілікті. Мысалдар:
Есеп 1 (1-деңгей-төменгі).2 бүтін сан енгізіп және 1-ші санның 2-санға бөліндісін есептеп, оны экранға шығаратын программа құру.
Program esep1_1;{программаның аты}
Var{айнымалыларды сипаттау бөлімі}
n1,n2 : Integer;{n1 және n2 – бүтін сандарын анықтау}
х : Real;{бөлінді нәтижесі x – нақты сан}
BEGIN{программа басы}
Write( 'n1 = ');{ n1 санын енгізу туралы ақпаратты экранға шығару}
ReadLn (n1) ;{ n1 – ді енгіземіз}
Write ( 'n2 = ');{ п2 санын енгізу туралы ақпаратты экранға шығару}
ReadLn (n2);{ п2 – ні енгіземіз}
x := n1/n2;{бөліндіні есептейміз, оны х айнымалысына меншіктеу}
WriteLn('n1/n2 =',х);{нәтижені экранға шығарамыз}
END.{программа соңы}
Бағдарламаны іске қосамыз (F9 пернесін басамыз). Егер бағдарлама дұрыс, синтаксистік қатесіз болса, экранда
n1 =
деген ақпарат көрініп тұрады. n1-ге кез келген бүтін санды енгіземіз. Мысалға:
n1 = 55
Enter пернесін басамыз, сонда келесі мәнді (n2 =) енгізу қажеттігі туралы мәлімет шығады, ол экранда келесідей тұрады:
n1 = 55
n2 =
n2 айнымалысына мән береміз, мысалы: 5 мәні
n1 = 55
n2 =5
Enter пернесін басамыз, сонда программа есептеулер жүргізіп (n1/n2), нәтижені экранға шығарады:
n1 = 55
n2 =5
n1/n2 = 11
Есеп 2. (2-деңгей-орташа).A = (x+y/(5+x))/|y-sinx+x|+5arctgx функциясын есептейтін программа құру.
Program esep1_2;
Var{айнымалыларды сипаттау бөлімі}
x,y: Real;{х және у – нақты сандар}
A: real;{А функциясы – нақты сан}
BEGIN{программа басы}
Write( 'x = ');{ x санын енгізу туралы ақпаратты экранға шығару }
ReadLn (x) ;{ x – ті енгіземіз}
Write ( 'y = ');{y санын енгізу туралы ақпаратты экранға шығару}
ReadLn (y);{ y – ті енгіземіз}
A:= (x+y/(5+x))/abs(y-sin(x)+x)+5* arctan(x);
{А функциясының мәнін есептейміз}
WriteLn('A =', A:5:3);{нәтижені экранға шығарамыз}
END.{программа соңы}
Есеп 3. (3-деңгей - жоғарғы). F= функциясының мәнін табу
программасын құру. Мұндағы, x, y – бүтін сандар, z = x3 + .
Program esep1_3;
Var {айнымалыларды сипаттау бөлімі}
x,y: Integer; {х және у – бүтін сандар}
z, F: real; {z және F – нақты сандар}
BEGIN {программа басы}
Write( 'x = ');{ x санын енгізу туралы ақпаратты экранға шығару }
ReadLn (x) ;{ x – ті енгіземіз}
Write ( 'y = ');{y санын енгізу туралы ақпаратты экранға шығару}
ReadLn (y);{ y – ті енгіземіз}
z:= Sqr(x)*x + Sqrt(y);{ z - ті формула бойынша есептеу}
F:=sqrt(2)*sin(x)/arctan(5*y) + cos(z)/exp(z);
{F функциясының мәнін есептейміз}
WriteLn('z =', z:5:3, ‘F=’, F:5:3);{нәтижені экранға шығарамыз}
END. {программа соңы}
Практикалық жұмыс №14
Тақырыбы: Символдық шамалармен сызықты программалар құру
Теорияға шолу
Символдық мәліметтерді өңдеу символдық типті анықтайтын CHAR түйінді сөзі арқылы жүзеге асырылады. Символдық айнымалыға компьютер жадынан бір байт орын беріледі.
Символық типтегі мәлімет үшін төмендегідей стандартты функциялар қолданылады.
Chr(x)- byte типіндегі х өрнегін символға түрлендіреді.
Ord(ch) – с символын оның byte типіндегі сәйкес кодына түрлендіреді.
Pred(ch) – ch –тың алдыңғы кодына сәйкес символды береді.
Succ(ch) – ch-тан кейінгі кодына сәйкес символды береді.
Upcase(ch) - кіші латын әріптерін бас әріптерге айналдырады, басқа символдарға әсер етпейді.
Символдық шамаларды енгізу READ операторы көмегімен жүзеге асырылады. Паскальда бос орын ‘_’ таңбасы символ орнына жүретіндіктен, символдық айнымалылардың мәндері бос орынсыз жазылады. Бір айнымалыға бір ғана символ меншіктеледі. Мысал:
………………..
Var a,b,c :char;
…………………
READ (a,b,c);
………………..
Егер пернетақтадан SND енгізсек, онда айнымалылар сәйкесінше,
a:=’S’, b:=’N’, c:=’D’ мәндерін қабылдайды. Егер мәндерді S N D түрінде берсек, онда a:=’S’, b:=’ ’, c:=’ N’ мәндерін қабылдайды, соңғы екі таңба ешқайда енгізілмейді. Тағы бір ерекшелік – ENTER пернесі басылса да бос орын символы болып есептеледі.
Символдық мәндерді енгізгенде EOLN стандартты функциясы қолданылады. Бұл функция мәні «жолдың соңы болды» немесе «мәндер беріліп болды» дегенді білдіретін ENTER пернесі басылғанда ғана ақиқат болады да, қалған жағдайлардың барлығында жалған болады. Бұл функция көбінесе циклдік операцияларда пайдаланылады.
Мысалы: енгізілген “ibm” әріптерін бас әріппен шығаратын программа құру.
Program esep;
Var a,b,c:char;
Begin
Read (a,b,c); {символдарды енгізу}
a:= Upcase(a); {бас әріпке түрлендіру}
b:= Upcase(b); {бас әріпке түрлендіру}
c:= Upcase(c); {бас әріпке түрлендіру}
Writeln(a,b,c);{нәтижені шығару}
End.
Практикалық жұмыс №15
Тақырыбы: Тармақтық алгоритмді программалау
Теорияға шолу
Тармақталу процесстері бар алгоритмдерді ұйымдастыру үшін шартты операторлар пайдаланылады. Тармақталу белгілі бір шарттың орындалуы немесе орындалмауына тәуелді атқарылады. Шарт ретінде логикалық өрнектің мәні пайдаланылады. Паскальда екі шартты оператор бар: if және саse.
If операторының толық жазылу пішімі:
IF<шартты өрнек>
THEN<1-оператор>
ELSE<2-оператор>;
немесе қысқартылған түрі
IF<шартты өрнек>
THEN<1-оператор>;
Мұндағы, 1- және 2- операторлардың өздері қарапайым немесе құрама оператор болуы мүмкін. IF сөзінен соң жазылатын өрнек түрінде берілген шарт алдын ала есептеледі, оның нәтижесі логикалық типте болады. Егер ол шарттың мәні TRUE (ақиқат) болса, THEN сөзінен кейін жазылған 1- оператор атқарылады, әйтпесе FALSE (жалған) болса, 2-оператор атқарылады.
Мысал:
Х = a / b - 1, егер a < b;
X = 25 - a, егер a = b;
X = b - 5, егер a > b.
program esep2_1;
var
a,b,x: real;
begin
writeln(' a және b сандарын енгіз:');
readln(a,b);
if (a < b) then x:= (a / b)-1;
if (a = b) then x:= 25 - a;
if (a > b) then x:= ((b - 5) / a);
writeln('X = ',x);
end.
Практикалық жұмыс №16
Тақырыбы: IF … THEN тармақталу операторлары
Теорияға шолу
Есеп 1.
функциясының мәнін есептейтін программа құру.
Program esep2_2;
Var {айнымалыларды сипаттау бөлімі}
x: Integer;{х – бүтін сан}
А: real; {А нәтиже – нақты сан}
BEGIN{программа басы}
Write( 'x = ');{ x санын енгізу туралы ақпаратты экранға шығару }
ReadLn (x) ; { x – ті енгіземіз}
If (x<-1) Then A:= x + sin(x)
{егер х саны (-1)- ден кіші болса, А= функциясы орындалады}
ElseA:= 3* sqrt(x+1); {әйтпесе (х>-1 болса), А=функциясы орындалады }
WriteLn('A =', A:5:3);{нәтижені экранға шығарамыз}
END. {программа соңы}
Есеп 2. Кез келген 3 бүтін сан берілген: X, Y және Z. Осы сандарды кему реті бойынша орналастыратын программа құру қажет.
Program esep2_3;
Var
x,y,z,n: integer;{x,y,z – енгізілетін сандар, n – уақытша буфер}
N
Х У
begin writeln('Бүтін сандарды енгіз: X, Y және Z');
readln(x,y,z);{ x,y,z бүтін сандарын енгізу}
if (x < y) then{ егер х– у санынан кіші болса}
begin
n:=x;{ n – буферіне х –тің мәнін меншіктейміз}
x:=y;{ х –ке у –тің мәнін меншіктейміз}
y:=n;{ у –ке n – буферіндегі мәнді меншіктейміз}
N
Y Z
end;
if (y < z) then{ егер y–z санынан кіші болса}
begin
n:=y; { n – буферіне y –тің мәнін меншіктейміз}
y:=z; { y –ке z –тің мәнін меншіктейміз}
z:=n; { z –ке n – буферіндегі мәнді меншіктейміз}
end;
if (x < y) then Y
N
X
begin
n:=x;
x:=y;
y:=n;
end;
if (y < z) thenZ
N
Y
begin
n:=y;
y:=z;
z:=n;
end;
writeln('Сандар кему реті бойынша орналастырылды:',x,' ',y,' ',z);
end.
Практикалық жұмыс №17
Тақырыбы: Таңдау операторы
Теорияға шолу
Шартты операторда, егер шарт ақиқат болса, 1-жағдай, әйтпесе 2-жағдай орындалады. Бірақ көбінесе, мүмкін болатын жағдай екеу емес, одан да көп бола береді, яғни процесс көп тармақты болады. Мұндай жағдайларда шартты операторды пайдалану қолайсыз, себебі, ол программаның көлемін ұлғайтып жібереді.
Таңдау операторы (case) бірнеше операторлардың ішінен таңдау жолымен көп тарамды тармақталуды ұйымдастырады. Тармақталу берілген логикалық мәнге ие болатын өрнек түріндегі шартты тексеруден басталады, өрнек мәндері таңдап алынған типтердің бірі болатын бүтін, символдық, логикалық типтердің бірінде жазылады. Бұл өрнек оператор орындалар кезде белгілі мәнге ие болуы тиіс. Егер өрнектің есептелген мәні көрсетілген мәннің біріне сәйкес келсе, сол қатардың операторы орындалады.
CASEтаңдау операторы көп тармақты алгоритмдерді барынша қарапайым және көрнекі түрде жазуға мүмкіндік береді. Оның құрамында селектор (selector - таңдау) деп аталатын өрнек және параметрлер тізімі болуы тиіс, әрбір параметрге сәйкес таңдау тұрақтылары болуы қажет. Таңдау операторының жазылуы пішімі:
Case <селектор-өрнек> of
<1-тұрақты>: <1-оператор> ;
<2-тұрақты >: <2-оператор > ;
………..
<n-тұрақты >: <n-оператор > ;
Else <n+1 - оператор >;
End;
Таңдау командасы былай орындалады. Алдымен, селектор-өрнек мәні есептеледі де, ол тұрақтылармен салыстырылады. Егер өрнектің мәні 1-тұрақтыға тең болса, онда 1-оператор орындалады, ал өрнектің мәні 2-тұрақтыға тең болса, онда 2-оператор, 3-тұрақтыға тең болса, онда 3-оператор т.б. тізімдегі тек бір ғана оператор орындалады да, таңдау командасы осымен аяқталады. Егер селектор-өрнектің мәні ешбір тұрақты мәніне тұрақты мәніне сәйкес келмесе, онда else сөзінен кейін тұрған оператор орындалады. Кейде оператор құрамында else қатары болмайды, ондайда end сөзінен кейінгі тұрған жол орындалады.
CASE операторын қолданғанда, келесі ережелерді ұстанған жөн:
CASE сөзінен кейінгі өрнек мәні дискретті типке жатуы тиіс; бүтін санды тип үшін ол integer болады;
Операторлар алдындағы тұрақтылар типі селектор-өрнек типімен бірдей болуы керек.
Тұрақтылар мәндері бір-бірінен айрықша болып, қайталанбауы тиіс, олардың мәні диапазонға сәйкес келгенде де, бір-бірімен қиылыспай өз аралықтарын ғана қамтуы қажет.
Мысал: Кез келген жыл мерзімін енгізіп, сол жылдың шығыс күнтізбесі бойынша қай жануардың атына сәйкес келетінін анықтау программасы. Алгоритм негізіне 12-ге қалдықсыз бөлінетін жыл мешін жылы болатыны алынған.
Program gyl1; {программа тақырыбы}
Var gyl: integer; { gyl айнымалысын сипаттау}
Begin {программаның басы}
Write (‘Керекті жылды енгізіңдер:’);
Readln(gyl); {жылды енгізу қатары}
Write(gyl:4, ‘жыл’);
Case (gyl mod 12) of {таңдау операторы}
{gyl айнымалысының бүтін қалдығын анықтау}
0: write(‘мешін’);
1: write(‘тауық’);
2: write(‘ит’);
3: write(‘доңыз’);
4: write(‘тышқан’);
5: write(‘сиыр’);
6: write(‘барыс’);
7: write(‘қоян’);
8: write(‘ұлу’);
9: write(‘жылан’);
10: write(‘жылқы’);
11: write(‘қой’);
End;{таңдау операторының соңы}
Writeln(‘жылы болады’);
END.{программаның соңы}
Практикалық жұмыс №18
Тақырыбы: Циклдік алгоритмді программалау.
For циклдік операторы
Теорияға шолу
Көп жағдайда аргументтерінің әр түрлі мәні бойынша алгоритмнің белгілі бір бөліктерін бірнеше рет қайталауға тура келеді. Осындай процесстерді ұйымдастыру үшін циклдік құрылымды алгоритмдер – қайталау операторлары қолданылады. Олар әр түрлі заңдылық негізіндегі ереже бойынша қолданылады.
Паскаль тілінде қайталау процессін жүзеге асыратын циклдік операторлардың 3 түрі бар: арифметикалық цикл - FOR, шартын алдын ала тексеретін цикл – WHILE және шартты соңынан тексеретін цикл – REPEAT.
Егер шартын алдын ала тексеретін циклдегі операторды неше рет қайталау керек екендігі белгісіз болып, оның тек қайталану шарты берілсе, онда WHILE, REPEAT операторлары пайдаланылады. Ал FOR операторы қайталану саны алдын ала белгілі болған кезде қолданылады.
FOR операторын параметрлі цикл операторы деп те аталады, өйткені, қайталау саны функция аргументі сияқты циклдің параметрі қызметін атқаратын басқару айнымалысы арқылы беріледі.
FOR операторының екі түрі бар:
FOR<айнымалы>:=<S1> to <S2> do <оператор>;
FOR<айнымалы>:=<S1> downto <S2> do <оператор>;
Мұндағы, S1 және S2 – цикл параметрінің алғашқы және соңғы мәндерін анықтайтын өрнектер; for…do – цикл тақырыбын анықтайтын түйінді сөздер; <оператор> - цикл тұлғасы.
FOR – ҮШІН, TO – ДЕЙІН, DO – ОРЫНДАУ деген мағынаны беретін түйінді сөздер. Паскаль тілінде цикл параметрі міндетті түрде бүтін немесе реттелген типтегі айнымалы болуы қажет. Параметрдің өзгеру қадамына байланысты операторда TO немесе DOWNTO (DOWN – төмен, TO – дейін, DOWNTO - кері қарай) түінді сөздері пайдаланылады. Егер қадам +1 ге тең болса, онда операторда TO, ал қадам -1 –ге тең болса, онда DOWNTO сөзі қолданылады.
Параметрдің бастапқы және соңғы мәндері бүтін сан түрінде немесе өсуі, кемуі бойынша реттелетін болуы тиіс, әйтпесе оларды бүтін мен беретін арифметикалық өрнек түрінде жазуға да болады.
K:= S1, S2, 1
оператор
FOR операторының блок-схемасы
Мысал: 1 мен 100 аралығындағы сандар қосындысын есептейтін программа құру.
(for операторын қолдану арқылы)
Program esep3_1;
Var{айнымалыларды сипаттау бөлімі}
N, S:Integer;{х,y – бүтін сандар }
BEGIN{программа басы}
S:=0;
Цикл денесі
For N:=1 to 100 do{ цикл 100 рет айналады}
S:=S + N;{ қосындыныесептеу}
Writeln(‘S=’, S);{ нәтиженіэкранғашығару }
End.{ программа соңы}
Программа нәтижесі:
S=__________.
Практикалық жұмыс №19
Тақырыбы: Repeat циклдік операторы
Теорияға шолу
REPEAT қайталау операторы WHILE операторына ұқсас, айырмашылығы – қайталану шарты цикл соңында тексеріледі, сондықтан ол кем дегенде бір рет орындалатын болады. Екінші өзгешелігі – цикл тұлғасы шарт жалған болғанда қайталанып, ол ақиқат болған кезде циклді орындау доғарылады.
Бұл оператор REPEAT және UNTIL түйінді сөздерін пайдаланып орындалады. Жазылу пішімі:
REPEAT
<оператор 1>;
<оператор 2>;
…………
<оператор n>;
UNTIL <шарт>;
Бұл жерде операторлар REPEAT және UNTIL сөздерінің арасына орналасқандықтан, мұнда BEGIN және END сөздері жазылмайды.
REPEAT операторының циклі ішінде оның орындалу шартына әсер ететін кем дегенде бір оператор болуы тиіс, әйтпесе, ол шексіз қайталана беруі мүмкін.
Мысал.1 кг ірімшік 300 тг. тұрады. Ірімшіктің 100, 200, 300, ..., 1000 граммына төленетін теңгені анықтайтын және есептің жауабын кесте түрінде шығаратын программа құру. Қадам – 100 –ге тең.
Program esep3_3;
Var{айнымалыларды сипаттау бөлімі}
m: Integer; {m – бүтін сан }
z:real;{ z – нақты сан }
BEGIN{программа басы}
m:=100;{ m-нің бастапқы мәні}
repeat{цикл басы}
4610100-271145z:=(300*m)/1000;{төленетін теңгені есептеу}
WriteLn(m, ' | ',z , ' тг.');{нәтижені экранға шығару}
m:=m+100;{m мәнін 1 қадамға жоғарылату}
until m>1000;{циклшарты}
readln;
END.{программа соңы}
Программа нәтижесі:
| 30 тг.
| 60 тг.
| 90 тг.
| 120 тг.
500 | 150 тг.
....................
...................
1000 | 300 тг.
Практикалық жұмыс №20
Тақырыбы: WHILE циклдік операторы
Теорияға шолу
Алдын ала берілген шарт бойынша қайталауды жүзеге асыратын оператор WHILE және DO түйінді сөздері қолданылып орындалады. Жазылу пішімі:
WHILE <қайталану шарты> DO <цикл тұлғасы>;
Мұндағы қайталану шарты – логикалық өрнек, цикл тұлғасы – қайталанып орындалып отыратын қарапайым немесе құрама оператор. Цикл әрбір орындалар алдында қайталану шартының мәні есептеледі, егер ол ақиқат болса, цикл тұлғасы орындалады да, шарт қайта тексеріледі. Қайталану шарты жалған болса, циклдің орындау доғарылып, WHILE операторынан кейінгі жолдар атқарыла бастайды. Егер шарт бірінші тексерілгеннен–ақ жалған болса, онда цикл орындалмайды. Егер цикл тұлғасы қарапайым оператор емес, құрама оператор болса, онда оператордың жазылу пішімін келесідей жазуға болады:
WHILE <шарт> DO
BEGIN
<1-оператор;>
<2-опреатор;>
…….
<N-опреатор;>
END;
Мысал. x-тің х= 1, 2, 3, 4, 5, 6 мәндерінде у= функциясының мәнін табу программасын құру.
Program esep3_2;
Var{айнымалыларды сипаттау бөлімі}
x,y: Integer; {х,y – бүтін сандар }
BEGIN{программа басы}
x:=1;{х-тің бастапқы мәні}
while (x<=6) do
{егер х-тің мәні 6-дан төмен немесе тең болғанда, цикл денесі орындалады}
begin{цикл басы}
y:=exp(x)+2*sqrt(x);{у функциясын есептеу}
WriteLn('x =', x, ' | y =', y);{нәтижені экранға шығарамыз}
x:=x+1;{х мәнін 1 қадамға жоғарылату}
end;{цикл соңы}
END.{программа соңы}
Программаны іске қосқанда келесі нәтижелер шығуы міндет:
х=1 | у=1
х=2 | у=4
х=3 | у=9
х=4 | у=16
х=5 | у=25
х=6 | у=36
Егер бір цикл тұлғасында басқа циклдік құрылым бар болса, онда олар қабатталған циклдер деп аталады. Құрамына басқа цикл кіретін цикл сыртқы болып саналады да, сыртқы цикл тұлғасына кіретін цикл ішкі болып есептеледі.
Көптеген есептерді шығару үшін бірінің ішіне бірі қабаттасқан осындай күрделі циклдерді пайдалануға тура келеді. Күрделі циклдер қарапайым циклдерден құралады.
Мысал 2.(While, For операторын қолдану арқылы)
z=x+2y функциясының мәнін есептеу, мұндағы х=2, 4, 5, 6, 8, 10 және у=5, 6, 7, 8, 9
Program esep3_1;
Var
z,x,y:integer;
begin
while (x<=0) do
3600450174625begin
for y:=5 to 9 do
begin
z:=x+2*y;
writeln(‘x=’, x,’| y=’, y, ‘| z=’, z);
x:=x+2;
end;
end;
readln; end.
Практикалық жұмыс №21
Тақырыбы: Графиктік объектілерді программалау.
Графикалық процедуралар мен функциялар
Теорияға шолу
Қазіргі компьютерлерде символдардан бөлек әр түрлі суреттер, графиктер салуға болады. Ол үшін Паскаль тілінде әр түрлі графикалық процедуралар пайдаланылады. Графикалық процедуралар мен функциялар GRAPH модулінде орналастырылған. Оларды пайдалану үшін сипаттау бөлігінде
USES GRAPH;
түйінді сөзін пайдалану керек.
Графиктермен жұмыс істеу алдында оған сәйкес келетін монитор режимін орнату керек. Паскальда алдын ала бекітілген драйверлер саны бар, олардың әрқайсысы үш түрлі режимнің бірінде жұмыс істей алады. Драйверлер типі мен оның режимі санмен немесе тұрақты түрінде беріледі.
GRAPH модулі іске қосылысымен, оның ішіндегі процедуралар мен функцияларды пайдалана беруге болады.
Графикалық режимді алғашқы рет іске қосу үшін InitGraph процедурасы қолданылдаы, оның жазылуы:
InitGraph (DriverVar, ModeVar:integer, Gol:string);
Мұндағы DriverVar – графикалық адаптердің типі; ModeVar – оның жұмыс режимі; Gol – GRAPH модулінің маршрутын көрсетеді.
Программаның бас жағына мынадай жолдар жаза аламыз:
Uses graph;
Var
d, m: integer;
begin
d:=detect;
initgraph(d,m,’’);
Геометриялық объектілерді құру процедуралары.
PutPixel(x,y : integer; color : word); - нүкте салу операторы.
x,y – нүкте координаталары, color оның түсін анықтайды. Мысалы: for i:=1 to 60do PuPixel(I,1, red);операторы бірінші қатарға 60 қызыл нүктеден тұратын сызық салады.
Line(x1,y1,x2,y2: integer); - түзу сызық салу процедурасы.
Ағымдағы түс бойынша координаталары x1, y1, нүктесінен x2,y2 нүктесіне дейін кесінді сызылады, мысалы, – Line (1,1,600,1);
Бастапқы нүкте көрсетілмесе, онда мына процедура:
LineTo (x,y:integer); - курсор тұрған орыннан бастап координаталары x,y болатын нүктеге дейін түзу сызық сызады.
SetLineStyle(t,p,th:word);- сызық қалыңдығы мен стилін орнату, t – сызық түрі, p – сызық үлгісі, th – сызық қалыңдығы.
Сызық стилдері
Тұрақты Оның Сипаттамасы
мәні
solidLn 0 үздіксіз сызық
dottedLn 1 нүктелерден тұратын сызық
ctnterLn 2 нүктелер мен тиреден тұратын сызық
dashedLn 3 штрихті пункитрлі сызық
userBitLn 4 орындаушы тағайындайтын сызық типі
Түрлі түстер
Тұрақты Нөмірі Экран түсі
Black 0қара
Blue 1көк
Green 2жасыл
Cyan 3 көгілдір
Red 4 қызыл
Magenta 5 күлгін
Brown 6 қоңыр
LightGray 7 боз
LightBlue 57 көкшіл
LightCyan 59 ақшыл көк
LightRed 60 қызғылт қоңыр
LightMagenta 61қызғыш
LightYellow 62 сары
LightWhite 63ақ
Сызық салу кезінде оның түсі алдыңғы орнатылған түспен беріледі, оны өзгерту үшін:
SetColor(color:word); - процедурасы қолданылады, мұндағы color – жаңадан орнатылатын түрінің аты немесе нөмірі. Мысалы, SetColor(7); - сызық түсі боз болады.
SetВкColor(color:word); - процедурасы экран түсін, яғни рең түсін өзгертеді, мұндағы color – жаңадан орнатылатын түрінің аты немесе нөмірі. Мысалы, SetВкColor(4); - экран түсі қызыл болады.
Rectangle (x1,y1,x2,y2:integer); - сол жақ жоғарғы (х1,у1) және оң жақ төменгі төбелерінің координаталары (х2,у2) бойынша төртбұрыш сызады.
Bar (x1,y1,x2,y2:integer); - мұнда ағымдағы түспен іші боялған тіктөртбұрыш сызылады. Бояу түсін SetFillStyle процедурасы көмегімен енгізуге болады.
SetFillStyle (Patter,color:word); - объектінің ішін бояйды, толтыру стилі мен түсін өзгертеді, мұндағы Pattern – толтыру стилі, ол тұрақты немесе нөмір арқылы беріледі; color – толтыру стилі.
Floodfill(x,y:integer; bor:word); - таңдалған стиль бойынша тұйық фигураның ішін бояйды. Мұндағы x,y – фигураның ішінде жатқан кез келген нүктенің координатасы, bor – шекара сызығының түсі.
Circle(x,y:integer;r:word); - шеңбер сызу процедурасы, мұндағы x,y – центрдің координатасы, r – пиксель арқылы берілген шеңбердің радиусы.
Ellipse (x,y:integer; b1,b2,rx,ry); - эллипс доғасын сызады, мұндағы x,y – центр координаталары, b1,b2 – алғашқы және соңғы доғаның бұрыштары, rx, ry – эллипстың жатық және тік радиустары.
FillEllipse(x,y:integer; xr,yr:word); - іші боялған эллипс сызу, мұндағы x,y – центрдің координаталары, xr,xy –эллипстің жарты осьтері.
Outtext(text:string); - процедурасы арқылы берілген орнынан бастап экранға мәтін жолын шығаруға болады.
Outtextxy(x,y:integer;tex:string); процедурасы. Мұндағы x,y – мәтін жазылатын жолдың алғашқы басталатын орнының координаталары, tex – мәтін, ол апостроф ішіне жазылады.
Мысал:
Program tortbyrish;{программа тақырыбы}
Uses graph;{ graph модулін іске қосу}
Var d,m:integer;{d және m бүтін айнымалыларын сипаттау}
Begin{басы}
D:=detect; initgraph(d,m,’’); {графикалық режимді инициализациялау}
Setbkcolor(1);{фон түсін орнату}
Rectangle(150,150,300,320); {тіктөртбұрыш сызу}
Setfillstyle(8,6);{бояу стилін орнату}
Floodfill(160,200,15);{ ішін бояу }
Setfillstyle(1,3);{бояу стилін орнату}
Bar(350,150,500,320);{төртбұрыш сызу}
Readln;
Closegraph;{графикалық режимді жабу}
End.{соңы}
Программа нәтижесінде әр түрлі стильмен сызылған 2 төртбұрыш экранда пайда болады.
Практикалық жұмыс №22
Тақырыбы: Символдық мәліметтермен жұмыс
Теорияға шолу
Символдық немесе литерлік айнымалыға компьютер жадынан бір байт орын беріледі. Символдық айнымалылар CHAR типті болады.
Мысалы: ағылшынның алфавитін экранға шығарып беретін программа құралық.
Program kodtar; {программаның тақырыбы}
Var c: char; {с символдық айнымалыны сипаттау}
Begin{программаның басы}
For c:=’a’ to ‘z’ do {параметрлі цикл операторы}
Write(c); {цикл денесі: с айнымалысын баспаға шығ.}
End.{соңы}
Мұның нәтижесінде дисплей экранында abcd….z символдары көрінеді. Ал алфавитті кері тәртіпте бейнелеу қажет болса, онда FOR операторының алғашқы жолын басқаша мынадай түрде жазу керек.
For c:=’z’ downto ‘a’ do
Символдық және сандық мәндерді енгізгенде, көбінесе EOLN (жол соңы) стандартты функциясын пайдалану қолайлы болады. Бұл функцияның мәні «жолдың соңы болды» немесе «мәндер беріліп болды» дегенді білдіретін ENTER пернесі басылғанда ғана ақиқат болады да, қалған жағдайлардың барлығында жалған болады. Бұл оператор көбінесе циклдік операторларда қолданылады.
Мысал: Енгізілуге тиіс бүтін сандардың ENTER пернесі басылғанша қаншасы терілгенін есептейтін программа құру керек.
Program sanau; {программа тақырыбы}
Var a,i:integer; { a және i бүтін айнымалыларын сипаттау}
Begin{басы}
I:=0; { i есептегішінің бастапқы мәнін 0-ге теңестіреміз}
Readln;
While not eoln do {қатардың соңында Enter пернесін басқанша}
Begin{цикл денеісі}
Read(a); {а айнымалысын енгізу}
I:=I+1; {енгізілген санды есепке алу}
End; {цикл соңы}
Writeln; {келесі қатарға меңзерді өткізу}
Writeln(‘I=’, I); {нәтижені экранға шығару}
End. {соңы}
Практикалық жұмыс №23
Тақырыбы: Мәтіндік деректермен жұмыс
Теорияға шолу
Мәтін әр түрлі символдардан тұратын жолдар тізбегінен тұрады. Әдетте, мәтіндермен жұмыс істегенде, тек символдық шамаларды пайдалану тиімсіз, өйткені көбінесе жеке символдарды емес, олардың тізбегін – сөз тіркестерінен тұратын мәтін жолдарын өңдеу қажет болады. Символдар жолы немесе жолдық тұрақты деп символдарының саны 256-дан аспайтын апострофтар ішіне алынған символдар тізбегін айтады.
Тіркестік айнымалының типі программаның типтерді сипаттау бөлімінде немесе тікелей айнымалыны сипаттау бөлімінде де орналаса береді. Оның айнымалы бөлімінде сипатталуы:
Var
<айнымалы аты, ...>; string [жолдың ұзындығы];
Мысал:
Var
Tex1 : string[29];
Atj : string[40];
Atau : string[200];
A : string;
Егер жолдың ұзындығы (символ саны) сипаттау кезінде көрсетілмесе (А айнымалысы), онда оның ұзындығы 256 символ деп қабылданады.
Тіркестік өрнектерде біріктіру және салыстыру амалдары пайдаланады. Біріктіру немесе конкатенация амалы, ол қарапайым «+» белгісімен белгіленеді. Бұл амал бірнеше символдардан немесе сөз тіркесінен жаңа мәтін жолын құру үшін пайдаланылады. Мысалы:
‘Ауыл’ + ‘шаруашылығы’ = ‘Ауыл шаруашылығы’
S1:=’Ас’; S2:=’тана’; S3:= S1+S2;
Нәтижесі: S3:=’Астана’;
Салыстыру амалдары, олар: +, <>, >, >=, <, <= белгілерімен белгіленеді. Сөз тіркестерін салыстыру олардың символдарының кодтарын солдан оңға қарай біртіндеп бір-бірімен салыстыру арқылы жүзеге асырылады. Егер тіркестің алғашқы символдары бірдей болса, онда қай жолдың символы көп болатын болса, сол үлкен деп есептеледі. Егер өрнекте біріктіру мен салыстыру амалдары болса, ең алдымен біріктіру амалы, содан соң салыстыру амалы орындалады. Сөз тіркесінің салыстыру амалының нәтижесі логикалық шама болады. Мысалдар:
өрнек нәтиже
‘MS-DOS’< ‘MS-Dos’ true
‘program’ < ‘PROGRAM’ true
‘SAM’ = ‘SAM’ true
‘SAM’ > ‘SAM’ true
‘BBB’ < ‘BB’ false
‘TAM1’ > ‘TAM2’ false
‘100’ < ‘110’ true
Мәтін ұзындығын анықтайтын операциясы – LENGTH (x).
Length (‘ABCD’) = 4. Length (‘a f 5 1’) = 7.
Copy (St, Poz,N) – St сөз тіркесінің Poz нөмірлік символынан бастап қатар тұрған N символ көшіріліп алынады. St – тіркестік айнымалы, Poz, N – бүтін сандар. Егер сөз тіркесі ұзындығынан N артық болса, нәтиже бос символ болады.
Concat(s1, s2,…,sn) – жақша ішіндегі тіркестік айнымалылар мәндерін орналасқан орындары бойынша біріктіреді.
Upcase(ch) – латын алфавитінің кіші әріптерін сәйкесінше бас әріптерге ауыстырады.
Delete(S,Poz,N) – S сөз тіркесі символдарының Poz нөмірінен бастап, N символды өшіреді де нәтижені қайта S мәні ретінде жазады, мұнда Poz<255.
Insert(S1,S2,Poz) – S1 сөз тіркесін S2 тіркесінің Poz нөмірінен бастап кірістіріп орналастырады да, нәтижені S2 мәні ретінде жазады.
Str(I,S) – I санын сиволдар тіркесіне ауыстырады да, нәтижені S мәні ретінде жазады. I атауынан кейін шығару пішімін ( I:2) көрсетуге болады.
Val(S,I,god) – S сөз тіркесі ретінде берілген сандық мәнді бүтін немесе нақты санға ауыстырады да, нәтижені I айнымалысының мәні ретінде жазады. God – бүтін типтегі айнымалы, егер түрлендіру кезінде қате болмаса, сod = 0 – нәтиже дұрыс, ал cod <> 0 болса, онда нәтиже қате, оның мәні алғашқы қате кеткен орын нөмірін көрсететін санға тең болады да, мұндайда I – дің мәні анықталмаған болып саналады.
Мысал: «Студент» сөзі берілген. Стандартты тіркестік процедуралар мен функцияларды пайдаланып, төмендегі тапсырмаларды орындау керек:
сөздің ұзындығын табу;
сөзге «пін» жалғауын жалғау;
сөзден «ден» үзіндісін кесіп алу;
сөзден «ент» үзіндісін алып тастау;
сөз алдына «Мен» тұрақтысын кіргізу;
сөз ішіндегі «е» әрпінің орналасу нөмірін табу:
program student;
var
a1: string [7]; a2: string [3];
a3: string [10]; a4: char;
b1,b6:integer; b2: string [10];
b3: string [3]; b4: string [4];
b5: string [11];
begin
writeln;
a1:=’студент’; a2:=’пін’;
a3:=’Мен’; a4:=’е’;
b1:=length(a1); {ұзындығын анықтау b1=7}
b2:=concat(a1,a2); { a1 және a2 –ні қосу}
b3:=copy(a1,4,3);{а1 тіркесінің 4-ші позицисынан 3 символды бөліп алу}
b4:=copy(a1,5,3); { а1 тіркесінің 5-ші позицисынан 3 символды бөліп алу }
b5:=concat(a3,a1); { a3 және a1 –діі қосу }
b6:=pos(a4,a1); {5}
write(‘сөз ұзындығы:’,b1,’’:2,b2,’’:2,b3,’’:2,b4);
writeln(b5,’’:2, b6);
end.
Практикалық жұмыс №24
Тақырыбы: Массивтер (жиымдар). Бір өлшемді массивтер
Теорияға шолу
Жиым-бұл бір атаумен (жиым идентификаторы) белгіленіп біріктірілген біртекті элементтер жиыны. Жиымдардың негізгі параметрлерінеоныңтипі (сандық,символдық,логикалық), өлшемі (бірөлшемді,екіөлшемді т.с.с) және көлемі (жиымдардың әрбір өлшемдегі элементтерінің саны) жатады.
Жиымды сипаттау үшін array ofсөз тіркесі қолданылады.
Оның жазылу пішімі:
type <тип аты> = array[<индекс типі>] of <элемент типі>;
var <идентификатор, ...> : <тип аты>;
мұндағы array (жиым),of (-дан,-ден,-тан,-тен)-түйінді сөздер;
[<индекс типі>]-real,integer базалық типтерінен өзге кез келген стандартты тип, яғни индекстің типі ретінде шектеулі саналатын, логикалық және литерлік типтер пайданылады; <элемент типі> - құраушылар (элементтер) типі, яғни Паскаль тілінде пайдалануға болатын жиым элементтерінің типі.
Жиым элементтеріне қол жеткізу үшін оның индексі пайдаланылады. Индекс элементтің қай жерде тұрғанын анықтайды. Индекс өрнек, айнымалы немесе тұрақты түрінде берілуі мүмкін.
Жиым типтер бөлігінде көрсетілмей, бірден айнымалылар бөлігінде былай да анықтала береді:
var <идентификатор,…>:array[< индекс типі>] of
[< элемент типі>];
Мысалдар:
type
Klass =(K1,K2,K3,K4);
Znak =array[1..255] of char;
Var
M1:Znak; {Znak типі типтер бөлігінде анықталған}
M2:array [1..60] of integer;{М2 жиымын тікелей сипаттау}
M3:array[1..4]of Klass;
Mas:array [1..4] of integer;
Lit:array [char] of real;
Ogr:array [5..15] of char;
Bol:array[boolean] of integer;
A:array[1..5] of real;
Aj:array[қаңтар,...,желтоқсан] of integer;
var A: array[ 1 .. 5 ] of integer ;
бастапқы индекс
соңғы индекс
элементтер типі
аты
Бірөлшемді жиымды көбінесе сызықтық жиым дейді.
A[2]
жиымы
Жиым
25
20
15
10
5
A
Жиым элементінің
НӨМІРІ (ИНДЕКС)
A[1]
A[2]
A[3]
A[4]
A[5]
Жиым элементінің
НӨМІРІ (ИНДЕКС): 2
Жиым элементінің
МӘНІ: 10
5
4
3
2
1
Мысал 1: 13 бүтін саннан тұратын тізбектің арифметикалық ортасын табатын программа құралық.
PROGRAM ORTA;
Var
X:array [1..13] of integer;{массивті сипаттау}
I:integer;
S:real;
Begin
S:=0;
Writeln(‘бос орын арқылы 13 сан енгізіңдер:’);
For i:=1 to 13 do
Begin
Read(x[i]);{массив элементтерін енгізу}
S:=s=x[i];{массив эл-нің қосындысын есептеу}
End;
S:=s/13;{арифметикалық ортасын есептеу}
Writeln(‘s=’,s:8:4);{нәтижені баспаға шығару}
End.
Мысал 2: n элементтен тұратын нақты сандар жиымының элементтерін өсуі бойынша реттеп орналастыру программасын құралық.
Program ret;
Var
A:array[1..50] of real;{А массивін сипаттау}
K,I,j: integer;
M:real;
Begin
Write (‘элементтер саны n-ді (n<50) енгізіңдер: ’ );
Readln(n);{массив өлшемін енгізу}
For k:=1 to n do {цикл ішінде массив элем-рін енгізу}
Begin
Write(k, ‘-элементті енгізіңдер:=’);
Readln(a[k]);
End;
For k:=1 to n do
begin
i:=k;{массивтің 1-ші индексін сақтап қою}
for j:=k+1 to n do{екінші цикл ашу}
if a[j]<a[i] then{ең үлкен элементті анықтау}
begin
i:=j; m:=a[k]; a[k]:=a[i];{элементтер орнын ауыстыру}
a[i]:=m;
end;
write(‘’, a[k]:6:2);{баспаға шығару}
end;
end.
Практикалық жұмыс №25
Тақырыбы: Екіөлшемді массивтер
Теорияға шолу
20
10
6
12
15
3
11
9
8
0
-5
2
7
4
1
3
2
1
5
4
3
2
1
A матрицасы
11
0
7
10
15
0
-5
2
12
қатар 2
баған 3
Егер жиым атауында бір ғана индекс болса, онда ол жиымды бірөлшемді, ал екі индекс болса – екіөлшемді және т.с.с n индекс болса, n - өлшемді жиым дейді. Бірөлшемді жиым вектор элементтері, ал екіөлшемді жиым матрица болып табылады. Мысалы:
ұяшық A[3,4]
Типтер бөлігінде екіөлшемді жиым былай есептеледі:
Type atau = array [1..n, 1..m] of <элементтер типі>;
Var a,b: atau;
Екіөлшемді жиымды көбінесе айнымалы бөлігінде былай сипаттау жиі қолданылады:
Var
B: array [1..n, 1..m] of <элементтер типі>;
Екіөлшемді жиымдармен жұмыс атқарғанда бір цикл операторының ішінде бір цикл операторлары болуы мүмкін. Демек, жиым элементтерін енгізу немесе экранға шығару үшін цикл операторларын мынадай түрде пайдалануға болады:
For i:=1 to n do
For j:=1 to m do
Read(b[I,j]);
немесе экранға шығару үшін:
For i:=1 to n do
begin
writeln;
For j:=1 to m do
write(b[i,j]);
end;
Мысал 1: Екіөлшемді а және b матрицаларының қосындысы болып табылатын s матрицасын табу керек.
Program kosu;
Var
A,b,s:array[1..3, 1..3] of real;{a,b және s матрицаларын сипаттау}
i,j:integer;
begin
writeln(‘а жиымы элементтерін босорын арқылы енгізіңдер:’);
for i:=1 to 3 do
for j:=1 to 3 do read(a[i,j]);{а матрицасын енгізу}
writeln;
writeln(‘b жиымы элементтерін босорын арқылы енгізіңдер:’);
for i:=1 to 3 do
for j:=1 to 3 do begin
read(b[i,j]); {b матрицасын енгізу}
s[I,j]:=a[I,j] + b[I,j];{а және b матрицасына қосып, s матрицасына меншіктеу}
end;
writeln(‘қосынды жиымның элементтері:’);
for i:=1 to 3 do begin
for j:=1 to 3 do write(s[I,j]);{жаңа құрылған матрицасының элем-рін баспаға шығару}
writeln;
end;
end.
Мысал 2: Өлшемі 4 х 4 нақты сандардан тұратын матрица берілген. Матрицаның ең кіші элементін табатын программа құралық.
Program matrissa;
Const n=4;
Var
A:array [1..n, 1..n] of real;{а матрицасын сипаттау}
Min,res:real;
I,j,k1,k2:integer;
Begin
Writeln(‘Матрица элементтерін босорын арқылы енгізіңдер:’);
For i:=1 to n do
Begin
For j:=1 to n do read(a[I,j]);{А матрицасын енгізу}
Writeln;
End;
Min:=a[1,1];{1-ші элементті ең кіші деп сақтап қоямыз}
k1:=1; k2:=1;{1-ші элементтің индекстерін сақтап қою}
For i:=1 to n do
For j:=1 to n do begin
If min>a[I,j] then begin{ең кіші элементті анықтау шарты}
Min:=a[I,j];{егер ағымдық эл.кіші болса,min-ді ауыстырамыз }
K1:=I; k2:=j;{сәйкесінше, индекстеріде ауысады}
End;
End;
Writeln(‘ең кіші элемент=’, min:6:2,’, ол’, k1:2,’- жолда және’,k2:2,’-бағанада орналасқан’);{минимальды эл.баспаға шығару}
End.
Практикалық жұмыс №26
Тақырыбы: Функция және процедуралар
Теорияға шолу
Компьютерде шығарылатын есептердің күрделіленуіне байланысты программалардың көлемі өсіп, оларды жазу, оқу, түзету күннен-күнге қиындап барады. Осыған байланысты программа құруды, түсінуді, өзгертуді жеңілдететін тәсілдер жасалған, олар құрылымдық программалау деп аталады.
Белгілі бір ат қойылып, жеке программа түрінде бөлек жазылған, қажет кезінде оны қайталап пайдаланып отыруға болатын негізгі программаның арнайы бөлігін көмекші немесе қосалқы программа деп атайды.
Белгілі бір әрекеттерді орындау мақсатында алдын ала бекітілген аты бойынша шақырылып орындалатын программаның тәуелсіз бөлігі процедура деп аталады. Жұмысының нәтижесі бір ғана мән болатын процедура функциядеп аталады.
Процедураны сипаттаудың жазылу пішімі:
Procedure <аты> (көрсетпелі параметрлер тізімі);
Const ….;
Type …..;
Var …..;
Begin
<опреаторлар>;
End;
Функцияның жазылу пішімі:
Function <аты> (формальды параметрлер тізімі):<нәтиже типі>;
Const ….;
Type …..;
Var …..;
Begin
<опреаторлар>;
End;
Функцияның операторлар бөлімінде ең аз дегенде функция атына мән меншіктейтін бір оператор болуы тиіс. Негізгі программадағы функцияны шақыру нүктесіне оның ең соңғы меншіктелген мәні беріледі.
Мысал: Кез келген екі санның үлкенін анықтайтын, maxi функциясын пайдаланып, берілген төрт санның үлкенін анықтайтын программа құру қажет.
Program maxmax;
Var
A,b,c,d,e,f, m1,m2,m3 : real;
Function maxi(a,b:real):real;{функцияны сипаттау}
{функция денесі}
Begin{функцияның басы}
If a>b then maxi:=a else maxi:=b;{екі санның үлкенін анықтау}
End;{функция соңы}
BEGIN{программа басы}
Write(‘4 сан енгізіңдер:’);
Readln(c,d,e,f);
m1:=maxi(c,d);{функцияны шақыру}
m2:=maxi(e,f);{функцияны шақыру}
m3:=maxi(m1,m2);{функцияны шақыру}
writeln(‘максималды сан=’, m3:5:3);
end.{программа соңы}
Осы мысалды процедураны пайдаланып, шығарып көрелік.
Program maxmax;
Var
z,a,b,c,d,e,f, m1,m2,m3 : real;
Procedure maxi(a,b:real; var z:real);{процедураны сипаттау}
{процедура денесі}
Begin{процедура басы}
If a>b then z:=a else z:=b;{екі санның үлкенін анықтау}
End;{процедура соңы}
BEGIN{программа басы}
Write(‘4 сан енгізіңдер:’);
Readln(c,d,e,f);
maxi(c,d,m1);{процедураны шақыру}
maxi(e,f,m2);{процедураны шақыру}
maxi(m1,m2,m3);{процедураны шақыру}
writeln(‘максималды сан=’, m3:5:3);
end.{программа соңы}
Практикалық жұмыс №27
Тақырыбы: Модельдер. Модель түсінігі. Модельдеу тәсілдері
Теорияға шолу
Модель дегеніміз- нақты объектіні, процессті немесе құбылысты ықшам әрі шағын түрде бейнелеп көрсету.
Модельдеу – объектілерді, процесстерді немесе құбылыстарды зерттеу мақсатында олардың моделін (макетін) құру.
Біздің өміріміздегі модельдер:
Модель– көрнекі түрде жазбаша жоспар, сызба ретінде жасалуы мүмкін. Мұндай модель барлық уақытта біздің ойымызда бейнеленетін прототип пайда болғанға дейін жасалады. Бір объект үшін әр түрлі модель жасалуы мүмкін. Модельдің жасалуы зерттеу мақсатына және прототип жөнінде жинақталған мәліметтердің көлеміне тәуелді болады. Мысалы, жуық арада басқа қалаға қыдырып баратын болдық делік. Ол қала туралы өзіміз білетін мәліметтерді жинақтап, ойымызды қорытып, қиялымызда сол қаланың моделін жасай бастаймыз. Мұндағы мақсатымыз – басқа қаламен танысу. Қаланы аралап келгеннен соң, толық мәлімет алғандықтан, ойымыздағы модель өзгеруі мүмкін. Ал сол қаланың сеулетші жасаған моделі мүлде өзгеше болады. Өйткені, оның мақсаты – үйлер мен ғимараттардың үйлесімді орналасуы, құрылысы және оларды көркейтіп қайта жаңарту болып табылады.
Түпнұсқа және модельдер:
Бір түпнұсқаға бірнеше модельдер сәйкес келуі мүмкін.
Модельдерді қасиеттеріне қарай мынадай топтарға жіктейді:
Қолдану аймағы.
Модельде уақыт факторын ескеру.
Білім саласына қарай топтау.
Модельді көрсету тәсіліне қарай топтау.
Қолдану аймағына қарай модель не үшін және қандай мақсатқа қолданылады деген сұраққа жауап беру мақсатында оқу, тәжірбиелік, ғылыми-техникалық, ойын, имитациялық тәрізді топтарға жіктеледі.
Оқу моделі– көрнекі оқу құралдары, әр түрлі машықтандырушы, үйретуші программалар түрінде болуы мүмкін.
Тәжірбиелік модель – жобалау объектісінің кішірейтілген немесе өте майда объектілер үшін олардың үлкейтілген көшірмесі болып табылады.
аэродинамикалық труба қауызда тәжірбие жүргізу
Ғылыми-техникалық модельдер– процесстер мен құбылыстарды зерттеу мақсатында құрылады. Оған мысал ретінде электрондардың жылдамдығын үдеткіш – синхротрон, найзағайдың разрядын бақылаушы құрал және теледидар тексеруге арналған стендтерді айтуға болады.
Күн сәулесінің имитаторы космостық зерттеулер вибростендНПО «Энергия»
Институтының вакуумдық камерасы
Ойын модельдеріне - әскери, экономикалық, спорттық ойындар жатады. Бұл модельдер әр түрлі жағдайда объектіні бақылауға жаттықтырады. Ойын модельдері адамдарға әр түрлі жағдайда психологиялық көмек көрсетеді.
Имитациялық модель– шын мәніндегі нақты объектіні өте жоғары дәлдікпен бейнелей алады. Тәжірбие нақты объектіні зерттеу, бағалау мақсатында бірнеше рет қайталанады немесе бір мезгілде әр түрлі жағдайда бірнеше ұқсас объектілермен қатар жүргізіледі. Дұрыс шешім таңдаудың мұндай тәсілі байқау және қатенің әдісі деп аталады.
Модельді уақыт факторына байланысты динамикалық және статистикалық деп екі топқа жіктеуге болады.
Статистикалық модельдеп объект жөнінде алынған ақпараттың белгілі бір уақыт бөлігіндегі үзіндісін айтуға болады.
Динамикалық модель– уақыт барысындағы объектінің қасиеттерінің өзгерісін көрсету мүмкіндігін береді.
Модельдерді көрсетілу әдісіне қарай материалдық және ақпараттық болып екі топқа жіктеледі.
Материалдық модельді басқа сөзбен заттық немесе физикалық деп айтуға болады. Олар түпнұсқаның геометриялық және физикалық қасиеттерін көрсетеді. Материалдық модельдердің қарапайым мысалдарына балалар ойыншықтарын алуға болады.
Ақпараттық модельді қолмен ұстап, көзбен көре алмаймыз. Себебі, олар тек ақпараттарға ғана құрылады. Мұндай модельдер қоршаған ортаны ақпараттық жағынан зерттеуге мүмкіндік береді. Ақпараттық модель дегеніміз – объектінің, процесстің, құбылыстың қасиеттері мен күйін сипаттайтын ақпарат жиынтығын және сыртқы әлеммен өзара байланыс болып табылады.
Ақпараттық модельге вербальдік модель жатады. Вербальдік модель дегеніміз – ойша немесе әңгіме түрінде жасалған ақпараттық модель.
Таңбалық модельдеп арнайы таңбалармен, яғни кез келген жасанды тіл құралдарымен көрсетілген ақпараттық модельді айтады.
Геометриялық модель– графикалық пішіндер мен көлемді конструкциялар.
Ауызша модель– иллюстрацияны пайдаланып, ауызша және жазбаша сипаттаулар.
Математикалық модель– объект немесе процесстің әр түрлі параметрлерінің байланысын көрсететін математикалық формулалар.
Құрылымдық модельдер – схема, графиктер мен кестелер т.б.
Логикалық модель– ой қорытындысы мен шарттарды талдау негізге алынған іс-әрекеттерді таңдаудың әр түрлі нұсқалары көрсетілген модельдер.
Арнайы модельдер– ноталар, химиялық формулалар.
Кез келген жұмысты қолға алмас бұрын, берілгені мен соңғы нәтиже және орындалатын іс-әрекет кезеңдерін айқындап алу қажет. Модельдеу кезінде бастапқы зерттелетін объект – прототип болады. Модельдеудің соңғы кезеңі шешім қабылдау болып табылады. Модельдеу арқылы зерттелген модельдің жаңа объектісін құруға, бар объектіні жақсартуға немесе қосымша ақпарат алуға болады. Модельдеудің негізгі кезеңдері есептің қойылу шарты мен мақсатына қарай анықталады.
1-кезең. Есептің қойылымы. Бұл кезеңде берілген бастапқы мәліметтермен қатар мақсатын анықтау және объектіні немесе процесті талдау анық көрсетілуі қажет.
2-кезең. Модель құру. Ақпараттық модель. Бұл кезеңде элементар объектілердің қасиеттері, күйі және басқа да ерекшеліктері кез келген пішінде, яғни ауызша түрде, схема немесе кесте арқылы да анықталады. Бастапқы объектіні құрайтын элементар объектілер жөнінде толық мағлұмат, яғни ақпараттық модель жасалады. Бұл кезең модель құрудың бастапқы бөлімі болып саналады.
3-кезең. Компьютерлік эксперимент. Жаңа конструкторлық жұмыс, техникалық шешімдерді өндірісте пайдалану және жаңа идеяларды тексеру үшін эксперимент жасау қажет. Компьютерлік тәжірбие жүргізу екі кезеңнен тұрады: модельдеу жоспарын құру және модельдеу технологиясы. Модельдеу жоспары модельмен жасалатын жұмыстың ретін анық көрсетуі қажет. Модельдеу технологиясы дегеніміз – пайдаланушы адамның компьютерлік модельмен орындайтын мақсатты іс-әрекеттерінің жинағы.
4-кезең. Модельдеу нәтижесін талдау. Модельдеудің соңғы мақсаты – шешім қабылдау болып табылады. Модельдеу нәтижесін талдау шешуші кезең болып табылады. Себебі, бұдан кейін модельдеуді жалғастыру немесе тоқтату керек. Егер қате жіберілсе, модельдеуді қайта қарап, алдыңғы кезеңге қайта оралу қажет. Бұл процесс модельдеу мақсатына сай болғанға дейін қайталана береді. Жіберілген қатені табудың өзі нәтиже болып таб
Практикалық жұмыс №28
Тақырыбы: Компьютерлік желілер. Интернет
Теорияға шолу
Компьютерлік желі дегеніміз – ресурстарды (дискі, файл, принтер, коммуникациялық құрылғылар) тиімді пайдалану мақсатында бір-бірімен байланыстырылған компьютерлер тізбегі. Желі жұмыс жасау үшін арнайы аппараттық және программалық жабдықтар болуы қажет. Желі арқылы оған қосылған кез келген компьютердегі ақпаратты жедел қарауға болады. Күнделікті өмірде кездесетін компьютерлік желіге мысал ретінде өздерің оқитын компьютерлік сыныптағы бірнеше компьютерлердің желіге біріктірілуін айтуға болады. Компьютерлік желілер масштабы мен мүмкіндігі бойынша ерекшеленеді. Ең шағын желілер жергілікті деп аталады да, бірнеше компьютерді біріктіру үшін қолданылады. Компьютерлік желіге желілік тақша, модем немесе жоғары жылдамдықты сандық телефондық қызмет торабы арқылы қосылады.
Жергілікті желі – саны шектеулі компьютерлерді біріктіру үшін қолданылады. Ақпарат – желілер арқылы берілетін сигналдарға түрлендіріледі, осыдан кейін сигнал қайта түрлендіріледі. Компьютерлер жергілікті желіге желілк тақша деп аталатын интерфейстік блок – желілк адаптер арқылы қосылады. Желілік адаптер – компьютердің байланыс желісімен сәйкестендірілуін қамтамасыз ететін құрылғы. Кең таралған адаптерлерге: Ethernet, Token Ring және ArcNett типтері жатады.
Интернет желісі – бүкіл Жер шары бойынша ақпарат ағынын таратуды қаматамасыз ететін желілер жиынтығы. Интернет – адамзаттың ақпараттық технология саласындағы жеткен жетістіктерінің бірі. Интернет – компьютерлік желілердің ішінде жаппай қолданылатыны болып табылады. Интернеттің ең қарапайым анықтамасы желілердің желісі деп аталады.
InterNet
inter – «арасы»
net, network – «желі»
Байланыс каналдары:
электрлік кабельдер
оптикалық талшықты
спутниктік радиобайланыс
Практикалық жұмыс №29
Тақырыбы: Интернетте ақпарат іздеу
Теорияға шолу
Компьютер провайдер мекеменің компьютерімен байланыстырған соң, Интернетке нақты түрде қосылу орындалады. Бірақ бүкіләлемдік желіде жұмыс істей алмаймыз. Интернетте жұмыс істеу үшін қосымша программалар қажет болады. Бұл программаларды таңдау Интернеттің қандай қызметімен жұмыс істейтіндігімізге байланысты. Интернетте әр түрлі қызмет көрсету түрі бар. Соның бірі –WORLD WIDE WEB қызметі. WORLD WIDE WEB – Интернеттің ең қарапайым және өте кең тараған қызмет түрі болып табылады. Көбінесе ол тек WEB деп аталады. Бұл қызметтің танымалдылығы сонша, оны көпшілік Интернеттің өзі деп біледі. WORLD WIDE WEB – қызметі интерактивті түрде жұмыс істеуге арналған. Ол ақпаратты іздеу және жинақтауға мүмкіндік береді. WORLD WIDE WEB қызметін пайдалануға HTML «құжаттарының пішімі» және «гипермәтіндік сілтемелер» деген негізгі екі ұғым бар.
Гипермәтіндік сілтемелерді пайдаланып, Интернет ақпарат кеңістігіндегі WEB – парақтардың бірінен келесісіне өтіп, оларды шексіз аралай беруге болады. Алайда, әлемдегі WEB – парақтардың өте көп екендігін ескерсек, қажетті мәліметті іздеп табуға өте көп уақыт кетеді, яғни бұл іс қиындай түседі. Сол себепті Интернетте ақпаратты іздеуге арналған іздеу серверлері бар. Іздеу серверлері өте көп емес, Интернетте жұмыс істейтін адамдар олардың адрестерін жақсы біледі. Жалпы іздеу серверлерінің екі түрі бар: іздеу каталогтері және іздеу индекстері. Іздеу каталогтері ақпараттарды олардың тақырыбы бойынша іздеуге арналған. Мұндай серверлердегі мәліметтер негізгі және ішкі тақырыптары бойынша реттеліп құрылған. Іздеу индекстері алфавиттік көрсеткіш арқылы жұмыс істейді. Белгілі бір сөзді немесе сөз тіркесін, яғни түйінді сөздерді енгізе отырып, сол термин кездесетін құжаттарды жылдам іздеп табуға болады. Сонымен бірге ақпарат іздеу мүмкіндігін беретін арнайы классификациялық серверлер де бар. Бұл серверлерде ақпарат жалпы тақырыптарымен бірге көп таралған танымал сөз тіркестерінің тізімі бойынша топтастырылған. Әрбір іздеуші мәліметіне байланысты құжаттарды ашу кезінде арнайы есептеуіш іске қосылып, көп қолданатын ақпараттардың есебі алынып отырады.
Практикалық жұмыс №30
Тақырыбы: Электрондық пошта
Теорияға шолу
Интернет поштасы. Компьютері Интернетке қосылған кез келген пайдаланушыға автоматты түрде электрондық пошта адресі тағайындалады. Интернетке қосылуға мүмкіндік беріп отырған сервер-компьютерде электрондық «пошта жәшігі» құрылады. Адреске келіп түскен әрбір хабар осы жәшікте, сол адресат сервермен нақты түрде қосылғанға дейін сақталады. Нақты түрде қосылу орындалған соң, жәшіктің мазмұны қатты дискідегі Кіру (Входящие) бумасына ауысады. Электрондық поштаны жөнелту әрекеті де дәл осылай жүзеге асады. Пошталық сервермен байланысу кезінде Шығу (Исходящие) бумасына жинақталған хабар автоматты түрде қайта жөнелту әрекеті орындалады.
Электрондық пошта хабарды әлемныің кез келген нүктесіне бірнеше сағатта жедел жеткізеді, кәдімгі поштаға қарағанда өте жылдам және қызмет құны да арзан.
Электрондық пошта (Electronic mail немесе қысқартылған түрде E - mail) – бұл компьютерлік желі арқылы хабарлама жөнелту және қабылдау тәсілі.
Пошталық сервермен байланыстырылған әрбір абоненттің электрондық адресі, пошталық жәшігі болады. Бұл жәшік абоненттің құпия сөзімен қорғалған. Электрондық адрестің көмегімен желідегі әрбір абонентті анықтауға болады. Абонент пен сервер хабарлама алмасу үшін кабельді немесе кәдімгі телефон желісін қолдана алады. Хабарлама бір серверден келесіге жеткізілуі үшін, бірқатар аралық серверлер арқылы өтуі мүмкін. Пошталық серверлер хабарламамен автоматтық режимде алмасады, желідегі хабарламаның қозғалыс маршруты арнайы программа-маршрутизатор арқылы есептеледі.
Хабарлама тиісті орын серверіне жеткізілген соң, адресаттың сервермен кезекті байланысуы кезінде поштаның келгендігі жөнінде мәлімет беріледі. Хабарлама алу үшін, пайдаланушының өз компьютерін үнемі қосылу күйінде ұстауының қажеті жоқ. Ол кез келген уақытта компьютерді қосып, хабарлама қабылдау немесе жөнелту үшін желімен байланыса алады. Электрондық пошта хабарламасы адресатқа жетуі үшін, адресті дұрыс көрсетуі керек. Адрестің жазылуы: nora@krok.net.ua болса, онда жәшік nora доменінде krok.net.ua деп те оқуға болады. Домен аты жеке сөздерден – бағынышты домендерден тұрады да, олар нүкте арқылы бөлініп жазылады. Бағынышты домендер аты солдан оңға қарай иерархиялық өсу деңгейі бойынша реттеліп орналасады. Оң жағында, ең жоғары деңгейде елдің аты жазылады: kz – Қазақстан, ua – Украина, ru – Ресей, fr – Франция, uk - Ұлыбритания. Домен атын қарастырғанда жоғары деңгейде әрқашан елдің коды болуы міндетті емес. Жоғарғы деңгейіндегі бағынышты домендер кездесуі мүмкін: com, gov, edu т.б. Солға қарай домендегі сервердің орналасу орнын анықтай түсетін бағынышты домендер жазылуы мүмкін. Мысалы, kiev.ua, msk.ru қалаларды көрсетеді.
vasya@mail.ru
пошталық сервер
пошталық жәшік
«кошечка» (Польша)
«роза» (Турция)
«собачка» (Ресей)
«маймыл» (Қазақстан)
@
Пайдаланушы электрондық хабарламаны жөнелту және қабылдауы үшін оның компьютеріне электрондық пошта клиенті программасы орнатылуы қажет. Өте көп тараған пошталық программалар: MicroSoft Exchange, Outlook Express, MicroSoft Outlook, Internet Mail, т.б. Пошталық программалар атқаратын қызметі хабарламаны қабылдау, оқу, дайындау, жөнелту, адрестік кітапты жүргізу болып табылады.
Стандартты функциялар және қызметші сөздер
Жазылуы
Атқаратын қызметі
ABS(X)
Абсолюттік шама
SQR(X)
Квадрат
SQRT(X)
Квадраттық түбірі
SIN(X)
Синус
COS(X)
Косинус
EXP(X)
Экспонента
LN(X)
Натурал логарифм
ARCTAN(X)
Арктангенс
FRAC(X)
Х-тің бөлшек бөлігі
INT(X)
Х-тің бүтін бөлігі
CHR(X)
Символды анықтау
ODD(X)
Х-тің тақ, жұп екендігін анықтау
ORD(X)
Х-тің реттік нөмірі
TRUNC(X)
Х-тің бүтін бөлігін шығару
ROUND(X)
Х-ті бүтін санға дейін дөңгелектеп шығару
RANDOM(X)
Кездейсоқ сан шығару
PRED(X)
Х-тің алдыңғы мәні
SUCC(X)
Х-тің келесі мәні
INC(X)
Х-тің үлкеюі
DEC(X)
Х-тің кемуі
EOF(X)
Файлдың соңын анықтау
EOLN(X)
Қатардың соңын анықтау
AND
ЖӘНЕ
OR
НЕМЕСЕ
NOT
ЕМЕС
NIL
Бос сілтеме
PROGRAM
Тақырып жазу
CONST
Тұрақтыларды сипаттау
LABEL
Таңба қою
TYPE
Типтерді сипаттау
VAR
Айнымалыларды сипаттау
BEGIN … END
Операторлық жақшалар
READ
Енгізу операторы
WRITE
Шығару операторы
IF … THEN … ELSE
Шартты өту операторы
CASE … OF
Таңдау операторы
GOTO
Шартсыз өту операторы
FOR … TO … DO
Параметрлі цикл операторы
REPEAT … UNTIL
Шартты соңынан тексеретін циклдік оператор
WHILE … DO
Шартты алдын-ала тексеретін циклдік оператор
ARRAY
Массивті сипаттау
PROCEDURE
Процедура
FUNCTION
Функция
RECORD
Жазу
SET
Жиын
UNIT
Модуль
USES Пайдаланушылар модулі
Қолданылған әдебиеттер
«Информатика және есептеуіш техника негіздері», Б.Бөрібаев, Б.Нақысбеков, Г.Мадиярова, Алматы. Мектеп, 2005 ж.
Информатика. Базалық курс, Ермеков Н.Т және басқалары, Алматы, Атамұра, 2003 ж.
А.И. Гусева. TurboPascal 7.0- де программалау. Москва, 1996 ж.
Ж.Динисламов. Turbo Pascal тілі және пайдаланушылар программалары негіздері. Көмекші оқу құралы. Қызылорда, 2001 ж.
В.Э.Фигурнов. IBM PC пайдаланушылар үшін. Москва, 1996 ж.
В.В. Фаронов. Turbo Pascal, Москва, 1999 ж.
Ж.Динисламов. TurboPascal ортасында программалау. Қызылорда, 2004 ж.