IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Множества, модули, массивы... :(
сообщение
Сообщение #1


Гость






Привет всем !

Делали мне как-то тут задачки. Сдала лабы, защитила. Но вот новые задания выдали... Опять нужна помощь... sad.gif
Спасибо тем, кто откликнется и поможет.

Лабораторная работа   12:  Множества .
Задание: Даны два множества A и B. Постройте из них следующее множество: A*B-A.

Лабораторная работа   13:  Модули .
Задание: Дан массив чисел (n=1000). Напечатать элементы массива, которые являются:
А) степенями двойки (1,2,4,8,16,.);
Б) полными квадратами (1,4,9,16,25,.).
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 209

Репутация: -  0  +


Вот переделал первую как просила, элементы множеств заполняются с клавиатуры.
К сожалению в Паскале не предусмотрен вывод множества на экран, поэтому нам
это сделать не удастся, конечно множества можно предстовлять в виде массивов
и работать с ними, но я думаю, что задача предложенная в качестве темы "Множества"
должна работать с типом данных Множество предусмотренном в Паскале.
И никакие WriteLn нам не помогут... :(
А удостовериться в получении нового множества, сформированного по предложенному принципу,
можно только силами отладчика.
Код

Program _Set_;

Const
  N = 5;       { Количество вводимых элементов множеств }

Type
  Set_Int = Set of 0..50;  { Диапазон значений }

Var
  A, B, NewSet : Set_Int;
  El           : 0..50;
  i            : Integer;

Begin
  Writeln('--- Работа с множествами ---');
  A:=[];    { A и B пустые множества }
  B:=[];
  { Заполнение множеств A и B с клавиатуры }
  for i:=1 to N do
  begin
     Write('Введите ',i,' -й элемент множества A (0-50) : ');
     Readln(El);
     { Если введеный элемент не входит в множество A то поместить }
     if NOT(El in A) then
     begin
      Writeln(El,' помещен в множество A.');
      A:=A+[El];
     end;
     Write('Введите ',i,' -й элемент множества B (0-50) : ');
     Readln(El);
     { Если введеный элемент не входит в множество B то поместить }
     if NOT(El in B) then
     begin
      Writeln(El,' помещен в множество B.');
      B:=B+[El];
     end;
  end;
  { Формирование нового множества NewSet }
  NewSet:=A*B-A;
  Writeln;
  Writeln('Создано два множества A и B');
  Writeln('и новое множество NewSet = A*B-A.');
  Readln;
End.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.06.2024 11:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name