Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Разработка подпрограммы resh

2017-12-21 176
Разработка подпрограммы resh 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

Спецификация

1. Назначение: вычисление множеств наличных карандашей, отсутствующих карандашей, дублирующих карандашей (все множества типа tkorobka).

2. Имя: resh

3. Вид: процедура

4. Перечень параметров

Таблица 20.5. Перечень параметров

Статус Назначение Имя Тип Вид
Вход Первая коробка n1 tkorobka параметр-константа
Вход Вторая коробка n2 tkorobka параметр-константа
Выход Наличные карандаши nal tkorobka параметр-значение
Выход Отсутствующие карандаши otsut tkorobka параметр-значение
Выход Дублирующие карандаши dubl tkorobka параметр-значение

Метод решения

1) nal:=n1 n2;

2) otsut:={ krasn, gelt, zelen, sini, korichn, chern } \ nal;

3) dubl:=n1 n2.

Текст процедуры

procedure resh(const n1,n2:tkorobka;var nal, otsut, dubl:tkorobka);

begin

{имеющиеся карандаши}

nal:=n1+n2; {объединение двух множеств - коробок}

 

{отсутствующие карандаши}

otsut:=[krasn..chern]-nal;

{вычитание из множества возможных цветов множества наличных цветов}

 

{дублирующие карандаши}

dubl:=n1*n2

 

end;

Разработка программы

Метод решения

1) read_mn(n1);

2) read_mn(n2);

3) resh(n1,n2,nal,otsut,dubl);

4) write_mn(nal);

5) write_mn(otsut);

6) write_mn(dubl).

Информационная модель

Таблица 20.6. Информационная модель

Статус Назначение Имя Тип
Вход Первая коробка n1 tkorobka
Вход Вторая коробка n2 tkorobka
Выход Наличные карандаши nal tkorobka
Выход Отсутствующие карандаши otsut tkorobka
Выход Дублирующие карандаши dubl tkorobka

Текст программы

program color_pencil;

type

 

{названия возможных цветов карандашей}

tpalitra = (krasn, gelt, zelen, sini, korichn, chern);

 

tkorobka = set of tpalitra;{тип информационной модели коробки карандашей}

 

const

{массив с символьными названиями цветов карандашей}

colors:array[tpalitra]of string=('красный','желтый','зеленый','синий','коричневый','черный');

 

procedure read_mn(var n:tkorobka);

var i:tpalitra;

otvet:char;

begin

n:=[];{коробка пуста - пустое множество}

{перебор возможных цветов}

for i:=krasn to chern do

begin

writeln('Есть ',colors[i],' карандаш? Ответьте: д/н');

readln(otvet);

if (otvet='Д')or(otvet='д')or(upcase(otvet)='L') then

begin

n:=n+[i];{добавление элемента в мнжество}

writeln(colors[i],' карандаш находится в коробке')

end

else writeln(colors[i],' карандаш отсутствует в коробке')

end

end;

 

procedure write_mn(const n:tkorobka);

var k:integer;

i:tpalitra;

begin

k:=0;

for i:=krasn to chern do

if i in n then

begin

if k<>0 then write(', ');

k:=k+1;

write(colors[i])

end;

if k=0 then writeln('нет карандашей')

else if k=1 then writeln(' карандаш')

else writeln(' карандаши')

 

end;

 

 

procedure resh(const n1,n2:tkorobka;var nal, otsut, dubl:tkorobka);

begin

{имеющиеся карандаши}

nal:=n1+n2; {объединение двух множеств - коробок}

 

{отсутствующие карандаши}

otsut:=[krasn..chern]-nal;

{вычитание из множества возможных цветов множества наличных цветов}

 

{дублирующие карандаши}

dubl:=n1*n2

 

end;

 

 

var n1,n2: tkorobka; {коробки с карандашами}

nal,otsut,dubl:tkorobka; {результаты вычислений: наличие, отсутствие, дубль}

begin

writeln('заполнение первой коробки');

read_mn(n1);

 

writeln('заполнение второй коробки');

read_mn(n2);

 

resh(n1,n2,nal,otsut,dubl);

 

writeln('Имеющиеся:');

write_mn(nal);

 

writeln('Отсутствующие:');

write_mn(otsut);

 

writeln('Дублирующие:');

write_mn(dubl)

end.


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

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

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.