Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
infa_33.rtf
Скачиваний:
1
Добавлен:
27.09.2019
Размер:
229.39 Кб
Скачать

17. Процедуры и функции (основные отличия).

основные отличия функции от процедуры состоят в следующем. 1. Функция имеет тип (аналогично переменной) и может возвращать в программу значение, которое присваивается функции при помощи оператора: <Имя функции> = значение 2. Вызов функции, как правило, осуществляется посредством указания в правой части какого-либо оператора ее имени и параметров. С другой стороны, процедура вызывается при помощи отдельного оператора: Call <Имя процедуры> (Параметры) Или <Имя процедуры> (Параметры) Если при вызове процедуры используется ключевое слово Call, то список параметров должен быть указан в скобках. Если же процедура вызывается без использования Call, то ее параметры перечисляются без скобок. Необходимо отметить, что вызываемая процедура может не иметь параметров. В этом случае (если использовалось служебное слово Call) после имени процедуры следует ставить пустые скобки. Пользовательские процедуры обычно используются при необходимости выполнения одной и тоже последовательности операций. Например, в программе требуется неоднократно вводить в цикле значения массива arrA, состоящего из пяти элементов. В этом случае заполнение массива лучше всего оформить в виде процедуры. Команда Add Procedure меню Tools позволяет добавить процедуру или функцию. Пусть процедура Cir вычерчивает эллипс с координатами x, y, которые передаются в процедуру как параметры. Создавая процедуру Cir командой Add Procedure, нужно указать имя процедуры и выбрать область видимости Public или Private. Завершив диалог, получим объявление процедуры:

Код Visual Basic

1

2

3

Private Sub Cir()

End Sub

18. Теперь нужно вписать параметры в скобки и написать текст процедуры. В списке параметров рекомендуется указывать тип переменных.

Код Visual Basic

1

2

3

Private Sub Cir(x As Integer, y As Integer)

Circle (x,y),500,,,2

End Sub

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

1)Создаем кнопки textbox (пустые окна для ввода переменных), command button (+ - / * корень очистить) и label (действие результат)

2) переходим к окну кодов (щелкая на форму)

1. Ну меняем заголовок формы и убираем некрасивые записи в леблах и тексте. В теле процедуры пишем:

Form1.Caption = "Калькулятор"

2.каждую кнопку command button кодируем . к примеру операцию +:

Пишем строку для обработки операции сложения. Однако надо учесть, что в текстбоксах содержится строковая информация, а сложение двух строк приводит к их сцеплению, т.е. если в Text1 у нас будет 10, а в Text2 – 5, то результатом сложения в Text3 станет "10" + "5" = 105 (10 & 5), а не 15, как нам бы хотелось. Поэтому придется преобразовать каждое значение в числовое с помощью функции Val(строка):Text3.Text = Val(Text1.Text) + Val(Text2.Text)

Кроме того, чтобы пользователь видел, какую операцию он произвел, мы будем программно, "на лету" менять содержимое верхнего лейбла:Label2.Caption = "Плюс"

И так продолжаем все остальные операции. Вот что должно получиться:

Кнопка сложения

Private Sub Command1_Click() ‘процедура нажатия кнопки Command1 Text3.Text = Val(Text1.Text) + Val(Text2.Text) 'операция сложения Label2.Caption = "Плюс" 'указаваем в метке математическую операцию End Sub

Кнопка умножения

Private Sub Command2_Click() ‘процедура нажатия кнопки Command2 Text3.Text = Val(Text1.Text) * Val(Text2.Text) 'операция умножения Label2.Caption = "Умножить" End Sub

Кнопка вычитания

Private Sub Command3_Click() ‘процедура нажатия кнопки Command3 Text3.Text = Val(Text1.Text) - Val(Text2.Text) 'операция вычитания Label2.Caption = "Вычесть" End Sub

Кнопка деления

Private Sub Command4_Click() ‘процедура нажатия кнопки Command4 Text3.Text = Val(Text1.Text) / Val(Text2.Text) 'операция деления Label2.Caption = "Разделить" End Sub

Кнопка очистки данных

Private Sub Command5_Click() ‘процедура нажатия кнопки Command5 Text1.Text = "" 'присвоим текстбоксам значение пустой строки Text2.Text = "" 'для очистки всех текстбоксов Text3.Text = "" End Sub

Кнопка корня

Private Sub Command6_Click() ‘процедура нажатия кнопки Command6 Text3.Text = Sqr((Text1.Text)) 'функция вычисления корня Text2.Text = "" 'очистка Text2, так как он не нужен при этой операции Label2.Caption = "Кв. корень" End Sub

Озаглавить форму

Private Sub Form_Load() ‘процедура загрузки формы Form1.Caption = "Калькулятор" 'меняем заголовок формы Text1.Text = "" 'присвоим текстбоксам значение пустой строки Text2.Text = "" Text3.Text = "" Label2.Caption = "Действие" 'присвоим лейблам Label1.Caption = "Результат:" 'нужные значения End Sub

Закрыть форму

Private Sub Command7_Click() ‘процедура нажатия кнопки Command7

End ‘закрываем программу

End Sub

Возвести число в квадрат

Private Sub Command8_Click() процедура для нажатия кнопки сommand8

Text3.Text = Val(Text1.Text) ^ 2 операция возведения в квадрат

Text2.Text = ""

Label2.Caption = "возведение в кв." присвоение лейбла

End Sub

Переход из одной формы в другую

Private Sub Command9_Click() процедура нажатия кнопки command9

Form2.Show ‘ переходим к форме №2

Form1.Hide ‘ переходим из формы №1

End Sub

Private Sub Command1_Click()процедура нажатия кнопки command1

Form1.Show переходим к форме №1

Form2.Hide переходим из формы №2

End Sub

И кстати «=» в vb явл оператором присваивания а не «равно»

6. Создать приложение для вычисления по формуле вида .

1.Для начала нарисуем рисунок подобной формулы и через image перенесем в форму

2. сделаем из command button кнопку далее и перейдем на другую форму

Переход из одной формы в другую

Private Sub Command1_Click() процедура нажатия кнопки command1

Form2.Show ‘ переходим к форме №2

Form1.Hide ‘ переходим из формы №1

End Sub

Private Sub Command1_Click()процедура нажатия кнопки command1

Form1.Show переходим к форме №1

Form2.Hide переходим из формы №2

End Sub

3. на второй форме вставим кнопки command button (закрыть, назад, очистить, ответ) text box (с пустыми полями) и label ( переменная Х)

Закрыть форму

Private Sub Command3_Click() ‘процедура нажатия кнопки Command3

End ‘закрываем программу

End Sub

Кнопка очистки данных

Private Sub Command2_Click() ‘процедура нажатия кнопки Command2 Text1.Text = "" 'присвоим текстбоксам значение пустой строки Text2.Text = "" 'для очистки всех текстбоксов Text3.Text = "" End Sub

Для кнопки «ответ» пишем следующий код

Private Sub Command4_Click()процедура нажатия кнопки command button4

Dim x As Single задаем переменную X

Text2.Text = (Val(Text1.Text) - 1) / (Sqr((Text1.Text) - 2)) ^ 2 это формула

End Sub

9.Разработать приложение для определения площади фигур с выводом изображения на форму или в объекты типа Image или Picture.

1. Вставляем frame (в инструментах) и называем «типы фигур»

2. В него вставляем три option button, каждому даем name- vibor1 (vibor2, vibor3), напротив св-ва value нужно поставить true, и так же проверить index –у каждого д/б свой от 0 до 2, ну и каждый назвать caption – треугольник(круг, прямоугольник).

3. Далее переходим к другим формам с соответствующими рисунками

Для первого кружочка переход к форме1

Private Sub vibor1_Click(Index As Integer)

Form2.Show

Form1.Hide

End Sub

Для 2-го кружочка переход к форме2

Private Sub vibor2_Click(Index As Integer)

Form3.Show

Form1.Hide

End Sub

И для 3-го кружочка переход к форме3

Private Sub vibor3_Click(Index As Integer)

Form4.Show

Form1.Hide

End Sub

Разберу на примере формы2 – треугольник:

1) В форме2 вставляем картинку треугольника и кнопки command button (высота, основание, результат, очистить, назад), label (пустое поле результата) и text box (пустые поля). Далее вводим коды:

Для кнопки результат

Private Sub Command3_Click()

Dim h, w As Single

h = Text1.Text – вводим переменную h

w = Text2.Text – вводим переменную w

label1 = h * w / 2 - формула

End Sub

Для кнопки очистить

Private Sub Command4_Click()

Text1.Text = ""

Text2.Text = ""

label1 = ""

End Sub

Для кнопки назад

Private Sub Command5_Click()

Form1.Show

Form3.Hide

End Sub

2) В форме3 все тоже самое только прямоугольник

Для кнопки результат

Private Sub Command3_Click()

Dim h, w As Single

h = Text1.Text

w = Text2.Text

Label1 = h * w

End Sub

Для кнопки назад

Private Sub Command4_Click()

Form1.Show

Form3.Hide

End Sub

3) В форме 4 круг – здесь попробую всякие кнопки text1 и label назвать в св-ве name. Пусть text1=visota, label1=otvet, command button1 = result, command button2 = nazad – тогда коды такие:

Для кнопки результат

Private Sub rezult_Click()

Dim h, r As Single

h = visota.Text

r = 3.14 * h * h

otvet.Caption = r

End Sub

Для кнопки назад

Private Sub nazad_Click()

Form1.Show

Form4.Hide

End Sub

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