Проект
5.6. «Мультисистемный
калькулятор».
Для создания
мультисистемного
калькулятора
воспользуемся
возможностью
проведения
арифметических
операций в
десятичной
системе
счисления и
функциями
преобразования
типов данных,
позволяющих
осуществлять
перевод
чисел из
десятичной
системы
счисления в
восьмеричную
и
шестнадцатеричную
системы и,
наоборот, из
восьмеричной
и
шестнадцатеричной
систем в
десятичную.
Сначала создадим калькулятор для работы в десятичной системе. На форме разместим три текстовых поля: два поля txt1Dec и txt2Dec для ввода числовых данных и одно txt3Dec для вывода результата. Пять кнопок для реализации событийных процедур: сложения cmdPlus, вычитания cmdMinus, умножения cmdUmn, деления cmdDelen и завершения работы cmdExit.
Событийные
процедуры
арифметических
операций.
Событийная
процедура
сложения CmdPlus_Click
должна
изменить
свойство Text
текстового
поля txt3Plus
так, чтобы оно
являлось
суммой
числовых
значений
свойства Text
объектов txt1Dec и Text2Dec.
Для
преобразования
строковых
значений,
вводимых в
текстовые
поля, в
десятичное
число,
воспользуемся
функцией Val.
Код
событийной
процедуры
будет
следующим:
Private
Sub
cmdPlus_Click()
txt3Dec.Text
= Val(txt1Dec.Text) + Val(txt2Dec.Text)
End
Sub
Событийные
процедуры
вычитания,
умножения и
деления
создаются
аналогично.
|
Проект «Мультисистемный
калькулятор». |
|
1 |
Создать
новый
проект.
Разместить
на форме три
текстовых
поля и пять
кнопок.
Присвоить
им имена: txt1Dec,
txt2Dec,
txt3Dec, cmdPlus, cmdMinus, cmdUmn, cmdDelen, cmdExit. |
|
2 |
Для каждой
из кнопок
ввести
программные
коды
событийных
процедур. |
|
3 |
Установить
для
свойства Alignment текстовых
полей
значение Right
Justufy. |
|
4 |
Запустить
проект на
выполнение.
Ввести
числа в два
первых
текстовых
поля.
Щелкнуть по
любой
кнопке
арифметических
операций и
соответствующая
она будет
выполнена. |
|
Перевод чисел из десятичной системы счисления в восьмеричную с помощью функции Oct. Для перевода чисел из десятичной системы счисления в восьмеричную воспользуемся функцией Oct, аргументом которой являются десятичные числа, а значением вщсьмеричные числа в строковой форме.
Введенные
в десятичные
поля числа
переведем
сначала из
строковой
формы в
числовую с
помощью
функции Val,
а затем из
десятичной
числовой
переведем в
строковую
шестнадцатеричную
с помощью функции Oct.
Создадим
кнопку cmdDecOct
и запишем для
нее
событийную
процедуру
перевода
чисел:
Private
Sub cmdDecOct_Click()
txt1Oct.Text
= Oct(Val(txt1Dec.Text))
txt2Oct.Text
= Oct(Val(txt2Dec.Text))
txt3Oct.Text
= Oct(Val(txt3Dec.Text))
End Sub
5 |
Добавить
на форму три
текстовых
поля txt1Oct,
txt2Oct
и txt3Oct. |
|
6 |
Поместить
на форму
кнопку cmdDecOct
и ввести
программный
код
событийной
процедуры cmdDecOct_Click(). |
|
7 |
Поместить
на форму две
метки с
надписями Десятичная
система и Восьмеричная
система. |
|
8 |
Запустить
проект на
выполнение.
Ввести
числа в два
первых
текстовых
поля
десятичной
системы.
Щелкнуть по
кнопке «+», а
затем Dec-Oct. Будет
выполнено
сложение
десятичных
чисел и их
перевод в
восьмеричную
систему. |
|
Перевод чисел из восьмеричной системы счисления в десятичную с помощью функции Val. Для перевода чисел из восьмеричной системы счисления в десятичную воспользуемся функцией Val, аргументом которой являются восьмеричные числа в строковой форме, а значением десятичные числа.
Введенные в восьмеричные поля в строковой форме числа переведем сначала в восьмеричное представление добавлением приставки "&O" с помощью операции конкатенации строк. Полученное восьмеричное число в строковой форме переведем в десятичную числовую с помощью функции Val. Создадим кнопку cmdOctDec и запишем для нее событийную процедуру перевода чисел:
Private
Sub
cmdOctDec_Click()
txt1Dec.Text = Val("&O"
+ txt1Oct.Text)
txt2Dec.Text = Val("&O"
+ txt2Oct.Text)
txt3Dec.Text = Val("&O"
+ txt3Oct.Text)
End
Sub
9 |
Поместить
на форму
кнопку cmdOctDec
и
ввести для
нее
программный
код
событийной
процедуры
перевода
чисел. |
|
10 |
Запустить
проект на
выполнение.
Ввести
числа в два
первых
текстовых
поля
восьмеричной
системы.
Щелкнуть по
кнопке Oct-Dec. Будет
выполнен их
перевод в
десятичную
систему. |
|
10 |
Выполнить
арифметическую
операцию в
десятичной
системе,
щелкнув,
например, по
кнопке «-». Перевести
результат в
восьмеричную
систему,
щелкнув по
кнопке Dec-Oct. |
|
11 |
Сохранить
проект в
файле prj6.vbp. |
5.21. Усовершенствовать проект 6 «Мультисистемный калькулятор», расширив его функциональные возможности. Обеспечить возможность перевода чисел из десятичной системы счисления в шестнадцатеричную и обратно.
5.22. Преобразовать проект «Мультисистемный калькулятор» в проект «Инженерный калькулятор», который позволяет вычислять значение тригонометрических и других функций.
5.23. Создать проект «Подсчет цифр в числе», который позволяет определить количество цифр во введенном натуральном десятичном числе.
5.24. Модернизировать проект-задание 5.23, так чтобы можно было определить количество цифр во введенном целом десятичном числе.
5.25. Создать проект «Печать цифр числа», который обеспечивает вывод на печать (по зонам) цифр, составляющих введенное целое десятичное число.
5.26. Создать проект «Сумма цифр», который позволяет вычислить сумму десятичных цифр заданного целого десятичного числа.
5.27. Создать проект «Числа без одинаковых цифр», который печатает в возрастающей последовательности натуральные двухзначные числа, в которых нет одинаковых цифр.
5.28. Создать проект «Перевертыш чисел», который заменяет заданное натуральное число на число, которое получается из исходного путем записи его цифр в обратном порядке.
5.29. Создать проект «Перевод натуральных десятичных чисел в двоичную систему счисления».