- •Лабораторний практикум
- •«Інформатика»
- •Лабораторна робота № 1 “Середовище програмування Turbo Pascal”
- •Теоретичні відомості Основні команди оболонки програмування Turbo Pascal
- •Введення та редагування програми у середовищі Turbo Pascal
- •Переміщення курсору по тексту
- •Способи виділення тексту
- •Відміна або повторення останньої дії
- •Компіляція та виконання програми
- •Контрольні запитання
- •Змінні та сталі величини.Типи величин
- •Кожна змінна повинна бути описана один раз на початку програми після слова var. При цьому визначається тип змінної. Користувач сам вибирає тип (з урахуванням діапазону значень та розміру пам’яті).
- •Стандартні функції
- •Структура програми
- •Оператор присвоювання
- •Оператори вводу та виводу інформації
- •Контрольні запитання
- •Лабораторна робота № 3 “Умовні оператори. Оператор розгалуження”
- •Теоретичні відомості Призначення та конструкція оператора розгалуження
- •Повна форма:
- •Логічні вирази
- •Поліваріантні розгалуження (вкладені оператори розгалуження)
- •Контрольні запитання
- •Лабораторна робота № 4 “Умовні оператори. Оператор вибору”
- •Теоретичні відомості Призначення та конструкція оператора вибору
- •Приклад застосування оператора вибору
- •Контрольні запитання
- •Лабораторна робота № 5 “Циклічні оператори. Умовні цикли”
- •Теоретичні відомості
- •Оператор 1;
- •Цикл з післяумовою repeat… until
- •Відмінності у роботі циклів на перед- та післяумовою
- •Контрольні запитання
- •Контрольні запитання
- •Лабораторна робота № 7 “Процедури”
- •Теоретичні відомості Процедури
- •Процедура має загальний вигляд
- •Завдання
- •Контрольні запитання
- •Лабораторна робота № 8 “Функції”
- •Теоретичні відомості Функції
- •Функція має такий загальний вигляд:
- •Завдання
- •Контрольні запитання
- •Лабораторна робота № 9 “Одновимірні масиви”
- •Теоретичні відомості Поняття одновимірного масиву
- •Опис масивів
- •1 Спосіб
- •2 Спосіб
- •Операції над масивами
- •Контрольні запитання
- •Лабораторна робота № 10 “Двовимірні масиви або матриці”
- •Теоретичні відомості Способи описання матриць у Паскалі
- •Приклади використання двомірних масивів
- •Контрольні запитання
- •Лабораторна робота № 11 “Сортування в структурах даних”
- •Теоретичні відомості Поняття сортування
- •Способи сортування Сортування вставкою
- •Сортування вибором
- •Сортування обміном
- •Контрольні запитання
- •Лабораторна робота № 12 “Робота з рядками”
- •Теоретичні відомості Рядкові змінні
- •Процедури та функції для роботи з рядками
- •Завдання
- •Контрольні запитання
- •Лабораторна робота № 13 “Робота з множинами”
- •Теоретичні відомості Множини
- •Особливості роботи з множинами
- •Контрольні запитання
- •Лабораторна робота № 14 “Записи”
- •Створення масивів записів
- •Завдання
- •Контрольні запитання
- •Лабораторна робота № 15 “Робота з текстовими файлами ”
- •Теоретичні відомості Файлові змінні та операції з ними
- •Файлова змінна текстового типу зв’язується з конкретним файлом на диску процедурою Assign ( файлова змінна, ім’я фізичного файлу ).
- •Особливості роботи з файлами
- •Контрольні запитання
- •Лабораторна робота № 16 “Робота з типізованими файлами”
- •Теоретичні відомості Файлові змінні та операції з ними
- •Поцедури та функції для роботи з типізованими файлами
- •Rewrite(f) - Створює новий файл і відриває йог для запису і читання якщо файл з таким ім'ям вжі існує, його вміст стирається, а сам файл відкривається заново.
- •Прямийдоступ до вмісту файлів надають процедури і функції:
- •Особливості роботи з типізовами файлами
- •Завдання
- •Контрольні запитання
- •Лабораторна робота № 17 “Середовище Турбо-Прологу. Створення простої бази даних”
- •Приклад розв‘язання задачі на Пролозі
- •Лабораторна робота № 18 “Середовище Турбо-Прологу. Факти і правила. Трасування програм”
- •Контрольні запитання
- •Глосарій
- •Використана література
Контрольні запитання
Що таке лінійний масив?
Як позначається масив і якими параметрами визначаються елементи масиву?
Чи можна змінювати розмірність або кількість елементів масиву під час виконання програми? Чому?
Які ви знаєте способи опису масивів?
Які ви знаєте дії над масивами?
Які дії можна виконувати над елементами масиву?
Що робить компілятор, коли зустрічає такий опис: var a:array[1..6] of real?
Як розташовані елементи масиву в пам’яті комп’ютера?
Лабораторна робота № 10 “Двовимірні масиви або матриці”
Мета:cформувати поняття про матриці та основних операцій, що виконуються над матрицями, навчити розв’язувати задачі.
Питання для вивчення
Способи описання матриць у Паскалі.
Приклади використання двомірних масивів.
Теоретичні відомості Способи описання матриць у Паскалі
Розглянемо прямокутну таблицю з mn однотипиних елементів як послідовність із m рядків, у кожному з яких n елементів. Послідовності певної довжини подаються в мовах програмування масивами. Отже, виникає поняття "масив, елементами якого є масиви", або двовимірний масив. Якщо елементи прямокутної таблиці самі є послідовностями або таблиці утворюють послідовність певної довжини, то виникає поняття тривимірного масиву тощо.
Означення багатовимірних масивів та зображення їх елементів у мові Паскаль опишемо за допомогою простого прикладу. Позиція в грі "хрестики-нулики на полі 3 3" подається квадратною таблицею з символів 'x', '0' або ' ' (пропуск). Пронумеруємо клітинки поля, як у шахах – літерами 'a', 'b', 'c' по горизонталі та числами 1, 2, 3 по вертикалі. Тоді рядки таблиці можна подати масивами типу
type Row = array [ 'a' .. 'c' ] of char;
Таблицю можна розглянути як послідовність трьох рядків і подати масивом типу
type Table = array [ 1 .. 3 ] of Row;
Партія, тобто послідовність позицій, має довжину не більше 9, і може подаватися масивом таблиць:
type Game = array [ 1 .. 9 ] of Table;
Масиви типу Table мають два виміри: номер рядка та номер символу в ньому; масиви типу Game – три: номери таблиці, рядка та символу. Вимір 1..9 у типі Game називається зовнішнім, вимір 'a'..'c', що нумерує символи в рядках, – внутрішнім.
Тип Game можна задати еквівалентним виразом, не означаючи імен типів Row і Table, а саме:
type Game = array [ 1 .. 9 ] of
array [ 1 .. 3 ] of
array [ 'a' .. 'c' ] of char;
Нехай A – змінна типу Game. Вираз вигляду A[ i], де 1i 9, задає змінну типу Table, або типу
array [ 1 .. 3 ] ofarray [ 'a' .. 'c' ] of char;
виразвигляду A[i][j], де 1j3, – зміннутипу Row, аботипу
array[ 'a' .. 'c' ] of char;
виразвигляду A[i][j][k], де 'a' k 'c', – зміннутипу char.
Мова Паскаль допускає іншу форму задання типів та елементів багатовимірних масивів: виміри та індекси записуються через кому в спільних дужках. Так, означення
type Game1 = array [ 1 .. 9, 1 .. 3, 'a' .. 'c' ] of char
еквівалентне означенню типу Game, а вираз A[i, j, k] – виразові A[i][j][k].
Елементи багатовимірних масивів розташовуються в пам'яті послідовно, найшвидше в них змінюється внутрішній індекс, найповільніше – зовнішній. Зокрема, двовимірні масиви (матриці) розташовуються за рядками. Так, послідовні числа масиву типу
array [ 1 ..2, 'a' ..'b' ] of real
мають набори індексів [1, 'a'], [1, 'b'], [2, 'a'], [2, 'b'], а послідовні символи в масиві типу Game – [1, 1, 'a'], [1, 1, 'b'], [1, 1, 'c'], [1, 2, 'a'], … , [1, 3, 'c'], [2, 1, 'a'], … , [9, 3, 'c'].