компьютерная графика, изобразить окрузность в паскале и заштриховать её |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
компьютерная графика, изобразить окрузность в паскале и заштриховать её |
Багирка |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Анастасия Репутация: 0 |
задача такова: по заданным значениям координат центра окружности и числа N , построить окружность максимального радиуса, целиком помещающуюся в экран и разбить её на N заштрихованных разными типами штриховки полос равной ширины.
Пожалуйста помогите! зачет в субботу не успеваю все сделать... |
Багирка |
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Женский Реальное имя: Анастасия Репутация: 0 |
в этой проге где то ошибка!!! где???????????
|
Lapp |
Сообщение
#3
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
в этой проге где то ошибка!!! где??????????? Это зависит от того с каким уровнем строгости подходить. При желании можно сказать, что эта прога одна сплошная ошибка . А вообще, желательно давать хоть какие-то дополнительные сведения о преполагаемой ошибке, а не заставлять гадать. Начать с того, что вряд ли реальный путь к bgi-файлу есть "d\tp\bgi" - скорее уж, он все же "d:\tp\bgi". Еще есть некоторая асимметрия: центр окружности может попасть на правый край экрана, но не может попасть на левый. Не знаю, можно ли это считать ошибкой, но я бы делал так: until (x0>=0)and(x0<=639)and(y0>=0)and(y0<=479); А лучше так: until (0<=x0)and(x0<=GetMaxX)and(0<=y0)and(y0<=GetMaxY); А если учесть, что нужно еще делать n полос, то и вот так: until (n<=x0)and(n<=GetMaxX-x0)and(n<=y0)and(n<=GetMaxY-y0); Соответственно, n в этом случае нужно вводить раньше x0 и y0, и при вводе n тоже нужен контроль на ошибку (чтоб не вводили слишком большие числа). Некрасиво (но ни в коем случае не ошибка!), что ты злоупотребляешь скобками, вплоть до заключения в них одиночных переменных (типа r1:=round(r*(i)/n); ) Несколько (но не слишком) неприглядное форматирование... тоже не ошибка Больше никакой крамолы не вижу.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 19.05.2024 11:29 |