- •Загальні рекомендації
- •. Огляд засобів розробки програм
- •1 Загальні поняття
- •2 Системи програмування
- •3 Технології програмування
- •3.1 Алгоритмічне (модульне) програмування
- •3.2 Структурне програмування
- •3.3 Подієво-орієнтоване програмування
- •3.4 Об'єктно-орієнтоване програмування
- •3.5 Візуальне програмування
- •Запитання для контролю та самоконтролю
- •. Основні поняття алгоритмізації
- •1. Поняття алгоритму. Властивості алгоритму
- •2. Способи подання (опису) алгоритму
- •3. Правила оформлення блок-схем алгоритмів
- •4. Базові алгоритмічні конструкції
- •Запитання для контролю та самоконтролю
- •. Етапи розв’язування прикладних задач
- •1. Постановка задачі
- •2. Побудова моделі
- •3. Розробка алгоритму
- •4. Вибір структур даних
- •5. Розробка програми
- •6. Тестування програми
- •7. Аналіз результатів роботи програми
- •8. Корисні технологічні правила програмування
- •Запитання для контролю та самоконтролю
- •V. Практикум з програмування. Turbo pascal
- •Робота з інтегрованим середовищем розробника
- •Запитання для контролю та самоконтролю
- •Тема №1 структура програми. Лінійна програма. Введення/виведення. Типи даних Теоретичні відомості
- •Var перелік імен змінних та їх типів;
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №2 програми розгалуженої структури Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №3 цикли з параметром Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №4 цикли з невідомим числом повторень Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №5 використання масивів Теоретичні відомості
- •Var Ім'я : array[поч_індекс . . Кін_індекс] of Тип_даних;
- •Var Ім'я:array[поч_індекс1..Кін_індекс1,
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №6 символьний тип даних, рядки Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 7 використання допоміжних програм Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 8 використання множин Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 9 обробка записів Теоретичні відомості
- •Var Ім’я_запису : Ім’я_типу;
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 10 організація обробки файлів Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Рекомендована література
Запитання для контролю та самоконтролю
У чому полягає різниця між простими та структурованими типами даних?
Які в мові Turbo Pascal використовуються прості та структуровані типи даних?
Що таке масив? Які його складові елементи? Як звертатися до елементів масиву?
Які різновиди масивів можна використовувати в програмах? У чому їх особливості?
Які алгоритмічні структури оптимізують обробку елементів масивів?
Які обмеження необхідно враховувати при використанні масивів?
Про що йде мова в задачі сортування? Які методи використовуються для її розв’язання? У чому полягають відомі методи сортування?
Як формулюється задача пошуку? Якими методами її вирішують? У чому вони полягають?
Як зберігається масив в оперативній пам’яті?
Як працює алгоритм пошуку в масиві найбільшого (найменшого) елемента?
Які правила пошуку суми елементів масиву?
Які правила пошуку добутку елементів масиву?
Як організувати виведення елементів одновимірного масиву у рядок та у стовпчик? Чому не раціонально виводити у стовпчик масив, де кількість елементів перевищує число 24?
Як організувати виведення елементів двовимірного масиву у вигляді таблиці?
Які існують інструменті позиціювання екрану в текстовому режимі? Як скористуватися цими інструментами для виведення таблиці?
Як за описом визначити який об’єм пам’яті виділяється для масиву?
Тема №6 символьний тип даних, рядки Теоретичні відомості
Символьний тип являє собою тип даних, призначених для збереження одного символу (літери, знака або коду). Розрізняють символьні константи та змінні. Символьна константа - один символ в лапках (наприклад, ’?’, ’F’, ’7’). Символьна змінна - описується словом char.
Наприклад, рядок програми var S, Litera, CapsLitera : char; означає, що в програмі буде використано 3 символьних змінних S, Litera, CapsLitera.
В зв’язку з тим, що символи закодовані в таблиці ASCII, над ними можна виконувати операції порівняння (за кодом). Деякі символи не мають графічного зображення тому для звернення до них (а взагалі до кожного ASCII-символу) можна використати таку форму запису, яка складається із символу дієз (#) і числового коду символу, наприклад, #13. Будь-який об’єкт типу char (константа, змінна) займає 1 байт пам’яті.
До стандартних функцій над символьними даними відносять:
Chr(n) - визначення символу за порядковим номером n (ASCII-коду);
Ord(s) - визначення порядкового номера за символом s;
UpCase(s) - перетворення рядкових латинських літер у прописні.
Тип даних string (рядок) спеціально призначений для обробки рядків (ланцюжків символів). Змінна типу string складається з елементів типу char. Кажуть, що рядок - це масив символів, що компактно зберігаються. Змінні типу string можуть бути оголошені в такий спосіб:
var
Ім'я_змінної_1 : string;
Ім'я_змінної_2 : string[n];
Тобто вказується Ім'я_змінної (ідентифікатор) і зарезервоване слово string. Якщо існує необхідність економити ресурси статичної пам’яті, в квадратних дужках вказується максимальний розмір рядка - кількість символів рядка, що можуть зберігатися в цій змінній. Якщо максимальний розмір рядка не зазначений, то він автоматично приймається рівним 255 - максимально можлива довжина рядка. Реально у пам’яті резервується на одиницю довший масив - додається нульовий елемент.
До стандартних функцій над даними типу string відносять:
функція Length® - визначення фактичної довжини вказаного текстового рядка R (рядкової константи або змінної);
Зауваження: Ця функція читає значення нульового елементу рядка, де зберігається фактична його довжина.
функція Copy(R,bp,k) - копіювання фраґмента деякого рядка R в інший рядок, bp - номер позиції символу, з якого треба почати копіювати, k - кількість символів для копіювання;
Зауваження: Результатом роботи функції є новий рядок.
функція Pos(SubR,R) - визначення позиції входження деякого рядка символів SubR у заданий рядок R;
Зауваження: Дає змогу знайти тільки перше входження, якщо шуканий ланцюжок символів у заданому рядку міститься декілька разів. Дає результатом 0, якщо такий ланцюжок у рядку відсутній.
функція Сoncat(R1,R2,R3,…) - з'єднання декількох рядків в один;
Зауваження: Результатом роботи функції є новий рядок.
процедура Delete(R,bp,k) - з рядка R видаляє частину, де bp - номер позиції символу, з якого треба почати видаляти, k - кількість символів для видалення;
процедура Insert(SubR,R,np) - вставка рядка SubR в рядок R, де np - номер позиції, починаючи з якої SubR буде розміщено в новому рядку R.
Зауваження: Застосування процедур Delete та Insert змінює фактичну довжину рядків.
До операцій над рядковим типом відносять порівняння (=, <>, <, >) та конкатенацію (об’єднання, позначається знаком +).
Зауваження: Вищезазначені операції над символьним та рядковим типами обумовлені тим, що кожен символ має свій зафіксований код (номер) у так званій таблиці символів ASCII. Це дає змогу впорядковувати масиви рядків.