
- •Лабораторний практикум
- •«Інформатика»
- •Лабораторна робота № 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 “Середовище Турбо-Прологу. Факти і правила. Трасування програм”
- •Контрольні запитання
- •Глосарій
- •Використана література
Теоретичні відомості Множини
Поняття множини є одним із основних, фундаментальних понять математики. Існує і окремий розділ математики, який так і називається – теорія множин. У мові Паскаль множина – це довільна сукупність значень перерахованого типу. Тип множини описується наступним чином:
type < ім’я типу > = set of < тип елементів >
Але одразу відмітимо, що кількість елементів множини у мові Паскаль не може бути більшою, ніж 256. Це пов’язано з тим, що розробники компіляторів мови Паскаль наклали саме таке обмеження на дане поняття. Проте, навіть не зважаючи на це обмеження, основні властивості множин і операції над ними можна зручно використовувати при розв’язуванні багатьох задач.
Вкажемо, що при виконанні операцій над множинами у Паскалі діють наступні операції:
in – належність елементу множині. Звичайно використовують при перевірці умови належності множині, наприклад, нехай задано множину цифр:
cifra : set of char;
а в самій програмі на початку цю множину конкретно визначено:
cifra := [‘0’..‘9’];
Тоді перевірку належності введеного символу ch типу char на предмет належності множині цифр можна оформити як:
….
ch := readkey;
if ch in cifra then write(‘ Належить цифрам ’);
...
+ – об’єднання множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А+В ми отримаємо С={1,2,3,4,5,6,7}.
– – різниця множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А–В ми отримаємо С={1,2,3}.
* – переріз множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А*В ми отримаємо С={4,5}.
Особливості роботи з множинами
Приклад 14. Скласти програму, яка знаходить всі числа, що діляться на 6, а також всі числа що діляться на 2 або на 3.
Розв’язання: Одразу домовимось про обмеження, які ми накладемо на нашу програму. Оскільки метою є демонстрація можливостей роботи з множинами і кількість елементів обмежена типом byte, то ми і будемо шукати всі числа згаданого типу. Звичайно, задачу можна розв’язати іншим шляхом, не використовуючи поняття множин і в ній знаходити всі числа, що задовольняють умову задачі з заданого проміжку. Пропонуємо вам самостійно знайти інші способи розв’язання. Ми ж продемонструємо методи роботи з множинами.
Program p6_23;
uses crt;
Const N = 255;
var N2,N3,N6,N23 : set of byte; { множини задали як змінні }
k : integer;
begin
clrscr;
N2 := []; { Задаємо пусту множину чисел, що діляться на 2}
N3 := []; { і пусту множину чисел, що діляться на 3 }
for k :=1 to N do { в циклі розглядаємо всі числа проміжку }
begin { і якщо вони діляться на 2 або на 3 то }
{ заносимо у множину N2, якщо діляться на 2 }
if k mod 2 = 0 then N2 := N2 + [k];
{ заносимо у множину N3, якщо діляться на 3 }
if k mod 3 = 0 then N3 := N3 + [k];
end;
N6 := N2 * N3; { перетин множин – діляться на 6 }
N23 := N2 + N3; { об’єднання множин – діляться і на 2 і на 3 }
writeln(' На 6 діляться: '); { ну а далі все зрозуміло... }
for k := 1 to N do if k in N6 then write(k:4);
writeln;
writeln(' На 2 або на 3діляться: ');
for k := 1 to N do if k in N23 then write(k:4);
writeln;
readln;
end.
Завдання
Словом вважають групу символів між двома пробілами.
Дано рядок. Вилучити з нього усі слова, в запису яких є букви “а”, “у”, “е”.
Дано рядок. Підрахувати кількість слів у рядку. Отримати та роздрукувати множину усіх символів, що зустрічаються у тексті.
Дано рядок. Підрахувати кількість слів у рядку. Отримати та роздрукувати усі розділові знаки, які є у тексті.
Дано рядок. Підрахувати кількість слів у рядку. Отримати та вивести на друк усі приголосні, що є у тексті.
Дано рядок. Підрахувати кількість слів у рядку. Отримати та роздрукувати усі голосні, що є у тексті.
Дано рядок. Вилучити усі слова, в яких зустрічається не більше двох різних літер.
Дано рядок. Підрахувати кількість слів у рядку. Обчислити суму цифр, які зустрічаються у тексті.
Дано рядок. Залишити у ньому лише ті слова, в яких літери не повторюються.
Дано рядок. Підрахувати кількість слів у рядку та кількість голосних літер, що зустрічаються у тексті.
Дано рядок. Підрахувати кількість слів у рядку та кількість приголосних літер і розділових знаків, що зустрічаються у тексті.
Дано рядок. Підрахувати кількість слів у рядку та кількість голосних літер і цифр, що зустрічаються у тексті.
Дано рядок. Підрахувати кількість слів у рядку та визначити, яких літер – голосних чи приголосних – більше зустрічається у тексті.
Дано рядок. Надрукувати голосні літери, які входять в кожне слово рядка.
Дано рядок. Надрукувати всі приголосні літери, які не входять в жодне слово рядка.
Дано рядок. Надрукувати всі голосні літери, які входять більше ніж в одне слово рядка.
Дано рядок. Надрукувати приголосні літери, які входять тільки в одне слово рядка.