Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 курс / ЛР-01 / Задание

.pdf
Скачиваний:
18
Добавлен:
13.04.2015
Размер:
58.98 Кб
Скачать

ЗА Д А Н И Е

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

ПО Р Я Д О К В Ы П О Л Н Е Н И Я

1) Найти и скопировать на диск папку с описанием работы:

Диск:\...\Основы программирования\ЛР-1

2) В скопированной папке открыть файл с описанием работы:

Диск:\...\Основы программирования\ЛР-1\Задание.PDF

3) Найти и скопировать на диск папку с вариантами заданий:

Диск:\...\Основы программирования\Варианты

4) В скопированной папке открыть файл с вариантами инженерных задач:

Диск:\...\Основы программирования\Варианты\Задачи-НомерГруппы.PDF

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

···

Имя папки с исходными данными и математической постановкой Папка = "ИмяПапки"

···

6) В скопированной ранее папке с вариантами заданий найти папку с исходными данными и математической постановкой своего варианта инженерной задачи:

Диск:\...\Основы программирования\Варианты\ИмяПапки

7) В найденной папке открыть файлы с исходными данными и математической постановкой своего варианта инженерной задачи:

Диск:\...\Основы программирования\Варианты\ИмяПапки\Формулы.PDF Диск:\...\Основы программирования\Варианты\ИмяПапки\

Данные-НомерГруппы.PDF

8) В открытом файле с исходными данными найти свой вариант показателей-констант и показателя-переменной для примера решения инженерной задачи:

···

Название показателя-константы, ед. изм. ОбозначениеКонстанты = ЗначениеКонстанты

···

Название показателя-переменной, ед. изм. (пример) ОбозначениеПоказателяДляПримера = ЗначениеПеременнойДляПримера

···

9) Создать на диске новую папку для сохранения результатов:

Диск:\...\Фамилия-НомерГруппы\ЛР-1

10) Запустить табличный редактор "MS Excel" и заполнить свойства нового документа (без кавычек):

автор "Фамилия И.О.";

название "ЛР-1";

тема "Структура данных для решения инженерной задачи";

комментарий "Вариант № НомерВарианта – НазваниеИнженернойЗадачи"

Кнопка "Office" – Подменю "Подготовить" – Вариант "Свойства" – ...

Примечание. Для последних версий "MS Excel" вместо кнопки "Office"

открыть меню "Файл"...

11) Сохранить электронную таблицу с возможностью использования макросов в свою рабочую папку:

Кнопка "Office" – Подменю "Сохранить как" – Вариант "Книга Excel с

поддержкой макросов" – ...

12) Выбрать последний лист в книге и удалить один за другим все листы, кроме первого табличного листа:

Лента "Главная" – Область "Ячейки" – Список "Удалить" – Вариант

"Удалить лист" – ...

13) Переименовать первый табличный лист в соответствии со своим вариантом задания "Вариант-НомерВарианта" без кавычек:

Лента "Главная" – Область "Ячейки" – Подменю "Формат" – Команда

"Переименовать лист" – ...

14) Включить ленту для разработчиков (если она не видна):

Кнопка "Office" - Кнопка "Параметры Excel" - Раздел "Основные" -

Признак "Показывать вкладку "Разработчик" на ленте" - ...

15) Разрешить беспрепятственный запуск макросов (если это запрещено):

Лента "Разработчик" - Область "Код" - Кнопка "Безопасность макросов" - Окно "Центр управления безопасностью" - Раздел "Параметры макросов" - Переключатель "Включить все макросы..." - Признак "Доверять доступ к объектной модели проектов VBA" - ...

16) Отобразить среду программирования VBA:

Лента "Разработчик" - Область "Код" - Кнопка "Visual Basic"

17) Создать новый программный модуль:

Меню "Insert" - Команда "Module"

18) В начало модуля добавить директиву компилятора для обязательного объявления переменных (если она отсутствует):

' обязательное объявление переменных

OPTION EXPLICIT

19) После директивы компилятора объявить диапазон нумерации показателей для своего варианта инженерной задачи (придумать имя диапазона латинскими буквами без пробелов):

···

'объявляем диапазон нумерации показателей ENUM ИмяДиапазонаНумерацииПоказателей

'конец диапазона ИмяДиапазонаНумерацииПоказателей

END ENUM

20) Перед концом диапазона нумерации добавить обозначение первого показателя из файла с математической постановкой своего варианта инженерной задачи (придумать обозначение показателя большими и маленькими латинскими буквами без пробелов):

···

' название первого показателя, ед. изм. ОбозначениеПервогоПоказателя = НомерПервогоПоказателя

···

21) Перед концом диапазона нумерации добавить обозначения остальных показателей из файла с математической постановкой своего варианта инженерной задачи (придумать обозначения показателей большими и маленькими латинскими буквами без пробелов):

···

'название следующего показателя, ед. изм. ОбозначениеСледующегоПоказателя = НомерСледующегоПоказателя

···

'название последнего показателя, ед. изм. ОбозначениеПоследнегоПоказателя = НомерПоследнегоПоказателя

···

22) После конца диапазона нумерации объявить массивы названий, единиц измерения, значений и форматов показателей для решения инженерной задачи (придумать имена массивов латинскими буквами без пробелов):

···

' объявляем массив названий показателей (текстового типа)

DIM Название(НомерПервогоПоказателя _

TO НомерПоследнегоПоказателя) AS STRING

'объявляем массив ед. изм. показателей (текстового типа)

···

'объявляем массив значений показателей (любого типа)

DIM Значение(НомерПервогоПоказателя _

TO НомерПоследнегоПоказателя) AS VARIANT ' объявляем массив форматов показателей (текстового типа)

···

23) Перейти в конец модуля (клавиши "Ctrl+End") и добавить шаблон приватной подпрограммы для подготовки структуры данных (придумать имя подпрограммы латинскими буквами без пробелов):

Меню "Insert" - Команда "Procedure..." - Поле "Name:" - Ввести имя подпрограммы - Группа "Type" - Переключатель "Sub" - Группа

"Scope" - Переключатель "Private" - Кнопка "OK"

24) Перед заголовком подпрограммы подготовки структуры данных для решения инженерной задачи (подготовительной подпрограммы) добавить соответствующий комментарий:

···

'подготовка структуры данных для решения инженерной задачи PRIVATE SUB ИмяПодпрограммыПодготовкиДанных()

'конец подпрограммы ИмяПодпрограммыПодготовкиДанных

END SUB

25) Перед концом подготовительной подпрограммы добавить команду объявления переменной для номера показателя (придумать имя переменной латинскими буквами без пробелов):

···

' объявляем переменную для номера показателя

DIM Показатель AS ИмяДиапазонаНумерацииПоказателей

···

26) Перед концом подготовительной подпрограммы добавить команды сохранения первого показателя из файла с математической постановкой своего варианта инженерной задачи:

···

'запоминаем номер первого показателя Показатель = ОбозначениеПервогоПоказателя

'запоминаем название первого показателя

Название(Показатель) = "Название первого показателя"

'запоминаем ед. изм. первого показателя ЕдИзм(Показатель) = "-"

'запоминаем значение первого показателя Значение(Показатель) = "Значение"

'запоминаем формат первого показателя Формат(Показатель) = "General"

···

Примечания:

текстовые названия показателей записываются в кавычках;

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

для текстовых показателей значения записываются в кавычках;

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

27) Перед концом подготовительной подпрограммы добавить команды сохранения остальных показателей из файла с математической постановкой своего варианта инженерной задачи:

···

'запоминаем номер следующего показателя Показатель = ОбозначениеСледующегоПоказателя

'запоминаем название следующего показателя

Название(Показатель) = "Название следующего показателя"

'запоминаем ед. изм. следующего показателя ЕдИзм(Показатель) = "ед. изм."

'запоминаем значение следующего показателя Значение(Показатель) = Значение

'запоминаем формат следующего показателя Формат(Показатель) = "Формат"

···

'запоминаем номер последнего показателя Показатель = ОбозначениеПоследнегоПоказателя

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

Название(Показатель) = "Название последнего показателя"

'запоминаем ед. изм. последнего показателя ЕдИзм(Показатель) = "ед. изм."

'запоминаем значение последнего показателя Значение(Показатель) = Значение

'запоминаем формат последнего показателя Формат(Показатель) = "Формат"

···

Примечания:

для числовых показателей значения записываются без кавычек;

если значение показателя не задано, то используется неопределённое значение (специальная константа "NULL" без кавычек);

для числовых показателей без дробных цифр используется формат "0", с одной дробной цифрой – формат "0.0", с двумя дробными цифрами – формат "0.00", ... в кавычках.

28) Перед концом подготовительной подпрограммы добавить команды временной блокировки и разрешения обновления экрана:

···

' запрещаем обновление экрана

APPLICATION.SCREENUPDATING = Ложь

' разрешаем обновление экрана

APPLICATION.SCREENUPDATING = Истина

···

29) В подготовительную подпрограмму перед разрешением обновления экрана добавить команду объявления переменной для номера строки таблицы (придумать имя переменной латинскими буквами без пробелов):

···

' объявляем целочисленную переменную для номера строки

DIM Строка AS LONG

···

30) В подготовительную подпрограмму перед разрешением обновления экрана добавить команды вывода данных из массивов на первый табличный лист:

···

'запоминаем начальную строку Строка = НомерПервойСтроки

'для всех показателей

FOR Показатель = НомерПервогоПоказателя TO НомерПоследнегоПоказателя

'переходим на следующую строку Строка = СтрокаПлюсЕдиница

'в следующей строке первого табличного листа этой книги

WITH THISWORKBOOK.WORKSHEETS(НомерПервогоЛиста).ROWS(Строка)

' выводим название показателя в первую колонку

.COLUMNS(НомерПервойКолонки).VALUE = Название(Показатель)

'выводим ед. изм. показателя во вторую колонку

···

'выводим значение показателя в третью колонку

···

'уточняем формат показателя в третьей колонке

.COLUMNS(НомерТретьейКолонки) _

.NUMBERFORMAT = Формат(Показатель)

' конец изменения строки

END WITH

' переходим к следующему показателю NEXT Показатель

···

31) В подготовительную подпрограмму перед разрешением обновления экрана добавить команды настройки ширины колонок таблицы для отображения длинных названий показателей:

···

' в используемом диапазоне первого табличного листа этой книги

WITH THISWORKBOOK.WORKSHEETS(НомерПервогоЛиста).USEDRANGE

'выбираем все ячейки

.SELECT

'подбираем оптимальную ширину колонок

.COLUMNS.AUTOFIT

' конец настройки диапазона

END WITH

···

32) Сохранить электронную таблицу вместе с модулем, структурой данных и подпрограммой:

Меню "File" - Команда "Save"

33) Выполнить компиляцию проекта (для проверки ошибок):

Меню "Debug" - Команда "Compile VBAProject"

34)Исправить обнаруженные ошибки...

35)Поставить курсор между заголовком и концом подготовительной подпрограммы и выполнить программу:

Меню "Run" - Команда "Run Sub/User Form" - ...

36)Исправить обнаруженные ошибки...

37)Переключиться из среды программирования VBA в основное окно табличного редактора "MS Excel" (клавиши "Alt+F11").

38)На табличном листе проверить названия, единицы измерения, заданные значения, размещение и форматирование показателей для своего варианта инженерной задачи (ячейки в третьей колонке для показателей с неизвестными значениями должны быть пустыми):

 

 

A

B

C

1

 

 

 

 

2

Название

первого показателя

ЕдИзм_1

Значение_1

3

Название

следующего показателя

ЕдИзм_2

Значение_2

···

···

 

···

···

###

Название

последнего показателя

ЕдИзм_N

 

···

 

 

 

 

39)Исправить обнаруженные ошибки...

40)Сохранить электронную таблицу в своей папке без изменения имени:

Кнопка "Office" – Команда "Сохранить"

41)Закрыть электронную таблицу с программой...

42)Сохранить свою папку с результатами работы на съёмный диск...

43)Сдать съёмный диск на проверку (в конверте).