Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Doremifa
0 / 0 / 1
Регистрация: 26.12.2013
Сообщений: 54
1

Диаграмма Bar3d

07.01.2014, 23:27. Просмотров 746. Ответов 6
Метки нет (Все метки)

Дано n целых чисел x, x2 ,.... , xn и y1, y2, .... , yn. Рассматривая их как количество изделий, выпущенных двумя предприятиями за n-й день, построить диаграмму, отдельные элементы которой имеют вид, показанный на рисунке. Прямоугольник соответствует количеству изделий, выпущенных за день одним предприятием. Решить данную задачу используя процедуру Bar3D с наложением столбцов один на другой. n=5, n = 5; заполнение типа ///(тонкие линии) и клеткой .
0
Миниатюры
Диаграмма Bar3d  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2014, 23:27
Ответы с готовыми решениями:

Круговая диаграмма
1. Построить круговую диаграмму, отображающую процентное соотношение...

Столбчатая диаграмма
Здравствуйте помогите чайнику, вот код программы, она выводит одномерный массив...

Круговая Диаграмма
Здравствуйте! Имеются машины 6 различных марок (Opel, Renault, Seat, Fiat,...

Столбчатая диаграмма
Задана последовательность 10-ти целых чисел (каждое число в диапазоне от 0 до...

Линейная диаграмма
Ребят, возникли трудности с созданием линейной горизонтальной диаграммы в...

6
Puporev
Модератор
54717 / 42123 / 29086
Регистрация: 18.05.2008
Сообщений: 99,431
08.01.2014, 09:35 2
У Вас половина тем в Турбо Паскале, половина в АВС, вам в чем нужны программы? Дело в том что графика в них в принципе разная, а Bar 3D в АВС вообще нет.
1
Doremifa
0 / 0 / 1
Регистрация: 26.12.2013
Сообщений: 54
08.01.2014, 11:00  [ТС] 3
вообще надо было в ABC ,в турбо просто людей больше было.Вообще работаю в ABC ,но в турбо буду делать графику,раз она сильно отличается. Помогите тогда,пожалуйста, это задание в турбо.
И вопрос, в турбо копировать можно код?
0
Puporev
Модератор
54717 / 42123 / 29086
Регистрация: 18.05.2008
Сообщений: 99,431
08.01.2014, 11:14 4
Цитата Сообщение от Doremifa Посмотреть сообщение
в турбо копировать можно код?
Да, копируете в текстовый редактор, например в Блокнот и сохраняете файл с правильным именем для Паскаля и с расширением .pas, например DIAGR.PAS
0
Doremifa
0 / 0 / 1
Регистрация: 26.12.2013
Сообщений: 54
08.01.2014, 11:19  [ТС] 5
Большое спасибо, а мне тему в турбо перекинуть,что бы помогли?
0
Puporev
Модератор
54717 / 42123 / 29086
Регистрация: 18.05.2008
Сообщений: 99,431
08.01.2014, 11:47 6
Паскаль АВС
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
35
36
37
38
39
uses graphABC;
const n=10;
var x,y:array[1..n] of integer;
    i,j,x0,y0,w,c:integer;
    mx,h:real;
    s:string;
begin
randomize;
mx:=0;
for i:=1 to n do
 begin
  x[i]:=10+random(200);
  y[i]:=10+random(200);
  if x[i]+y[i]>mx then mx:=x[i]+y[i];
 end;
x0:=50;{левый край диагоаммы}
y0:=windowheight-50;{нижний край}
w:=(windowwidth-2*x0) div (2*n-1);{ширина столбцов}
h:=(y0-50)/mx;{масштаб по вертикали}
for i:=1 to n do
 begin
  c:=clrandom;{случайный цвет}
  setpencolor(c);
  setbrushcolor(c);
  setbrushstyle(bsBDiagonal);
  {рисуем прямоугольники(нет в АВС Bar3d) с заданной шириной, шагом
  и высотой соответственно количеству продукции}
  rectangle(x0+w*(2*i-1),y0-round(x[i]*h),x0+w*2*i,y0);
  setbrushstyle(bsCross);
  rectangle(x0+w*(2*i-1),y0-round((x[i]+y[i])*h),x0+w*2*i,y0-round(x[i]*h)-1);
  setbrushstyle(bsClear);
  str(i,s);
  textout(x0+w*(2*i-1),y0+20,s+' день');{выводим по низу годы}
  str(x[i],s);{преобразуем количество х в строку}
  textout(x0+w*(2*i-1),y0-15,s);{выводим внизу столбика}
  str(y[i],s);{преобразуем количество y в строку}
  textout(x0+w*(2*i-1),y0-round(x[i]*h)-16,s);{выводим внизу столбика}
 end;
end.
Турбо Паскаль
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
35
36
37
38
39
uses graph;
const n=10;
var x,y:array[1..n] of integer;
    i,j,x0,y0,w,c:integer;
    mx,h:real;
    s:string;
begin
randomize;
mx:=0;
for i:=1 to n do
 begin
  x[i]:=10+random(200);
  y[i]:=10+random(200);
  if x[i]+y[i]>mx then mx:=x[i]+y[i];
 end;
initgraph(x0,y0,'');
x0:=50;
y0:=getmaxY-50;
w:=(getmaxX-2*x0) div (2*n-1);
h:=(y0-50)/mx;
for i:=1 to n do
 begin
  c:=i;
  if i=8 then c:=11;
  setcolor(c);
  setfillstyle(3,c);
  bar3D(x0+w*(2*i-1),y0-round(x[i]*h),x0+w*2*i,y0,0,topon);
  setfillstyle(7,c);
  bar3D(x0+w*(2*i-1),y0-round((x[i]+y[i])*h),x0+w*2*i,y0-round(x[i]*h)-1,0,topon);
  setcolor(15);
  str(i,s);
  outtextXY(x0+w*(2*i-1),y0+20,s+' den');
  str(x[i],s);
  outtextXY(x0+w*(2*i-1),y0-15,s);
  str(y[i],s);
  outtextXY(x0+w*(2*i-1),y0-round(x[i]*h)-16,s);
 end;
readln
end.
1
Doremifa
0 / 0 / 1
Регистрация: 26.12.2013
Сообщений: 54
08.01.2014, 12:16  [ТС] 7
большое спасибо
0
08.01.2014, 12:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 12:16

Диаграмма Насси — Шнейдермана
Кто-нибудь может помочь с созданием диаграммы Насси-Шнейдермана? Program...

Столбчатая диаграмма (гистограмма)
Столбчатая диаграмма (гистограмма) представляет собой набор прямоугольников,...

Graph. Секторная диаграмма
Доброго времени суток дорогие форумчане. Нужна помощь в написании программы:...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru