IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> компьютерная графика, изобразить окрузность в паскале и заштриховать её
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


задача такова: по заданным значениям координат центра окружности и числа N , построить окружность максимального радиуса, целиком помещающуюся в экран и разбить её на N заштрихованных разными типами штриховки полос равной ширины.
Пожалуйста помогите! зачет в субботу не успеваю все сделать...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Сам хоть что-то пытался сделать?
Покажи.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


Цитата(Lapp @ 24.12.2008 13:00) *

Сам хоть что-то пытался сделать?
Покажи.


если бы было время... не знаю за что хвататься... ещё 6 прог надо написать...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Багирка @ 24.12.2008 17:54) *
если бы было время... не знаю за что хвататься... ещё 6 прог надо написать...
А!.. То есть, ты нам покажешь остальные шесть, да?.. Это радует! smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


Цитата(Lapp @ 24.12.2008 20:45) *

А!.. То есть, ты нам покажешь остальные шесть, да?.. Это радует! smile.gif


покажу) тока вначале сделаю) а вот та программка (не знаю правильно ли)

Program oooo;
uses crt,graph;
var n,i,gd,gm,x0,y0,r,r1:integer;
begin
clrscr;
repeat
write('x0=');readln(x0);
write('y0=');readln(y0);
until (x0>0)and(x0<640)and(y0>0)and(y0<480);
write('N=');readln(n);
gd:=detect;
InitGraph(gd,gm,'d\tp\bgi');
r:=y0;
if (getmaxY-y0)<r then r:=(getmaxY-y0);
if x0<r then r:=x0;
if (getmaxX-x0)<r then r:=(getmaxX-x0);
Setcolor(4);
Circle(x0,y0,r);
for i:=n downto 1 do
begin
r1:=round(r*(i)/n);
SetFillStyle(i+1,i+1);
FillEllipse(x0,y0,r1,r1);
end;
readln;
closegraph;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


А не так?


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Ozzя @ 25.12.2008 17:23) *
А не так?

Я тоже так подумал smile.gif. Но никто не сказал, что полосы прямые..
К тому же, в этом варианте нет неоднозначности с наклоном, что есть плюс smile.gif.

Красота!


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


в этой проге где то ошибка!!! где???????????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Багирка @ 27.12.2008 18:00) *
в этой проге где то ошибка!!! где???????????

Это зависит от того с каким уровнем строгости подходить. При желании можно сказать, что эта прога одна сплошная ошибка smile.gif.
А вообще, желательно давать хоть какие-то дополнительные сведения о преполагаемой ошибке, а не заставлять гадать.

Начать с того, что вряд ли реальный путь к 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); )

Несколько (но не слишком) неприглядное форматирование... тоже не ошибка smile.gif
Больше никакой крамолы не вижу.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Анастасия

Репутация: -  0  +


Цитата(Lapp @ 28.12.2008 6:55) *

Это зависит от того с каким уровнем строгости подходить. При желании можно сказать, что эта прога одна сплошная ошибка smile.gif.
А вообще, желательно давать хоть какие-то дополнительные сведения о преполагаемой ошибке, а не заставлять гадать.

Начать с того, что вряд ли реальный путь к 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); )

Несколько (но не слишком) неприглядное форматирование... тоже не ошибка smile.gif
Больше никакой крамолы не вижу.. smile.gif


хм... путь и правда я не так написала. а вот остальное... спасибо! не подумала...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.05.2024 23:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name