Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка(Паскаль)(А4).doc
Скачиваний:
7
Добавлен:
27.08.2019
Размер:
1.25 Mб
Скачать

Завдання

Ввести прізвище, ім'я та по батькові як одне дане типу рядок. Визначити довжину рядка і кількість букв "а" у ньому. Виконати додатково завдання свого варіанта двома способами: а) розглядаючи рядок як масив символів; б) застосовуючи до рядка функції та процедури.

  1. Вивести ім'я та кількість букв у третьому слові.

  2. Визначити скільки букв "а" є у прізвищі.

  3. Вивести три букви - свої ініціали з крапками.

  4. Вивести довжини прізвища та імені.

  5. Вивести прізвище та ініціали.

  6. Вивести ім'я та кількість букв у прізвищі.

  7. Визначити скільки букв "о" є в імені.

  8. Вивести найдовше слово.

  9. Вилучити усі букви 'а' та 'о' з прізвища.

  10. Вивести ім'я у стовпчик.

  11. Чи починається хоч б одне слово з букви 'М'?

  12. Вивести прізвище та кількість букв у імені.

  13. Вивести ім'я у зворотному порядку.

  14. Вивести прізвище у стовпчик.

  15. Вивести найкоротше слово.

Лабораторна робота № 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.