
- •Розділ і. Вступ. Основи алгоритмізації Тема: Поняття архітектури комп’ютера фон Неймана.
- •Принцип використання двійкової системи числення
- •Принцип програмного керування роботою комп'ютера
- •Принцип збереження програм у пам'яті комп'ютера
- •Принцип адресності пам'яті
- •Тема: Алгоритм і його властивості.
- •Тема: Базові структури алгоритмів.
- •Метод вставок
- •Метод вибору
- •Розділ іі. Мова програмування паскаль. Тема: Методології розробки програм.
- •Тема: Загальні відомості про мову Паскаль.
- •Тема: Опис стандартних типів.
- •Тема: Циклічні конструкції.
- •Тема: Табличні величини. Масиви даних.
- •Тема: Рядкові типи.
- •Тема: Підпрограми.
- •Тема: Модуль Graph. Графічний режим.
- •Побудова рухомих зображень
- •Тема: Файловий тип.
- •Тема: Вказівники.
- •Тема: Тип запис.
- •Тема: Множинні типи.
- •Тема: Потоки. Введення-виведення даних.
- •Тема: Адреси даних. Вказівники. Динамічна пам'ять.
- •Тема: Розгалуження.
- •Тема: Основні відомості по структурному програмуванню.
- •Тема: Функції.
- •Тема: Масиви даних.
- •Робота з даними в динамічній пам'яті
- •Проблеми, що пов'язані з вказівниками
- •Тема: Форматування потоків.
- •Функції для управління графічною системою:
- •Функції для установки параметрів зображення:
- •Функції для отримання зображення на екрані:
- •Функції для отримання параметрів зображення:
- •Список літератури
ЗМІСТ
Вступ …………………………………………………………………………………………….6
Розділ І. Основи алгоритмізації
Тема. Поняття архітектури фон Неймана..……………………………………………......…...7
Поняття архітектури фон Неймана ….............................................................................7
Принцип використання двійкової системи числення ………………………………7
Принцип програмного керування роботою комп'ютера ………………………………..8
Принцип збереження програм у пам'яті комп'ютера ……………………………….8
Принцип адресності пам'яті ………………………………………………………...9
Архітектура комп'ютерів фон Неймана …………………………………………..9
Тема. Алгоритм і його властивості ……………………………………………………......….13
Основні етапи розв’язування прикладних задач з використанням ЕОМ …………..13
Навчальна алгоритмічна мова (НАМ) ........................................................................15
Основні вказівки НАМ ...................................................................................................16
Величини ..........................................................................................................................18
Основні характеристики величин ..................................................................................18
Вказівка присвоювання ..................................................................................................18
Тема. Базові структури алгоритмів…………………………………………………………...20
Рекурентні алгоритми .....................................................................................................20
Алгоритми пошуку .........................................................................................................21
Алгоритми сортування ...................................................................................................22
Діалогові алгоритми .......................................................................................................25
Розділ ІІ. Мова програмування Паскаль
Тема. Методології розробки програм ………………………………………………………..27
Використання модулів у Паскаль …………………………………………………….28
Основні концепції об’єктно-орієнтованої методології програмування ……………32
Процедурно-орієнтоване програмування …………………………………………….33
Тема. Загальні відомості про мову Паскаль ...........................................................................39
Поняття програми………………………………………………………………………39
Словник мови ..................................................................................................................40
Коментар ..........................................................................................................................40
Розділ опису підпрограм ................................................................................................41
Розділ операторів ............................................................................................................41
Правила запису операторів ............................................................................................41
Вирази. Пріоритет операцій……………………………………………………………41
Контроль за правильністю використання операцій введення-виведення ………….42
Тема. Опис стандартних типів ..................................................................................................42
Порядкові типи ................................................................................................................42
Перелічувані типи ...........................................................................................................43
Інтервальні типи ..............................................................................................................44
Перетворення типів .........................................................................................................44
Тема. Циклічні конструкції .......................................................................................................45
Вкладені цикли ................................................................................................................45
Приклади ітераційних циклів ........................................................................................46
Тема. Табличні величини. Масиви даних ...............................................................................49
Багатовимірні масиви ....................................................................................................49
Тема. Рядкові типи ....................................................................................................................50
Рядкові і символьні типи ...............................................................................................50
Відкриті рядкові параметри ..........................................................................................50
Тема. Підпрограми ................................................................................................................... 51
Рекурсивні підпрограми ................................................................................................51
Перетворення типів змінних і перетворення значень ………………………………51
Відкриті параметри-масиви …………………………………………………………..52
Тема. Модуль Graph. Графічний режим .................................................................................54
Анімація засобами Turbo Pascal ....................................................................................54
Створення графічних примітивів ..................................................................................60
Процедури керування звуковими сигналами ..............................................................62
Тема. Файловий тип ..................................................................................................................64
Нетиповані файли ...........................................................................................................64
Тема. Вказівники .......................................................................................................................65
Вказівники .......................................................................................................................65
Опис типу вказівник .......................................................................................................66
Розіменування вказівників .............................................................................................66
Присвоєння вказівникам адреси статичних змінних ...................................................67
Створення динамічних змінних .....................................................................................67
Списки ..............................................................................................................................68
Приклади програм ...........................................................................................................70
Тема. Тип запис ………………………………………………………………………………..73
Опис типу запис ………………………………………………………………………..73
Записи з варіантною частиною ……………………………………………………….75
Оператор приєднання With. Використання вказівки with у записах ……………….76
Тема. Множини ………………………………………………………………………………..77
Опис множинного типу ………………………………………………………………..78
Конструктори множин …………………………………………………………………78
Операції над множинами ………………………………………………………………78
Константи множинного типу ………………………………………………………….79
Приклади використання типу множина ………………………………………………80
Розділ ІІІ. Загальні відомості про С++. Основні конструкції мови програмування С++.
Тема. Потоки. Введення-виведення даних …………………………………………………..82
Перенаправлення потоків введення-виведення у MS DOS ………………………….82
Тема. Адреси даних. Вказівники. Динамічна пам’ять ………………………………………82
Адреси даних …………………………………………………………………………...82
Вказівники ……………………………………………………………………………...83
Динамічна пам’ять. Принцип динамічної організації пам’яті ………………………84
Тема. Розгалуження....................................................................................................................85
Побітові логічні операції та операції зсуву …………………………………………..85
Тема. Основні відомості по структурному програмуванню...................................................86
Проектування алгоритму методом покрокової деталізації ………………………….86
Структурний підхід до побудови алгоритмів ………………………………………..86
Програмні модулі в С++ ……………………………………………………………….87
Розділ ІV. Програмування мовою С++.
Тема. Функції ……………………………………………………………………………….….90
Посилання……………………………………………………………………………….90
Класи пам’яті …………………………………………………………………………...91
Перевантаження функцій………………………………………………………………93
Шаблони функцій………………………………………………………………………94
Спеціалізація шаблонів функцій………………………………………………………95
Шаблони класів. Недоліки шаблонів………………………………………………….96
Тема. Масиви даних..................................................................................................................102
Функції malloc, calloc, free при роботі з масивами………………………………….102
Алгоритми сортування. Метод вставки та інші при сортуванні масивів………….105
Тема. Рядки в С++ ...................................................................................................................109
Реверс рядків ………………………………………………………………………….109
Функції перетворення типів………………………………………………………….109
Тема. Форматування потоків ..................................................................................................112
Форматування потоків…………………….…………………………………………..112
Неформатоване введення-виведення………………………………………………...117
Помилки потоків………………………………………………………………………117
Переадресація введення-виведення………………………………………………….120
Тема. Графічні можливості мови програмування С++ .......................................................121
Формування меню в графічному режимі. Створення графічних примітивів в С++ …..…121
Список літератури ..................................................................................................................126
Вступ
Самостійну роботу ми розглядаємо як важливий фактор засвоєння навчального матеріалу, про що свідчать психолого-педагогiчнi дослідження. Метою самостійної роботи є формування самостiйностi студента, його вмінь, знань, навичок, що здійснюється опосередковано через зміст i методи всіх видів учбових занять.
Самостійна робота – це робота студентів яка планується та виконується по завданню і при методичному керівництві викладача, але без його безпосередньої участі. Самостійна робота студентів необхідна не тільки для оволодіння певною дисципліною, але й для формування навичок самостійної роботи взагалі, в учбовій, науковій, професійній діяльності, здібності приймати на себе відповідальність, самостійно вирішувати проблему, знаходити конструктивні рішення, вихід із кризової ситуації і т.д. Незалежно від спеціалізації і характеру роботи, будь-який починаючий спеціаліст повинен мати фундаментальні знання, професійні вміння і навички діяльності свого профілю, досвід творчої і досвідної діяльності по рішенню нових проблем, досвідом соціально-оціночної діяльності. Дві останні складові освіти формуються як раз в процесі самостійної роботи студентів.
Самостійна робота вирішує задачі всіх видів учбової роботи. Ніякі знання, якщо вони не підкріпленні самостійною діяльністю, не можуть стати справжнім надбанням людини. Крім того, самостійна робота має виховне значення: вона формує самостійність не тільки як сукупність вмінь та навичок, але й як рису характеру, яка грає суттєву роль у структурі особистості сучасного спеціаліста вищої кваліфікації.
Самостійна робота студентів систематично контролюється викладачем. Основою для самостійної роботи служить науково-теоретичний курс, комплекс отриманих студентами знань. При видачі завдань студенти отримують інструкції по їх виконанню, методичні вказівки, посібники, перелік необхідної літератури.
Самостійна робота сприяє:
поглибленню і розширенню знань;
формування інтересу до пізнавальної діяльності;
оволодінню прийомами процесу пізнання;
розвитку пізнавальних здібностей.
Тому вона стає головним резервом підвищення ефективності підготовки спеціалістів.
Розділ і. Вступ. Основи алгоритмізації Тема: Поняття архітектури комп’ютера фон Неймана.
Поняття архітектури комп’ютера.
Поняття архітектури обчислювальних систем є одним з основних в інформатиці. Уперше термін «архітектура комп'ютера» був введений фірмою IBM при розробці обчислювальних систем серії IBM 360 і застосований до тих засобів, які може використовувати програміст під час написання програм на рівні машинних команд.
Під цим терміном розуміли структуру комп'ютера з погляду програміста, так звану логічну архітектуру, що є поняттям архітектури у вузькому розумінні. Воно охоплює формати команд, форми зображення даних, методи адресації й управління операціями введення–виведення. При цьому з розгляду випадають такі аспекти, як фізична організація пристроїв комп'ютера, ієрархія пам'яті, методи паралельної обробки інформації, а також багато-багато інших, які часто узагальнюються терміном «організація комп'ютера» чи структурна організація комп'ютера.
Далі ми використовуватимемо термін «архітектура», розуміючи під цим поняттям логічну структуру у сукупності з фізичною структурною організацією.
В основу архітектури більшості сучасних комп'ютерів покладено принципи, які ще 1946 року були сформульовані у звіті «Попереднє обговорення логічного конструювання електронного обчислювального пристрою» Джоном фон Нейманом і його колегами Г. Голдстайном та А. Берксом. Усі комп'ютери, побудовані згідно з цими принципами, тепер відомі як комп'ютери з фоннейманівською архітектурою.
Основні принципи архітектури фон Неймана такі:
використання двійкової системи числення для кодування інформації у комп'ютері;
програмне керування роботою комп'ютера;
збереження програм у пам'яті комп'ютера;
адресація пам'яті.
Принцип використання двійкової системи числення
Інформація (команди і дані) у комп'ютері кодуються у двійковій системі числення. Система числення – це система позначення чисел. У повсякденній практиці використовується десяткова система, в якій числа записуються за допомогою десяти арабських цифр 0, і, 2, ..., 9. У двійковій системі числення є тільки дві цифри: 0 та і, Зручність використання двійкової системи в обчислювальній техніці обумовлена тим, що електронні перемикачі можуть перебувати тільки в одному із двох станів: увімкненому чи вимкненому. Ці стани можна кодувати двома цифрами: одиницею або нулем. Так само в двох станах у кожен окремий момент часу може перебувати канал передачі даних: «рівень напруги високий» або «рівень напруги низький». Крім того, логіка висловлень є двійковою логікою: будь-яке висловлення в кожен момент є істинним або хибним. Якщо висловлення є істинним, йому відповідає значення 1, якщо хибне – значення 0.
Одна двійкова цифра називається бітом (від англ. binary digit – двійкова цифра). За допомогою одного біта можна закодувати два інформаційних повідомлення, що умовно позначаються символами «0» та «1». Із двох бітів можна утворити коди чотирьох інформаційних повідомлень: «00», «01», «10» та «11»; із трьох бітів – восьми. У загальному випадку за допомогою n бітів можна закодувати 2n інформаційних повідомлень.
Послідовність, що складається з восьми бітів, у сучасній обчислювальній техніці прийнято називати байтом. За допомогою одного байта можна закодувати 28 = 256 різних повідомлень і зобразити, наприклад, значення цілих чисел від 0 до 255. Ці самі повідомлення можна розглядати і як числа від -128 до 127 (їх кількість теж дорівнює 256), символи, логічні значення тощо.
Байт є одиницею обсягу пам'яті. Для позначення тисяч та мільйонів байтів використовуються такі одиниці, як кілобайт (1 Кбайт = 210 = 1 024 байт), мегабайт (1 Мбайт - 220 = 1 048 576 байт) і гігабайт (1 Гбайт = 230 - 1 073 741 824 байт).
Послідовностями двійкових цифр можна кодувати не лише числа, а й довільні інформаційні повідомлення. Зокрема, загальноприйнята система кодування ASCII ставить коди у відповідність 256 символам. Наприклад, латинській літері «а» відповідає код 9710= 1100001, а символу «@» – код 6410= 10000002. Складніші системи кодування дають можливість закодувати зображення, звук тощо.