Паскаль тілінің көмегімен сұрыптау және іздеу алгоритмдерін құрастыру

Автор: Пользователь скрыл имя, 19 Февраля 2013 в 21:07, курсовая работа

Описание работы

Паскаль тілін 1968-71 жылдары Швейцарияда профессор Никлаус Витр оқып үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Паскаль тілі өзінің қарапайымдылығының және тиімділігінің арқасында дүние жүзіне өте тез тарады. Қазіргі кезде барлық дербес компьютерлер осы тілде жұмыс атқара алдады. Паскаль тілінде жазылған программаның дұрыстығы компьютерде жеңіл тексеріледі және жіберілген қате тез түзетіледі.

Содержание

Кіріспе
І. Паскаль программалау тілі туралы жалпы мағлұмат
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 Дербес орындайтын жаттығулары
Қорытынды
Пайдаланылған әдебиеттер тізімі

Работа содержит 1 файл

Мухамадиева.doc

— 391.00 Кб (Скачать)

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 командасы Run/Parameters командасының көмег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 басу қажет.

Evaluate/modifu…  (Есептеу қайталау) мәндер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 (экранды жаңарту)  – программа экранның мазмұнын  өзгерткен жағдайда ортаның экранын  жаңартады:

Size/move 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

Информация о работе Паскаль тілінің көмегімен сұрыптау және іздеу алгоритмдерін құрастыру