МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное образовательное
Учреждение высшего профессионального образования
Национальный исследовательский технологический университет
«МИСиС»
Институт итасу
Курсовая работа дисциплина: Макросы и приложения
Выполнила:
Студентка группы МИТ-14-2
Николаева Галина Леонидовна
__________________________
Проверила:
Доцент кафедры АСУ
Муратова Светлана Юрьевна
__________________________
Москва, 2016
Оглавление
Оглавление 2
1.Задание курсовой работы 3
1.1.Вариант № 16 – 42 3
1.1.1. Постановка задачи 3
2.Листинг программы 6
2.1.Microsoft Excel Objects 6
2.1.1.ЭтаКнига 6
2.2.Forms 6
2.2.1.frmИтоги 6
2.3.Modules 7
2.3.1.Module1 7
2.3.2.Вывод 7
2.3.3.Существование 13
3.План тестирования программы 16
4.Придуманное мной задание 17
Задание курсовой работы
Вариант № 16 – 42
Основываясь на результатах проведенных Гран-При, написать программу, которая формирует сводные списки лидеров в личном зачете и команд в кубке конструкторов в классе гонок Формулы-1.
1.1.1. Постановка задачи
В книгах с названием Гран-При-{номер гонки}-{Страна}.xlsсодержатся данные о гонках, которые были проведены в текущем сезоне (например,Гран-При-1-Австралия.xls). Книги находятся в папкеC:\Результаты.
Каждая книги содержит один лист, на котором расположена база данных (БД) Excelследующей структуры:
Результаты Гран-При Австралии
Поз |
Старт |
Пилот |
Команда |
Время/Отставание |
Очки |
1 |
7 |
Кими Райкконен |
Lotus-Renault |
1:30:03.225 |
25 |
2 |
3 |
Фернандо Алонсо |
Ferrari |
+12.4 сек |
18 |
3 |
1 |
Себастьян Феттель |
Red Bull Racing-Renault |
+22.3 сек |
15 |
4 |
4 |
Фелипе Масса |
Ferrari |
+33.5 сек |
12 |
5 |
10 |
Льюис Хэмильтон |
Mercedes |
+45.5 сек |
10 |
6 |
2 |
Марк Уэббер |
Red Bull Racing-Renault |
+46.8 сек |
8 |
7 |
15 |
Адриан Сутиль |
Force India-Mercedes |
+65.0 сек |
6 |
8 |
14 |
Пол ди Реста |
Force India-Mercedes |
+68.4 сек |
4 |
9 |
5 |
Дженсон Баттон |
McLaren-Mercedes |
+81.6 сек |
2 |
10 |
8 |
Ромен Грожан |
Lotus-Renault |
+82.7 сек |
1 |
11 |
6 |
Серхио Перес |
McLaren-Mercedes |
+83.3 сек |
0 |
12 |
18 |
Жан-Эрик Вернь |
STR-Ferrari |
+83.8 сек |
0 |
13 |
12 |
Эстебан Гутьеррез |
Sauber-Ferrari |
+1 круг |
0 |
14 |
17 |
Вальттери Боттас |
Williams-Renault |
+1 круг |
0 |
15 |
22 |
Жюль Бьянки |
Marussia-Cosworth |
+1 круг |
0 |
16 |
20 |
Шарль Пик |
Caterham-Renault |
+2 круга |
0 |
17 |
23 |
Макс Чилтон |
Marussia-Cosworth |
+2 круга |
0 |
18 |
21 |
Гидо ван дер Гарде |
Caterham-Renault |
+2 круга |
0 |
Сход |
19 |
Даниэль Риккьярдо |
STR-Ferrari |
Сход |
0 |
Сход |
9 |
Нико Росберг |
Mercedes |
Сход |
0 |
Сход |
16 |
Пастор Мальдонадо |
Williams-Renault |
Сход |
0 |
Сход |
11 |
Нико Хюлкенберг |
Sauber-Ferrari |
Сход |
0 |
Требуется (с помощью средств VBA) разработать программное обеспечение, позволяющее получить либо тройки лидеров в личном зачете пилотов в проведенных Гран-При:
Личный зачет
Гран-При-{номер гонки}-{Страна1}
Поз |
Пилот |
Команда |
Очки |
1 |
Себастьян Феттель |
Red Bull Racing-Renault |
89 |
2 |
Кими Райкконен |
Lotus-Renault |
85 |
3 |
Фернандо Алонсо |
Ferrari |
72 |
Гран-При-{номер гонки}-{Страна2}
1 |
… |
… |
… |
2 |
… |
… |
… |
3 |
… |
… |
… |
…
либо результаты кубка конструкторов (подсказка:у каждой команды два пилота, следовательно, значение в столбцеОчкиявляется суммой очков, заработанных ими во время гонки):
Кубок конструкторов
Гран-При-{номер гонки}-{Страна1}
Поз |
Команда |
Очки |
1 |
Red Bull Racing-Renault |
131 |
2 |
Ferrari |
117 |
3 |
Lotus-Renault |
111 |
Гран-При-{номер гонки}-{Страна2}
Поз |
Команда |
Очки |
1 |
… |
… |
2 |
… |
… |
3 |
… |
… |
…
Полученную таблицу сохранить в файле Команды-призеры.xlsилиПилоты-призеры.xlsв папкеC:\Текущие итоги (в случае отсутствия папки – создать ее).
Запрос на создание искомого файла реализовать с помощью формы:
Рис. 1. Форма запроса
С помощью альтернативных кнопок пользователь выбирает тип нужных ему результатов. По умолчанию включить кнопку Личный зачет.
В поле со списком Выберите последний Гран-Припользователь выбирает последний проведенный Гран-При, который определяет, до какого этапа следует выводить результаты в итоговой таблице (например, предположим, мы выбрали пункт 3 - Китай, следовательно, следует вывести призеров первых трех гонок). Элементы списка – это строки «гонка + страна», извлеченные из названий файлов в папкеC:\Результаты(например, из названия файлаГран-При-1-Австралия.xls в список попадет элемент 1-Австралия).
Кнопку ОКсвязать с клавишей[Enter], кнопкуОтмена– с клавишей[Escape].
Предусмотреть обработку событий, связанных с различными состояниями исходного и конечного файлов: закрыты, открыты, не существуют. При наличии конечного файла выдать запрос на его замену.
Программа должна находиться в файле Программа Текущие итоги.xls
При открытии файла с программой в стандартном интерфейсе Excelдолжна появляться панель инструментов с кнопкамиО программеиТекущие итоги. При щелчке по кнопкеО программена экране должна появляться форма с данными о разработчике программы. Вторая кнопка предназначена для вызова формы (рис.1).
При закрытии файла с программой привнесенный пользовательский интерфейс должен удаляться.
Оформить программу согласно требованиям, изложенным на лекциях.
Придумать свой вариант задания.