Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
198 / 10 / 3
Регистрация: 30.04.2016
Сообщений: 732

Программа на тему множества

15.07.2020, 11:39. Показов 921. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана программа на тему множества. Программа выдаёт только конечный результат – совпадение элементов двух множеств./Цитата из Самоучителя: К сожалению, Паскаль не желает выводить множества на печать, как он не желает печатать перечислимые типы./
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses Crt;
const Razmer = 10; kol = 6;
Var Medium, Extrasens, a: set of 0..Razmer;
       i: Integer;
begin ClrScr;
{Формируем случайным образом две шестёрки}
Randomize;
  Medium:= [];  Extrasens:= [];  {Формируем с нуля, т. е. с пуcтых множеств}
   for i:= 1 to kol do begin
Medium:= Medium + [Random(Razmer + 1)];  {Наращиваем по одному эл-ту в множестве Медиум}
Extrasens:= Extrasens + [Random(Razmer + 1)];  {То же,   для множества Ехтрасенс}
      end;  {для for}
a:= Medium * Extrasens;
   if a = [ ] then Write(' Не угадал ни разу')
       else begin
WriteLn(' Есть совпадения, вот они:');
{Распечатываем эл-ты множества  а:}
         for i:= 0 to Razmer do if i  in a then WriteLn(' ',i:3);
             end;  {else}
      ReadLn
end.
На выходе имеем:
Pascal
1
2
3
Есть совпадения, вот они:
     3   7   8
Или:  Не угадал ни разу
Такая программа не нравится. Нет исходных данных. Игра в тёмную. А можно сделать так, чтобы сначала напечатались
исходные данные:
Pascal
1
2
3
 Razmer в количестве 10 элементов
 Medium в количестве kol = 6
 Extrasens в количестве kol = 6
Сделать это в виде массивов? Или как то по другому?
А может быть сделать совпадения элементов Medium и Extrasens в виде процедуры? А в главной программе сделать исходные три массива? Или как то по другому. Чтобы было видно: что мы имеем и что мы получили в результате!
Вот такие пожелания.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.07.2020, 11:39
Ответы с готовыми решениями:

Задача на тему: множества
Задан текст из маленьких латинских букв в конце стоит точка. Напечатать в алфавитном порядке все согласные буквы которые не входят ни в...

Программа на тему множества
Дана программа на тему множества. (Самоучитель, стр. 121) Программа выдаёт только конечный результат – совпадение элементов двух...

программа на тему строки!
помогите написать прогу! Во введённом тексте заменить цифры от 0 до 9 на слова «ноль, «один», …, «девять». заранее спасибо!

3
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
15.07.2020, 17:05
Цитата Сообщение от Petro29 Посмотреть сообщение
Или как то по другому. Чтобы было видно: что мы имеем и что мы получили в результате!
можно напечатать содержимое множеств. Точно так же, как в твоём примере выводится множество a (произведение исходных множеств)

Pascal
1
2
3
4
5
6
7
Write('Множество Medium:'); 
for i:=0 to Razmer do if i in Medium then Write(i,' ');
WriteLn;
 
Write('Множество Extrasens:'); 
for i:=0 to Razmer do  if i in Extrasens then Write(i,' ');
WriteLn;


а можешь числа, которые случайные получаются записывать в переменную и выводить на экран.
0
198 / 10 / 3
Регистрация: 30.04.2016
Сообщений: 732
11.08.2020, 10:46  [ТС]
Попытка напечатать хотя бы одно множество не удалась. Получили пустую строку.
А вот если вместо выражения из трёх строк (8, 9, 10) напечатать три строки в таком виде:
Pascal
1
2
3
8.  WriteLn(' Множество Medium');
9.  for i:= 0 to Razmer do
10.  Write(I,' ')
Получаем такой выход:
Pascal
1
2
3
4
  Множество Medium
0   1  2  3  4  5  6  7  8  9  10
  Есть совпадения, вот они
5   8  9
И ещё вопрос: что значит в условии : const Razmer = 10; kol = 6;
Из десяти чисел печатать множество из 6 чисел. Так?
А добавив три строки (такие же как для 1-го множества) получили такой выход:
Pascal
1
2
3
4
5
6
  Множество Medium
0   1  2  3  4  5  6  7  8  9  10
          Множество Extrasens
1   2  3  4  5  6  7  8  9  10
  Есть совпадения, вот они
     2   3   7
И как это понимать. Здесь совпадают все 10 чисел, кроме нуля.
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
11.08.2020, 11:55
Цитата Сообщение от Petro29 Посмотреть сообщение
И как это понимать. Здесь совпадают все 10 чисел, кроме нуля.
ты не выводишь содержимое множеств.

вот это
Цитата Сообщение от Petro29 Посмотреть сообщение
Pascal
1
2
3
WriteLn(' Множество Medium');
  for i:= 0 to Razmer do
  Write(I,' ');
напечатает не содержимое множества Medium - а все числа от нуля до Razmer

убедиться в этом ты можешь легко.
возьми такую программу и разбери:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses Crt;
const Razmer = 10;
Var 
   Medium, Extrasens, a: set of 0..Razmer;
   i : integer;
begin
   ClrScr;
   WriteLn('Заполним множество Medium 4-мя константами.');
   Medium := [8, 2, 5, 3];  {множество Medium заполнили константами, 
                                         в множестве теперь ровно четыре элемента}
  WriteLn(' ЭТО НЕ Множество Medium: ');
  for i:=0 to Razmer do
      Write(i,' ');
  writeLn;
  {тут мы получим просто все числа от 0 до 10}
 
  WriteLn(' а вот это Множество Medium: ');
  for i:=0 to Razmer do
      if i in Medium then Write(i,' ');
  WriteLn;
 
  ReadLn
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.08.2020, 11:55
Помогаю со студенческими работами здесь

программа на тему: массивы
Вариант 17. А). В одномерном массиве, состоящем из n целых элементов вычислить: 1. количество положительных элементов; 2. сумму...

Программа на тему – Числовые типы
Программа на тему – Числовые типы. (повтор) uses Crt; Var a, b, Y: Real; begin ClrScr; a:= 55555555555.1; b:=...

Программа на тему Динамические переменные
Описать необходимые переменные и написать программу, создающую структуру данных, показанную на рисунке. В конце программы ввести оператор,...

Программа на тему – Числовые типы
Программа на тему – Числовые типы. uses Crt; Var a, b, Y: Real; begin ClrScr; a:= 55555555555.1; b:= 55555555555.0; ...

Нужна готовая, заполненная программа по 1с 8.2 на любую тему
Если есть готовая база, скиньте, кому не жалко


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru