- •Лабораторна робота №1. Розгалужені оператори мови Borland Pascal
- •Теоретичні відомості
- •1. Структура програми на Pascal
- •2. Прості оператори
- •3. Оператори розгалуження
- •4. Процедури введення / виведення
- •Порядок виконання роботи:
- •Контрольні запитання:
- •Лабораторна робота №2. Циклічні оператори мови Borland Pascal
- •Теоретичні відомості
- •Лабораторна робота №3. Процедури та функції користувача мови Borland Pascal
- •Теоретичні відомості
- •Опис процедур
- •Лабораторна робота №4. Одновимірні масиви мови Borland Pascal
- •Теоретичні відомості
- •Лабораторна робота №5. Двовимірні масиви мови Borland Pascal
- •Теоретичні відомості Багатовимірні масиви
- •Оголошення багатовимірних масивів. Доступ до елементів
- •Базові операції обробки двовимірних масивів
- •Лабораторна робота №6 Записи. Множини в мові Borland Pascal
- •Теоретичні відомості
- •Порядок виконання роботи:
- •Контрольні запитання
- •Звіт повинен містити:
- •Завдання 1до лабораторної роботи №6
- •Завдання2 до лабораторної роботи №6
- •Лабораторна робота №7. Текстові та бінарні файли мови Borland Pascal
- •Теоретичні відомості
- •Операції над текстовими файлами
- •Завдання до лабораторної роботи №7
- •Лабораторна робота №8 Динамічні структури даних в мові Pascal
- •Теоретичні відомості
- •Теоретичні відомості
- •Базові типи даних
- •Потоки введення – виведення даних
- •Математичні функції
- •Порядок виконання роботи:
- •Теоретичні відомості
- •Вираз1, вираз2 або команда1, команда2
- •If (логічний вираз) команда1; else команда2;
- •If (логічний вираз) команда1;
- •Теоретичні відомості
- •Лабораторна робота №4. Циклічні оператори (while, do…while).
- •Теоретичні відомості
- •Цикл з передумовою while
- •While ( вираз )оператор;
- •Завдання 2.
- •Лабораторна робота №5. Циклічні оператори (for).
- •Теоретичні відомості
- •Теоретичні відомості
- •Лабораторна роботА №7. Одновимірні масиви
- •Теоретичні відомості
- •Теоретичні відомості
- •Порядок виконання роботи:
- •Контрольні запитання
- •Звіт повинен містити:
- •Завдання до лабораторної роботи №3
Теоретичні відомості
Масиви - це набір даних одного типу. Кожний елемент масиву має свій номер, який називають його індексом.
Якщо елемент масиву має не один, а декілька індексів, то такі називаються багатовимірними. Прикладом багатовимірних масивів можуть бути різноманітні табличні дані: відомості залікової книжки, сторінка в журналі, таблиця результатів футбольних матчів. Це двовимірні таблиці, яким у математиці відповідає поняття матриці.
Загальний вигляд конструкції опису багатовимірного масиву такий:
<тип> <ім’я масиву>[р1][р2]…[рN]
Кількість індексів визначають вимірність масиву.
Елементи двовимірного масиву визначаються іменем масиву та двома індексами: перший індекс означає номер рядка, інший – номер стовпця, на перетині яких стоїть елемент.
Наприклад, оголосимо масив int doba[24][60]. Він містить елементи цілого типу і складається з 24 рядків і 60 стовпців. Нумерація індексів масиву розпочинається завжди з нуля.
Двовимірні масиви розглядаються завжди як послідовність одновимірних масивів. Тому до елементів двовимірного масиву, як і до одновимірних масивів, можна звертатися через вказівники. У такому випадку це вказівник на вказівник одновимірного масиву:
*(*(назва вказівника + зміщення порядках)+зміщення по стовпцях)
Наприклад, елемент*(*(doba+2)+15) розміщений на перетині 3-го рядка та 16-го стовпця.
Багатомірний масив також можна ініціювати при оголошенні. При цьому слід враховувати, що спочатку цикл значень проходить індекс, вказаний останнім, після чого змінюється передостанній індекс і так далі.
Приклад.
Ініціюємо
таку матрицю:
#define N 10
int matr[N][N]={1, 2, 3, -1, -2,-3, 10, 20, 30};
або, щоб не заплутатися в цифрах, значення можна згрупувати за допомогою додаткових дужок, наприклад,
int matr[N][N]= {{1, 2, 3}{-1, -2, -3}, {10, 20, 30}};
Нехай маємо масив:
#define N 10
int a[N][N];
Ввід масиву можна виконати, використовуючи таку конструкцію:
for (int і=0; і<N; і++)
for (int j=0; j<N; j++)
{
cout<<”\nВведіть елемент на позиції ”<<i+1<<”;”<<j+1;
cin>>a[i][j];
}
Вивід масиву можна виконати таким чином:
for (int і=0; і<N; і++)
{
for (int j=0; j<N; j++)
cout<<a[i][j]<<” ”;
cout<<”\n”;
}
Порядок виконання роботи:
Створити алгоритм (блок-схему) та програму для розв’язування завдання з вашого варіанту.
Відладити програму.
Запустити програму на виконання і перевірити правильність роботи програми.
Відповісти на контрольні запитання та оформити звіт.
Контрольні запитання
Що спільного і які відмінності між одновимірним і двовимірним масивами?
Які є способи звернення до елементів двовимірного масиву?
Який механізм генерується компілятором при зверненні до масиву? Поясніть його на прикладі доступу до елементу матриці фіксованої розмірності.
Як ініціалізується двовимірний масив?
Як виділити пам’ять під двовимірний масив, якщо його розмірності задаються на етапі компіляції?
Звіт повинен містити:
Мету, обладнання лабораторної роботи.
Завдання згідно варіанту.
Блок-схема
Текст програми.
Аналіз допущених під час роботи помилок.
Відповіді на контрольні запитання
Висновки.
Викладач Смерека А.Г.
