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

Сборник задач по VBA

.pdf
Скачиваний:
439
Добавлен:
09.04.2015
Размер:
379.19 Кб
Скачать

Министерство образования Республики Беларусь Учреждение образования

«МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРОДОВОЛЬСТВИЯ»

Кафедра «Информатика и вычислительная техника»

Сборник задач по VBA

Методические указания для студентов всех специальностей и аспирантов

Могилев 2008

УДК 681.3

Рассмотрены и рекомендованы к изданию на заседании кафедры

«Информатика и вычислительная техника» Протокол № 9 от « 14 » апреля 2008 г.

Составитель

В.Л. Титов

Рецензенты:

кандидат технических наук, доцент, заведующий кафедрой «Автоматизированные системы управления» Белорусско-Российского университета

С.К. Крутолевич

кандидат физико-математических наук, доцент кафедры «Математического анализа, информатики и вычислительной техники» Могилевского государственного университета им. А.А. Кулешова С.Н. Батан

Методические указания представляет собой задачник по программированию на языке

Visual Basic for Applications (VBA).

Данные методические указания предназначены для аспирантов и студентов всех специальностей, изучающих дисциплины «Информатика», «Информатика и компьютерная графика», «Основы информационных технологий».

© УО «Могилевский государственный университет продовольствия», 2008

2

Введение

Основная цель данного методического указания научить аспирантов и студентов программировать на языке Visual Basic for Applications (VBA).

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

В методическом указании предложено большое количество задач (более 200), от простых до достаточно сложных.

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

3

Часть 1. СОЗДАНИЕ МАКРОСОВ

Начальные сведения по решению задач данной части содержатся в частях 1 и 2 учебно-методического пособия «Программирование на VBA».

Приступая к решению задач этого раздела, следует вспомнить, что:

üпри записи макроса макрорекордер записывает все действия пользователя, включая ошибки и неправильные запуски;

üзаписанные макрорекордером макросы не универсальны, поскольку они

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

üзаписанные макросы не гибки, поскольку они не учитывают изменения обстоятельств и условий;

üприменение макросов повышает скорость работы и, главное, точность и надежность.

1. Создайте макрос в Excel, который строит график функции y = x2 - x - 2 на отрезке [-3,3].

2.Создайте макрос в Excel, который заливает ячейку B1 ярко-зеленым цветом, вычисляет разность ячеек A1, A2 и выводит результат в ячейку B1 шрифтом Arial, подчеркнутым, 14 размером.

3.Создайте макрос в Excel, вычисляющий площадь поверхности и объем цилиндра (ячейки, содержащие r, h , должны быть подписаны).

S = 2 × p × r × (h + r)

V= p× r2 × h

4.Создайте макрос в Excel, который переводит вес из фунтов в килограммы (один фунт равен 409,5 г; ячейки, содержащие фунты и килограммы, должны быть подписаны).

5.Создайте макрос в Excel, который выводит на синем фоне красными буквами в текущую ячейку сообщение «Visual Basic for Applications (VBA)»

шрифтом Times New Roman, обычным, 12 размером.

6.Создайте макрос в Excel, который выделенный диапазон ячеек одной строки A1:H1 сортирует по убыванию.

7. Создайте макрос в Excel, вычисляющий площадь треугольника:

S = 12 × a × h, где a длина основания треугольника, h его высота (ячейки,

содержащие a, h, должны быть подписаны).

8. Создайте макрос в Excel, который выводит, начиная с текущей ячейки, четверостишие:

Унылая пора! Очей очарованье! Приятна мне твоя прощальная краса. Люблю я пышное природы увяданье, В багрец и золото одетые леса.

А.С. Пушкин

4

9.Создайте макрос в Excel, который вычисляет произведение чисел, расположенных в выделенном диапазоне 5-и ячеек.

10.Создайте макрос в Excel, который копирует ячейки A1:C2 и выводит их содержимое, начиная с ячейки F20.

11.Создайте макрос в Excel, который из последовательности чисел, расположенных в ячейках A1:A10, выводит последовательность с положительными числами в ячейки B1:B10.

12.Создайте макрос в Excel, вычисляющий объем и площадь поверхности шара (ячейка, содержащая r , должна быть подписана).

V = 34 × p× r3

S= 4 × p × r2

13.Создайте макрос в Excel, который переносит ячейки A1:A10 в ячейки

E16:E25.

14.Создайте макрос в Excel, который выводит в текущей ячейке фразу: «Каждый охотник желает знать, где сидят фазаны», позволяющую запомнить порядок следования цветов радуги (первая буква слова кодирует цвет: каждый красный, охотник оранжевый, желает желтый, знать зеленый, где голубой, сидят синий, фазаны фиолетовый). Каждое слово фразы должно быть выведено соответствующим цветом.

15.Создайте макрос в Excel, который переводит расстояния из километров в версты (одна верста равна 1066,8 м.; ячейки, содержащие километры и версты, должны быть подписаны).

16.Создайте макрос в Excel, который выделенный диапазон ячеек одного столбца B1:B10 сортирует по возрастанию.

17.Создайте макрос в Excel, который выводит, начиная с ячейки B3, на синем фоне серыми буквами 16 размером четверостишие:

Буря мглою небо кроет, Вихри снежные крутя; То, как зверь, она завоет, То заплачет, как дитя.

А. С. Пушкин

18. Создайте макрос в Excel, вычисляющий объем конуса (ячейки, содержащие r, h , должны быть подписаны).

S= 13 × p× r2 × h

19.Создайте макрос в Excel, который для ячеекA2:B10 строит точечную диаграмму (значения X: A2:A10, значения Y: B2:B10).

20.Создайте макрос в Excel, который вычисляет сумму чисел, расположенных в ячейках A1:B10, и выводит результат в ячейку B11.

21.Создайте макрос в Excel на изменение ширины текущего столбца

5

(Ширина столбца 20).

22.Создайте макрос в Excel, который объединяет ячейки B7:H7 и выводит на желтом фоне синими буквами в объединенной ячейке сообщение «Создание макроса» шрифтом Times New Roman, обычным, 12 размером.

23.Создайте макрос в Excel, который для ячеек A2:C2 строит круговую диаграмму.

24.Создайте макрос в Excel на изменение высоты текущей строки (Высота строки 25).

25.Создайте макрос в Excel, вычисляющий площадь круга: S = p× r2 , где r радиус круга (ячейка, содержащая r , должна быть подписана).

26.Создайте макрос в Excel, который строит график функции y = x2 -1 на

отрезке [-2,2].

27.Создайте макрос в Excel на изменение угла наклона текста в текущей ячейке (90 градусов).

28.Создайте макрос в Excel, вычисляющий объем полого цилиндра (ячейки,

содержащие r1, r2, h , должны быть подписаны; r1 радиус цилиндра, r2 радиус отверстия, h высота цилиндра).

V= p × h ×(r12 - r22 )

29.Создайте макрос в Excel на добавление листа в книгу.

30.Создайте макрос в Excel, вычисляющий площадь трапеции: S = a +2 b × h ,

где a, b длины оснований, h высота трапеции (ячейки, содержащие a, b, h , должны быть подписаны).

Часть 2. СОЗДАНИЕ ПРОГРАММ С ЛИНЕЙНОЙ СТРУКТУРОЙ

Начальные сведения по решению задач данной части содержатся в части 3 учебно-методического пособия «Программирование на VBA».

Приступая к решению задач этого раздела, следует вспомнить, что:

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

üв программах с линейной структурой инструкции выполняются последовательно, одна за другой.

üалгоритм программы с линейной структурой может быть представлен следующим образом:

6

Начало

Ввод исход-

С клавиатуры

ных данных

 

 

Обработка

 

(вычисления)

 

Ввод исход-

На экран

ных данных

монитора

 

 

Конец

1. Составьте блок-схему и программу на языке VBA для вычисления

площади прямоугольника.

 

 

 

Исходные данные:

 

 

Результат:

Длинна (см): 9

 

 

Площадь прямоугольника: 67,5 (кв. см)

Ширина (см): 7,5

 

 

 

2. Составьте блок-схему и программу на языке VBA для вычисления

стоимости покупки, состоящей из нескольких тетрадей и карандашей.

Исходные данные:

 

 

Результат:

Цена тетради (руб.): 450

 

Стоимость покупки: 2 940 (руб.)

Количество тетрадей (шт.): 5

 

 

Цена карандаша (руб.): 230

 

 

Количество карандашей (шт.): 3

 

3. Составьте блок-схему

и программу на языке VBA для вычисления

значения функции f (x, y) =

x3

y

.

1+ x2 + y4

Исходные данные:

Результат:

 

 

x = 2, y = 1

 

 

f (x, y) = 1,1666666

4. Составьте блок-схему и программу на языке VBA для вычисления объема прямоугольного параллелепипеда.

Исходные данные:

Результат:

Длина (дм): 9

Объем параллелепипеда: 337,5 (куб. дм)

Ширина (дм): 7,5

 

Высота (дм): 5

 

5. Составьте блок-схему и программу на языке VBA для вычисления

расстояния между населенными пунктами, изображенными на карте.

Исходные данные:

Результат:

Масштаб карты (количество

Расстояние между населенными пунктами

километров в одном см): 120

420 км.

Расстояние между точками,

 

изображающими населенные

 

пункты (см): 3,5

 

 

7

6. Составьте блок-схему и программу на языке VBA для вычисления площади треугольника, если известна длина основания и высота.

Исходные данные:

Результат:

Основание (см): 8,5

Площадь треугольника 42,5 (кв. см)

Высота (см): 10

 

7. Составьте блок-схему и программу на языке VBA для вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являются: расстояние до дачи (в километрах); количество бензина, которое потребляет автомобиль на 100 км пробега; цена одного литра бензина.

Исходные данные:

Результат:

Расстояние до дачи (км): 34

Поездка на дачу и обратно обойдется в

Расход бензина (литров на

14 796,8 руб.

100 км пробега): 8,5

 

Цена литра бензина (руб.): 2 560

 

8. Составьте блок-схему и программу на языке VBA для вычисления

объема куба.

 

Исходные данные:

Результат:

Длинна ребра (см): 9,5

Объем куба 857,375 (куб. см)

9. Составьте блок-схему и программу на языке VBA для пересчета расстояния из верст в километры (1 верста равняется 1 066,8 м).

Исходные данные:

Результат:

Расстояние в верстах: 100

Расстояние в километрах: 106,68

10. Составьте блок-схему и программу на языке VBA для вычисления

объема цилиндра.

 

 

Исходные данные:

Результат:

Радиус основания (см): 5

Объем цилиндра: 785,398 (куб. см)

Высота цилиндра (см): 10

 

 

11. Составьте блок-схему и программу на языке VBA для вычисления

стоимости некоторого количества (по весу) яблок.

Исходные данные:

 

Результат:

Цена одного килограмма яблок (руб.): 8,5

Стоимость покупки: 19,55 (руб.)

Вес яблок (кг): 2,3

 

 

12. Составьте блок-схему и

программу

на языке VBA для вычисления

площади поверхности прямоугольного параллелепипеда.

Исходные данные:

Результат:

Длина (см): 9

Площадь поверхности: 90,00 (кв. см)

Ширина (см): 7,5

 

Высота (см): 5

 

13. Составьте блок-схему и программу на языке VBA для вычисления величины дохода по вкладу. Процентам ставка (в процентах годовых) и время хранения (в днях) задаются во время работы программы.

Исходные данные:

Результат:

Величина вклада (руб.): 2 500 000

Доход: 41 100 (руб.)

Срок вклада (дней): 30

Сумма по окончании срока вклада:

Процентная ставка (годовых): 20

2 541 100 (руб.)

8

14. Составьте блок-схему и программу на языке VBA для вычисления объема цилиндра.

Исходные данные:

Результат:

Радиус основания (см): 5,5

Объем цилиндра: 665,23 (куб. см)

Высота цилиндра (см): 7

 

15. Составьте блок-схему и программу на языке VBA для вычисления

значения функции f (x) =

sin(x)

.

2x2 + ex

 

 

Исходные данные:

Результат:

x = 1

f (x) = 0,17834267

16. Составьте блок-схему и программу на языке VBA для вычисления площади трапеции, если известны средняя линия и высота трапеции.

Исходные данные:

Результат:

Средняя линия (см): 15,7

Площадь трапеции: 150,72 (кв. см)

Высота (см): 9,6

 

17. Составьте блок-схему и

программу на языке VBA для вычисления

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

Исходные данные:

Результат:

Цена тетради (руб.): 270

Стоимость покупки: 6 370 (руб.)

Цена обложки (руб.): 220

 

Количество комплектов (шт.): 13

 

18. Составьте блок-схему и программу на языке VBA для вычисления

произведения 3-х вещественных чисел.

 

Исходные данные:

Результат:

Первое число: 17,5

Произведение чисел: 5 059,6875

Второе число: 12,5

 

Третье число: 23,13

 

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

Исходные данные:

Результат:

Длина первой стороны (см): 25

Площадь треугольника: 106,25 (кв. см)

Длина второй стороны (см): 17

 

Угол между сторонами треугольника (градусы): 30

20. Составьте блок-схему и программу на языке VBA для пересчета веса из фунтов в килограммы(1 фунт равняется 409,5 г.).

Исходные данные:

Результат:

Фунт(а/ов): 3,5

Килограмм(а/ов): 1,433

21. Составьте блок-схему и программу на языке VBA для вычисления длины диагонали прямоугольника.

Исходные данные:

Результат:

Длина (см): 5,4

Диагональ: 6,3285 (см)

Ширина (см): 3,3

 

22. Составьте блок-схему и

программу на языке VBA для пересчета

9

величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах.

Исходные данные:

Результат:

Минуты: 150

Часы и минуты: 2 ч 30 мин

23. Составьте блок-схему и программу на языке VBA для вычисления

значения функции y(x) = x +

sin2

(x)

.

2

 

Исходные данные:

 

Результат:

 

 

x = 2,5

 

 

y(x) = 2,67908445

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

Исходные данные:

Результат:

Радиус основания (см): 5,5

Площадь поверхности цилиндра: 431,97 (кв. см)

Высота цилиндра (см): 7

 

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

Исходные данные:

Результат:

Число: 124680

124 тысяч(а/и) 680 руб.

26. Составьте блок-схему и программу на языке VBA для вычисления среднего арифметического 3-х чисел.

Исходные данные:

Результат:

Первое число: 7,5

Среднее арифметическое: 4,333333333333

Второе число: 2,5

 

Третье число: 3

 

27. Составьте блок-схему и программу на языке VBA для вычисления длинны вектора по его координатам.

Исходные данные:

Результат:

x1 = 2

Длина вектора: 5,09901951359

y1 = 2,4 x2 = 5,4 y2 = 6,2

28. Составьте блок-схему и программу на языке VBA для вычисления площади прямоугольного треугольника, если известны катет и гипотенуза.

Исходные данные:

Результат:

Катет (см): 12,3

Площадь треугольника: 79,978 (кв. см)

Гипотенуза (см): 17,9

 

29. Составьте блок-схему и программу на языке VBA для вычисления значения функции z(x) = x + ex−1x2 + 3 .

Исходные данные:

Результат:

x = −2,6

z(x) = 0,58470836374

30. Составьте блок-схему и программу на языке VBA для вычисления площади полной поверхности куба, если известна его ребро.

Исходные данные:

Результат:

Ребро (дм): 1,7

Площадь полной поверхности: 17,34 (кв. дм)

10