- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
- •1. Пәннің оқу бағдарламасы - syllabus
- •1.1. Оқытушы жөнінде мәліметтер:
- •1.2. Пән бойынша мәліметтер:
- •1.3. Осыған дейінгі пәндер тізімі: Информатика, Математикалық талдау, Алгебра және геометрия, Математикалық логика.
- •1.4. Шектес пәндер тізімі: Сандық әдістер, Бағдарламалау тілі, Компьютерде тәжірибе
- •1.5. Пән мақсаты:
- •1.6. Пән бойынша берілген тапсырмаларды орындау және тапсыру графигі
- •11. Рашбаев ж.М. Массивті реттеу алгоритмдерін программалау. Оқу және методикалық әдебиеттер жөніндегі Республикалық баспа кабинеті. Алматы-1991 ж.
- •1.8. Бағалау ақпараттары
- •1.9. Курс саясаты және процедурасы
- •2. Пән бойынша оқу-әдістемелік кешен материалдары
- •2.1. Курстың тақырыптық жоспары
- •2.2. Дәріс сабақтар
- •1 Дәріс тақырыбы: Алгоритмдер. Алгоритмдерді талдау. Алгоритмдер құру.
- •2 Дәріс тақырыбы: Программа құру тілі. Программа құрылымы. Енгізу және шығару командалары.
- •3 Дәріс тақырыбы: Есептің қойылымы. Математикалық моделін тұрғызу. Алгоритмін құру. Есепті компьютерде шешу. Проектіні тексеру.
- •4 Дәріс тақырыбы: Циклдік алгоритм. Цикл түрлері. Цикл құрылымы.
- •5 Дәріс тақырыбы: Берілгендердің символдық типі. Жолдық тип.
- •6 Дәріс тақырыбы: Берілгендердің фундаментальді типі. Массив, жазба және жиынның қойылымы.
- •7 Дәріс тақырыбы: Рекурсивті алгоритмдер.
- •Мұндай рекурренттік қатынас п- факториалды санының рекурсивтік есептеу алгоритмін шамалайды.
- •8 Дәріс тақырыбы: Қосалқы программа. Функция. Процедуралық тип.
- •9 Дәріс тақырыбы: Ақпараттық құрылым. Сызықты тізім.
- •10 Дәріс тақырыбы: Ақпараттық құрылымдар. Стектер, кезектер.
- •1 Сурет
- •2 Сурет
- •4 Сурет
- •5 Сурет
- •11 Дәріс тақырыбы: Тізбекті үлестіру. Байланысқан үлестіру.
- •12 Дәріс тақырыбы: Бірбағытталған және екібағытталған байланысқан тізімдер. Көрсеткіштер.
- •13 Дәріс тақырыбы: Ақпараттық құрылым. Ағаш. Ағаштардың қойылымы.
- •14 Дәріс тақырыбы: Көпбайланысқан құрылымдар. Жадыны динамикалық бөлу.
- •15 Дәріс тақырыбы: Ішкі сұрыптау алгоритмдері: таңдау, қосу. Тікелей таңдауға талдау.
- •16 Дәріс тақырыбы: Ішкі сұрыптау алгоритмдері: Екілік қосылымға талдау жасау.
- •17 Дәріс тақырыбы: Көпіршікті және шейкерлік сұрыптауды талдау.
- •18 Дәріс тақырыбы: Бөліп алу көмегімен сұрыптау.
- •19 Дәріс тақырыбы: Медиананы табу.
- •20 Дәріс тақырыбы: Сызықты іздеу.
- •21 Дәріс тақырыбы: Екілік іздеу.
- •22 Дәріс тақырыбы: Қатарда іздеу. Кнут - Моррис - Пратт алгоритмі.
- •23 Дәріс тақырыбы: Қатарда іздеу. Боуер-Мура алгоритмі.
- •24 Дәріс тақырыбы: Жолды өңдеу алгоритмі. Рабин алгоритмі.
- •25 Дәріс тақырыбы: Қайталанбалы алгоритм.
- •26 Дәріс тақырыбы: Қайталанбалы алгоритм. Аттың жүрісі туралы есеп.
- •27 Дәріс тақырыбы: Программалаудың кейбір фундаментальді әдістері. Программаны құрастырудың технологиясы және таралуы.
- •28 Дәріс тақырыбы: Есептеуді тиімдеу. Программаны жөндеу және тестілеу әдістемесі.
- •29 Дәріс тақырыбы:
- •30 Дәріс тақырыбы: Объектіге-бағытталған программалау.
- •2.3. Зертханалық сабақ жоспарлары
- •Алгоритм. Қасиеттері. Алгоритм қойылымы.
- •2.4. Оқытушы жетекшілігімен жүргізілетін студенттердің өзбетіндік жұмысы
- •Орындаушы тәжірибе аяқталғаннан кейін шығыс ақпаратын немесе екі хабардың бірін береді.
- •65387 Санында – 5 цифр !
- •Тақырыбы: Ағаш. Ағашты қалыптастыру. Қалыпты ағашты құру.
- •Ноталардың дыбысталу жиілігі
- •Студенттердің өзбетіндік жұмыс жоспары
- •Тақырыбы: Берілгендер. Берілгендер типі, тұрақты және айнымалы. Өрнектер.
- •Тақырыбы: Динамикалық ақпаратты құрылым. Ағаш.
- •Тақырыбы: Ішкі жолдарды іздеу. Текстке сөз енгізу.
- •Тақырыбы: Ішкі сұрыптау алгоритміне программа құру.
- •Тақырыбы: Сұрыптау алгоритмі
- •Тақырыбы: Массивті сұрыптау алгоритмінің таралымы
- •Тақырыбы: Файлдық тип. Тексттік файлдар.
- •Тақырыбы: Файлмен жұмыс
- •Тақырыбы: Кіру және шығу файлдарымен жұмыс.
- •Тақырыбы: Файлдарды сұрыптау және последовательностей
- •Тақырыбы: Кнут-Морис- Пратта алгоритмін қолдану
- •Тақырыбы: Поиск подстроки в строке
- •Тақырыбы: Манипулирование строками
- •Тақырыбы: Рекурсивті алгоритмдердің таралымы. Лабиринт есебі.
- •Тақырыбы: Рекурсивті алгоритмдер құрастыру.
- •2 Мысал:
- •Тақырыбы: Мәтіндік режимде экранды басқару. Crt модулін қою.
- •2 Мысал: Күн жүйесінің динамикалық моделі.
- •2.6. Курс бойынша жазба жұмыстарының тақырыптамалары
- •Курстық жұмыс және проектілер тақырыптамалары
- •Алгоритм дегеніміз -
- •B) Тізбектелген, циклдық, тармақталу
- •Мазмұны
- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
29 Дәріс тақырыбы:
Құрылымды және модульді программалау.
Модуль – бұл суреттеулер бөлімінің кез келген компонентінен тұратын автономды компиляцияланатын программалық бірлік (әдетте, ең алдымен –кіші программалар) және қандай да бір нұсқаулар. Модуль программадан айырмашылығы орындалуға өздігінен жіберілмейді: ол тек қана программаны немесе басқа модульді құруға қатыса алады.
Модульдің тексті бөлек .pas файлға, мысалы, gauss.pas орналастырылады. Модульді компиляциялаудың нәтижесі .tpu (Turbo Pascal Unit), мысалы, gauss.tpu кеңеюі бар екі есе файл болып табылады. Модульді программаға немесе басқа модульге қосу үшін uses сәйкес бөлімінде модульдің атын көрсету қажет.
Модульдің жалпы түрі:
unit Модулдің аты;
interface
Интерфейстік бөлім
implementation
Орындалатын бөлім
begin
Иницияланатын бөлім
end.
Осылайша модуль міндетті тақырыптан және үш бөліктен тұрады. Кез келген бөлік болмауы мүмкін (иницияланатын бөлік болмаған кезде begin негізгі сөзін жіберген дұрыс). Сондықтан ең қысқа модуль былайша көрінеді:
unit Модульдің аты;
interface
implementation
end.
Тақырыптағы модульдің аты модульдің бастапқы текстінен тұратын файлдың атымен сәйкес келуі керек – бұл құрастырушыға модульдерді программамен және өзара байланыстыруға мүмкіндік береді.
Интерфейстік бөлім label бөлімін қоспағанда басты программаның осындай бөлімдеріне ұқсас суреттеулердің барлық бөлімдерінен тұруы мүмкін. Осы бөлімнің кіші программасының орнына тек қана олардың тақырыптары көрсетіледі. Осы кіші программалардың толық анықтамасы келесі орындалатын бөлімде орналастырылады. Кіші программалар жадының арғы моделіне автоматты түрде компиляцияланады. Интерфейстік бөлімде суреттелген объектілердің көрінетін саласы барлық модульге де, басқа модульдер мен басты программаға да өшіріледі. Яғни, бұл объектілер – модульде және одан тыс жерлерде ауқымды.
Орындалатын бөлім басты программаның осындай бөлімдеріне ұқсас сипаттамалардың барлық бөлімдерін қамти алады. Мұнан басқа тақырыбы интерфейстік бөлімде жарияланған кіші программаның толық анықтамасынан тұрады.
Иницияланатын бөлім Турбо Паскал тілінің кез келген нұсқауынан тұруы мүмкін. Осы бөлімнің операторлары басты программаның жұмысы басталғанға дейін орындалады. Әдетте көрсетілген қасиет басты программаның жұмысын дайындау үшін қолданылады: ауқымды айнымалыларды инициализациялау, файлдар ашу, коммуникациялық арналар бойымен басқа компьютерлермен байланыс орнату және т.б.
Көп модульді программаны компиляциялаудың үш түрі бар. Олардың бәрі жинақталған ортаның Compile менюіне беріледі: Compile (Alt+F9) – программаның компиляциясы немесе редактордың осы терезесіндегі модульді; Make (F9) – осы жобаның (комплекстің) барлық модульдері ішінара қайта компилияцияланады; Build – оларғаөзгерістер енгізіліп, енгізілмегеніне қарамастан осы жобаның барлық модульдерін қайта компилияциялайды.
Модульдерді қосу олардың uses бөлімінде тізімделу ретімен жүреді. Келесі модульге өту кезінде ол сілтеме жасайтын барлық модульдер алдын ала іздестіріледі. Осы ретпен программаны орындау кезінде модульдердің иницияланатын бөлігі іске қосылады. Модульдердің бір біріне сілтеме жасауы түбірі негізгі программа болып табылатын ағаш тәрізді құрылым түзейді. Модульдің өзіне анық немесе жанама сілтемелеріне тыйым салынады. Мысалы, келесідей жариялауларға рұқсат етілмейді:
-
unit A;
interface
uses B;
implementation
end.
unit B;
interface
uses A;
implementation
end.
Егер uses бөлімін модульдің орындалатын бөлігіне «жасырса» бұл шектеулерді айналып өтуге болады.
-
unit A;
interface
implementation
uses B;
end.
unit B;
interface
implementation
uses A;
end.
Турбо Паскалда ішінара компиляцияланған модульдерге сілтемелерге рұқсат етіледі, яғни компиляция екі кезеңде өтеді: алдымен интерфейстік бөлік, одан кейін барлық қалғаны компиляцияланады.
Турбо Паскалдың кейбір стандартты модульдері turbo.tpl (System, Dos, Crt, Printer, Overlay) кітапханасының құрамына кіреді, ал басқалары жеке .tpu файлдарда (Graph, Strings және т.б.). Бұл ретте System модулі барлық уақытта автоматты қосылады (енгізу/шығару кіші бағдарламасынан, жолдарды өңдеуден, математикалық және басқа да функциялардан тұрады), ал қалғандары қажеттілігіне қарай uses бөлімінде көрсетіледі.
