![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
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 присваивается результату последней проверки, а результаты предыдущих проверок не учитываются... |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 17:24 |