Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_графика.doc
Скачиваний:
3
Добавлен:
16.11.2019
Размер:
4.03 Mб
Скачать

Лабораторная работа № 3 (2 часа)

Тема занятия: Рисование графиков и диаграмм графическими методами

Рисование диаграмм

Метод Circle можно использовать для рисования круговых диаграмм. Эти диаграммы наглядно показывают долю чего-нибудь в общем количестве. На круговой диаграмме угловой размер соответствующего сектора и определяет долю от общего числа, которое принимается за единицу, или 100%.

Упражнение 1.

Допустим, что на промежуточной аттестации знаний по одному из предметов студенты курса показали следующие результаты: 5% получили оценку «отлично», 17% – «хорошо», 36% – «удовлетворительно», остальные 42% – «плохо» либо были не аттестованы. Обратите внимание, что сумма всех показателей должна составлять 100%.

  1. Создать новое приложение, в нем создать форму c именем Form1 и заголовком. «Результаты успеваемости».

  2. На форме создать четыре маленьких графических поля для условных обозначений с одним именем Picture1 (массив объектов) и одно большое для вывода результатов Picture2 (рис.21).

  3. Создать командную кнопку с именем Command1.

  1. В окне свойств массиву объектов Picture1 свойству Index присвоить значения с 1 до 4. Таким образом, имена графических полей будут Picture1(1), Picture1(2) и т.д. Это избавит вас от написания одинакового кода для четырех объектов.

  2. Написать процедуру для прорисовки сектора, где StartSec, EndSec – углы, ограничивающие сектор:

Sub Sector(StartSec, EndSec)

Picture2.Circle (0, 0), 0.8, , StartSec, EndSec

End Sub

  1. Написать процедуру рисования «условных обозначений».

Sub UslObozn(Num As Integer, Znach As Single)

Picture1(Num).Line (1, -1)-(-1, 0.2), vbWhite, B

Picture1(Num).PSet (-1.1, 1)

Picture1(Num).Print Znach; "%"

End Sub

  1. Для командной кнопки процедура будет следующей:

Private Sub Command1_Click()

Dim i As Integer

Dim mark(4) As Single

Const Pi = 3.1415

‘Присвоение значений

mark(1) = 5

mark(2) = 17

mark(3) = 36

mark(4) = 42

‘Масштабирование полей

For index = 1 To 4

Picture1(index).Scale (-1, 1)-(1, -1)

Next

Picture2.Scale (-1, 1)-(1, -1)

‘Вывод условных обозначений

For i = 1 To 4

Picture1(i).FillStyle = 3 + i

Call UslObozn(i, mark(i))

Next

‘Рисование четырех секторов

a2 = -0.00001

For i = 1 To 4

Picture2.FillStyle = 3 + i

a1 = a2: a2 = a1 - 2 * Pi * mark(i) / 100

Call Sector(a1, a2)

Next

End Sub

  1. Запустите приложение. Щелкните по командной кнопке. На рис. 22 приведена экранная форма с круговой диаграммой, которая даёт наглядное представление об успеваемости.

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

Например, задача сформулирована следующим образом. Из 25 человек оценку «5» получили 2 человека, «4» - 4 человека, «3» - 10, остальные – неудовлетворительную оценку. Тогда, переменные mark(i) будут равны:

mark(1) = 2/25*100

mark(2) = 4/25*100

mark(3) = 10/25*100

mark(4) = 9/25*100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]