АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

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

Прочитайте:
  1. Аксиомы теории множеств
  2. Бесконечными множествами.
  3. Болезнь Марека. Образование множественных опухолей в печени.
  4. В общем случае множество U можно представить в виде
  5. В чем состоит МФА и его использование в диагностике вирусных болезней?
  6. Введение. Понятие множества
  7. Включение множеств. Операции над множествами
  8. Возведение числа a в степень числа b с использованием понятия логарифма.
  9. Вопрос: Реакции с использованием меченых антител или антигенов.
  10. Выражения с множествами

Использование множеств в программах дает следующие преимущества:

- значительно упрощаются сложные операторы if;

- увеличивается наглядность программы и понимание алгоритма решения задачи;

- в ряде случаев экономится память, время компиляции и выполнения (объем памяти, занимаемый одним элементом множества, составляет 1 бит; множественные операции выполняются быстрее).

Недостатки использования множеств объясняются тем, что ввод-вывод множеств не поддерживается языком Паскаль. Для этого нужно писать соответствующие процедуры. При этом если множество состоит из элементов стандартных скалярных типов, особых проблем не возникает. При использовании же скалярных типов пользователя разработка процедур ввода-вывода для множеств довольно сложна и требует много времени и памяти.

Пример. Требуется создать множество из элементов типа Char (выход из фазы создания осуществить при вводе значения ‘z’); найти в нем элемент с минимальным номером в таблице кодов; распечатать все элементы созданного множества в алфавитном порядке. Управление работой программы осуществить из меню.

Program DemoSet;

Var

S: set of Char;

N, Rejim: Char;

 

Procedure Konstr;

Begin

Writeln (‘Вводите элементы множества из букв a..z; символ z – окончание ввода’);

S: = [ ];

While True do

Begin

ReadLn (N);

S: = S + [ N ];

If N = z

then Exit

End

End;

 

Procedure MinS;

Begin

N: = ‘ ‘;

While not (N in S) do

N: = Succ(N);

Writeln ( Элемент с минимальным номером = ’, N)

End;

 

Procedure Rasp;

Begin

For N: = a ’ to ‘ z ’ do

If N in S

Then wtiteln (N)

End;

 

Begin

While True do

Begin

Writeln ( 1 – Создание );

Writeln ( 2 – Поиск Эл-та с мин-м номером );

Writeln ( 3 – Вывод Эл-ов мн-ва );

Writeln ( 4 – Выход из программы );

Readln (Rejim);

Case Rejim of

1 ’: Konstr;

2 ’: MinS;

3 ’: Rasp;

4 ’: Halt

End

End

End.


Дата добавления: 2015-09-27 | Просмотры: 395 | Нарушение авторских прав







При использовании материала ссылка на сайт medlec.org обязательна! (0.003 сек.)