Реферат: Информационно-аналитическая система Казанского вокзала

Министерство Образования Российской Федерации

Камский Государственный Политехнический Институт

Кафедра ММИТЭ

КУРСОВАЯ РАБОТА

по информатике на тему:

Информационно-аналитическая система

Казанского вокзала

Выполнил: студент

группы 5111

№ зачетной книжки 025115

Кочнев Денис Николаевич

Проверила: доцент

кафедры ММИТЭ

Каляшина А.В.

г. Набережные Челны

2003 г.


Задание ккурсовой работе

Информационно-аналитическаясистема Казанского вокзала.

Исходная информациясодержится в трёх таблицах:

Ø  «Рейс» (Номерпоезда, дата отправления, станция назначения, время в пути, кол-во мест покатегориям)

Ø  «Тарифы» (Номерпоезда, цена билета по категориям)

Ø  «Билеты» (Номерпоезда, ФИО пассажира, дата отправления, категория билета)

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


Содержание

Введение. 4

Таблицы приложения. 5

Таблица «Рейсы». 5

Вводданных. 6

Удалениеданных. 7

Корректировкаданных. 7

Сортировкаданных. 8

Таблица «Тарифы». 9

Таблица «Билеты». 10

Выполнениезадания курсовой работы… 11

Заключение. 14

Списокиспользованных источников. 15


/>Введение

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

Одним из важнейшихфункциональных расширений программы, предназначенных для профессионалов,является встроенная в Excel Среда программирования Visual Basic (VBA) длярешения прикладных задач. Благодаря VBA фирме Microsoft удалось ввести новый уровеньприкладного программирования, поскольку VBA позволяет создавать полноценные прикладныепакеты, которые по своим функциям выходят далеко за рамки обработки электронныхтаблиц.

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

Разработка языкапрограммирования VBA, встраиваемого в прикладные системы, является одним изстратегических направлений компании Microsoft. Этот язык уже интегрирован втакие программы, как Word for Windows, Power Point и ряд других. VBA позволяетсоздавать программные модули, меню, диалоговые окна и другие ресурсы в средеWindows. Благодаря этому языку появляется возможность значительно расширитьнабор функций в Excel, а также создавать функции, значения которых зависят отнекоторых условий и событий. В принципе, можно полностью перепрограммироватьвсе функции программы Excel, если в этом появилась необходимость.

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

/>Таблицы приложения

Приложение состоит изтрех листов, на которых расположены таблицы:

1.        Рейсы

2.        Тарифы

3.        Билеты

/>Таблица «Рейсы»

На листе «Акционер»расположена таблица с полями:

·    Номер поезда

·    Дата отправления

·    Время в пути

·    Количество местпо категориям

№ поезда Дата отправления станция назначения время пути A B C D 110608 12.10.03 Владимир 9 40 30 20 60 113186 05.10.03 Севастополь 14 20 60 20 40 113514 01.09.03 Москва 8 40 60 80 80 113819 01.09.03 Владивосток 12 60 40 20 80 117648 18.10.03 Киров 21 40 40 20 60

Для работы с таблицейпредусмотрена пользовательская форма «Рейсы», которая вызывается с панели задач.В этой форме осуществляется ввод, удаление, корректировка, сортировка записей.

/>

/>Ввод данных

После ввода необходимонажать кнопку Добавить

Выполнится следующий код.

Dim i AsInteger, j As Integer

i = 1

Do

 i = i + 1

 IfSheets(1).Cells(i, 1) = "" Then

 j = i

 Exit Do

 End If

Loop

Cells(j, 1) =¹.Text

Cells(j, 2) =Data.Value

Cells(j, 3) =pos.Text

Cells(j, 4) =time1.Value

Cells(j, 5) =time2.Value

Cells(j, 6) =AA.Value

Cells(j, 7) =bB.Value

Cells(j, 8) = cc.Value

Cells(j, 9) = dd.Value

/>Удаление данных

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

Dim c AsObject, d As Object

Set c =Range(«A2»)

Do While NotIsEmpty(c)

 Set d =c.Offset(1, 0)

 If c =¹.Text Then

 c.EntireRow.Delete

 End If

 Set c = d

Loop

End Sub

/>Корректировка данных

Для изиенения данныхиспользовался следующий код.

Dim i AsInteger, j As Integer

i = 1

Do

 i = i + 1

 IfSheets(1).Cells(i, 1) = "" Then

 j = i — 1

 Exit Do

 End If

Loop

For i = 3 To j

 If Cells(i,1) = ¹.Text Then

 Cells(i, 2) =Data.Value

 Cells(i, 3) =pos.Text

 Cells(i, 4) =time1.Value

 Cells(i, 5) =time2.Value

 Cells(i, 6) =AA.Value

 Cells(i, 7) =bB.Value

 Cells(i, 8) =cc.Value

 Cells(i, 9) =dd.Value

 End If

Next i

End Sub

/> Сортировка данных

Сортировка позволяетвыстраивать данные в алфавитном или цифровом порядке по возрастанию.

Нажатие кнопки длясортировки таблицы по определенному полю вызывает процедуру DoSort. Например, сортировка по станцииназначения. выглядит так:

Private Sub COPTuPOBKA(bn)

Range(«A1»).CurrentRegion.SortKey1:=Range(bn), Order1:=xlAscending, Header:=xlYes, _

 OrderCustom:=1,MatchCase:=False, Orientation:=xlTopToBottom

Range(«A1»).Select

End Sub

Private SubpoPOS_Click()

COPTuPOBKA(«c1»)

End Sub

/>/>Таблица «Тарифы»

На листе «Тарифы»расположена таблица с полями:

·    Номер поезда

·    Цена билетов покатегориям


№ поезда A B C D 110608 1600 1300 1000 800 113186 1600 1300 1100 900 113514 1500 1200 900 500 113819 1700 1500 1200 1000 117648 1100 800 500 300

Для работы с таблицейпредусмотрена пользовательская форма «Тарифы», которая вызывается в меню спанели инструментов.

/>

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

Кнопки работают по томуже принципу.

Таблица «Билеты»

/>/>На листе «Билеты» расположена таблица с полями:

·    Номер поезда

·    ФИО пассажира

·    Дата отправления

·    категория билета


№ поезда ФИ пассажира дата отправления Категория билета 113819 Виле Вало 05.10.03 B 110608 Гари Гарфилд 01.09.03 D 113186 Гендольф Серый 05.10.03 C 113514 Девид Драииман 01.09.03 C 117648 Джабба Хат 23.12.03 A 113514 Джей Гордон 01.09.03 D 113514 Джон Бон Джови 01.09.03 B
Выполнениезадания курсовой работы/>/> Постановка задач

/>/>1.   Составить ведомость наличия билетовна заданный пункт назначения с указанием цен

2.   Составить ведомость выручек на каждыйрейс.

Алгоритмрешения

1.   Составить ведомость наличия билетовна заданный пункт назначения с указанием цен

Dim e AsObject, f As Object

Sheets(1).Select

ListBox1.Clear

TextBox1 =""

TextBox2 =""

TextBox3 =""

TextBox4 =""

TextBox5 =""

TextBox6 =""

TextBox7 =""

TextBox8 =""

TextBox9 =""

Set e =Range(«C2»)

Do While NotIsEmpty(e)

 Set f =e.Offset(1, 0)

 If e.Text =ComboBox1.Text Then

 ListBox1.AddItem(e.Offset(0, -1).Text)

 End If

 Set e = f

Loop

End Sub

Private SubListBox1_Click()

Dim e AsObject, f As Object, k As Object, l As Object, _

a As Integer,b As Integer, c As Integer, d As Integer, _

v As Object, wAs Object

Sheets(1).Select

Set e =Sheets(1).Cells(2, 2)

Set w =Sheets(2).Cells(2, 1)

Set k =Sheets(3).Cells(2, 3)

Do While NotIsEmpty(e)

 Set f =e.Offset(1, 0)

 If e.Text =ListBox1.Text And e.Offset(0, 1).Text = ComboBox1 Then

 TextBox9.Text= e.Offset(0, -1).Text

 a =e.Offset(0, 4)

 b =e.Offset(0, 5)

 c =e.Offset(0, 6)

 d =e.Offset(0, 7)

 End If

 Set e = f

Loop

Do While NotIsEmpty(k)

 Set l =k.Offset(1, 0)

 If k.Text =ListBox1.Text And k.Offset(0, -2).Text = TextBox9.Text Then

 Ifk.Offset(0, 1).Text = «A» Then

 a = a — 1

 ElseIfk.Offset(0, 1).Text = «B» Then

 b = b — 1

 ElseIfk.Offset(0, 1).Text = «C» Then

 c = c — 1

 Else

 d = d — 1

 End If

 End If

 Set k = l

Loop

TextBox1.Text= a

TextBox2.Text= b

TextBox3.Text= c

TextBox4.Text= d

Do While NotIsEmpty(w)

 Set v =w.Offset(1, 0)

 If w.Text =TextBox9.Text Then

 TextBox5.Text= w.Offset(0, 1)

 TextBox6.Text= w.Offset(0, 2)

 TextBox7.Text= w.Offset(0, 3)

 TextBox8.Text= w.Offset(0, 4)

 End If

 Set w = v

Loop

End Sub

Private SubUserForm_Activate()

Dim c AsObject, d As Object

Sheets(1).Select

Set c =Range(«C2»)

Do While NotIsEmpty(c)

 Set d =c.Offset(1, 0)

 ComboBox1.AddItemc

 Set c = d

Loop

End Sub

2.  Составитьведомость выручек на каждый рейс.

ListBox1.Clear

Dim i AsInteger, j As Integer, l As Integer, r As Integer, z As Integer, x As Integer,a As Integer, _

b As Integer,c As Integer, d As Integer, y As Long, t As Integer, k As Integer

Do

 i = i + 1

 IfSheets(1).Cells(i, 1) = "" Then

 j = i — 1

 Exit Do

 End If

Loop

i = 1

Do

 i = i + 1

 IfSheets(2).Cells(i, 1) = "" Then

 l = i — 1

 Exit Do

 End If

Loop

i = 1

Do

 i = i + 1

 IfSheets(3).Cells(i, 1) = "" Then

 r = i — 1

 Exit Do

 End If

Loop

For z = 2 To j

 For x = 2 Tor

 IfSheets(3).Cells(x, 1).Text = Sheets(1).Cells(z, 1).Text And _

 Sheets(3).Cells(x,3).Text = Sheets(1).Cells(z, 2).Text Then

 IfSheets(3).Cells(x, 4).Text = «A» Then

 a = a + 1

 ElseIfSheets(3).Cells(x, 4).Text = «B» Then

 b = b + 1

 ElseIfSheets(3).Cells(x, 4).Text = «C» Then

 c = c + 1

 Else

 d = d + 1

 End If

 End If

 Next x

 For t = 2 Tol

 IfSheets(2).Cells(t, 1).Text = Sheets(1).Cells(z, 1).Text Then

 y = a *Sheets(2).Cells(t, 2).Value + b * Sheets(2).Cells(t, 3).Value + _

 c *Sheets(2).Cells(t, 4).Value + d * Sheets(2).Cells(t, 5).Value

 End If

 Next t

 ListBox1.AddItem(Sheets(1).Cells(z, 1).Text)

 ListBox1.List(k,1) = Sheets(1).Cells(z, 2).Text

 ListBox1.List(k,2) = Sheets(1).Cells(z, 3).Text

 ListBox1.List(k,3) = y

 k = k + 1

Next z

End Sub

/>Заключение

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

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


/>Список использованных источников

1.        Гарнаев А.Ю. Microsoft Excel 2002: разработка приложений. – Санкт-Петербург, 2003.

2.        Информатика(Методические указания к выполнению курсовой работы) И.В.Макарова, Ю.Н.Смирнов

3.        Информатика(Использование возможностей VBAдля создания приложений) И.В.Макарова, Ю.Н.Смирнов

еще рефераты
Еще работы по информатике, программированию