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

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

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

 
 Ответить  Открыть новую тему 
> Есть график. Надо ему добавить "фишек", разукрасить надо график
сообщение
Сообщение #1





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

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


Есть график - эпициклоида.
График я построил. Но его надо разукрасить. Т.е добавить фишечек. Или чтобы он "якобы разбивался на несколько N-частей" и каждая часть по особому закрашивалась. Или чтобы как-то ещё. На что будет фантазия.

program sd;
uses crt, graph;
Var gb, gm, x,y,a,b,q,p,k : integer;
t,m : real;
n:boolean;
Const
grPath='d:\BP\BGI';

Begin
gb := detect;
InitGraph(gb ,gm ,grPath); {переход в графический режим}
t :=0; {установка начальных значений}
x:= 0;
y := 0;


SetTextStyle(0,HorizDir,0); {определяет стиль и размер шрифта}
OutTextXY(2,3, 'vvedite_a'); {вывод строки в графическом режиме}
gotoXY(13,1); {перемещение курсора в данную точку}
read(a);
OutTextXY(2,18, 'vvedite_b');
gotoXY(13,2);
read(b);
OutTextXY(2, 32,'vvedite_p');
gotoXY(13,3);
read(p);
OutTextXY(2,47,'vvedite_q');
gotoXY(13,4);
read(q);

{===============================}
{проверка первого случая в задании}
{b/a - положительное число }
m:=b/a; {проверка, чтобы b/a было целым числом}
k:=round(m);
if m-k=0 then n:=true
else n:=false;

if ((b/a)>0) and (n=true) and ((p/q)<>(b/a)) then
begin
Repeat
Repeat
t := t+pi/3500;
x := round((a+b)*cos(t)-a*cos((a+b)*t/a));
y := round((a+b)*sin(t)-a*sin((a+b)*t/a));
Putpixel(340+x, 240+y, 5);
until t >= 2*pi;
Until keypressed;
end;

{===================================}
{случай второй}

if ((b/a)=(p/q)) then
begin

Repeat
Repeat
t := t+2*q*pi/3500;
x := round((a+b)*cos(t)-a*cos((a+b)*t/a));
y := round((a+b)*sin(t)-a*sin((a+b)*t/a));
Putpixel(340+x, 240+y, 5);
until t >= 2*pi;
Until keypressed;
closegraph;
end;

{=======================================}
readln;
end.


Сообщение отредактировано: Zolter -


Прикрепленные файлы
Прикрепленный файл  epicicloida.PAS ( 1.55 килобайт ) Кол-во скачиваний: 262
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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