Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 63
1

Нарисуйте на экране диагональ экрана, состоящую из 15 разноцветных правильных заполненных восьмиугольников

13.03.2018, 09:00. Показов 2131. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нарисуйте на экране диагональ экрана, состоящую из 15 разноцветных правильных заполненных восьмиугольников. Составитб блок-схему. Turbo Pascal.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2018, 09:00
Ответы с готовыми решениями:

Нарисовать диагональ экрана, состоящую из 15 разноцветных шестигранников
Нарисовать диагональ экрана, состоящую из 15 разноцветных шестигранников

Нарисовать «диагональ» экрана, состоящую из 50 разноцветных эллисов.
Нарисовать «диагональ» экрана, состоящую из 50 разноцветных эллисов. Помогите пожалуйста с...

Нарисовать диагональ экрана, состоящую из 15 разноцветных треугольников
нарисовать диагональ экрана состоящую из 15 разноцветных треугольников

Нарисуйте последовательность из 16 разноцветных заполненных звезд
помогите... нарисуйте последовательность из 16 разноцветных заполненных звезд..

3
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
13.03.2018, 11:39 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
uses graph;
const n=15;
var x,y,r,dx,dy,i,j:integer;
    u:real;
    p:array[1..9] of pointtype;
begin
initgraph(x,y,'');
r:=getmaxX div 30;
x:=r;
dx:=2*r;
y:=r;
dy:=3*r div 2;
for i:=1 to n do
 begin
  u:=pi/2;
  for j:=1 to 9 do
   begin
    p[j].x:=x+round(r*cos(u));
    p[j].y:=y-round(r*sin(u));
    u:=u+pi/4;
   end;
  setcolor(i);
  setfillstyle(1,i);
  fillpoly(9,p);
  x:=x+dx;
  y:=y+dy;
 end;
readln
end.
Добавлено через 23 минуты
Или так, с более плотной подгонкой.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
uses graph;
const n=15;
var x,y,r,dx,dy,i,j:integer;
    u:real;
    p:array[1..9] of pointtype;
begin
initgraph(x,y,'');
r:=getmaxX div 24;
x:=r;
dx:=2*r-11;
y:=r;
dy:=3*r div 2-10;
for i:=1 to n do
 begin
  u:=pi/8;
  for j:=1 to 9 do
   begin
    p[j].x:=x+round(r*cos(u));
    p[j].y:=y-round(r*sin(u));
    u:=u+pi/4;
   end;
  setcolor(i);
  setfillstyle(1,i);
  fillpoly(9,p);
  x:=x+dx;
  y:=y+dy;
 end;
readln
end.
Добавлено через 1 час 58 минут
Лучше даже так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
uses graph;
const n=15;
var x,y,r,h,dx,dy,i,j:integer;
    u:real;
    p:array[1..9] of pointtype;
begin
initgraph(x,y,'');
r:=getmaxX div 24;
h:=round(r*cos(pi/8));
x:=h;
dx:=getmaxX div 16;
y:=h;
dy:=getmaxY div 16;
for i:=1 to n do
 begin
  u:=pi/8;
  for j:=1 to 9 do
   begin
    p[j].x:=x+round(r*cos(u));
    p[j].y:=y-round(r*sin(u));
    u:=u+pi/4;
   end;
  setcolor(i);
  setfillstyle(1,i);
  fillpoly(9,p);
  x:=x+dx;
  y:=y+dy;
 end;
readln
end.
1
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 63
12.04.2018, 12:21  [ТС] 3
Можно ли сделать эту программу методом процедуры без параметров?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
12.04.2018, 12:58 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses graph;
const n=15;
var x,y,r,h,dx,dy,i,j:integer;
    u:real;
    p:array[1..9] of pointtype;
procedure diagonal;
begin
initgraph(x,y,'');
r:=getmaxX div 24;
h:=round(r*cos(pi/8));
x:=h;
dx:=getmaxX div 16;
y:=h;
dy:=getmaxY div 16;
for i:=1 to n do
 begin
  u:=pi/8;
  for j:=1 to 9 do
   begin
    p[j].x:=x+round(r*cos(u));
    p[j].y:=y-round(r*sin(u));
    u:=u+pi/4;
   end;
  setcolor(i);
  setfillstyle(1,i);
  fillpoly(9,p);
  x:=x+dx;
  y:=y+dy;
 end;
end;
begin
diagonal;
readln
end.
1
12.04.2018, 12:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2018, 12:58
Помогаю со студенческими работами здесь

Нарисуйте окружность состоящую из 36 разноцветных пятиугольных звёзд
Нарисуйте окружность состоящую из 36 разноцветных пятиугольных звёзд, цвет которых непрерывно...

Нарисуйте сетку 20х20, состоящую из разноцветных прямоугольных треугольников четырех видов, различающихся расп
нарисуйте сетку 20х20, состоящую из разноцветных прямоугольных треугольников четырех видов,...

Нарисовать диагональ экрана, состоящую из 15 шестигранников (Pascal ABC)
Нужно нарисовать диагональ экрана, состоящую из 15 шестигранников Pascal ABC(Только паскаль абс,...

Изобразить на экране пять разноцветных окон, расположенных по диагонали черного экрана
Используя модуль CRT изобразить на экране пять разноцветных окон, расположенных по диагонали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru