- •Методичні рекомендації до виконання лабораторних робіт
- •Для спеціальностей
- •Лабораторна робота № 1 Лінійні програми
- •Теоретичні відомості
- •Вирази, операнди, операції.
- •Аналогічно не можна змішувати літерні та числові типи даних,тобто вираз типу:
- •Введення-виведення інформації.
- •Завдання
- •Лабораторна робота № 2 Використання операторів умовного та безумовного переходів
- •Теоретичні відомості
- •Оператор умови if
- •Завдання
- •Лабораторна робота № 3 Використання операторів циклу
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 4 Обробка табличних елементів
- •Теоретичний матеріал
- •1 Спосіб
- •2 Спосіб
- •Завдання
- •Лабораторна робота № 5 Сортування елементів масиву
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 6 Робота з даними типу String
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 7 Використання множин даних
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 8 Обробка даних типу запис
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 9 Файлові типи даних
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 10 Типизовані файли
- •Теоретичний матеріал
- •Типизовані файли
- •Завдання
- •Лабораторна робота № 11 Організація підпрограм з використанням функцій
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 12 Організація підпрограм з використанням процедур
- •Теоретичний матеріал
- •Параметри-значення
- •2. Параметри-змінні
- •Завдання
- •Лабораторна робота № 13 Модульна організація програм
- •Теоретичний матеріал
- •Завдання
- •Варіант 1. Робота з матрицями
- •Варіант 2. Арифметичні дії з цілими числами, які не визначаються типом Longint
- •Варіант 3. Цілочисельна арифметика
- •Варіант 4. Опрацювання лінійного масиву даних
- •Варіант 5. Аналіз текстового рядка
- •Варіант 6. Трикутник
- •Варіант 7. Опрацювання масиву даних
- •Варіант 8. Опрацювання масиву даних
- •Варіант 9. Опрацювання двовимірних масивів
- •Лабораторна робота № 14 Створення графічних зображень
- •Теоретичний матеріал
- •Завдання
- •Список літератури
Завдання
Ввести прізвище, ім'я та по батькові як одне дане типу рядок. Визначити довжину рядка і кількість букв "а" у ньому. Виконати додатково завдання свого варіанта двома способами: а) розглядаючи рядок як масив символів; б) застосовуючи до рядка функції та процедури.
Вивести ім'я та кількість букв у третьому слові.
Визначити скільки букв "а" є у прізвищі.
Вивести три букви - свої ініціали з крапками.
Вивести довжини прізвища та імені.
Вивести прізвище та ініціали.
Вивести ім'я та кількість букв у прізвищі.
Визначити скільки букв "о" є в імені.
Вивести найдовше слово.
Вилучити усі букви 'а' та 'о' з прізвища.
Вивести ім'я у стовпчик.
Чи починається хоч б одне слово з букви 'М'?
Вивести прізвище та кількість букв у імені.
Вивести ім'я у зворотному порядку.
Вивести прізвище у стовпчик.
Вивести найкоротше слово.
Лабораторна робота № 7 Використання множин даних
Мета: Навчитися працювати з множинами даних. Отримати практичні навички у виконанні операцій над множинами.
Теоретичний матеріал
Множина – це структурований тип даних, елементи якого складаються зі скінченного набору даних одного типу.
За базовий тип множини можна використовувати упорядковані типи даних, кількість значень яких не перевищує 256. Крім того, значення верхньої і нижньої границь базового типу не повинні виходити за межі діапазону від 0 до 255. базовим типом множини може бути обраний один із стандартних типів Byte, Char, Boolean. Елементи множини не нумеруються, тому, неможна звернутися до окремого елемента множини за її індексом. Тому множини використовують у задачах, де порядок розташування елементів даних не має значення (наприклад, множина голосних або приголосних букв). У множині не може бути два однакові елементи.
При задаванні значень елементів множини використовуються квадратні дужки.
Наприклад: [1..5], [1,3,4,6,8,9], ['a'..'z','0'..'9'].
Множина без елементів називається порожньою і позначається [ ].
Для оголошення множинного типу використовують службові слова set of (множина з …).
Формат оголошення множинного типу:
Type НазваТипу= set of ТипЕлементівМножини;
Var НазваЗмінної: НазваТипу;
Наприклад: type symbol=set of char;
TLat =set of '0'..'9';
var s:symbol;
nomer: set of 1..150;
Можна описувати змінні множинного типу и без попереднього оголошення типу:
Var НазваЗмінної: set of ТипЕлементівМножини;
Наприклад: var y: set of byte;
X: set of (green,black,red);
Можна оголосити константи множинного типу:
const НазваКонстанти=[Значення множини];
Наприклад: const A=[1,4,7,9];
B=['a'..'z'];
Операції над множинами.
Опис |
Приклад |
||
А |
В |
результат |
|
А+В (обєднання) – множина, яка містить усі елементи множин А і В без повторень. |
[1,2,3] |
[1,4,5] |
[1,2,3,4,5] |
А*В (перетин) – множина, яка містить елементи, які є спільними для множин А і В. |
[1,2,3] [8,6] |
[1,4,2,5] [] |
[1,2] [] |
А-В (різниця) – множина, яка складається з елементів, які є у множині А, але немає у множині В. |
[1,2,3,4] |
[3,4,5,6] |
[1,2] |
А=В (рівність) – дві множини вважаються рівними, якщо вони складаються з однакових елементів. |
[1,2,3] [4,6,8] |
[1,2] [8,6,4] |
false true |
А<>В (не рівність) – дві множини вважаються не рівними, якщо вони відрізняються по кількості елементів або по значенню хоча б одного елемента. |
['a'..'z'] ['a','b','c','d'] |
['A'..'Z'] ['a'..'d'] |
false true |
А>=В – операція визначення належності однієї множини іншій. Результат операції А>=В дорівнює true, якщо всі елементи множини В містяться в множині А. В іншому випадку результат дорівнює false. |
[1,2,3] |
[2,3,4] |
false |
А<=В. Результат операції А<=В дорівнює true, якщо всі елементи множини А містяться в множині В. В іншому випадку результат дорівнює false. |
[1,2] |
[0,1,2,3] |
true |
In (належність елемента множині) |
[1,2,3,4] |
[2,3,4,5] |
5 in A – false 3 in B – true |
Задача. Ввести рядок. Сформувати множину, в яку входять латинські букви рядка та множину розділових знаків з вхідного рядка.
Текст програми
program lat;
var c, i, j : char;
lb : set of 'a' ..'z'; pr: set of '!' ..'?';
begin
writeln ('Введіть рядок');
lb:= [];
pr:= [];
repeat
read (c);
if c in ['a'..'z'] then
lb:= lb + [c] else
if c in [':',';','.',',','!','?'] then pr:=pr+[c]
until eoln;
writeln ('латинські букви');
for i:= 'a' to 'z' do
if i in lb then write (і:2);
writeln;
writeln ('розділові знаки');
for j:='!' to '?' do
if j in pr then write (j : 2)
end.