Множества, модули, массивы... :( |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Множества, модули, массивы... :( |
Юлька |
2.04.2003 14:26
Сообщение
#1
|
Гость |
Привет всем !
Делали мне как-то тут задачки. Сдала лабы, защитила. Но вот новые задания выдали... Опять нужна помощь... Спасибо тем, кто откликнется и поможет. Лабораторная работа 12: Множества . Задание: Даны два множества A и B. Постройте из них следующее множество: A*B-A. Лабораторная работа 13: Модули . Задание: Дан массив чисел (n=1000). Напечатать элементы массива, которые являются: А) степенями двойки (1,2,4,8,16,.); Б) полными квадратами (1,4,9,16,25,.). |
AlaRic |
2.04.2003 17:53
Сообщение
#2
|
... Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: 3 |
Мне интересно: тебе не стыдно?
|
Ivs |
2.04.2003 19:20
Сообщение
#3
|
Бывалый Группа: Пользователи Сообщений: 209 Репутация: 0 |
Юль, а там, в первой, множества задаются с клавиатуры или как константы.... ???
-------------------- Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
|
Ivs |
2.04.2003 21:02
Сообщение
#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
|
Юлька |
3.04.2003 3:18
Сообщение
#5
|
Гость |
Ivs, да, надо с клавиатуры Если переделаешь - буду очень признательна. Хотя все равно спасибище большое !! )
AlaRic Нет, не стыдно. Я не знаю информатику, и, как ни странно, не стыжусь этого... Людям свойственны некоторые подобные вещи.. Вообще, могли бы просто промолчать... |
Юлька |
3.04.2003 3:53
Сообщение
#6
|
Гость |
Ivs, я, конечно, туповата, но... в первой задаче на экран вообще ничего не выводится...
Там надо дописать что-то где-то ? writeln и все такое ? ;)) Я не знаю куда писать... AlaRic, не злись пожалуйста.. |
AlaRic |
3.04.2003 9:57
Сообщение
#7
|
... Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: 3 |
Юль, мир!
|
Юлька |
3.04.2003 15:02
Сообщение
#8
|
Гость |
AlaRic
...а дружба и жвачка ?? Ivsik !! :-* Я пишу writeln (New_Set), а он выдает мне что не может это на экран написать... (это я про прервую задачу). А так вроде запускается.. но только непонятно что происходит.. Я Alt+F5 нажимаю, а там пусто... Результата нету |
Ivs |
3.04.2003 19:23
Сообщение
#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
|
Юлька |
4.04.2003 3:35
Сообщение
#10
|
Гость |
Ivs, я тебя почти люблю ;)
|
Текстовая версия | 22.06.2024 12:29 |