close

Вход

Забыли?

вход по аккаунту

?

2991 nurgazina b.kh. belgibaeva s.a algoritmdeu jane programmalau tilderi

код для вставкиСкачать
004
А20
Қазақстан Республккасы Білім жене ғылым министрлігі
С.Торайғыроп зтындағы Павлодар мемлекетгік универеитеті
ААГОРИТМАЕУ ЖӘНЕ
ПРОГРАММАААУ ТІАЛЕРI
050^03 - Ақпараттық ж/йелер мамзндыгы суудөнттеріне - 5
арналған оқу-эдістемелік кұрал
I
А
"4
Павлодар
Қ азақстан Р есп у б л и к асы Б ілім ж ән е ғы лы м м и н и стрлігі
С. Т орай ғы ров аты н д ағы П авлод ар м ем л екеттік ун и верси теті
Ф изика, м атем ати к а ж ә н е ақ п ар атты қ тех н о л о ги ял ар
ф акультеті
ш
И н ф о р м ати ка ж ә н е ақп аратты қ ж ү й ел ер каф ед расы
АЛГОРИТМДЕУ ЖӘНЕ
ПРОГРАММАЛАУ ТІЛДЕРІ
050703 - А қ п ар атты қ ж ү й ел ер м ам ан д ы ғы
с іу д е н т г е р ін е арн алған о қ у -әд істем ел ік құрал
0
С. БІЕЙСЕІЮьЛМВ ДТЫНіРДГЬі гы л ь ДДДЩЛ :
•
і
НАУЧНАЯ Б И Б Л Ж )Т Е К Л Л:
П авлодар
К ереку
2009
:Н я М
Д
|
УДК 004.43(07)
ББК 32.973.26-018.1Я7
А39
М ем лекеттік
гематика және ақ п ар атты к
оқу-әдістемелік кенесінле і
П ікір сарапш ы лар:
Ж.К.Нұрбекова - п.ғ.д., профессор, информатика және
ақпараттық жүйелер кафедрасының меңгерушісі;
А.Е.Сағымбаева - п.ғ.к., Абай атындағы Қазақ Үлтгық
педагоғикалық
университеті
информатика
және
қолданбалы
математика кафедрасының доценті.
~
^
*-
ш
Қ ұрасты руш ы лар: Б.Қ. Нұрғазина, С.А. Белгібаева
А39
жүйелер
мамандығы студен гтеріне
т: ТГ тт
1
1
^МІ^ІСМСЛІК құрал /
109 б
аЗИНа’
Белгібаева- 1 Павлодар : Кереку, 2009.
біріктірілг
қарастырылған
С.То £
атындағы Гі У-ді
: демик С.Бе. сем(
УДК 004.43(07)
ББК 32.973.26-018.1Я7
атындағы *ы ііы ы »
ІТАПХАКА
и ж
Нұрғазина Б.Қ., Белгібаева С.А. 2009
атындағы ПМУ
— .^ „ ^ ід а р д ы ң дұрыстығына, грамматикалық Ш
қателерге авторлар мен құрастырушылар жауапты
•рфографиялық
Кіріспе
«Алгоритмдеу және программалау тілдері» пәнінің мақсаты:
есептерді
алгоритмдеу
негізін,
программалаудың
автоматтық негіздерін, программалау тілдерінің түрлерін, мәліметтер
типтерін және Турбо Паскаль операторларының түрлерін оқыту;
ішкі программаларды қолданып программа, стандартты модульдер, деректердің динамикалық кұрылымын, программалық қамтамасыз етуді жобалау тәсілдерін, программалау стилін, программалаудың сапа көрсеткішін, программаны сынау мен қалыптастыру тәсілін,
объектілі-бағытталған
программалаудың
негіздерін
қолданып
программа құру.
Студенттер пәнді оқу процесінде білуі керек:
- әр түрлі алгоритмдердің құрылымдық схемасын;
- Турбо Паскаль тілінде қолданылатын есептерді алгоритмдеу
негіздерін, мәліметтер түрлерін, операторларды, ішкі операторларды,
функцияларды;
программалық жабдықтарды жобалау тәсілдерін, программалау
стилін, программалаудың сапа көрсеткіштерін, программаны сынау
мен қалыптастыру тәсілдерін, объектілі-багытталған программалау
негіздерін қолданып программа құруды;
Студенттер пәнді үйрену нәтижесінде дағдылануы керек:
- талап ететін есептерге сәйкес мәліметтер құрылымын ұйымдастыруға программалау тілін таңдауға; тіл құрылысын қолданып берілген
программалау тілінде ыңғайлы стильде программа құруға, программаны сынауға және қалыптастыруға, сапалы программалық құжаттарды
қүруға.
Ақпаратты жүйелерде қолданылатын
есептеу техникасының ролі
■
Кез келген электрондык есептеу машинасы (ЭЕМ) сыртқы және
шапшаң есте сақтау құрылғысынан тұратын жадыдан, қандай да бір
әрекеттер мен операцияларды- орындайтын басқару құрылғысы (БІ<5
мен арифметикалық құрылғыдан (АҚ) тұратын автомат болып
табылады. Жады нөлдер мен бірлер сериясындағы екілік ақпарат
сақталатын
нөмірленген ұяшьгқтардың тізбегі түрінде болады.
Программамен басқарылатын ЭЕМ-нің автоматтандырылған жұмысы
тактілер тізбегінен тұрады. Әрбір тактіде БҚ жадының қажет
ұяшығындағы ақпаратты алады. Бұл ақпарат АҚ-ның қандай да бір
операцияны орындауына нұсқау (команда) болады.
3
ЭЕМ-де операцияны орындау мына әрекетгерден түрады:
жадының белгілі бір үяшығында сақталған акпарат бөлігін
(порциясын) алу-> қажет әрекеттерді орындау үшін оны АҚ-ға
жіберу—> нәтижені жадының көрсетілген үяшығына жіберу-> БҚ-на
келесі команда орналасқан үяшықтың номерін хабарлау. ЭЕМ-де
орындалатын операциялар қарапайым, олар-арифметикальщ және
логикалық операциялар, салыстыру, ақпарат бөліктерін қайта жазу
операциялары, т.б. Сонымен, ЭЕМ-ге программа қүру дегеніміз есепті шығару әдісін әрбіреуі келесіні шақыра отырып, қажег
есептеулерді тізбектей орындайтын, жадыдағы машиналық нүсқаулар
жиыны (программа) түрінде көрсету.
1 Компьютердің программалық құралдары
■
1.1 Программалауды автоматтандырудың әдістері
Программалауды
автоматтандыру
бір-бірімен
тығыз
байланыстағы екі бағыттан тұрады. Біріншісі-арнаулы және әмбебап
(есептердің белгілі бір класын шешуге арналған) программалау
тілдерін дайындау. Екіншісі-программалау тілдерінде жазылған
программаларды есептеу техникасында орындау әдістерін дайындау
және онымен байланысты мәселелерді шешу.
Есептеу техникасының адам өмірінің әр түрлі салаларына
кеңінен енуі программалық жабдықтарды дайындау құралдарын
дамыту мен программалау әдістерін автоматтандыруға ықпал етті.
Программаның сапасы программалаушының тәжірибесіне және ол
пайдаланатын құралдарға байланысты.
Программалаудың идеалды технологиясы - программалау
объектісінің формальдық емес сипаттамасы бойынша синтаксистік
және семантикалық жағынан дұрыс программаны генерациялайтын
технология.
Программалау технологияларының бірі-құрылымдық программалау принципі деректерді құрылымдау қажеттігін көрсетті.
Құрылымдаудың дамуы
программалау тілдерінде
деректердің
типтерін абстракциялау механизмдерін тудырды. Бұл механизм
модульдік
программалаудың
негізі
болды.
Модульдік
программалауда программа өңделетін деректер анық көрінбейтін
модульдерге бөлінеді. Модульдік программалаудың дамуына
байланысты объектілі-бағытталған программалау стилі пайда болды.
Бұл технологияның жетістігі-онда құрылымдық программалау
технологиясы толық жүзеге асырылды, күрделі иерархиялық жүйе
қүру жеңілдеді, әр түрлі қолданыстағы обьектілерді тиімді пайдалану
кітапханасын күру мүмкіндігі пайда болды.
80-жылдарда
программалау
жүйелерін
жобалауды
автоматтандыру қүралдары (СА8Е-технологиялар) пайда болды.
САЗЕ-қүралдары пәндік аймақ бойынша ақпарат жинауды
автоматтандыру есептерін шығаруға және программалық жабдықты
(ПЖ) жобалауға бағытталды. Бүл - алғашқы талаптарды мүқият
талдау және программаны мүқият жоспарлау арқылы ПЖ
дайындауды тездетеді.
Сонымен,
ПЖ
дайындау
әдістерін
автоматтандыру
программалаудағы құрылымдау концепциясын дамытатын әр түрлі
негізде (модульдік программалау, объектілі-бағытталған әдіс,
логикалық
программалау,
СА8Е-технологиялар)
жүргізіледі.
р
5
0
Құрылымдау әдісі - жобаны бөлшектеуді тиімді жүргізуге және ПЖ
пен оның боліктерінің түтас бейнесін алуга мүмкіндік береді.
Соңғы жылдары техникалык күралдардың дамуына байланысты
программалауды автоматтандыруға адамның образды ойлау әдісіне
сәйкес келетін жаңа графикалык әдістер қолданылуда. Алгоритмдерді
визуалды бейнелеу түрлеріне Р-технология, Петри желілері,
қарапайым блок-схемалар, графтар теориясының «тілі» жатады.
1.2 Алгоритмдік тілдер
Егер программаның командалары екілік машиналық кодта,
яғни, алфавип логикальпс бірлер мен нөлдерден түратын тідде
жазылса, онда оны компьютер орындай алады. Алғашкы
компьютерлерде программа тікелей машиналық кодта қүрылды, ол
программалаушылардың жоғары біліктілігі мен үлкен еңбегін қажет
етп. Сондықтан, 40-жылдарда лексикасы жағынан табиғи тілге үқсас
программалау тілдерін дайындау басталды. Мүндай программалау
тілдері алгоритмдік тілдер деп аталды.
Алгоритмдік тідцерді дайындаудың алғашкы қадамы, яғни,
аралық тіл Ассемблер тілі болды. Ассемблер тілінде командалар
екілік сандармен емес, символдар тіркесімен (мнемоникалык
кодтармен)
беріледі.
Олар арқылы
команданың
мағынасы
анықталады, бүл машина.іық тілде программалаудың киындығы мен
кемшіліктерін едәуір азайтады. Бірақ, Ассемблердің кемшілігі - ол
машинаға бағытталаған тіл, .әр компьютердің өз Ассемблер тілі
болды. Ассемблерде программалайтын программалаушы компьютер
архитектурасын жақсы білуі қажет. Бүл әжептәуір еңбекті қажет етті,
сонымен қатар, Ассемблердің көмегімен программада компьютердің
ресурстарын мүмкіндігінше толық пайдалануға болады, сондыктан,
Ассемблерді кәсіби программалаушылар кеңінен пайдаланады.
Ен алғашқы алгоритмдік тіл - 1957 жылы Джон Бекустін
жетекшілігімен ГОМ фирмасында жасалған Ғогігап тілі болды.
Нақты ЭЕМ-ге тәуелсіз болатын және түрлі ғылымитехникалық, логикалық информацияны өңдеуді ыкшамды, кыска
түрде программалауға мүмкіндік беретін етіп, 1950— 1980 жылдары
"Алгол", "Бейсик", "Кобол", "ПЛ/І", "Паскалъ", "ЛИСП", "Пролог",
"СИ" дайындалды.
А лгоритмдік тілдердің колданы луы . Фортран тілі инженерлік
және ғылыми есептерді шешу үшін кеңінен пайдаланылады, бірак
оның символдық шамалармен жүмыс істеу мүмкіндігі жеткіліксіз.
Апгол — математикалық есептерді шешу үшін ыңғайлы тіл.
Оның да өзіне тән бірнеше кемшіліктері бар, мысалы, транслятордың
6
мүмкіндіктері,
берілгеңдерді
енгізу-шығару
жолы
толық
жетілдірілмеген.
Бейсик-дербес компьютерлерде кеңінен пайдаланылатын
ықшамды тіл. Қазіргі кезде оның мүмкіндігі мол түрлі нүсқалары бар.
Кобол экономикалық есептерді шешуге арналған.
ПЛ/1-Фортран, Алгол, Кобол тілдерінің мүмкіндіктерінің
негізіңде қүрылған, математикалық, ғылыми, экономикалық
есептерді шешуге ыңғайлы тіл.
ЛИСП, Пролог негізінен тізімдермен, символдық шамалармен
жүмыс істеуге арналған. Олар ойлау нәтижелеріне бағытталған
информацияны өңдеудің жасанды жүйелерімен (сараптаушы
жүйелермен) жүмыс істеуде кеңінен қолданылады.
Паскаль-сандық және символдық шамадармен жүмыс істеуге
ыңғайлы, алгоритм қүрылымы сақталған тіл.
СИ-математикалық есептеуге арналған және жүйелік
программаларды қүруға бейімделген жоғарғы деңгейлі программалау
тш .
Алгоритмдік тілдерге қойылатын талаптар:
- қүрылған алгоритм пайдалануға ыңғайлы болу керек;
- осы тілдер арқылы үсынылатын қүралдар нақты бір
қолданбалы ортаның талаптарын қанағаттандырады. Мысалы, бір тіл
ғылыми есептеу жүмыстарына арналған, екіншісі, сандық емес
ақпаратқа арналған коммерциялық, үшіншісі басқа қолданбалы
орталарға арналған болуы мүмкін;
- көрнекілігі жағынан алгоритм жеңіл оқылатын, құрылымы
түсінікті болу керек;
- тілде алгоритмнің қатесін анықтаитын және оны ескертетін
құралдар болуы міндет.
1.3
Процедураға бағы тталған тілдер және обьектілерге
бағытталған программалау туралы түсініктер
Программалау тілдері мына түрлерге бөлінеді: процедуралық,
процедуралық
емес, логикалық,
функционалдық,
объектілібағытталған.
Процедуралық тілдерде алгоритм арнаулы ережелер бойынша
операторлар тізбегімен жазылады. Бұл тілдерге А1§о1, Ғогігап, Разсаі,
Вазіс, С тілдері жатады. Процедуралық тілдегі программа-компьютер
орындауға тиіс командалардың тізбегі. Бұл программалаудың негізгі
ұғымдары - оператор және деректер. Мәліметтер операнда деп
аталады, олар күрделі және қарапайым болады.
Процедуралық тілдердің артықшылығы:
* 9
1
- программа негізгі үш қүрылымға негізделеді (сызьгқтық,
тармақталған, циклдік);
- үлкен программаны бірнеше адам жаза алады - бүл жүмыстың
орындалуын жылдамдатады;
- жобалау жеңіл және қүрылған программаны өзгертуге болады;
Объектілі-бағытталған тілдер-бүл тілдерде басқа тілдердегі
процедуралар мен деректер үғымдары “объект” үғымымен беріледі.
Обьектілі бағытталған программа-бір-біріне тәуелсіз объектілердің
жиыны. Бүл программалаудың негізгі ұғымдары - объект, класс,
оқиға, қасиет, әдіс.
/
1.4
К омпыотерді п рограм м алы қ қам там асы зданды руды ң
ж алпы түсінігі
Компьютерді
программалық
қамтамасыздандыру
(ПҚ)
дегеніміз-есептеу техникасында әр түрлі есептерді шешуге мүмкіндік
беретін программалардың, процедуралардың және оларды пайдалану
ережелерін көрсететін құжаттардың жиыны.
ПҚ-дың қажеттігі:
- пайдаланушы мен машинаның қарым-қатынасын жақсарту;
- есеппң қойылымынан бастап машинада жүзеге асырылу
уақытын жеделдету;
ПҚ қызметіне байланысты үш топқа бөлінеді:
1) жүйелік;
2) қолданбалы;
3) программалау қүралдары.
Ж үйелік П Қ компьютердің қызмет көрсетуін, сондай-ақ, жаңа
программалар жасау процесінің автоматтандырылуын қамтамасыз
етеді.
Жүйелік ПҚ түрлері:
- Операциялық жүйе (ОЖ)-программалардың үйымдастырылған
жиынтығы, олардың мақсаты — компьютер жүмысын басқару. ОЖнің бүл бөлігі ақпаратты енгізудің, сақтаудың, өңдеу мен қүжаттаудың
әмбебап қүралдары ретінде компьютердің қызметін қамтамасыз етеді.
- Программалау жүйесі - ПҚ-ның бір бөлігі, оны пайдалана отырып программалар жасалады. Программалау жүйелерінің мақсаты программалау тілдерінде жазылған программаның бастапқы мәтінін
қүру процесін оңайлату, сондай-ақ, оларды компьютер атқаратын бағдарламаларға түрлендіру. Программалау жүйесіне программалаудың әр түрлі тілдеріндегі таратқыштар (компиляторлар немесе интерпретаторлар) жатады.
- Техникалық және сервистік (үйымдасқан) қызмет көрсету про-
8
граммалары компьютердің, дискілердің және басқа кұрылғылардың
жүмысын бақылау, анықтау және қалпына келтіру қызметін аткарады.
Қолданбалы ПҚ компьютерді белгілі бір мақсатта пайдалану
міндеттерін шешуді камтамасыз етеді. Қолданбалы программалардың
дестесі (ҚПД)-белгілі бір тақырып немесе пән бойынша міндеттер
ауқымын шешуге арналған программалар жиынтығы.
Программалау қүралдары (программалау жүйелері) жаңа гірограммалар қүруға арналған.
Компыотермен пайдаланушынык диалогыіі үйымдастыру.
Пайдаланушының жалпы интерфейсі компьютерге командалар
берудің стандартты әдістерін, косымшалар мен құралдардың бірдей
құрылымын анықтайды. Пайдаланушының жалпы интерфейсі мына
компоненттерден түрады:
- Жүмыс үстелі.
- Пиктограммалар.
- Терезелер.
Терезелер күжаттық, программалық және сұхбаттық болып
бөлінедк
Пайдаланушының диалогы сұхбаттық терезелермен жүзеге
асырылады. Оларға енгізу батырмалары, тәуелсіз және тәуелді
ауыстырып қосқыштар, хабарлама шығару терезелері жатады.
1.5 Программалаудың ннтеграцняланган жүйелері
Программа дегеніміз компьютерге түсінікті тілде жазылған
командалардың жиыны. Программа тексі компьютерге түсінікті болу
үшін оны машина тіліне аудару қажет. Программаны программалау
тілінен машиналық кодқа ауыстыру трансляция деп аталады, ол
процесс трансляторлар арқылы жүргізіледі.
Транслятордың үш түрі бар: интерпретаторлар, компиляторлар,
ассемблерлер.
Интерпретатор- программаның әрбір командасын бір-бірден
өңдеп, орындайтын транслятор.
Компилятор-программаның барлық тексін машина тіліндегі
модульге өңдеп, жадыға жазады да, содан соң орындайды.
Ассемблер-ассемблер
тіліндегі
(автокодта)
жазылған
программаны машина тіліндегі программаға аударады.
Транслятор:
- программаны талдап, синтаксистік қатесін тексереді;
- нәтижелік орындалушы программаны жасайды; - программаны аралық тілге, яғни машиналық командалар
тіліне (ассемблер тіліне) аударады;
9
- жады участоктарын программа фрагменттеріне, айнымалыларға, тұрақтыларға, массивтерге және баска да объектілерге
бөледі.
Программаны
дайындау
мына
әрекеттерден
тұрады:
программа тексін енгізу, редакциялау, трансляциялау, орындау.
Әрбір өрекетті есептеу техникасында орындау үшін, арнаулы
құралдар қажет:
- текстік редактор - программа тексін енгізеді және өңдейді;
- компилятор - программаны трансляциялайды;
- жинақтауыш (Ііпкег) - жеке модульдер мен кітапханаларды
біріктіреді;
- жүргізуші (сіеЬи§£ег)- программаның
орындалу үрдісін
талдайды;
Аталған жеке элементтерді біртүтасқа біріктіретін программалау ортасы біріктірілген (интеграцияланған) орта деп аталады.
10
2 Есептерді алгоритмдеудін негіздері
2.1 Алгоритмнің анықтамасы
Алгоритм сөзі ғылымға Орта Азияның көне тарихынан мәлім
әйгілі математик Мұхаммед ибн Мұса әл-Хорезмидің (783-850 ж.
шамасы) есімі мен еңбегіне байланысты енген.
Хорезмдік Мұхаммед Мұса ұлы өзінің «Үнді хисабы туралы
кітап» деген еңбегінде кез келген N санын бұл күнде үнді-араб
цифрлары деп атап жүрген 0,1,2,...,9 түріндегі он белгі арқылы
өрнектеп жазу ережесін баяндайды. Сонымен қатар,.ол осылайша
жазылған сандарға қолданылатын амалдарды орындау ережелеріне
тоқталады.
Европа елдері ХІІ-ХІІІ ғасырларда Мүхаммед әл-Хорезмидің
аталмыш кітабымен алғаш рет танысады. Мұхаммед кітабындағы
әрбір ереже «әл-Хорезми айтқан» (латынша: Оіхі* АІ^огігші) деген
кіріспе сөзден басталады. Кейін Европа халықтары тілінде бұл сөз
алгоритм немесе алгорифм болып қалыптасады.
Алгоритм - дегеніміз алға қойылған мақсатқа жету немесе
берілген есепті шешу бағытында орындаушьіға (адам, ЭЕМ, робот,
автомат) біртіндеп қандай әрекеттер жасау керектігін түсінікті түрде
әрі дәл көрсететін нүсқаулар тізбегі.
Алгоритмді орындаушы- берілген әрекеттер жиынын орындай
алатын адам, ЭЕМ, робот немесе автомат.
Алгоритмнің командасы-бір ғана әрекет жасауға арналған
бұйрьщ.
Орындаушының командалар жүйесі (ОКЖ) -орындаушы атқара
алатын барлық командалар жиынтығы.
Алгоритмнің жазылу мақсатына жете үңілмей, нүсқауларын
жазылу реті бойынша орындау-алгоритмді формальды орындау деп
аталады.
Алгоритм қүруда алгоритмнің қасиеттері деп аталатын
мына ережелер сақталуы тиіс:
/
1) нәтижелілігі (шектілігі) саны шектеулі реттелген
нүсқауларды орындаған соң, мақсаттағы нәтиже алынады;
2) жалпылығы (ортақтығы) - алгоритм бір есепке ғана емес,
сондай кластағы кез келген есептің шешімін табуға жарамды болады;
3) дискреттілігі (үзіктілігі) - қарастырылып отырған ақпаратты
өңдеу үрдісі ретімен жазылған жеке-ясеке қадамдардан түрады;
4) түсініктілігі - нүсқаулар жүйесі арқылы жазылған алгоритм
орындаушыға түсінікті болуы керек;
5) анықтылығы - алгоритмнің нұсқаулары бірмәнді түсінік
11
беруге тиіс. Алгоритмде орындалатын қажетті әрекеттер тізбегі
орындаушыға анық көрсетіліп жазылуы керек.
Алгоритмді баяндау тәсілдері:
1) табиғи тілмен сипаттау- алгоритмде орындалатын әрекеттер
табиғи тілмен сипатталады;
2) жасанды алгоритмдік-формулалық тілде сипаттау-бір салаға
келтірілген, нақты ережелер мен таңбалау жүйесі анықталған жасанды
тілді қолдану арқылы алгоритм қүру;
3) графикалык блок-схема түрінде сипаттау- қүрылымданған
схема тілін қолдану.
А лгоритм
сүлбалары н
кұру
ережелері. Алгоритмнің
қадамдары 1-кестедегі графикалық блоктармен бейнеленеді. Әр
командаға көрсетілген графикалық бейне сәйкес келеді. Мысалы:
тіктөртбүрыш - есептеу, ромб - шартты тексеру, т.б. Блоктардың
арасындағы байланыс жогарыдан төмен тілсызықтар арқылы
көрсетіледі.
1 кесте-Блок-схемада бейнеленетін негізгі блоктар
Блоктардың аталуы
мен кескінделуі
Алгоритмнің басы,
алгоритмнің соңы
мен
С
Шартты
тексеру
Циклдің басы
Есептеуіш әрекет
Деректерді енгізу,
деректерді шығару
Файлды дискіге
жазу
Көмекші
алгоритмді
шақыру
12
2.2
Алгоритмдік құрылымдардың түрлері
Алгоритмдегі әрекеттер жазылу ретіне сәйкес тізбектеліп, белгілі бір шартқа байланысты тармақталып немесе қайталанып орындалады. Соған байланысты алгоритмдер кұрылымы үш түрге бөлінеді:
1) сызықтық қүрылым;
2) тармақталған қүрылым;
3) қайталанушы қүрылым.
Сызыктык
Алгоритмнің командалары тізбектей, жазылу
реті бойынша бірінен соң бірі орындалады. Әдетте
формула
бойынша
есеіітеуде
қолданылады.
Формуладағы айнымалының мәнге ие болуы немесе
мәнінің өзгеруі меншіктеу командасымен (:=) жүзеге
асырылады.
Меншіктеу командасының жазылу түрі:
Айнымалы := өрнек ;
Айнымалы :=мән;
1 мысал. А айнымалысына 10 мәні меншіктелсін. а:= 2*а - 1
меншіктеу командасы орындалған соң А айнымалысы қандай мән
қабылдайды?
Шешуі: а:=10;
а:=2*10-1; а:=19;
Меншіктеу командасы
орындалған соң а айнымалысы 19 мәніне ие болады.
2 мысал.
х:=3 және у:=7 айнымалыларының мәндерін
ауыстыру қажет.
Шешуі. Алгоритмде х және у мәндерін уақытша сақтау үшін
қосымша 2 айнымалысы қажет.
Алгоритм меншіктеу командаларының тізбегінен түрады:
=х; х:=у
Орындалуы
3
мысал. х және у айнымалыларының мәндерін
қосымша
айнымалыны қолданбай ауыстыру қажет.
Шешімі. Алгоритм меншіктеу командаларының тізбегінен
түрады: х:=3; х:=7; х:=х-у;
х:=у-х
у:= х+у;
Орындалуы: х:=3; у:=7; х:=3-7; х:=-4;
у:=-4+7; у.*=3; х:=3-(-4); х:=7;
13
0
-й й - А
вм
2.2.2 Тармақталған алгоритмдік құрылым
Кейбір жағдайларда орындалатын әрекеттер белгілі бір шартка
байланысты болады. Шарт логикалық блокта тексеріледі. Егер шарг
орындалса, өрекеттердің бір бір тармағы, әйтпесе екінші тармағы
орындалады. Шарт дұрыс болмаса ешқандай әрекеттер орындалмауы
дамүмкін.
/
Толық түрі
Қысқаша түрі
онда <1 серия >
әйтпесе <2 сери >;
бітті
онда < 1 серия >
бітгі
4 м ы сал. Екі санның үлкенін табу.
суретте
басы
енгізу х,у
егер х>у
онда 2:=х
дйтпесе г:=у
бітті
ьиыгару 2
соцы
соны
1 сурет - Екі санның үлкенін табудың блок-схемасы
14
5
анықтау.
мысал. Қабырғалары А,В,С үшбұрыштың түрін және ауданын
Есептеу алгоритмі 2 суретте көрсетілген.
оасы
ен гт
А,В.С
Ж0Қ
А £ Онемесе В £ 0 немесе С £ 0
А+В £ С немесе А+С £ В
немесе В+С£А
үшбүрыш
болмайды
В жэне В * С
А * В немесе
В = Снемесе
=С
тең қаоырғалы / нә
үшбүрыш / П 4
әр қабырғапы
үшбүрыш
тең оүіпрлі
үшбүрыш
Р:=(А+В+СУ2
шығару 8
соңы
2 сурет - Үшбүрыштың түрін және ауданын анықтаудың блоксхемасы
ц
15
2.2.3 Алгоритмнің циклдік құры лы м ы
Қайталанушы немесе циклдік кұрылымды алгоритмде белгілі
бір әрекеттер тізбегі
бірнеше рет кайталанады. Қайталанатын
әрекеттер «цикл денесі» деп аталады. Циклдік алгоритмдік
құрылымның үш түрі бар: параметрлі цикл (үшін), кейінгі шартты
цикл (дейін), алғы шартты цикл (әзірше) (3 сурет).
Егер алгоритмде қайталану саны алдын ала белгілі үрдісті
ұйымдастыру қажет болса, онда параметрлі цикл (үшін) қолданылады.
Ондай алгоритмде цикл параметрінің бастапқы мәні, соңғы мәні және
өзгеру қадамы алдын ала айқын болады.
Егер алгоритмде қайталану саны алдын ала белгісіз болса, онда
кейінгі шартты цикл немесе алдыңғы шартты цикл қолданылады. Бұл
циклдерде қайталану шарты басқарылуы қажет. Әйтпесе қайталану
тоқтамай цикл шексіз орындала береді.
■
Үшін циклі
•
г
Дейін циклі
бастапқы
меншіктеу
Ә зір циклі
бастапқы
меншіктеу
жоқ
цикл.денесі
і уіиін п 1 бастап п2
дейін қадам һ
цб
цикл денесі
цс
цикл денесі
цс
дейін шарт
әзір шарт
цб
цикл денесі
3 сурет - Алгоритмнщ циклдік қүрылымының түрлері
Кейінгі шартты циклде (дейін) алдымен цикл денесі орындалып,
содан кейін шарт тексеріледі. Цикл орындалу үшін шарт жалған болу
қажет. Егер шарт ақиқат болса цикл орындалмайды. Алгоритмде
циклдің бүл түрі кемінде 1 рет орындалады.
16
Алғы шартты циклде (әзір) алдымен шарт тексеріліп, содан соң
цикл денесі орындалады. Цикл орындалу үшін шарт ақиқат болу
қажет. Егер шарт жалған болса цикл орындалмайды. Алгоритмде
циклдің бұл түрі бір де рет орындалмауы мүмкін.
щ
6 мысал. Екі санның ең үлкен ортақ бөлгішін табу (Евклид
алгоритмі).
•
!
I
Есепті шығару алгоритмі 4 суретте көрсетілген.
оасы
ен гт
А, В
жоқ
жоқ
г
*
А := А -В
В := В -А
р
басы
енгізу А,В
әзір А рЯ
цб
егер А > В
онда А := А-В
әйтпесе В := В-А
бітті
цс
шығару А
соңы
шығару
соңы
4 сурет - Евклид алгоритмінің блок-схемасы
.
0
Іш кі циклдік құрылымныц алгоритмдік баяндалуы. Кейбір
алгоритмдерде цикл денесінде цикл болуы мүмкін. Мүндай циклдер
қабаттасқан циклдер деп аталады. Қабатгасқан цикл былай
орындалады:
1) алдымен сыртқы цикл ашылады;
2) одан соң ішкі цикл толық орындалады;
3) егер сыртқы цикл аяқталмава, орыйдалуы Р{(^ии^.сады;
4) ішкі цикл тағы да толық ошіндйЛӘда^ғы ПМУ-рің ]
Цакадөмик С.Бвйсемғ- с |
II атындағы ғылыми
I
IIКІТАПХАНАР' !
17 к&чғШ
5)
сыртқы цикл аяқталса, ішкі цикл орындалмай, циклден
кейінгі командалар орындалады.
7 мы сал. 1!+2!+3!+...+п! қосындысын табу
Есептеу алгоритмі 5 суретте көрсетілген.
басы
енгізу п;
*:*1;
і үшін 2 бастап п дейін
} үьиін 1 бастап і дейін
цб
Г:=Рі
цс
з:=8+Ғ;
• шыгару 5
соңы
5 сурет ~ 7 мысалдағы қосындыны табу алгоритмінің блок-схемасы
18
2.3
Есептердің типтік компоненттері: талдау, синтездеу,
шешім қабылдау
ЭЕМ-де есеп шығару процесі берілген ақпарат мазмұнын
талдай отыра алгоритм құрудан бастап, алынған нәтиже бойынша
шешім қабылдауға дейін өтетін бірнеше кезеңнен тұрады. Әрбір кезең
барынша қадағаланып, лсіберілген қателер дер кезінде тұзетілуі қажет.
Бұл кезеңдердің кейбіреуі компьютерсіз орьіндалады:
1) Есептің қойылымы:
- есеп туралы ақпарат жинау;
- есеп шартын тұжырымдау;
- есеп шығарудың мақсатын анықтау;
- нәтижелерді беру тұрін анықтау;
- деректерді сипаттау (типтерін, мәндер аралықтарын, құрылымын және т.с.с.).
2) Есепті зерттеу және талдау, модельдеу.
I осы уақытта белгілі баламаларға талдау жасау; ,
- техникалық және программалық құралдарға талдау жасау;
- математикалық модельді дайындау;
| деректер құрылымын дайындау;
3) Алгоритм құру:
- алгоритмді жобалау әдісін таңдау;
- алгоритмді жазу түрін таңдау;
I тесттер мен тестілеу әдістерін таңдау;
- алгоритмді жобалау.
4) Программалау:
- программалау тілін таңдау;
- деректерді ұйымдастыру әдістерін таңдау;
- алгоритмді таңдалған тілде жазу;
- программалау;
5) Тестілеу және жүргізу:
- синтаксистік жүргізу;
- семантиканы және логикалық құрылымды жүргізу;
- тесттік есетеулер мен тестілеу нәтижелерін талдау;
- программаны жетілдіру.
6) Есептің нәтижелерін талдау және қажет болса математикалық
модельге өзгерістер енгізіп, 2-5 кезеңдерді қайтадан орындау.
7) Программаны пайдалану барысын ілестіру (сопровождение)
- нақты бір есептерге арнап программаны соңына жеткізу;
- шығарылған есепке, математикалық модельге, алгоритмге,
программмаға, тесттер л<инағына, программаны пайдалануға құжаттар
дайьгадау;
ш
19
2.3.1 Э коном икалы қ есеп алгоритмінің м ы салы
кезеңде
екі түрін: орындық пен үстел шығарады. Оған ресурстың үш түрін (2
кесте) пайдаланады.
2 кесте—Экономикалық есептегі ресурстар мөлшері
1 ресурс
2 ресурс
3 ресурс
Пайда
Орындық
4
3
1
4
Үстел
6
2
1
5
•
Ресурс мөлшері
24
12
8
—
Ж
1
| —
______________________________________________________
—
...........
г
------------
__________________________________________________
|
Берілген шамалармен алынатын пайда ең жоғарғы болатын
орындық пен үстел санын жоспарлау керек. Есептің мақсаты-ең
жоғарғы пайда алу.
Өнім өндіруді жоспарлау процесін сипаттайтын айнымалылар
шығарылатын орындық саны (х^) мен үстел саны (х2) болады. Барлық
өнімнен
алынатын пайданы аталған айнымалылар арқылы
өрнектейміз:
Қхі>Х2)= 4 хі+5 х2
Ол барлық орындықтар (4хі) мен үстелдерден (5х2) алынатын
паидалардан түрады.
максималдау)
түрде жазылады:
Қ х ь х ^ ^ х ^ х г -* тах
Ресурс мөлшерін ескеріп шектеулерді формальдаймыз
<
Ресурстың толық шығынын Хі, х2 айнымалылары арқылы
өрнектейміз. Ресурстың бірінші түрінің барлық орындыққа шығыны
4хі, ал барлық үстелге шығыны 6х2. Екеуінің қосындысы бірінші
ресурстың толық шығынын білдіреді, ол мына сызықтық теңсіздік
арқылы шектеледі: 4 хі +6 х2<24
Сол сияқты екінші және үшінші ресурстарға шектеулер қоямыз
З хі +2 х2<12; хі+х2<8
4;х, + 6х2 < 24
Оларды жүйеге біріктіреміз I З х ,
+ 2 х 2 < 12
+ х2 < 8
20
Өндірілетін өнімнін саны теріс болмайтындығын ескеріп теріс
емесгікке шектеу коямыз. Хі>0; х:>0
Есептін математнкалык моделін сызыктык алгоритмдеу есебі
түрінде жазамыз.
Дхі Д 2>= 4хі+5х2-> шах
4х, + 6 х , < 24
Зх, + 2 х 2 й 12
+ х2 й 8
Х|20; Х]20
Алынган модель өнімді шыгарудын шарттары взгерген
жагдайда өэгеруі мүмкін Ресурс мвлшері өзгерсе, шектеулердін он
жак бөлігі өэгереді Шыгару жагдайлары өзгерсе, функцнялардағы
коэффициенттер өзгереді. Өндіруге байланысты жана шарттар
болганда жана шектеулер косылады
Есепті шыгарган сон х, мен X: орындыктар мен үстелдердж
жоспардагы саиын, ал әрбір теңспдіктегі оң жак пен сол жактын
айырмасы ресурстын әрбір түрінін калган мшгшерін білдіреді
21
3 Негізгі процедураларға бағытталған алгоритмдік тілдерде
программалау
3.1
П аскаль тілінің негізгі сипаттам алары
Паскаль тілін 1968-71 жылдары Швейцарияның жоғары
политехникалық
мектебіндегі
Информатика
институтының
директоры, профессор Никлаус Вирт шығарды. 1992 жылы Вогіапсі
Іпіегпагіопаі фирмасы Паскаль тілінің Вогіапсі Разсаі 7.0 және ТигЬо
Разсаі 7.0 пакеттерін құрды. Тілдің 7.0 нұсқасы төмендегі құраларды
қамтиды:
*
:
- программалаудың біріктірілген ортасын;
- көп модульді программалар кұру кұралдарын;
экранның текстік және графикалық режимдерін басқару
құралдарын;
- объекплі-багытталған программалау құралдарын;
- деректер типтерінің жетелдірілген жүйелерін;
П аскаль тілін ж ұм ы сқа қосу. Паскаль орналасқан каталоггы
ашып, Ір.ехе командасы немесе жұмыс столындағы Паскальға сәйкес
жарлық
жұмысқа
қосылады. Паскаль экраны мынадай негізгі
элементтерден тұрады.
меню жолы (барлық командалар меню жолы арқылы
оындалады);
- бағдарлама жазылатын терезе;
- терезенің аты, номері;
- көмек жолы.
Менюмен жұмыс. Менюде клавишаларды пайдалану тәртібі:
1) Ғ10 клавишасы менюді жұмысқа қосады. Меню жұмысқа
қосылған соң, ерекше түске боялады;
2) менюдің қажетті пункті
<- клавишаларымен таңдалады
да, Епіег клавишасы басылады. Шыққан тізімнен қажеткоманда Т,
клавишасы мен
белгіленген әршті басса, оған сәйкес команда іске қосылады;
3) Менюден шығу ұшін Езс клавишасы басылады.
Менюде маусты пайдалану тәртібі:
1) менюдің қажет пунктін белгілеу;
2) тізімнен қажет команданы белгілеу.
Ескерту: Менюдің дәл осы уақытта орындауға болмайтын
командалары көмескіленіп тұрады.
Терезелермен жұмыс. Терезе дегеніміз - біздің барлық ісәрекетімізді жүзеге асыратын экранның бөлігі. Оның өлшемін
өзгертуге, орнын
ауыстыруға, ашуға, жабуға болады. Паскаль
22
ортасында бірнеше терезені қатар ашуға, әр біреуімен жеке жұмыс
жасауға, олардың арасында ақпарат алмастыруға болады. Жұмыс
істеп отырған терезе белсенді (активті) деп аталады. Белсенді терезе
қос жақтаулы және онда жабу кнопкасы, масштабтау кнопкасы,
терезені жылжыту кнопкасы, терезенің өлшемін өзгерту бұрышы
болады.
3 кесте-Терезелермен жұмыс істеу клавишалары
Клавишалар
т
Меню пункті
Ғііе/ Ые\у
-
АІІ + п
і
&
\ У І П ( І О \ ү / І Л 5І
АҺ + О
АП + ҒЗ
\ Ү
і п с і о
\
/
у
Сіозе
АҺ + Ғ5
ЗһіЙ+Ғб
\ Ү І П С І О \ Ү /
ІізегЗсгееп
^іп сіо ^/
Ргеуіоиз
Ғ5
\ У
Ғ6
2оош
\Үіпёош/
Нехі
і п с і о
\
ү
/
Орындалатын
әрекет
Жаңа
терезе
ашылады
п
номерлі
терезеге өтеді.
Ескерту
Жаңа терезеде жаңа
бағдарламй теріледі.
А\і клавишасы мен
керек терезенің номері қатар басылады.
Ашық терезе- Шыққан тізімнен қалер тізімі шыға- жет
терезе
таңдап
Д Ы
алынады
Белсенді терезе Терезедегі тексті сақжабылады
тау қажет.
Пайдаланушы
Бағдарлама
нәтижесі
терезесі
бартерезе шығады
Терезелер кері
ретпен шығады
Өлшемін
Терезенің*
өлшемін
өзгерту
қалпына келтіреді
Ретімен шығару
Ескерту: Егер бір файл бірнеше терезеде ашылса, оған
жасалған өзгерістер барлық терезеде жүрғізіледі.
Программамен жүмыс. Жаңа Программа жаңа терезеде
жазылады. Әрбір жолдан соң Епіег клавишасы басылады. Жазу
барысында
алфавиттік-цифрлық, редакциялау
клавишалары
пайдал аныл ады.
П рограмманы компиляциялау.Программаны компиляциялау
үшін АҺ+Ғ9 клавишалары қатар басылады. Егер текст дүрыс болса, ол жөнінде хабарлама шығады: С отрііе Зиссеззйіі: Ргез апу кеу
Жүмысты жалғастыру үшін, кез келген клавиша басылады.
23
П рограм м аны дискіде сақтау. Жаңа Программаға Паскаль
өзі ИопашеХХ деген ат береді. Программаны дискіде сақтау үшін:
а) жаңа атпен: меню - Ғііе - 8ауе аз... - таңдалып, шыққан
диалогтық терезеге файлдың жаңа аты жазылып, енгізіледі;
б) ескі атымен: меню - Ғііе- 8ауе таңдалады.
Дискіге ж азы лған програм м аны ашу. Меню - Ғііе - Орептаңдалады. ТаЬ немесе 8һій+ТаЬ клавишасы арқылы, қажет
файлдың аты белгіленіп, енгізіледі.
О ры ндалуш ы (кеңейтілуі .ехе)
файл
ж асау.
Паскаль
тіліндегі Программа тексін сақтағанда стандартты .раз деген
кеңейтілу (расширение) беріледі. Программаны орындалушы файл
ретінде сақтау үшін, оған .ехе кеңейтілуі берілу керек. Ол үшін:
а) жадыға сақтау: Меню / Сошрііе / Безііпагіоп / М етоіу;
б) дискіге сақтау: Меню/Сотрі1еЛ)е8гіпа1іопЛІ)І8к;
М етогу немесе Әізк Епіег арқылы таңдалады. М етогу мен
Эізк-нің біреуі таңдап алынған соң,
Меню /С отрііе/ Маке
енгізіледі немесе Ғ9 басылады. Орындалушы файл жасалады.
Каталогтағы файлдар тізімінде кеңейтілуі .ехе файлы пайда болады.
П рограм м аны орындау.
Программаны орындау үшін,
СЫ+Ғ9 клавишасы басылады немесе менюден /Кип/ Кип енгізіледі.
Пайдаланушы
терезесі пайда
болады. Компьютер Программа
бойынша әрекеттер жасайды, яғни, мәндер енгізіледі, сүрақтарға
жауап беріледі, нәтюке экранға шығарылады.
4 кесте-Программа тексімен жүмыс істеу клавишалары
Клавишалар
СМ+Ғ9
8һій
пен
Меню
Орындалатын әрекет
пункттері
Ғііе/Ыеш
Жаңа Программаға терезе ашү
Кип/Кип
Программаны орындаү
ІІШШІ Текст фрагментін белгілеу
■
Сігін-Оеі
СІГІ+ІП8
Зһій+Беі
8ҺІЙ+ІП8
Сігі+Ү
Сігі+И
АЙ + Х
Есііі/Сіеаг
Ейіі/Сору
ЕАіХ/С\хХ
Есііі/Разіе
—
—
Ғііе/ Ехіі.
Фрагментті жою
Фрагментті буферге алү
Фрагментті жойып, бүферге алү
Фрагментті текстке қою
Курсор түрған жолды жою
Курсор турған орынға бос жол қою
Программамен жұмысты аяқтау
24
Паскаль ортасымен жұмысты аяқтау. Ол үшін АІІ+х
клавишалары басылады немесе менюден Ғііе/Ехіі таңдалады. Егер
программа сақталмаған болса, оны сақтау туралы диалогтық
терезе шығады. Үш түрлі жауаптың бірі таңдалады:
Үез-Программа сақталады.
N 0 - Программа сақталмайды.
Езс - жүмысты аяктамай, қайта жалғастырады.
Сұрақтар
1. Программа деген не?
2. Паскаль тілінің қандай негізгі құралдары бар?
3. Программа қалай сақталады?
4. Дискідегі программа қалай ашылады?
5. Паскаль неге біріктірілген орта деп аталады?
6. Программа жасау қандай әрекеттерден тұрады?
7. Паскаль экранының негізгі элементтері, қызметі.
8. Бір уақытта бірнеше программамен қалай жүмыс істеледі?
9. Программаның нәтижесін қалай көруге болады?
3.2
Паскаль тілінің алфавиті және сөздігі
Ағылшын алфавитінің бас және кіші әріптері: А В С В Е Ғ О Й І
ІКЬМ НОРдКЗТиУ\¥ХҮ2 аЬс| е
I і І к 1ш о о р д г з I
І V ЩX у 2
Төменгі сызық белгісі ( _ ) .
Ондық цифрлар: 0...9
Он алтылық сандар: 0-9; А-Ғ; а-Ғ;
Арнаулы белгілер: + - * / < > = ; #. номер; ‘- апостроф;
, . : [ ] { } $ - АҚШ долларының ақша белгісі; ( ) л- тильда;
@- коммерциялық а ; бос символ (пробел).
Символдар комбинациясы: ‘:=‘ меншіктеу белгісі; <= (кіші
немесе тең);
< > (тең емес); >= (үлкен немесе тең);
мәндер
аралығы. Бүл символдар арасына бос орын қоюға болмайды.
Паскаль тіліндегі сөздер 3 топқа бөлінеді: қосалқы сөздер,
стандартттық атаулар және пайдаланушының атауы.
Қосалқы (резервтелген) сөздер. Түрақты мағынасы және
жазылу ережесі бар сөздер қосалқы сөздер деп аталады. Ол сөздерді
программаны жазушы өзгерте алмайды, енгізілетін шамаларды
беіігілеуге оларды пайдалануға болмайды.
25
Паскаль тіліндегі жиі қолданылатын қосалқы сөздер
аЬзоІиІе
апсі
аггау
азш
Ье§іп
сазе
сопзі
СІІҮ
(ІО
(ІО^ҮПІО
(о
еізе
епсі
ех іетаі
йіе
іог
Ғопуагй
йтсііоп
80іо
ІГ
ітріетепіаііоп
іпііпе
ІаЬеІ
іпІегГасе
іпіегшрі
тосі
піі
поі
ог
оЬ]ес1:
раскей .
ргіуаіе
ргосеёиге
рго§гат
риЫіс
гесоггі
гереаі
$е(
зһі
зһг
5ІГІП§
Іһеп
іо
іуре
ипіі
ипШ
изез
уаг
\уһі1е
шііһ
хог
ІіЬгагу
3.3 Мәліметтер типтері
Берілгендердің типі олардың қабылдай алатын мәндерін және
оларға қолданылатын операциялардың жиынын анықтайды. Әрбір
типтің мәндер аралығы мен арнаулы қосалқы сөзі (6 сурет) болады
және мәндер аралығы мен алатын жады көлемі анықталған (6 кесте).
6 сурет - Паскаль тіліндегі типтердің иерархиялық сүлбасы
#
26
6 кесте-Қарапайым типтердің мәндер аралығы мен алатын жады
көлемі
|
Т иптер
1
Вуіе
Іпіеяег
^огсі
Зһоіііпі
Ь0П£ІПІ
геаі
зіпяіе
сІоиЫе
ехіепёеё
сһаг
1
Ьооіеап
Бүтін типтер
Мәндер аралығы
2
0 .. 255
-32768.. 32767
0..65535
-128.-127
-147483648.. ..2147483647
Н ақты типтер
2,9x10'391 1,7х1038
1,5х 10Г45 - 3,4x1038
5х 10‘і24 - 1,7x1030*
3,4х 10*932 - 1,1x104932
Л итерлік тип
АЗСІІ кодының бір символы
Л огикалы қ тип
Тгие, Гаізе
Жады көлемі (байт)
3
1
2
2
1
4
6
4
8
10
1
1
Нақты сандар бекітілген үтірмен немесе жылжымалы үтірмен
(экспонента түрінде)
жазылады.
Нақты сандардың экспонента
түрінде жазылу түрі:
<мантисса> Е<дәреже көрсеткіші>
Мысал:
7,32 = 7,32*10°=
7.32Е+00,
бекітілген үтір
экспонента түрінде
7.32Е+00 ясазуындағы 7.32 - мантисса, 00 - дәреже көрсеткіші
456,721 =4,56721 * 10+2=4,56721Е+2;
0,015=1,5* 10-2=1.5Е-2
Атаулар (Идентификаторлар). Атаулар дегеніміз-объектіні
(программаның атын, айнымалы және түрақты шамаларды,
функциялар мен процедураларды) символдар тіркесімен белгілеу.
Атаул ардьщ жазы лу ережел ері:
1. Латын әріптерімен жазылады, тек әріптен басталады.
2. Әріптен, цифрдан,
белгісінен қүралады.
3. Үзындыгы 127 символдан көп болмау керек, оның 67-сі ғана
мағыналы.
4. Қосалқы сөздерді атау ретінде пайдалануға болмайды.
5. Бос символ, нүкте, басқа да арнаулы символдар болмау керек.
6. Бас әріпті де, кіші әріпті де пайдалануға болады.
27
Т ұракты лар. А йны м алы лар. Кез келген программа белгілі бір
деректерді немесе берілгендерді өңдейді. Берілгендер тұрақтылар
және айнымалылар болып бөлінеді, программада олар атаулармен
белгіленеді.
_ І Щ іЩ .С й а 4
Программаның орындалу барысында өзгермейтін берілгендер
тұрақтылар деп аталады. Тұрақтылардың мәндері программаны
сипаттау бөлімінде тағайындалады.
Логикалық типтегі тұрақтылар: Ігие(ақиқат) және Гаізе(жалган).
Программаның орындалу барысында мәні өзгеріп отыратын
шамалар айнымалылар деп аталады. Әрбір тұрақты немесе айнымалы
белгілі бір типке жатады. Берілгендерді пайдаланбас бұрын, алдын
ала олардың типтері сипатталу керек. Тип деректерді сақтау ұшін,
жадының қандай ұяшықтары пайдаланатындығын білдіреді.
Ж атты ғулар
1. Мәндердің типтерін анықта: ‘класс’; -12,3; ‘б ’; 1,ЗЕ+2-32000; 32800; 250;-2,5 Е + 3 ;‘,1+3’; ‘-*56’; ‘бала келді’.
2. Мына атауларға мәндер бер: а:іпІе§ег;
Ьгсһаг;
с:геа1;
сіЗ:зІгіп§; йп.ЬуІе; гат:Ьоо1еап;
3. Сандарды экспонента тұрінде жаз:
-2,52* 106> 1 05* 10'356252; -0,215682; 0,12345; 12345.
4. Атаулардың мәні бойынша, типін анықта: а:=5; Ь:=‘иә‘;
Ь2:=265; с=-7,2; паіуе: = ‘ 1‘; к1:= ‘жұп‘; аЗ:= ‘а ‘; ЬЗ:=-1,2Е+5;
5. Экспонента тұріндегі санды стандартты тұрде жаз: 1.23Е+20.258Е-3; 0,087Е6; 1.4523Е-5; 9.9945Е8; І.ІЕ+1
6. Ондық сандарды экспонента тұрінде жаз: -456; 0 1827'
145,00045; 888,12458; 0,0000525; 1245789845; 25; 5;
7. Экспонента түрінде жазылған сандарды ата: Г02Е-25Е1’
ІЕЗ; б+ЕІ^ -Е+2; 2,2Е/3; 4Е; 2,5+Е; 7.Е+2;
8. Қай атау дұрыс жазылған? текст, ‘а ’, аз, аЬ, епй, 16п, &і1,
1Г_т, Г_1т, к т + 5 , “кі”, 35, іі-и, кіазз, сіп х, уаг, Ьа 1а.
9. Мына шамаларды атаумен белгіле: Баға, кітаптьщ бағасы,
дәптердің бағасы, туған жыл, жалақы, адрес, фамилия, аты, реттік
номері.
10. Атауларды ата, қатесін тап: а:=3;
х+у:=10; а1:=х+у;
28
2х:=3.5;
уаг:=’ бор *•
І
3.4 Өрнектер
Деректермен лсүргізілетін әрекеттердің ретін көрсететін тілдік
конструкция өрнек деп аталады. Өрнек операндтардан, шамалар мен
өрнектерден, дөңгелек жақшалар мен операция белгілерінен түрады.
7 кесте-Математикалык функциялардың Паскаль тілінде жазылуы
#
Математикада
Паскальда
§ЯгІ(х)
зіпх
созх
агсі%х
ехр(х)
1п ( 10)/1п(х)
п=3,1415926...
Нәтиженің типі
бүтін, нақты
бүтін, нақты
нақты
нақты
нақты
нақты
нақты
нақты
нақты
нақты
Операнд-операцияға қатысатын элемент. Операция операндтармен лсүргізілетін әрекеттерді анықтайды. Мысалы, (х+у-10) өрнегінде: х,у,10 - операндтар, ал «+» пен «-» - қосу және азайту операцияларының белгілері.
Математикалық өрнекті жазу ережелері:
1) өрнек бір лсолға тізбектей жазылады, сондықтан амалдардың
орьгадалу тәртібінің бүзылмауын ескеру керек;
2) лсоғары лсәне төменгі индекстер ерелсе бойынша жазылады;
3) функцияның аргументі лсақша ішіне алынады;
4) тригонометриялық функциялардың аргументі градуспен емес,
радиан түрінде (х*РІ/180) жазылады;
5) ашылған және жабылған лсақшалар саны тең болады;
6) математикалық өрнекте дөңгелек лсақшалар ғана жазылады.
Дәрежені есептеудің стандарттық функциясы жоқ. Бірақ, оны
стандарттық функциялар арқылы былайша өрнектеп лсазуға болады:
ах: = ехр(х* 1п(а)), ( егер а>0 болса ғана).
Сол сияқты, і§(х) = зіп(х) / соз(х);
Өрнектерді Паскаль тілінде жазу мысалдары:
Математикада
Паскаль тілінде
у^созіб^ + і*
у :=соз( 15*рі/180) + зцг(Г)
щ
у=лІх5 + 18-5| ] 1пЗ,2
у:=5цгі(ехр(5*1п(х)))+аЬз(8-5)*1п(3.2)
29
Л о ги к ал ы қ өрнектер. Өрнектер, логикалық операциялар және
шарттық қатынастар тізбегі логикалық өрнектер деп аталады.
Логикалық типтегі мәндер' шамаларды салыстыру нәтижесінде
пайда болады. Салыстыру қатынас операцияларымен (<, <, =, >, >)
жүргізіледі. Логикалық типтегі аинымальшар Ьооіеап атауымен
сипатталады. Олар екі мән -Ғаізе (жалған) және
Тгие (ақиқат)
мәндерін қабылдайды. Егер салыстырудың нәтижесі ақиқат болса,
айнымалының мәні іше, ал жалған болса Гаізе мәнін қабылдайды.
Мысалы:
5=5, ақиқат;
15<7+23, ақиқат;
7< 15<20, ақиқат;
15<7жалған;
25-5>10>35, жалған;
10<10< 25+3-2, ақиқат
Логикалық операциялар (поі, ап<1,ог) мен
арифметикалық
қаТынастар бір өрнекте кездессе, олардың орындалу реті мынадай:
1) поі;
2) апсі, *, ёіу, тосі, / ;
3) ог, хог, +, - ;
4) қатынас операциялары ( < , > , < , > , < > , )
Логикалық операцияның оң және сол жақтарындағы қатынас
операциялары жақшаға алынады (8 кесте).
Логикалық мәндер енгізілмейді, бірақ логикалық мәндерді
шығаруға, меншіктеу командасы арқылы айнымалыға меншіктеуге
болады.
8 кесте-Логикалық операциялардың жазылуы және нәтижелері
Операция
Жазылуы
шарты
поі (емес)
Ог (немесе)
I
30
шарты
Нәтиже
9
мысал. а=-58, Ь =20, с=1гие, сі=Ға1зе мәндерінде
з:=(а>5) апсі (Ь<8) ог поІ(ё ог с) өрнегінің нәтижесін анықтау.
Шарт а>5 Ь<8
Нәтиже Гаізе Гаізе
(а>5) апсі (Ь<8)
Гаізе
сі огс
Ігие
поІ(с1 огс)
іаізе
3
&1зе
Сұрақтар
1. Математикалық өрнектерді жазу ережелерін ата.
2. Градустық бұрыш радианаға қалай ауыстырылады?
3. Дәреже қалай жазылады?
4. Логикалық мәндер қалай пайда болады?
5. Логикалық тип қалай сипатталады?
6. Салыстыру операцияларына нелер жатады?
7. Логикалық айнымалылар қандай мәндерге ие болады?
8. Негізгі логикалық операцияларды ата.
9. "Және"' операциясының нәтижесі қай кезде ақиқат болады?
10. "Немесе" операциясының нәтижесі қай кезде ақиқат болады?
11. Логикалық өрнек деген не?
12. Логикалық операциялардың орындалу реті қандай?
13. Логикалық мәндерді пайдалану ережелерін ата.
Ж атты ғулар
11. Өрнектерді Паскаль тілінде жаз.
б) а=3х +12х
а) у=|х|+3х ;
г) 2=е5*0.5а;
д) у= л/1 а - * | ;
4+1
у=1п
з) Ь=(12,6+х)4;
12. Өрнектерді Паскаль тілінде жаз.
соз215°
ГЯ3200 —УІ25
б) к
а) а
2 + 0,5
2-5
/ ь
х 2+а - д -(-3)
-к
г)у=
е)
Д) 2=
7,2-2
\
а-5
в) Ъ=4х2+\о
е) у=зіпх+3а;
и) 2 =|х-к |;
а2 -Ь 6
в) у = -----гг- +3а
с -5 6
45 - х
I
2= х + —--- —г -100х3
( х - 25) 5
13. Өрнектерді программалау тілінде жаз
45дг-1
\+
а) з х +ч
з
9
с 2 -(6 + 2,15)
б) а=
2 •(0,5 + с)
а
в)у=
к +1
к
- х ^ +3
1+х*-20і ^-У І25
г)к=
2• 5• (-52,03)
5 Д'
1
і 2 22 з
2 ? +1Г&5
-2
ь
31
9
14. Өрнектерді математикалық түрде жаз.
а) у:=1/а+1/зяг(а)+1/(а*5яг(а));
б) 8:=(зяг(к)+8^г(5яг(х))*х)/2;
в) х:=(а/Ь+Ь/с)/(2*х+1);
д) к:=зчгі(а-1)/аЬз(5.1-а*7)/2 ;
15. а=10, Ь =20, с=1гие, гі=Ға1зе мәндерінде өрнектің нәтижесін
анықта.
а) с ог сі апё (Ь=20);
б) (а>5) апсі (Ь>8) ог (а<20) ап<1 (Ъ<30);
в) поі((а<4) агкі (4>8));
г) с апё <1 ог (Ь шосі а <0)
Д) поі (а<15) ог поі (6<30)
е) (-3>=5) ог поІ(7<9) апд (0<3)
16.х=>калған, у=ақиқат, 2=жалған мәндерінде логикалық
өрнектщ нәтижесін анықта:
а) У немесе х және 2 емес
б) у немесе х және 2 емес
в) х және (г немесе у) емес немесе 2 емес
г) х және у емес немесе 2
д) (х емес немесе у емес) және (х немесе у)
17. Нәтижесі ақиқат болатын шарттарды жаз.
а) х, у сандарының әрбіреуі 5-к'е тең.
в) х,у ,2 сандарының үшеуі де оң сан.
б) х, у сандарының біреуі 3- ке бөлінеді.
г) х саны [а;Ь] аралығында жатады.
3.5 Программанын күрылымы
Программа - компьютерде орындау үшін компьютерге түсінікті
тілде (программалау тілінде) жазылған алгоритм. Паскаль тіліндегі
программаның құрылымы төменде көрсетілген:
рго§гат <аты> (Іприі, Оиіриі);
и з е з ___ ;
ІаЬеІ. . .
С0 П8І . . .
іуре . . . у а г. . .
ргосесіиге < аты >;
< процедура денесі >;
(ітсііоп < аты >;
< функция денесі>;
Ье§іп
операторлар
еп<1.
||
Программаның
басында рго§гат
қосалқы
сөзінен соң
программаның аты жазылады. Программа операциялық жүйемен осы
ат арқылы қатынасады.
ІІзе» бөлімінде жиі қолданылатын кітапханалық модульдер
тізімі сипатталады. Жазылу форматы: изез к і, к 2 ,...;
32
Мысал: изез сгі, §гарһ, ёоз, МуыЬ;
ЬаЬеІ бөлімінде белгілер тізімі сипатгалады. Белгі дегеніміз
атау немесе 0-9999 аралығындағы сан. Ол программаның кез келген
нүктесінен басқа нүктеге өту үшін қойылады.
Жазылу форматы: ІаЬеІ т і , т 2 , ...;
Программа денесінде белгі оператордың алдына жазылады,
одан соң қос нүкте қойылады. Егер белгі бірнешеу болса, үтірмен
ажыратылады.
Соп§( бөлімінде тұрақтылар сипаттапады. Жазылу форматы:
СОПЗІ
<атау> = <түрақты мән>;
Мысал: сопзі
Аі=’Самат‘;
К1азз=9;
Соёе=$ 124;
Туре бөлімінде стандарттық емес, пайдаланушының өзі қүрған
типтер сипатталады. Жазылу форматы:
іуре
<типтің аты> = <тип мәні>;
Мысал: Іуре
ріапеіа = ( тагз, ріиіоп, зШ т, тегсигу);
кип = 1.. 7;
Уаг бөлімінде айнымалылардың типтері сипатталады. Жазылу
форматы:
уаг
<атау>: тип;
Мысал: ұаг
а,Ь: іійе§ег; с,гі: з1гіп§;
Щ Ьооіеап;
Ргосейиге, Ғипсііоп бөлімдерінде ішкі программалар: процедура мен функция сипатталады.
Процедураны сипаттау түрі:
ргосесіиге <аты>[(формалдық параметрлер тізімі)];
сипаттама бөлімі
Ье^іп
операторлар бөлімі
епсі;
Функцияны сипаттау түрі:
Ғипсгіоп аты(формальді параметрлер тізімі):нәтиженің типі;
сипаттама бөлімі
Ьешп
33
функция денесі
епсі;
- ‘
Ье^іп мен епсі арасындағы операторлар бөлімі - негізгі бөлім.
Бұл бөлімде программаның нәтижесі алынатын әрекеттер орындалады
П рограм м а тексіне түсініктеме (коментарий) қою.
Программаның тексін жақсы түсіну үшін оған түсініктеме (комментарий) жазута болады. Түсініктемені бос орын койылатын кез келген
орынға жазуға болады. Түсініктеме тексі { } немесе {* *} символдарына алынады. Бірдей символдарды кабаттастыруға болмайды.
Мысал:
Ье§іп
{басы }
дүрыс
шгііе!п(х);
(* х мәнін шығару *) дүрыс
еш**
{ { соңы } }
дүрыс емес
л
3.6 М әліметгерді енгізу-ш ығаруды үйы м дасты ру
Кез келген программа белгілі бір есепті шешу үшін құрылады.
Есеп шығару барысында пайдаланушы компьютерге берілгендерді
енгізеді, оларды енгізу әдістерін сипаттайды, нәтижелерді шығару
түрін көрсетеді. Сондықтан, программа қүру кезінде мына негізгі
элементтерді білу қажет:
" ессптің берілгендерін анықтауды жөне жадыға енгізуді;
- ақпаратты жадыда сақтауды (деректер);
деректерді өңдеу командаларын дүрыс көрсетуді (қолданылатын операциялар);
- деректерді программадан пайдаланушыға беруді (шығаруды);
Командаларды жазу кезінде олардың орындалу жағдайларын
қарастыру қажет:
белгілі бір шарттардың нөтижесіне байланысты орындалады
немесе орындалмайды (шартпен орындалу);
- қайталанады (цикл);
- программаның әр нүктесінен шакырылып орындалады (ішкі
программалар);
Сонымен, программалаушы программаның негізгі жеті
элементін. деректерді, қолданылатын операцияларды, енгізу-шығаруды, шартпен орындауды, циклді, ішкі программаларды- пайдалана
білуі және олардың негізінде программа қүра білуі керек.
ЭЕМ-де кез келген есепті шешу мәліметтерді енгізу-шығару
операцияларын қажет етеді.
34
Енгізу - мәліметтерді сыртқы тасымалдаушыдан жапшаң жадыға жіберу. Шығару - мәліметтерді жапшаң жадыдан сыртқы тасымалдаушыға жіберу.
Енгізу процедурасы.
Сандық мәндерді, символдарды,
жолдарды клавиатурадан енгізеді.
Жазылу форматы: геагі(Іп)(айнымалылар тізімі);
Кеасі процедурасы орындалғанда, айнымалының мәнін енгізу
үшін программа жүмысында кідіріс болады. Айнымалының мәнін
пайдаланушы клавиатурадан енгізеді. Егер геаё процедурасында
айнымалылар тізімі көрсетілсе, онда тізімдегі айнымалылардың
мәндері клавиатурадан бос орынмен ажыратылып енгізіледі. Әрбір
геасі процедурасынан соң Епіег клавишасы басылады.
10 мысал. За+х мәнін есептеу программасы.
рго§гат еп§І2іі_ 1;
уаг а,х,у:геа1;
Ъе§іп
геаё1п(а,х); {а,х мәндері клавиатурадан енгізіледі}
у:= 3*а+х; \үгі1е1п(‘у=’,у);
епё.
Ескерту: Енгізілетін айнымалының мәні оның типіне сәйкес
болу керек! Егер сәйкес болмаса, экранға І/О еггог хх деген
хабарлама шығады. хх-қатенің кодын білдіреді.
рго§гат аіпутаіу;
уаг і.теаі;
{і айнымалысы нақ типті}
|:іп1е§ег; | | айнымалысы бүтін типті §
к:сһаг;
{к айнымалысы бір символ мәндерді қабылдайды}
Ье§ііі
геасі(іо,к);
{і^Дс мәндері клавиатурадан енгізіледі}
епсі.
Программаның орындалу барысында У,к айнымалыларына
мына түрдеп мәндер оерілді. .,
235.5
12
а
Бүл жауап дүрыс, себебі, енгізілген мәндер айнымалының
типіне сәйкес, яғни, і = 235.5; і=12; к=’а ’;
Егер і, з, к айнымалыларына мына түрдегі мәндер берілсе,
л
2.7
9
онда 10-кодты қате туралы хабарлама шығады, себебі, енгізілген
мәндер айнымалының типіне сәйкес емес.
і=2.7; к=9;
35
9 кесте-Сандарға қолданылатын функциялар мен процедуралар
Қызметі
Жазылу
форматы
Типтер
х:у- бөліндісінің бүтіні
х:у- бөліндісінің қалдығы
х- жүп болса у жалған,
х- тақ болса у ақиқат.
х-бүтін,
у-логикалық
зисс келесі (х+1) санын немесе
______ I келесі символды табады
ргесі алдыңғы (х-1) санын немесе
______ I алдыңғы символды табады
(іес
х-ті і-ге азайтады (і-дің мәні
______I берілмесе, і=1)
у:=зисс (х)
у:=$исс (х)
у:=ргеё (х)
у:=ргес1 (х)
сіес (х,і)
іпс 1х-ті і-ге арттырады, (і=1)
іпс (х,і)
ішпс х-тің бөлшек бөлігін ескермей, у:=ігипс (х)
______I бүтінінін алады
гоипй
х,у-бүтін
х,у-литерлік
х,у-оүпн
х,у-литерлік
х-нақты
у-бүтін
х-ті жақын бүтінге дейін
дөңгелектеу.
у:=гоипс1 (х)
х-нақты
у-бүтін
сһг
коды х-ке сәйкес символды
табады
у:=сһг(х)
огсі
х символының кодын
анықтайды
у:= огсі(х)
х-байт
у-литерлік
х- литерлік
у-байт
Ш ы гару процедурасы. Айнымалының мәнін, өрнектің мәнін,
тексті экранға шығарады.
Жазылу форматы:
\үгі!е(1п) (<параметр>);
Параметрдің түрлері:
шгііеіп (өрнек); - өрнектің мәні экранға шығады. шгііеіп (зяг(25));
шгііеіп(айнымалы); - айнымалының мәні шығады.
шгііеіп (‘текст’) - текст шығады. шгііеіп (‘сәлем! ’)
шгііеіп ( өрнек, ’текст’, айнымалылар); шгііеіп (’т= ’, 12*2,'теңге');
шгііеіп; - бос жол шығарады.
36
Шығару процедурасын қолдану мысалы:
Программа жолдары
Экранға шығатын ақпарат
Г
\ҮгһеІп(‘Турбо Паскаль’);
К:=6;
\УгіІе1п(к,’-шы нұсқа);
\Угііе1п (‘ аптада ’, к+1,’ кұн бар ‘);
\Үійе1п (*к=’,к);
\Үгііе1п(‘******’)
\ҮгііІе1п(к,к+1,к+2)
Турбо Паскаль
6-шы нұсқа
аптада 7 күн оар
к=6
N
э |г $ $ $ $
678
V
)
Жаттығулар
18. Тік төртбұрыштың ұзындығы мен енін сұрап, ауданы мен
периметрін табатын программа құр.
19. Өрнекті есептеу программасын құр.
в) з=3+с ;
б) 2=х-3а ;
а) у=| х-5 I;
2,5 - пт
- / - 6/
к
е) 2=
г) 2=
Д)У=
1,005
25*2
26,8 + 27 ’
20. Өрнекті есептеу прграммасын құр.
а) у=а+Ъ, мұндағы, а=5,2; Ь=2с;
2г
б) т = Л ХЗ+Һ+ и , мұндағы, и= 1,2;
в) 5= лі2
г) 2=
г
1—
Ф
2
5
48 ; мұндағы, 2=1100х+200|;
5
5
21. Символдармен сурет салу программасын құр
б)
а)
а |е э |е з |е э |е э |е 4 е з |е з |е э |с э |е
в)
**********
э |е ә |е ә |е э |е а |е а іе э |е а |:
**
* * * * * * * * *
22. Пайдаланушының атын, туған жылын сұрап, жасын
анықтайтын, жауабын толық шығаратын программа құр.
23. Доллар курсын сұрап, I теңгені долларға айналдыру
24. Үш санның арифметикалық ортасын табу.
25. Берілген х санын 3-ке арттырып, ал у санын 2-ге кемітіп,
екеуінің қосындысын екеуінің айырмасына бөл. Бөліндіні дөңгелекте.
*
37
26. Асханадағы үстелдерге х адам 4-тен бөлініп отырды.
үстелге отырды, неше адам калды?
27. Енгізілген саннан кейінгі санды, символдан кейінгі
символды табу.
28. 95 кодына сәйкес символды, А әрпінің кодын табу.
29. Енгізілген екі орынды санның цифрларын табу.
30. Программа фрагментінің қатесін тап.
а) үаг
б)уаг
х,у:геа1;
г: іпіе§ег;
Ье§іп
г:=х/у;
епс**
в) уаг
х,у:геа1;
а, Ь:іп!е§ег;
Ье§іп
а:=ос!(і(Ь);
Ь:=х+у;
іМ.
п:геа1;
к,ш :іп(е§ег;
Ье§іп
п:=к тосІ ш;
к:=зіп(щ);
п=к/т;
епсі.
3.7 Паскаль тілінің опсраторлары
Оператор
дегеніміз
орындалуы
тиіс
әрекеттің
толық
сипаттамасын беретін программалау тілінің сөйлемі. Операторлар бірбірінен «;» нүктелі үтір арқылы ажыратылады. Паскаль тілінің
операторлары екі топқа бөлінеді: қарапайым және қүрылымды.
3.7.1 Қарапайым опсраторлар
Өз ішінде басқа операторды қолданбайтын оператор қарапайым
оператор деп аталады. Оларга меншіктеу, шартсыз өту, процедураны
шақыру және бос операторлар жатады.
М енш іктеу опсраторы. Айнымалының мәнге ие болуы немесе
мәнінің өзгеруі меншіктеу операторымен жүзеге асырылады.
Меншіктеу нәтижесінде айнымалының атымен аталатын жады
үяшыгына айнымалының мәні жазылады.
Жазылу форматы:
Айнымалы:= өрнек ;
Айнымалы:=мән;
Меншіктеу операторының орыидалу мысалы 10 кестеде
келтірілген.
Шартсыз ету опсраторы. Программаның кез келген
нүктесінен белгі қойылган операторға өту үшін қолданылады.
Жазылу форматы: §оіо белгі;
Мысал:
ІаЬеІ т і , т 2 ;
Ье§іп
•
т і : <1оператор>;
38
I
щ2: <2оператор>;
§ о іо ш і ;
§о!о ш2;
епсі.
Ооіо мен белгі арасындағы операторлар орындалмайды. Ооіо
операторы арқылы циклдің ішінде, шарттық оператордың ішінде,
таңдау операторының ішінде өтуге болмайды. Мүмкіндігінше Ооіо
операторын пайдаланбау жағын қарастыру керек. Ооіо операторы
программада қате шыққан кезде, оның орындалуын тоқтату үшін жиі
пайдаланылады.
|Я>
10 кесте-Меншіктеу операторының орындалу мысалы
Оператор
а:=8;
Ь:=2*а;
с:=зцгі(Ь);
а:=Ь - с;
1-
Орындалу нәтижесі
а айнымалысы 8 деген мәнге ие
болады.________
Ь айнымалысы а-ның мәнінің 2-ге
көбейтіндісіне, яғни 16-ға тең болады.
с айнымалысы V16 нәтижесіне, яғни
4-ке тең болады.
а айнымалысының мәні өзгереді,
ол
шГ
* ’
12-ге тең болады.
Жады
үяшықтаоы
а
8
Ь
16
с
4
а
§§ ]12
Ескерту: Айнымалы және оған берілетін мән бір типті болу керек.
Бос операторда ешқандай символдар болмайды, ол ешқандай
әрекеттер орындамайды. Бос операторды блоктың ішінде бірнеше
операторды орындамай аттап кету қажет болғанда пайдаланады. Бос
операторды пайдалану үшін белгі жазылады.
Мысал:
ІаЬеІ т і ;
1 Ш йі
Ье§іп
• Щю
§ оіо т і ;
9
Ш
Щ
т 1: бос оператор
епсі:
39
11 м ы сал. х=36 және у=11 мәнінде з=х+у өрнегін есептеу.
рго§гаш тепйһік;
Уаг
{ программадағы айнымалыларды сипаттау }
х,у,з: іп1е§ег; {х,у,$ айнымалыларының мәндері бүтін сандар,
сондықтан, олардың типі іпіе^ег болады }
Ье§іп
{негізгі программа денесі осы жерден басталады }
х:=3;
у:=11;
{х айнымалыға 3-ті, у айнымалыға 11-ді
меншіктейді}
х:= зяг(зяг(х)) * зяг(х);
{хб=(х2)2 • х2 }
з:=х+у;
{х+у өрнегінің нәтижесін і айнымалыға
меншіктейді }
еп<1.
П роцедураны ш ақы ру алдын ала анықталған процедураны
шақыру үшін пайдаланылады. Сігзсг; Іпі{\Уогк((:гие);
С үрақтар
1. Оператор деген не?
2. Меншіктеу операторының мағынасы қандай?
3. Меншіктеу операторының жазылу форматы кандай?
4. х:=х+5 жазуы нені білдіреді?
5. Қарапайым операторлардың түрлерін және кызметін ата.
3.7.2 Қ үры лы м ды операторлар
Олар белгілі бір ережелер бойынша басқа операторлардан
күрылатын конструкция түрінде болады. Қүрылымды операторлар үш
топқа белінеді: қүрама, шарттық, қайталану.
Қ үрама оператор. Бір-бірінен ажырамай түтас орындалатын
операторлар (;) арқылы ажыратылып кұрама оператор түрінде
жазылады. Қүрама оператор Ье§іп епсі операторлык жақша арасына
алынады, оны программаның кез келген орнында орналастыруға
болады.
Ш артты к оператор. Белгілі бір шартты тексеру нәтижесіне
байланысты әр түрлі іс-әрекеттің біреуі ғана орындалатын жағдайда
қолданылады. Шарггық оператордың екі түрі бар: шарт тексеру (II)
жөне таңдау (Са$е).
ІГ операторы .
Белгілі бір шартты тексеру нәтижесіне
байланысты екі түрлі іс-әрекеттің біреуі ғана орындалатын жағдайда,
яғни тармақталған құрылымды программалауда қолданылады.
ІГ операторының екі түрі бар: толык жөне қысқаша.
40
Толық түрінің жазылу форматы:
ІГ <шарт> Шеп < I оператор>
еізе <2 оператор >;
ІГ операторы толық түрінің орындалу реті: Ең
алдымен
шарттағы логикалық өрнектің нәтижесі анықталады. Егер нәтиже
ақиқат болса <оператор1> орындалады, ал нәтиже жалған болса
<оператор2> орындалады.
Қысқаша түрі. Шарттық операторда шарт орындалмаған
жағдайда еш нәрсе орындау қажет болмаса, еізе тармағын жазбауға
болады. Жазылу форматы: ІГ <шарт> (һеп <оператор>;
12 мысал. Екі санның үлкенін табу.
рго§гаш езер_ I ;
үаг х, у, 2 : геаі;
{х;у-берілген айнымалылар, 2-нәтиже}
Ье§іп
\¥гііе1п (‘2 сан енгіз’);
геаёіп (х, у);
{бос орынмен 2 сан енгіземіз}
іГ х>у іһеп 2 :=х
{егер х >у болса, онда нәтиже х болады}
*■*
еізе 2 :=у;
{әйтпесе нәтиже у болады }
\үгіІеіп (2 ); геасііп;
епд.
Программаның орындалу барысында 5 және 7 сандарын
енгіземіз. Айнымалы х-ке 5, у-ке 7 меншіктеледі (х:=5,у:=7). 5>7
шарты орындалмайды, нәтижесі жалған, сондықтан еізе -ден кейінгі
оператор орындалады, ол оператор \үгі1е1п(у), у-тің мәнін экранға
шығару, нәтижесінде экранға 7 жазылады.
Таңдау (са$е) операторы. Алгоритмде бірнеше жағдайдың
біреуін таңдау қажет болғанда қолданылады.
ІГ операторы екі
жағдайдың
біреуін орындайды, ал сазе операторы бірнеше
жағдайдың біреуін таңдайды. Жағдайлар таңдау айнымалысының
мәніне байланысты таңдалады.
Жазылу форматы:
са$е <таңдау айнымалысы> оГ
<1-тізім (мән)>:<оператор 1;>
<2-тізім (мән)>:<оператор 2;>
<п-тізім(мән)>:<оператор п;>
[еІ$е <оператор>]
епсі;
Сазе операторының орындалу тәртібі: Алдымен <таңдау
айнымалысының> мәні анықталады. Анықталған мән қай тізімге
41
жатса, сол тізімге сәйкес келетін оператор орындалады да, баска
операторлар орындалмай, сазе операторы жұмысын аяктайды.
Егер <таңдау айнымалысының> мәні тізімнің ешбіреуіне
жатпаса, онда еізе-де көрсетілген <оператор> орындалады. Еізе
болмаса, сазе операторы жұмысын аяктайды.
Сазе операторын пайдалану ережелері:
1. Таңдау айнымалысы мен тізімдегі мәндер бір типті болады.
2. Еізе тармагының болуы міндетті емес, кей жагдайда жазбауға
болады, егер еізе тармағы жазылса, алдыңғы оператордан соң (;)
қойылады.
3. Мәндер тізімінде үтірмен ажыратылған жеке мәндерді немесе бастапқы жөне соңғы мәндері
ажыратылған диапазонды
көрсетуге болады.
4. <Операторда> ; -мен ажыратылған бірнеше операторды
жазуға болады.
5. Таңдау айнымалысы литерлік, бульдік және пайдаланушының
типтерінде болады.
Ескерту: 8ігіп§, геаі типтегі айнымалылар таңдау айнымалысы
бола алмайды!
13 мысал. Аптадағы күнНің нөмері бойынша атын шығару.
рго^гаш кип_1;
Уаг кип:ЬуІе;
Ье§іп
\угііе (‘күн немерін енгіз:’); геасИп (кип );
сазе кип оҒ
1: шгііеіп (‘дүйсенбі’);
2: шгііеіп (‘сейсенбі’);
3: шгііеіп (‘сөрсенбі’);
4: шгііеіп (‘бейсенбі’);
5: шгйеіп (‘жүма’);
6: шгііеіп (‘сенбі’);
7: шгһеіп (‘жексенбі’);
еізе
шгііеіп (‘ондай күн ж ок’);
епсі;
геаёіп;
епсі.
^ Программаның орындалу барысы: “Апта күнінің нөмерін
енгіз
деген
хабарлама
шығады.
Клавиатурадан
кип
айнымалысының мөні енгізіледі. Мысалы, клавиатурадан 3-саны
енгізілсе, яғни
кип=3, онда
\угіІе1п(‘сәрсенбі’)
операторы
42
орындалады. Егер кип мәні ешбір тізімге сәйкес келмесе, мысалы,
кип=8, онда еізе-ден кейінгі оператор орындалады. Ондай күн жоқ
деген хабарлама шығады.
Сүраісгар
1. Шарттық оператор қандай жағдайда қолданылады?
2. Шарттық оператордың жазылу форматы қандай?
3. Шарттық оператордың орындалуын түсіндір.
4. Таңдау операторы қай кезде қолданылады?
5 Таңдау айнымалысы қандай қызмет атқарады?
6. Таңдау операторынын жазылу форматы қандай?
7. Таңдау операторынын орындалуын түсіндір.
8. Таңдау операторын пайдалану ережелері қандай?
Жаттығулар
31 .Меншіктеу операторы орындалған соң 2 мәні неге тең?
а) г:=3;
б)2:=-0,3;
в)г:=1;
г)г:=-10;
-V
г:=7;
г:=5*г;
г:=-7/г;
ш:=1;
г:=0;
2:=2+т;
32. Санды өзінің квадратымен ауыстыр.
33.Төрт санның біріншісін екі еселенгенімен, екіншісін
түбірімен, үшіншісін кубымен, төртіншісін қарама-қарсыға ауыстыр.
34. Енгізілген санның 15-тен үлкен немесе кіші екенін анықта.
35. Енгізілген санның жүп немесе тақ екендігін анықтау.
36. Функцияның мәнін есептеу программасын қүр.
х\, егер х < 3
а) ^ = 4 4
Й
х , егер х > 5
б)
Гс о з 1 5 ° - е х, егер 0 < х < 1 5
* =\ . 4
[зіп х, калган жагдайда
37.Шарттық оператор берілген:
ІГсІоЮ Іһеп \үгі1е1п (‘УРА!’) еізе \үгі1е1п(‘сәлем’)
Осы операторды мына операторлармен ауыстыруға бола ма?
а) іГ (1=10 Іһеп \үгке1п (4 ура !‘ ) еізе \ҮгіІе1п (‘сәлем’) ;
б) іГпоі((1=10) іһеп шгііе1п(‘ура !‘) еізе мгіІе1п(‘сәлем’) ;
в)іГ поі (ё=10 ) Іһеп \угі(е1п(‘сәлем’) еізе \угііе1п (‘ура! ‘);
г) ІГ по!((1о 10) Іһеп шгі1е1п(‘сәлем’) еізе \угііе1п (‘ура! ‘);
3 8 . к айнымалыларының көрсетілген мәндерінде
ІГ]>к іһеп ]:=к-2 еізе ёес (к,2) шарттық оператор орындалған соң, ^ к
мәндері неге тең?
а) і=3, к=5;
б) ;=3, к=3;
в) і=3, к=2;
39. Функцияның мәнін есептеу программасын қүр.
43
а) у = —
6) к= - - ь
в) 2= 20л/£
Зх
а- Ь
а
г) у=л/дг +1
д) г=і§х
40. Енгізілген сан бүтін сан бола ма?
41. Екі санның модулі үлкенін 5 дәрежеге шыгар.
42. Адамның туған жылын сүрап жасын анықтайтын жөне
жасына сәйкес хабарлама шығару программасын қүр. 1-6 жас - бала;
7-17 жас - оқушы; 18-22 жас - студент; 23-60 жас - маман; 60 жастан
үлкен * зейнеткер.
43. Күннің аты бойынша номерін шығар.
44. Айдағы күндер санын шығар.
45.Қандаи клавиша басылғанын аныкта (цифрлык, алфавиттік).
46. Дүкендегі мынадай эпизодты программала: Компьютер
сатып алушының колындағы акшасын, кітаптың бағасын сүрап, егер
акшасы дөл жетсе, “рахмет!”; артык болса, “артығын алыңыз!
жетпесе, тағы беріңіз!11деген хабарламалар шығарады.
Қ айталаиу опсраторьі. Көпшілік есептерде нәтижеге жету
үшін, белгілі бір әрекеттер бірнеше рет орындалады. Қайталану
операторының үш түрі бар: лүһііе, гереаі, іог.
Егер іс-әрекеттің қайталану саны белгісіз, бірақ қайталану
шарты белгілі болса, онда шһііе (алғы шартты цнкл) немесе гереаі
(кейінгі шартты ңикл) операторлары қолданылады.
\Үһі1е операторында қайталану шарты цикл денесінен бүрын
тексеріледі. Сондықтан шһііе операторы алгы шартты цикл <Эеп
аталады. Жазылу форматы:
\Уһі1е <қайталану шарты> сіо
<цикл денесі>
Қайталану шарты — бульдік (логикалық) өрнек, цикл денесі жай немесе қүрама оператор. Цикл денесі орындалудан бүрын
шарттағы өрнектің мәні анықталады. Егер ол мән Ігие болса, цикл
Денесі орындалады. Шарттық өрнектің мәні тағы да анықталады, егер
нәтижесі Гаізе болса циклдың жүмысы аяқталып, шһііе-ден кейінгі
бірінші оператор орындалады.
14 мысал. Әр түрлі он санның қосындысын табу.
рго§гат козупсіу;
уаг п, і, з и т : іпіе§ег;
Ьедін
п:=0; {сан енгізілген жоқ }
зит:=0;
^һііе (п< 10) йо {енгізілген сандардың саны 10-га жеткен жок}
44
Ье§іп
*
п:=п+1;
\угіІе(4п,’-ші санды енгіз:’); ^ цикл
геасііп(і);
денесі
8иш:=$ит+і;
епсі;
\үгііе1п(‘сандардың қосындысы=’,8ит);
епё.
Программадағы айнымалыларға түсінік:
і-енгізілетін сан; п - енгізілген сандарды санауыш;
з и т - енгізілген сандардың қосындысы;
Программаның басында санауыштың (п) және қосындының
(зи т) алғашқы мәндері
0-ге теңестіріледі. \Үһі1е операторында
санауыштың мәні 10-ға жеткендігі тексеріледі. Егер санауыштың мәні
10-нан аз болса, 10 санды енгізіп, қосындыны табу циклі орындалады.
Цикл денесіндегі қүрама оператор орындалады.
Ье§ш
п:=п+1;
\үгі1:е(‘п’,-ші санды енгіз‘);
геаёіп(і); зит:= зит+ і;
епсі;
Қүрама операторда санауыштың мәні 1-ге арттырылып, кезекті
сан енгізіледі. Енгізілген сан зи т айнымалысының бүрынғы мәніне
қосылады. епсі;-тен соң \үһі!е операторына оралып, п<10 шартын
тексереді. п=10, яғни п< 10 өрнегінің мәні Гаізе болғанда циклдің
орындалуы тоқтайды.
Ескерту: Цикл денесіндегі операторлардың кем дегенде біреуі
шартқа әсер ететін болу керек, әйтпесе цикл шексіз орындала береді.
Кейінгі шартты цикл. Циклдің бүл түрінде қайталану шарты
цикл денесінен кейін тексеріледі, сондықтан кейінгі шартты цикл деп
аталады. Жазылу форматы: гереаС
<оператор;>
оператор;
ипйі <циклді аяқтау шарты>;
Кереаі және ипііі сөздерінің арасындағы операторлар цикл
денесі болады.
Кейінгі шартты циклдің орындалу тәртібі: алдымен цикл
денесі орындалады, одан соң циклден шығу шарты тексеріледі. Егер
нәтиже Гаізе болса, цикл денесі тағы да орындалады, егер ігие болса,
циклден шығады. Бүл циклде кайталанатын іс-әрекеттер кем дегенде
1 рет орындапады.
45
15
мы сал. Бүтін сандардың косындысын табу. 999 саны
енгізілгенде қосынды экранға шығады.
■ В■
х: іп(е§ег; зшп: геаі;
Ье£Іп
зиш:=0;
гереаі
шгііе (‘х-ті енгіз’); геасііп(х);
\
іГ х о 999
іһеп зи т:= зи т+ х;
ипііі х=999;
шгііеіп ( ‘сандардың қосындысы=’,зит); геасііп;
епй.
Айнымалыларға түсініктеме: х-енгізілетін бүтін сандар;
зит-олардың қосындысы (геаі);
Программаның басында қосынды 0-ге теңестіріледі. Одан соң
гереаі сөзімен цикл ашылады. Цикл денесінде “х-ті енгіз” сүрауымен
х айнымалының мәні енгізіледі. ІГ операторы ол саннын 999-ге тең
емес екендігін тексереді Егер тең болмаса, 8 и т косындысының
мәніне х-саны косылады. Циклдің соңындагы ипііі х=999 циклдің
аякталу шартын тексереді. Егер х=999 болса, цикл аякталады, ипіііден кейінгі оператор орындалады. Ол оператор
шгііеіп (‘сандардың қосындысы=’,8 и т);
нәтижені шығарады.
П арам етрлі кайталану. Қайталанатын өрекеттердің саны алдын-ала белгілі болғанда Гог операторы пайдаланылады. Бүл оператор параметрлі кайталану деп аталады, себебі, кайталану саны параметр немесе басқарушы айнымалы деп аталатын айнымалының мөніне байланысты болады. Бүл айнымалыда кайталану саны көрсетіледі.
Жазылу форматтары:
1. Өсу ретімен: Ғог циклдің параметрі:= яі 1о *2 йо
<оператор>;
2. Кему ретімен: Гог цикл параметрі:= *2 йоуупіо < 8 І > гіо
<оператор>;
Мүндағы: 51, 82 - параметрдің бастапқы жөне соңғы мөндері;
Ғог ... гіо - циклдің тақырыбы;
<оператор> -цикл денесі.
Цикл денесі жай немесе кұрама оператор болуы мүмкін.
Ғог операторы мынаны аныктайды:
- параметрдін өзгеру аралығын жөне цикл денесінің қайталану
сайын;
- параметр менінін өзгеруін ( іо-өсу, (іошпіо-кему);
46
ҒОК операторы параметр барлық мәндеріне ие болып
біткенше, цикл денесінің орындалуын қайталайды.
Егер з2>з1 болса, цикл денесі (з2-з1 + 1) рет орындалады.
Егер з1>з2 болса, цикл денесі орындалмайды.
16
мысал. Әр түрлі 10 сан енгізіп, олардың квадратын табу.
Мынадай
айнымалыларды белгілейміз:
і-циклдің параметрі;
х-берілген сан; у-санның квадраты.
рго§гаш сікі;
уаг і:іпіе§ег; х,у:геа1;
Ье@іп
іог і:=1 Іо 10 сіо
Ье^іп
геасііп (х); у:=зяг (х);
шшеій (4х=’,х); \үгі1е1п (‘у=’,у);
шЩ
епсі.
3.8 Қүрылымдық программалау
Құрылымдық программалау дегеніміз-программаны қарауды
және түсінуді адамға ыңғайлы етуге арналған программа қүру және
жазу әдістері. Программа фрагменттері арасындағы логикалық
байланыс анық болу кереку қүрылымдық программалауда §оіо
операторы, аса қажет болмаса пайдаланылмайды. Кез келген
программа негізгі стандарттық логикалық қүрылымда болады.
Негізгі логикалық қүрылымдар мыналар:
Тізбекті (сызықтық) - программа тексіндегі операторлар
жазылу реті бойынша тізбектей бірінен соң бірі орындалады;
Тармақты- берілген шарттың орындалуына байланысты екі
немесе одан да көп операторлар тобының біреуі ғана орындалады;
Қайталаиушы- берілген шарт орындалса, операторлар тобы
бірнеше рет орындалады.
3.8.1 Алгоритмдердіц сы зы қгы қ құры лы м ы н нрограммалау
Сызықтық программалау дегеніміз-тізбектей орындалатын ісәрекеттердің программалануы. Оған меншіктеу, енгізу, шығару және
есептеулер жатады.
Диалогтық программалар қүру үшін, геасі, геасііп, \үгііе, \УгіІе1п
процедуралары қолданылады.
Кеасі және Кеасііп, \ҮгіІе және V/ гі іеі п жазуларының
айырмашылығы: геасі және \угііе орындалған соң, курсор сол жолда
қалады. Ал геасііп және \угііе1п орындалған соң, курсор келесі жолға
47
р
түседі. Мысалы:
шгіІе(‘і=’);
геасііп(і);
і = _ {курсор осы жолда калды} 3
{ і-дің 3.2 мәні енгізілген соң,
курсор келесі жолға түседі}
\угіІе1п(‘к=’);
_к= {курсор келесі жолға түседі }
геагі(к);
л
I {курсор осы жолда калды}
Мгііе және шгііеіп жазуында экранға шығарылатын акпараггың
шетін туралауға (форматтауға) болады. Ол үшін мынадай жазу
форматы колданылады (11 кесте).
итііе (х:р); —х мәні ұзындығы р өрістің оң жақ шетінен бастап
шығарылады. (х-айнымалы, р-бүтін сан).
шгііе (х.р.сі), —х мәні үзындығы р өрістің оң жақ шетінен бастап
шығарылады. х нақты сан болса, онда нүктеден кейін а цифра
шығарылады.
Н
11 кесте-Ақпаратты туралап шығару мысалы
Жазу форматы
шгііе (х:6)
шгііе (х:4,х:4)
шгііе (х+х:7)
шгііе (х:4,х:2)
15
312
2,56
-45,1235
2.56
-45.123
17 м ы сал. Тік төртбүрыштың қабырғаларын жәнё ауданын
кесте түрінде шығару.
Уаг а, Ь, 8; іпІе§ег;
{а,Ь- қабырғалары, 8- ауданы}
Ьевіп
шгіІе(‘үзындығы қанша? ‘); геасііп(а);
итіІе(‘ені канша? ‘); геасІІп(Ь); з:=а*Ь;
шгііеіп ----------------------------------------------------------\угі(е1п (‘| а кабырғасы | Ь қабырғасы I 8-ауданы ГУ
шгііеіп (‘------------------------------------- 1_____________ у
иаііеіп (‘ | ’,а:8,Ь:19, 8:17,11 ’:6);
епсі.
Программа орындалған соң, экрандагы нәтижесі імынадаи
оолады:
а қабырғасы | Ь қабырғасы | 8-ауданы
8
4
48
32
3.8.2 Т арм ақталған құры лы мды программалау
18 мысал. Енгізілген санның [-5;5] аралығына жататындығын
анықтау.
Енгізетін санды х деп белгілейміз, типі —геаі. Егер х саны үшін
х>‘5 және х<5 шарттары бір уақытта орындалатын болса, онда х саны
[-5;5] аралығына тиісті болады
рго^гаш агаіук;
уаг х: іпІе£ег;
Ье§іп
\үгіІеІп (‘х санын енгіз’);
геасііп (х);
II (х>-5) апсі (х<5)
Йіеп үугііеіп (‘аралықта жатады’)
еізе \угһе1п (‘аралықта жатпайды’);
геаёіп;
епсі.
Тапсырма: х айнымалының мәні теріс болса, оны қарамақарсыға ауыстыру.
Есепті шешу үшін мына шарттық оператор қолданылады.
ІГ х<0 іһеп х:=-х;
19 мысал. Енгізілген екі санның бөліндісін табу. 0-ге бөлуге
болмайтындығын тексеріп, ол туралы хабарлама шығады.
рго§гаш кигата;
уаг
а,Ь : іпіе§ег; 2 :геа1;
Ье^іп
\угі*е (‘бөлінгішті енгіз а=’);
геасііп (а);
шгйе (‘бөлгішті енгіз Ь=’);
геасііп (Ь);
ІГ Ь=0
{бөлгішті тексеру}
Іһеп \ҮгіІе1п (‘0-ге бөлуге болмайды’)
еізе Ье§іп
{қүрама оператордың басы}
2 :=а/Ь;
үугііеіп ( а,’және’,Ь,’бөліндісі’,’= ’,2 );
еп(і;
{қүрама оператордың соңы}
епё.
Қабаттасқан ш артты қ оператор. Кейбір есептерді шешу
кезінде, бірнеше варианттарды қарастыруға тура келеді. Бүл
жағдайда, бірнеше шарттық операторлар қолданылады, яғни Іһеп, еізе
қызметші сөздерінен кейін жаңа шарттық оператор жазылады.
49
20
мысал. Бүтін а, Ь,с сандары берілген. Егер а<Ь<с болсй,
барлық сандарды өз квадратымен ауыстыр, егер а>Ь>с болса, әрбір
санды үшеуінің ішіндегі ең үлкенімен, баска жағдайда, әрбір санның
таңбасын өзгерт.
Есептің берілгені бойынша:
егер а< Ь <с болса, онда а:=а2, Ь:=Ь2, с:=с2;
егер а>Ь>с, онда с:=а, Ь:=а;
баска жағдайда, а:=-а, Ь:=-Ь, с:=-с;
ргодгат езер З;
уаг
а , Ь , с : іп1е§ег ;
Ье§іп
шгііеіп ( ‘а, Ь ,с сандарын енгіз’);
іГ (а<=Ь) апсі (Ь<=с) іһеп
Ье§іп
геасііп (а , Ь , с );
а:=8яг(а); Ь:=8яг(Ь); с:=зяг(с);
епсі
ек е
іҒ(а>Ь) апд (Ь>с) іһеп
Ье^іп с:=а; Ь:=а; епсі
еІ8е Ье§іп а:=-а; Ь:=-Ь; с:=-с; еп<і;
\Угі1е1п (а:5,Ь:5,с:5); геасііп;
епсі.
Есепті шешудің блок-схемасы 7 суретге көрсетілген.
Тапсырма: Жоғарыдағы мысалдағы шарттық операторды былай
'СМ?1
••.>/ §!•
.
*
өзгертсек:
І (а<=Ь) апсі (Ь<=с) Іһеп
Ье§іп
а:=8цг(а); Ь:=8яг(Ь); с:=вяг(с);
і I (а>Ь) апсі (Ь>с) (һеп
І І Щ а:=с; Ь:=с; епсі;
еізе Ье§іп а:=-а; Ь:=-Ь; с:=-с; епсі;
епсі.
программаның орындалуы қалай өзгереді? Есегггің берілгені
калай болады. Блок-схемасын сыз.
21
мысал. Арифметикалык терт амалды (+, -, | | /) орындайтын
калькуляторды бейнелейтін программа.
рго^гаш саік;
уаг
х, | | г: геаі; а т а і, а : сһаг;
Ьевіп
50
гереаі
\¥гке (‘х = ‘ ) ; геасЦп (х) ;
\¥гіІе (‘у = ‘ ) ; геаёіп (у) ;
\үгіІе!п (‘аперация +
);
геадіп (аш а!) ;
сазе ашаі оТ
‘+ * : гегиһ : = х + у ;
‘- ‘ : гегик : = х-у ;
: гегик : = х*у ;
‘ / гегик : = х/у ;
еізе \үгі(е1п (‘қате белгі’) ;
епё;
Ш ІЩ 1 (х, аша1,у,’= ’, г );
\угіІе (‘жалғастырасың ба Ү/Ы ‘ ) ;
геасііп (а ) ;
ипііі (а = ’ | р | ог (а = ’п’) ;
епё.
Айнымалыларға сипаттама: х, у-берілген сандар; г-нәтиже;
ашаі айнымалысы 1 символдық типті, бұл айнымалыда арифметикалық операцияның белгісі сақталады. а айнымалысында программаның аяқталу белгісі сақталады, типі-символдық; N немесе п клавишасы басылғанда программа жұмысын аяқтайды.
Программаның орындалу барысында х,у мәндері клавиатурадан
енгізіледі. Одан соң мына жолдармен
шгкеіп (‘операция +,-,*,/’ ) ;
геасііп (аш аі) ;
операцияның белгісі ашаі айнымалысына енгізіледі. Сазе операторы ашаі айнымалысының мәні бойынша, арифметикалық операцияны орындайды. Мысалы, егер ашаі айнымалының мәні “ * “ болса,
онда
г :=х*у операторы орындалады. Егер ашаі мәні ешбір белгі
болмаса, еізе-ден кейінгі жол орындапады да, экранға “қате белгі”
деген хабарлама шығады. (Кереаі, ипііі операторлары туралы алдағы
тақырыптарда түсінік беріледі).
і
51
басы
а<Ъ жөне Ь<с
а>Ь және Ъ>с
соңы
7 сурет —Қабаттасқан шарттык операторды пайдалану алгоритмі
52
3.8.3 Алгоритмдердің циклдік кұры лы м ы п программалау
22
мысал. Цельсии шкаласындағы 15^...30^ (С) аралығын
Ғ=С*1.8+3.2 формуласымен Фаренгейт (Ғ) шкаласына ауыстыру.
рго§гат Іетр_га;
уаг і: іпіееег; Іі геаі;
Ье§іп \^гііе1п (’Температура ’);
Гог і:=15 Іо 30 і|і
Ье§іп
Ғ:= і* 1.8+32; \үгі1е1п (’Цельсий = ’,і, ’ Фаренгейт =’,Ғ: 5:2)
епсі;
епсі.
і айнымалысында температураның Цельсий бойынша мәндері
сақталған. Программаның 1-жолы экранға «Температура» деген
сөзді шығарады. Цикл денесінде температураның Фаренгейт мәндері
есептеледі де, \ҮгііеІп( Цельсий=’,і, ’ Фаренгейт=’ , Ғ:5) жолымен
экранға шығарылады.
ҒОК циклі былай орындалады: ҒОК операторы 1-рет қаралғанда
параметрдің бастапқы (15) және соңғы (30) мәндерін қабылдайды да,
і-параметрге бастапқы 15 мәнін меншіктейді. Одан соң мына
әрекеттер орындалады:
1. і <= 30 шарты тексеріледі.
2. а) егер шарт дұрыс болса, онда цикл денесіндегі құрама
оператор орындалады, яғни, і*1.8+3.2 есептеліп, Ғ айнымалысына
меншіктеледі. Экранға мына хабарлама шығады
Цельсий=... Фаренгейт=... ;*
б)
егер і<=30 шарты орындалмаса, яғни і>30 болғанда, программаның орындалуы Гог операторының сыртына шығады. Бұл
мысалда епсі; операторынан шығып, епсі. операторында программа
жұмысын аяқтайды.
3. і параметрдің мәні бірге артып, программа Ғог операторына
оралады. І<=30 шарты тексеріледі. 1-пункт қайталанады.
.
1
2
3
20
мысал. —+ —— + —— + ... + --------сан қатарының
2 2*3 3*4
20•21
қосындысын табу.
Шешуі: Берілген есепте параметрі 1-ден 20-ға дейін 1 қадаммен
өзгеретін (бөлшектің алымы) цикл кұрған дұрыс. Бөлімінде алымы
мен оған келесі санның көбейтіндісі жазылады. Егер алымын і деп
белгілесек, бөлімі і *(і+1) тұрінде болады.
ргодгаш козупсіу;
уаг і:ЬуІе; 8 : геаІ;
Ье§іп
з:-0 ;
Гогі:=1 Іо20сІо
8:=8+і/(і*(і+1));
I цикл денесі }
шгііе (‘қосынды = ’,8); шгііеіп(у); геасііп;
ййгі.
24
мы сал. 10-нан 99-ға дейінгі сан аралығынан цифрларынын
косындысы п-ге тең сандарды табу (0<п<=18).
Шешуі: Мынадай айнымалыларды белгілейміз.
п- берілген сан; р і- санның ондык разрядты цифрасы;
р2- санның бірлік разрядты цифрасы;
8- берілген санның цифрларының қосындысы;
к -ізделінді сан.
Рго§гат козупсіу;
уаг к,п,р1,р2,8 : іпіе§ег;
Ье§іп
шгііеіп ( ‘бүтін сан енгіз’);
геасііп (п); { бүтін санды енгіземіз }
Гог к:=10 Іо 99 сіо
{ 10-нан 99-ға дейінгі сандарды
қарастырамыз}
Ъевіп
| цикл денесінің басы }
9
р і : = к с ііү 1 0 ;
р2:=к тосі 10;
в:=р1+р2;
{бірінші, екінші цифраны табамыз}
ІГ 8—п іһеп шгііеіп (к);
{егер қосынды п-ге тең болса,
>
берілген к санын шығарамыз }
геаШп;
т "
'•
епсі.
25 мысал. Натурал п санындағы цифрлар санын табу.
рго§гат запаи;
Уаг т , п.Іоп§іп1; к:іп1е§ег; {к -цифрларды санайтын санауыш}
Ье§іп
шгііеіп ( ‘ натурал санды енгіз’); геасііп(п);
т := щ
{жүмыс барысында берілген п мәнін
к~0;
жоғалтпас үшін, қосымша т айнымалысына
меншіктейміз}
шһііе т < > 0 сіо
{ т< > 0 болса, цикл денесін орындаймыз }
Ъевіп
I цикл денесінің басы }
іпс(к);
I санауышты бірге арттырамыз І
54
ш . ш йіу 10, {ш санының соңғы цифрасын алып тастаймыз}
епсі;
{ цикл денесінің соңы }
\үгйе1п (п,‘ санында ’, к,‘ цифр бар ’ I геасііп;
епа.
Программаның орындалу протоколы алгормитмнің орындалу
ретін түсінікті етеді (12 кесте).
12 кесте—Натурал сандағы цифрлар санын табу программасының орындалу протоколы
Команда
1.
2.
3
4
5
\угі1е1п (‘ натурал
санды енгіз’);
геасііп(п);
ш:=п:
к:=0;
\^һі1е т< > 0
Экран
п
ш
к
Шарт
натурал
санды енгіз
317
317
0
317<>0
иә
6
7
іпс(к);
т := т ® у 10;
8
\уһі1е т< > 0
9 іпс(к);
10 ш :=ш сііу 10;
II шһііе ш<>0
12 іпс(к);
13 ш := т сііү 10;
14 ууһііе ш<>0______
15 \үгііе1п(п,‘санында’ 317 санында
, к,‘ цифр ба
16 геасііп;
1
31
31 <>0 иә
2
3
3<>0 иә
3
0
0<>0 жоқ
26 мысал. Берілген шамадан артпайтын сомаға товар сатып алу.
рго§гат іоуаг;
уагх,к,р,5: іпіе^ег;
Ьедіп
^гііеіп (‘берілген шаманы енгіз’); геасііп(р);
з:=0;
{товар әлі алынған жоқ, бағасы алғашқыда 0-ге тең}
55
гереаі
шгііеіп (‘товардың бағасы мен санын енгіз);
геасі1п(х,к);
{х- товардың бағасы, к- саны }
|:.=з+х*к;
{ алынған товардың бағасын есептеу }
шгііеіп (‘алынған товардың бағасьГ, з);
ипііі з>р;
{ товардың бағасы берілген шамадан
артканша цикл денесі қайталанады }
шгііеіп (‘товардың бағасы берілғен шамадан артып кетті’);
геасііп;
епсі.
Евклид алгоритмі. Теріс емес екі санның ең үлкен ортақ
бөлгішін (ЕҮОБ) табу.
1-өдіс: Айырма арқылы.
рго§гат а 1§_еук;
уаг А,В: іпІе§ег;
^
Ье§іп
шгііеіп (‘ Екі санды енгіз’ ); геасі1п(А,В);
гереаі
ІГ А>В іһеп А:=А - В еізе В:=В - А;
ипііі А=В;
шгііеіп (‘ЕҮОБ= ’,А);
епсі.
2-әдіс: Қалдықтар арқылы.
рго§гат а 1в_еук;
уаг А,В: іпіе^ег;
Ье§іп
шгііеіп (‘ Екі санды енгіз’ ); геасі1п(А,В);
гереаі
іГ А>В іһеп А:=А тосі В еІ8е В:=В то<і А;
ипііі (А=0) ог (В =0);
шгііеіп (‘ЕҮОБ= ’,А+В);
епсі.
Евклид алгоритмін негізге ала отырып, екі санның ең кіші ортақ
еселігін (ЕКОЕ) табуға болады. ЕКОЕ(А,В)=А*В/ ЕҮОБ(А,В).
Қабаттасқан циклдер. Ёгер цикл денесінің өзі циклден тұрса,
ондай цикл қабаттасқан деп, ал басқа циклдін денесіндегі цикл ішкі
цикл деп аталады.
Қабаттасқан циклді жазу ережесі: ішкі циклдің барлык
операторлары сырткы цикл денесінің ішінде орналасуы тиіс!
в/Ь "
28 мысал. Көбейту кестесін шығару.
рго§гаш ІаЬ_итп;
уагі, Ц Ьуіе;
Ье§іп
й г і :=1 Іо 10 сіо
&г
іо 10 ёо
Й йШ §
І*і);
епё.
": "~ң
'
.
Қабаттасқан цикл былай орындалады:
1. Сыртқы циклдің параметрі бастапқы мәніне ие болады.
2 . Ішкі цикл денесі ішкі цикл параметрінің барлық мәнінде
қайталанады.
3. Сыртқы циклдің параметрі келесі мәніне ие болады, 2-пункт
қайталанады, параметр соңғы мәніне жеткен соң, сыртқы цикл
тоқтайды.
29 мысал. Енгізілген кемелденген сандарды (совершенное число) табу. Кемелденген сандар дегеніміз - өзінен басқа бөлгіштерінің
қосындысына тең болатын сандар. 0 енгізілгенде жұмыс тоқтайды.
Мысал, 6= 1+2+3.
рго§гат к е т е 1_зап;
уаг $,п,і:іШе§ег;
Ье§іп
гереаі
\угі1е(‘ натурал санды енгіз ‘); геасііп(п);
з:=0;
Гог і :=1 Ш п-1 ёо
IГ п т о ё і = 0 ІһеЛ з:=з+і
Шп=з Іһеп \^гіІе1п(п:6 , ‘болады ‘)
еізе \үгі1е 1п(п:6 , ‘болмайды‘);
ипШ п=0;
епсі.
Программаға түсініктеме. Сыртқы цикл ноль енгізілгенше
сандарды енгізуді қайталайды. п=0 болғанда программа жүмысын
аяқтайды. Ішкі циклде енгізілген санның бөлгіштері ізделеді және
олардың қосындысы табылады.
Есептің алгоритмі 8 суретте көрсетілген.
Сүрақтар
1.Цикл дегеніміз не? Циклді қолдануға мысалдар келтір.
2.Циклдің қандай түрлері бар? Әрбіреуіне сипаттма бер.
57
8 сурет -Қабаттасқан цикл мысалының блок-схемасы
Ж атты ғулар
47. Функцияның мәнін есепте.
а) У =х2- и [-5; 15] аралығында;
б)
[7;-5] аралығында;
48. Өрнектің нөтилсесін есептеу бағдарламасын қүп.
ч
4 5
100
3 4
50
а) 2 -'»■■•••
;
В) к—~ ---- К..Н---- 3 3
3
2 3
49
»
1
10.
^ х ........ х 2= х + 1 '
армығында;
49.Адамның идеал салмағын анықтайтын бағдарламаны құру.
Идеал салмақ = бой- 100 . Бойы=250 мөнінде циклден шығу.
58
50. Кез келген символды енгізетін, бірақ тек орыс өріптерін гана
шығаратын багдарламаны күру. ‘Я’ әрпі басылганда жүмыс
аякталады.
51. Паролъ енгізуді сүрайтын, егер паролъ дүрыс болса, экранға
“Жарайсың4*сөзін шығару. Пароль = 111.
52. а-жай бөлшектің алымы, Ь-бөлшектің бөлімі. Қысқартылған
бөлшекті табу бағдарламасын күру.
53. Екі жай бөлшек берілген. А,Ь - бірінші бөлшектің алымы
мен бөлімі, с, сІ-екінші бөлшектің алымы мен бөлімі. Бөлшектердің
қосындысын тауып, нәтижесін қысқартылган жай бөлшек түрінде
шығару.
54. 1-ден п -ге дейінгі сандардың квадраттарының қосындысын
табу.
56. Шөп жинайтын бригадада N шөп оратын бар. Біріншісі ш
сағат, ал калғаи әрбіреуі алдыңғыдан 10 минут артық істейді.
Барлығы неше сағат жүмыс істейді.
57. ЭЕМ-ге п нүктенің координаталарын енгізіп, олардың
нешеуі радиусы г, центрі (х,у) шеңберде жататындығын анықтау.
58. X санының п дәрежесін анықтау (Кереаі, Ғог, \үһі1е
операторларымен).
59. Қосындыны есептеу:
а) 1+2+4+...+210;
' #
б) (1 +2)*( 1+2+3)*..*( 1+2+3+. ..+10);
в) (- 1) 1+1/( 2 * і—1), мүндағы і= 1,2 ,... п;
60. Берілген санның факТориалын есепте N1=1*2*...* (К-11*р'
61.а)(1+-!гХ1 + і ) .... ( І + -7 );
1
2
п
І
1
1
1
б) ------- ------------------- Һ...Н-----------------------;
31ПІ зіп 1 + зіп 2
зіп 1 +... + зіп п
3.9 Ішкі программа
Кейбір уакытта программадағы белгілі бір іс-әрекетке бірнеше
рет оралуға тура келеді. Ондай жағдайда оператор тобына баска ат
беріліп, жеке блокқа біріктіріледі, осындай программалық блоктар
ішкі программа деп аталады.
Ішкі программаны шақырған кезде, негізгі программаның
жүмысы тоқтайды
да, ішкі программа орындалады. Ол негізгі
программадан' берілген деректерді өңдейді. Ішкі программаның
жүмысы аяқталған соң, оның нәтижелері негізгі программаға
кайтарылады.
59
Негізгі
программадан ішкі программаларға берілгендерді
жіберу және нәтижені қайтарып алу параметрлер арқылы жүргізіледі.
Параметр дегеніміз - көрсетілген колдану аясында ғана белгілі
бір мәнге ие болатын айнымалы.
Формальдық
параметр
ішкі
программа
тақырыбында
анықталады.
Фактілік (нақты) параметр - негізгі программадан ішкі
программаға берілетін нақты мәндер (‘нақты‘ сөзі типті білдірмейді,
белгілі бір мән немесе өрнек деген мағынаны білдіреді).
Ішкі программа орындалғанда оның формальді параметрлері
нақты параметрлермен ауыстырылады. Фактілік параметрлер негізгі
программада сипатталады.
Барлық айнымалылар глобалды және локалды болып бөлінеді.
Глобаль айнымалылар негізгі программада сипатталады.
Ішкі программаның екі түрі бар: процедура және функция.
3.9.1 Процедуралар
.
Процедураның сипаттамасы процедураның тақырыбынан және
денесінен түрады.
Процедураның тақырыбы ргосейиге деген қосалқы сөзден,
процедураның атын білдіретін атаудан
және жақшаға алынып,
типтері көрсетілген формальді параметрлер тізімінен түрады.
Процедура денесі программалық блоктан түрады.
Процедураның жалпы түрі:
ргосесіиге <аты>[(формалдық параметрлер тізімі)];
сипаттама бөлімі
ІІр а
операторлар бөлімі
епё;
Процедура өздігінен орындалмайды. Ол аты бойынша негізгі
программадан шақырылады. Шақыру жолында оның фактілік (нақты)
параметрлері көрсетіледі.
Фактілік және формальдық параметрлердің арасында мынадай
сәйкестік болу керек:
- саны бірдей;
- типтері бірдей;
- жазылу реті бірдей;
Формальдық параметрлердің мынандай түрлері болады:
- параметр - мәндер;
- параметр - айнымалылар;
60
Параметр-мәндер. Параметр-мәндер негізгі программадан
ішкі программаға мөндерді беру үшін ғана қолданылады, процедура
нәтижесі негізгі программаға кайтарылмайды. Параметр—мәндер
фактілік мөндерге ешқандай ықпал жасамайды.
30
мысал. Төрт санды екі-екіден жүптап, квадраттарының
қосындысын табу.
Бүл мысалда параметр - мәндер қолданылады. Берілген сандар
2,5 пен 3,1 жөне -7,2 жөне 5,3 болсын.
рго§гаш шапсіег;
уаг к, 2, х, у: геаі;
ргосесіиге §иш_кү(а, Ь:геаІ);
{а, Ь формальдық параметрлер}
Ье§іп
{процедура денесі}
а:=а*а; Ь:=Ь*Ь;
\үгіІе1п(’квадраттар қосындысы=’, а+Ь);
епсі;
Ье§іп
{негізгі программа денесі}
х:=2.5; у:=3.1;
8ит_ку (х,у);
г: = -7.2; к:=5.3;
зиш ку (г,к);
геасііп;
епсІ.
Программаға түсініктеме
X, у, 2, к - негізгі программадағы фактілік параметрлер. Олар
негізгі программада сипатталады.
5иш__Ку процедурасында екі санның квадратының қосындысы
экранға шығарылады; а мен Ь-процедурадағы формальді параметрлер.
Процедура х, у параметрлерімен шақырылғанда а=2,5 және
Ь=3,1 мәндеріне ие болады да, олардың квадраттарының қосындысы
есептеледі. Экранға мынандай хабарлама шығады:
2.5 және 3.1 квадраттарының қосындысы
Программа
жүмысы
процедурадан
шығып,
негізгі
программаның орындалуы жалғасады. 2 пен
кгның мәндері
меншіктеледі. Процедура енді 2, к параметрлерімен шақырылады.
А=-7,2, Ь=5,3 мәндеріне ие болады. Енді осы екі санның
квадраттарынын қосындысы есептеледі.
Экранға мынандай хабарлама шығады:
-7.2 және 5.3 квадраттарының қосындысы.
Процедура жүмысы аякталып, негізгі программаға оралады,
негізгі программа жүмысын аяктайды.
Программаның орындалу тәртібі:
61
I- Негізгі программадағы айнымалылар снпатталады.
2.
X, Ү параметірлерімен 5иш_Ку процедурасы шақырылып
процедура орындалады, болған соң негізгі программа жалғасады.
3 2, К параметрлерімен З и т Кү процедүрасы шақырылып,
процедура орындалады, болған соң негізгі программаға оралады.
4. Негізгі программа жүмысын аяқтайды.
П арам етр-айны м алы . Параметр- айнымалылар процедураның
нәтижесін негізгі программаға әкелу (қайтару) үшін қолданылады.
Параметр-айнымалылар
негізгі
программадағы
фактілік
параметрлерге ықпал етіп, оларды өзгерте алады.
31
гиысал. Саннын дәрежесін табуды процедура етіп алып
у=а4*х +аЗ*х +а2 *х' мәнін есептеу программасын қүру. Мүндағы, а4 ,
аЗ, а2,х ~ клавиатурадан енгізіледі.
'
рго^гаш козішіі;
^
I
^аг х, а4, аЗ, а2, у, з,:геа1 .
;
ргосеёиге ёаге]е (а: геаі; п: Ьуіе; үаг сі: геаі);
•
у ы і:Ьу$е;
Ьевіл
{процедура денесі}
Гог і :*1 іо п <к>
4® 4 * а Щ ш
еші;
Ье$іп | негізгі программаның денесі}
геаё!п<х, а4, аЗ, а2);
- ; .
-''
сІаге)е(х,4,с); у:=з*а4;
с1агеіе(х,3 ,5); у:* у +8*аЗ; сІагеіе(х,2,*); у:=у+**а2;
«/гііеіп (‘у * ’, у); геасііп;
епЛ.
-^ШВиНрРІВіі ^
Мрограммадагы процедурага сипаітам а. Процедура Ваге]е
дсп аталады. Онда а санының п дәрежесі есептеліп, нөтнжесі сІ-га
меншіктеледі. А,п,ё- формальдық параметрлер. Дәреженің нәтижесі сі
негізп программага кайтарылатындықтан уаг <і:геа1 сипатгамасы
жазылады. і-формальдық параметр емес, сондықтан ол процедуранын
сииаттама белімшде жазылган.
Процедура денесінде а санының п рет кебейтіндісі есептеледі,
а мен п-нщ мәндері негізгі программадан беріледі.
Негізгі
программага сипатгама. Нсгізгі программада
қолданыла-тын фактілік параметрлер: х, а4, аЗ, а2, у, «; у-нвтиже, ал
з-саниың дәрежесінщ нәтижесі.
х, а4, аЗ, а2-мәндері клавиатурадан енгізіледі,
х4, х-параметрлерімен сіаге^е процедурасы шақырылады.
62
ГІроцедурадағы а=х, п^4 мәндеріне ие болып, х-тің 4 дәрежесі
есептеледі. Нөтижесі 8 параметрімен негізгі программаға қайтарылады, яғни §:=€І болады. Негізгі программада у:=5*а4 мәні есептеледі.
х,3,з параметрлерімен процедура тағы да шакырылады, яғни а=х, п~3
мәндерінде х-тің 3 дәрежесі есептеледі. Нәтижесі, яғни сі-ның мәні $ке меншіктеледі, з жаңа мәнге ие болады да, негізгі программада
у:=у+8*аЗ есептеледі. х, 2 , з параметрлерімен процедура шакырылып,
іс-өрекет қайталанады.
Сүрақтар
1.Ішкі программа деген не?
2 . Ішкі программа қай кезде қолданылады?
3. Ішкі программа мен программаның орындалу тәртібі кандай?
4.Параметр дегеніміз не?
5.Параметр қандай қызмет атқарады?
6.Параметрдің қандай түрлері бар?
7.Формапьді, фактілік параметрлер деген не ?
8 .Процедура қалай сипатталады?
9.Процеураны пайдалану ережелері кандай?
10. Функция қалай сипатталады?
ІІ « І І І *
і
Жаттыгулар
62. Екі айнымалының мәндерін ауыстыруды процедурамен
анықтап, а мен Ь-ның мәндерін ауыстыр.
63. Екі үшбүрыштың кабырғалары берілген. Үшбүрыштың
ауданы мен периметрін табуды процедурамен анықтап, олардың
ауданда-рының косындысын және периметрлерінің косындысын тап.
64. Натурал сандар берілген, Евклид алгоритмін процедурамен
аньпстап, олардың ең үлкен ортақ бөлгішін тап.
3.9.2 Функциялар
Паскаль тілінде пайдаланушы стандарттық функциялардан
басқа, өз функциясын анықтай алады. Ондай функциялардың
сипаттамасы функцияның тақырыбынан және функция денесінен
түрады.
Функцияның жазылуының жалпы түрі:
Ғипсііоп аты(формальді параметрлер тізімі): нәтиженің типі;
сипаттама бөлімі
Ье§іп
функция денесі
епсі;
63
Функция негізгі программадан аты бойынша шақырылады.
Функцияға берілетін мәндер, ондағы формальдық параметрге сәйкес
болу керек. Функцияның тақырыбында функцияның аты және типтері
көрсетілген формальды параметрлер тізімі жазылады. Тізім жақшаға
алынады. Жақшаның сыртында функция нәтижесінің типі жазылады.
Функция денесінде кем дегенде бір меншіктеу операторы
функцияның атына мән меншіктейтін болу керек!
I 32 мы сал. Санның дәрежесін табуды функция етіп алып,
2=(а +а' )/(2 • аш) - өрнегінің мәнін есептеу.
рго§гат 2_ й т к ;
үаг т : іпІе§ег; а, г, г: геаі;
| -,УШ
йтсііоп сіаге^е (п: іпІе§ег; х : геаі): геаі;
уаг і:.іпІе§ег; у: геаі; .
Ье§іп
у:=і;
Гог і:= Н о п <1о
у:= у*х; сіаге^е:= у;
епсі;
*'
* . . ':х-<ч
Ье§іп
геаёіп (а, т ) ;
■
іЩ
г:= ёаге^е (5,а);
г:= 2 + с1аге^'е(3,1/а);
іГ т = 0 Іһеп г:=1
еізе іГ т >0 Іһеп г:= сіаге]е (т ,а )
еізе г:=сіаге^е ( т , 1/а);
2 := г /(2 *г);
\угіІе1п ('а=',а, 'т = ': 10, т , '2=': 10, г);
геасііп; епсі.
П рограммадағы функцияга сипаттама. Функцияның аты
сіаге^е деп аталады. Бұл функция х” дәрежесін есептейді. N мен хфункцияның формальды параметрлері: п- дәреже көрсеткіші, типі
іпІе§ег; ал х п дәрежеге шығарылатын сан, типі геаі. Негізгі
пограммаға қайтарылатын функцияның нәтижесі де нақты типті.
Функцияда формальды параметрлерден басқа, і және у
айнымалылары сипатталған. і-қайталану санын білдіреді.
Ү айнымалысы санды өз-өзіне і рет көбейтудің нәтижесін
сақтайды. К-дәреже есептеліп болған соң, сіагеіе функциясына у-тің
мәні меншіктеледі.
Негізгі программага сипаттама. Негізгі программада т ,а , 2 ,г
айньімалылары сипатталады. т - дәреже көрсеткіші, а- берілген сан,
г- а дәрежесінің нәтижесі, 2-нәтиже.
64
Программа орындалғанда а және т мәндері клавиатурадан
енгізіледі. ъ —с!аге|е(5,а) жолында 5 және а фактілік параметрлерімен
сіагеіе функциясы шакырылады.
Функциядағы п және х параметрлері сәйкес мөндерге ие
болады, яғни п~5, х:=а. а5 дәрежесі есептеліп, нәтижесі сіаге]е
айнымалысына меншіктследі. Негізгі программаға орналған соң,
функцияның мәні 2 айнымалысына меншіктеледі.
2:=г+с1аге]е(3,1/а) жолы орындалғанда
функцияның формальды
параметрлері мына мәндерге ие болады. п:=3 , х = 1/а- себебі
(а п)=( 1/ап).
Функцияның орындалуы алдыңғыдай. Негізгі программа
орындалған соң, г мәніне сіаге^е мәні қосылады. Шарттық операторда
п-нің мәні тексеріледі. Соның нәтижесіне
байланысты г-ді
анықтайды. Атап айтканда, егер т = 0 болса, онда г:= 1;
егер т >0 болса, онда г:=ат ;
егер т <0 болса, онда г:=(1/ат);
т ,а параметрлерімен сіагеіе функциясы шақырылады, нәтижесі г-ге,
^ 2 .—2 / ( 2 * г) жолында 2/( 2 *г) нәтижесі 2-ке меншіктеледі. Нәтиже
экранға шығарылады.
Функциясы бар программаның орындалу тәртібі:
1. Негізгі программадан фактілік параметрмен функция
шақырылады.
2. Функциядағы формальді параметрлер фактілік мәндерге ие
болады.
3. Функцияның нәтижесі анықталады, функцияның атына мән
меншіктеледі.
4. Негізгі программада функцияның мәні пайдаланылады.
Сұрактар
1.Функцияның тақырыбы қалай жазылады?
2 .Процедура мен функция параметрлерінің айырмашылығы
қандай?
3.Процедура мен функцияның айырмашылығы неде?
Ж аттыгулар
65. А-ның мәнін В-мен, С-ның мәнін О-мен ауыстыратын
программа құр. Екі айнымалының мәндерін ауыстыру процедура
арқылы жазылады.
66 . Екі үшбұрыштың кабырғалары берілген. Олардың
периметрлерінің косындысын және аудандарының қосындысын тап
(үшбүрыштың периметрі мен ауданы процедурада есептеледі).
65
67. Тең бүйірлі екі трапецияның табандары мен биіктігі
берілген. Олардың периметрінің қосындысын және аудандарының
қосындысын тап. Процедура арқылы есепте.
68 . Функцияны пайдаланып у-тің мәнін табу программасын қүр.
,, 1+ зіпІ 5 + зіп5 З + зіпЗ
Ү = ---------- + ------------ + ------------:
3
3
3
„
2 + зіп 2
6 + зіп6
1+ зіпі
б) Ү = ---------- + -----------+
зіп5 + 5 зіпЗ + З зіп4 + 4
2 -тің мәнін табу программаларын құр.
69. 2=шах (а,2) • шах (2а,Ь), мұндағы шах (х,у) - х пен у
сандарының үлкені.
а) шах функциясын пайдаланбай.
б) шах функциясын пайдаланып.
70. 2=шіп (а,2Ь-а) • шіп(а, ЗЬ)
а) шіп функциясын пайдаланбай.
б) т іп функциясын пайдаланып.
71. 2= 5І§п х+зі§п у мәнің табу, х,у клавиатурадан енгізіледі.
- 1, егер а < 0
0 , егер а = 0
мүндағы, 5і§па
1, егер а > 0
4 %
|
■
а) 5І§п функциясын пайдаланып;
б) 5І§п функциясын пайдаланбай.
72. Координаторлары арқылы кесіндінің ұзындығын табуды
функциямен ,анықтап, төбелерінің
кординаталарымен берілген
үшбүрыштың периметрін табу.
73.Бүтін екі сантізбегі берілген: а,...а І0 және ЬІ...ЬІ0. 1-тізбектегі
жүп сандардың санын, 2 -тізбектегі тақ сандардың санын табу.
3.10 Деректердің қүрылымдық түрлері
Бір атпен аталған мәндер мен айнымалылардың жиыны
қүрылымдық тип деп аталады. Қүрылымдық типтің мына түрлері бар:
- реттелген тип (массивтер);
- жолдық титер (5*гіп§);
- біріктірілген тип (жазулар);
- файлдық тип (файлдар);
- жиындық тип (жиындар);
66
3.10.1 Массивтер
Массив дегеніміз - бірдей типтегі элементтердің жиыны.
Массив екі түрге бөлінеді:
бір өлшемді (вектор)- бір гана жолдан немесе бағанадан
түрады;
А[45 12 -98 100]
- екі өлшемді (матрица)- жолдар мен бағаналардан тұрады;
45 - 5 125
77
Г
А 12
0
89
105 - 5 2
8
- 26
4
Массив элементтері массивтегі орналасу реті бойынша
нөмірленеді, сондықтан массив реттелген тип деп аталады. Массив
элементінің реттік номері индекс деп аталады. Индекстер тек скаляр
типте болады. Индекстің типі массив мәндерінің шегін анықтайды.
Бір өлшемді массивтер. Сипатталу форматы:
<атау,...> : аггау [индекстипі] о і [компоненттипі];
Пайдалану мысалы: А: аггау[1..4] оГ іпіе§ег ~ бүтін типтегі 50
элементтен түратын А массивінің сипатгалуы. Мүндағы, А- массивтің
атын білдіретін атау; [ 1-.4] - элементтердің бастапқы және соңғы
индекстері;
Массивтің кез келген элементі массив атымен (атау) және
индексімен анықталады. А[і] —А массивінің і-ші элементі. А[1]=45;
А[3]=-98; К1аз[16] - Кіаз массивінің 16-шы элементінің белгіленуі.
Егер тип типтерді сипаттау бөлімінде алдын-ала көрсетілсе,
онда былай пайдаланылады:
Іуре
<тип аты> - аітау [индекс типі] оГ [компонент типі];
үаг
<атау,...>: <тип аты>;
Пайдалану мысалы: Іуре
т і = аггау [1 ..35] оҒ геаі;
уаг х ,у : т 1;
Бүл мысалда нақты 35 саннан түратын т і типі сипатталған. Ал
х және у айнымалылары реттелген т і т и п т і , сондықтан олардың
өрбіреуі нақты 35 саннан түрады.
Массив сипаттамасында оның элементтер санын түрақты
шамамен сипаттау ыңғайлы. Себебі, егер массив элементтерінің саны
өзгеретін болса, онда ол программа тексінің бөрінде емес, тек
тұрақтыны сипаттау бөлімінде ғана өзгертіледі.
67
Пайдалану мысалы: сопзі п=20;
уаг ш: аггау[1 ...п] оГгеаі;
Массивтің әрбір элементі индекстелген, олар индекстелген
айнымалылар деп аталады. Индекстелген айнымалылар да жай
айнымалылар сияқты пайдаланылады.
Э[3], М іж[І7] жазулары Е) массивінің 3-элементін, Ыош
массивінің 17-элементін білдіреді. Егер массивті сипаттауда бір
индекс болса, ол бір өлшемді (сызықтық таблица; вектор) деп
аталады; екі индекс болса, екі өлшемді (тік төртбүрышты таблица;
матрица) деп аталады. К1а$:аггау [ 1.. 20,1.. 20] оГ іпіе§ег; | Кіаз 20
жолдан және 20 бағанадан түратын екі өлшемді массив.
Массивтермен жиі кездесетін әрекеттерді қарастырамыз.
1.Массивтерді тұтастай пайдалану. Массивті түтастай
қарастыру
үшін,
индекстері
көрсетілмеген
массив
атауы
пайдал аныл ады.
Егер А және В массивтері уаг а,Ь: аггау [1..20] оГ геаі; болса,
онда оларға мынадай операцияларды қолдануға болады:
- салыстыру:
А--В, егер
А массивінің элементі В массивінің сәйкес
элементіне тең болса, нәтижесі ігие;
А<>В, егер А массивінің кем дегенде бір элементі В массивінің
сәйкес элементіне тең емес болса, нәтижесі Іше;
- меншіктеу: А:=В; А массивінің әрбір элементіне В массивінің сәйкес элементі меншіктеледі. В - өзгеріссіз қалады.
2. Бастапқы мәндерін беру (толтыру, инициялизациялау):
- массивтің барлық элемеиттеріне базалық типке сай бір
мәнді меншіктеу;
Ғог і:=1 Хо 4 #о
{А массивінің барлық элементіне
А[і]:=0;
де 0 мәні беріледі}
- массив элемеиттерініц мәнін клавиатурадан толтыру;
Ғог і :—1 іо 5 ёо
{С массивінің барлық 5 элементінің
Кеасііп (С [і]);
мәндері клавиатурадан енгізіледі}
Кеасііп О р ]
{О массивінің 5-ші элементін енгізеді}
- массивті кездеисоқ сандармен толтыру;
гапёошіге;
Гог і:=1 Хо 1 ёо
к[і]:=гапёош( 105)
3. Массив элемеиттерін экранға шыгару
- бағанамен;
йэг і:=1 Іо 4 сіо
\үгі1е 1п (а[і]);
68
бір жолға;
іог і:=1 (о 4 йо
>угі1е (а[і]:5 );
\угі1е 1п;
I 4- КөшіРУ - бір массивтің әрбір элементін басқа массивтің
сәикес элементіне меишіктеу.
Гог і~1 іо 4 сіо
а[і] =<і[іІ;
Ю массиві А массивіне көшіріледі}
5. Іздеу - массивтегі белгілі бір шартты қанағаттандыратын
элементті іздеу.
Массивтегі нольге тең элементтерді санау мысалы:
{О-ге тең элементтер к айнымалысында саналады}
ІОГ В
іо 4 с іо
.
■
ІГа[і]=0 Іһеп к:=к+1;
6 . Массив элементтерінің мәнін ауыстыру. Ол үшін типі
массивтің типГне сәйкес келетін косымша айнымалы колданылады.
Мысал: А[3;-2;4;7;0;8] массивінің бесінші және үшінші элементтерінің мәндерін ауыстыру керек.
\
Программа фрагменті мынадай болады:
\
Ү:*“а[5]; а[5]:=а[3]; а[3]:=у
{у нқосымша айнымалы, а[5]
мәнін уақытша сақтайды}
Нәтижеде берілген массив мынадай болады: А [3 ; -2 ; 0 ; 7 ; 4 ; 8].
33
мысал. Бір өлшемді С массивінің элементтері индексінің
квадратына тең болатын, ал К массивінің элементтері клавиатурадан
енгізілетін және екі массивті экранға шығаратын программа қүру:
Қолданылатын айнымалылар: С[1..Ю], К[1..Ю] - массивтер.
і-циклдің параметрін және элементтің индексін білдіреді, бүтін
типті.
Массивтің элементі оның индексінің квадратына тең болатын
формуламен толтырылады, яғни С[і]=з^г(і). Массив элементінің мәні
клавиатурадан енгізіледі, геа(11п(К[і]);
Массивте он элемент болғандықтан, а) және б) толтыру
процестері циклде жүргізіледі. Массивтің мәндерін көру үшін, өрбір
толтырудан соң оны экранға шығару керек.
ргоцгат таз_Іо 1;
уаг с, к: аггау [1..10] оГ геаі; і: іпіе^ег;
Ье§іп
Гог і:=1 Іо 10 сіо
Ье£Іп
с[і] := зцг(і);
{массивті формуламен толтыру}
69
үугііе ('массивтің і ,-ші элементін енгіз');
геасііп (к[і]);
{массивті клавиатурадан енгізу}
епё;
хүгііеіп (’ С массиві | 1
К массиві ');
Ғог і :=1 (о 10 сіо үүгііеіп (с[і]э к[і]:15 );
епсі.
34
мысал. Массивті клавиатурадан толтырып, пайдаланушы
енгізген санға,тең элементтердің санын және ең бірінші тұрғанының
номерін табатын программа қүру.
Қолданылатын айнымалылар:
п - пайдаланушы енгізген ізделетін элементтің мәні;
а - массивтегі п-ге тең элементтердің номері;
Ь -массивтегі п-ге тең элементтердің саны;
і - циклдің параметрі және элементтің индексі;
к —массивтегі элементтер саны, ол программаның түрақты шамаларды сипаттау бөлімінде жазылады. Себебі, егер элементтер саны
өзгеретін болса, оны түрақтыны сипаттауда өзгертсе жеткілікті.
рго§гаш е 1еш_І2 ;
сопзі: к= 10 ;
^
уаг
п:геа1; а, Ь, і: Ъуіе; ш: агтау [1..10] |® геаі;
Ье§іп
ч'
іог і = Н о к сіо
геасііп (ш[і]);
а :=0 ;
{ мүндай элемент жоқ деп есептейміз}
Ь :=0 ;
I басқа элемент табылған жоқ}
\¥гіІе(‘массивтен іздейтін элементті енгіз’);
геаёіп(п);
Гог і := П о ёо к
іГ ш[і] = п Іһеп {массивтегі п-ге тең элементтерді іздеу}
Ье§іп
X Ь= 0
Іһеп а:= і; {п-ге тең бірінші элементтің номерін табу}
Ь := Ь+1;
| элементтердің санын бірге арттыру}
епсі;
І ь=й
Іһеп \үгііе1п (‘массивте мүндай элементтер жоқ‘)
еізе
Ье§іп
шгіІе1п(п, ’-ге тең элементтің саны ‘ ,Ь);
шгііе1п(‘бірінші элементтің номері ‘,а);
епсі; епсі.
70
щ
табу.
35 мысал. Массив элементтерінің ең үлкенін және оның идексін
рго£гат т а х іт ;
Уаг к:аггау [ 1..7] оГ іпіе^ег;
тах,і,х:іпІе§ег;
Ье§іп
гапйотіге;
Гог і:=1 Іо 7 йо
к[і]:=гапс1от( 105);
Іог і.~1 Іо 7 сіо
шгііе (к[і]: 10); шгііеіп;
тах:= к[ 1]; х:= 1;
Ғог і:=2 іо 7 сіо
іҒ тах<к[і] іһеп
• Ье§іп тах:=к[і];х:=і; епд;
\угіІе1п(‘т а х = ’,тах, ‘индексі ’: 10,х); геасііп;
епсі.
36 мысал. Массив элементтерін кемуі бойынша реттеу.
рго§гат гейеи;
Уаг к:аггау [1 ..7] оГіпіе^ег; тах,с,і^,п:іпІе§ег;
Ье§іп
гапсіотіге;
Гог і :=1 Іо 7 <1о
к[і]:=гапёот(105);
Гог і:=1 іо 7 сіо >угке (к[і]:10);
дШіёІгі;
Гог і :=1 іо 6 сіо
Ье§іп
тах:=к[і]; п:=і;
Гог і.—і+і іо 7 сіо
ІҒ тах<к[)] Іһеп
Ьедіп тах:=к[]]; п:=з; епсі;
с:=тах; к[п]:=к[і]; к[і]:=с;
епсі;
Іог і :=1 Іо 7 ёо
^гііе (к[і]: 10); чугііеіп;
епд.
37 мысал. Массивтің п-ші элементін жою (п<т).
рго£гат іоиу;
сопзі т = 100;
уаг к:аггау [ 1..т ] оГ іпіееег; п,і:іпІе§ег;
Ье§іп гапсіотіге;
71
Гог і:= Н о гп-1 сіо
Ье§іп
к[і]:=гапёогп(105); шгіШе (к[і]:3);
епсі; хугііеіп;
геаёіп(п);
Гог і:=п Іо гп-1 ёо
к[і]:=к[ін-1];
Гог і:=1 Хо ш ёо
\үгіІе (к[і]:4);
\үгііе1п;
впё.
г .
38
мысал. Массивтегі п-орынға 100-ге тең элементті кіргізу
(п<т).
рго§гат кіг^іги;
с о п зІт = 100 ;
уаг к:агтау [ 1..т ] оГіп1е§ег; п,і:іп1е§ег;
Ье§іп гапёотіге;
Гог і:= П о т -1 сіо
Й ірй *.
г ...
к[і]:=гапс1от(105); МІйІ (к[і]:5);
епёг \үгііе1п;
'
..
"
геасііп(п);
Гог і:= т ёо\УпІо п+1 ёо
к[і]:=к[і- 1]; к[п]:= 100 ;
Гог і:=1 | і т ёо
\үгіІе (к[і]:5); \үгііе1п; геасііп;
епё.
Сұраісгар
1. Массив, индекс, вектор деген не?
2. Массив сипаттамасының жазылу форматы қанддй?
3. Массив элементі қалай белгіленеді?
4. Матрица деген не, мысал келтір.
5. Массив элементтерін енгізу, шығару әдістері.
6 . Массив элементін іздеу қалай жүргізіледі?
Жаттығулар
74. Р[3..16] массив элементтерін индекстің кубымен толтырып,
экранға шығар.
75. Берілген массивтің жүп элементтерінің жиынын анықта.
76. Берілген Т(10) массивінің 0-ге тең элементтерінің санын және
теріс элементтерінің жиынын анықта.
72
»
77. 20 элементтен тұратын В(п) массивінің жұп элементтерінің
көбейтіндісін анықтаңыз.
78. 20 элементтен тұратын Т(п) массивінің теріс элементтерін
модулімен айырбастап, санын анықта.
79. Т(п) массивінің ең ұлкен элементін тауып, оны 0-ге теңестір.
80. Т(п) массивіндегі тақ сандардың жиынын анықта.
Матрицалар. Кейбір есептерде деректер кесте түрінде
беріледі. Кесте жолдар мен бағандардан тұрады. Кестені екі өлшемді
массив немесе матрица деп атайды.
Мысалы, оқушылар туралы мәліметтерді матрица тұрінде
беруге боладьк
1
14
5
2
15
4
3
16
3
4
14
5
__________________________________
_________________________________
___________
__________
_______________________________
_______
____________________________________
_____________
____________________________________
____________
Кестедегі 1-бағана оқушылардың реттік номерін, 2 бағанажасын, 3- бағана - үлгерімін білдіреді.
Екі өлшемді массив арқылы бүл деректерді компьютерге
енгізуге болады. Екі өлшемді массивте әрбір элемент екі индекспен
анықталады. Олар жолдың және бағананың номерін көрсетеді.
Индекстер үтірмен ажыратылады.
Мысалы, А[4,3] белгілеуі төртінші жол мен үш бағананың
қиылысуында орналасқан элементті білдіреді. А[4,3]=5.
Матрицаларға
да
массивтердегі
сияқты
операциялар
қолданылады. Бір айырмашылығы, қабаттасқан циклді қолдану керек.
Бірінші цикл жол бойынша, екінші цикл - бағана бойынша
ұйымд астырыл ады.
Матрицалармен жүргізілетін әрекеттер:
1.Матрицаны сипаттау:
атау:аітау [жол индексі, бағана
индексі] оҒ элемент типі;
Мысал: уаг а : аггау [1..3, 1..2] ©I іп1е§ег;
2. Матрицаны толтыру:
а) матрицаның барлық элементтеріне базалық типке сай бір
мәнді меншіктеу;
Ғог і:=1 іо 3 до
{А массивінің барлық
0 0
Ғог ^=1 іо 2 сіо
элементіне
А 0 0
0 мәні беріледі}
а[і Л:==0;'
0 0
73
б) матрицаның элементгерінің мәнін клавиатурадан толтыру:
іог і :=1 (о 5 (іо
{С матрицасының барлық
іог | :=1 Іо 2 ёо
элементтері клавиатурадан
геасііп (с[іЛ );
енгізіледі}
геаёіп сі[5]
(О массивінің 5-ші элементі енгізіледі}
в) матрицаны кездейсоқ сандармен толтыру:
гапйошіге;
йэг і:=1 Іо 7 (1о
Гог ]:=1 іо 2 ёо
к[іо]:=гап<іот( 105)
3. М атрицаны ң элемеи гтеріи экранга ш ыгару:
а) бағанамен: Гог і:=1 Со 7 сіо
Гог ^ = 1 іо 2 сіо
шгііеіп (а[Ц]);
б) кесте түрінде: Іог і:=1 Іо 7 ёо
Ье|ій
Гог і :=1 Іо 2 ёо
шгііе (а[і^]:5); \угііе1п;
епё;
39
мысал. А(3,2) матрицасын толтырып, кесте түрінде шығару
Матрицаның қосындысын табу, оң элементтерді санау.
рго§гат таігі;
уаг і, ], к, 8 ; іпІе§ег; а:аггау [1..3, 1..2] оГ іпІе§ег;
Ье§іп
Гог і :=1 Іо 3 ёо
Гог ]:=1 Іо 2 сіо
геасі1п(а[і^]);
Гог і:=1 іо 3 сіо
Ье§іп
Гог,і:=1 Іо 2 <іо
\угіІе(а[і^]:5); \үгі1еіп;
епё;
з:=0; к:=0;
Гог і:=1 1о 3 сіо
Гог ,і:=1 Іо 2 <іо
Ье§іп
з:= 8+а[у];
іГ а[у] > 0 Іһеп к:=к+1;
епё;
\угйе1п(з,к:10);
епсі.
74
40
мысал. А(3,5) матрицасын кездейсоқ сандармен толтырып,
әрбір жолдың қосындысын табу.
рго§гат та(г 2 ;
үаг
і, | , з: іпіе^ег; а:аггау [1..3,1..5] оҒ іп!е§ег;
Ье§іп гапйотіге;
Ғог і:=1 іо 3 сіо
Ғог і :=Н о 5 <іо
а[І0]:=гап(іот(255);
Гог і:=1 | і 3 сіо
Ье§іп
Гог]:=1 (о 5 сіо
шгйе(а[і,і}:5);
\¥гіІе1п;
еисі;
Ійг і:=1 *о 3 сіо
Ье§іп
8:= 0 ;
Ғогі:=1 іо 5 сіо
з:=8+ а[у];
\үгііе1п(і,‘ з=’,з); епсі;
епсі.
Квадрат матрица. Жолдар мен бағаналар саны тең матрица
квадрат матрица деп аталады. Квадрат матрицада бас диагональ және
қосымша диагональ болады.
Бас диагональ--------
Қосымша диагональ
Бас диагональдің бойында орналасқан элементтердің индекстері
үшін жол мен бағананың номері бірдей, яғни, } =і. А[1,1]; А[2,2];
А[3,3]; А[4,4]; А[5,5]
Қосымша диагональдің бойында орналасқан элементтердің
индекстері үшін А[1,5]; А[2,4]; А[3,3]; А[4,2]; А[5,1] жол мен
бағананың номері мынадай байланыста болады, і+^'=п+1, і=п-і+1
41
мысал. Квадрат матрицаның бас диагоналіндегі элементтердің қосындысын және қосымша диагоналіндегі элементтердің
көбейтіндісін табу.
рго§гат т а ігі;
75
р
сопзі п=5;
уаг а:аггау [ 1..п,1..п] оГіпІе§ег;
5, р, і, у іпіе^ег;
Ье§іп гапсіощіге ;
Гог і:=1 Іо п сіо
Гог ^=1 іо п сіо а[і^]:=гапсіот(10);
Гог і:=1 Іо п сіо
Ье^іп
Гог^:=1 Іо п сіо \үгі1е(а[і^]:5); \үгііе1п; епсі;
з:=0 ;р := 1;
■:
Гог і:=1 іо п сіо
Гог ^=1 іо п сіо
Ье§іп
іід=і Іһеп з:=з+а[У];
іГ^’=п-і+1 Іһеп р:=р*а[У};
епё;
\угіІе1п(з:5,р:10);
еиё.
•
; ..
.М
іЩ
Ж аггы ғулар
81. <3 (х,г) матрицасындағы модулі х-тен кіші элементтерді
сана лсәне экранға шығар.
82. Сан түзуі Аі, А і ,..., Ап нүктелерімен кесінділерге бөлінген.
Берілген х нүктесі қай аралықта жатады?
83.
матрицасын мына ережемен толтыр.
а) бас диагоналінің элементтері 1-ге, қосымша диагоналінің
элементтері 2 -гетең.
б) бас диагоналінің төменгі бөлігінің элементтері 7-ге тең.
в) бас диагональдің үстіндегі элементтері 5-ке тең.
84. Матрицаны әрбір элементі индекстерінің қосындысына тең.
85. Берілен екі өлшемді массив магикалық квадрат бола ма?
Магикалық квадрат дегеніміз элементтердің бағаналар бойынша
қосындысы, жолдар бойынша қосындысы және бас диагональдар
бойынша қосындылары тең болатын матрица.
86 . Сызықтық массивтен жүп индексті элементтері 1-жолда, тақ
индексті элементтері 2 -долда орналасқан матрица қүр.
3.10.2 С им волды қ мәліметтерді өңдеу
Жол дегеніміз - үзындығы 255-тен артпайтын символдар тізбегі.
Тізбектің мағынасы болуы міндет емес. Мысал: ‘сіГ56\ ‘*ё-шар56‘,
‘*-4 лд’
Жолдар зігіп§ жолдық типпен сипатталады. Жолдық типті
анықтағанда ондағы символдар санын көрсетуге болады.
76
Жазылу форматы:
*уре
<типтің аты>=зігіп§ [символдар саны];
уаг <атау>: <типтің аты>;
8ігіп§ типтегі айнымалыны типті алдын-ала сипаттамай-ақ
көрсетуге болады:
уаг <атау>:5Ігіп§[жолдың ұзындығы];
N символдан түратын жолға жадыдан N+1 байт бөлінеді. N
байт-символдарды сақтау үшін, ал бір байт — жолдың үзындығын
сақтау үшін.
Ж олдық
өрнектер.
Олар
жолдық
түрақтылардан,
айнымалылардан, функциялардан және операция таңбаларынан
түрады. Мысал:*ба*+*ла*
Жолдарға мына операциялар қолданылады:
1.Тіркестіру операциясы (+): бірнеше жолды бір жолға
біріктіреді.
Мысал: ’ба’+’ла’=> ’бала’
‘инфор’+’матика’
’информатика’
2.Қатынас операциялары: (=,<>,<,>,<=,>=) екі жолдық операнд
салыстырылады. Жолдардың тең еместігін Паскаль былай анықтайды:
солдан оңға қарай жолдардың сәйкес символдарының стандарттық
таблицадағы кодтары салыстырылады. Қай жолда коды үлкен символ
бірінші кездессе, сол жол үлкен болады. Салыстырудың нәтижесі
бульдік типте, ігие немесе Гаізе мәндерінің біреуі болады.
Жолдарды салыстыру мысалы
Өрнек
Нәтиже
‘ М 5 - Й 0 5 ’ > ’ ГП5-СІ05 ’
Гаізе
‘ра5саГ>’РА8 САЬ’
Ігие
Қатынас операцияларының орындалу басымдылығы тіркестіру
операциясынан төмен.
Жолдык өрнектің нәтижесін жолдык айнымалыға меншіктеу
операторымен меншіктеуге болады.
Егер жолдардың үзындығы әр түрлі болса, бірақ ортақ
бөлігіндегі символдары бірдей болса, онда үзындығы қысқа жол кіші
болады.
Егер жолдардың үзындықтары бірдей және барлық символдары
сөйкес болса, онда жолдар тең деп есептеледі.
Егер меншіктеуден кейін жолдың үзындығы сипаттамада
көрсетілген шамадан асып кетсе, артық символдар ескерілмейді
Сипатталуы
Өрнек
Нөтиже
а:зІгіп8 [6 ]
а:=’программа’
‘програ’
Ь:зігіпв [3]
Ь:=,ра$саГ
‘раз’
Ші
77
Бір өрнекте литерлік және жолдық типті операндтарды
пайдалануға болады. Егер литерлік айнымалыға жолдың мәні
меншіктелетін болса, онда жолдың үзындығы бірге тең болу керек.
Жолдың жеке сиволын оның реттік номері (индексі) арқылы
пайдалануға болады.
12 345 -индекстер
Мысал: з:=’орман’
з[3]=’м ’-з жолының үшінші символьГм’ әрпі;
5[3 + 1]=’а’; жолдың 4-символы ‘а’ әрпі;
мүндағы, 3+1 индекс, ол 4-ке тең, ал 5-тің 4-символы ‘а ’-ға тең.
з[0 ]-жолдың нөлінші байтын білдіреді, онда жолдың кезектегі
үзындығы сақталады.
Жолдарға қолданылатын процедуралар мен функциялар және
мыалдар 15- кестеде берілген.
42 мысал. Жолдағы ‘а ’ әрпін санау, ‘Ь’әрпіне ауыстыру.
1-әдіс: Алгоритм:
1. Сөзді енгізу.
2. Сөздің бірінші әрпін белгілеу.
3. Белгіленген символды ’а ’ символымен салыстыру.
4. Егер сәйкес болса, санауышты бірге арттыру, сол символдың
орнына ’Ь’ символын қою;
5. Осылайша барлық символдарды қарастыру.
рго§гаш 5апаи;
уагз: 5Ігіп§; п,1,і:ЬуІе;
{п-‘а ’әрпін санауыш }
Ье§іп
п:=0; геас11п(5); 1:=1еп§1һ(5); {1 сөздің үзындығы}
|ш і:= Н о 1 (іо
іГ сору(5,і, 1)=’а’
{кезектегі әріпті белгілеп,
Леп
V әрпімен салыстыру }
Ье§іп
ёеіеіе (з,і, 1); іп5егІ(‘Ь’,з,і);
п:=п+ 1; { а әрпін санау}
епё;
^ггіеіп (‘сөзде,’п,’ а әрпі бар’);
епсі.
78
.
15 кесте - Жолдық процедуралар мен функциялар
Ш
Аты, жазьі
1. жою
сіе1еІе(а,р,п)
2. кіргізу
іпзегі (а,5,р)
3. типті
ауыстыру
а жолындағы р позициядан
бастап,
үзындығы
п
символды жояды.
а жолын з жолына р позициядан бастап кіргізеді.
х сандық шаманы
жолға
өңдеп, а-ға меншіктейді
Р<=255;
нәтиже
басқа
аинымалыға меншіктелмейді.
нәтил<е
басқа
аинымалыға меншіктелмейді.
х-ті шығару форматымен
жазуға болады.
а жолын сандық шамаға
өңдеп,
аинымалыға
орналастырады. А жолында
бос символ болмау керек.
жолының
үзындығын
табады.______ |
а,Ъ,..5 жолдарын сол ретімен
тіркестіреді
с-өңдеу нәтижесі, бүтін
сан. Егер өңдеуде қате
болмаса с=0 болады.
зіг(х,а)
4. типті
ауыстыру
үа 1(а,х,с)
5.үзындық
Іепеіһ
6. ретімен
тіркестіру
сопса1(а,Ь,..5)
7. белгілеу
сбру (а,р,п)
ро5 (а,5)
а жолынан р позициядан
бастап,
үзындығы
п
символды белгілейді.
а жолы 5 жолында неппнші
позицияда түрғанын табады.
9.регистрді
ауыстыру
кіші
әріпті
өзгертеді.
8. позиция
бас
Нәтижені айнымалыға
меншіктеуге болады.
егер р> 1еп§1һ(а) болса,
нәтижесі бос символ;
р>255 болса, қате._______
егер а жолы 5 жолында
болмаса, нәтиже=0
әріпке тек латын алфавитін ғана
ирса5е(сһ)
Мысалдар
Берілгені
1
1.а:=’абвг5е’
2.5І:=’интика’
52:=’форма’
1.уаг х:іп1е§ег;
а:5!гіп§;
Қолданылған процедура,
Нәтиже
_______ функция_______
2
3
ёе1еІе(а,4,2)
‘абве’
іп5егІ(52,5І,3)
‘информатика’
5Іг(х,а)
5Іг(-х:7,а)
‘72587’
‘-72584’
х:=72584
79
15-кестенін жалгасы
______________________________________________________________________________________________________________________________1
2
_
3
2. уаг а:зШп§;
со(і:іпІе§ег;
а:=’25’;
а:=’14.2Е+2’;
а:=’14.2’
З.з*:=’1237’
8І:=’к1а58Іо’
4.а1:=’ аЬ’;
а2:=’с(і’;
аЗ:=’еі’
5.8І:=’аЬс(іе5к’
8.а1:=’аЬс(іеГ;
а2:=’с1еГ;
9.СҺ:=’(і’
А:=’х ’
уа1(а,х,со(1)
уа1(а,х,соё)
уа1(а,х,со(1)
сос1=0
с(хі=0
со(і=5
1еп§1һ(8і)
1епйіһ(8р
сопса!(а1,а2,аЗ)
сопсаІ(а1 ,’шп’,а2)
4
7
‘аЬссіе]’
‘аЬптсй’
сору(8І,2,4)
сору(8І,5,7)
роз(а2,а1)
роз(‘е’,а2)
ро8(‘к ’,а!)
ІІрСа8е(СҺ)
ИрСазе(А)
ЦрСазе(‘а ’)
‘Ьссіе’
‘еЯк’
4
2
0
Ъ'
‘X ’
‘А ’
2-әдіс.
Алгоритм:
1. Сөзді енгізу.
2. ’а’әрпін санайтын санауыш енгізу.
3. Сөздегі ‘а ’әрпінің позициясына ‘Ь’ әрпін жазу.
пунктп
5. Нәтижені шығару.
рго§гат запаи;
уаг з:зІгіп§; п:ЬуІе;
Ье§іп
шгііе (‘сөзді енгіз’); геасііп(з); п:=0;
\уһі1е роз (‘а ’,з)>0 сіо
Ье§іп
п:=п+1; з[роз(‘а’,з)]:=’Ь’;
епсі;
хугііеіп (‘сөзде’,п,’ а әрпі бар’);
епсі.
80
43
мысал. Сөзді кері аудару. Мысалы: бала-алаб, программаамалрадғаб.
1 әдіс: берілген сөздің әр символы жаңа а жолына сол жағынан
тіркеледі.
рго§гат кегіаисіаги;
изез сті;
уаг сһісһаг; а,з:8иіп§ [30];і:ЬуІе;
Ье§іп сігзсг;
а:—'; {а-бос жол}
геаЛп ($);
Тоті:=11о 1еп2!һ(з) йо
а:=8[і]+а;
^гііеіп ( а);геас11п;
еті
2 әдіс: алдыңғы әдістен айырмашылығы, бұл әдісте символдардьщ орындары ауыстырылады, яғни бірінші символ соңғының орнына, ал соңғы біріншінің орнына жазылады, т.с.с. Орын ауыстыру үшін
қосымша сһ литерлік айнымалы қолданылады. Бүл айнымалыда
символ уақытша сақталады.
рго§гат кегі_аийаги;
уаг і:ЬуІе; сһ:сһаг; з:8ігіп§ [30];
Ье^іп
шгһе (‘сөзді енгіз’); геайіп (з);
Гог і:=1 Іо Ігипс (1епё1һ(з)/2) <іо {сөздің басынан бастап
Ье^іп
ортасына деиінп символдары
қарастырылады}
{сәйкес символдардың
орны ауыстырылады}
епа;
шгйе (‘кері сөз’, з);
епа.
44
мысал. Сөзді кері аударғанда сол сөздің өзі шыға ма?
Мысалы:қазақ, шалаш, нан.
Алгорнтм: І.Сөзді енгізу.
2.Сөздің 1-ші мен соңғы, 2-мен соңғының
алдындағы, т.с.с. символдары салыстырьшады. Салыстырудың саны
жолдың үзындығының жартысына тең. Егер салыстырылған
символдардың барлық жүбы бірдей болса, онда жауабы ‘иә’, өйтпесе
нәтиже ‘жоқ’ деп шьиғу керек.
Бірінші мен соңғы, екінші мен соңғының алдынғы,т.с.с.
символдарды салыстыруды Гог циклі арқылы жазамыз.
81
Циклдің параметрі бірінші позициядан бастап, жолдыц
ортасына дейін өзгереді. Параметрдің соңғы мәні сөздің
ұзындығының жартысының дөңгелектеген мәні болады.
Ғог і:=1 іо һгтс(1еп§ІҺ(з)/2) (іо
Цикл денесінде сәйкес символдар салыстырылады:
| | 8[ і] о з [ 1еп5 Іһ(з)-і+ 1],
Егер нәтиже Ігие болса, берілген сөз бен кері сөз бірдей емес
болады.
Пайдаланылатын айнымалылар
з-берілген сөз, і-салыстыратын символдың сөздің басынан
бастағандағы позициясы;
рго§гат кегі зог;
{сөз кері сөзбен тең бе?}
уаг і:ЪуІе; з:8Ігіп§[30];
Ье§іп
\угіІе (‘сөзді енгіз’); геа(11п(з);
Гог і:=11о Ігипс(1еп§ІҺ(з)/2) сіо
{сөзді басынан бастап
Ье§іп
ортасына дейін тексереміз}
ІҒ з [ і ] о 8 [1еп§1һ(з)-і+1]
{егер символдар
іһеп
бірдей болмаса}
Ье§іп шгііеіп (‘кері сөз емес’);
ехі(
{ары қарай тексерудің қажеті жоқ,
епсі;
сондықтан циклден шығып,
епсі;
программаны аяқтау керек}
\угіІе1п(‘кері сөз болады’);
епсі.
45
мысал. Берілген текстегі сөздердің санын анықгау. Текстегі
сөздер бос орынмен ажыратылған. Текст нүктемен аяқталады.
рго^гат зо 2_запаи;
изез сгі;
уаг а,з:зІгіп2[30]; - берілген текст
Ь,с:аітау[1..30] оГзІгіп§;
{Ь - текстегі әрбір сөзден
сһ:сһаг; і,п,т,к:ЬуІе;
құрылған массив }
Ье§іп сігзсг;
{п - текстегі сөздің номері}
к:=1; п:=0; геасііп (з);
{к-әрбір сөз басталатын позиция}
Гог і:=1 Іо 1еп§1һ(з) сіо
Ье§іп ІҒ (з[і]='') ог (з[і]='.') Іһеп
Ье§іп п:=п+1; Ь[п]:=сору(зДс,і-к); к:=і+1;
епсі;
епсі; \угі1е1п(п);
Ғог і:=1 Іо п ёо ш ііеіп ( Ь[і]); геасііп;
епсі.
82
46
мысал. Берілген текстегі ең ұзын сөзді анықтау. Текстегі
сөздер бос орынмен ажыратылған. Текст нүктемен аяқталады.
рго£гат тах_502;
и5ез сті;
үаг а,5:5Ігіп§[30]; Ь,с:аггау[1..30] оі*5Ігіпё; с1:аггау[1..30] оГЬуІе;
сһгсһаг; У,п,т,к,тах:Ьу{е;
Ье^іп
сігәсг; а:="; к:=1; п:=0; геааіп( 5);
Гог і:=11о 1еп^һ(5) сіо
Ъе%іп
ІГ(5[і]=! *) ог (5[і]=!.!) іһеп
Ье§іп
п:=п+1; Ь[п]:=сору(5,к,і-к); <1[п]:=1еп§1һ(Ь[п]); к:=і+1;
епсі;
епй;
тах:=д[1]у:=1;
Гог і:=2 іо п <іо
іГ тах<сі[і] Іһеп
Ьееіп
тах:=<і[і]у:=і;
епсі;
\үгіІе1пО',Ь[і]:10,тах:10); геаШп;
епё.
♦
Сұрақтар
1. Жол деген не? Жолдық тип немен сипатталады?
2. Жолдық өрнек деген не?
3. Жолдарға қандай операциялар қолданылады?
4. Жолдық шамаларды пайдалану ережелері қандай?
5. Жолдарға қолданылатын функцияларды ата.
6. Жолдарға қолданылатын процедураларды ата.
Ж аттығулар
87. «балапан» сөзінен «бала», «ана», «пана», «алақан», «алма»
сөздерін жасау.
88. «Астана» сөзінен «асхана», «тас», «нан», «Анар», «астық»,
«сана» сөздерін жаса.
89. Берілген әріп сөйлемде неше рет кездеседі?
90. Берілген сөздегі әріптер санын табу.
91. Сөздегі нүктені «*»-ға ауыстыру.
92. Сөздегі әрбір әріпті экранға шығару.
83
93. Сөзді кері айналдыру.
94. Берілген сөзде «фо» тіркесінің неше рет кездесетінін сана,
тіркестің жанына ? белгісін шығар.
95. Берілген сөздегі жұп орындағы әріптерден жаңа сөз жаса.
Жаңа сөзді кері айналдыр.
96. Берілген сөздегі әрбір әріпті екі рет шығар.
97. Сөйлемдегі сөздер бос орынмен бөлінген. Тексте неше сөз
бар екенін аньщта. Сөйлемді кері ретпен жазатын программа құр.
98. Берілген әріптің сөздегі орнын анықта.
99. Сөйлемдегі сөздер бос орынмен бөлінген. Әрбір сөзді
экранға әр жолға жеке шығар.
100. Берілген сөздегі көрсетілген әріптерді алып тастап, жаңа
сөз жаса.
3.10.3 Ж иы ндар
Ж иындар- дегеніміз қандай да бір белгілері бойынша бірбірімен байланыстағы объектілердің жиыны. Әрбір объект жиын
элементі деп аталады. Жиынның барлық элементі нақты типтен басқа
скаляр типтердің біреуінде: сһаг, Ьооіеап, Ьуіе болу керек. Бұл тип
базальщ тип деп аталады. Базалық тип аралықпен немесе санақпен
көрсетіледі. Жиын типінің мәндері, ол - базалық типтегі
элементтерден құралған барлық мұмкін ішкі жиындардың жиыны.
Жиын элементгерінің мәні былай көрсетіледі: [1,2,3], [‘а ’, ‘Ь’, ‘с ’, ‘г ’];
Егер жиында элемент болмаса ол бос жиын деп аталады. Бос
жиын [] белгісімен белгіленеді. Жиындағы элементтердің саны
жиынның қуаты деп аталады. жиындық типті сипаттау үшін зеі оГ сөзі
қолданылады:
а)жиындық типті алдын-ала сипаттау арқылы;
іуре типтің аты=зеІ оі* элемент1,..элемент
уаг «атау»: «тип аты»;
б) алдын -ал а сипаттамай:
уаг
атау: зеі оГ элемент1,..элемент п;
Мысалы: а) іуре агір= зеі оГ ‘а ’, ‘п’;
$ап = зеі оГ 1..31;
уаг а: агір;
х: зап;
у: зеі оГ сһаг;
Жиындарға қолданылатын операциялар:
1. Қатынас операциялары: =, < >, >=, <=.
а) жиындардың «теңдігі»; А=В, егер А және В жиындары
84
бірдей элементтерден тұрса, онда олар тең деп аталады.
б) жиындардың «тең еместігі»; А о В , егер
жиындардьщ
элемент саны
бірдей болса немесе кем дегенде бір элементі әр
түрлі болса;
в) жиындардың «үлкен немесе тендігі (>=)»; А>=В, егер В
жиынының барлық элементтері А жиынына тисті болса, онда А>=В
опеациясының нәтижесі ақиқат. Кері жағдайда, нәтиже жалған.
г) «кіші немесе тең (<=)»; А<=В, егер А жиынының барлық
элеменеттері В жиынына тиісті болса, онда А<=В операциясының
нәтижесі ақиқат болады.
д) іп операциясы; А іп В, қандай да бір мәннің
жиынға
тиісплігін тексереді. Шарттық операторда қолданылады.
А:=2; ІГ а іп [ 1,2,3] Іһеп...
( нәтиже = ақиқат)
А:= V ; іГ а і п V ] І һ е п . . .
( нәтюке = жалған)
2. Жиындарды біріктіру (+). Екі жиынның бірігу нәтижесі, ол екі жиынның да элементтерінен тұратың үшінші жиын.
3. Жиындардың қиылысуы (*). Екі жиынның қиылысуы, олекі жиынға да кіретін элементтерден тұратын үшінші жиын.
4. Жиындардың айырмасы (-). Екі жиынның айырмасы, ол екінші жиынға кірмейтін бірінші жиынның элементтерінен түратын
үшінші жиын.
Программада зеі типті берілгендерді пайдаланудың тиімді
жағы:
- күрделі ІГ операторларын пайдалануды жеңілдетеді;
- программаны көрнекі және түсінікті етеді;
- жадыны үнемдейді, компиляция мен орындау уақыты азаяды.
Кемшілігі: паскаль тілінде жиын элементтерін енгізу-шығару
құралдары (операторлары) жоқ. Бүл әрекеттерді программалаушы
өзі үйымдастыруы қажет.
47 мысал. Б1, В 2 , ЭЗ, жиындарын толтырып, олардың бірігуін, қиылысуын, айырмасын табу.
рго§гат §іуп1;
Іуре ііуп= зеі оГ 0..9
уаг (11, (12, (13, (Іуіуп;
Ье^іп ё1:=[2,4,6,8];
(І2:=[0,3,5]; (13:=[1,3,5,7,9];
(1:=с11+(12; (1:=(і+(13; й:=(і-(і2; (і:=Й+і!;
епсі.
48 мысал. Клавиатурадан
енгізілген
1..50. сандарымен
жиынды толтыру.
ргоегаш ііип2;
уаг т:зеІ оГ 1 .. 50; х, і:іпІе§ег;
Ье§іп т:= [];
{ т- бос жиын}
Ғог і:=1 Іо 10 ёо
Ье^іп
геаёіп (х);
ІГ (х іп т ) іһеп т:= т+ [х ];
епё;
епё.
49 мысал. Сөзді тек орыс әріптерімен енгізуді тексеру.
рго§гат агіргиз;
изез с г і;
уаг з:$1гіпд; сһ;сһаг; агір: зеі оГ сһаг; гиз:ЬооІеап;
Ье§іп
агір:=[‘ 5 ‘а ’.. ‘я ’];
\угіІе (‘сөз енгіз');
гереаі
{енгізілетін сөзді әріптерден жинайды}
гереаГ
{орыс әріптерінің жиынына жататын
бір символды оқиды}
сһ:=геа(ікеу; {басылған клавишаның кодың
сһ айнымалысьгаа беру}
іҒ сһ”>>#13 Іһеп {егер енгізу клавишасы болмаса }
Ье§іп
шз:=сһ іп агір;
іГ шз {басылған клавиша орыс әріпі болса,}
Іһеп Ье§іп з:=з+сһ; {басылған символдарды
тіркестіріп, сөзді жинайды}
хугііеіп (сһ); {басылған символ экранға көрінеді}
епд
еізе {басылған клавиша орыс әріпі болмаса}
Ье§іп
\угіІе1п (‘орыс алфавитіне ауыс’);
итііе (‘символ енгіз’); епсі;
епй;
шіііі шз
{кезекті орыс символың енгізіледі}
ипііі сһ= # 13; {сөз енгізіліп бітті}
^угііеіп;
\угііе1п (‘енгізілген сөз’ , з);
геаёіп; епсі.
Сұрақтар
1.Жиын деген не?
86
2. Жиынды пайдаланудың қандай артықшылығы бар?
3. Жиынның базалық типі деген не? Ол қалай беріледі?
4. Бос жиын деген не? Қалай белгіленеді?
5. Жиынның типі қалай сипатталады?
6. Жиындарға қандай операциялар қолданылады?
7.Жиындардың бірігуі, қиылысуы деген не?
8. Жиындардың айырмасы деген не?
9. Ш операциясы не үшін қолданылады?
10. Жиын элементтері қандай шартты қанағаттандыру керек?
;
§
Жаттығулар
дауыссыз орыс әріптерін
енгізілген дауысты және
101. Дауысты және
жиында
көрсетіп, клавиатурадан
дауыссыз
әріптердің санын анықта.
102. М1(1..10) және М2 (20..3) жиындарын сипатта.
103. К жиынында орыс әріптері, ал Ь жиынында латьга
әріптері беріледі. Цикл ішінде кез келген символды енгізіп, оған
сәйкес хабарлама шығару. Ъ әрпі басылғанда программа жұмысы
аяқталады. Орыс және латын әріптерінен тұратын Киз, Ьаі
жиындарын сипатта.
104. А1 (1..20) жиынын сипаттап, онда барлық дауысты
әріптерді орналастыр.
105. М1 (‘а ’, ‘Ь’) М2(‘а’, ‘Ь’, ‘ё ’) жиындарын сипаттап,
М 1<=М2 екендігін аньпста.
3.10.4 Жазулар
Объектілер туралы нақты сипаттамалар әр түрлі типте болады.
Мысалы, қоймадағы товар мына шамалармен сипатталады: Аты,
саны, бағасы, сертификаты бар немесе жоқ екендігі. олардың типтері
мынадай: аты - з1гіп§, саны - іп!е§ег,бағасы - геаі, сертификаты Ьооіеап. Әр түрлі типтегі берілгендерді сипаттау үшін жазулар
қолданылады (16 кесте).
16 кесте - Ақпаратты жазулар түрінде бейнелеу мысалы:
Реті
Товардың аты
Бағасы
Саны
Сертификат
Иә
1
Принтер
10000
3
1
Монитор
2
17000
1
Жоқ
Сканер
1
Иә
3
7000
Ж азулар типінің сипатталуы. Жазу - бүл бір немесе бірнеше
типтегі белгілі бір компоненттердің қүрылымдық типі. Жазу типі
87
гесогё атауынан басталып, епсі сөзімен аяқталады. Олардың арасына
атаумен белгіленген және типтері көрсетілген компоненттер тізімі
жазылады. Компоненттер өрістер деп аталады. Келтірілген мысалда
Аты, саны, бағасы, сертификаты - өрістер немесе компоненттер. Бір
жолдағы компоненттердің мәндері бір жазуды құрайды. Реті
бағанасындағы номерлер - жазудың номерін білдіреді.
Сипаттау форматы:
Іуре тип аты =гесогс1
<өріс атауы>:<компонент типі >;
• ■•
<өріс атауы>:<компонент типі>
епё;
уаг <атау>:<типі>;
Машина иесі туралы ақпаратты мына жазу түрінде көрсетуге
болады:
г
КшпЬег
Магка
ҒІО
Асісігезз
1234
Волга
АйдаровА.А
Естай көшесі, 25-12
*УРе
та8һіпа=гесогс1
питЬег: іпІе§ег;
тагка: з1гіп§;
йо: з і г і п § ;
аёёгезз: зігіп^;
епсі;
уаг т,у:саг;
Бұл мысалда тазһіпа деп аталатын жазу төрт компоненттен
тұрады: машинаның номері, маркасы, иесінің фамилиясы, адресі.
Ж^зудың өрістері тазһіпа типтегі т ,у айнымалылары арқылы
пайдаланылады. Бір программада өрістің аты қайталанбауы керек.
Өрістердің аты айнымалылар сияқты жеке түрде пайдаланылмайды.
Себебі, бір өрістің атымен бірнеше жазу болуы мүмкін. Өрістің мәні
айнымалының және өрістің атауымен пайдаланылады. Айнымалының
және өрістің аты нүктемен ажыратылады. Бұл ат құрама ат деп
аталады. Мысалы, шазһіпа жазуының өрістерін пайдалану үшін былай
жазамыз: т . питЬег; т . тагка, т . асіёгезз.
Қүрама ат өрісті қолдану үшін пайдаланылады. Мысалы, құрама
атқа мәндерді меншіктеуге болады.
т . питЬег:=1234;
т .т а г к а := ’Волга’;
т . йо:=’Айдаров А.А.’;
т . ас1с!гезз:=’Естай көшесі,25-12’;
88
Құрама ат енгізу-шығару процедураларында пайдаланылады.
геа<11п(т. питЬег, т . Магка, т . Ғіо, т . Асісігезз);
^гііе1п(т.НитЬег:6, т . Магка:6, т.Ғіо:15, т.Асіс1гезз:20);
Жазудағы өріспң аты бес символдан артьщ болса, оны пайдалану
ыңғайсыз болады. Сондықтан, оны ыңғайлы ету үшін шііһ операторы
пайдаланылады. Оның жазылу форматы мына түрде болады:
\уйҺ <жазу типіндегі айнымалы> сіо <оператор>;
ДА^ійі операторында жазу типіндегі айнымалыны бір рет көрсетіп
алып, өрістердің атымен кәдімгі айнымалылар тәрізді жұмыс істей
беруге болады.
^Үііһ т сіо
Ье§іп
питЬег:=1234;
тагка:=’Волга’;
йо:=,Айдаров А.А.’;
Естай көшесі, 25-12’;
епсі;
50
мысал. 3 студент туралы мына мәліметтерді: аты, фамилия,
жасы, оқитын тобы - енгізіп, олармен жазулар массивін толтыратын
және 2-ші жазудағы мәліметті шығаратын; номері енгізілген топтағы
студенттер туралы мәліметті шығаратын программа қүру.
Толтырылған массив мына түрде болады:
Жазудың номері
Аты
Фамилия
Жасы
Топ
1
Дана
Сапарова
15
10
2
*
Самат
Асқаров
12
11
3
Ерік
Маратов
16
10
Мүндағы бағаналар-өрістер, ал аты, фамилия, жасы, топөрістердің аты болады. Әрбір жол бір жазу болады. Жолдың номері
жазудың номерін білдіреді.
рго£гат іаги;
іуре оки=гесогс1
{Оки деп аталатын жазу типін сипаттау}
аІ:5ігіп§[10];
{ оки
Гат:зігі п§ [20];
жазуындағы
ІавгЬуіе;
өрістердің
іор:ш!е§ег;
типтерінің сипатталуы}
епа;
үаг
{Негізгі программадағы айнымалыларды сипаттау}
т:аггау[ 1..3] оҒоки; { т массиві оки типіндегі
3 жазудан түрады}
{ п- жазудың номерін белгілейді}
{ іор - топтың номері }
89
ргосесіиге іприі сіаіа;
{ Жазуларды деректермен
Ье§іп
толтыру процедурасы }
шгііе1п(‘№ ’,п,’ жазуға деректерді енгіз:’);
\гаіе (‘аты? ’); геаШп(т[п]. аі);
\угіІе(‘фамилия? ’); геас11п(т[п].Гат);
шгііе (‘жасы ? ’); геасі1п(т[п]. ^аз);
\угіІе(‘топ ’); геасі1п(т[п]. Іор);
дугйеіп;
епсі;
ргосесіиге шгіІе_с1аІа;
{Жазулардағы деректерді
Ье§іп
шығару процедурасы}
\уіЙі т [п ] сіо
Ье§іп
\угіІе1п(‘аты: ’, аі);
\угіІе1п(‘фамилиясы: ’, Гат);
шгіІе1п(‘жасы: ’, іаз);
\угііе1п(‘топ: Іор);
шгііеіп;
епсі;
епё;
Ье§іп
{Негізгі программа}
Гог п:=1 Іо 3 сіо
іприЦіаІа; {Жазуды толтыру процедурасы шақырылады }
шгііеіп;
п:=2;
шгі!е1п(п ,’-жазудың деректері мынадай:’); \т!е1п;
\¥гіІе_сіаІа;
{ шығару процедурасы 2-жазуды шығарады}
\угіІе1п(‘топ номері бойынша деректерді шығару’);
\угіІе1п;
\угі!е1п(‘топ номерін енгіз’); геасііп(іор);
Гог п:-1 Іо 3 ёо
іГ т[п].іор =Іор Іһеп
шгііесіаіа;
геаёіп;
епй.
Сұрақгар
1. Жазуды неге құрьшымдьщ тип деп атайды?
2. Жазу типі қалай сипатталады?
3. Өріс деген не? Өріс атауына қандай талап қойылады?
4. Жазу өрісінің құрама аты деген не?
90
5. Шііһ операторы не үшін қолданылады?
■
Ж аттығулар
106. Зузіета деп аталатын жазуды сипатта. Келесі өрістерден
тұрады:
- планетаның номері - іп1е§ег;
- планетаның аты - з1гіп§;
- диаметр - геаі;
- ЖерденЦ: қапп>іқтығы - геаі;
Жазуды анықтайтын айнымалы Ріапеіа.
107. Зрогі деп аталатын жазуды сипатта. Өрістер:
- спорттың түрі;
- сол түрден чемпион;
■ I
- олимпиадаға енгізілді ме?;
Жазуды анықтайтын айнымалы Іиг.
108. Тоуаг деп аталатын жазуды сипатта. Өрістер:
- товардың коды;
- товардың аты;
- бағасы;
Жазуды анықтайтын айнымалы і о у . \Уі1һ операторының
көмегінсіз және көмегімен мына мәндерді меншікте. 1101, ‘спорт
костюмі’, 1234,45
109. Клавиатурадан 5 жазудың компоненттерін толтыратын
және саны 10-нан көп кітаптарды шығаратын программа қүр.
3.11 Ақпаратты компыотердің сыртқы қүрылғыларында
көрсету
Өте үлкен көлемді ақпараттарды сыртқы жадыда сақтау
ыңғайлы. Мысалы, оқу орнындағы студенттер туралы, кітапханадағы
кітаптар туралы, т.с.с. мәліметтер. Бүл ақпараттар программада
файлдар арқылы пайдаланылады.
Файл дегеніміз сыртқы жадыда белгілі бір атпен сақталған
деректердің жиьшы.
Мәліметтерді файлдармен пайдаланудың себептері:
1. Программаның жүмыс барысында өте үлкен ақпаратты енгізу
көп уақытты алады және адамды жалықтырады. Клавиатурадан
енгізілген деректер мен
экранға шығарылған нәтижелер
сақталмайды, программаның жүмысы аяқталған соң жоғалып кетеді.
Сондықтан, бүл ақпараттар алдын-ала дайындалып, дискіде сақталады
да, қажетінше пайдаланыла беріледі.
2. Берілгендер файлын басқа программамен дайындап бірнеше
91
программаны бір-бірімен байланыстыруға болады.
3.
Программаның орындалу кезінде пайдаланушының қатысуы
міндет емес.
Ф айлды қ тип. Бір программада бірнеше файлмен жұмыс
істеуге болады. Әрбір файл өз атымен аталады. Файлдағы
компоненттер бір типте болады. Файлдың ұзындығы алдын-ала
анықталмайды, ол қүрылғының сыйымдылығына байланысты болады.
Файлды бір типтегі мәндердің шексіз тізімі деп қарастыруға болады.
Файлдың элементтері нольден бастап нөмірленеді. Файлдың
элементтері
ағымдағы көрсеткіш арқылы көрсетіліп түрады.
Ағымдағы көрсеткіш программа лсүмысына байланысты бір
элементтен екіншіге ауысып түрады. Кез келген уақытта файлдың бір
элементіне ғана қол жеткізуге болады.
1 элемент
2 элемент
3 элемент
4 элемент
#• •
т
ағымдағы
көрсеткіш
Файлдардың элементтерін тізбекті (последовательный) немесе
тікелей
(прямой)
қарастыруға
болады.
Тізбекті
файлдың
элементтеріне жазылу реті бойынша қол жеткізіледі. Тікелей қол
жетімді файлдың элементтеріне олардың адресі бойынша қол
жеткізіледі. Сондықтан, тікелей файлдың кез келген элементін кез
келген уақытта пайдалануға болады.
Дискідегі файл Паскаль программасымен файлдық айнымалы
арқылы байланысады. Программада көпшілік жағдайда файлдьпс
айнымалыны Г арқьшы белгілейді.
Программаның айнымалыны сипаттау бөлімінде файлдық
айнымалы былай сипатталады.
уаг
файлдың аты: йіе оҒ элементтердің типі;
Сипатгау мысалы:
уаг
П, £2:й1е оГіпІе§ег; Я , £2 - элементтері бүтін типтегі файл.
$1 , 82:Я1е оГ8Ігіп§; з і, з2- элементтері жолдық типтегі
файл.
Ф айлдарды пайдалану әдістері. Дискідегі файл Паскаль программасымен файлдық айнымалы арқылы байланысады. Программада
көпшілік жағдайда файлдық айнымалыны Гарқылы белгілейді.
Программада файлдарды пайдалану мына тәртіппен жазылады:
1. Программаның айнымалыны сипаттау бөлімінде файлдық
92
айнымалы былай сипатгалады:
уаг файлдың аты: Ше оҒ элементгердің типі;
2. Программаның басында файл мен файлдык айнымалыны
байланыстыру қажет. Ол үшін мына процедура колданылады:
а§зі§н(файлдық айнымалы, деректік файлдың аты);
3. Файлмен жүмыс істеу үшін алдымен оны ашу қажет. Файлды
пайдалану мақсатына қарай ашудың екі түрі бар:
3.1. Файлдан деректерді оқу үшін Яе8еі(файлдық айнымалы);
3.2.Жаңа файлды жасау үшін және оған деректерді жазу үшін
Яеотііе(файлдық айнымалы);
4. Ашылған файлдың элементін оқу:
Кеасі(файлдық айнымалы, айнымалы);
5. Ашылған файлға элемент жазу:
\Үгі1е(файлдық айнымалы, айнымалы);
6. Файлмен жүмыс аяқталған соң файл жабылады:
СІозе(файлдық айнымалы);
51 мысал. Санды клавиатурадан енгізіп, зап.іхі файлына жаз.
рго£гат б1е_йр;
уаг Г:й1е о і іпіе^ег; з:іп1е§ег;
Ье§іп
аззібп(П, В М )
{зап.іхі файлы П айнымалысымен
байланыстырылады.}
ге\тіе(П );
{ П файлы деректерді жазу үшін
ашылады}
геасііп(з); \щііе(П, з); { з айнымалысының мәні
П файлына жазылады}
сІозе(П); {пайдаланылып болған соң, П файлы жабылады}
геаёіп;
епсі.
52 мысал. Деректерді зап.іхі файльгаан оқып, экранға шығар.
Программаны жазудан бүрын зап.іхі файлы алдын-ала
дайындалады.
рго§гат Ше_йр;
үаг П :Ше о£ іпіе§ег; з, п:іпіе§ег;
Ье§іп
аззіеп(П, *зап.Ш’);
{зап.іхі файлы П айнымалысымен
байланысты}
гезеі(П);
{ П файлы деректерді оқу үшін ашылады}
геасі(П, з);
{ П файлынан кезектегі элемент оқылып,
з айнымалысына беріледі. }
93
\үгііе1п(з);
{з айнымалысының мәні экранға шығарылады}
сІозе(П);
{пайдаланылып болған соң, П файлы жабылады}
геасііп;
епсі.
Тапсырмалар.
Массивтер тақырыбындағы жаттығуларды
деректер файлдарын пайдаланып орында. Массив элементтері
деректер файлынан оқылады, нәтиже шығару файлына жазылады.
3.12 Деректердің динам икалы к кұры лы м ы
Кез келген есептеу жүйесінде жады үнемі жетіспейді.
Программистің міндеті жадыны тиімді пайдаланатын программа қүру.
Программаның орындалуы кезінде жады мына элементтер үшін
қажет:
- программаға;
- программаның орындалуына қажет жүйелік программаға;
- берілгендер мен тұрақтыларға;
- ішкі программаға жіберу нүктелеріне;
- өрнектерді есептеудің аралық нәтижесін уақытша сақтауға;
- параметрлерді тасымалдауға;
- әр түрлі жүйелік деректерге;
Бүған дейін біз жадының статистикалық бөлінуін қарастырдық,
яғни, программаны трансляциялау кезіндегі жадының пайдалануы.
Статистика түрінің тиімділігі жадыны басқаруға уақыт та, жады да
жүмсалмайды. Программаның орындалуы кезінде жадыны басқару
динамикалық басқару деп аталады.
Статикалық және динамикалық айнымалылар. Көп жағдайда
программалауда екі фактор: программаның орындалу уақыты және
жүмсалатын жадының көлемі бір -біріне
қайшы келеді.
Программаның орындалу жылдамдығының жоғары болуымен бірге
жадының үнемделуі де қажет. Мысал: программада 300*300 бүтін
саннан түратын матрица өңделесін. Бұндай матрица былай
сипатталады: уаг ші: аггау [ 1..300,1 ..300] іпіе§ег,
уаг
бөлімінде сипатталатын айнымалылар статистикалық
айнымалылар болады.
Статистикалық
айнымалыларды
Паскаль
программаны
орындамай-ақ өңдей алады. Берілген мысалдағы статистикалық
айнымалыны
пайдаланғанда
компьютер
жадысы
тиімсіз
пайдаланылады. Матрицаның әрбір элементі бүтін сан, 2 байт алады.
Ал 300*300=90000*2 байт =180000 байт. Программадағы барлық
айнымалылар бір сегментге орналасады. 8086 микропроцессорында
сегмент 65534 байт алады. Сондықтан, үлкен көлемді массивті
94
өңдеуде қиындық туады. Бұл қиындықтан шығу үшін динамикалық
жады қолданылады.
Динамикалық жады- деректер сегментінен (64кб), стектен
және программаға қажет жадыдан басқа шапшаң жадының қалған
бөлігі. Жадыны тиімді пайдалануда деректерді орналастыру үшін
алдын-ала жады резервтелмейді. Деректердің типі алдын-ала
анықталады, олар қажетіне қарай қүрылып, пайдаланылады.
Программаның орындалуы кезінде пайда болатын және одан соң
жойылатын айнымалылар динамикалық айнымалылар деп аталады.
Динамикалық
жады
автоматты
жобалау
жүйелерінде,
графикалық және дыбыстық құралдарды пайдаланғанда деректерді
уақытша сақтауда қолданылады.
Көрсеткіштер. Динамикалық жадыны үйымдастыру үшін,
көрсеткіиггер деп аталатын айнымалылар қолданылады. Олар қандай
да бір типі анықталған айнымалының орнын көрсетуге арналған.
Көрсеткіш - мәні жадының деректер жазылған бірінші байтының
адресіне сәйкес болатын айнымалы. Көрсеткіш жадыдан 4 байт орын
алады, ал ол көрсететін деректер бірнеше килобайт болуы мүмкін.
Көрсеткіш көрсететін айнымалыға ат беру міндет емес. Ол
айнымалыны пайдалану көрсеткіш арқылы жүргізіледі.
Типтелген
көрсеткіштер. Типі алдын-ала аньжталған
айнымалылар жазылған адресті көрсететін көрсеткіпггер типтелген
деп аталады. Типтелген көрсеткіпггі жариялау үшін А белгі
пайдаланылады. А белгісі сәйкес типтің алдынан қойылады. Мысалы,
бүтін типтерді көрсететін Р көрсеткіші үшін
іуре
Р=ліпіе2ег;
Мұндағы, іп1е§ег - базалық тип. Р көрсеткішін айнымалыларды
сицаттауға пайдалануға болады.
уаг
ш і, т 2 : Р;
Көрсеткіштік типтердің мәндері базалық типтердің жадыда
орналасу адрестерін білдіреді. ДК-де адрестер он алтылық санмен
көрсетіледі.
Сегмент дегеніміз - үзындығы 65536 байт болатын және 16-ға
еселі адрестен басталатын (0, 16, 32, 48 ...) жадының бөлігі.
Ығысу (смещение) - сегментгі басынан бастап керекті адреске
дейінгі байттар санын білдіреді.
Сонымен, кез келген көрсеткіш сегмент пен ығысудан түрады,
ал абсолюттік адрес = сегмент * 16 + ығысу.
95
16 бит
0000
-I-
'V
'
20 Ійт
Типтелмеген көрсеткіш . Паскальда көрсеткішті белгілі бір
тнппен байланыстырмай да жариялауға болады. Ол үшін роіпіег типі
пайдаланылады. Бүл типтелмеген көрсеткіпггі аныктайды (яғни,
көрсеткіш ешқандай тип көрсетпейді).
Көрсеткіш бойынш а айны м алы ны пайдалану. Айнымалыны
пайдаланудың екі жолы бар:
1) атау арқылы;
2) айнымалының адресі арқылы, (көрсеткіштің мәні).
Мысалы, р көрсеткіші көрсететін і айнымалысының мәнін
1-әдіспен пайдалану үшін
1) і:=і+2 (1 әдіс)
2-әдіспен пайдалану үшін айнымалы көрсеткішінен соң
л белгісі жазылады.
шгііеіп (іпі2л) жазуы іпі2 көрсеткіші көрсететін айнымапынын
мәнін шығарады.
р А .^ р Л + 2 ;
Көрсеткіштермен жүмыс істеуғе арналған процедуралар мен
функциялар 17- кестеде көрсетілген.
Массив көрсеткішін пайдалану мысалы:
ргодгат сі_роіпі 1;
Іуре іе1ё=аггау[ 1.. 10] оГ іп(е§ег;
уаг
і:іпІе§ег; Г:Ге1ё; йГ: лГеЫ;
Ье§іп
Гогі:=1 Іо 10 ёо
1[і]:=10*і;
гИ:=@(;
\угіІе!п (1оп§іпІ(@і)); 'Угііеіп (гГл[ 1]);
гГ:=@{[2]; шгііеіп (гГл[1]);
г і :=рІг(зеё(([3 ])+ оГз({[3])+5І2еоДіпІе§ег));
лугііеіп (г£л[ 1]);
епсі.
96
ш
17
кесте - Көрсеткіпггермен жүмыс істеуге арналған процедуралар мен функциялардың атауы мен қыметі
Қызметі
Процедуралар мен
функциялар
АБОК(х): роіпіег
X объектісінің адресін аньщтайды. «@»
операциясы сияқты____________
X объектісінің сегменттік адресін
8ЕО(х): >уогс1
анықтайды
X объектісінің ыгысуын анықтайды
ОҒ5(х): у/огй
регистрдің
С8ЕО: ^огсі
код сегментінің адресі
0 8 сегментпк регистрдің мәнін
0 8 Е 0 : ч/от<1
анықтайды, деректер сегментінің адресі
РТК(зе8,оІ8:д^огсі):роіпіег зе§ адресі және оіз ығысуы бойынша
кәрсеткіштің мәнін анықтайды.
3.13 П аскаль графикасы
Паскаль тілінде графикалық кескіндер жасау үшін, ОКАРН
модулі қолданылады. Бүл модульде 79 графикалық процедуралар,
функциялар, түрақты шамалар мен типтер орналасқан.
Графиканы жүмысқа қосу мына әрекеттерден түрады:
изез Огарһ; (Сгарһ модулін, яғни графикальщ процедуралар
орналасқан кітапхананы іске қосу}
үаг сіу, ту:шіе§ег; { с іү , т у - графикалық режимді іске қосады}
ёу:=Оеіесі; {сіеіесі мәнімен қажет графикалық драйвер
мен режим автоматты түрде іске қосылады}
ІпіЮгарһ(ёү,тү,’с:\ір7\Ьеі’); {@гарһ модулінің орналасқан
жолы көрсетіледі}
ОгарһКезиІіОёЮк іһеп НаҺ( 1); {Графикалық режимді
іске қосудағы қатесі тексеріледі}
Осы әрекеттерден соң графикалық операторлар жазылады.
Графикалық әрекеттер орындалып болған соң, графикалық режимді
жабу керек.
б.СІозеОгарһ; (Графикалық режимді жабу}.
Графикалық режимде монитор экраны нүктелер жиынынан
түрады. Графикалық экранда координаталар жазықтығының
орналасуы төмендегідей:
97
0,0 .
I
I
- 4
639,349
349
У
18
номерленуі
кесте - Паскаль тілінде пайдаланылатын түстердің атауы мен
Түстің номері
Түстің аты
Түстің номері
Т үстің аты
8
9
10
11
12
13
14
15
Қою
Көгілдір
Ашық жасыл
Ашық бирюза
Қызғылт
Ашық малина
Сары
Ақ
Қара
Көк
Жасыл
Бирюза
Қызыл
Малина
Қоңыр
Ашық сүр
0
1
2
3
4
5
6
7
19 кесте-Огарһ кітапханасындағы жиі қолданылатын графикалық процедуралар
%
Графика
элементі
1
Нүкте
Паскальда жазылуы
2
РиіРіхе1(х,у,і)
Кесінді
Ьіпе(х1,у1,х2,у2)
Сызық
ІлпеТо(х,у)
Тік
төртбүрыш
Боялған
төртбүрыш
Параллелепипед
Кес1ап§1е(х 1,у 1,х2,у2)
Параметрлеріне сипаттама
3
Ваг(х 1,у 1,х2,у2)
ВагЗБ(х 1,у 1,х2,у2,һ,ү)
98
х,у-нүктенің
координатасы;
1-түсі, санмен беріледі.
(х 1,у 1),(х2,у2) үштарының
координаталары
х,у нүктелеріне дейін
сызады
(х 1,у 1),(х2,у2)диагональд
ың координаталары.
(х 1,у 1),(х2,у2)диагональд
ың координаталары.
һ-биіктігі, у-жоғары
жағынан көрінуі (Ігие,
Гаізе мәндері)
19 кестенің жалғасы
1
Шеңбер
2
3
Сігс1е(х,у,г)
х,у-центрдің
координатасы;
г-радиустың үзындығы.
•
Эллипс
Е11ірзе(х,у,Ь,з,гх,гу)
Ь,з-эллипстік доғаның
басы және соңы. Ь =0,
8=360 эллипс салады.
гх,гу - х және у бойынша
радиустар.
Боялған
эллипс
Доға
Ғі11е11ірзе(х,у,гх,гу)
гх,гу - х және у бойынша
радиустар
х,у,Ь,8,г- жоғарыда
Сектор
Сызық түсі
зесіог(х,у,Ь,з,гх,іу)
8еіСо1ог(1)
х,у, Ь,5, гх,гу - жоғарыда
1 - түс номері, кестеде
келтірілген.
8еіҒі118іу1е(и,і2)
11 - бояу стилінің номері,
12-бояудың түсі.
Сызық стилі
8еіЬіпе8{у1е(р,0,к)
р-типі,0-үлгісі,
к-қалыңдығы
Фон түсі
Текст
шығару
8еіВкСо1ог(1)
ОийехІ(‘текст’)
Тексті координатаға
шығару
Текст шығару стилі
ОиіТехіХҮ (х,у,’текст’)
Тексті көрсетілген координатаға шығарады
ЗеіТ ехі8іу1е(Ь,р,һ)
Ь-қаріп нөмірі, р-бағыты,
һ-қаріп өлшемі
Көпбүрыш
Түйық аймақты бояу
СІеагОеуісе
ВгадуРо1у(п,рр)
ҒіІІРоІуО, рр)
п -ңүктелер саны;
1-бояудың түсі
Бояудың
түсі
Агс(х,у,Ь,з,г)
Тексті экранның сол жақ
шетіне шығарады.
Экранды фонның түсіш5бояп графикалық экранды
тазартады.
9
99
Суретті програм м алау мы салдары
рго§гат зигеі;
изез §гарһ;
уаг сіу, тү:іпІе§ег;
Ъе§іп (Іу:=ёе1ес1;
іпіІ§гарһ(сіү, т ү , ’с:\Ір7\Ъёі’);
іГ ёгарһгезиііо^гок іһеп һаһ(1);
зе!со1ог(5);
гес!ап§1е( 10,15,610,430);
сігс1е(350,100,50);
зейі11з1у1е(1,6);
Ъаг(100,250,200,300);
геа<11п; *
с1озе§гарһ;
епсі.
53 мысал. Қозғалысты программалау
рго^гат ко 2§а 1уз;
изез Огарһ,СКТ;
уаг х,у,і,<іу, ту:іп1е§ег; х1,х2,у1,у2:іп1е§ег;
Ье§іп
<іү:=с1е1;есі; ітІ§гарһ(ёу,ту, 'с:\Ір7\Ь§і');
ІГ дгарһгезик о § г о к Іһеп һаһ (1);
х:=460;у:=400;
{суретгің бастапқы координаталары}
іог і:=11о 200 до
Ьедіп
зеісоіог(б);
л
сігс1е(460,у,40);
еһірзе(460,у-40,0,180,20,20);
е11ірзе(440,у-60,0,90,20,20);
е11ірзе(480,у-60,90,180,20,20);
V сурет салынды
е1һрзе(440,у-40,270,360,20,65);
е11ірзе(480,у-40,180,270,20,65);
сігс1е(440,у-20,5); сігс1е(480,у-20,5);
сігс1е(440,у+10,5); сігс1е(480,у+10,5);^
<іе1ау(500); пауза
СІеаЮеуісе; ёе1ау(500);
у:=у-1;
{жаңа координата}
епа;
9
100
ЗеіСоІог(б); сігс1е(х,у,40);
е11ірзе(460,у-40,0,180,20,20); е11ірзе(440,у-60,0,90,20,20);
е11ірзе(480,у-60,90,180,20,20); е11ірзе(440,у-40,270,360,20,65);
е11ірзе(480,у-40,180,270,20,65);
сігс1е(440,у-20,5);
сігс1е(480,у-20,5); . сігс1е(440,у+10,5);
сігс1е(480,у+10,5);
геайіп; сіозе^гарһ;
епд.
54 мысал. Функциясының графигін салу
рго§гаш дгайк;
изез Огарһ,СКТ;
уаг
х,у,і,Й¥, тү:іпІе§ег; х1,х2,у1,у2:іп1е§ег;
Ье§іп
(1ү:=(1е1есі; іпіІ§гарһ(сІҮ, шу, ’с:\тр7\Ь§і’);
іГ §гарһгезиһ о ^ г о к Іһеп һаһ (1);
1іпе(300,50,300,400); 1іпе( 150,400,500,400);
Гог і:=-100 іо 100 <іо
Ье£Іп
х:=і; у:=1гипс(зчг(х));
риіРіхе1(Ішпс(х/2+300),Ішпс(400-у/50), 14);
епА;
с1озе§гарһ;
епд.
Ж атгығулар
110. Мына суреттерді және олардың қозғалысын программала.
■
3.14 СКТ модулі
Щ I
Бұл модуль дисплей адаптерінің жүмыс режимін, экранға
шығаруды, символдың айқындығын басқарып, реттейді,
СКТ модулін жұмысқа қосу: изез сгі;
Текстік режимдерді қою: ТехіМойе(п);
|
мұндағы,
п - режимге сәйкес келетін номер, параметрлері
|
төменде берілген.
і ^
. ■мШвШІ
Монитор
Экран
Тұс
Режим номері
Монохромды
40x25
16/8
0
Түсті
40x25
16/8
1
Түсті
80x25
16/8
3
21 кесте-СКТ модулінің экранды басқару процедуралары
Процедура
1
СІгЗсг
СІгЕоІ
Қызметі
2
Экранды тазартады
Курсор түрған позициядан бастап, жолдың
соңына дейін өшіреді.
ВеІЬіпе
Курсор тұрған жолды түгел өшіреді. Төменгі
жол жоғары көтеріледі
ІпзЬіпе
Курсор түрған позицияға бос жол енгізеді.
Соңғы жол төмен түседі
ОоТоХҮ(х,у);
Курсорды
экранның
(х,у)
позициясына
орналастырады.
ЧУҺегеХ
Курсор түрған бағананың номерін аныктайды.
\¥һегеҮ
Курсор тұрған жолдың номерін анықтайды
Веіау(п)
п миллисекунд кідіріс жасайды.
ТехіСоІог(п)
Текстің түсін анықтайды.
Т ехШаскОгоипсі(п)
Текстің фонының түсін анықтайды
^Уіпсіо\ү(х 1,у 1,х2,у2) Экранда (х 1,у 1,х2,у2) координатасымен текстік
терезе жасайды.
8оипсі(і)
і жиіліктегі дыбыс шығарады.
ЫоЗоипсІ
дыбысты тоқтатады.
КеуРгеззесІ
Перне басыла ма, соны анықтайды (ігие, Гаізе)
КеаёКеу
Пернетақтадан символды анықтайды.
Т ехіМо(іе(ЬазіМос1е); Графикалық режимнен текстік
режимге
ауысқанда жолы соңғы текстік режимді қояды.
ЬазіМосІе соңғы текстік режимнің номерін
сақтайды.
102
і
55 мысал. Қарапайым музыкалық әуен. Ғ - масснвінде бірінші
октаваның жартылай жиіліктері орналасқан.
рго§гаш аиеп;
и§е8 сгі;
СОП8(
Г:аітау[1..12] оГгеаІ = (130.8,138.6,146.8, 155.6, 164.8, 174.6,
185.0, 196.0,207.7,220.0,233.1,246.9);
іетр=150;
уаг к,п:іп!е§ег;
Ье§іп
Гог к:=0 іо 3 <іо
іот п:=І іо 12 ёо
Ье§іп
8оипс1(гоипс1({[п]*(1 зһі к)));
сіеіау(іетр);
позоипё;
епсі;
іог к:=3 (1о\үп1о 0 сіо
Гог п:=12 йом/піо 1 ёо
Ье£ш
8оипс1(гоип(і(Ғ[п]*(1 зһі к))); деіау(іетр);
позоипсі;
еші; епсі.
56 мысал. Клавиатурадан енгізілген тексті жүгіртетін жолға
және текстік терезеге шығаруды программалау.
рго§гат екгап;
изе$ сгі;
уаг а,Ь,8:8ігіп§; х,у,і:іп1е§ег;
Ье§іп
с1г8сг; х:=0; у:=5;
Іех1тосІе( 1); Техісо1ог(6);
геасі1п(8);
іҒог і:=х іо 39 сіо
Ье§іп §оІ:оху(і,у); \угі1е(8);
<іе1ау(3000); сіеіііпе; ёеІау(ЗООО);
епд;
§оІоху(і,у); ^гі!е1п(8); Іех1со1ог(9);
л
ІехЙ>аск8Гоиші(7);
\ушдош( 15,10,25,20); \үгііе1п(*Салем!*);
дугіІе1п(Турбо Паскаль');
^гіІе1п(ТІрограмма');
геасІІп;
еші.
103
■
3.15 Программа құрылымын дайындау және модульдік
№
программалау
Кез келген программалық жабдыктың өз құрылымы болады.
Бұл құрылым деректерді дайындауды, программалауды, программаны
жұрпзуді, программаға өзгерістер енпзуді ыңғаилы ету ұішн
ойластырылады.
Программаны құрылымдау тағы да мынадай мүмкіндіктер
береді:
•'
1) программаны қажет мерзімге дайын ету үшін орындаушыларға
бөліп беруге;
2) жобалау жүмыстарының календарлық графиктерін жасауға
және оларды жасау барысын жүмылдыруға;
3) жүмсалған еңбек шығыны мен жобалау жүмыстарының бағасын
бақылауға.
Әрбір программалық жабдық (ПЖ) өз алдына күрделі жүйе,
сондықтан, оны дайындау кезінде оны қарапайым ету жолдарын
қарастыру керек. Ол үшін, программаны программалық модульдер
деп аталатын бөліктерге бөледі. Бүл әдіс модульдік программалау деп
аталады.
Модуль - бүл, өз деректерін басқа программалық модульдерге
тәуелсіз өңдейтін функциялармен қамтамасыз етілген программаның
бөлігі.
Программаның әрбір модулі программаның басқа модульдеріне
тәуелсіз программаланады,
компиляцияланады және жүргізіледі,
басқа программалық модульдерден физикалық түрде ажыратылған
болады.
Егер программалық модульді
пайдалану қүжаттарында
келтірілген ережелер орындалса, онда әрбір программалық модульді
әр түрлі программаның құрамына кіргізуге болады. Яғни, жақсы
құрылған модуль программалаудағы қайталауды азайтады.
Программалық жабдықты (ПЖ) құру барысында бірнеше рет
пайдаланылатын
модульдер
анықталады,
олар
типтеледі,
ерекшеленеді. Соның нәтижесінде ПЖ-ға жұмсалатын уақыт пен
еңбек шығынын азайтуға болады.
Кейбір ПЖ стандарттық процедуралардың, функциялардың,
объектілердің, деректерді өңдеу әдістерінің кітапханасындағы дайын
модульдерді пайдаланады (21 кесте).
104
21 кесте - Модульдің түрлері
Модульдің аты
Бас модуль
Басқарушы модуль
•
Жүмыс модульдері
Сервистік модульдер
Сипатгамасы
і ПЖ-ты жүмысқа қосуды басқарады (ол біреу ғана
болады) •
Басқа модульдерді шақырады, модульдердің
орындалу тізбегін береді.
Өңдеу функцияларын орындайды
Қызметтік функцияларды орындайды
Модульдің қасиеттері:
1. Модульдің бір кірісі, бір шығысы болады. Модуль кірісте
берілген деректер жиынын қабылдайды, оларды өңдейді, нәтижені
береді.
2. Модуль функциялық түрде аяқталады. Модуль әрбір
функцияны толық түрде жүзеге асыратын операцияларды орындайды.
3. Логикалық тәуелсіздік - модуль жүмысының нәтижесі басқа
модульдің жүмысына тәуелсіз, тек алғашқы деректерге тәуелді.
4. Басқа программалық модульдермен ақпарат алмасу
мүмкіндігінше азайтылады.
5. Өлшемі бойынша онша үлкен емес, күрделі емёс.
Әрбір модуль спецификациядан және модуль денесінен түрады.
Спецификация - модульді пайдалану ережелері. Модуль денесі
дегеніміз өңдеу процесін жүзеге асыру әдісі.
Алгоритм қүруда ескеру керек: әрбір модуль өзінен жоғары
модульмен ясүмысқа шықырылады, жүмысын аяқтаған соң, басқаруды
шақырушы модульге береді.
3.15.1 Модуль құру
Турбо
Паскальдің
стандарттық
модульдерінен
басқа
пайдаланушы өз модулін қүра алады. Модуль мына қүрылымда
болады:
шіһ модульдің аты
іпІегҒасе интерфейс бөлімі
ішріешепіаііоп
іппсі бөлімі
Ье£Іп
' . ,/
орындалушы бөлімі
епсі.
Модульдің аты - 8 символдан артпайтын атау. Файл мен
модульдің аты бірдей болмау керек.
105
Іпіегіасе сөзінен кейін осы модульде пайдаланылатын типтер,
тұрақтылар,
айнымалылар,
функциялар
мен
процедуралар
сипатталады. Ішріегпепіаііоп сөзі модульдің ішкі бөлімін ашады. Онда
интерфейс бөлімінде көрсетілген
барлық процедуралар мен
функциялар, тақырыптар жазылады. Одан басқа, ішкі бөлімінде
айнымалылар, типтер, тұрақтылар сипатталады, бірақ оларды басқа
программалар пайдалана алмайды. Модульдің орындалушы бөлімінде
операторлар
орналасады.
Операторлар
модуль
орналасқан
программадан бұрын орындалады. Әдетте, орындалушы бөлімі бос
болады (Ъе£Іп сөзін жазбауға болады). Кез келген модуль басқа
модульді интерфейс бөлімінде де, ішкі бөлімінде де пайдалана алады,
бірақ оларды пайдалануда қиылыспау керек. Мысал, А модулі Б
модулін пайдаланғанда, Б модулі А модулін пайдаланады.
57
мы сал. Сызықтық алгебраның жиі қолданылатын
алгоритмдерін модульге біріктіреміз.
ипй аІ£еЪга;
іпіегіасе
сопзі п=10;
іуре уес1:ог=аітау[1.. п] оі*геаі;
іуре мг=аггау[1.. п] оГ уесіог;
Шпсііоп зса1аг(п:Ъуіе; а,Ъ:уесіог):геа1;
ргосеёиге зиттаіг(п,т:Ъ уіе; а,Ъ:тг; уаг с:тг);
іт р іе т е п іа ііо п
изез сгі;
уаг у ,к:Ъуіе;
ргосеёиге зитуесіог(п:Ъуіе; а,Ъ:уесіог; уаг с:уесіог);
Ье§іп
Гог і:=1 Іо п (іо
с[і]:=а[і]+Ь[і]; епй;
ргосеёиге реек; Ье§іп зоип(1(400); ёе1ау( 100); позоипсі; епсі;
йхпсііоп зсаіаг;
уаг 8:геа1;
Ье§іп
з:=0;
Гог і:=1 Іо п (іо
з:=з+а[і]*Ь[і]; зса1аг:=з; епсі;
ргосесіиге зи ттаіг;
Ье§іп
Гог і:=1 (о п сіо
зитуесІог(т,а[і],Ь[і],с[і]); епё;
Ье§іп геаёіп; епсі.
106
Егер бұл модульді компиляцияласа, а1§еЬга.1ри файлы пайда
болады. Бүл модуль біз қүрған программаларды пайдаланады.
Мысалы:
изез аІ£еЬга;
үаг іу,ц,х:та*г;
Ье£Іп 5 и тта1г(3,4, чг9 ^ 9 г);
епсі.
Программа мен онда пайдаланылатын модульдер Ғ9
клавишасымен компиляцияланады. Нәтижесінде .Іри .ехе файлдары
пайда болады. а!§еЬга модулінің тексі жазылған файлдың аты
а1§еЬга.раз болу керек!
3.16 Программалау тілін таңдау
Қүрылған программа ыңғайлы (коммуникативті) болу керек.
Ыңғайлылықты программист пен процессорға түсінікті тіл
қамтамасыз етеді. Орталық процессор орындайтын командалар
машинальпс кодта нөлдер мен бірлер арқылы бейнеленуі керек. Нақты
айтқанда, программа трансляциялануы керек. Бүл жүмысты жоғары
деңгейдегі программалау тілдері жеңілдетеді.
Жоғары деңгейдегі программалау тілдерінің артыкшылықтары
мынада:
а) осы тілдер арқылы үсынылатын қүралдар нақты бір қолданбалы ортаның талаптарын қанағаттандырады. Мысалы, бір тіл ғылыми, сандық есептеу жүмыстарына арналған, екіншісі, сандық емес
коммерциялық ақпаратқа арналған, үшіншісі басқа қолданбалы орталарда пайдалануға арналған болуы мүмкін;
б) көрнекілігі жағынан программа жеңіл оқылытын, қүрылымы
түсінікті болу керек. Үлкен программаларды жобалау мен жазу - күрделі интеллектуалды іс, сондықтан программалаушы есепті барынша
түсіну керек;
в) тілде программаның катесін анықтайтын және оны ескертетін
қүралдар болуы міндет.
3.17 Программалауда сапалык корсеткіштер
Программаның сапалық корсеткіштері мыналар:
- алгоритмінің күрделілігі;
- өңдеу функцияларының толықтығы;
- программалар файлдарының көлемі;
- операциялық жүйеге және программаны өңдеу қүралдарына
қойылатын талаптар;
- дискі жадысының көлемі;
107
- шапшаң жадьшыц көлемі;
Сапа көрсеткіштері келесі аспектілерден түрады:
- программаны пайдалану каншалыкты ынгайлы (қарапайымдылыгы, сенімділігі, тиімділігі);
- колдану жағдайлары өэгерсе де программаны пайдалануга
бола ма?
>
Нарық жагдайында программанын манызды снпаттамаларына:
күны, сатылым саны, нарыктағы орнығу мерзімі, ондіруші фирманын
және программанын айгілілігі, нарыкта оган кызметі үксас
баламалардын болуы-жатады.
V
108
Әдебиеттер
1
Абрамов С.А., Гиездилова Г.Г., Капустина Е.И., Селюн М.И.
іадачи по программированию. - М .: Наука, 1988. - 230 б.
-
®
свмігі.
Н Е
Балаі1анов Е„ Берібаев Б., Бекбаев А., Дәулетқұлов А.,
Спанқұлова Л. Информатика термиңдерінің қазақша-ағылшыншаорысша сөздш. - Алматы: Сөздік-Словарь, 1998. - 176 б.
4
Белецкий Я. Турбо-Паскаль с графикой для персональных
компьютеров. - М .: Машиностроение, 1991. -1 2 0 б.
П РИ0Р3[999Е- 184*<Г ?а8СаІ Практическое программирование. - М .:
6 Климова Л.М. Разсаі 7.0. Практическое программирование
Решение типовых задач. М .: КУДИЦ-ОБРАЗ, 2000. - 200 б.
7 Ка“ аРдинов ° - Информатика: оқу қүралы. - Алмаш : «Қарасай»
баспасы, 2006. - 360 б.
іУ ш §
8 Культин Н.Б. ТигЬо Разсаі в задачах и примерах. - СПб IБХВПетербург, 2003. - 160 б.
9 Қазақстан республикасының мемлекеттік жалпыға міндетгі
білім беру стандарты. Жоғары кәсіптік білім. Бакалавриат. 050602 Ақпараттық жүйелер мамандығы. - Алматы, 2006.
10 Попов В.Б. ТигЪо разсаі для школьников. - М .: Финансы и
статистика
109
М азм үны
К іріспе.......................................................................................
1 Компьютердін программалык күралдары.........................
1.1 Программалауды автоматгандырудың әдістері,...............
1.2 Алгоритмдік тілдер ...............................................................
1.3 Процедураға бағытталған тілдер және обьектіге
бағытталған программалау туральі түсініктер..................
1.4 Компыотерді программалык камтамасыздандырудын
жалпы түсінігі...........................................................................
1.5 Программалаудың интеграцияланған жүйелері.................
2 Есептерді алгоритмдеудің негіздері...................................
2.1 Алгоритмнің аныктамасы ....................................................
2.2 Алгоритмдік күрылымдардың түрлері................................
2.2.1 Сызыктык алгоритмдік күрылым......................................
2.2.2 Тармакталған алгоритмдік күры лы м ..............................
2.2.3 Алгоритмнің циюідік күрьшымы........................................
2.3 Есептердің типтік компоненттері: талдау, синтездеу,
шешім қабылдау......................................................................
2.3.1 Экономикалық есеп алгоритмінін мысалы......................
3
Негізгі процедураларға бағытталған алгоритмдік
тілдерде программалау............... ..........................................
3.1.Паскаль тілінің негізгі сипаттамалары................................
3.2 Паскаль тілінің алфавиті және сөздігі.................................
3.3 Мәліметтер типтері...............................................................
3.4 Өрнектер....................................................................................
3.5 Программаның қүрылымы.................. ..................................
3.6 Мәліметтерді енгізу-шығаруды үйымдастыру.................
3.7Паскальтілініңоператорлары...............................................
3.7.1 Қарапайым операторлар.....................................................
3.7.2 Қүрылымды операторлар....................................................
3.8 Қүрылымдык программалау................................................
3.8.1 Алгоритмдердің сызықтық қүрылымын
программалау........................................................................
3.8.2 Тармақгалған қүрылымды программалау.................
3.8.3 Алгоритмдердің циклдік күрылымдарын
программалау.........................................................................
3.9 Ішкі программа.........................................................................
3.9.1 Процедуралар........................................................................
3.9.2 Функциялар...........................................................................
3
5
5
6
7
®
9
11
11
13
13
14
16
19
20
22
22
25
26
29
32
34
38
38
40
47
47
49
53
59
60
63
■
3.10 Де{)ектердің құрылымдық түрлері............... ................ ...66
3.10.1 Массивтер............................................... .
67
3.10.2 Символдық мәліметтерді өңдеу
76
3.10.3 Жиындар
84
3.10.4 Жазулар............................................................................ ..87
3.11 Ақпаратты компьютердің сыртқы құрылғыларында
көрсету
91
3.12 Деректердің динамикалық құрылымы
94
3.13 Паскаль графикасы............................. ................................ 97
3.14 СКТ модулі......................................................................... ...102
3.15 Программа құрылымын дайындау және модульдік
программалау
104
3.15.1 Модуль құру.................................................................... ...105
3.16 Программалау тілін таңдау
107
3.17 Программалауда сапалық көрсеткіштер........................ ...107
Әдебиеттер.............................................................................109
БЕКІТЕМІН
С. Торайғыров атындағы
ПМУ-дің оқу ісі жөніндегі
проректоры
| | | НИіІІЙН.Э. Пфейфер
^
2
0
б
9
ж
.
«
»
__________________________________________
Құрастырғандар: Нұрғазина Б.Қ., Белгібаева С.А.
Қазақ тіліндегі мәтінге жауапты: Нұрғазина Б.Қ., Белгібаева С.А.
И нф орматика және ақп аратты қ жүйелер кафедрасы
Алгоритмдеу және программалау тілдері
Оқу-әдістемелік қүрал
Кафедра мәжілісінде бекітілді 2009 ж. « 26 » 03
Кафедра меңгерушісі
№ 8_ хаттама
Ж.К.Нүрбекова
Физика, математика және ақпараттық технологиялар факультетінің
оқу-әдістемелік кеңесінде мақүлданған 2009 ж. «20» 04 №9 хаттама
ОӘК төрайымы
А.Т.Кишубаева
КЕЛІСІЛДІ
Ш Ш
ФМжАТ факультетінің деканы _^^Г/С !.К .Тлеукенов « ^ » 1^2009 ж.
СМ бөлімі н/б 1ІІІІІІ1ІІІІ
МАҚҮЛДАНДЫ
ОҮЖ ж ӘҚБ бастығы
Г. С. Баяхметова « / г »
2009 ж.
А.А. Варакута « / / » 03 2009 ж.
Б.Қ. Нұрғазина, С.А. Белгібаева
АЛГОРИТМДЕУ
ЖӘНЕ ПРОГРАММАЛАУ ТІЛДЕРІ
I
Оқу - әдістемелік құрал
Техникалық редактор Г.Н. Сейтахметова
Жауапты хатшы А.Т. Сулейменова
Басуға 18.09.2009 ж.
Әріп түрі Тіте8.
Пішім 29,7 х 42 У а . Офсетгік қағаз.
Шартты баспа табағы 5,21 Таралымы 15 дана
Тапсьфыс № 1028
Ғылыми баспа орталығы
С.Торайғьфов атындағы
Павлодар мемлекетгік университеті
140008, Павлодар қ., Ломов к., 64
Документ
Категория
Без категории
Просмотров
1
Размер файла
5 110 Кб
Теги
2991, belgibaeva, jane, tilderi, algoritmdeu, nurgazina, programmalau
1/--страниц
Пожаловаться на содержимое документа