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

Контрольные работы по VBA_2012

.pdf
Скачиваний:
30
Добавлен:
11.05.2015
Размер:
236.55 Кб
Скачать

Контрольные работы по курсу

«Visual Basic for Applications (VBA)»

КОНТРОЛЬНАЯ РАБОТА № 1

Тема: «Visual Basic for Applications»

Вариант 1

1.Структура программы на языке VBA.

2.Переменная. Описание.

3.Операции, допустимые при работе с численными переменными.

4.Оператор цикла For...Next. Синтаксис оператора. Принцип действия.

5.Строки. Решить следующую задачу.

При наборе текста вместо буквы «О» был набран знак «–». Написать процедуру, которая проверяет считанную строку и заменяет знак «–» на букву «O».

6. Одномерные массивы. Решить следующую задачу.

Написать процедуру, которая в одномерном массиве определяет минимальный и максимальный элементы и находит их среднее арифметическое.

Вариант 2

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

2.Тригонометрические функции в VBA.

3.Операторы присваивания. Описание. Принцип работы.

4.Как выполняется отладка программы на языке VBA?

5.Строки. Решить следующую задачу.

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

6. Одномерные массивы. Решить следующую задачу.

Написать процедуру вычисления Zi = (xi − 50) − yi , где х изменяется от 50 до 100, а y является элементом массива y1 , y2 , ..., y11.

Вариант 3

1.Правила формирования имени переменной в VBA.

2.Одномерный массив. Описание. Обращение к элементу массива.

3.Возможна ли в VBA обработка системной даты? Если возможна, то каким образом?

4.Оператор комментария. Назначение. Оформление в программе.

5.Строки. Решить следующую задачу.

Задана строка символов. Группы символов, разделенные пробелом и не содержащие пробелов внутри себя, будем называть словами. Вывести самое длинное слово в строке и его длину.

6. Одномерные массивы. Решить следующую задачу.

Написать процедуру поиска максимального элемента в массиве из N элементов, используя «кубковую систему»: на первом шаге алгоритма из каждой пары рядом стоящих элементов выбирается максимальный — он проходит в следующий тур. Элемент, которому не находится пара, переходит в следующий тур безусловно. На следующем шаге алгоритм повторяется и так до тех пор, пока в массиве не останется один элемент — он и будет максимальным.

Вариант 4

1.Что такое оператор? Как записываются операторы в программе на VBA: в одну строку, один оператор на одной строке, произвольно?

2.Возможна ли в VBA обработка файловой системы? Если возможна, то — каким образом?

3.Структура и назначение оператора выбора.

4.Явное описание границ массивов в VBA.

5.Строки. Решить следующую задачу.

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

6. Одномерные массивы. Решить следующую задачу.

Подсчитать число точек, находящихся внутри круга радиусом R, с центром в точке с координатами (1,1). Координаты заданы массивами

X(N), Y(N).

Вариант 5

1.Операторы присваивания. Описание. Принцип работы.

2.Двумерный массив. Описание. Обращение к элементу массива.

3.Оператор цикла Do...Loop. Синтаксис оператора. Принцип действия.

4.Что определяет тип данных?

5.Строки. Решить следующую задачу

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

6. Одномерные массивы. Решить следующую задачу.

Дана последовательность a1, a2, ..., a100 . Расположить ненулевые элементы последовательности по убыванию; остальные элементы оставить на своих местах.

Вариант 6

1.Оператор Select Case. Правило оформления. Назначение.

2.Встроенные и определенные пользователем типы данных. Опишите, в чем их отличие.

3.Динамический массив. Описание. Обращение к элементу массива.

4.При использовании цикла For ... Next допускается изменение

значения счетчика в теле цикла. К чему может привести данная практика?

5. Строки. Решить следующую задачу Задана строка символов. Группы символов, разделенные пробелом и не содержащие

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

6. Одномерные массивы. Решить следующую задачу.

Дана последовательность a1 , a2 , ..., a40 . Расположить положительные элементы последовательности, стоящие на нечетных местах, по возрастанию.

Вариант 7

1.Оператор цикла For Each...Next. Синтаксис оператора. Принцип действия.

2.Что такое атрибуты файла? Как они определяются в программе на языке VBA?

3.Как программа на VBA переходит в режим прерывания?

4.Данные типа строка. Описание. Допустимые операции.

5.Строки. Решить следующую задачу

Задана строка символов. Группы символов, разделенные пробелом и не содержащие пробелов внутри себя, будем называть словами. Определить количество слов, которые содержат ровно две буквы а.

6. Одномерные массивы. Решить следующую задачу.

Дана последовательность x1 , x2 , ..., x50 . Требуется расположить отрицательные элементы последовательности в порядке убывания.

Вариант 8

1.Оператор цикла While...Wend. Синтаксис оператора. Принцип действия.

2.Синтаксические и алгоритмические ошибки. Охарактеризуйте данные виды ошибок.

3.Как определяется нижняя граница массива в программе на алгоритмическом языке Visual Basic.

4.Имя процедуры и функции. Правило написания.

5.Строки. Решить следующую задачу

Написать процедуру, которая преобразует текст, оставляя только один пробел между словами. 6. Одномерные массивы. Решить следующую задачу.

Дан массив А(10). Нормировать элементы массива по максимальному.

Вариант 9

1.Работа с клавиатурой в программе на алгоритмическом языке Visual Basic.

2.Шаблон строк. Как оформить? Для чего используется шаблон строк?

3.Как выполнить просмотр результатов выполнения процедуры в интегрированной среде

Visual Basic (VBA)?

4.Константы и их описание. Типы констант.

5.Строки. Решить следующую задачу

Дана строка текста, между словами текста минимум один пробел. Написать программу, которая между словами текста ставит по три знака точка (…).

6. Одномерные массивы. Решить следующую задачу.

Дан массив А(10). В массиве найти сумму элементов после первого отрицательного и сумму элементов до него.

Вариант 10

1.Запись. Описание записи в Visual Basic (VBA).

2.Условный оператор. Синтаксис. Принцип действия.

3.Опишите отладочный режим «Шаг с заходом»

4.Статические и динамические переменные. В чем их отличие?

5.Строки. Решить следующую задачу.

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

6. Одномерные массивы. Решить следующую задачу.

Даны три массива А(10), В(12), С(8). Найти максимальный элемент в каждом массиве и максимальный среди них.

Вариант 11

1.Оператор Select Case. Синтаксис оператора. Принцип действия.

2.Обработка ошибок на VBA. Описание окон: Immediate, local, Wotch. Основные типы ошибок и способы борьбы с ними.

3.Для каких целей используется просмоторщик объектов?

4.Математические функции. Описание. Допустимые операции.

5. Строки. Решить следующую задачу Дан массив А(100). Нормировать элементы массива по минимальному.

6. Одномерные массивы. Решить следующую задачу.

Дана случайная (0<xi<1) последовательность x1, x2, ..., x25 . Требуется расположить четные элементы последовательности в порядке возрастания.

Вариант 12

1.Оператор цикла Do...Loop. Синтаксис оператора. Принцип действия.

2.Синтаксические и алгоритмические ошибки. Охарактеризуйте данные виды ошибок.

3.С помощью какого оператора можно изменить размерность массива, приведите примеры.

4.Имя процедуры и функции. Правило написания.

5.Строки. Решить следующую задачу

Написать процедуру, которая преобразует текст, оставляя только один пробел между словами. 6. Одномерные массивы. Решить следующую задачу.

Дана случайная (-1<xi<1) последовательность x1, x2, ..., x50 . Требуется расположить отрицательные элементы последовательности в порядке возрастания.

Вариант 13

1.Объектная модель VBA. Модель объектов.

2.Что такое объекты и для чего они используются? Описание объекта.

3.Опишите работу с окном Immediate

4.Какие визуальные элементы управления используются для создания современного интерфейса VBA-приложений?

5.Строки. Решить следующую задачу

Дана строка текста, между словами текста минимум один пробел. Написать программу, которая между словами текста ставит по два знака плюс(+).

6. Какая звдача решается при реализации данной программы?

Function LocateItem(target As Integer) As Integer For I = 1 To N

If Value(I) = target Then Exit For Next I

LocateItem = I End Sub

Вариант 14

1.Запись. Описание записи в Visual Basic (VBA).

2.Oператор For next. Синтаксис. Принцип действия.

3.Опишите работу с окном Wotch.

4.Статические переменные.

5.Строки. Решить следующую задачу.

Написать программу, которая добавляет три элемента к коллекции и затем удаляет второй элемент.

6. Если в подпрограмме встречается длинная последовательность рекурсивных вызовов, программа может исчерпать стек, даже если выделенная программе память еще не вся использована. Если запустить на исполнение следующую подпрограмму, она быстро исчерпает всю свободную стековую память и программа аварийно прекратит работу с сообщением об ошибке «Out of stack Space». После этого вы сможете узнать значение переменной Count, чтобы узнать, сколько раз подпрограмма вызывала себя перед тем, как исчерпать стек.

Sub UseStack()

Static Count As Integer

Count = Count + 1

UseStack

End Sub

КОНТРОЛЬНАЯ РАБОТА № 2

Тема: «Visual Basic for Applications»

Вариант 1

1. Двумерные массивы. Решить следующую задачу.

Написать процедуру, которая формирует двумерный массив А последующему алгоритму:

Aij = ∑i j3 , i изменяется от 0 до N, j изменяется от 0 до M. 2. Записи. Решить задачу. Рассматривать не менее 10 записей.

Дан список группы с результатами сессии. Считая, что студент, имеющий не более одной тройки, имеет право на стипендию, поставить в соответствие такому студенту в поле «стипендия» знак «+», в противном случае — знак «–».

Вариант 2

1. Двумерные массивы. Решить следующую задачу.

Написать процедуру, которая формирует двумерный массив размерностью 5× 5 по следующей схеме:

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

Дан список, состоящий из названия книг, фамилии авторов, названия издания и года издания. Напечатать список, упорядоченный по годам изданий.

Вариант 3

1. Двумерные массивы. Решить следующую задачу.

Даны две матрицы Х(6,4); У(7,3). Найти среднее арифметическое всех элементов в каждой матрице.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

Дан список, состоящий из названия книг, фамилии авторов, названия издания и года издания. Напечатать список, упорядоченный по годам изданий.

Вариант 4

1. Двумерные массивы. Решить следующую задачу.

Даны три матрицы А(6,6); В(6,6); С(6,6). Присвоить переменной Y значение 2, если все матрицы равны между собой, значение 1, если равны какие-либо две из них, значение 0 в противном случае.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

Дан список абитуриентов, средний балл аттестата и оценки на вступительных экзаменах у каждого. Считая, что проходной балл 22, определить, станет ли данный абитуриент студентом. Если да, то в графе «принят» поставить «да», в противном случае — «нет».

Вариант 5

1. Двумерные массивы. Решить следующую задачу.

Дана матрица А(3,5). Если сумма всех элементов матрицы больше 0, то у первого элемента этой матрицы заменить знак на противоположный.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

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

Вариант 6

1. Двумерные массивы. Решить следующую задачу.

Даны две матрицы А(5,5); В(7,7). Присвоить переменной B1 значение 1, если элементы матрицы А симметричны относительно главной диагонали и значение 0, в противном случае. Значение переменной В определить аналогично для матрицы В.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

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

Вариант 7

1. Двумерные массивы. Решить следующую задачу.

Дана матрица А(6,5). Вычислить произведения элементов в каждом столбце заданной матрицы.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

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

Вариант 8

1. Двумерные массивы. Решить следующую задачу.

Даны две матрицы А(4,5); В(3,6). Вычислить сумму и разность максимальных элементов этих матриц.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

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

Вариант 9

1. Двумерные массивы. Решить следующую задачу.

Даны три матрицы А(3,6); В(4,4); С(5,4). Вычислить сумму элементов первой строки и произведение последнего столбца в каждой матрице.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

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

Вариант 10

1. Двумерные массивы. Решить следующую задачу.

Даны две матрицы А(5,5); В(6,6). Уменьшить максимальный элемент в каждой из этих матриц в 10 раз.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

Дан список, состоящий из названий книг, фамилий авторов, издательства и года изданий. Упорядочить список по издательствам.

Вариант 11

1. Двумерные массивы. Решить следующую задачу.

Дана матрица А(7,7). Вычислить сумму элементов в главной диагонали матрицы. 2. Записи. Решить задачу. Рассматривать не менее 20 записей.

Имеется 20 анкет студентов, в каждом указан номер курса, номер группы и ФИО студента. Составить и напечатать список студентов который производит упорядочение по алфавиту.

Вариант 12

1. Двумерные массивы. Решить следующую задачу.

Даны две матрицы А(4,5); В(3,6). Вычислить сумму и разность минимальных элементов этих матриц. Элементы матрицы формируются с использованием случайных чисел (-10<xij<10) 2. Записи. Решить задачу. Рассматривать не менее 10 записей.

Дан список сотрудников лаборатории, ФИО и возраст каждого сотрудника. Напечатать список по ФИО и средний возраст каждой группы. (Пример: Иванов Иван Иваныч, и .д.р.).

Вариант 13

1. Двумерные массивы. Решить следующую задачу.

Даны две матрицы А(5,5) B(5,5). Вычислить сумму квадратов элементов диагонали каждой матрицы и результаты сложить.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

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

Вариант 14

1. Двумерные массивы. Решить следующую задачу.

Даны две матрицы А(5,5); В(6,6). Уменьшить максимальный элемент в каждой из этих матриц в 5 раз.

2. Записи. Решить задачу. Рассматривать не менее 10 записей.

Дан список, состоящий из названий книг, фамилий авторов, издательства и года изданий. Упорядочить список по названиям книг.