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

8569

.pdf
Скачиваний:
1
Добавлен:
25.11.2023
Размер:
1.73 Mб
Скачать

Логические операторы. VBA имеет возможность работать с логическими операторами: AND (конъюнкция), OR (дизъюнкция), NOT

(отрицание), XOR (исключение), EQV (эквивалентность) и IMP

(импликация) в которых в качестве операнда можно использовать любое действительное выражение, которое имеет тип результата Boolean или Null в

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

Логические операторы имеют свои приоритеты выполнения в выражении. Их очередность следующая: NOT, AND, OR, XOR, EQV и IMP.

Пример использования логических операторов

Dim a, b, c As Boolean

a = CBool(ComboBox2.Value)

b = CBool(ComboBox3.Value)

If CheckBox1.Value = True Then

a = Not a

End If

Пример создания фрагмента инженерного калькулятора

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

Прежде всего, необходимо создать форму (Insert – UserForm). На панели Properties ввести свойство Caption – Инженерный калькулятор.

Разместить на форме два текстовых поля для ввода числовых данных и присвоить им имена: txtDec1, txtDec2. Добавить на форму текстовое поле для вывода результатов арифметических вычислений и назвать txtDec3.

Создать, разместить на форме пять кнопок для реализации событийных процедур (арифметических операций) и присвоить им имена: cmdPlus

(сложение), cmdMinus (вычитание), cmdUmn (умножение), cmdDel

71

(деление), cmdExit (завершение работы). На панели Properties установить свойства элементов управления, представленные в таблице 8.

 

 

 

Таблица 8

Свойства элементов управления

 

 

 

 

 

Элементы управления

Name

 

Caption

 

 

 

 

Текстовое поле

tDec1

 

 

 

 

 

 

Текстовое поле

tDec2

 

 

 

 

 

 

Текстовое поле

tDec2

 

 

 

 

 

 

Кнопка

cmdPlus

 

+

 

 

 

 

Кнопка

cmdMinus

 

-

 

 

 

 

Кнопка

cmdUmn

 

*

 

 

 

 

Кнопка

cmdDel

 

/

 

 

 

 

Кнопка

cmdExit

 

Выход

 

 

 

 

Для каждой кнопки создать программные коды событийных процедур.

Для этого нужно щелкнуть дважды на кнопке сложения. Ввести между операторами Private Sub и End Sub оператор присваивания для осуществления сложения. Использовать функцию Val для преобразования строковых значений, вводимых в текстовые поля, в десятичные числа.

Private Sub cmdPlus_Click()

txtDec3.Text = Val(txtDec1.Text) + Val(txtDec2.Text)

End Sub

Аналогичным образом создать событийные процедуры вычитания,

умножения и деления. Для кнопки «Выход» создать событийную процедуру выхода (Рисунок 19).

Private Sub CmdExit_Click()

Unload Me

End Sub

72

Рисунок 19. ‒ Проект Инженерный калькулятор Изменить расположение элементов управления в соответствии с

рисунком 20. Добавить на форму над текстовыми полями надпись Label и

введем в него Десятичная система. Установить свойства: ForeColor

черный, TextAlign 2fmTextAlign (по центру), SpecialEffect 2-fm

SpecialEffect.

Аналогично создать еще три тестовых поля txtOct1, txtOct2 и txtOct3.

А над ними с помощью надписи Label ввести Восьмеричная система.

Для перевода чисел из десятичной системы счисления в восьмеричную используем функцию Oct(), которая имеет в аргументе десятичные числа.

Результатом использования данной функции будут восьмеричные числа в строковой форме.

Создать на форме кнопку с именем cmdDecOct. Изменить свойство

Caption на Восьмеричная система. Записать для этой кнопки соответствующий программный код.

Private Sub cmdDecOct_Click() txtOct1.Text = Oct(Val(txtDec1.Text)) txtOct2.Text = Oct(Val(txtDec2.Text)) txtOct3.Text = Oct(Val(txtDec3.Text))

End Sub

Запустить проект на выполнение. Ввести числа В два первых текстовых поля ввести числа в десятичной системе счисления. Выполнить операцию сложения, нажав на кнопку «+». Затем нажать кнопку Восьмеричная

73

система. Произойдет сложение десятичных чисел и перевод всех трех чисел в восьмеричную систему.

Очистить поля ввода. Для этого создать соответствующую кнопку

CmdButton3 ‒ «Очистить» (для нее ввести в Caption – Очистить). Для этой кнопки создать программный код:

Private Sub CmdButton3_Click() txtDec1 = ""

txtDec2 = "" txtDec3 = "" txtOct1 = "" txtOct2 = "" txtOct3 = "" End Sub

Рисунок 20. ‒ Проект Инженерный калькулятор с переводом в восьмеричную систему счисления

Практические задания

1. Написать программу на VBA с использованием формы под названием «Инженерный калькулятор». Для этого использовать арифметические операции (сложение, вычитание, умножение, деление,

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

74

восьмеричную и шестнадцатеричную системы и, наоборот, из восьмеричной

ишестнадцатеричной систем в десятичную.

2.Написать программу на VBA с использованием формы под названием «Инженерный калькулятор». Для этого использовать арифметические операции (сложение, вычитание, умножение, деление,

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

3. Написать программу на VBA с использованием формы под названием «Инженерный калькулятор». Для этого использовать арифметические операции (сложение, вычитание, умножение, деление),

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

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

(пи) и единицы деленной на некоторое число. Обеспечить возможность определения количества цифр во введенном натуральном десятичном числе.

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

6.Написать программу на VBA с использованием формы под названием «Инженерный калькулятор». Для этого воспользоваться

возможностью выполнения основных арифметических операций в

75

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

7.Написать программу на VBA с использованием формы под названием «Инженерный калькулятор». Для этого воспользоваться возможностью выполнения основных арифметических операций в десятичной системе счисления, вычисления экспоненты, натурального логарифма числа, основных тригонометрических функций (sin(), cos(), tg(), Ctg()). Обеспечить возможность вычислить сумму десятичных цифр заданного целого десятичного числа.

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

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

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

76

11. Написать программу на VBA с использованием формы под названием «Шифровка и дешифровка текстовых сообщений». Показать возможность зашифровывать и расшифровывать текстовые сообщения.

Использовать алгоритм шифрования, который базируется на использовании ключевой фразы (ключа шифрования).

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

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

12.Написать программу на VBA с использованием формы под названием «Строковый калькулятор», который позволит производить различные преобразования строк (операцию конкатенацию, операцию вырезания подстроки, определения количества символов в строке). Добавить возможности вырезки из строки левой и правой подстрок, определение позиции подстроки в строке и преобразования числового кода символа в символ.

13.Написать программу на VBA с использованием формы под названием «Строковый калькулятор», который позволит производить различные преобразования строк (операцию конкатенацию, операцию вырезания подстроки, определения количества символов в строке). Добавить возможность подсчитывать количество экземпляров какого-либо символа в заданном тексте.

14.Написать программу на VBA с использованием формы под названием «Строковый калькулятор», который позволит производить

77

различные преобразования строк (операцию конкатенацию, операцию вырезания подстроки, определения количества символов в строке). Добавить возможность ввода и вывода текста и символа с помощью текстовых окон.

15.Написать программу на VBA с использованием формы под названием «Строковый калькулятор», который позволит производить различные преобразования строк (операцию конкатенацию, операцию вырезания подстроки, определения количества символов в строке). Добавить возможность заменять в тексте один заданный символ на другой.

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

17.Написать программу на VBA с использованием формы под названием «Строковый калькулятор», который позволит производить различные преобразования строк (операцию конкатенацию, операцию вырезания подстроки, определения количества символов в строке). Добавить возможность изменять прямую последовательность символов (слева направо)

во введенном слове на обратную (справа налево).

18.Написать программу на VBA с использованием формы под названием «Строковый калькулятор», который позволит производить различные преобразования строк (операцию конкатенацию, операцию вырезания подстроки, определения количества символов в строке). Добавить возможность ввода и вывода слова с помощью текстового окна.

19.Написать программу на VBA с использованием формы под названием «Логический калькулятор», который позволит определять истинность логических выражений. В котором реализуются основные логические операции с помощью логических операторов And (логическое умножение), Or (логическое сложение), Not (логическое отрицание), Xor (исключающее Or) и Eqv (операция эквивалентности) Логические операторы

78

могут оперировать с логическими аргументами True (двоичная единица) и

False (двоичный нуль), а также с логическими переменными типа Boolean.

20.Написать программу на VBA с использованием формы под названием «Компьютер в картинках», который будет выводить на форму изображения компьютера и его устройств. Картинку каждого устройства разместить на отдельной форме. Организовать переход между формами.

21.Написать программу на VBA с использованием формы под названием «Собери картинку». Изображение разбить на фрагменты и неупорядоченно вывести их на форму. Предусмотреть возможность вывода фрагментов на форму таким образом, чтобы получалось первоначальное изображение.

22.Написать программу на VBA с использованием формы под названием «Графический редактор», который будет выполнять функции простого графического редактора (координаты точки, рисование линии,

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

23. Написать программу на VBA с использованием формы под названием «Графический редактор», который будет выполнять функции простого графического редактора (установка координат точки, рисование:

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

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

24. Написать программу на VBA с использованием формы под названием «Построение графиков функций» (например: y = sinx). Так, чтобы можно было строить график функции для различных наборов значений ее аргумента х. Предусмотреть автоматическую корректировку масштаба и шкал осей координат. Предусмотреть возможность очистки графического поля.

79

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]