![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Мне интересно: тебе не стыдно?
|
Ivs |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 209 Репутация: ![]() ![]() ![]() |
Юль, а там, в первой, множества задаются с клавиатуры или как константы.... ???
-------------------- Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
|
Ivs |
![]()
Сообщение
#4
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 209 Репутация: ![]() ![]() ![]() |
Вот собснно первая,......это если без заполнения с клавиатуры, если надо заполнять множества с клавы, то напиши, можно переделать....
Код 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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Юль, мир!
|
Юлька |
![]()
Сообщение
#8
|
Гость ![]() |
AlaRic
...а дружба и жвачка ?? ![]() Ivsik !! :-* Я пишу writeln (New_Set), а он выдает мне что не может это на экран написать... (это я про прервую задачу). А так вроде запускается.. но только непонятно что происходит.. Я Alt+F5 нажимаю, а там пусто... Результата нету ![]() |
Ivs |
![]()
Сообщение
#9
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 209 Репутация: ![]() ![]() ![]() |
Вот переделал первую как просила, элементы множеств заполняются с клавиатуры.
К сожалению в Паскале не предусмотрен вывод множества на экран, поэтому нам это сделать не удастся, конечно множества можно предстовлять в виде массивов и работать с ними, но я думаю, что задача предложенная в качестве темы "Множества" должна работать с типом данных Множество предусмотренном в Паскале. И никакие 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, я тебя почти люблю ;)
|
![]() ![]() |
![]() |
Текстовая версия | 1.07.2025 7:45 |