Турбо Паскаль тіліндегі мәліметтер типі
МАЗМҰНЫ
Кіріспе
І. Паскаль программалау тілі туралы жалпы мағлұмат
1.1 Turbo Pascal жүйесiнiң программалау ортасы
1.2 Паскаль тіліндегі мәліметтер
1.2.1 Турбо Паскаль тіліндегі константалар (тұрақты сандар)
1.2.2 Турбо Паскаль тіліндегі айнымалылар
1.2.3 Турбо Паскаль тіліндегі мәліметтер типі
1.3 Паскаль тіліндегі амалдар мен өрнектер
1.4 Массивтер
ІІ. Паскаль тілінің көмегімен сұрыптау және іздеу алгоритмдерін құрастыру
2.1 Іздеу алгоритмі
2.1.1 Сызықтық іздеу
2.1.2 Шектеу қою арқылы іздеу
2.1.3 Екілік немесе қақ бөліп іздеу
2.2 Сұрыптау алгоритмі
2.2.1 Таңдау бойынша сұрыптау
2.2.2 Айырбастау бойынша сұрыптау (“көбікше” әдісі)
2.2.3 Мойындық сұрыптау (шейкерлі)
2.2.4 Енгізу арқылы сұрыптау
2.2.5 Хоар сұрыптамасы
2.2.6 Индексті векторларды пайдалану арқылы сұрыптау
2.3 Дербес орындайтын жаттығулары
Қорытынды
Пайдаланылған әдебиеттер тізімі
КІРІСПЕ
Паскаль тілін 1968-71 жылдары Швейцарияда профессор Никлаус Витр оқып
үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Паскаль тілі
өзінің қарапайымдылығының және тиімділігінің арқасында дүние жүзіне өте тез
тарады. Қазіргі кезде барлық дербес компьютерлер осы тілде жұмыс атқара
алдады. Паскаль тілінде жазылған программаның дұрыстығы компьютерде жеңіл
тексеріледі және жіберілген қате тез түзетіледі.
Бұл тілде жазылған программаны компьютерде орындау кезінде ол алдымен
трансляция сатысынан өтіп (машина тіліне аударылып), объектілік программа
түріне ауысады да, сонан кейін барып орындалады. Осы сәтте компьютерде
программаның екі нұсқасы болады, оның біріншісі – алгоритмдік тілдегі
алғашқы жазылған нұсқасы, ал екінші – объектілік кодтағы машина кодына
жазылған программа. Есептің нәтижесін тек машиналық кодта ғана жазылған
программа арқылы аламыз, ал программаны түзету қажет болғанда оның алғашқы
нұсқасы өңделіп, оны қайта түрлендіру сатысы жүзеге асырылады.
Қазіргі кезде Паскаль тілі кез келген күрделі есептерді шығара алатын,
кең таралған стандартты оқып үйрену тіліне айналды. Сол себепті енді осы
тілдің ерекшеліктерімен бірсыпыра мүмкіндіктерін қарастырып өтейік.
Техниканың даму жетістіктеріне сай ЭЕМ – біздің өміріміздің әр алуан
салаларында қызмет етуде. Айталық компьютердің көмегімен көптеген
салалардың қызметі жеңілдеді десек те болады. Компьютерде
автоматтандырылған программа жасауға арналған жаңа технологияларға сай
көптеген программалау тілдері пайда болды, солардың негізінде компьютердің
қолданылу ауқымы кеңейді, себебі программалау тілдері арқылы құрылған
программалар қызметкерге бұрынғыдай көптеген қағаздарды ақтарып, іздеген
дерегін таба алмай шаршауынан құтылуына көмектесті. Мысалы, кітапхананы
алайық, әрине кімнің болса да, картотеканы пайдалана алғаны дұрыс. Дегенмен
де өзімізге керекті кітапты табу үшін оны жазған авторды білуің керек,
кітаптың атын, шыққан жылын білуің керек, ал бұл кей кездері ыңғайсыздық
тудырады, әсіресе ең алғаш келген адамдарға немесе кітап туралы ақпараты аз
адамға қиындық әкелуі әбден мүмкін. Ал қазіргі озық технологиялармен
жабдықталған кітапханаға барсаңыз ЭЕМ-ның көмегімен оп-оңай өзіңізге
қажетті кітапты, оның тек жылын немесе құсас атын білу арқылы ғана
табуыңызға болады.
Программист мұндай программаларды жасаған кезде барлық мәліметті
компьютерге енгізіп сақтайды да, кітаптардың параметрлері бойынша, мысалы
авторлардың фамилиясын алфавит бойынша сұрыптау арқылы сұраныс жасай алады.
Кітапханаға келген адам өзіне қажетті кітапты бірнеше параметрлері бойынша
кітапханашыға жеткізеді, ол өз кезегінде программаға енгізіп, керекті
кітаптың шифрын тез арада тауып алады. Осы арада, әрине сұрыптау және іздеу
алгоритмі қолданылады.
Бұл дипломдық жұмыста Турбо Паскаль тілінде программалаудың негізгі
принциптері, программа құрылымы мен программалау тәсілдері баяндалып,
кейбір бөлімдеріне аса назар аударылған.
І. Паскаль программалау тіліне туралы жалпы мағлұмат
Компьютер табиғат құбылыстарын зерттеу, технологиялық процестерді
басқару, мультфильмдер жасау және т.б өмірде математикамен тікелей
байланысы жоқ есептерді шығару үшін пайдаланылады. Мысалы, қандай бір
есепті шығару үшін компьютерді пайдалану қажет. Ол үшін неден бастау қажет?
Алдымен берілген есепке қатысты зерттелетін объектіні немесе құбылысты
толық қарастырып, талдау қажет. Объектінің маңызды қасиеттері
математикалық ұғымдар тілінде (формулалар, теңдеулер, теңсіздіктер және
т.б.) жазуға болатындай тұжырымдалуы тиіс. Бұл берілген есептің
математикалық моделі деп аталады. Математикалық модель зерттелетін
объектпен бір мәнді анықталмайды, бірақ модель шынайы объектіге сәйкес
келуі тиіс. Алынатын нәтиже таңдалынған модельдің дәлдігіне тәуелді болады.
Дәлділікті арттыру үшін зерттелетін объектінің барлық қасиеттері
ескерілетіндей, модельді күрделендіруге тура келеді. Математикалық модель
қандай да бір жеңілдіктерге негізделеді. Шынайы объектіні оған сәйкес
моделімен ауыстырғанда есепті математикалық есеп ретінде тұжырымдап, оны
шығаруға математикалық құралдарды пайдалануға болатындай мүмкіндік пайда
болады. Есепті талдау барысында оны шығаруды жеңілдететін болжамдар
жасалып, объект жөнінде берілген ақпараттардан алғашқы мәліметтерді
ерекшелеп тауып, алынатын нәтижені анықтау қажет.
Сөйтіп, есепті шығарудың матемтаикалық моделін құра отырып:
1. математикалық модель негізделетін болжамдарды ерекшелеу;
2. алғашқы мәліметтер мен нәтижелерді анықтау;
3. нәтижелер мен алғашқы мәліметтерді байланыстыратын математикалық
қатынастарды (формулалар, теңдеулер, теңсіздіктер және т.б.) жазу
қажет.
Математикалық модель құру барысында мәліметтер арқылы ізделінді
шамаларды айқын өрнектейтін формулаларды тауып жазу барлық уақытта мүмкін
болмайды. Мұндай жағдайларда дәл жауапты алуға мүмкіндік беретін
математикалық әдістер пайдаланылады.
Сонымен, математикалық модель құру кезеңімен компьютердің көмегімен
есеп шығарудың бірінші кезеңі аяқталады. Компьютер қажетті есептеулерді
жүргізіп, жауап алу үшін нақты нұсқаулардан тұратын, қажетті әрекеттер
тізбегін ретімен көрсету қажет. Мұндай нұсқаулар тізбегі есеп шығару
алгоритмі деп аталады. Алгоритм құру – компьютерде есеп шығарудың екінші
кезеңі.
Компьютер алгоритмді адамның қатысуынсыз автоматты түрде орындайды. Ол
үшін алгоритм машинаға түсінікті тілде, яғни арнайы программалау тілінде
жазылуы тиіс. Программалау тілінде жазылған алгоритм программа деп аталады.
жазылуы тиіс.
Компьютермен есептеуді жүргізгеннен кейін алынған нәтижені талдау
қажет. Бұл жағдайда матемтаикалық модельді нақтылау қажеттілігі пайда болуы
мүмкін. Өйткені модель құру барысында объектінің кейбір маңызды қасиеттері
ескерілмеуі мүмкін. Модель нақтыланғаннан кейін алгоритм қайтадан құрылады,
компьютермен есептеулер жүргізіліп, нәтижелері талданады. Тағы да модельді
нақтылау қажеттілігі пайда болуы мүмкін... Бұл процесс талдау нәтижелері
зерттелетін объектіге толық сәйкес келгенше жалғасуы мүмкін.
Сонымен, компьютерде есеп шығарудың үшінші кезеңі – программа жазып,
нәтиже алу және алынған нәтижелерді талдау болып табылады. Сонымен
компьютерде есеп шығару процесін төмендегідей схема түрінде көрсетуге
болады:
Математикалық модель→Алгоритм→ Программа. Компьютер жұмысының
нәтижелерін талдау.
Қорыта келгенде, қойылған есепті шығару алгоритмін құруда: біріншіден,
есептің қойылысын зерттеу; екіншіден, алгоритм жалпы болып табылатын
алғашқы мәліметтердің типі мен берілу тәсілдерін анықтау; үшіншіден,
нәтижелердің берілу типі мен оны шығару түрін анықтау, сәйкес белгілеулер
енгізу; төртіншіден, есепті шығару әдісін жасау немесе белгілі әдістерді
пайдалану. Алгоритмнің барлық қасиеттері сақталынатын, есепті шығару әдісін
жүзеге асыратын алгоритмді баяндау; бесіншіден, құрылған алгоритмнің
дұрыстығын – нәтижелілігін тексеру, қате табылған жағдайда оның қатесін
түзету; алтыншы, алгоритмді тестілеу қажет.
1.1 Turbo Pascal жүйесiнiң программалау ортасы
Turbo Pascal-дың соңғы нұсқаларында экрандық редактор, түрлендiрушi
(компилятор), жөндеушi (отладчик) және жанама ақпараттық көмектен тұратын
бiрiккен программалау ортасы бар. Бұл бiр жүйеге бiрiктiрiлген
программалар жинағы программалау ортасынан шықпай-ақ программаны жазып,
өңдеп, түрлендiрiп, орындауға мүмкiндiк бередi.
Turbo Pascal жүйесiнiң ерекшелiктерi:
• бiрнеше терезелердi пайдалануға, сондай-ақ олардың өлшемдерiн өзгертуге,
экранда терезелердi жылжытуға болады;
• меню жүйесi бар;
• сұхбат терезелерi бар;
• тышқанмен жұмыс iстеу мүмкiндiгi бар;
• 1Мбайт-қа дейiнгi файлдармен жұмыс iстеуге мүмкiндiк беретiн көп файлдық
экрандық редакторы бар, жеке терезелер арасында өзара ақпарат алмасу
әрекетiн орындауға және ақпараттық көмек жүйесiнен мәлiметтер алуға
болады;
• жөндеушiнiң (отладчик) мүмкiндiктерi өте көп;
• экранды толық тазартып, қайта қалпына келтiруге болады.
Программалау ортасында негiзгi жұмыс пернелер тақтасы немесе тышқан
көмегiмен, меню жүйесi және сұқбат терезелер арқылы жүзеге асады.
Программалау ортасында жұмыс iстеу үшiн Turbo.exe файлын орындауға
жiберу керек.
Турбо Паскаль программалау жүйесiнде жұмыс iстеудi меңгеру үшiн,
терезе және меню жұмыстарын бiлу керек.
Терезе негiзiнен меню қатарынан, жұмыс алабынан және функöионалдық
пернелердiң орындайтын әрекеттерi жазылған қатардан тұрады.
Программа iске қосылып, терезе ашылғаннан кейiн, курсор жұмыс алабында
тұрады.
Меню қатарына F10 пернесi арқылы шығып, ESC арқылы жұмыс алабына
ораламыз.
Меню қатарының командаларын және төменгi сатылы командаларының
қажеттiсiн ( ( ( ( бағыттауыштар арқылы таңдай аламыз. Команданы орындау
үшiн Enter пернесiн басамыз.
File менюiнiң командалары файлдармен негiзгi әрекеттердi орындауға
мүмкiндiк бередi.
New командасы үнсiз келiсiм бойынша NONAMEXX.PAS (ХХ-тiң орнына 0-99-
ға дейiнгi сандар қойылады) атымен жаңа терезе ашады. Файлдың бұл атын өз
қалауымыз бойынша өзгерте аламыз.
Open F3 сақталған файлдарды оқу мүмкiндiгiн беретiн сұхбат терезенi
ашады.
Save (сақтау)- F2 екпiндi терезедегi файлды дискiге сақтайды. Егер
файлдың аты NONAMEXX.PAS болса, онда ...деп сақтау сұхбат терезесi ашылады.
Save as... (... деп сақтау) терезедегi екпiндi файлды басқа атпен,
басқа құрылғыға, басқа каталогқа сақтау мүмкiндiгiн бередi. Бұл команда
орындалған соң, Файлды ... деп сақтау (Save File as...) сұхбат терезесi
ашылады. Бұл терезеде файлдың жаңа атын терiп жазып, Ок батырмасын
шерткен соң, файлдың аты өзгерiп сақталады. Егер бұрыннан бар файлдың аты
терiлсе, онда, сол файлдың үстiнен жазылып қалады.
Change dir (Каталогты өзгерту) командасы Change directory сұхбат
терезесiнiң көмегiмен құрылғыны таңдап, каталогты ағымдағы етуге мүмкiндiк
бередi. Ағымдағы каталог деп Турбо Паскаль ортасы Файлдарды сақтау және
оларды iздеу үшiн қолданатын каталогты айтады.
Print командасы екпiндi терезенiң мазмұнын баспаға шығарады. Турбо
Паскаль кестелеулердi кеңейтiп (кестелеу симâолдарын сәйкес бос орынға
алмастырады), Dos-тың баспа құрылғысына жiбередi. Егер бұл команданың түсi
солғын түстi болып тұрса, онда екпiндi терезенi баспаға жiбере алмаймыз.
Мәтiннiң тек белгiленген бөлiгiн ғана баспаға шығару үшiн, Ctrl+K+P
пернелерiн басу керек.
Printer setup командасы принтердi орнатуға мүмкiндiк беретiн сұхбат
терезенi ашады.
DOS shell (DOS-қа уақытша шығу) DOS-тың командаларын немесе
программаларын енгiзу үшiн уақытша Турбо Паскальдан шығуға мүмкiндiк
бередi. Турбо Паскальға қайтадан оралу үшiн пернеден EXIT сөзiн теру немесе
Enter басу керек.
Exit (шығу)- Alt+X Турбо Паскаль ортасынан шығу, сақталмаған
ақпараттар болса, ол жөнiнде хабарлама бередi.
Edit меню командалары редактор терезесiнде программа мәтiнiн
көшiру, қиып алу, енгiзу әрекеттерiн орындау мүмкiндiгiн бередi.
Undo (болдырмау)- Alt+Bksp программа мәтiнiн өңдеу кезiндегi қатармен
орындалған соңғы команданың орындалуын алып тастайды.
Redo Undo командасының қатармен орындаған соңғы командасын алып
тастайды.
Cut Shift+del Белгiленген бөлiктi буферге қиып алады (бұрынғы
орнында қалмайды).
Copy Ctrl+Ins Белгiленген бөлiктiң көшiрмесiн буферге алады (бұрынға
орнында сақталады).
Paste Shift+Ins Курсор орналасқан жерге буфердегi ақпаратты енгiзедi.
Clear Ctrl+Del Белгiленген бөлiктi тазалау, өшiру.
Show Clipboard (буфердi ашу) редактор терезесiнде көшiрмесi алынған
немесе қиып алынған мәтiндi сақтайтын терезенi ашады. Search - меню
командалары программа мәтiнiн iздеу, проöедураларды хабарлау және
файлдардағы қателердiң орналасқан орнын анықтау мүмкiндiгiн бередi.
Find (табу) командасы табуға қажеттi және iздеу опöияларын енгiзу
мүмкiндiгiн беретiн сұхбат терезенi ашады.
Replace (алмастыру), Alt+S+R- iздейтiн мәтiн мен оны алмастыратын
мәтiндi енгiзу мүмкiндiгiн беретiн сұхбат терезенi ашады.
Search Again (қайтадан iздеу) Ctrl+L командасы – Find (iздеу) немесе
Replace (алмастыру) командаларының соңғы әрекетiн қайталайды.
Go to line number (нөмiр қатарына бару) – курсорды нiмiрi көрсетiлген
қатарға орналастырады.
Show last compiler error – экранның жоғарғы жақ бөлiгiнде
компилятордың соңғы қатесiн көрсетiп, курсорды сол қатеге орналастырады.
Егер соңғы компиляöия сәттi болса, онда хабарлама шықпайды.
Find error (қатенi iздеу) Alt+F8– программаны орындау кезiндегi
қатенiң орналасқан орнын табады. Орындау кезiнде кеткен қате жiберiлген
орында seg:ofs (сегмент:смеùение) форматында берiледi. Турбо Паскальға
қайта оралған мезгiлде қатенiң орны аâтоматты түрде анықталады.
Find procedure (Проöедураны iздеу) iздейтiн проöедураның атын енгiзу
мүмкiндiгiн беретiн сұхбат терезенi ашады. Бұл команда программманы жөндеу
(отладка) кезiнде ғана жұмыс iстейдi. Проöедураның атын енгiземiз немесе
тiзiмнен қажеттiсiн таңдап аламыз. Find командасына керi әрекеттi жүзеге
асырады, яғни проöедураның орындалуын емес сипатталуын iздейдi.
Run (орындау) меню командалары программаны орындауға жiберу, жөндеудi
(отладка) бастау, аяқтау мүмкiндiгiн бередi.
Run (орындау) Ctrl+F9 командасы RunParameters командасының көмегiмен
орнатылған параметрлердi қолдана отырып, редактор терезесiндегi екпiндi
программаны орындауға жiбередi..
Program reset Ctrl+F2 (сброс программы) – жөндеушiнiң орындап жатқан
әрекетiн тоқтатып, сол программаға бөлiнген орынды босатып, программадағы
барлық файлдарды жабады.
Go to cursor (курсорға өту) F4 – екпiндi терезедегi программаны
курсор тұрған орындағы қатарға дейiн орындайды. Егер курсор ешқандай
әрекеттердiң орындалуына әсер етпейтiн қатарда тұрса, ол жөнiнде хабарлама
бередi.
Trace into (қосалқы программаға кiрiп, қадамдық орындау) ±7 –
программадағы операторларды рет-ретiмен қадам бойынша орындайды.
Step over (қосалқы программаға кiрмей қадам бойынша орындау).
Программа мәтiнiнiң бiр қатарына сәйкес келетiн кезектi операторды
орындайды. Бұл команда орындалуы кезiнде проöедура немесе функöия тұтас бiр
оператор болып қарастырылады.
Parameters (Параметрлер)-программа параметрлерiн енгiзу мүмкiндiгiн
бередi. Параметрлер программаны iске қосар алдында берiлуi тиiс.
Compile (Компилляöия) меню командалары программаның қатесiн тексеру
мүмкiндiгiн бередi. Compile Alt+F9 – екпiндi терезедегi программаның
қатесiн тексередi. Синтаксистiк қате жөнiнде хабарлама бередi де, курсор
қате жiберiлген орынға орналасады. Қате жоқ болса, компилляöияның сәттi
болғаны жөнiнде хабарлама бередi.
Make (Программаны жинақтау). Егер негiзгi программада немесе негiзгi
модульде қолданылатын жеке модульдердiң мәтiнiнде обúектiлiк файлды
алғаннан кейiн өзгерiс болса, сәйкес модульдер қайта тексерiледi, одан
кейiн негiзгi программа немесе негiзгi модульден тұратын файл тексерiледi.
Build (Программа құру) – Make (Программаны жинақтау) командасы сияқты
қызмет атқарады. Бiрақ бұл команда орындалғанда, негiзгi программа немесе
негiзгi модульде қолданылытын барлық модульдер кез-келген жағдайда қайта
тексерiледi.
Destination memory (Файлды орналастыру) программаның орындалатын
файлының (.ехе) орналасатын орнын (жедел жадта (Memory) немесе дискiде
(Disk)) анықтайды.
Primary file...(Негiзгi файл) командасы Build (Программа құру) және
Make (Программаны жинақтау) командалары үшiн негiзгi файлды тағайындайды.
Негiзгi файл екпiндi терезеде болмаса да, тiптi жабық тұрғанның өзiнде
Build және Make командалары тағайындалған негiзгi файл үшiн орындалады.
Clear primary file (Негiзгi файлдан бас тарту) командасы орындалған
кезде Primary file... командасымен тағайындалған негiзгi файлдың аты алынып
қалады. Бұл кезде кез келген компилляöия командасы екпiндi терезедегi файл
үшiн орындалады.
Information (файл жөнiнде информаöия алу) ағымдағы файл және жедел
жады жөнiнде информаöия шығарады.
Debug (жөндеу менюi) программаны жөндеу (отладка) үшiн қажеттi
параметрлердi (тоқтау нүктесi, есептелетiн параметрлер) енгiзу мүмкiндiгiн
бередi.
Breakpoints (Тоқтау нүктесi)–Тоқтау нүктесiмен жұмыс iстеу мүмкiндiгiн
бередi.
Call stack (қолданылатын қосалқы программа терезесi) – Қолданылатын
қосалқы программалардың терезесi ашылады.
Register (регистр) Регистрлер терезесi ашылады.
Watch (Жөндеу терезесi) жөндеу терезесi ашылады.
Output (нәтиже) шығатын нәтижелер терезесi ашылады.
User screen (пайдаланушы терезесi) пайдаланушы терезесi ашылады.
Терезеден қайта шығу үшiн кез келген перненi басу қажет.
Evaluatemodifu... (Есептеу қайталау) мәндерi есептелетiн өрнектi немесе
айнымалыны, сондай-ақ айнымалы үшiн жаңа мәндi енгiзу мүмкiндiгiн бередi.
Add Watch... (бақылау параметрiн қосу) Бақыланатын параметрлер
терезесiне жаңа параметр (айнымалы немесе өрнек) қосады.
Add breakpoint...(тоқтау нүктесiн қосу) тоқтау нүктесi мен тоқтау
шарттарын бередi.
Tools (Саймандар мен аспаптар) менюi бiрiктiрiлген программмалау
ортасынан шықпай-ақ программаны iске қосуға мүмкiндiк бередi.
Программаны программалау ортасынан жiберiлетiн тiзiмдерi қатарына қосу
үшiн, Options Tools командасын орындау керек. Осы кезде программаның аты
Tools менюi қатарына қосылады. Программаны iске қосу үшiн менюдiң сәйкес
элементтерiн екпiндi ететiн стандартты саймандарын қолдану керек.
Messages (Хабарлама)– Dos фильтрi арқылы программадан берiлетiн
информаöияны шығаратын хабарлама терезесiн ашады. Goto next (келесi
қатарға) хабарлама терезесiнде келесi қатарға көшудi жүзеге асырады. Goto
previons (алдыңғы қатарға) хабарлама терезесiнде алдыңғы қатарға көшудi
жүзеге асырады.
Options менюiнiң командалары Турбо Паскаль ортасының үнсiз келiсiм
бойынша тағайындалатын параметрлерiн көру және оларды өзгерту мүмкiндiгiн
бередi.
Compiler (Компиллятор) кодты компиляöиялауға әсер ететiн опöияларды
таңдау мүмкiндiгiн беретiн сұхбат терезенi ашады.
Memory sizes (Жад өлшемi) командасы үнсiз келiсiм бойынша программаға
қажеттi жад мөлшерiн анықтайды.
Linker (байланыс редакторы) командасы өңдеу жұмыстарына әсер ететiн
бiрқатар параметрлердi тағайындау мүмкiндiгiн бередi. Бұл команданы орындау
кезiнде бiрнеше батырмалар орналасқан сұхбат терезе ашылады. Барлық
батырмалар екi тiзiмге топтастырылған.
Map File (карта файлы) тiзiмi жүктеу картасының құрылуын анықтайтын
параметрлерден тұрады:
• Off (ажыратулы) – жүктеу картасы құрылмайды;
• Segments (сегменттер параметрi)- жүктеу картасында программаның барлық
сегменттерiнiң параметрлерi орналасады;
• Public (глобальды параметрлер)- жүктеу картасында сегмент
параметрлерiмен қоса адрестерi көрсетiлген глобальды параметрлер тiзiмi
және программаға кiру адресi орналасады;
• Detailed (детализаöия)- жүктеу картасында Public параметрлерiмен қоса
программаның жеке қатарларына сәйкес келетiн обúектiлiк кодтардың
адрестерi орналасады.
Link Buffer (байланы редакторының буферi) тiзiмi буфердiң орналасатын
орынн анықтайды:
• Memory (жады)- буфер жедел жадыға орналасады, түрлендiру (компилляция)
жылдамдығы артады, бiрақ үлкен программалар үшiн жедел жады
жеткiлiксiз болып қалуы мүмкiн;
• Disk (диск)- буфер дискiге орналасады.
Debugger (жөндеушi) командасы бiрiктiрiлген жөндеушiнiң жұмысына әсер
ететiн бiрқатар параметрлердi тағайындау мүмкiндiгiн беретiн сұхбат
терезенi ашады.
Directories (Каталогтар) командасы Турбо Паскальда түрлендiруге
арналған байланыстарды өңдеу, шығару файлдарын қайдан iздеу керектiгiн
анықтайды.
Window (Терезе) меню командалары терезенi ашу, жабу, экранда жылжыту
әрекеттерiн орындау мүмкiндiгiн бередi.
Tile барлық терезелердi бiрiнiң астына бiрiн қатарластырып
орналастырады;
Cascade – терезелердi қабаттастырып орналастырады;
Close all – терезелердiң барлығын жабу;
Refresh display (экранды жаңарту) – программа экранның мазмұнын
өзгерткен жағдайда ортаның экранын жаңартады:
Sizemove CtrlF5 (өлшемiн өзгерту, орнын ауыстыру) – терезенiң өлшемiн
өзгерту, жылжыту мүмкiндiгiн бередi. Терезенiң өлшемiн өзгерту үшiн Shift
пернесiмен бiрге бағыттауыш (оңға, солға, төмен, жоғары) пернесiнiң
тиiстiсiн басу қажет. Терезенi экранда жылжыту бағыттауыш перненiң
қажеттiсiн басу немесе тышқан арқылы орындалады.
Zoom F5 – терезенiң көлемiн үлкейту, кiшiрейту әрекетiн орындайды. Бұл
әрекеттi терезенiң тақырып қатарындағы үлкейтукiшiрейту батырмасының
көмегiмен де орындауға болады.
NEXT F6 (келесi) ретi бойынша келесi терезенi екпiндi екпiндi етедi.
Previous Shift+F6 – (алдыңғы) ретi бойынша алдыңғы терезенi екпiндi
етедi.
Close Alt+F3 (жабу) – екпiндi терезенi жабады.
List... At+0 (терезелер тiзiмi) – жұмыс iстеп тұрған терезелердiң
тiзiмiнен қажеттiсiн таңдау мүмкiндiгiн бередi. Таңдалған терезенi екпiндi
етуге немесе жабуға болады.
Help (көмек) меню командалары жүйедегi анықтамалық ақпаратты оқу
мүмкiндiгiн бередi.
Contents (экранға шығарылған ақпарат жөнiнде мәлiмет) ағымдағы уақытта
экранға шығарылған мәлiмет жөнiнде (екпiндi терезе, таңдалған меню
командасы, жiберiлген қате) мәлiметтi сұхбат терезеге шығарады.
Index (түйiндi сөздер) жүйеде бар барлық анықтамалық ақпараттардың
тiзiмiн алфаâиттiк ретiмен түйiндi сөздер бойынша шығарады.
Topic search (сөз бойынша iздеу) Курсор орналасқан сөз жөнiнде
анықтамалықты шығарады. Егер сол сөз жөнiнде анықтамалық жоқ болса, алғашқы
симâолдарының саны көп сәйкес келетiн түйiндi сөздер тiзiмiн бередi.
Prevoius topic (алдыңғы тақырып) алдыңғы сұранысқа сәйкес келетiн
анықтамалықты шығарады. Жүйе 20 сұранысты сақтай алады.
Using help (контекстi көмек жүйесi жөнiнде анықтама) контекстi көмек
жүйесiн қолдану жөнiнде мәлiмет шығарады.
Files (файлдар) контекстi көмек файлдарын енгiзу мүмкiндiгiн беретiн
сұхбат терезенi ашады.
Compiler directives (компилятор директиâалары) компилятордың
директиâаларының тiзiмiн шығарады.
Reserved words (қордағы слоâа) қордағы сөздердiң тiзiмiн шығарады.
Standard units (стандартты модульдер) стандартты модульдер тiзiмiн
шығарады.
Turbo Pascal language (Turbo Pascal тiлi) Turbo Pascal негiзгi
элементтерiнiң тiзiмiн шығарады.
Error message (қателер жөнiнде хабарлама) қателер жөнiнде берiлген
хабарламалар мәлiметiн шығарады.
About (жүйе жөнiнде мәлiмет) программалау жүйесi пакетiнiң нұсқасы мен
аâторлық құқықтар жөнiнде ақпарат беретiн терезенi шығарады.
Тілдің алфавиті
Паскаль тілінің алфавиті келесі түрдегі таңбалардан тұрады:
- латын алфавиті А,B,С,...,х,у,z;
- цифрлар 0,1,2,...,9;
- арнайы таңбалар +,-,,=, , [ ], ., ( ), ;, :, {}, $, #, _, @.
Программа аты, типі, константа, айнымалы, модульдер және тілдің басқа
да объектісі ретінде атаулар (идентификаторлар) қолданылады, яғни оларға
әріптер, цифрлар, таңбалар және асты сызылған әріптер немесе басқа да
таңбалар жатады. Атауларда бос орын таңбасы болмауы керек. Жазу кезінде
бас әріптер мен жазба әріптері пайдаланылуы мүмкін. Ұзындығына шек
қойылмайды. Егер программа атындағы алғашқы кездесетін 63 таңба әртүрлі
болса, онда аттары әр түрлі деп есептелінеді. Үлкен және кіші таңбалар бір
мәндес болады.
1.2 Паскаль тіліндегі мәліметтер
Кез-келген программада есепті шешу үшін, керекті айнымалылар мен
мәліметтерге өңдеу жүргізіледі, оларға әр түрлі типтер жатуы мүмкін, яғни
бүтін және нақты сандар, таңбалар, жолдар, массивтер. Паскаль тілінде
барлық мәліметтер программаның басында сипатталуы керек.
Паскаль тіліндегі мәліметтерді константа (тұрақты) және айнымалы деп
бөлуге болады.
1.2.1 Турбо Паскаль тіліндегі константалар (тұрақты сандар)
Программаның орындалуы барысында констанаталар мәні өзгеріссіз қалады.
Олар const қызметші сөзімен сипатталады, одан кейін константа атының тізімі
жүреді, олардың әр қайсысына = таңбасы арқылы мәні меншіктеледі.
Константалар бір-бірінен нүктелі үтір арқылы ажыратылады. Мысалы:
Const
h=3;
b=-7.5;
c=’abcde’;
1.2.2 Турбо Паскаль тіліндегі айнымалылар
Программаның орындалуы барысында айнымалылар мәні бірнеше рет өзгеруі
мүмкін. Айнымалыны сипаттау var қызметші сөзінен басталып, одан әрі
айнымалы аты және қос нүктеден кейін оның типі белгіленеді, мысалы:
Var
a,b: real;
c,d: integer;
1.2.3 Турбо Паскаль тіліндегі мәліметтер типі
Паскальдағы мәліметтер типін скалярлық және құрылымдық деп бөлеміз.
Сонымен қатар Паскаль тілінде өзіңіз құрастырған мәліметтер типін де
енгізуге болды.
Скалярлық типтегі мәліметтерді келесі топтардан көруімізге болады, яғни
бүтін санды типіндегі мәліметтер 1-ден 4-ке дейінгі байттан тұрады. Олардың
барлығы 1.1-кестеде көрсетілген.
Мысалы. Бүтін санды айнымалылар типін сипаттауға керек болсын:
Var
a,b: byte;
f: word;
1.1-кесте Мәліметтердің бүтін санды типтері
Типі Аралығы
Байттық өлшемі
Byte 0 .. 255
1
Word 0 ..65535
2
Integer -32768 ..32767
2
Shortint -128 ..127
1
Longint -2147483648..2147483647
4
Нақты сан типіндегі мәлімет 4-тен 10 байтқа дейін тұрады. Нақты
мәліметтер жылжымалы немесе нақтыланған нүктеден тұруы мүмкін.
Нақты сандарға мысал:
- нақтыланған нүкте: 4.12, 6.05, -17.5489;
- жылжымалы нүкте: -3.2Е-6(-3.2·10-6), -6.42Е+2(-6.42·102).
Барлық нақты сандар типі 1.2- кестеде көрсетілген
1.2- кесте. Мәліметтердің нақты типтері
Типі Аралығы Мантисса
Байттық өлшемі
Real 2.9E-39 ... 1.7E38 11-12
6
Single 1.5E-45 ... 3.4E38 7-8
4
Double 5.0E-324 ... 1.7E308 15-16
8
Extended 3.4E-49321 ... 1E4932 19-20
10
Мысалы. Нақты типтегі айнымалыларды сипаттау керек болсын:
Var
a,b,c: real;
d,f: double;
k: single;
Мәліметтің символдық типі дисплей экранында көрінетін кез-келген символды
білдіреді. Ол 1 байт орын алады және char қызметші сөзі арқылы сипатталады,
мысалы:
Var
a,b:char;
Программа мәтінінде символдық типтегі айнымалылар мен константалар мәні
апостроф ішіне алынып жазылады: ’a’,’b’,’+’.
Мәліметтің логикалық (бульдік) типі. Бұл типтегі мәлімет негізінен екі
мән қабылдайды: true (ақиқат) немесе false(жалған).
Мысалы:
var
a, b: boolean;
Турбо Паскальда стандартты скалярлық типтен басқа тізбектелген немесе
аралық (интервалдық) скалярлық типтерді де енгізуімізге болады.
Тізбектелген тип берліген типтегі айнымалы қабылдай алатын мәндерді
міндетті түрде тізбектеп береді, мысалы:
var
a,c: (red, blue, green);
b: (dog, cat);
Басында мәліметтердің тізбектелген типін енгізіп, содан соң осы типтің
айнымалыларын сипаттауымызға болады. Жаңа типті құру үшін type қызметші
сөзі қолданылады:
type тип_атауы=тип_анықтамасы;
Мысалы:
type
color=(red,blue,green);
var
a,b: color;
Аралық тип арқылы берілген тип айнымалыларының өзгеру шегін анықтайтын
екі тұрақты санды енгізуімізге болады. Бірінші тұрақты сан екіншісінен кіші
болуы қажет. Олар бүтін немесе символдық болып табылады:
var
a, b, c: -7 .. 4;
x: ‘a’ .. ‘c’;
Алдында айтылған типтер сияқты мәліметтер типін type қызметші сөзі арқылы
алдын ала енгізіп, содан соң мәліметтер типінің айнымалыларын
сипаттауымызға болады.
Мысалы:
type
x=0..9;
var
a,b: x;
Әрбір аралық типтің айнымалысы 1 байт орын алады.
Құрылымдық тип мәліметтеріне келесілер жатады: массивтер, жолдар,
жазбалар, файлдар, көпмүшеліктер.
Массивтер - бір тип мәліметтерінің жиынтығы. Типті сипаттау кезінде
массив элементтерінің саны нақтыланады және программаны орындау барысында
өзгермейді. Массив элементтерімен жұмыс жасау үшін алдымен массив аты,
содан соң квадрат жақша ішінде оның нөмері көрсетіледі. Массивті сипаттау
кезінде array қызметші сөзі қолданылады. Бұл мәліметтер типінің айнымалысы
келесі түрдегідей жазылады:
айнымалы_аты:array[i..i1,j..j1,...] of элементтер_типі;
мұнда i, i1- бірінші массив индексінің шекарасы; j, j1 – екінші массив
индексінің шекарасы.
Мысалы:
var
a: array [1 .. 10] of integer;
Алдымен масссив мәліметінің типін анықтап, содан соң скалярлық тип
жағдайындағы сияқты айнымалылар типін сипаттауымызға болады.
Жолдар – символар тізбегі. Оларды өрнектерде қолданғанда жолдар
апострофқа алынып жазылады. Оның ұзындығы 255 символмен шектеледі. Жолдық
айнымалылар типін сипаттау үшін string қызметші сөзі қолданылады. Оның
жазылу түрі келесідей:
айнымалы_аты: string[n],
мұнда n - жол айнымалысының ұзындығы; егер n берілмесе, онда жол ұзындығы
255 символға сәйкес келеді.
1.3 Паскаль тіліндегі амалдар мен өрнектер
Өрнек мәліметтермен жұмыс жасау барысын реттеп отырады және ол
операндалардан (константа, айнымалы, функцияны шақыру), жай жақшалардан
және амалдар таңбасынан тұрады: a+b*sin(cos(x)). Амалдар унарлы (мысалы,
с), бинарлы (мысалы, а+в) болып және төменде көрсетілген басқа да топтарға
бөлінеді.
Турбо Паскаль тілінде қолданылатын арифиметикалық амалдар – 1.3-
кестесінде көрсетілген.
1.3-кесте. Арифметикалық амалдар
Амалдар Қызметі Операндалар типі Тип шешімдері
+ Қосу Бүтін, нақты Бүтін, нақты
- Алу Бүтін, нақты Бүтін, нақты
* Көбейту Бүтін, нақты Бүтін, нақты
Бөлу Бүтін, нақты Бүтін, нақты
Div Бүтін бөлігі Бүтін Бүтін
Mod Қалдық бөлігі Бүтін Бүтін
And және Бүтін Бүтін
Shl Солға жылжыту Бүтін Бүтін
Shr Оңға жылжыту Бүтін Бүтін
Or Немесе Бүтін Бүтін
Xor Немесені жоққа шығару Бүтін Бүтін
- Жоққа шығару Бүтін Бүтін
Not Логикалық жоққа шығару Бүтін Бүтін
Қатынас амалдары екі операнданы салыстырғанда, олар ақиқат немесе жалған
екендігін анықтайды. Олардың нәтижесі – логикалық. Олар келесі амалдар
қатынасымен анықталады: , , = ,= , .
Мысалы, қатынас амалдары:
3.142, 64
Қатынас амалдары символдық және жолдық айнымалылармен де анықталады:
‘a’ ‘b’, ‘abc’ ‘abd’.
Логикалық амалдар логикалық мәліметтерге орындалады. Келесі логикалық
амалдар анықталған:
1.4-кесте. Логикалық амалдар.
A B Not A and B A or B
t t f t t
t f f f t
f t t f t
f f t f f
Кестеде t - true (ақиқат) f – false (жалған).
Логикалық өрнектерде логикалық және арифиметикалық қатынас амалдары да
қолданылады.
Логикалық өрнекке мысал:
(a+x)(c+d*cos(y)) or (ab)
Күрделі өрнектердегі амалдардың орындалатын тәртібі қарапайым амалдар
тәртібіне сәйкес келеді. Паскальда келесі амалдар тізімі қоланылады:
1.Унарлы амалдар
2. *, , div, mod, and, shl, shr.
3. +, -, or, xor.
4.=, , , , =, =.
Өрнекте жақшаларды қолдану олардың есептелу тәртібін өзгертуге мүмкіндік
береді.
1.4 Паскаль тіліндегі стандартты функциялар
Турбо Паскалда арифметикалық амалдарға қолданылатын стандартты
функциялар анықталған (1.5-кестеде).
1.5-кесте. Кейбір стандартты функциялар
Белгіленуі Аргумент Нәтиже Қызметі
типі типі
Abs(x) Бүтін, Бүтін, Сан модулі
нақты нақты
Sin(x) Нақты Нақты Синус функциясы
Cos(x) Нақты Нақты Косинус функциясы
Arctan(x) Нақты Нақты Арктангенс
Pi Нақты π
Exp(x) Нақты Нақты ех
Ln(x) Нақты Нақты Натурал логарифм функциялары
Sqr(x) Нақты Нақты х2
Sqrt(x) Нақты Нақты
Int(x) Нақты Нақты Санның бүтін бөлігі
Frac(x) Нақты Нақты Санның бөлшек бөлігі
Round(x) Нақты Бүтін х санын дөңгелектеу
Trunc(x) Нақты Бүтін х санының бөлшек бөлігінің
қиылысуы
Random Нақты Нақты 0 ден 1 ге дейінгі кездейсоқ
сандар
Random(n) Нақты Бүтін 0 ден n ге дейінгі кездейсоқ
сандар
Бұлардан басқа кездесетін өзімізге таныс функцияларды (tg, arcsin және
т.с.с.) математикалық қатынастар көмегімен жазуымызға болады, мысалы:
.
Бірақ солардың ішінде n дәрежедегі х санын табу біраз қиындықтар
туғызады. Егер n дәрже саны бүтін болса, онда х-ті n рет көбейтеміз немесе
төмендегі формуланы пайдаланамыз:
.
Бұл формула Паскаль тілінде стандартты функциялар көмегімен төмендегідей
программаланады:
• х оң саны үшін – exp(n*ln(x));
• х теріс саны үшін – -exp(n*ln(abs(x))).
Бұл формуланы n бөлшек дәрежедегі х санын табу үшін пайдалануымызға
болады, мұндағы n – кәдімгі k1 түріндегі дұрыс бөлшек, ал бөліміндегі 1
тақ сан.
Егер бөлімі 1 жұп болатын болса, онда жұп дәрежедегі түбір табу мағынасын
білдіреді, бұдан шығатыны бұл амалды орындауға шек қойылады.
Жоғарыда айтылғандары ескере отырып, дәрежені есептейтін өрнектерді
программалау үшін, алдымен х және n қабылдайтын мәндерге талдау жасап алу
қажет, себебі кейбір жағдайларда n дәрежедегі х санын табу орындалмайды.
Сонымен қатар random функциясын пайдаланудың ерекшеліктеріне тоқтала
кетейік: оны пайдаланар алдында кездейсоқ сандар генераторын randomize
процедурасын орындап жекелеп алу қажет.
1.4 Массивтер
Паскаль тілінде типтер қарапайым және күрделі болып бөлінеді.
Қарапайым типке – стандартты, саналатын, шектейтін типтер жатады. Күрделі
типке – массивтер, жиындар, жазулар, жолдар және файлдар жатады. Күрделі
типтің элементтері қарапайым немесе күрделі типтер болуы мүмкін. Күрделі
типті енгізу программаны күшейтеді және күрделі есептерді шешуге мүмкіндік
береді.
Тұрмыста тізбектелген сандарды, кестелерді, фамилия тізімдерін көп
пайдаланамыз, олар бір өлшемді (жатық немесе тік жол), екі өлшемді
(матрица) массив болуы немесе жиын болуы мүмкін.
Паскаль тілінде жеке айнымалыларды ғана өңдеп қоймай, айнымалылардың
жиынын (тобын) да өңдеуге болады.
Паскаль тілінде жеке-дара мәліметтермен қатар қандай да бір жүйеде
жинастырылған олардың топтарын да қарастыруға болады. Осындай топтардың
бірі – массив. Массив дегеніміз – бір типті шамалардың реттелген белгілі
бір тобы. Массивке кіретін айнымалыларды массивтің элементтері дейді,
олардың саны сипаттауда анықталады да, программаның орындалу барысында
өзгермейді. Массивтің элементтерінің типі, файлдан басқа, кез келген
(бүтін, нақты, символдық, жолдық, массивтік т.б.) тип бола алады. Яғни
Паскальда жолдар массивін, символдар массивін, массивтер массивін т.с.с.
қарастыруға болады. Массив элементтерінің типін массивтің негізгі (базалық)
типі деп атайды.
Массив тұтасымен бір атпен аталады, ал элементтерінің реті индекс
арқылы көрсетіледі. Индекс массивтің индекаторынан соң тік жақшаға алынып
жазылады (a[1], x[1,1], a[i], ...). Индекстің типі массив элементтерінің
ретінің өзгеру аралығын көрсетеді де, шектелген жай типтердің (байттық,
логикалық, аралық, атау) бірімен беріледі. Массивтің типін анықтау үшін
array, of қызметші сөздері қолданылады.
Сөйтіп, Паскаль тіліндегі массив ұғымы алгоритмдік тілдегі кесте
ұғымына сәйкес келеді. Алгоритмдік тілдегі ТИП АТАУ өлшем (мысал)
Массивтің типі алдын ала тип тарауында жарияланып, айнымалылар
тарауында сол типпен немесе бірден сипатталады.
Жазылуы: Type
типтің аты=array[индекстердің типі] of элементтердің типі;
var айнымалылар: типтің аты;
немесе
var
айнымалылар: array[индекстердің типі] of элементтердің типі;
Мысал.
Type
KLASS=(K1, K2, K3, K4);
SIMVOL=array (byte) of char;
AI=(I, II, III, IV, V, VI, VII, VIII, IX, X, XI, XII);
Var
M1: SMVOL;
M2: array [1..60] of integer;
M3: array [‘a’.. ‘d’] of klass;
VECTOR: array[1..10] of real;
M4: array[AI] of 28..31;
LOG: array [boolean] of integer;
М1 бұл мысалда типтер тарауында жарияланған SIMVOL типімен
сипатталған, мұнда индекстің типі байттық (byte) болғандықтан М1массиві
char типі 256 элементтен (М1[0], М1[1], М1[2] ..., М1[255]) тұрады. М2 бірден
айнымалылар тарауында сипатталған integer типі 60 элементтен (М2[1], М2[2],
..., М2[60]), М3 бірден сипатталған K1, K2, K3, K4 мәндерінің бірін қабылдай
алатын 4 элементтен (М3[‘a’], M3[‘b’], M3[‘c’], M3[‘d’]), VECTOR real типі
10 элементтен (VECTOR(1), VECTOR(2), ..., VECTOR(10)) тұратын массивтер. М4
массивінің индексінің типі АІ аталу типімен берілген, яғни элементтері
М4[І], М4[ІІ], М4[ІІІ], М4[ІV], ... түрінде көрсетіледі де, 28, 29, 30, 31
сандарының бірін қабылдайды. LOG массивінің индексінің типі логикалық
(boolean), яғни екі бүтін саннан тұратын массив. (LOG(True):=9;
LOG(False):=4).
Массивтің индексі мен элементтерінің мәндерін ажырата білу керек:
индекстің көмегімен элементтің мәнін табамыз.
М4 массивін схема түрінде көрсетейік:
31 28 31 30 31 30 31 30 31 30 31 30 І ІІ ІІІ IV V VI
VII VIII IX X XI XII
Мұнда ұяшықтарда масситвің элементтерінің мәндері жазылып, төменде
индекстері көрсетілген, яғни M4(I)=31, M4(II)=28, ..., M4(XII)=30.
Егер массивтің базалық типі массивтік болса, онда қарастырылып
отырған массивтің өлшемі жоғарылайды.
Мысал.
Type vektor=array[1..5] of integer;
matr=array[1..5] of vector;
Var A: matr;
Мұндағы А- екі өлшемді массив, элементтері А[1] [2] немесе А[1,2]
түрлерінің бірімен көрсетіледі.
А массивін былайша сипаттауға болар еді:
Var A: array[1..5, 1..5] of integer
Сөйтіп кез келген өлшемді массивтерді сипаттауға болады. Паскальда
массивтің өлшеміне шек қойылмаған, ол тек пайдаланылатын компьютер жадының
сыйымдылығымен шектеледі.
Іс жүзінде, бір ... жалғасы
Кіріспе
І. Паскаль программалау тілі туралы жалпы мағлұмат
1.1 Turbo Pascal жүйесiнiң программалау ортасы
1.2 Паскаль тіліндегі мәліметтер
1.2.1 Турбо Паскаль тіліндегі константалар (тұрақты сандар)
1.2.2 Турбо Паскаль тіліндегі айнымалылар
1.2.3 Турбо Паскаль тіліндегі мәліметтер типі
1.3 Паскаль тіліндегі амалдар мен өрнектер
1.4 Массивтер
ІІ. Паскаль тілінің көмегімен сұрыптау және іздеу алгоритмдерін құрастыру
2.1 Іздеу алгоритмі
2.1.1 Сызықтық іздеу
2.1.2 Шектеу қою арқылы іздеу
2.1.3 Екілік немесе қақ бөліп іздеу
2.2 Сұрыптау алгоритмі
2.2.1 Таңдау бойынша сұрыптау
2.2.2 Айырбастау бойынша сұрыптау (“көбікше” әдісі)
2.2.3 Мойындық сұрыптау (шейкерлі)
2.2.4 Енгізу арқылы сұрыптау
2.2.5 Хоар сұрыптамасы
2.2.6 Индексті векторларды пайдалану арқылы сұрыптау
2.3 Дербес орындайтын жаттығулары
Қорытынды
Пайдаланылған әдебиеттер тізімі
КІРІСПЕ
Паскаль тілін 1968-71 жылдары Швейцарияда профессор Никлаус Витр оқып
үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Паскаль тілі
өзінің қарапайымдылығының және тиімділігінің арқасында дүние жүзіне өте тез
тарады. Қазіргі кезде барлық дербес компьютерлер осы тілде жұмыс атқара
алдады. Паскаль тілінде жазылған программаның дұрыстығы компьютерде жеңіл
тексеріледі және жіберілген қате тез түзетіледі.
Бұл тілде жазылған программаны компьютерде орындау кезінде ол алдымен
трансляция сатысынан өтіп (машина тіліне аударылып), объектілік программа
түріне ауысады да, сонан кейін барып орындалады. Осы сәтте компьютерде
программаның екі нұсқасы болады, оның біріншісі – алгоритмдік тілдегі
алғашқы жазылған нұсқасы, ал екінші – объектілік кодтағы машина кодына
жазылған программа. Есептің нәтижесін тек машиналық кодта ғана жазылған
программа арқылы аламыз, ал программаны түзету қажет болғанда оның алғашқы
нұсқасы өңделіп, оны қайта түрлендіру сатысы жүзеге асырылады.
Қазіргі кезде Паскаль тілі кез келген күрделі есептерді шығара алатын,
кең таралған стандартты оқып үйрену тіліне айналды. Сол себепті енді осы
тілдің ерекшеліктерімен бірсыпыра мүмкіндіктерін қарастырып өтейік.
Техниканың даму жетістіктеріне сай ЭЕМ – біздің өміріміздің әр алуан
салаларында қызмет етуде. Айталық компьютердің көмегімен көптеген
салалардың қызметі жеңілдеді десек те болады. Компьютерде
автоматтандырылған программа жасауға арналған жаңа технологияларға сай
көптеген программалау тілдері пайда болды, солардың негізінде компьютердің
қолданылу ауқымы кеңейді, себебі программалау тілдері арқылы құрылған
программалар қызметкерге бұрынғыдай көптеген қағаздарды ақтарып, іздеген
дерегін таба алмай шаршауынан құтылуына көмектесті. Мысалы, кітапхананы
алайық, әрине кімнің болса да, картотеканы пайдалана алғаны дұрыс. Дегенмен
де өзімізге керекті кітапты табу үшін оны жазған авторды білуің керек,
кітаптың атын, шыққан жылын білуің керек, ал бұл кей кездері ыңғайсыздық
тудырады, әсіресе ең алғаш келген адамдарға немесе кітап туралы ақпараты аз
адамға қиындық әкелуі әбден мүмкін. Ал қазіргі озық технологиялармен
жабдықталған кітапханаға барсаңыз ЭЕМ-ның көмегімен оп-оңай өзіңізге
қажетті кітапты, оның тек жылын немесе құсас атын білу арқылы ғана
табуыңызға болады.
Программист мұндай программаларды жасаған кезде барлық мәліметті
компьютерге енгізіп сақтайды да, кітаптардың параметрлері бойынша, мысалы
авторлардың фамилиясын алфавит бойынша сұрыптау арқылы сұраныс жасай алады.
Кітапханаға келген адам өзіне қажетті кітапты бірнеше параметрлері бойынша
кітапханашыға жеткізеді, ол өз кезегінде программаға енгізіп, керекті
кітаптың шифрын тез арада тауып алады. Осы арада, әрине сұрыптау және іздеу
алгоритмі қолданылады.
Бұл дипломдық жұмыста Турбо Паскаль тілінде программалаудың негізгі
принциптері, программа құрылымы мен программалау тәсілдері баяндалып,
кейбір бөлімдеріне аса назар аударылған.
І. Паскаль программалау тіліне туралы жалпы мағлұмат
Компьютер табиғат құбылыстарын зерттеу, технологиялық процестерді
басқару, мультфильмдер жасау және т.б өмірде математикамен тікелей
байланысы жоқ есептерді шығару үшін пайдаланылады. Мысалы, қандай бір
есепті шығару үшін компьютерді пайдалану қажет. Ол үшін неден бастау қажет?
Алдымен берілген есепке қатысты зерттелетін объектіні немесе құбылысты
толық қарастырып, талдау қажет. Объектінің маңызды қасиеттері
математикалық ұғымдар тілінде (формулалар, теңдеулер, теңсіздіктер және
т.б.) жазуға болатындай тұжырымдалуы тиіс. Бұл берілген есептің
математикалық моделі деп аталады. Математикалық модель зерттелетін
объектпен бір мәнді анықталмайды, бірақ модель шынайы объектіге сәйкес
келуі тиіс. Алынатын нәтиже таңдалынған модельдің дәлдігіне тәуелді болады.
Дәлділікті арттыру үшін зерттелетін объектінің барлық қасиеттері
ескерілетіндей, модельді күрделендіруге тура келеді. Математикалық модель
қандай да бір жеңілдіктерге негізделеді. Шынайы объектіні оған сәйкес
моделімен ауыстырғанда есепті математикалық есеп ретінде тұжырымдап, оны
шығаруға математикалық құралдарды пайдалануға болатындай мүмкіндік пайда
болады. Есепті талдау барысында оны шығаруды жеңілдететін болжамдар
жасалып, объект жөнінде берілген ақпараттардан алғашқы мәліметтерді
ерекшелеп тауып, алынатын нәтижені анықтау қажет.
Сөйтіп, есепті шығарудың матемтаикалық моделін құра отырып:
1. математикалық модель негізделетін болжамдарды ерекшелеу;
2. алғашқы мәліметтер мен нәтижелерді анықтау;
3. нәтижелер мен алғашқы мәліметтерді байланыстыратын математикалық
қатынастарды (формулалар, теңдеулер, теңсіздіктер және т.б.) жазу
қажет.
Математикалық модель құру барысында мәліметтер арқылы ізделінді
шамаларды айқын өрнектейтін формулаларды тауып жазу барлық уақытта мүмкін
болмайды. Мұндай жағдайларда дәл жауапты алуға мүмкіндік беретін
математикалық әдістер пайдаланылады.
Сонымен, математикалық модель құру кезеңімен компьютердің көмегімен
есеп шығарудың бірінші кезеңі аяқталады. Компьютер қажетті есептеулерді
жүргізіп, жауап алу үшін нақты нұсқаулардан тұратын, қажетті әрекеттер
тізбегін ретімен көрсету қажет. Мұндай нұсқаулар тізбегі есеп шығару
алгоритмі деп аталады. Алгоритм құру – компьютерде есеп шығарудың екінші
кезеңі.
Компьютер алгоритмді адамның қатысуынсыз автоматты түрде орындайды. Ол
үшін алгоритм машинаға түсінікті тілде, яғни арнайы программалау тілінде
жазылуы тиіс. Программалау тілінде жазылған алгоритм программа деп аталады.
жазылуы тиіс.
Компьютермен есептеуді жүргізгеннен кейін алынған нәтижені талдау
қажет. Бұл жағдайда матемтаикалық модельді нақтылау қажеттілігі пайда болуы
мүмкін. Өйткені модель құру барысында объектінің кейбір маңызды қасиеттері
ескерілмеуі мүмкін. Модель нақтыланғаннан кейін алгоритм қайтадан құрылады,
компьютермен есептеулер жүргізіліп, нәтижелері талданады. Тағы да модельді
нақтылау қажеттілігі пайда болуы мүмкін... Бұл процесс талдау нәтижелері
зерттелетін объектіге толық сәйкес келгенше жалғасуы мүмкін.
Сонымен, компьютерде есеп шығарудың үшінші кезеңі – программа жазып,
нәтиже алу және алынған нәтижелерді талдау болып табылады. Сонымен
компьютерде есеп шығару процесін төмендегідей схема түрінде көрсетуге
болады:
Математикалық модель→Алгоритм→ Программа. Компьютер жұмысының
нәтижелерін талдау.
Қорыта келгенде, қойылған есепті шығару алгоритмін құруда: біріншіден,
есептің қойылысын зерттеу; екіншіден, алгоритм жалпы болып табылатын
алғашқы мәліметтердің типі мен берілу тәсілдерін анықтау; үшіншіден,
нәтижелердің берілу типі мен оны шығару түрін анықтау, сәйкес белгілеулер
енгізу; төртіншіден, есепті шығару әдісін жасау немесе белгілі әдістерді
пайдалану. Алгоритмнің барлық қасиеттері сақталынатын, есепті шығару әдісін
жүзеге асыратын алгоритмді баяндау; бесіншіден, құрылған алгоритмнің
дұрыстығын – нәтижелілігін тексеру, қате табылған жағдайда оның қатесін
түзету; алтыншы, алгоритмді тестілеу қажет.
1.1 Turbo Pascal жүйесiнiң программалау ортасы
Turbo Pascal-дың соңғы нұсқаларында экрандық редактор, түрлендiрушi
(компилятор), жөндеушi (отладчик) және жанама ақпараттық көмектен тұратын
бiрiккен программалау ортасы бар. Бұл бiр жүйеге бiрiктiрiлген
программалар жинағы программалау ортасынан шықпай-ақ программаны жазып,
өңдеп, түрлендiрiп, орындауға мүмкiндiк бередi.
Turbo Pascal жүйесiнiң ерекшелiктерi:
• бiрнеше терезелердi пайдалануға, сондай-ақ олардың өлшемдерiн өзгертуге,
экранда терезелердi жылжытуға болады;
• меню жүйесi бар;
• сұхбат терезелерi бар;
• тышқанмен жұмыс iстеу мүмкiндiгi бар;
• 1Мбайт-қа дейiнгi файлдармен жұмыс iстеуге мүмкiндiк беретiн көп файлдық
экрандық редакторы бар, жеке терезелер арасында өзара ақпарат алмасу
әрекетiн орындауға және ақпараттық көмек жүйесiнен мәлiметтер алуға
болады;
• жөндеушiнiң (отладчик) мүмкiндiктерi өте көп;
• экранды толық тазартып, қайта қалпына келтiруге болады.
Программалау ортасында негiзгi жұмыс пернелер тақтасы немесе тышқан
көмегiмен, меню жүйесi және сұқбат терезелер арқылы жүзеге асады.
Программалау ортасында жұмыс iстеу үшiн Turbo.exe файлын орындауға
жiберу керек.
Турбо Паскаль программалау жүйесiнде жұмыс iстеудi меңгеру үшiн,
терезе және меню жұмыстарын бiлу керек.
Терезе негiзiнен меню қатарынан, жұмыс алабынан және функöионалдық
пернелердiң орындайтын әрекеттерi жазылған қатардан тұрады.
Программа iске қосылып, терезе ашылғаннан кейiн, курсор жұмыс алабында
тұрады.
Меню қатарына F10 пернесi арқылы шығып, ESC арқылы жұмыс алабына
ораламыз.
Меню қатарының командаларын және төменгi сатылы командаларының
қажеттiсiн ( ( ( ( бағыттауыштар арқылы таңдай аламыз. Команданы орындау
үшiн Enter пернесiн басамыз.
File менюiнiң командалары файлдармен негiзгi әрекеттердi орындауға
мүмкiндiк бередi.
New командасы үнсiз келiсiм бойынша NONAMEXX.PAS (ХХ-тiң орнына 0-99-
ға дейiнгi сандар қойылады) атымен жаңа терезе ашады. Файлдың бұл атын өз
қалауымыз бойынша өзгерте аламыз.
Open F3 сақталған файлдарды оқу мүмкiндiгiн беретiн сұхбат терезенi
ашады.
Save (сақтау)- F2 екпiндi терезедегi файлды дискiге сақтайды. Егер
файлдың аты NONAMEXX.PAS болса, онда ...деп сақтау сұхбат терезесi ашылады.
Save as... (... деп сақтау) терезедегi екпiндi файлды басқа атпен,
басқа құрылғыға, басқа каталогқа сақтау мүмкiндiгiн бередi. Бұл команда
орындалған соң, Файлды ... деп сақтау (Save File as...) сұхбат терезесi
ашылады. Бұл терезеде файлдың жаңа атын терiп жазып, Ок батырмасын
шерткен соң, файлдың аты өзгерiп сақталады. Егер бұрыннан бар файлдың аты
терiлсе, онда, сол файлдың үстiнен жазылып қалады.
Change dir (Каталогты өзгерту) командасы Change directory сұхбат
терезесiнiң көмегiмен құрылғыны таңдап, каталогты ағымдағы етуге мүмкiндiк
бередi. Ағымдағы каталог деп Турбо Паскаль ортасы Файлдарды сақтау және
оларды iздеу үшiн қолданатын каталогты айтады.
Print командасы екпiндi терезенiң мазмұнын баспаға шығарады. Турбо
Паскаль кестелеулердi кеңейтiп (кестелеу симâолдарын сәйкес бос орынға
алмастырады), Dos-тың баспа құрылғысына жiбередi. Егер бұл команданың түсi
солғын түстi болып тұрса, онда екпiндi терезенi баспаға жiбере алмаймыз.
Мәтiннiң тек белгiленген бөлiгiн ғана баспаға шығару үшiн, Ctrl+K+P
пернелерiн басу керек.
Printer setup командасы принтердi орнатуға мүмкiндiк беретiн сұхбат
терезенi ашады.
DOS shell (DOS-қа уақытша шығу) DOS-тың командаларын немесе
программаларын енгiзу үшiн уақытша Турбо Паскальдан шығуға мүмкiндiк
бередi. Турбо Паскальға қайтадан оралу үшiн пернеден EXIT сөзiн теру немесе
Enter басу керек.
Exit (шығу)- Alt+X Турбо Паскаль ортасынан шығу, сақталмаған
ақпараттар болса, ол жөнiнде хабарлама бередi.
Edit меню командалары редактор терезесiнде программа мәтiнiн
көшiру, қиып алу, енгiзу әрекеттерiн орындау мүмкiндiгiн бередi.
Undo (болдырмау)- Alt+Bksp программа мәтiнiн өңдеу кезiндегi қатармен
орындалған соңғы команданың орындалуын алып тастайды.
Redo Undo командасының қатармен орындаған соңғы командасын алып
тастайды.
Cut Shift+del Белгiленген бөлiктi буферге қиып алады (бұрынғы
орнында қалмайды).
Copy Ctrl+Ins Белгiленген бөлiктiң көшiрмесiн буферге алады (бұрынға
орнында сақталады).
Paste Shift+Ins Курсор орналасқан жерге буфердегi ақпаратты енгiзедi.
Clear Ctrl+Del Белгiленген бөлiктi тазалау, өшiру.
Show Clipboard (буфердi ашу) редактор терезесiнде көшiрмесi алынған
немесе қиып алынған мәтiндi сақтайтын терезенi ашады. Search - меню
командалары программа мәтiнiн iздеу, проöедураларды хабарлау және
файлдардағы қателердiң орналасқан орнын анықтау мүмкiндiгiн бередi.
Find (табу) командасы табуға қажеттi және iздеу опöияларын енгiзу
мүмкiндiгiн беретiн сұхбат терезенi ашады.
Replace (алмастыру), Alt+S+R- iздейтiн мәтiн мен оны алмастыратын
мәтiндi енгiзу мүмкiндiгiн беретiн сұхбат терезенi ашады.
Search Again (қайтадан iздеу) Ctrl+L командасы – Find (iздеу) немесе
Replace (алмастыру) командаларының соңғы әрекетiн қайталайды.
Go to line number (нөмiр қатарына бару) – курсорды нiмiрi көрсетiлген
қатарға орналастырады.
Show last compiler error – экранның жоғарғы жақ бөлiгiнде
компилятордың соңғы қатесiн көрсетiп, курсорды сол қатеге орналастырады.
Егер соңғы компиляöия сәттi болса, онда хабарлама шықпайды.
Find error (қатенi iздеу) Alt+F8– программаны орындау кезiндегi
қатенiң орналасқан орнын табады. Орындау кезiнде кеткен қате жiберiлген
орында seg:ofs (сегмент:смеùение) форматында берiледi. Турбо Паскальға
қайта оралған мезгiлде қатенiң орны аâтоматты түрде анықталады.
Find procedure (Проöедураны iздеу) iздейтiн проöедураның атын енгiзу
мүмкiндiгiн беретiн сұхбат терезенi ашады. Бұл команда программманы жөндеу
(отладка) кезiнде ғана жұмыс iстейдi. Проöедураның атын енгiземiз немесе
тiзiмнен қажеттiсiн таңдап аламыз. Find командасына керi әрекеттi жүзеге
асырады, яғни проöедураның орындалуын емес сипатталуын iздейдi.
Run (орындау) меню командалары программаны орындауға жiберу, жөндеудi
(отладка) бастау, аяқтау мүмкiндiгiн бередi.
Run (орындау) Ctrl+F9 командасы RunParameters командасының көмегiмен
орнатылған параметрлердi қолдана отырып, редактор терезесiндегi екпiндi
программаны орындауға жiбередi..
Program reset Ctrl+F2 (сброс программы) – жөндеушiнiң орындап жатқан
әрекетiн тоқтатып, сол программаға бөлiнген орынды босатып, программадағы
барлық файлдарды жабады.
Go to cursor (курсорға өту) F4 – екпiндi терезедегi программаны
курсор тұрған орындағы қатарға дейiн орындайды. Егер курсор ешқандай
әрекеттердiң орындалуына әсер етпейтiн қатарда тұрса, ол жөнiнде хабарлама
бередi.
Trace into (қосалқы программаға кiрiп, қадамдық орындау) ±7 –
программадағы операторларды рет-ретiмен қадам бойынша орындайды.
Step over (қосалқы программаға кiрмей қадам бойынша орындау).
Программа мәтiнiнiң бiр қатарына сәйкес келетiн кезектi операторды
орындайды. Бұл команда орындалуы кезiнде проöедура немесе функöия тұтас бiр
оператор болып қарастырылады.
Parameters (Параметрлер)-программа параметрлерiн енгiзу мүмкiндiгiн
бередi. Параметрлер программаны iске қосар алдында берiлуi тиiс.
Compile (Компилляöия) меню командалары программаның қатесiн тексеру
мүмкiндiгiн бередi. Compile Alt+F9 – екпiндi терезедегi программаның
қатесiн тексередi. Синтаксистiк қате жөнiнде хабарлама бередi де, курсор
қате жiберiлген орынға орналасады. Қате жоқ болса, компилляöияның сәттi
болғаны жөнiнде хабарлама бередi.
Make (Программаны жинақтау). Егер негiзгi программада немесе негiзгi
модульде қолданылатын жеке модульдердiң мәтiнiнде обúектiлiк файлды
алғаннан кейiн өзгерiс болса, сәйкес модульдер қайта тексерiледi, одан
кейiн негiзгi программа немесе негiзгi модульден тұратын файл тексерiледi.
Build (Программа құру) – Make (Программаны жинақтау) командасы сияқты
қызмет атқарады. Бiрақ бұл команда орындалғанда, негiзгi программа немесе
негiзгi модульде қолданылытын барлық модульдер кез-келген жағдайда қайта
тексерiледi.
Destination memory (Файлды орналастыру) программаның орындалатын
файлының (.ехе) орналасатын орнын (жедел жадта (Memory) немесе дискiде
(Disk)) анықтайды.
Primary file...(Негiзгi файл) командасы Build (Программа құру) және
Make (Программаны жинақтау) командалары үшiн негiзгi файлды тағайындайды.
Негiзгi файл екпiндi терезеде болмаса да, тiптi жабық тұрғанның өзiнде
Build және Make командалары тағайындалған негiзгi файл үшiн орындалады.
Clear primary file (Негiзгi файлдан бас тарту) командасы орындалған
кезде Primary file... командасымен тағайындалған негiзгi файлдың аты алынып
қалады. Бұл кезде кез келген компилляöия командасы екпiндi терезедегi файл
үшiн орындалады.
Information (файл жөнiнде информаöия алу) ағымдағы файл және жедел
жады жөнiнде информаöия шығарады.
Debug (жөндеу менюi) программаны жөндеу (отладка) үшiн қажеттi
параметрлердi (тоқтау нүктесi, есептелетiн параметрлер) енгiзу мүмкiндiгiн
бередi.
Breakpoints (Тоқтау нүктесi)–Тоқтау нүктесiмен жұмыс iстеу мүмкiндiгiн
бередi.
Call stack (қолданылатын қосалқы программа терезесi) – Қолданылатын
қосалқы программалардың терезесi ашылады.
Register (регистр) Регистрлер терезесi ашылады.
Watch (Жөндеу терезесi) жөндеу терезесi ашылады.
Output (нәтиже) шығатын нәтижелер терезесi ашылады.
User screen (пайдаланушы терезесi) пайдаланушы терезесi ашылады.
Терезеден қайта шығу үшiн кез келген перненi басу қажет.
Evaluatemodifu... (Есептеу қайталау) мәндерi есептелетiн өрнектi немесе
айнымалыны, сондай-ақ айнымалы үшiн жаңа мәндi енгiзу мүмкiндiгiн бередi.
Add Watch... (бақылау параметрiн қосу) Бақыланатын параметрлер
терезесiне жаңа параметр (айнымалы немесе өрнек) қосады.
Add breakpoint...(тоқтау нүктесiн қосу) тоқтау нүктесi мен тоқтау
шарттарын бередi.
Tools (Саймандар мен аспаптар) менюi бiрiктiрiлген программмалау
ортасынан шықпай-ақ программаны iске қосуға мүмкiндiк бередi.
Программаны программалау ортасынан жiберiлетiн тiзiмдерi қатарына қосу
үшiн, Options Tools командасын орындау керек. Осы кезде программаның аты
Tools менюi қатарына қосылады. Программаны iске қосу үшiн менюдiң сәйкес
элементтерiн екпiндi ететiн стандартты саймандарын қолдану керек.
Messages (Хабарлама)– Dos фильтрi арқылы программадан берiлетiн
информаöияны шығаратын хабарлама терезесiн ашады. Goto next (келесi
қатарға) хабарлама терезесiнде келесi қатарға көшудi жүзеге асырады. Goto
previons (алдыңғы қатарға) хабарлама терезесiнде алдыңғы қатарға көшудi
жүзеге асырады.
Options менюiнiң командалары Турбо Паскаль ортасының үнсiз келiсiм
бойынша тағайындалатын параметрлерiн көру және оларды өзгерту мүмкiндiгiн
бередi.
Compiler (Компиллятор) кодты компиляöиялауға әсер ететiн опöияларды
таңдау мүмкiндiгiн беретiн сұхбат терезенi ашады.
Memory sizes (Жад өлшемi) командасы үнсiз келiсiм бойынша программаға
қажеттi жад мөлшерiн анықтайды.
Linker (байланыс редакторы) командасы өңдеу жұмыстарына әсер ететiн
бiрқатар параметрлердi тағайындау мүмкiндiгiн бередi. Бұл команданы орындау
кезiнде бiрнеше батырмалар орналасқан сұхбат терезе ашылады. Барлық
батырмалар екi тiзiмге топтастырылған.
Map File (карта файлы) тiзiмi жүктеу картасының құрылуын анықтайтын
параметрлерден тұрады:
• Off (ажыратулы) – жүктеу картасы құрылмайды;
• Segments (сегменттер параметрi)- жүктеу картасында программаның барлық
сегменттерiнiң параметрлерi орналасады;
• Public (глобальды параметрлер)- жүктеу картасында сегмент
параметрлерiмен қоса адрестерi көрсетiлген глобальды параметрлер тiзiмi
және программаға кiру адресi орналасады;
• Detailed (детализаöия)- жүктеу картасында Public параметрлерiмен қоса
программаның жеке қатарларына сәйкес келетiн обúектiлiк кодтардың
адрестерi орналасады.
Link Buffer (байланы редакторының буферi) тiзiмi буфердiң орналасатын
орынн анықтайды:
• Memory (жады)- буфер жедел жадыға орналасады, түрлендiру (компилляция)
жылдамдығы артады, бiрақ үлкен программалар үшiн жедел жады
жеткiлiксiз болып қалуы мүмкiн;
• Disk (диск)- буфер дискiге орналасады.
Debugger (жөндеушi) командасы бiрiктiрiлген жөндеушiнiң жұмысына әсер
ететiн бiрқатар параметрлердi тағайындау мүмкiндiгiн беретiн сұхбат
терезенi ашады.
Directories (Каталогтар) командасы Турбо Паскальда түрлендiруге
арналған байланыстарды өңдеу, шығару файлдарын қайдан iздеу керектiгiн
анықтайды.
Window (Терезе) меню командалары терезенi ашу, жабу, экранда жылжыту
әрекеттерiн орындау мүмкiндiгiн бередi.
Tile барлық терезелердi бiрiнiң астына бiрiн қатарластырып
орналастырады;
Cascade – терезелердi қабаттастырып орналастырады;
Close all – терезелердiң барлығын жабу;
Refresh display (экранды жаңарту) – программа экранның мазмұнын
өзгерткен жағдайда ортаның экранын жаңартады:
Sizemove CtrlF5 (өлшемiн өзгерту, орнын ауыстыру) – терезенiң өлшемiн
өзгерту, жылжыту мүмкiндiгiн бередi. Терезенiң өлшемiн өзгерту үшiн Shift
пернесiмен бiрге бағыттауыш (оңға, солға, төмен, жоғары) пернесiнiң
тиiстiсiн басу қажет. Терезенi экранда жылжыту бағыттауыш перненiң
қажеттiсiн басу немесе тышқан арқылы орындалады.
Zoom F5 – терезенiң көлемiн үлкейту, кiшiрейту әрекетiн орындайды. Бұл
әрекеттi терезенiң тақырып қатарындағы үлкейтукiшiрейту батырмасының
көмегiмен де орындауға болады.
NEXT F6 (келесi) ретi бойынша келесi терезенi екпiндi екпiндi етедi.
Previous Shift+F6 – (алдыңғы) ретi бойынша алдыңғы терезенi екпiндi
етедi.
Close Alt+F3 (жабу) – екпiндi терезенi жабады.
List... At+0 (терезелер тiзiмi) – жұмыс iстеп тұрған терезелердiң
тiзiмiнен қажеттiсiн таңдау мүмкiндiгiн бередi. Таңдалған терезенi екпiндi
етуге немесе жабуға болады.
Help (көмек) меню командалары жүйедегi анықтамалық ақпаратты оқу
мүмкiндiгiн бередi.
Contents (экранға шығарылған ақпарат жөнiнде мәлiмет) ағымдағы уақытта
экранға шығарылған мәлiмет жөнiнде (екпiндi терезе, таңдалған меню
командасы, жiберiлген қате) мәлiметтi сұхбат терезеге шығарады.
Index (түйiндi сөздер) жүйеде бар барлық анықтамалық ақпараттардың
тiзiмiн алфаâиттiк ретiмен түйiндi сөздер бойынша шығарады.
Topic search (сөз бойынша iздеу) Курсор орналасқан сөз жөнiнде
анықтамалықты шығарады. Егер сол сөз жөнiнде анықтамалық жоқ болса, алғашқы
симâолдарының саны көп сәйкес келетiн түйiндi сөздер тiзiмiн бередi.
Prevoius topic (алдыңғы тақырып) алдыңғы сұранысқа сәйкес келетiн
анықтамалықты шығарады. Жүйе 20 сұранысты сақтай алады.
Using help (контекстi көмек жүйесi жөнiнде анықтама) контекстi көмек
жүйесiн қолдану жөнiнде мәлiмет шығарады.
Files (файлдар) контекстi көмек файлдарын енгiзу мүмкiндiгiн беретiн
сұхбат терезенi ашады.
Compiler directives (компилятор директиâалары) компилятордың
директиâаларының тiзiмiн шығарады.
Reserved words (қордағы слоâа) қордағы сөздердiң тiзiмiн шығарады.
Standard units (стандартты модульдер) стандартты модульдер тiзiмiн
шығарады.
Turbo Pascal language (Turbo Pascal тiлi) Turbo Pascal негiзгi
элементтерiнiң тiзiмiн шығарады.
Error message (қателер жөнiнде хабарлама) қателер жөнiнде берiлген
хабарламалар мәлiметiн шығарады.
About (жүйе жөнiнде мәлiмет) программалау жүйесi пакетiнiң нұсқасы мен
аâторлық құқықтар жөнiнде ақпарат беретiн терезенi шығарады.
Тілдің алфавиті
Паскаль тілінің алфавиті келесі түрдегі таңбалардан тұрады:
- латын алфавиті А,B,С,...,х,у,z;
- цифрлар 0,1,2,...,9;
- арнайы таңбалар +,-,,=, , [ ], ., ( ), ;, :, {}, $, #, _, @.
Программа аты, типі, константа, айнымалы, модульдер және тілдің басқа
да объектісі ретінде атаулар (идентификаторлар) қолданылады, яғни оларға
әріптер, цифрлар, таңбалар және асты сызылған әріптер немесе басқа да
таңбалар жатады. Атауларда бос орын таңбасы болмауы керек. Жазу кезінде
бас әріптер мен жазба әріптері пайдаланылуы мүмкін. Ұзындығына шек
қойылмайды. Егер программа атындағы алғашқы кездесетін 63 таңба әртүрлі
болса, онда аттары әр түрлі деп есептелінеді. Үлкен және кіші таңбалар бір
мәндес болады.
1.2 Паскаль тіліндегі мәліметтер
Кез-келген программада есепті шешу үшін, керекті айнымалылар мен
мәліметтерге өңдеу жүргізіледі, оларға әр түрлі типтер жатуы мүмкін, яғни
бүтін және нақты сандар, таңбалар, жолдар, массивтер. Паскаль тілінде
барлық мәліметтер программаның басында сипатталуы керек.
Паскаль тіліндегі мәліметтерді константа (тұрақты) және айнымалы деп
бөлуге болады.
1.2.1 Турбо Паскаль тіліндегі константалар (тұрақты сандар)
Программаның орындалуы барысында констанаталар мәні өзгеріссіз қалады.
Олар const қызметші сөзімен сипатталады, одан кейін константа атының тізімі
жүреді, олардың әр қайсысына = таңбасы арқылы мәні меншіктеледі.
Константалар бір-бірінен нүктелі үтір арқылы ажыратылады. Мысалы:
Const
h=3;
b=-7.5;
c=’abcde’;
1.2.2 Турбо Паскаль тіліндегі айнымалылар
Программаның орындалуы барысында айнымалылар мәні бірнеше рет өзгеруі
мүмкін. Айнымалыны сипаттау var қызметші сөзінен басталып, одан әрі
айнымалы аты және қос нүктеден кейін оның типі белгіленеді, мысалы:
Var
a,b: real;
c,d: integer;
1.2.3 Турбо Паскаль тіліндегі мәліметтер типі
Паскальдағы мәліметтер типін скалярлық және құрылымдық деп бөлеміз.
Сонымен қатар Паскаль тілінде өзіңіз құрастырған мәліметтер типін де
енгізуге болды.
Скалярлық типтегі мәліметтерді келесі топтардан көруімізге болады, яғни
бүтін санды типіндегі мәліметтер 1-ден 4-ке дейінгі байттан тұрады. Олардың
барлығы 1.1-кестеде көрсетілген.
Мысалы. Бүтін санды айнымалылар типін сипаттауға керек болсын:
Var
a,b: byte;
f: word;
1.1-кесте Мәліметтердің бүтін санды типтері
Типі Аралығы
Байттық өлшемі
Byte 0 .. 255
1
Word 0 ..65535
2
Integer -32768 ..32767
2
Shortint -128 ..127
1
Longint -2147483648..2147483647
4
Нақты сан типіндегі мәлімет 4-тен 10 байтқа дейін тұрады. Нақты
мәліметтер жылжымалы немесе нақтыланған нүктеден тұруы мүмкін.
Нақты сандарға мысал:
- нақтыланған нүкте: 4.12, 6.05, -17.5489;
- жылжымалы нүкте: -3.2Е-6(-3.2·10-6), -6.42Е+2(-6.42·102).
Барлық нақты сандар типі 1.2- кестеде көрсетілген
1.2- кесте. Мәліметтердің нақты типтері
Типі Аралығы Мантисса
Байттық өлшемі
Real 2.9E-39 ... 1.7E38 11-12
6
Single 1.5E-45 ... 3.4E38 7-8
4
Double 5.0E-324 ... 1.7E308 15-16
8
Extended 3.4E-49321 ... 1E4932 19-20
10
Мысалы. Нақты типтегі айнымалыларды сипаттау керек болсын:
Var
a,b,c: real;
d,f: double;
k: single;
Мәліметтің символдық типі дисплей экранында көрінетін кез-келген символды
білдіреді. Ол 1 байт орын алады және char қызметші сөзі арқылы сипатталады,
мысалы:
Var
a,b:char;
Программа мәтінінде символдық типтегі айнымалылар мен константалар мәні
апостроф ішіне алынып жазылады: ’a’,’b’,’+’.
Мәліметтің логикалық (бульдік) типі. Бұл типтегі мәлімет негізінен екі
мән қабылдайды: true (ақиқат) немесе false(жалған).
Мысалы:
var
a, b: boolean;
Турбо Паскальда стандартты скалярлық типтен басқа тізбектелген немесе
аралық (интервалдық) скалярлық типтерді де енгізуімізге болады.
Тізбектелген тип берліген типтегі айнымалы қабылдай алатын мәндерді
міндетті түрде тізбектеп береді, мысалы:
var
a,c: (red, blue, green);
b: (dog, cat);
Басында мәліметтердің тізбектелген типін енгізіп, содан соң осы типтің
айнымалыларын сипаттауымызға болады. Жаңа типті құру үшін type қызметші
сөзі қолданылады:
type тип_атауы=тип_анықтамасы;
Мысалы:
type
color=(red,blue,green);
var
a,b: color;
Аралық тип арқылы берілген тип айнымалыларының өзгеру шегін анықтайтын
екі тұрақты санды енгізуімізге болады. Бірінші тұрақты сан екіншісінен кіші
болуы қажет. Олар бүтін немесе символдық болып табылады:
var
a, b, c: -7 .. 4;
x: ‘a’ .. ‘c’;
Алдында айтылған типтер сияқты мәліметтер типін type қызметші сөзі арқылы
алдын ала енгізіп, содан соң мәліметтер типінің айнымалыларын
сипаттауымызға болады.
Мысалы:
type
x=0..9;
var
a,b: x;
Әрбір аралық типтің айнымалысы 1 байт орын алады.
Құрылымдық тип мәліметтеріне келесілер жатады: массивтер, жолдар,
жазбалар, файлдар, көпмүшеліктер.
Массивтер - бір тип мәліметтерінің жиынтығы. Типті сипаттау кезінде
массив элементтерінің саны нақтыланады және программаны орындау барысында
өзгермейді. Массив элементтерімен жұмыс жасау үшін алдымен массив аты,
содан соң квадрат жақша ішінде оның нөмері көрсетіледі. Массивті сипаттау
кезінде array қызметші сөзі қолданылады. Бұл мәліметтер типінің айнымалысы
келесі түрдегідей жазылады:
айнымалы_аты:array[i..i1,j..j1,...] of элементтер_типі;
мұнда i, i1- бірінші массив индексінің шекарасы; j, j1 – екінші массив
индексінің шекарасы.
Мысалы:
var
a: array [1 .. 10] of integer;
Алдымен масссив мәліметінің типін анықтап, содан соң скалярлық тип
жағдайындағы сияқты айнымалылар типін сипаттауымызға болады.
Жолдар – символар тізбегі. Оларды өрнектерде қолданғанда жолдар
апострофқа алынып жазылады. Оның ұзындығы 255 символмен шектеледі. Жолдық
айнымалылар типін сипаттау үшін string қызметші сөзі қолданылады. Оның
жазылу түрі келесідей:
айнымалы_аты: string[n],
мұнда n - жол айнымалысының ұзындығы; егер n берілмесе, онда жол ұзындығы
255 символға сәйкес келеді.
1.3 Паскаль тіліндегі амалдар мен өрнектер
Өрнек мәліметтермен жұмыс жасау барысын реттеп отырады және ол
операндалардан (константа, айнымалы, функцияны шақыру), жай жақшалардан
және амалдар таңбасынан тұрады: a+b*sin(cos(x)). Амалдар унарлы (мысалы,
с), бинарлы (мысалы, а+в) болып және төменде көрсетілген басқа да топтарға
бөлінеді.
Турбо Паскаль тілінде қолданылатын арифиметикалық амалдар – 1.3-
кестесінде көрсетілген.
1.3-кесте. Арифметикалық амалдар
Амалдар Қызметі Операндалар типі Тип шешімдері
+ Қосу Бүтін, нақты Бүтін, нақты
- Алу Бүтін, нақты Бүтін, нақты
* Көбейту Бүтін, нақты Бүтін, нақты
Бөлу Бүтін, нақты Бүтін, нақты
Div Бүтін бөлігі Бүтін Бүтін
Mod Қалдық бөлігі Бүтін Бүтін
And және Бүтін Бүтін
Shl Солға жылжыту Бүтін Бүтін
Shr Оңға жылжыту Бүтін Бүтін
Or Немесе Бүтін Бүтін
Xor Немесені жоққа шығару Бүтін Бүтін
- Жоққа шығару Бүтін Бүтін
Not Логикалық жоққа шығару Бүтін Бүтін
Қатынас амалдары екі операнданы салыстырғанда, олар ақиқат немесе жалған
екендігін анықтайды. Олардың нәтижесі – логикалық. Олар келесі амалдар
қатынасымен анықталады: , , = ,= , .
Мысалы, қатынас амалдары:
3.142, 64
Қатынас амалдары символдық және жолдық айнымалылармен де анықталады:
‘a’ ‘b’, ‘abc’ ‘abd’.
Логикалық амалдар логикалық мәліметтерге орындалады. Келесі логикалық
амалдар анықталған:
1.4-кесте. Логикалық амалдар.
A B Not A and B A or B
t t f t t
t f f f t
f t t f t
f f t f f
Кестеде t - true (ақиқат) f – false (жалған).
Логикалық өрнектерде логикалық және арифиметикалық қатынас амалдары да
қолданылады.
Логикалық өрнекке мысал:
(a+x)(c+d*cos(y)) or (ab)
Күрделі өрнектердегі амалдардың орындалатын тәртібі қарапайым амалдар
тәртібіне сәйкес келеді. Паскальда келесі амалдар тізімі қоланылады:
1.Унарлы амалдар
2. *, , div, mod, and, shl, shr.
3. +, -, or, xor.
4.=, , , , =, =.
Өрнекте жақшаларды қолдану олардың есептелу тәртібін өзгертуге мүмкіндік
береді.
1.4 Паскаль тіліндегі стандартты функциялар
Турбо Паскалда арифметикалық амалдарға қолданылатын стандартты
функциялар анықталған (1.5-кестеде).
1.5-кесте. Кейбір стандартты функциялар
Белгіленуі Аргумент Нәтиже Қызметі
типі типі
Abs(x) Бүтін, Бүтін, Сан модулі
нақты нақты
Sin(x) Нақты Нақты Синус функциясы
Cos(x) Нақты Нақты Косинус функциясы
Arctan(x) Нақты Нақты Арктангенс
Pi Нақты π
Exp(x) Нақты Нақты ех
Ln(x) Нақты Нақты Натурал логарифм функциялары
Sqr(x) Нақты Нақты х2
Sqrt(x) Нақты Нақты
Int(x) Нақты Нақты Санның бүтін бөлігі
Frac(x) Нақты Нақты Санның бөлшек бөлігі
Round(x) Нақты Бүтін х санын дөңгелектеу
Trunc(x) Нақты Бүтін х санының бөлшек бөлігінің
қиылысуы
Random Нақты Нақты 0 ден 1 ге дейінгі кездейсоқ
сандар
Random(n) Нақты Бүтін 0 ден n ге дейінгі кездейсоқ
сандар
Бұлардан басқа кездесетін өзімізге таныс функцияларды (tg, arcsin және
т.с.с.) математикалық қатынастар көмегімен жазуымызға болады, мысалы:
.
Бірақ солардың ішінде n дәрежедегі х санын табу біраз қиындықтар
туғызады. Егер n дәрже саны бүтін болса, онда х-ті n рет көбейтеміз немесе
төмендегі формуланы пайдаланамыз:
.
Бұл формула Паскаль тілінде стандартты функциялар көмегімен төмендегідей
программаланады:
• х оң саны үшін – exp(n*ln(x));
• х теріс саны үшін – -exp(n*ln(abs(x))).
Бұл формуланы n бөлшек дәрежедегі х санын табу үшін пайдалануымызға
болады, мұндағы n – кәдімгі k1 түріндегі дұрыс бөлшек, ал бөліміндегі 1
тақ сан.
Егер бөлімі 1 жұп болатын болса, онда жұп дәрежедегі түбір табу мағынасын
білдіреді, бұдан шығатыны бұл амалды орындауға шек қойылады.
Жоғарыда айтылғандары ескере отырып, дәрежені есептейтін өрнектерді
программалау үшін, алдымен х және n қабылдайтын мәндерге талдау жасап алу
қажет, себебі кейбір жағдайларда n дәрежедегі х санын табу орындалмайды.
Сонымен қатар random функциясын пайдаланудың ерекшеліктеріне тоқтала
кетейік: оны пайдаланар алдында кездейсоқ сандар генераторын randomize
процедурасын орындап жекелеп алу қажет.
1.4 Массивтер
Паскаль тілінде типтер қарапайым және күрделі болып бөлінеді.
Қарапайым типке – стандартты, саналатын, шектейтін типтер жатады. Күрделі
типке – массивтер, жиындар, жазулар, жолдар және файлдар жатады. Күрделі
типтің элементтері қарапайым немесе күрделі типтер болуы мүмкін. Күрделі
типті енгізу программаны күшейтеді және күрделі есептерді шешуге мүмкіндік
береді.
Тұрмыста тізбектелген сандарды, кестелерді, фамилия тізімдерін көп
пайдаланамыз, олар бір өлшемді (жатық немесе тік жол), екі өлшемді
(матрица) массив болуы немесе жиын болуы мүмкін.
Паскаль тілінде жеке айнымалыларды ғана өңдеп қоймай, айнымалылардың
жиынын (тобын) да өңдеуге болады.
Паскаль тілінде жеке-дара мәліметтермен қатар қандай да бір жүйеде
жинастырылған олардың топтарын да қарастыруға болады. Осындай топтардың
бірі – массив. Массив дегеніміз – бір типті шамалардың реттелген белгілі
бір тобы. Массивке кіретін айнымалыларды массивтің элементтері дейді,
олардың саны сипаттауда анықталады да, программаның орындалу барысында
өзгермейді. Массивтің элементтерінің типі, файлдан басқа, кез келген
(бүтін, нақты, символдық, жолдық, массивтік т.б.) тип бола алады. Яғни
Паскальда жолдар массивін, символдар массивін, массивтер массивін т.с.с.
қарастыруға болады. Массив элементтерінің типін массивтің негізгі (базалық)
типі деп атайды.
Массив тұтасымен бір атпен аталады, ал элементтерінің реті индекс
арқылы көрсетіледі. Индекс массивтің индекаторынан соң тік жақшаға алынып
жазылады (a[1], x[1,1], a[i], ...). Индекстің типі массив элементтерінің
ретінің өзгеру аралығын көрсетеді де, шектелген жай типтердің (байттық,
логикалық, аралық, атау) бірімен беріледі. Массивтің типін анықтау үшін
array, of қызметші сөздері қолданылады.
Сөйтіп, Паскаль тіліндегі массив ұғымы алгоритмдік тілдегі кесте
ұғымына сәйкес келеді. Алгоритмдік тілдегі ТИП АТАУ өлшем (мысал)
Массивтің типі алдын ала тип тарауында жарияланып, айнымалылар
тарауында сол типпен немесе бірден сипатталады.
Жазылуы: Type
типтің аты=array[индекстердің типі] of элементтердің типі;
var айнымалылар: типтің аты;
немесе
var
айнымалылар: array[индекстердің типі] of элементтердің типі;
Мысал.
Type
KLASS=(K1, K2, K3, K4);
SIMVOL=array (byte) of char;
AI=(I, II, III, IV, V, VI, VII, VIII, IX, X, XI, XII);
Var
M1: SMVOL;
M2: array [1..60] of integer;
M3: array [‘a’.. ‘d’] of klass;
VECTOR: array[1..10] of real;
M4: array[AI] of 28..31;
LOG: array [boolean] of integer;
М1 бұл мысалда типтер тарауында жарияланған SIMVOL типімен
сипатталған, мұнда индекстің типі байттық (byte) болғандықтан М1массиві
char типі 256 элементтен (М1[0], М1[1], М1[2] ..., М1[255]) тұрады. М2 бірден
айнымалылар тарауында сипатталған integer типі 60 элементтен (М2[1], М2[2],
..., М2[60]), М3 бірден сипатталған K1, K2, K3, K4 мәндерінің бірін қабылдай
алатын 4 элементтен (М3[‘a’], M3[‘b’], M3[‘c’], M3[‘d’]), VECTOR real типі
10 элементтен (VECTOR(1), VECTOR(2), ..., VECTOR(10)) тұратын массивтер. М4
массивінің индексінің типі АІ аталу типімен берілген, яғни элементтері
М4[І], М4[ІІ], М4[ІІІ], М4[ІV], ... түрінде көрсетіледі де, 28, 29, 30, 31
сандарының бірін қабылдайды. LOG массивінің индексінің типі логикалық
(boolean), яғни екі бүтін саннан тұратын массив. (LOG(True):=9;
LOG(False):=4).
Массивтің индексі мен элементтерінің мәндерін ажырата білу керек:
индекстің көмегімен элементтің мәнін табамыз.
М4 массивін схема түрінде көрсетейік:
31 28 31 30 31 30 31 30 31 30 31 30 І ІІ ІІІ IV V VI
VII VIII IX X XI XII
Мұнда ұяшықтарда масситвің элементтерінің мәндері жазылып, төменде
индекстері көрсетілген, яғни M4(I)=31, M4(II)=28, ..., M4(XII)=30.
Егер массивтің базалық типі массивтік болса, онда қарастырылып
отырған массивтің өлшемі жоғарылайды.
Мысал.
Type vektor=array[1..5] of integer;
matr=array[1..5] of vector;
Var A: matr;
Мұндағы А- екі өлшемді массив, элементтері А[1] [2] немесе А[1,2]
түрлерінің бірімен көрсетіледі.
А массивін былайша сипаттауға болар еді:
Var A: array[1..5, 1..5] of integer
Сөйтіп кез келген өлшемді массивтерді сипаттауға болады. Паскальда
массивтің өлшеміне шек қойылмаған, ол тек пайдаланылатын компьютер жадының
сыйымдылығымен шектеледі.
Іс жүзінде, бір ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz