Мегаобучалка Главная | О нас | Обратная связь


СТАРШЕНСТВО МНОЖЕСТВЕННЫХ ОПЕРАТОРОВ



2015-11-12 575 Обсуждений (0)
СТАРШЕНСТВО МНОЖЕСТВЕННЫХ ОПЕРАТОРОВ 0.00 из 5.00 0 оценок




 

Приоритетный уро-

Вень Операторы Операции


 

1. (высший)

2.

3. (низший)


 

*

+, –

=, <>, >=, <=, In


пересечение

объединение, разность

равенство, неравенство, подмно-

жество, принадлежность


 

Для изменения порядка выполнения используются круглые скобки.

 

Средства работы со множествами позволяют в некоторых случаях сокра- тить программы и сделать их более наглядными и эффективными за счет уменьшения числа различных проверок.

 

Пример 4.


 

Program Prim 5; Var Stroka: string; i: integer;

Prav: boolean; Begin i := 1; writeln('введите строку'); readln(Stroka);

L := Length(Stroka); {число введенных символов} Prav := L > 0; {True, если не нулевая стро-

ка}

while Prav and (i <= L) do

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

символа}

Prav := Stroka[i] In ['0'..'9', 'A'..'Z', 'a'..'z', ' '];

i := Succ(i); {следующий номер}

end; if Prav then writeln('правильная строка') else writeln('неправильная строка');

End.

 

Для вывода элементов некоторого множества, сформированного в про- цессе выполнения программы, необходимо воспользоваться оператором цикла, внутри которого была бы проверка на принадлежность текущего значения па- раметра цикла выводимому множеству. Например, для множества ВВ, описан- ного как ВВ: Set of 'A'..'Z'; можно организовать вывод элементов следующим образом:

 

Пример 6.

 

For i := 'A' to 'Z' do

if i in BB then write(i:2);

 

Причем параметр цикла i должен быть описан либо как символьная пе- ременная, либо как i: 'A'..'Z'. Печать элементов множества производится в том порядке, в котором они встречаются в базовом множестве.

 

Приведенная ниже программа Lat формирует множество LB, в которое входят только латинские буквы, встретившиеся во входной строке, и множест- во знаков препинания PR из входной строки (пример 7).

 

Пример 7.

 

Program Lat; Var

c, i, j: char;

LB: Set of 'A'..'Z'; PR: Set of '!'..'?';

Begin

write('=>');

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(i:2);

writeln;

writeln('Знаки препинания:');

for j := ':' to '?' do

if j in PR then write(j:2); End.

 

КОНТРОЛЬНЫЕ ВОПРОССЫ

 

1. Какие типы данных используются в качестве базовых при построении

множественных типов?

 

2. Дано описание переменной множественного типа: Var Pm: Set of (Red, Grey, Blue, Black). Выписать все допустимые значения этой переменной.

 

3. Какие операции определены над переменными множественного типа и ка-

ков их приоритет?

 

4. Будут ли равны множества:

 

a. ['A'..'D'] и ['A','B','C','D'];

b. [White, Black] и [Black, White].

 

5. Вычислить следующие выражения:

 

a. [5] <= [1..5];

b. ['A'..'D', 'K'..'M'] + ['D'..'K'];

c. [Jan, Feb, Мar]*[Mar];

d. [2, 1, 3..6] = [1..7];

e. 15 In [1..10];

f. [',', '(', ')', '.'] – [',', '.'].

 

6. Вычислить выражение: [1..14]*[5, 12..60] + [4..7] – [2*16]*[6].

 

7. Упростить данные выражения множественного типа:

 

a. [11..17]*[2] + [7, 17..40]*[2..17] – [2..8];

b. (A – B)*A + (A – B)*B;

c. (A + B)*(A – B)*(B – A); d. A – B – (A – B) – (B – A); e. A – (A – B).


 

 

ВАРИАНТЫ ЗАДАНИЙ

 

1. Дана непустая последовательность символов. Требуется построить и напе- чатать множество, элементами которого являются встречающиеся в после- довательности:

1) цифры от '0' до '9';

2) буквы от 'A' до 'F' и от 'X' до 'Z';

3) буквы от 'G' до 'N' и цифры от '0' до '9';

4) знаки препинания;

5) буквы от 'A' до 'Z' и цифры от '0' до '5';

6) буквы от 'T' до 'X' и знаки препинания;

7) знаки арифметических операций и знаки препинания;

8) цифры и знаки арифметических операций;

9) знаки препинания и буквы от 'E' до 'N';

10) цифры от '5' до '9' и знаки препинания;

11) знаки операций отношения;

12) цифры от '3' до '9', буквы от 'A' до 'F' и знаки препинания;

13) знаки арифметических операций и операций отношения;

14) буквы от 'F' до 'M' и знаки арифметических операций;

15) знаки препинания и операций отношения;

16) цифры от '0' до '5' и буквы от 'K' до 'R'.

 

2. Операции над массивами. При выполнении задания следует учесть прие-

мы программирования, использованные в приведенной ниже программе:

 

Program Eratosphen; Const

n = 256; Var

Sieve, Primes: Set of 2..n; Next: byte;

j: word;

Begin

Sieve := [2..n]; Primes := [ ];

Next := 2;

repeat

while not (Next in Sieve) do Next := Next + 1;

Primes := Primes + [Next];

j := Next;

while j <= n do

begin

Sieve := Sieve-[j];

j := j + Next

end; until Sieve = [ ]; for j := 2 to n do

if j In Primes then Write(j:5)


 

End.

 

1) Из множества целых чисел [1..1000] методом решета Эратосфена

получить множество простых чисел и вывести их на экран.

2) Из множества целых чисел [1..1000] получить множество чисел, являющихся квадратами четных чисел и вывести их на экран.

3) Из множества целых чисел [1..1000] получить множество чисел, являющихся квадратами нечетных чисел и вывести их на экран.

4) Дано целое n от 2 до 1000. Используя метод решета Эратосфена, напечатать в убывающем порядке все простые числа из диапазона n..2n.

5) Из множества целых чисел [1..500] методом решета Эратосфена

получить множество простых чисел и вывести их на экран.

6) Из множества целых чисел [1..500] получить множество чисел, являющихся квадратами четных чисел и вывести их на экран.

7) Из множества целых чисел [1..500] получить множество чисел, являющихся квадратами нечетных чисел и вывести их на экран.

8) Дано целое n от 2 до 500. Используя метод решета Эратосфена, на- печатать в убывающем порядке все простые числа из диапазона n..2n.

 



2015-11-12 575 Обсуждений (0)
СТАРШЕНСТВО МНОЖЕСТВЕННЫХ ОПЕРАТОРОВ 0.00 из 5.00 0 оценок









Обсуждение в статье: СТАРШЕНСТВО МНОЖЕСТВЕННЫХ ОПЕРАТОРОВ

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (575)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)