Круговая диаграмма. - QBasic

Узнай цену своей работы

Формулировка задачи:

Дело в том что в практической роботе нужно сделать круговую диаграмму. Для примера мне почемуто дали следующий пример.
Так вот,в чём вопрос то. Может ли кто показать пример круговой диаграммы на Qbasic? :3
Ну хоть ктонибуть... :с

Решение задачи: «Круговая диаграмма.»

textual
Листинг программы
CONST Pi = 3.14159265358#
   ' - Настройки
   Cx = 160: Cy = 100: R = 90    '  Центр и радиус диаграммы
   ' - 8 частей
   DATA 8
5  DATA 10, 20, 30, 40, 50, 60, 70 , 80
READ n: DIM M(n)
  FOR i = 1 TO n    ' - Посмотрим сумму
     READ z: s = s + z
  NEXT: RESTORE 5
SCREEN 13
  FOR i = 1 TO n    '   Распечатаем соответствия
     READ z: COLOR (i * 4) MOD 30 + 70: PRINT USING "##: ##.#%"; i; z / s * 100
     z2 = z2 + z: M(i) = z2 * Pi * 2 / s
  NEXT: R2 = R * .92
FOR i = 1 TO n
   IF i = 1 THEN Px2 = Cx + R: Py2 = Cy ELSE Px2 = Px: Py2 = Py
   Va = M(i - 1) + (M(i) - M(i - 1)) / 2
   Px = Cx + COS(M(i)) * R: Py = Cy - SIN(M(i)) * R
   Pnx = Cx + COS(Va) * R2: Pny = Cy - SIN(Va) * R2
   Cv = (i * 4) MOD 30 + 70
      LINE (Cx, Cy)-(Px, Py), Cv       '  Соединительные линии
      LINE (Cx, Cy)-(Px2, Py2), Cv
      CIRCLE (Cx, Cy), R, Cv, M(i - 1), M(i), 1    ' Дуга
      PAINT (Pnx, Pny), Cv, Cv         '  Закрашиваем
NEXT

Объяснение кода листинга программы

  1. Объявляются константы: Pi и R. Значение Pi приближенно равно 3,14159, а R - это радиус диаграммы, равный 90.
  2. Создаются переменные Cx и Cy, которые представляют координаты центра круга.
  3. Создается массив M для хранения долей каждого элемента.
  4. Задаются данные для восьми элементов в виде чисел от 10 до 80.
  5. В цикле FOR читаются эти данные и суммируются.
  6. Цикл FOR используется снова для распечатки соответствий между элементами и их долями, а также для вычисления среднего значения.
  7. Создаются переменные Px и Py для хранения координат текущего элемента.
  8. Создаются переменные Px2 и Py2 для хранения координат следующего элемента.
  9. Вычисляются координаты центра окружности для каждого элемента.
  10. Вычисляются координаты центра сектора для каждого элемента.
  11. Создаются переменные Cv для хранения цвета текущего элемента.
  12. Цикл FOR используется снова для рисования соединительных линий, дуг и закрашивания каждого элемента.
  13. В конце программы выводится сообщение о завершении работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы