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

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

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

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


Гость






Привет всем !

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

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

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

 



- Текстовая версия 1.07.2025 14:32
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"