Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
4 / 4 / 0
Регистрация: 14.03.2017
Сообщений: 72
1

Составить круговую диаграмму

29.05.2017, 07:45. Показов 3307. Ответов 2
Метки нет (Все метки)

Части света имеют площади (в млн. км):
Европа -10,5; Азия – 44,4; Африка – 30, 32; Северная Америка – 24, 25; Южная Америка – 17, 83; Австралия с Океанией – 8,504; Антарктида – 14,11.

Составьте круговую диаграмму, изображающую площади частей света.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2017, 07:45
Ответы с готовыми решениями:

Построить круговую диаграмму
В диаграмме отразить долю каждого государства в выпуске космических аппаратов за 1997 год ...

Построить круговую диаграмму “Нормы питания"
Построить круговую диаграмму “Нормы питания девочек 11-13 лет”. Девочки 11-13 лет должны получать в...

Напишите программу,которая выводит на экран круговую диаграмму,отражающую товарооборот в % книж. магазина
Ребят помогите исправить ошибки!:read: // program diagram; uses crt; const x:array of...

Построить круговую диаграмму
Дан массив вещественные чисел, построить круговую диаграмму Можео ли вообще при помощи Си...

2
Эксперт Pascal/Delphi
6636 / 4464 / 4746
Регистрация: 05.06.2014
Сообщений: 21,951
29.05.2017, 09:21 2
Лучший ответ Сообщение было отмечено Ковшик как решение

Решение

Взято отсюда:

Построение круговой диаграммы и гистограммы
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 
  GraphAbc;
const
  n = 7;
  v: array[1..n] of real = (10.5, 44.4, 30.32, 24.25, 17.83, 8.504, 14.11);
  a: array[1..n] of string = ('Европа', 'Азия', 'Африка', 'Северная Америка', 'Южная Америка', 'Австралия с Океанией', 'Антарктида');
  col: array[1..n] of color = (clYellow, clLime, clBrown, ClRed, clGreen, clGray, clMagenta);
 
var
  u, u0, i: integer;
  s: real;
 
begin
  setWindowSize(600, 600);
  s := 0;
  u0 := 0;
  SetFontSize(10);
  for i := 1 to n do 
    S := S + v[i];            { вычисление суммарной площади }
  for i := 1 to n do
  begin
    SetBrushColor(col[i]);
    u := u0 + round(v[i] * 360 / S) + 1;
    Pie(200, 240, 140, u0, u);         { Рисование сектора }
    textout(400, 0 + ((i - 1) * 25), a[i]);
    textout(550, 0 + ((i - 1) * 25), floattostr(v[i]));
    u0 := u;
  end;
end.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30914 / 20228 / 7884
Регистрация: 22.10.2011
Сообщений: 35,107
Записей в блоге: 6
29.05.2017, 10:58 3
Лучший ответ Сообщение было отмечено Ковшик как решение

Решение

Кстати, с использованием фич .NET-а можно не только суммы да произведения элементов массива считать. Вот то же самое, но нарисовано через Aggregate:
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
Uses 
  GraphAbc;
 
begin
  var data := Arr(
    (10.5, 'Европа', clYellow),
    (44.4, 'Азия', clLime),
    (30.32, 'Африка', clBrown),
    (24.5, 'Северная Америка', clRed),
    (17.83, 'Южная Америка', clGreen),
    (8.504, 'Австралия с Океанией', clGray),
    (14.11, 'Антарктида', clMagenta)
  );
  
  setWindowSize(600, 600);
  SetFontSize(10);
  var sum := data.Sum(v -> v[0]);
  data.Numerate(0).Aggregate(0, (a, b) ->
                                begin
                                  var inf := b[1];
                                  result := a + round(inf[0] * 360 / sum) + 1;
                                  SetBrushColor(inf[2]);
                                  Pie(200, 240, 140, a, result);
                                  textout(400, b[0] * 25, inf[1]);
                                  textout(550, b[0] * 25, floattostr(inf[0]));
                                end);
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2017, 10:58

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Сделать круговую диаграмму
Дан массив чисел (например: A=). Нужно сделать круговую диаграмму, чтобы доля была ровна по площади...

Создать круговую диаграмму
помогите пожалуйста сделать круговую диаграмму 25 % в html это пример как должна выглядить...

Нарисовать круговую диаграмму
Нарисовать круговую диаграмму со значениями 20%, 30%, 50%

Нарисовать круговую диаграмму
Здравствуйте. Подскажите пожалуйста, можно ли(если да, то как) в MS Visual Studio 2010 нарисовать...


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

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

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