Контрольная работа по предмету "Информатика, программирование"


Диаграммы в Visual Basic

Введение


Развитие современной техники идёт по пути все большего усложнения конструкции вновь создаваемых изделий. При их создании используются все более сложные технологии и технологические процессы. Процесс проектирования новых изделий требует привлечения и использования новых нестандартных решений. Помимо этого, потоки информации, циркулирующие в мире, который нас окружает, огромны и имеют тенденцию к увеличению. Поэтому, настоящее время характеризуется массированным внедрением информационных технологий во все сферы жизни и деятельности человека, изменением роли и места персональных компьютеров в современном обществе. Из предмета профессиональной деятельности достаточно узкого круга специалистов в области точных наук они превратились в инструмент, используемый во всех отраслях производства, науке, быту и общественной жизни. Человек, умело и эффективно владеющий технологиями и информацией, имеет другой, новый стиль мышления, иначе подходит к оценке возникшей проблемы, к организации своей деятельности. Владение информационными технологиями ставится в современном мире в один ряд с такими качествами, как знание языков и умение рассуждать.


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


Следствием повышения производительности вычислительной техники является и усложнение программного обеспечения, которое ведет, в свою очередь, к повышению удобства и эффективности его использования.


Благодаря последним разработкам в области программных продуктов, обрабатывать большие объемы информации становится гораздо проще. Эргономика этих программных продуктов позволяет не тратить много времени на работу с данными, различные визуальные средства их представления дают возможность составить мнение, буквально, окинув данные взглядом.


Одним из таких визуальных средств являются диаграммы – графическое представление данных, позволяющее быстро оценить соотношение нескольких величин, представляющее собой геометрическое символьное изображение информации с применением различных приёмов техники визуализации.


О них и их создании с помощью программных средств и пойдет речь в настоящей работе.



1. Выбор среды разработки


Мы живем в удивительное время, и никогда еще оно не было более благоприятным для программистов на VisualBasic. VisualBasic всегда позволял упростить процесс написания программ для системы Windows, но на его превращение в настоящий язык профессиональной разработки программ и создание среды разработки потребовались годы. С помощью VisualBasic можно по-прежнему быстро писать программы для системы Windows, но, помимо этого, теперь можно также создавать приложения типа клиент / сервер и надежные приложения управления базами данных. В последней версии VisualBasic есть некоторые усовершенствования, которые значительно расширяют возможности программистов, разрабатывающих приложения для баз данных. Даже этого было бы достаточно для рекламы VisualBasic, но последние версии предоставляют гораздо более широкие возможности.


Для написания программного продукта будет использоваться наиболее популярная версия продукта – VisualBasic 6. Данный язык подходи как новичкам в программировании, так и для подготовленных пользователей, которые могут использовать стандартные компоненты Windows, элементы управления ActiveX, ADO, RDO и др. В данную версию продукта так же включены различные средства работы с графическим интерфейсом пользователя и графического представления информации (в том числе и, необходимые нам, средства для работы с диаграммами). Исходя из всех этих достоинств, считаю выбор среды VisualBasic 6 оптимальным для поставленной задачи.


2. Выбор аппаратных средств


Для функционирования разрабатываемого программного продукта необходим компьютер, работающий под управлением операционной системы из семейства Windows. Начиная с WindowsXP, минимальными системными требованиями являются:


– процессор с частотой от 233 МГц


– оперативная память объемом от 64 Мб


– видеоадаптер с поддержкой SuperVGA (разрешение экрана 800х600, глубина цвета – 16 бит)


– жесткий диск объемом от 5 Гб


– клавиатура / мышь


Рекомендуемые системные требования для функционирования WindowsXP, под которую разрабатывается программный продукт:


– процессор с частотой от 300 МГц


– оперативная память объемом от 128 Мб


– видеоадаптер с поддержкой SuperVGA (разрешение экрана 800х600, глубина цвета – 16 бит)


– жесткий диск объемом от 5 Гб


– клавиатура / мышь.


3. Описание интерфейса пользователя и возможностей программы


Разрабатываемый в ходе данной курсовой работы программный продукт предназначен для демонстрации возможностей VisualBasic по работе с диаграммами.


Общий вид главной формы программы приведен на рисунке 1.


При запуске программы, компонент MSFlexGrid заполняется списком товаров и случайными значениями цены на эти товары.


На форме присутствуют четыре кнопки, предназначенные для различных операций с этим списком товаров, а также кнопка закрытия формы и сохранения полученной диаграммы.




Рисунок 1. Общий вид главной формы программы


Кнопка «Случайные цены», как следует из названия, заполняет таблицу случайными значениями стоимости.


Кнопка «Упорядочить» приводит к упорядочиванию списка товаров по цене (пример на рисунке 2).


Нажатие на кнопку «Итого» приведет к подсчету суммы стоимостей всех товаров. Данная сумма будет отображаться в строке «Всего» таблицы.


Двойной клик мыши на любую ячейку стоимости товара приведет к открытию окна редактирования стоимости (см. рисунок 3).


Данный диалог также предусматривает проверку правильности ввода. Если будет введено нечисловое значение, оно будет преобразовано в ноль. Если значение не будет введено или будет тем же, то никаких изменений не произойдет.




Рисунок 2. Список товаров, упорядоченный по цене


После нажатия на кнопку «Диаграмма», данные из таблицы отобразятся в компоненте MSChart в виде диаграммы с соответствующими данными.


С помощью переключателей можно выбирать тип диаграммы:


– Плоская гистограмма (рисунок 4)


– Плоский график (рисунок 5)


– Объемная гистограмма (рисунок 6)


– Объемный график (рисунок 7)




Рисунок 3. Окно редактирования стоимости товара



Рисунок 4. Плоская гистограмма



Полученную диаграмму мы можем сохранить, нажав кнопку «Сохранить диаграмму». В открывшемся окне (приведено на рисунке 8), мы видим еще один пример диаграммы. Данная круговая диаграмма отображает количество занятого и свободного пространства на выбранном диске.


При выборе диска из выпадающего списка, обновляется информация в диаграмме, а также информация в подписи к диаграмме, содержащая точный объем свободного пространства на диске, в списке каталогов отображается существующая структура папок на этом диске.



Рисунок 5. Плоский график



Рисунок 6. Объемная гистограмма



После выбора нужного диска, двойным щелчком мыши выбирается нужная папка.


Нажатие на кнопку «Ок» запускает процедуру сохранения изображения, в которой подбирается имя для файла диаграммы. Если на диске достаточно места и подобрано имя для файла, он будет сохранен в выбранную папку, после чего будет выдано сообщение об успешном сохранении.


В случае, когда из выпадающего списка выбран неверный диск (например, дисковод без диска), будет выдано сообщение о том, что диск недоступен (см. рисунок 9).



Рисунок 7. Объемный график


Если в данном окне нажать кнопку «Отмена», то оно закроется, и диаграмма сохранена не будет.


На главной форме также присутствует кнопка «Закрыть», которая закрывает приложение.



4. Исходный код основных модулей программы


Ниже представлен код модуля, содержащего все процедуры, используемые в программе:


Option Explicit


' импортированныефункции


Private Declare Function PathFileExists Lib «shlwapi.dll» Alias «PathFileExistsA» _


(ByVal pszPath As String) As Long


' переменные уровня проекта


Public Price(8) As Currency ' Массив цен на продукты


Public Name_Tovar(8) As String ' Массивназванийпродуктов


Public Sub Summa()


' суммаэлементовсписка


Dim i As Integer


Dim Sum As Currency


Sum = 0


' цикл подсчета суммы стоимости всех товаров


For i = 0 To 7


Form1.MSFlexGrid1. Col = 1


Form1.MSFlexGrid1. Row = i + 1


Price(i) = Val (Form1.MSFlexGrid1. Text)


Form1.MSFlexGrid1. Text = Format$(Price(i), «#0.00»)


Sum = Sum + Price(i)


Nexti


' вывод суммы в строку «Всего»


Form1.MSFlexGrid1. Col = 1


Form1.MSFlexGrid1. Row = 9


Form1.MSFlexGrid1. Text = Format$(Sum, «#0.00»)


End Sub


PublicSubColumn_Name()


' процедура заполняет таблицу информацией о продуктах


Dim i As Integer


Dim a As Variant ' переменная для хранения списка названий


a = Array («Торт Пражский», «Крупа гречневая», «Кофе ЧИБО», «Вафли шоколадные», «Бананы», «Яблоки», «Конфеты Коркунов», «Сосиски молочные», «Всего»)


' настройки таблицы


Form1.MSFlexGrid1. ColWidth(0) = 4200


Form1.MSFlexGrid1. ColWidth(1) = 3000


Form1.MSFlexGrid1. Col = 0


Form1.MSFlexGrid1. Row = 0


Form1.MSFlexGrid1. Text = «Товар»


Form1.MSFlexGrid1. Col = 1


Form1.MSFlexGrid1. Text = «Стоимость, руб.»


' заполнение данными


For i = 0 To 8


Form1.MSFlexGrid1. Col = 0


Form1.MSFlexGrid1. Row = i + 1


Form1.MSFlexGrid1. Text = a(i)


Name_Tovar(i) = a(i)


Next i


' настройка диаграммы


Form1.MSChart1. Title = «Диаграмма стоимости товаров»


Form1.MSChart1. Plot. Axis(0).AxisTitle. Text = «Товары»


Form1.MSChart1. Plot. Axis(1).AxisTitle. Text = «Цена»


End Sub


Public Sub Column_Data()


' процедура заполняет графу цен случайными значениями


Dim i As Integer


Dim k As Integer


Form1.MSFlexGrid1. Col = 1


Randomize


For i = 1 To 8


k = Rnd(1) * 100


Form1.MSFlexGrid1. Row = i


Form1.MSFlexGrid1. Text = Format$(k, «#0.00»)


Next i


End Sub


Public Sub Sort()


' сортировка списка по-возрастанию цены


Dim i, k As Integer


Dim R As String ' временная переменная для хранения названия товара


Dim P As Currency ' временная переменная для хранения цены товара


For i = 0 To 7


Form1.MSFlexGrid1. Col = 1


Form1.MSFlexGrid1. Row = i + 1


Price(i) = Val (Form1.MSFlexGrid1. Text)


Next i


' сортировка


For k = 0 To 7


For i = 0 To 6


If Price(i) > Price (i + 1) Then


R = Name_Tovar(i)


P = Price(i)


Price(i) = Price (i + 1)


Name_Tovar(i) = Name_Tovar (i + 1)


Name_Tovar (i + 1) = R


Price (i + 1) = P


End If


Next i


Next k


' перезаполнение таблицы


For i = 0 To 7


Form1.MSFlexGrid1. Col = 0


Form1.MSFlexGrid1. Row = i + 1


Form1.MSFlexGrid1. Text = Name_Tovar(i)


Form1.MSFlexGrid1. Col = 1


Form1.MSFlexGrid1. Text = Format$(Price(i), «#0.00»)


Next i


End Sub


Public Sub MyChart()


' процедура отображения табличной информации на диаграмме


Dim i As Integer


Form1.MSChart1. ColumnCount = 1


Form1.MSChart1. RowCount = 8


For i = 1 To 8


Form1.MSChart1. Row = i


Form1.MSChart1. Data = Price (i – 1)


Form1.MSChart1. RowLabel = Name_Tovar (i – 1)


Next i


End Sub


Public Sub EditGridData()


' окно редактирования стоимости товара


Dim s As String


If Form1.MSFlexGrid1. Col = 1 Then


s = InputBox («Введите новую стоимость для товара» + Name_Tovar (Form1.MSFlexGrid1. Row – 1), «Изменениестоимости», Form1.MSFlexGrid1. Text)


If (s <> Form1.MSFlexGrid1. Text) And (Len(s) <> 0) Then


Form1.MSFlexGrid1. Text = s


End If


End If


End Sub


Public Sub UpdateChart()


' процедура выводит информацию о свободном месте на диске в mschart1


' создаем объекты файловой системы для получения информации о дисках


Dim fso As Object


Dim dr As Object


Set fso = CreateObject («Scripting. FileSystemObject»)


Set dr = fso. GetDrive (Mid(Dialog. Drive1. Drive, 1, 1))


' заполняем массив, который послужит источником данных для диаграммы


Dim arrData (0, 1 To 3)


arrData (0, 1) = «Диск» & Dialog. Drive1. Drive


arrData (0, 2) = dr. FreeSpace


arrData (0, 3) = dr. TotalSize – dr. FreeSpace


Dialog.MSChart1. ChartData = arrData


Dialog.lFreeSpace. Caption = «Свободно:» + Format$(dr. FreeSpace / 1048576, «#0.00») +» МБ»


End Sub


Public Sub SaveChart()


' сохраняем диаграмму в папку, выбранную пользователем


Dim i As Integer


Dim s As String


i = 0


Do


i = i + 1


s = Dialog. Dir1. Path + «\» + Format(i) +».bmp»


Loop While PathFileExists(s) = 1


Form1.MSChart1. EditCopy


SavePicture (Clipboard. GetData, s)


MsgBox(«Диаграмма сохранена в файл:» + s)


End Sub


Процедуры и функции из вышеописанного модуля вызываются по следующим событиям формы:


PrivateSubCommand1_Click()


' подсчитываем стоимость всех товаров


Summa


End Sub


Private Sub Command2_Click()


' упорядочиваем список товаров по стоимости


Sort


End Sub


Private Sub Command3_Click()


' отображаем таблицу в диаграмме


MyChart


Command5. Enabled = True


End Sub


Private Sub Command4_Click()


' генерируем случайные цены


Column_Data


End Sub


Private Sub Command5_Click()


' показываем диалог сохранения диаграммы


Dialog. Show 1


End Sub


Private Sub Command6_Click()


' завершаем работу приложения


End


EndSub


PrivateSubForm_Load()


' заполняем таблицу и выравниваем форму по центру экрана


Dim w, h As Integer


Column_Name


Column_Data


h = Screen. Height


w = Screen. Width


Form1. Left = (w – Form1. Width) / 2


If Form1. Left < 0 Then Form1. Left = 0


Form1. Top = (h – Form1. Height) / 2


If Form1. Top < 0 Then Form1. Top = 0


End Sub


Private Sub MSFlexGrid1_DblClick()


' открываем окно редактирования стоимости выбранного продукта


EditGridData


End Sub


Private Sub Option1_Click()


' изменяем тип диаграммы на 2DBar


MSChart1.chartType = VtChChartType2dBar


End Sub


Private Sub Option2_Click()


' изменяем тип диаграммы на 2DLine


MSChart1.chartType = VtChChartType2dLine


End Sub


Private Sub Option3_Click()


' изменяем тип диаграммы на 3DLine


MSChart1.chartType = VtChChartType3dLine


End Sub


Private Sub Option4_Click()


' изменяем тип диаграммы на 3DBar


MSChart1.chartType = VtChChartType3dBar


EndSub


Помимо главной формы, в проекте представлена диалоговая форма сохранения диаграммы. Исходныйкодмодуляимеетследующийвид:


Option Explicit


Private Sub CancelButton_Click()


' закрываем диалоговую форму


Me. Hide


End Sub


Private Sub Drive1_Change()


' при изменении диска, обновляем диаграмму и директорию в Dir1


On Error GoTo errmsg


Dir1. Path = Drive1. Drive


UpdateChart


Exit Sub


errmsg:


MsgBox («В данный момент выбранный диск недоступен»)


End Sub


Private Sub Form_Load()


' выравниваем форму по центру экрана


Dim w, h As Integer


h = Screen. Height


w = Screen. Width


Dialog. Left = (w – Dialog. Width) / 2


If Dialog. Left < 0 Then Dialog. Left = 0


Dialog. Top = (h – Dialog. Height) / 2


If Dialog. Top < 0 Then Dialog. Top = 0


UpdateChart


End Sub


PrivateSubOKButton_Click()


' сохраняем изображение в выбранной папке


SaveChart


Me. Hide


End Sub


Заключение


диаграмма программный язык интерфейс


В данной работе была создана программа, демонстрирующая основные возможности диаграмм. Для ее написания был использована среда разработки VisualBasic 6.0. В ходе работы были продемонстрированы основные возможности диаграмм, а также средства VisualBasic для их реализации. Была подтверждена простота и удобство создания приложений в среде VisualBasic.


Способ, которым информация представляется в диаграммах, позволяет быстро работать с большими объемами данных. Например, главная форма программы, представляет таблицу товаров и их стоимостей. Если бы человек искал товар с наибольшей стоимостью, ему пришлось бы перебирать весь список и сравнивать цены. В диаграмме же достаточно одного взгляда, чтобы выявить товар с наибольшей ценой и выделить его из списка. Если эту функцию может выполнить упорядочивание товаров по цене, то оценка разброса значений – критерий субъективный и диаграмма позволяет пользователю сделать этот вывод, всего лишь окинув ее взглядом.


Диаграмма на диалоговой форме сохранения изображения позволяет пользователю визуально оценить наличие свободного пространства на диске и решить куда сохранять файл.


Задача данного курсового проекта выполнена. Доказана польза и удобство использования диаграмм, представлены способы их реализации средствами VisualBasic.



Список использованной литературы


1. Браун С. VisualBasic 5 c самого начала – СПб: Питер, 1998


2. Иванов М.Н., Суворов С.В. Информатика Часть 2. Программирование. Учебно-методическое пособие – М.; МГИУ, 2004


3. Использование VisualBasic 6.: Пер. с англ. – К.; М.; СПб.: Издательский дом «Вильямс», 1999. – 608 с.


4. Материалы сайта www.visual2000.ru


5. Материалы сайта www.compress.ru


6. VisualBasic 6. Руководство разработчика: В 2 т.: Пер с англ. – К.: Издательская группа BHV, 2000. – Т 2 – 560 с.



Не сдавайте скачаную работу преподавателю!
Данную контрольную работу Вы можете использовать для выполнения своих заданий.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :