![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
MSDDV |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Репутация: ![]() ![]() ![]() |
Из данных 40 задач остался один десяток "мозги высохли" ,
собсно вот они: приму любые предложения 1.Даны действительное число x, натуральное число q (0 ≤ x < 1, q ≥ 2). Получить пять цифр q-ичного представления числа х, т. е. получить последовательность целых неотрицательных a(-1), ..., а(-5) такую, что х = a(-1)q^(-1)+…a(-5)q^(-5)+r, 0 ≤ a(-i) ≤ q^(-1), r < q^(-5) 2.Даны действительные числа х(1),…,х(15), y(1),…,y(15), r(1),… r(15). Выяснить, есть ли на плоскости точка, принадлежащая всем кругам c(1),…,c(15), где c(i) имеет центр c координатами х(i) > y(i); и радиус ri (i=1,…,15). 3.Даны действительные числа s,t многочлен Р(х) степени n. Получить многочлен (sх^2 + t) Р(х) + Р'(х), где Р'(х) — производная многочлена Р(х). 4.Даны квадратная матрица A порядка n, векторы x и y с n элементами. Получить вектор A(x+y). 5.Следующий способ предназначен для шифровки последовательностей нулей и единиц (или же, например, точек и тире). Пусть а(1) ..., а(n) — такая последовательность. То, что предлагается в качестве ее шифра,— это последовательность, образованная по следующему закону: b(1)=a(1) b(i) = 1, если a(i) = a (i -1) 0 в проитивном случае Пользуясь изложенным способом: а) зашифровать данную последовательность; б) расшифровать данную последовательность. 6.Изобразить на экране отрезок, вращающийся в плоскости экрана вокруг а) своей середины; б) своего конца; в) точки, делящей отрезок в отношении 1:3. |
![]() ![]() |
Archon |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Насколько я знаю, в паскале при возведении в квадрат числа типа integer получается число типа integer. Может возникнуть ошибка переполнения.
Предлагаю использовать числа longint и ограничить максимальный размер числа (их лучше задавать random'ом). Код Program MSDDV_2; Uses crt; const MaxX = 319; MaxY = 199; MinR = 100; MaxR = 200; var x, y, r : array [1..15] of longint; i, j, k : integer; S : boolean; begin TextMode(259); Randomize; For k := 1 to 15 do begin x[k] := Random(MaxX+1); y[k] := Random(MaxY+1); r[k] := Random(MaxR-MinR+1)+MinR; Writeln('x[',k:2,']=',x[k]:3,' y[',k:2,']=',y[k]:3, ' r[',k:2,']=',r[k]:3); end; For i := 0 to MaxX do For j := 0 to MaxY do begin S := true; For k := 1 to 15 do If sqr(i-x[k])+sqr(j-y[k]) > sqr(r[k]) then S := false; If S then Write('(',i:3,',',j:3,') '); end; ReadKey; end. -------------------- Close the World...txeN eht nepO
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(Archon @ 12.06.05 12:11) Насколько я знаю, в паскале при возведении в квадрат числа типа integer получается число типа integer. Может возникнуть ошибка переполнения. Предлагаю использовать числа longint и ограничить максимальный размер числа (их лучше задавать random'ом). Нет, не принимается !!! ![]() Кстати, в твоей программе есть логическая ошибка: у тебя будут распечатываться все те точки, которые попадают в круг №15, потому как S присваивается результату последней проверки, а результаты предыдущих проверок не учитываются... |
![]() ![]() |
![]() |
Текстовая версия | 7.09.2025 7:08 |