Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая Работа.docx
Скачиваний:
25
Добавлен:
15.04.2015
Размер:
649.52 Кб
Скачать

Задание 3.

В соответствии с вариантом задания разработать пользовательский интерфейс и составить программу в редактореVB MS Excel, с помощью которой осуществляется:

1) ввод исходных данных двумерного массива (ввод наименований в ячейки первого столбца таблицы осуществляется вручную, численные данные массива вводятся через функцию InputBox) и их вывод в виде таблицы на рабочий лист;

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

Пример выполнения задания 3

Известны данные о количестве часов проката каждой из5 различных марок легковых автомобилей3 филиалами фирмы:

Необходимо разработать пользовательский интерфейс и составить программу в редактореVB MS Excel, с помощью которой будет осуществляться:

1. Ввод исходных данных двумерного массива и их вывод в виде таблицы на рабочий лист.

2. Определение:

  • марки автомобиля, которая по общим часам проката у трех филиалов больше всего уступает другим маркам;

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

3. Вывод полученных результатов на тот же рабочий лист.

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

Свойства размещенных на первом листе кнопок представлены в таблице.

Значения количества часов проката будем вводить с помощью функции InputBox и присваивать соответствующим элементам двумерного массива.

Для обработки событий нажатия кнопок «Ввод и вывод данных», «Определить» и «Очистить» введем в модуле «Лист1» следующий код:

Dim KolHour(1 To 10, 1 To 10) As Integer

Dim KM, KF, i, j As Integer

Private Sub inputOutputData_Click()

KM = Val(InputBox("Введите количество марок легковых автомобилей",

"Ввод данных"))

KF = Val(InputBox("Введите число филиалов фирмы", "Ввод данных"))

For i = 1 To KM

For j = 1 To KF

KolHour(i, j) = Val(InputBox("Введите количество часов проката " &

Cells(i + 2, 1) & " " & Cells(2, j + 1), "Ввод данных"))

Cells(i+2, j+1) = KolHour(i, j) ‘вывод элементов массива на лист

Next j

Next i

End Sub

Private Sub calc_Click()

Dim sH, minS, minMarka, k As Integer

Dim stroka As String

minS = 32000

For i = 1 To KM

sH = 0

For j = 1 To KF

sH = sH+KolHour(i, j) ‘нахождение суммы часов проката каждой марки

Next j

If sH < minS Then minS = sH: minMarka = i ‘поиск минимальной из этих сумм

Next i

MsgBox "Марка автомобиля, уступающая остальным маркам по часам проката

у трех филиалов, – " & Cells(minMarka + 2, 1)

‘нахождение суммы часов проката по центральному филиалу

sH = 0

For i = 1 To KM

sH = sH + KolHour(i, 2)

Next i

MsgBox "Среднее количество часов проката одного автомобиля в централь-

ном филиале составляет " & Str(Round(sH / KM, 2))

‘поиск количества марок авто и их наименований с часами проката, не выше

‘среднего по центральному филиалу

k = 0

stroka = ""

For i = 1 To KM

If KolHour(i, 2) <= sH / KM Then

k = k + 1

stroka = stroka + Cells(i + 2, 1) + " "

End If

Next i

MsgBox "Количество марок автомобилей центрального филиала, у которых

количество часов проката не превышает среднее, " & Str(k) & ", а марки: "

& stroka

Cells(KM + 3, 1) = "Марка авто" ‘вывод результатов на лист

Cells(KM + 3, 2) = Cells(minMarka + 2, 1)

Cells(KM + 4, 1) = "Среднее кол-во часов проката"

Cells(KM + 4, 3) = sH / KM

Cells(KM + 5, 1) = "Количество марок"

Cells(KM + 5, 3) = k

Cells(KM + 6, 1) = "Марки:"

Cells(KM + 6, 3) = stroka

End Sub

Private Sub clean_Click()

For i = 1 To KM + 4

For j = 1 To KF

Cells(i + 2, j + 1).ClearContents

Next j

Cells(i + KM + 2, 1).ClearContents

Next i

End Sub

Результат нажатия кнопок «Ввод и вывод данных» и «Определить»

После того, как вся работа будет оформлена, необходимо в конце привести список литературы и содержание.

В списке литературы указать не менее 5 печатных или электронных источников по теме курсовой работы (информатика, MS Word, Ms Excel, VBA). Источники найти самостоятельно и разместить их в виде нумерованного списка.

Содержание сформировать автоматически средствами MS Word.