Круговая диаграмма. - 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
Объяснение кода листинга программы
- Объявляются константы: Pi и R. Значение Pi приближенно равно 3,14159, а R - это радиус диаграммы, равный 90.
- Создаются переменные Cx и Cy, которые представляют координаты центра круга.
- Создается массив M для хранения долей каждого элемента.
- Задаются данные для восьми элементов в виде чисел от 10 до 80.
- В цикле FOR читаются эти данные и суммируются.
- Цикл FOR используется снова для распечатки соответствий между элементами и их долями, а также для вычисления среднего значения.
- Создаются переменные Px и Py для хранения координат текущего элемента.
- Создаются переменные Px2 и Py2 для хранения координат следующего элемента.
- Вычисляются координаты центра окружности для каждого элемента.
- Вычисляются координаты центра сектора для каждого элемента.
- Создаются переменные Cv для хранения цвета текущего элемента.
- Цикл FOR используется снова для рисования соединительных линий, дуг и закрашивания каждого элемента.
- В конце программы выводится сообщение о завершении работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д