Ход работы:
-
Выполнить задания, следуя указаниям (задание 1-го уровня на «3», задание 2-го уровня на «4», задание 3-го уровня на «5»,).
-
Ответить на контрольные вопросы (в устной форме).
-
Предъявить преподавателю результаты работы программы и исходные коды.
-
Оформить отчет в соответствии с ходом работы (тема, цель, условие задачи, программный код, результаты тестирования программы, выводы).
Задание на лабораторную работу.
Задание 1-го уровня
1. Создать новый проект.
2. Составить эскиз интерактивной формы - калькулятора, способной выполнять простые арифметические действия (Рис. 1).
3. Задать значения свойств элементов управления, размещенных на интерактивной форме.
4. Для каждого элемента управления написать программный код, соответствующий событию активизации (нажатия) элемента управления.
5. Осуществить сборку и компиляцию модулей проекта.
6. Выполнить вычисления с помощью созданного калькулятора.
Рис. 1. Эскиз интерактивной формы
Задание 2-го уровня. Доработайте калькулятор из первого задания, добавив следующие возможности: вычисление квадратного корня, процентов, обратного числа, стирание одного символа, стирание числа (Рис. 2).
Рис. 2. Эскиз интерактивной формы (2-й уровень)
Задание 3-го уровня. Доработайте калькулятор из первого и второго заданий, добавив возможности работы с памятью: стереть память, вывести из памяти, записать в память, добавить в память (Рис. 3).
Рис. 3. Эскиз интерактивной формы (3-й уровень)
Порядок выполнения работы (1-й уровень)
1. Создать новый проект командой Новый проект из меню Файл (порядок создания нового проекта подробно описан в лабораторной работе № 1).
2. Создать эскиз интерактивной формы.
Используя панель инструментов ToolBox, разместить на форме элементы управления (кнопки - Button1 - Button18 и текстовое поле - TextBox1), как показано на Рис. 4.
Рис. 4. Размещение элементов управления на форме
После размещения всех необходимых элементов управления на форме необходимо задать их свойства через панель Свойства (Properties), которая появляется после одинарного щелчка мышью по нужному элементу управления, расположенному на форме. Каждый элемент управления имеет свой набор свойств. Свойства можно назначать не только элементам управления, но и форме.
3.1. Установите значения свойств MaximizeBox, Size и Text объекта Form1, как показано на Рис. 5.
Рис. 5. Свойства Form1
3.2. Установите значения свойств элемента – текстовое поле (TextBox), как указано в Таблице 1.
Свойство
|
Значение
|
TextBox1.Name
|
TextBox1
|
TextBox1.Text
|
0.
|
TextBox1.BorderStyle
|
Fixed3D
Пояснение: щелкнуть на кнопку в правом поле, затем с помощью окна настройки установить значение данного свойства
|
TextBox1.TextAlign
|
Right
|
3.3. Установите значения свойств элементов – кнопок (Button) как указано в Таблице 2.
Таблица 2
Свойство
|
Значение
|
Button1.Name
|
bt7
|
Button1.ForeColor
|
Голубой
|
Button1.Text
|
7
|
Button2.Name
|
bt4
|
Button2.ForeColor
|
Голубой
|
Button2.Text
|
4
|
Button3.Name
|
bt1
|
Button3.ForeColor
|
Голубой
|
Button3.Text
|
1
|
Button4.Name
|
bt0
|
Button4.ForeColor
|
Голубой
|
Button4.Text
|
0
|
Button5.Name
|
bt8
|
Button5.ForeColor
|
Голубой
|
Button5.Text
|
8
|
Button6.Name
|
bt5
|
Button6.ForeColor
|
Голубой
|
Button6.Text
|
5
|
Button7.Name
|
bt2
|
Button7.ForeColor
|
Голубой
|
Button7.Text
|
2
|
Button8.Name
|
btpm
|
Button8.ForeColor
|
Голубой
|
Button8.Text
|
+/-
|
Button9.Name
|
bt9
|
Button9.ForeColor
|
Голубой
|
Button9.Text
|
9
|
Button10.Name
|
bt6
|
Button10.ForeColor
|
Голубой
|
Button10.Text
|
6
|
Button11.Name
|
bt3
|
Button11.ForeColor
|
Голубой
|
Button11.Text
|
3
|
Button12.Name
|
btpoint
|
Button12.ForeColor
|
Голубой
|
Button12.Text
|
,
|
Button13.Name
|
btdel
|
Button13.ForeColor
|
Красный
|
Button13.Text
|
/
|
Button14.Name
|
btpr
|
Button14.ForeColor
|
Красный
|
Button14.Text
|
*
|
Button15.Name
|
btmin
|
Button15.ForeColor
|
Красный
|
Button15.Text
|
-
|
Button16.Name
|
btplus
|
Button16.ForeColor
|
Красный
|
Button16.Text
|
+
|
Button17.Name
|
btis
|
Button17.ForeColor
|
Красный
|
Button17.Text
|
=
|
Button18.Name
|
btce
|
Button18.ForeColor
|
Красный
|
Button18.Text
|
CE
|
В результате изменения свойств вышеперечисленных объектов форма Form1 примет вид, указанный на Рис. 1.
4. Написание программы (кода) включает в себя разработку кода для обработки событий нажатия всех кнопок.
4.1. Выполните двойной щелчок левой кнопкой мыши на пустом месте формы. В появившемся окне головного модуля Form1.vb выберете блок Объявление, как показано на Рис. 6, и введите программный код, объявляющий переменные:
- IsText (для хранения содержимого текстовой строки);
- IsNumber (для хранения числа);
- Point (для указания разделителя дробной части);
- op (для хранения номера арифметической операции).
Рис. 6. Объявление переменных в блоке Form1 - Объявления
4.2. Обработка нажатия цифровых клавиш: 1, 2 … 9, 0.
4.2.1. Введите программный код для обработки события – нажатия кнопки «1» (bt1_Click). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по кнопке bt1 и ввести код:
Пояснение: данный фрагмент кода сначала проверяет, не является ли вводимая цифра первой в числе и не была ли нажата клавиша арифметической операции (+, -, /, *), в этом случае вводимая цифра заменяет содержимое текстового поля (TextBox1.Text). В противном случае вводимая цифра добавляется к содержимому текстового поля (TextBox1.Text).
4.2.2. Введите программный код для обработки события – нажатия кнопки «2» (bt2_Click). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по кнопке bt2 и ввести код аналогичный коду п. 4.2.1:
4.2.3. По аналогии с п. 4.2.1, 4.2.2 введите программный код для обработки нажатия оставшихся цифровых кнопок (bt3 – bt9,bt0). Для экономии времени можете копировать повторяющиеся фрагменты кода.
4.3. Введите программный код для обработки события – нажатия кнопки «смена знака числа (+/-)» (btpm_Click). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по кнопке btpm и ввести код:
Пояснение: функция Val() преобразует текстовый тип в числовой; функция CStr() преобразует числовой тип в текстовый.
4.4. Введите программный код для обработки события – нажатия кнопки «запятая, отделяющая целую часть от дробной ( , )» (btpoint_Click). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по кнопке btpointи ввести код:
Пояснение: данный фрагмент кода через переменную Point сначала проверяет, не была ли кнопка «запятая» нажата ранее при вводе текущего числа.
4.5. Обработка нажатия кнопок арифметических действий: /, *, -, +.
4.5.1. Введите программный код для обработки события – нажатия кнопки «деление ( / )» (btdel_Click). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по кнопке btdel и ввести код:
Пояснение: в данном фрагменте кода переменной op присваивается номер арифметической операции. При этом деление соответствует первому номеру, умножение – второму, вычитание - третьему, сложение – четвертому. Значение переменной op будет использоваться при вычислении результата (нажатие кнопки btis).
4.5.2. Введите программный код для обработки события – нажатия кнопки «умножение (*)» (btpr_Click). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по кнопке btpr и ввести код, аналогичный коду п. 4.5.1, изменив номер операции на второй:
4.5.3. По аналогии с п. 4.5.1, 4.5.2 введите программный код для обработки событий – нажатия кнопок «вычитание ( - )» (btmin_Click) и «сложение ( + )» (btplus_Click), изменив соответственно номера операций и символы, их отображающие.
4.6. Введите программный код для обработки события – нажатия кнопки «=» (btis_Click). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по кнопке btis и ввести код:
Пояснение: в данном фрагменте кода используется конструкция SelectCase, позволяющая выбирать выполняемую часть кода в зависимости от значения переменной op.
4.7. Введите программный код для обработки события – нажатия кнопки «CE» (btce_Click). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по кнопке btce и ввести код:
-
Выполните сборку и компиляцию модулей проекта.
-
Запустите проект и протестируйте.
Пояснения для выполнения задания 2-го уровня
-
Для вычисления квадратного корня используйте функцию Math.Sqrt().
-
Для обработки события – нажатия кнопки «Backspace» (удаление последнего введѐнного символа) можно использовать функцию Remove(), удаляющую указанное число символов в текстовой переменной начиная с указанной позиции, и свойство Length, возвращающее число символов в значении переменной. Например, так:
IsText = IsText.Remove(IsText.Length - 1, 1).
-
Нажатие кнопки «С» должно привести к стиранию только текущего набираемого числа, например если Вы ошиблись при вводе и хотите стереть число не посимвольно кнопкой «Backspace», а сразу целиком. Отличается от кнопки «СЕ» тем, что не стирает предыдущие набранные числа и операции.
Пояснения для выполнения задания 3-го уровня
В текстовом поле над кнопками по работе с памятью (М+, MS, MR, MC) должен отображаться символ «М», если в памяти содержится какое-либо число.
Контрольные вопросы:
-
Назначение функций Val() и CStr().
-
Поясните данный фрагмент кода: .
-
Перечислите свойства кнопки, используемые для задания отображаемого текста и его цвета.
-
Поясните данный фрагмент кода:
-
Назначение конструкции SelectCase
-
Поясните данный фрагмент кода:
Лабораторная работа №6
Создание проекта с использованием компонентов для работы с текстом
Цель: создание Windows-приложения, обеспечивающего возможность решения уравнения и построения графика функции. Приобретение навыков использования графического элемента управления PictureBox при проектировании интерфейса Windows-приложения в среде Visual Studio.
|