русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Элемент In Множество,


Дата добавления: 2014-11-27; просмотров: 876; Нарушение авторских прав


которая дает значение True, если элемент принадлежит множеству.

 

Пример.’А’ In [’A’,’B’,’Г’,’Д’] результат True

’A’ In [’X’,’Y’,’Z’] результат False

S In [’A’..’Z’] результат True, если S - латинская буква.

Операция Inможет эффективно применяться для исключения сложных проверок. Например, вместо проверки

If (Ch=’A’) Or (Ch=’E’) Or (Ch=’I’) Or (Ch=’S’) Or (Ch=’X’) then

Оператор1;

можно записать более простую

If Ch In [’A’,’E’,’I’,’S’,’X’] then

Оператор1;

 

2) Объединением двух множеств является множество, составленное из элементов, входящих в оба исходных. Операция объединения обозначается знаком +.

Пример.[’A’,’B’,’C’] + [’D’,’E’] = [’A’,’B’,’C’,’D’,’E’]

[’A’,’B’] + [’A’,’E’] = [’A’,’B’,’E’]

3) Пересечением двух множеств является множество, состоящее из элементов, которые входят одновременно в оба исходных. Знак операции пересечения *.

Пример.[’A’,’B’,’C’] * [’A’,’C’] = [’A’,’C’]

[’A’,’B’] * [’X’,’Y’] = [ ]

[ ]*[ ] = [ ]

4) Разностью двух множеств является множество, состоящее из элементов первого, которые не входят во второе. Знак операции вычитания: .

Пример.[’A’,’B’,’C’] – [’A’,’C’] = [’B’]

[’A’,’B’] – [ ] = [’A’,’B’]

[’A’,’B’] – [’A’,’B’] = [ ].

 

Примеры программ с использованием множеств

 

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

 

Один из алгоритмов ввода множества

1. Множество :=[ ].

2. Повторять

2.1. Ввести элемент;

2.2. Множество:= Множество + [элемент].

Пока не надоест.

 

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



 

Один из алгоритмов вывода множества

1. Для Элемента от Первого_значения до Последнего_значения выполнить

Если Элемент принадлежит (In) Множеству, то

Вывести Элемент.

 

Рассмотрим примеры алгоритмов и программ, использующих множества.

 

Пример 1.Сформировать и вывести на экран множество из n символов латинского алфавита (n<20). Если вводимая буква уже есть в множестве, выдать соответствующее сообщение.

 

Program Mnog_Sim;

Const

N=20;

Var

S : Set Of Char;

B : Char;

I : Integer;

Begin

S := [];

For I:=1 To N Do

Begin

Writeln (’Введите букву’);

Readln(B);

If B In S Then

Writeln(’Буква ’,B,’ уже есть’)

Else

S:=S+[B];

End;

Writeln(’Буквы, входящие в множество’);

For B:=’A’ To ’z’ Do

If B In S Then

Write(B:2);

End.

 

Обратите внимание, что вводимые буквы могут быть и прописными, и строчными, поэтому при выводе в цикле For параметр цикла принимает все значения для букв латинского алфавита от A до z.

 

Пример 2.Используя множество гласных букв, подсчитать количество гласных в предложении. Предложение и множество гласных ввести с клавиатуры.

Program Glasn;

Var

P : String; {предложение}

Gl : Set Of Char; {множество гласных}

B : Char;

K,I,N : Integer;

Begin

Gl := [];

B := ’#’;

While B <> ’!’ do

Begin

Writeln (’Введите гласную, конец ввода – !’);

Readln(B);

If B <> ’!’ then

Gl := Gl+[B];

End;

Writeln (’Введите предложение’);

Readln(P);

K := 0;

N := Length(P);

For I := 1 To N Do

If P[I] In Gl Then

K := K+1;

Writeln (’Количество гласных в предложении - ’,K);

WriteLn(’Нажмите клавишу ENTER...’);

ReadLn;

End.

Пример 3.Составить программу продажи билетов на пароход. Пусть места на пароходе нумеруются (для простоты) от 1 до n (n < 250). Покупатель заказывает номера мест. Если они свободны, то ему выдаются билеты, и номера мест исключаются из числа свободных. В противном случае предлагаются номера свободных мест. Если все билеты проданы, то начинается путешествие.

 



<== предыдущая лекция | следующая лекция ==>
Множества | Алгоритм


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.105 сек.