
- •Функции обработки строк
- •Варианты задания 3
- •Варианты задания 4
- •Варианты задания 5
- •Варианты задания 7
- •Варианты задания 8
- •Задания для зачета
- •Часть 1
- •Часть 2
- •Часть 3.
- •Часть 4.
- •Задание № 2. Расчет платы за электричество за месяц Часть 1
- •Часть 2.
- •Часть 3.
- •Часть 4.
- •Часть 1
- •Часть 2.
- •Часть 1
- •Часть 2.
- •Задание №5. Создания макета наличия товаров Часть 1
- •Часть 2.
- •Задание №6. Расчет платы за телефон за месяц Часть 1
- •Часть 2.
- •Задание №8. Регистрация в гостинице
- •Задание № 12. Решение кубических уравнений
- •Задание № 13. Регистрация продажи авиабилетов
Задание 1
Тема: Создание приложений с помощью MacroRecorder
MacroRecorder – транслятор, создающий программу (макрос) на языке VBA, которая является результатом перевода на язык VBA действий пользователя с момента запуска MacroRecorder до окончания записи макроса.
Макрос может быть создан в абсолютных и относительных ссылках.
Абсолютная ссылка – указывает на ячейку или группу ячеек, безотносительно к активной ячейке электронной таблицы.
Относительная ссылка – указывает на ячейку или группу ячеек, исходя из текущего выбора активной ячейки электронной таблицы.
Запустить созданный макрос на выполнение можно следующими способами:
-
с помощью команд меню (Сервис/ Макрос/ Макросы, выбрать из списка имя нужного макроса, Выполнить);
-
с помощью нажатия комбинации клавиш клавиатуры, указанной при создании макроса;
-
с помощью назначения макроса кнопке на панели инструментов (Вид/ Панели инструментов/ Настройка, закладка Команды, выбрать вид кнопки из списка Макросы, перетащить мышью ее на панель инструментов, выполнить команду “Изменить выделенный объект/ Назначить макрос”;
-
с помощью назначения кнопки в поле рабочего листа (Вид/ Панель инструментов/ Формы, мышью перетащить кнопку из появившейся панели в поле рабочего листа, назначить макрос);
-
с помощью вставки новой строки в существующее меню (Вид/ Панели инструментов/ Настройка, закладка Команды, выбрать строку из списка Новое меню, мышью перетащить ее в строку основного меню, выполнить команду Изменить выделенный объект/ Назначить макрос).
Варианты задания 1
Вариант 1
Создать макрос, строящий шаблон таблицы ежемесячных расходов по некоторым фиксированным статьям расходов (например, питание, коммунальные платежи, транспорт и др.). При запуске макроса должен появляться шаблон таблицы с названиями всех строк и столбцов, а после заполнения таблицы числами, автоматически должна строиться вертикальная столбцовая диаграмма для наглядного представления доли каждой статьи расходов.
Вариант 2
Создать макрос, строящий шаблон таблицы соответствия значений аргумента x некоторой функции одной переменной f(x). Область изменения аргумента x, а также шаг разбиения этой области задаются числами, помещенными в некоторые ячейки. Макрос должен по таблице строить график зависимости f(x).
Вариант 3
Создать макрос, строящий шаблон таблицы соответствия значений аргументов x и y некоторой функции двух переменных f(x,y). Область изменения аргументов x,y, а также шаги разбиения этих областей задаются числами, помещенными в некоторые ячейки. Макрос должен по таблице строить график зависимости f(x,y).
Вариант 4
Создать макрос, строящий шаблон таблицы рейтинга некоторых известных политиков. При запуске макроса должен появляться шаблон таблицы с названиями всех строк и столбцов, а после заполнения таблицы числами (рейтингами), автоматически должна строиться горизонтальная столбцовая диаграмма для наглядного представления соотношения рейтингов.
Вариант 5
Создать макрос, строящий шаблон таблицы соответствия между факультетами университета и количеством заявлений, поданных на этот факультет. При запуске макроса должен появляться шаблон таблицы с названиями всех строк и столбцов, а после заполнения таблицы числами, автоматически должна строиться круговая диаграмма для наглядного представления соотношения количества абитуриентов каждого факультета.
Вариант 6
Создать макрос, строящий шаблон таблицы заработной платы сотрудников за несколько месяцев работы в некоторой фирме. При запуске макроса должен появляться шаблон таблицы с названиями строк и столбцов, а после заполнения таблицы числами автоматически должна строиться диаграмма (График объемный вариант) для наглядного представления соотношения зарплаты .
Вариант 7
Создать макрос, строящий шаблон таблицы соответствия члена знакопеременного числового ряда от его порядкового номера (Числовой ряд должен содержать факториал). Макрос должен по таблице строить диаграмму зависимости an от n.
Вариант 8
Создать макрос, строящий шаблон таблицы соответствия суммы членов функционального ряда от их количества и от значения аргумента Значение аргумента x задается числом, помещенными в некоторую ячейку. Макрос должен по таблице строить диаграмму зависимости
an от (n, x).
Дополнительные задание для всех вариантов.
Отредактировать записанный макрос:
1. Переименовать полученную диаграмму, вставив в макрос вручную две строчки:
k = ActiveSheet.Shapes.Count ‘ Свойство Count объекта Shapes
‘ дает количество диаграмм на
‘ активном листе.
ActiveSheet.Shapes(k).Name = "MyDiagr" ‘Свойство Name определяет имя
‘ объекта Shapes с порядковым
‘ номером k.
2. Переименовать все обращения к диаграмме (если такие существуют) в макросе в соответствии с новым присвоенным ей именем.
Создать второй макрос, который очищает результаты работы первого.
Задание 2
Тема: Создание пользовательских функций.
VBA предоставляет возможность пользователю создавать собственные функции, работать с которыми на рабочем листе можно при помощи мастера функций точно так же, как и с любой встроенной функцией. Для создания такой функции необходимо воспользоваться командами Excel Сервис/ Макрос/ Редактор Visual Basic и командами редактора Вставка/ Модуль. Программа на VBA должна быть оформлена в виде подпрограммы Function. Вызов собственной пользовательской функции осуществляется командами Вставка/ Функция, а затем выбором категории Функции определенные пользователем.
Варианты задания 2
Вариант 1
Найти наименьшее общее кратное двух натуральных чисел.
Вариант 2
Найти наибольший общий делитель двух натуральных чисел.
Вариант 3
Определить количество цифр в натуральном числе.
Вариант 4
Найти сумму цифр натурального числа.
Вариант 5
Перевести заданное в двоичной системе счисление число в восьмиричную систему .
Вариант 6
Даны три числа. Определить, можно ли построить треугольник с длинами сторон равными этим числам.
Вариант 7
Для произвольных коэффициентов квадратного уравнения определить количество корней этого уравнения
Вариант 8
Определить, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.
Вариант 9
Определить, есть ли среди цифр заданного пятизначного числа одинаковые.
Вариант 10
Перевести произвольное десятичное целое число в в двоичную систему.
Задание 3
Тема: Работа со встроенными диалоговыми окнами. Функции обработки строк
В проектах VBA часто встречаются две разновидности диалоговых окон: окна сообщений и окна ввода. Они встроены в VBA, и если их возможностей достаточно, то можно обойтись без проектирования диалоговых окон. Окно сообщений (MsgBox) выводит простейшие сообщения для пользователя, а окно ввода (InputBox) обеспечивает ввод информации.
Функции обработки строк
-
Asc – возвращает ASC|| - код начальной буквы строки.
Asc (строка)
Если строка пустая, то возникает ошибка выполнения.
-
Chr – преобразует ASC|| код в строку.
Chr (код)
-
Lcase – преобразует все буквы строки в строчные.
Lcase (строка)
-
Ucase – преобразует все буквы в заглавные.
Ucase (строка)
-
Left – возвращает подстроку, состоящую из заданного числа первых символов исходной строки.
Left (строка, длина)
-
Right – возвращает строку, состоящую из заданного числа последовательных символов исходной строки.
Left (строка, длина)
-
Mid – возвращает указанную часть строки Mid (строка, стартовая позиция [, длина])
Если 3 параметр не указан, то возвращаются все символы от стартовой позиции до конца строки.
-
Len – возвращает длину строки.
Len (строка)
-
LTrim – возвращает копию строки без пробелов в начале.
Ltrim – (строка)
-
RTrim – удаляет пробелы в конце.
-
Trim – удаляет пробелы как в начале, так и в конце.
-
Space – создаёт строку, состоящую из указанного числа пробелов.
Space (число)
-
String - создаёт строку, состоящую из указанного числа повторений одного и того же символа.
String (количество, символ)
-
StrComp – сравнивает 2 строки
StrComp (строка1, строка2, способ сравнения)
-
InStr – возвращает позицию 1 вхождения одной строки внутри другой.
InStr (строка1, строка 2)
Варианты задания 3
Вариант 1
В символьной строке удалить все повторяющиеся слова и вывести полученную строку на экран.
Вариант 2
В символьной строке каждое слово НН заменить на слово Нижний Новгород и полученную строку вывести на экран.
Вариант 3
Определить, содержит ли строка слова - полиндромы (слова, читающиеся одинаково слева направо и справа налево) и если содержит, то вывести их на экран.
Вариант 4
Символьная строка представляет собой запись числа, записанного в некоторой произвольной системе счисления. Основание системы записывается десятичным числом через подчеркивание после последней цифры числа. Например, 1101_2 число 1101 в двоичной системе счисления. Перевести введенное число в десятичную систему счисления и вывести результат на экран.
Вариант 5
Написать программу, шифрующую и расшифровывающую сообщение заменой каждой буквы на букву циклически сдвинутую на N позиций в алфавите.
Вариант 6
Символьная строка содержит арифметическое выражение, состоящее из чисел, соединенных знаками сложения, вычитания и умножения. Вычислить значение этого выражения и результат вывести на экран.
Вариант 7
Символьная строка представляет собой шестнадцатеричную запись числа. Перевести это число в двоичную систему счисления.
Вариант 8
Отсортировать слова во введенной символьной строке по возрастанию длины слов. Результат вывести на экран.
Вариант 9
Отсортировать слова во введенной символьной строке по алфавиту. Результат вывести на экран.
Вариант 10
Введенную символьную строку разделить на подстроки заданной длины. Результирующие подстроки вывести в столбик на экран.
Задание 4
Тема: Функции времени и даты.
Функции времени и даты
Дата должна быть заключена между #.
VBA распознаёт следующие форматы
#January 1, 1998#
#Jan 1 2003#
#1 – Jan – 03#
#1 Jan 2003#
#1 1 03#
-
Date – возвращает 8 символов в формате mm.dd.yy – текущую системную дату.
-
Time – возвращает 8 символов в формате hh.mm.ss – текущее системное время.
-
Now – возвращает системную дату и системное время компьютера.
-
Hour Minute Second – возвращает значение типа Variant, содержащее целое число, которое представляет часы, минуты, секунды в значении времени.
-
Day Month Year – возвращает значение типа Variant, содержащее целое число, которое представляет день, месяц, год в значении даты.
-
Weekday -– возвращает значение типа Variant, содержащее целое число, которое представляет день недели.
Weekday (date, [firstdayofweek])
-
Timer - возвращает значение типа Single, которое представляет число секунд, прошедших после полуночи.
-
DateDiff - возвращает значение типа Variant, указывающее число временных интервалов между двумя датами.
DateDiff(interval, date1,date2)
-
DateAdd - возвращает значение типа Variant, содержащее дату, к которой добавлен указанный временной интервал.
DateAdd (interval, number, date)
-
TimeSerial (час,мин,сек) - возвращает значение типа Variant, содержащее значение времени, соответствующее указанным часу, минуте и секунде.
-
DateSerial (год, месяц, день)
-
TimeValue – преобразует строку в формат времени.
-
DatePart – возвращает указанный компонент даты.
DatePart (interval, date, [, firstdayofweek])