Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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





 

При разработке алгоритмов и программ с множествами необходимо учесть, что Паскаль не обеспечивает ввод или вывод множеств непосредственно с помощью операторов 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). Покупатель заказывает номера мест. Если они свободны, то ему выдаются билеты, и номера мест исключаются из числа свободных. В противном случае предлагаются номера свободных мест. Если все билеты проданы, то начинается путешествие.

 







Дата добавления: 2014-12-06; просмотров: 1316. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

Studopedia.info - Студопедия - 2014-2026 год . (0.012 сек.) русская версия | украинская версия