Visual Basic крепкий орешек!





Скачать 262.4 Kb.
НазваниеVisual Basic крепкий орешек!
страница3/3
Дата публикации09.04.2015
Размер262.4 Kb.
ТипРеферат
100-bal.ru > Информатика > Реферат
1   2   3

2. Проектирование интерфейса.

Запустите Visual Basic. Выберите тип Standart EXE. Поместите на форму элементы управления, как показано на рисунке:



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

Назначение элемента управления

Имя (свойство Name)

A: - параметр A

txtParamA

B: - параметр B

txtParamB

C: - параметр C

txtParamC

Кнопка для запуска решения

cmdCalculate

Label, с вычисленным дискриминантом

lblD

Label, с корнем X1

lblX1

Label, с корнем X2

lblX2

Форма, содержащая все эти элементы

frmMain

Остальные элементы переименовывать не обязательно, т.к. мы к ним не будем обращаться в коде программы. Но, если хотите, можете переименовать. Приучайтесь к этому.
3. Написание программного кода.

Теперь самое интересное! Мы будет писать код для нашей программы! Давайте ещё раз продумаем алгоритм работы программы:

  1. Вводим исходные данные в тектовые поля (a,b,c). Код для этого писать не нужно. За нас всё сделает Visual Basic и Windows. В этом то и заключается прелесть графического интерфейса пользователя (GUI). Мы только считаем введенные значения и всё.

  2. После нажатия на кнопку, производим вычисление дискриминанта и корней.

  3. Выводим полученные значения в метки (Label'и).

Private Sub cmdCalculate_Click()
    ' объявляем переменные
    Dim paramA As Double
    Dim paramB As Double
    Dim paramC As Double

    Dim x1 As Double
    Dim x2 As Double
    Dim D As Double

‘считаем введённые параметры a, b и с
paramA = txtParamA.Text
paramB = txtParamB.Text
paramC = txtParamC.Text
‘рассчитаем дискриминант
D = (paramB * paramB) - (4 * paramA * paramC)
‘вычислим корни, если они существуют
If D > 0 Then
    x1 = (- paramB + Sqr(D)) / (2 * paramA)
    x2 = (- paramB - Sqr(D)) / (2 * paramA)
    lblD.Caption = "Дискременант: " & D
    lblX1.Caption = "Корень №1: " & x1
    lblX2.Caption = "Корень №2: " & x2
ElseIf D = 0 Then
    x1 = paramB / (2 * paramA)
    x2 = x1
    lblD.Caption = "Дискременант: " & D
    lblX1.Caption = "Корень №1: " & x1
    lblX2.Caption = "Корень №2 = Корню №1"
ElseIf D < 0 Then
    lblD.Caption = "Дискременант: " & D
    lblX1.Caption = "Корней нет!"
    lblX2.Caption = ""
    MsgBox "Дискременант меньше нуля! Корней нет!", vbCritical
End If

End Sub




Урок № 16. Отладка программы

Итак, на предыдущем уроке мы нашли баги (от слова Bug - жук) в нашей программе, т.е. недочёты (ошибки). От этих багов нужно избавиться. Посмотрим причину возникновения ошибок. Запустите программу. Ничего не вводя в поля, нажмите на кнопку. Visual Basic выдаст окно, в котором скажет: "Type mismatch", т.е. ошибка в типах. В окне доступны 3 кнопки:



End - завершить приложение
Debug - показать место возникновения ошибки, чтобы мы смогли от неё избавиться
Help - вызвать справку о возникшей ошибке.

Нажмите Debug. Visual Basic покажет вам причину возникновения ошибки:



Жёлтым цветом выделена строка - причина ошибки. Если навести курсор мыши на имя переменной, то всплывёт подсказка, в которой Visual Basic сообщит нам её значение. Такая возможноть доступна только в режиме Debug. Текущий режим можно узнать из заголовка окна Visual Basic. Например:

в режиме проектировки интерфейса это строка:
Имя_Проекта - Microsoft Visual Basic [design]

при запущенном приложении:
Имя_Проекта - Microsoft Visual Basic [run]

в режиме Debug:
Имя_Проекта - Microsoft Visual Basic [break]

Давайте изменим код:

paramA = txtParamA.Text
paramB = txtParamB.Text
paramC = txtParamC.Text

На код:

paramA = Val(txtParamA.Text)
paramB = Val(txtParamB.Text)
paramC = Val(txtParamC.Text)



Нажимаем Debug и вот что видим:



Причина ошибка заключается в невозможности деления на 0, а paramA у нас как раз и равен 0. К тому при нулевых коэффициентах квадратное уравнение решается гораздо проще (например, если c=0, то x вынесем за скобку, ну а дальше всё просто). Избавимся от этого недоразумения. Для этого, вставим после присвоения значения свойства Text переменным ещё одну проверку - проверку на содержание нулей в переменных:

If paramA = 0 Or paramB = 0 Or paramC = 0 Then
    MsgBox "Нули в качестве коэффициентов не допускаются!", _
    vbCritical
    Exit Sub
End If

Символ "_" используется в том случае, когда вы хотите перенести часть выражения на другую строчку. В данном случае мы переносим константу vbCritical.

Здесь мы проверяем переменные на содержание в них нулей. В принципе, можно было бы проверить не переменные, а сами тектовые поля (If Val(txtParamA.Text)=0 Then....). Это уже дело вкуса. Всё равно, результат одинаков.
Использование пошаговой трассировки:

Пошаговая трассировка - это метод отладки приложения, при котором можно выполнять код по одной команде и следить за ходом её выполнения. Это очень полезный метод! Таким методом можно находить те ошибки, которые не может найти Visual Basic. Такие ошибки называются логическими. Здесь я бы хотел привести очень интересный и поучительный отрывок из книги "Программирование в среде Visual Basic 5":

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

. Нажмите правой кнопкой мыши на той строчке кода, где вы хотите поставить брикпоинт и в меню выбрать Toggle->Breakpoint. Замечание: такую точку нельзя ставить на строчке с объявлением переменной.
Обработка других ошибок

Независимо от того, насколько качественно написано приложение, никогда нельзя полностью исключать возможность возникновения ошибки в программе. Вы видели такое окошко Windows: "Программа выполнила недопустимую операцию и будет закрыта...". Т.е. возникла исключительная ситуация, и Windows, не зная как можно обойти ошибку, выдаёт "общее" окно для всех таких ошибок. Так вот и в ваших программах тоже может возникнуть такая исключительная ситуация. Причин для этого ооочень много. Например, у пользователя программой сбои с жёстким диском, или глючит операционная система, или вирус удалил нужный вам файл и т.д. и т.п. В общем, в таких ситуациях желательно сообщить пользователю о том, что возникла ошибка и спокойно выйти/продолжить программу.. В данном случае используется объект Err.

Visual Basic располагает оператором, с помощью которого можно контролировать ход программы при возникновении ошибок. Это оператор On Error. Он имеет несколько видов:

On Error GoTo МЕТКА
On Error Resume Next
On Error GoTo 0

Первый оператор позволяет указать Visual Basic метку (номер строки) на которую передастся управление программы при возникновении ошибки. Рассмотрим пример использования этого оператора:

Private Sub Command1_Click()
    Dim myString As String
    On Error GoTo ERRH
    myString = "ERROR HANDLING WITH VB IS COOL"
    MsgBox Mid(myString, 0, 1) '<--- здесь ошибка (#)
    Exit Sub '<--- досрочно выходим, если нет ошибок
ERRH: '<--- метка
    MsgBox Error(Err.Number) '<--- выводим свою ошибку
End Sub

Урок № 17. Доводим до ума

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

Доведём до ума нашу программу, для вычисления корней квадратного уравнения. Давайте оформим некоторые части кода в виде процедур и функций. Например, напишем функцию для вычиления дискриминанта. И напишем процедуру, которая будет выводить полученные значения в метки. Почему именно процедуру? Потому что процедуры пишутся для выполнения некоторой последовательности действий, где не требуется возвращать какое-либо значение. Давайте ещё раз посмотрим на ту часть кода, где происходит проверка значения дискриминанта и вычисление корней уравнения:

If D > 0 Then
    x1 = (paramB + Sqr(D)) / (2 * paramA)
    x2 = (paramB - Sqr(D)) / (2 * paramA)
    lblD.Caption = "Дискременант: " & D
    lblX1.Caption = "Корень №1: " & x1 ' <- здесь
    lblX2.Caption = "Корень №2: " & x2
ElseIf D = 0 Then
    x1 = paramB / (2 * paramA)
    x2 = x1
    lblD.Caption = "Дискременант: " & D
    lblX1.Caption = "Корень №1: " & x1 ' <- и здесь
    lblX2.Caption = "Корень №2 = Корню №1"
ElseIf D < 0 Then
    lblD.Caption = "Дискременант: " & D
    lblX1.Caption = "Корней нет!" ' <- и здесь, тоже
    lblX2.Caption = ""
    MsgBox "Дискременант меньше нуля! Корней нет!", vbCritical
End If

Заметьте, что в каждом из ветвей оператора If наблюдается присвоения свойству Caption 3-х меток (lblD, lblX1, lblX2). Поэтому логично этот участок оформить в виде процедуры, параметрами которой будут значения для меток.

Урок № 18. Компиляция

Теперь наша программа отлажена и готова к употреблению. Теперь настало время узнать, как же откомпилировать программу в exe файл?

Напомню, что Visual Basic предлагает 2 компилятора. Компиляция в P-код, и компиляция в Native-код. P-код - это старый компилятор и пользоваться им я не рекомендую. Всегда компилируйте приложение в Native-код. Выбор вида компиляции находится на вкладке Compile в меню Project->Project Properties. Там же можно указать несколько доступных видов оптимизации (о них ниже).

Итак, чтобы откомпилировать нашу программу, необходимо проделать следующие манипуляции:

  1. В меню File выбрать Make имя_проекта.exe

  2. Ввести имя выходного exe файла

  3. Если необходимо, то выбрать некоторые опции, нажав на кнопку Options. (К этим опциям также можно добраться через меню Project->Project Properties).

  4. Нажать ОК. И, если Visual Basic не найдёт никаких ошибок в программе, то откомпилирует её и сохранит в указанно вами каталоге под указанным вами именем.




Заключение

Вот мы и подошли к концу этого небольшого курса для начинающих. Мы рассмотрели основные принципы программирования на Visual Basic.

Успехов вам в программировании!
Литература:

  1. Сайт http://vb.hut.ru

  2. А. Волков - Электронный учебник «Visual Basic – крепкий орешек!».

  3. Н. Угринович - Информатика и информационные технологии. 10-11 кл. М. БИНОМ, 2006.


Модель «Решение квадратного уравнения»

Private Sub cmdCalculate_Click()

'объявляем переменные

Dim paramA As Double

Dim paramB As Double

Dim paramC As Double

Dim R As Integer

Dim D As Double

Dim x1 As Double

Dim x2 As Double

'присваиваим им значения из текстовых полей

paramA = Val(txtParamA.Text)

paramB = Val(txtParamB.Text)

paramC = Val(txtParamC.Text)

'проверка на а=0

If paramA = 0 Then

MsgBox "А=0 не допускается!", vbCritical

Exit Sub

End If
'вычисляем дискреминант

D = paramB * paramB - 4 * paramA * paramC

'решаем уравнение и выводим результат в метки Label

If D > 0 Then

x1 = (-paramB + Sqr(D)) / (2 * paramA)

x2 = (-paramB - Sqr(D)) / (2 * paramA)

lblD.Caption = "Дискреминант D=" & D

lblX1.Caption = "x1 = " & x1

lblX2.Caption = "x2 = " & x2

ElseIf D = 0 Then

x1 = -paramB / (2 * paramA)

lblD.Caption = "Дискреминант D=" & D

lblX1.Caption = "x=" & x1

lblX2.Caption = ""

Else

lblD.Caption = "Дискреминант D=" & D

lblX1.Caption = "Нет решений"

lblX2.Caption = ""

'можно добавить выводное поле с предупреждающей информацией

R = MsgBox("Дискреминант меньше нуля! Корней нет!", 48, "Внимание!")

End If

End Sub
Модель «Графики тригонометрических функций»

Программа (программный код):


Dim I As Integer

Dim X As Double

Dim Y As Double

Private Sub cmdCK_Click()

picGrap.Scale (-10, 5)-(10, -5)

picGrap.Line (-10, 0)-(10, 0)

For I = -10 To 10

picGrap.PSet (I, 0)

picGrap.Print I

Next I

picGrap.Line (0, -5)-(0, 5)

For I = -5 To 5

picGrap.PSet (0, I)

picGrap.Print I

Next I

End Sub

Private Sub cmdCLS_Click()

picGrap.Cls

End Sub

Private Sub cmdSin_Click()

For X = -10 To 10 Step 0.03

Y = Sin(X)

picGrap.PSet (X, Y)

Next X

End Sub

Private Sub cmdCos_Click()

For X = -10 To 10 Step 0.03

Y = Cos(X)

picGrap.PSet (X, Y)

Next X

End Sub

Private Sub cmdTg_Click()

For X = -10 To 10 Step 0.03

Y = Tan(X)

picGrap.PSet (X, Y)

Next X

End Sub

Private Sub cmdCtg_Click()

For X = -10 To 10 Step 0.03

Y = 1 / Tan(X)

picGrap.PSet (X, Y)

Next X

End Sub


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

1   2   3

Похожие:

Visual Basic крепкий орешек! iconУрок-лекция (2ч) Тема: Среда программирования Visual Basic. Окна,...
Цель: знакомство учащихся с основными терминами и элементами ооп, со средой программирования Visual Basic на примерах решения конкретных...
Visual Basic крепкий орешек! iconПрограмма по формированию навыков безопасного поведения на дорогах...
Бейсик (Basic) диалоговый учебный язык программирования для персональных компьютеров. На современных компьютерах используется следующие...
Visual Basic крепкий орешек! iconBasic
...
Visual Basic крепкий орешек! iconТематическое планирование Комментарий: Компьютерный практикум проводится...
Компьютерный практикум проводится в системе программирования Visual Basic 0 (SP2) cce, которая входит в состав cd-диска умк н. Д....
Visual Basic крепкий орешек! iconУрок n 29 Основы программирования в среде Visual Basic 0

Visual Basic крепкий орешек! iconРазработка урока по информатике с применением икт на тему «Программирование...
...
Visual Basic крепкий орешек! iconАнализ посещенного урока
Наименование прорабатываемой на занятиях темы знакомство с объектно-ориентированным языком программирования Visual Basic. Лабораторная...
Visual Basic крепкий орешек! iconИнтегрированная среда разработки языка Visual Basic
...
Visual Basic крепкий орешек! iconПрограмма по формированию навыков безопасного поведения на дорогах...
Оборудование: компьютер, среда Visual Basic, мультимедийный проектор, экран, раздаточный материал
Visual Basic крепкий орешек! iconПрограмма по формированию навыков безопасного поведения на дорогах...
Оборудование: компьютер, среда Visual Basic, мультимедийный проектор, экран, раздаточный материал
Visual Basic крепкий орешек! iconУрок Графические методы Гарнаев А. Visual Basic. Net. Разработка приложений. Глава 12
Единицей измерения в заданной по умолчанию системе координат является пиксель (минимальный элемент изображения)
Visual Basic крепкий орешек! iconУро Тема урока: Язык программирования Visual Basic. Работа с массивами
Ввести понятие массива, его размерности. Познакомиться с фиксированными и динамическими массивами, способами их описания
Visual Basic крепкий орешек! iconУрок №8 Тема урока: Инкапсуляция и свойства объекта в ооп
Рассмотреть примеры использования инкапсуляции и свойств объекта в ооп объектов в Visual Basic
Visual Basic крепкий орешек! iconДля просмотра щелкнуть по ссылке с нажатой клавишей ctrl Класс: 7-8...
Цели : Сформировать умение разработки проекта в среде Visual Basic по алгоритму (карте задания)
Visual Basic крепкий орешек! iconФункции языка Visual Basic. Выражения
Если компьютер включен и Бейсик загружен, можно смело приступить к работе. Начнем с того, что вы хотите что-то вычислить. Бейсик...
Visual Basic крепкий орешек! iconМастер-класс «Создание эор с использованием языка программирования...
Знакомство с опытом преподавания темы «Основы алгоритмизации и объектно-ориентированного программирования» в базовом курсе информатики...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск