mozok.click » Інформатика » Визуализация элементов табличной величины с помощью графических примитивов
Інформація про новину
  • Переглядів: 1581
  • Автор: admin
  • Дата: 2-10-2017, 17:23
2-10-2017, 17:23

Визуализация элементов табличной величины с помощью графических примитивов

Категорія: Інформатика

В различных сферах деятельности возникает потребность представлять исходные данные и результаты в графической форме.

построение линейчатой диаграммы с использованием автофигур

Алгоритм построения линейчатой диаграммы:

1) создать массив автофигур Shape, размерность которого равна количеству значений данных в таблице;

2) задать элементам массива автофигур значения свойства Width, пропорциональные значениям табличной величины.

Отобразить в виде линейчатой диаграммы данные таблицы.

На форму добавим компонент Panel (рис. 37.1) и разместим на панели компонент Image и 4 компонента Shape (по количеству элементов в массиве). Для создания легенды диаграммы на форму добавим 4 компонента Label. Объекты Shape принадлежат типу данных TShape. В разделе описания глобальных переменных опишем:



Теперь можно работать с автофигурами, обращаясь к ним как к элементам массива sh[i].

Аналогично создадим массив типа TLabel для объектов Label.

Заполнение массивов будет происходить при создании формы:

В процедуре обработки события onclick для кнопки Построить диаграмму создадим массивы-константы названий рек и длин рек. Числовые значения достаточно большие, поэтому значениям свойства Width элементов массива автофигур присвоим значения элементов массива длин рек D[i], уменьшенные в 5 раз:

Вывод текста на полотно осуществляется с помощью метода TextOut(x,y,Text). Окно программы с диаграммой, построенной по данным таблицы длин рек в Украине, изображено на рис. 37.2.


Построение гистограммы с использованием графических методов

Диаграммы можно создавать, программируя рисование графических примитивов (линия, прямоугольник, сектор) графическими методами полотна Canvas. Для построения столбцов гистограммы (столбчатой диаграммы) используем графический метод Canvas.Rectangle(x1,y1,x2,y2).

Алгоритм построения гистограммы по значениям элементов массива Mas[1..N]:

1) построить координатные оси;

2) построить N прямоугольников, рассчитывая координаты i-го прямоугольника по формулам

где i — номер, S1 — координата x1 первого прямоугольника, Н — высота полотна, dS — ширина прямоугольника, уох — расстояние от верхнего края полотна до оси Ох.

Построить гистограмму прибыли предприятия за 4 квартала года на полотне элемента Imagel, размеры которого 250x150 пикселей (рис. 37.3).

Код процедуры построения гистограммы может быть следующим:

Нижние стороны прямоугольников (столбцов гистограммы) расположены на одном уровне (на оси Оу), поэтому координата у2 для нижнего угла столбцов равна 140. Определим координаты для построения первого столбца. Пусть координата х1 равна 40 пикселей. Высота полотна элемента управления Imagel равна 150 пикселей, высота первого столбца составляет Pr[1]. Итак, координата у1 верхнего угла первого столбца равна 150 - Pr[1] (рис. 37.4). Пусть ширина столбца диаграммы равна 30 пикселей, тогда координата х2 первого столбца составляет (40 + 30) пикселей. Для i-го столбца х1 = i * 40, х2 = i * 40 + 30.

Оператор With используется для сокращения записи при обращении к свойствам элемента управления. Применение оператора With в этом примере позволяет избежать повторных ссылок на элемент Imagel.Canvas в следующих операторах.

Построение круговой диаграммы

В круговой диаграмме каждому элементу массива соответствует сектор, градусная мера которого пропорциональна величине элемента.

Алгоритм построения круговой диаграммы по значениям элементов массива:

1) вычислить сумму элементов массива: аг + а2 + ... + ап ;

2) найти градусную меру сектора, соответствующую каждому значению

элемента массива:

3) построить все сектора диаграммы (в результате секторы образуют полный круг).

Из курса 8 класса вам известно, что для построения сектора эллипса используется графический метод Canvas.Pie.

В 9-А классе 30 учащихся. Выполнив тест по информатике, 7 учащихся получили 10-12 баллов, 15 учащихся — 7-9 баллов, 6 учащихся — 4-6 баллов, остальные — 1-3 балла. Построить круговую диаграмму успешности учащихся по уровням учебных достижений (рис. 37.5).

Значения результатов учащихся, получивших оценки по четырем уровням, занесены в массив K[1..4] of Integer. Областью построения диаграммы является полотно элемента управления Imagel.


Построение графика

Необходимость в построении графика возникает, когда нужно показать зависимость одной величины от другой (график функции, график температур). Алгоритм построения графика изменения табличной величины:

1) построить координатные оси;

2) вывести имена категорий;

3) построить отрезки от точки (i - 1, f(i - 1)) до точки (i, f(i)), где i — номер, f(i) — значение i-го элемента в массиве данных.

Пользуясь данными примера 2, построить график изменения прибыли предприятия за 4 квартала на полотне элемента Imagel, ширина и длина которого 160 пикселей (рис. 37.7).

Вопросы для самопроверки

1. Опишите порядок создания массива автофигур типа TShape.

2. Какой графический метод используют для построения гистограммы; круговой диаграммы?

3. Опишите алгоритм построения круговой диаграммы.

4. Добавьте к проекту практической работы 12 процедуру построения графика осадков за год.

В таблице приведены данные об объеме продаж книжного магазина по месяцам в период с января по июнь. Определить суммарный объем продаж за полугодие, построить гистограмму и круговую диаграмму объемов продаж по месяцам.

1) Создайте новый проект. Разместите на форме компоненты и настройте их свойства (см. рисунок). Компоненты Image предназначены для построения диаграмм; компоненты Label — для оформления легенды; компонент Edit — для вывода значения суммарного объема продаж.

2) Опишите глобальные массивы значений, названий категорий, цветов:

3) В процедуре обработки события onclick для кнопки Найти суммарный объем запрограммируйте нахождение суммы элементов массива Pr и вывод значения в поле Edit1.

4) В процедуре обработки события onclick для кнопки Построить гистограмму запрограммируйте построение гистограммы по значениям элементов массива Pr.

5) В процедуре обработки события onclick для кнопки Построить круговую диаграмму запрограммируйте построение круговой диаграммы по значениям элементов массива Pr.

6) Проверьте работу программы. Какую из построенных диаграмм целесообразно использовать для анализа объема продаж за полугодие? Сохраните проект в папке Упражнение 37. Завершите работу за компьютером.

Компьютерное тестирование

Выполните тестовое задание 37 с автоматической проверкой на сайте interactive.ranok.com.ua.

 

Это материал из учебника Информатика 9 класс Бондаренко

 






^