Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа.doc
Скачиваний:
35
Добавлен:
17.04.2015
Размер:
324.61 Кб
Скачать

Ввод данных

Ввести данные в программу можно с помощью текстового поля TextBox, как это делалось в предыдущей лабораторной работе. Для ввода используется свойствоTextтекстового поля.

Х = TextBox1.Text

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

Х = Val(TextBox1.Text)

Ввести данные можно с помощью функции InputBox. ФункцияInputBoxвыводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопкиOkиCancel. Она устанавливает режим ожидания ввода данных пользователем и нажатия кнопки. При нажатии на кнопкуOkвозвращает значение типаString, если в поле ввода введен текст. Если в поле ввода введено число, то это будет число. При нажатии кнопкиCancelвозвращается пустая строка.

InputBox(Promt[,Title] [,Default] [,Xpos] [,Ypos] [,Helpfile,Context])

Promt— строковое выражение, отображаемое как сообщение в диалоговом окне.

Title— строковое выражение, отображаемое в строке заголовка диалогового окна.

Default— строковое выражение, отображаемое в поле ввода как используемое по умолчанию.

Xpos,Ypos— позиции вывода окна.

Helpfile,Context— имя справочного файла и номер раздела справочной службы.

То, что записано в квадратных скобках, можно опускать. Пример:

Dim N As String, D As Single

N=InputBox(«Введите пароль»)

D=InputBox(«Введите диаметр»)

Вывод данных

Вывести данные можно в компоненты Label,TextBox. Для этого используются свойстваCaptionиText, например,

Label1.Caption= “Программа наVBA”

Label1.Caption = Str (X)

TextBox1.Text = “Программа на VBA”

TextBox1.Text=Str(X)

Вывести данные можно в диалоговое окно. Процедура MsgBoxвыводит на экран диалоговое окно, содержащее сообщение.

MsgBox (Promt [, Buttons] [,Title] [, Helpfile, Context])

Promt—строковое выражение, отображаемое как сообщение в диалоговом окне.

Buttons— числовое выражение, определяющее количество и тип отображаемых кнопок.

Title— текст в заголовке.

Helpfile,Context— определяет файл справочной системы и номер соответствующего раздела.

Пример:

MsgBoxStr(a+b) + " , Пример", , "Заголовок"

Здесь выводится сумма двух переменных и слово пример. Слово «Заголовок» выводится в строке заголовка окна.

Пример обработчика события, содержащего процедуру MsgBox

Рабочее окно

Окно процедуры MsgBox

Private Sub CommandButton1_Click()

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

MsgBox Str(a + b) + " , Пример" , , "Заголовок"

End Sub

Программирование линейного алгоритма

Алгоритм, в котором все действия выполняются последовательно одно за другим, называется линейным. Приведем пример программы, в которой реализуем линейный алгоритм.

Пример.

Условие задачи:

Какого роста цен за год можно ожидать, если правительство гарантирует, что инфляция в новом году составит р%?

Если за каждый месяц цены возрастут в 1 + р/100 раз, то за год рост цен составит (1+р/100)12раз или прирост в процентах

Поясним формулу. За один месяц цены возрастут на р/100 и составят 1 + р/100. Для того чтобы сократить изложение, обозначим эту величину за Х.

Х = 1 + р/100

Единица — это условная цена единицы товара. В следующем месяце цены возрастут на тот же процент, но уже от имеющихся цен на остаток месяца: Х* р/100. Цены будут иметь значение Х + Х * р/100 или Х*(1 + р/100).

Х*(1 + р.100) = Х2

В следующем (третьем месяце) цены будут иметь значение:

Х2 + Х2*р/100 = Х2*(1+р/100) = Х3

И так далее. В конце 12-го месяца года цена единицы товара будет равна Х12 или(1 + р/100)12. Очевидно, что рост цены будет равен (1 + р/100)12 – 1.

Чтобы получить прирост в процентах, необходимо умножить на 100%.

Схема алгоритма:

Разработка пользовательской формы

Форма

На форму установлены компоненты

Label1 — свойствоCaption= «Введите процент месячной инфляции».

TextBox1 — все свойства без изменений.

Label2 — свойствоCaption= «Годовой рост цены».

Label1 — свойствоCaptionочищено.

CommandButton1 — свойствоCaption= «Ok».

Обработчик события (ClickдляCommandButton1)

Рабочее окно

Обработчик события

Private Sub CommandButton1_Click() ‘Заголовок процедуры

Dim p, a As Single , s As Single ‘ Описание переменных

p — процент инфляции в месяц.

a — кратность роста цен. S — рост цен за год в процентах.

p=Val(TextBox1.Text) ‘Ввод числа из окна редактора

a= (1 +p/ 100) ^ 12 ‘Оператор присваивания

s= (a- 1) * 100 ‘Оператор присваивания

Label3.Caption = s ‘Вывод в метку

EndSub

При выводе числа в метку функция Str() не нужна!