Алгоритмдер теориясы және берілгендер құрылымы


Жоспар:

Кіріспе

1 тарау Алгоритмдер теориясы және берілгендер құрылымы
1.1. Алгоритмдер. Алгоритмдерді талдау. Алгоритмдер құру
1.2. Программа құру тілі. Программа құрылымы. Енгізу және шығару командалары.
1.3. Программа құру тілі. Программа құрылымы. Енгізу және шығару командалары.

2 тарау Іздеу алгоритмдері
2.1. Сызықты іздеу.
2.2. Екілік іздеу.
2.3. Қатарда іздеу. Кнут . Морис . Пратт алгоритмі.
2.4.Қатарда іздеу. Боуер .Мура алгоритмі
2.5. Іздеу алгоритмдерінің таралымына есептер шығару мысалдары
2.6. Есептер

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 27 бет
Бұл жұмыстың бағасы: 500 теңге


Жоспар:
Кіріспе
1 тарау Алгоритмдер теориясы және берілгендер құрылымы
1.1. Алгоритмдер. Алгоритмдерді талдау. Алгоритмдер құру
1.2. Программа құру тілі. Программа құрылымы. Енгізу және шығару
командалары.
1.3. Программа құру тілі. Программа құрылымы. Енгізу және шығару
командалары.
2 тарау Іздеу алгоритмдері
2.1. Сызықты іздеу.
2.2. Екілік іздеу.
2.3. Қатарда іздеу. Кнут - Морис - Пратт алгоритмі.
2.4.Қатарда іздеу. Боуер -Мура алгоритмі
2.5. Іздеу алгоритмдерінің таралымына есептер шығару мысалдары
2.6. Есептер
Кіріспе
Бағдарлама тілдері есептерді шешу алгоритмдерін электрондық есептегіш
машинасына арналған бағдарлама түрінде жазуға арналған. Бастапқы
мәліметтерді алған бағдарлама ақпаратты өңдеу жөніндегі команданың соңғы
әрекет саны ішінде белгілі бір нәтиже беруі тиіс. Тілді зерттеп оқу үшін
бұл тіл бағдарламалаудың жеті негізгі түсініктерін жүзеге асыратынын түсіну
керек, ол
1) түрлі типтегі мәліметтерді беру және оперативті жадыдан оларға орын
бөлу;
2) мәліметтерді енгізу, яғни ақпаратты клавиатурадан немесе сыртқы
мәлімет таратушыдан оқу;
3) пайдаланушы үшін (аралық және шығыс) нәтижелерін беру немесе сыртқы
мәлімет таратушыға жазу;
4) мәліметтерді өңдеу жөніндегі операциялар мен командаларды бірінен соң
бірі ретімен орындау;
5) (тармақталған алгоритмдерді ұйымдастыру үшін) операциялар мен
командаларды берілген шарт бойынша орындау;
6) командаларды белгіленген есе рет берілген шарт бойынша орындау
(циклдық алгоритмдерді ұйымдастыру);
7) атаулы кіші бағдарламаға арап командалар тобын бөлу және оған
программадан және кіші программадан қатынау (бағдарламалаудың
модульдік принципін жүзеге асыру).
Бағдарламалаудың осы базалық элементтерімен дамыған алгоритмдік тілдер
мүмкіндіктері шектелмейді, бірақ оларды зерттеп үйрену жаңа тілді тез
үйреніп, ол тілде бағдарлама жазуға көмектеседі. Паскаль мен Си бағдарлама
тілдері ең әйгілі және кең таралған алгоритм тілдері. Олар 70жылдың басында
бір уақытта, бірақ түрлі мақсатта құрылған.
Паскаль тілін Цюрихтегі Швейцария техникалық институтының профессоры
Никлаус Вирт Алгол-60 тілі негізінде қазіргі кездегі құрылымдық
бағдарламалау принципіне үйрету үшін жасаған. Қарапайымдылығы мен тілінің
түсініктілігі тез үйренуге мүмкіндік береді. Мәліметтер құрылымын көрсету
құралы алгоритмдік күрделі бағдарлама құруға мүмкіндік береді, сондықтан
бұл тіл түрлі қолданбалы мәліметтерді шешуге қолайлы. Оқулық тіл ретінде
құрылған бұл тіл қатаң қатаң типтелген. Бұл: транслятор барлық “айнымалылар
бір мәліметтер типіне жатқызылып, бағдарламада өз маңызына сәйкес
пайдаланылуын бақылайды” дегенді білдіреді. Сөйтіп, бағдарламаның
сенімділігі артады. Транслятордың оңтайландырушы қасиеттері тиімді
бағдарлама құруға рұқсат етеді, сондықтан, Паскальді жүйелі бағдарламалау
тілі ретінде пайдалануға болады. Бағдарламалаудағы жаңа идеяларды тез
қабылдау қасиеті Паскальдің оқулық тілден кәсіби бағдарламалау тіліне
дамуына ықпал етті. Бұл Паскальдің бағдарлама құрудың интеграцияланған
ортасында жұмыс істейтін Турбо Паскаль атты дербес электронды есептегіш
машинаға арналған түріне қатысты болады.
Борланд фирмасы жасаған Турбо орта бағдарламаларды толық өңдеуге арналған
және файлдармен жұмыс істеу құралдары, редактор, бағдарламаны жөнге
келтіруші, компилятор, модульдік бағдарлама құру құралы, кіші программа
(библиотекасы) кітапханасы, нығыздауыштан тұрады. АҚШ-та әзірлеген Паскаль
тілі ЭЕМ бағдарламалық қамтамасыз етілуін әзірлеуге арналған. Онда машинаға
бағдарланған Ассемблер тілі (жады ұяшығына тікелей қатынау және биттерді
пайдалану) мен структуралық бағдарлама құрудың басқарушы конструкциялары
кіретін процедуралық бағытталған тіл арасындағы өзара келісім болады.
Паскаль тілінің ұғымды, қуатты, икемді болуы кәсіби бағдарламашыға
модульдік бағдарлама құру принципі мен құралдарын пайдаланып
структураланған үлкен бағдарлама құруға мүмкіндік береді. Дербес
электрондық есептегіш машинада Турбо ортада жұмыс істейтін Турбо Си тілінің
Турбо Си тілінің нұсқалары іске асырылған. Сонымен, Паскаль және Си тілдері-
структураланған, модульді компилирленген, әмбебап тілдер, олардың арасында
ортақ белгілер де бар, айырма да көп. Паскаль реттелген және құрылымдық
тіл, ал Си еркін де икемді тіл. Паскаль Сиге қарағанда пайдаланушы үшін
қолайлы және бағдарлама құру негізін оқуға ыңғайлы.
Турбо Паскаль мен Турбо Си мүмкіндіктері жөнінен Си мен Паскальға
қарағанда бірі біріне жақынырақ. Турбо Си Сиге кейбір құрылымдарды қосады,
ал Турбо Паскаль Паскальға икемділік береді. Турбо Паскальді игерген
пайдаланушы Турбо Си мүмкіндігін үйреніп, бағдарламаларды тез жаза бастай
алады.Турбо Симен жұмыс істеуші пайдаланушыға компилятор бағдарламаға Турбо
Паскаль тілінде жазылған модульді енгізуге мүмкіндік береді, сондықтан ол
Паскаль бағдарламалары қалай құралатынын білуі тиіс.
Мақсаты-Турбо Паскаль мен Турбо Си тілдерін салыстырып, мәліметтер
құрылымы мен тіл құрылымдарын көрсету ұқсастығы мен айырмасын анықтап,
бірдей мысалмен бағдарламалық мәтіндерді бейнелеу болып табылады.
Тілдер версиялары ретінде Турбо Паскаль 5,0 және Турбо Си 2,0
пайдаланамыз, бұл Американдық ұлттық стандарттар институты (ANSI) ұсынған
Паскаль тілі стандарт жобасын қолдайды.
1 тарау Алгоритмдер теориясы және берілгендер құрылымы
1.1. Алгоритмдер. Алгоритмдерді талдау. Алгоритмдер құру.
Алгоритмдер математикалық логика – алгоритмдер теориясына жалғасатын
ғылыми пәндер математика мен информатика арасындағы шектеулерді жүйелі
зерделеу объектісі болып табылады.
Жағдайдың ерекшелігі мынада, ЭЕМ-да іске асыру үшін алгоритмдер
әзірлеуге ұйғарылған практикалық міндеттерді шешу кезінде және сонымен
қатар практикада ақпараттық технологияларды пайдалану кезінде, негізінен
бұл ұғымның жоғары формальдылығына сүйенбеген жөн. Сондықтан алгоритм
ұғымының мәнін мазмұнды түсіндіру және оның негізгі қасиеттерін қарастыру
негізінде алгоритмдермен және алгоритмизациялаумен танысқан дұрыс болады.
Мұндай тәсіл кезінде алгоритмдеу берілген тілдік құралдар шеңберінде
белгілі бір практикалық тәсілдердің, ұтымды ойлаудың ерекше өзіндік
дағдыларының жиынтығы ретінде алға шығады. Ақпаратты өлшеуде мұндай жағдай
мен жоғарыда қарастырылған тәсілдің арасында ұқсастықты жүргізуге болады:
“кибернетикалық” тәсіл кезіндегі жіңішке математикадлық құрулар
компьютермен практикалық жұмыс кезінде барынша қарапайым “көлемді” тәсілді
қолдану кезінде аса қажет емес.
“Алгоритм” сөзінің өзі ІХ ғасырдың ұлы математигі әл-Хорезмидің
атының латын тіліндегі algorithmi жазылуынан шыққан, ол арифметикалық
амалдарды орындау ережесін қалыптастырған. Бастапқыда алгоритм ретінде
көпмәнді санды төрт арифметикалық амалды орындау ережесі арқылы түсінді.
Алгоритм ұғымын алгоритмнің интуитивтік мағынадағы ұғымы деп айтуға
болады. Ол анық емес, формальсыз сипатта болады және кейбір дәл
анықталмаған, бірақ интуитивті түсінікті заттарға сүйенеді. Мысалы алгоритм
қасиеттерін анықтау және талқылау кезінде біз алгоритмдерді кейбір
орындаушылардың мүмкіндігін көздедік. Оның бар екені болжалды, бірақ ол
туралы ештеңе анық белгілі болмады. Математика тілімен айтқанда ешқандай
аксиоматикалық, мүлтіксіз конструктивті орындаушы анықтамасын бере алмадық.
Өткен параграфта белгіленген алгоритмдер қасиеттерін эмперикалық деп
атаған жөн. Олар әртүрлі және қолданбалы сипаттағы алгоритмдер қасиетін
қорыту негізінде анықталған. Бұл қасиеттерді практикалық программалау үшін,
компьютерлер, ЧПУ станоктері, өнеркәіптік роботтар үшін программалардың кең
тобын құру үшін жеткілікті. Алайда фундаментальды ғылыми ұғым ретінде
алгоритм барынша мұқият зерделеуді талап етеді. Ол “алгоритм” ұғымын
нақтыламай, оны барынша қатаң бейнелемей, басқаша айтқанда формализациялау
мүмкін емес.
“Алгоритм” ұғымын формализациялаудың бірнеше тәсілдері белгілі:
- ақырлы және ақырсыз автоматтар теориясы;
- есептелетін (рекурсивті) функциялар теориясы;
- Черчтің λ есептеуі.
Осы туындаған бір біріне тәуелсіз тәсілдер нәтижесінде эквивалентті болып
шықты. Алгоритм ұғымын формализациялаудың басты мақсаты мынадай: әртүрлі
математикалық есептердің алгоритмдік шешімділігінің проблемаларын шешуге
жақындау, яғни сұраққа жауап беру, есептерді шешуге әкелетін алгоритм
құрастырылуы мүмкін бе? Біз осы проблеманың қойылуын,т есептердің
алгоритмдік шешілімділік теориясының кейбір нәтижелерін қарастырамыз, бірақ
алдымен Пост, Тьюринг машиналарының мысалында автоматтар теориясында
алгоритм ұғымын формализациялауды, сондай-ақ Марковтың қалыпты
алгоритмдерін, ал содан кейін реурсивті функцияларды теория негізінен
талқылаймыз. Черчтың λ есептеу идеясы LISP программалау тілінде іске
асырылған (3 тарау).
Сонымен қатар, блгілі тәсілдердің кез келгенімен формальды анықталған
алгоритм практикалық программалауда біз өткен параграфтарда алгоритмдер деп
атағандарды алмастыра алмайды. Негізгі себеп мынада, формальды
анықтауқарастырылатын есептер шеңберін бірден қысқартады және көптеген
практикалық маңызды есептерді қарау үшін қол жетпейтін етеді.
1.2. Программа құру тілі. Программа құрылымы. Енгізу және шығару
командалары.
Қазіргі кезде программалау тілінің түрлері көп. Солардың ішіндегі ең
танымалысы Паскаль программалау тілі. Өйткені компьютерлік сауаттылық пен
программалауды алғашқы кезеңде үйретуге ең қолайлы тіл. Паскаль тілі
алгоритмдік тіл ішіндегі кеңінен тараған тілдердің бірі болып табылады.
Қарастырылатын Паскаль программалау тілінде программа екі бөліктен тұрады:
1. берілгендерді сипаттау;
2. алгоритмдік амалдарды бейнелеу немесе операторлық бөлік.
Берілгендер бейнелеу арқылы жазылса, амалдар оператор арқылы жазылады.
Синтаксистік жағынан Паскаль программасын екі бөлікке бөлуге болады:
программа тақырыбы, блок.
Программа құрылымы төмендегіше болады:
Program ;
Блок: 1. Модульдерді қосу.
2. Белгілерді бейнелеу бөлігі.
3. Тұрақтыларды бейнелеу бөлігі.
4. Типтерді анықтау бөлігі.
5. Айнымалыларды бейнелеу бөлігі.
6. Функцияларды және процедураларды бейнелеу бөлігі
7. Операторлар бөлігі.
Program аты (пайдаланылатын файлдар аттарының тізімі);
бейнелеу бөлігі
Begin
Оператор бөлігі
End.
Программа құрылымының Паскаль тілінде жазылуы:
Program аты (input,output);
Uses – модульдерді қосу;
Label – Белгі бөлігі;
Const – Тұрақтылар бөлігі;
Type – Тип бөлігі;
Var – айнымалы бөлігі;
Procedure, Function – процедура және функция бөлігі;
Begin
1- Оператор;
2- Оператор;
......................
n- оператор;
End.
Бейнелеу бөлігіндегі программада пайдаланылатын белгілерге, тұрақтыларға,
типтерге, айнымалыларға сипаттама беріліп (берілгендер атауы, олардың
типтері, мәндері және т.б.), олар хабарланады. Бейнелеу бөлігіндегі
көрсетілген бөліктердің бәрі бірдей бар болуы шарт емес. Бейнелеудің жеке
бөліктеріне қысқаша тоқталайық:
Uses –бұл жолда программада пайдаланылатын модульдер тізімінен тұрады.
Модульдер стандартты және пайдаланушының құрған модульдері болуы мүмкін.
Турбо Паскаль жүйесінде бірнеше стандартты модульдер бар. Олардың
негізгілері: SyStem – Паскаль тілінің процедуралары мен функцияларын, Турбо
Паскаль тілінің қосымша командаларын сүйемелдейді;
DOS- Паскаль тілінің DOS командаларын пайдалануды сүйемелдейді; CRT –
Тексттік режимде экранды басқарады; OVERLAY – оверлейлік программаларды,
PRINTER – принтерді пайдалануды, GRAPH – экранның графикалық режимінің
жұмысын сүйемелдейді. Бұлардың барлығы TURBO.TPU, GRAPH.TPU файлында
орналасқан. SyStem модулі тізімде көрсетуді қажет етпейді, ол автоматты
түрде қосылады. Программаның орындалу нәтижесін экраннан көру үшін экран
бетін кідіріс жасап, ұстап тұруды ұйымдастыру қажет. Кідірісті үш тәсілмен
ұйымдастыруға болды: 1) ... жалғасы







Ұқсас жұмыстар
Тақырыб Бет саны
"Саяси модернизация."23 бет
«Картография мен топография негіздері» пәніне арналған жинақ47 бет
«Микроэкономика» пәні бойынша лекциялық курс89 бет
Автоматты басқару теориясы31 бет
Автоматты реттеу жүйесінің динамикасын талдау6 бет
Адам миы қызметі6 бет
Адам Смит ілімі8 бет
Аномия ұғымы девианттық мінез-құлық әлеуметтануы пәнінің негізгі стратегиясы ретінде27 бет
Атом молекулалық ілім. Химияның негізгі түсініктері мен стехиометриялық заңдары (Зат массасының сақталу заңы, құрам тұрақтылық заңы, еселік қатынастар заңы, көлемдік қатынастар заңы, эквиваленттер заңы, Авогадро заңы)13 бет
Ақша нарығы6 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь