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