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


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

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


Мне интересно: тебе не стыдно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

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

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


Юль, а там, в первой, множества задаются с клавиатуры или как константы.... ???


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


Бывалый
***

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

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


Вот собснно первая,......это если без заполнения с клавиатуры, если надо заполнять множества с клавы, то напиши, можно переделать....
Код

Program _Set_;

Type
  Set_Byte = Set of 0..255;  { Множество может принимать до 255 различных значений }
Var
  A,B      : Set of 0..50;
  New_Set  : Set of 0..100;
Begin
  A:=[1,3,5,2,0];            { Заполняем множество A числами }
  B:=[1,8,9,6,4];            { Заполняем множество B числами }
  New_Set:=A*B-A;            { Формируем новое множество     }
end.

Вот собсноо и вторая.....
Если что не так как хотелось бы не стесняйся спрашивай, поможем чем сможем.......
Код

Program Exponent_Too;

Const
  N = 1000;  { Количество элементов }

Var
  A    : Array [1..N] of Integer;
  i    : Integer;
  r    : Real;
  Bool : Boolean;

Begin
  Randomize; { Заполнение массива случайными числами от 1 до N }
  for i:=1 to N do
  begin
     A[i]:=Random(N);
     Write(A[i],' ');
  end;
  {=A=}
  Writeln;
  Writeln('--- Exponents Too ----');
  for i:=1 to N do
  begin
     { Инициализируем переменные }
     bool:=TRUE;
     r:=A[i];
     { Если четное то проверяем дальше }
     if (A[i] mod 2 = 0) and (A[i]<>0) then
     { Делим на 2 до тех пор пока r не равно 2}
      while (bool) and (r<>2) do
      begin
         r := r/2;
         { Если успешно делится то делим дальше, иначе это не то число и выход }
         if frac(r)<>0 then bool:=FALSE;
      end;
      { Число разделилось до двух значит то что надо и выводим на экран }
      if r=2 then Write('A[',i,']=',A[i],' ');
  end;
  Writeln;
  Writeln('Press Any Key ...');
  Readln;
  {=B=}
  Writeln('--- Full Square ---');
  { Проверка на квадрат }
  for i:=1 to N do
  begin
     { Получаем квадратный корень в r }
     r:=sqrt(A[i]);
     { Если r это целое число то выводим его на экран }
     if frac(r)=0 then Write('A[',i,']=',A[i],' ');
  end;
  Readln;
End.

Цитата
Мне интересно: тебе не стыдно?

Ну и что..зато смотри как тема красиво называется, почему бы и не помочь? что такого то????


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


Гость






Ivs, да, надо с клавиатуры smile.gif Если переделаешь - буду очень признательна. Хотя все равно спасибище большое !! smile.gif)

AlaRic
Нет, не стыдно. Я не знаю информатику, и, как ни странно, не стыжусь этого... Людям свойственны некоторые подобные вещи.. smile.gif
Вообще, могли бы просто промолчать... sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Ivs, я, конечно, туповата, но... в первой задаче на экран вообще ничего не выводится... smile.gif
Там надо дописать что-то где-то ? writeln и все такое ? ;)) Я не знаю куда писать...

AlaRic, не злись пожалуйста.. smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

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


Юль, мир!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






AlaRic
...а дружба и жвачка ?? smile.gif

Ivsik !!  :-*
Я пишу writeln (New_Set), а он выдает мне что не может это на экран написать... (это я про прервую задачу). А так вроде запускается.. но только непонятно что происходит.. Я Alt+F5 нажимаю, а там пусто... Результата нету sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Ivs, я тебя почти люблю ;)
 К началу страницы 
+ Ответить 

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

 





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