Использование множеств

Наиболее эффективно множество может быть использовано для замены операторов if, например, для проверки наличия некоторого ответа в списке разрешенных.

Приведенная ниже программа ввода строки символов, содержащей латинские буквы, цифры, пробелы с контролем правильности введенных символов, может служить примером использования множеств.

program EX;

Var

Str:string;

L:byte;

t: boolean;

Begin

writeln ('Введите строку');

readln (Str);

L:=length (Str); {число введенных символов}

t:=L>0: {true, если не пустая строка}

while t and (L>0) do

Begin

T: =Str [L] in |'0'.'9' 'A'..'Z' 'a'..'z'];

{проверка допустимости символа}

dec (L) {предыдущий символ}

end;

If t then writeln ('Правильная строка')

Else writeln ('Неправильная строка')

End.

ВОПРОСЫ И УПРАЖНЕНИЯ

1. Сколько различных значений может принимать переменная AS, имеющая описание var AS: set of 0..2?

2. Эквивалентны ли выражения р in [1,2, 5] и (р=2) or (р=2) or (р=5)?

3. С использованием операции in организовать проверку текущего числа цифр в строке s, описанной как

var s: string[62].

4. Вычислить:

a. [1, 4, 7] + [2, 3] + [5, 6];

b. [1, 4, 7] * [3, 5J;

c. [1,4, 7] - [2, 5]:

d. [2..10] - [4, 6]-[2..12] * [8..15].

5. Упростить (А, В - множества):

a. А * В-А;

b. А - (А - В);

c. (А + В) - (А - В) - (В - А).

6. Определить значения:

a.[2]=[2, 2, 2]:

b. [1, 3]<>[3, 1];

c. [1.2.3]=[1..3]:

d.['a','b'] = ['b'..'a'].

7. Дан текст из строчных латинских букв. Составить программу определения количества гласных букв (а, е, i, о. u), встречающихся в тексте.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: