Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Спецификация
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!