- •Лабораторний практикум
- •«Інформатика»
- •Лабораторна робота № 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 “Середовище Турбо-Прологу. Факти і правила. Трасування програм”
- •Контрольні запитання
- •Глосарій
- •Використана література
Контрольні запитання
Якими способами задаються елементи матриць?
Як описуються двохмірні масиви?
Які операції застосовують до матричних типів?
Лабораторна робота № 11 “Сортування в структурах даних”
Мета: сформувати уміння сортувати дані різних структур.
Питання для вивчення
Поняття сортування.
Способи сортування:
сортування методом вставки;
сортування методом вибору;
сортування методом обміну.
Теоретичні відомості Поняття сортування
При розв’язанні задачі сортування зазвичай висувається вимога мінімального використання допоміжної пам‘яті, із якої витікає недопустимість застосування допоміжних масивів.
Сортування– це розташування інформації в деякій послідовності за деяким принципом. Сортування даних можна проводити в послідовностях, масивах, файлах.
Для оцінки швидкодії алгоритмів різних методів сортування, як правило, використовують два показника:
Кількість присвоювань;
Кількість порівнянь.
Всі методи сортування можна поділити на дві великі групи:
Прямі методи сортування;
Покращенні методи сортування.
Прямі методи сортування поділяються на три підгрупи:
Сортування вставкою
Сортування вибором
Сортування обміном ( метод “бульбашок”).
Способи сортування Сортування вставкою
Принцип методу: масив поділяється на дві частини: відсортовану та не відсортовану. Елементи із не відсортованої частини почергово вибираються й вставляються у відсортовану частину так, щоб не порушити в ній упорядкованість елементів. На початку роботи алгоритму в якості відсортованої частини масиву приймають лише один перший елемент, а в якості не відсортованої частини - всі останні елементи.
Таким чином, алгоритм буде складатися з (n – 1) – го проходу ( n - це розмірність масиву ), кожен з яких буде включати чотири дії:
Взяття чергового і – го не відсортованого елемента й збереження її в додатковій змінній;
Пошук позиції j у відсортованій частині масиву, в якій присутність взятого елемента не порушить впорядкованості елементів;
Зсув елементів масиву від (i – 1) - годо(j – 1) – го праворуч, щоб звільнити знайдену позицію вставки;
Вставка взятого елемента в знайдену j – у позицію.
Програма, що реалізує розглянутий алгоритм, буде мати такий вигляд:
Program InsertionSort;
Constn=20;{ довжина масиву }
Type Tvector = array [1. . n] of real;
VarVector : Tvector;
B: real;
i,j, k:integer;
Begin
Writeln(‘ введіть елементи масиву:’);
For i:=1 to n do
Read( Vector[i] );
Readln;
{ - - - - - - - - - - - - }
for i := 2 to n do
begin
B := Vector[i];{взяття не відсортованого елемента}
{цикл пошуку позиції вставки}
j := 1;
while ( B>Vector[j] ) do
j := j+1; {після закінчення циклу індекс jфіксує позицію вставки }
{цикл зсуву елементів для звільнення позиції вставки}
for k := i – 1 downto j do
Vector[ k+1 ] := Vector [k];
{ вставка взятого елемента на знайдену позицію }
Vector [j] := B;
end;
{ - - - - - - - - - - }
writeln (‘відсортований масив:’);
for i :=1 to n do
write ( Vector [i]:8:2 );
writeln;
End.
Сортування вибором
Принцип метода: знаходимо (вибираємо) в масиві елемент з мінімальним значенням на інтервалі від 1-го елемента до n – го (останнього)елемента і міняємо його місцями з першим елементом. На другому кроці знаходимо елемент з мінімальним значенням на інтервалі від 2 – го до n – го елемента і міняємо його місцями з другим елементом. І так далі для всіх елементів до (n – 1) – го.
Програма, що реалізує метод вибору, буде мати наступний вигляд:
Program SebebionSort;
Constn=20; { довжина масиву }
Type Tvector = array [1. . n] of real;
VarVector : Tvector;min: real;
i,Imin,s: integer;
Begin
Writeln(‘ введіть елементи масиву:’);
For i:=1 to n do
Read( Vector[i] );
Readln;
{ - - - - - - - - - - - - }
for s := 1 to n - 1 do
begin
{пошук мінімального елемента в діапазоні}
{від s- го до n- го елемента}
min:=Vector[s];
Imin:=s;
for i := s+ 1 to n do
if Vector[i]<min then
begin
min:=Vector[i];
Imin:=i;
End;
{обмін місцями мінімального і s- го елементів}
Vector[ Imin ] := Vector [s];
Vector [s] := min;
End;
{ - - - - - - - - - - }
writeln (‘відсортований масив:’);
for i :=1 to n do
write ( Vector [i]:8:2 );
writeln;
End.
