Программа для квадратного уравнения бейсик

Урок № 15. Сводим всё вместе

Сводим всё вместе

В этом уроке мы попробуем написать нашу первую программу на Visual Basic — программу для решения квадратных уравнений. Может быть эта программа и не очень полезна в хозяйстве, но она хорошо вас ознакомит с принципами программирования на VB. Итак, приступим. Всмомним из урока 5 основные этапы разработки приложение на Visual Basic:

  1. Продумывание программы
  2. Проектирование интерфейса
  3. Написание программного кода
  4. Отлаживание программы
  5. Окончательная компиляция

Программу будем писать согласно этим пунктам:

1. Продумывание программы.

Что должна делать наша программа? — решать квадратные уравнения. Вспомним, как решаются квадратные уравнения.

Чтобы решить такое уравнение, нужно найти его дискриминант и затем, корни. Дискрименант ищется по формуле:

Если дискриминант > 0, то

X1 = (b + (корень из D)) / 2*a
X2 = (b — (корень из D)) / 2*a

Если дискриминант = 0, то

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

A: — параметр AtxtParamAB: — параметр BtxtParamBC: — параметр CtxtParamCКнопка для запуска решенияcmdCalculateLabel, с вычисленным дискриминантомlblDLabel, с корнем X1lblX1Label, с корнем X2lblX2Форма, содержащая все эти элементыfrmMain

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

Интерфейс готов. Он конечно не претендует на звание самого удобного и красивого интерфейса года ;), но для начала сойдёт. Всё равно, в дальнейшем, уже после написания кода программы, вы сможете изменить интерфейс по вашему вкусу.

3. Написание программного кода.

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

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

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

  • Выводим полученные значения в метки (Label’и).
  • Нам необходимо написать обработчик события клик (Click) нашей кнопки — cmdCalculate. Что значит обработчик события? Обработчик события — это процедура, которая будет выполняться всякий раз, когда произойдёт то или иное событие. Например собите Click. Оно происходит всякий раз при нажатии на кнопку. Т.е., если запустить программу на выполнение и не нажимать на кнопку cmdCalculate ничего не произойдёт. Но как только вы кликните по кнопке, произойдёт выполнение кода, который написан в процедуре обработки события Click (процедуре с именем cmdCalculate_Click). Он будет выполняться всякий раз, когда пользователь кликнет по кнопке. В этом то и состоит та самая Событийно-Управляемая модель программирования, которая отличается от плоских последовательных программ (Turbo Паскаля, например). Программирование на Visual Basic целиком и полностью базируется на этой Событийно-Управяемой модели.

    Надеюсь, что вы уловили мою мысль. Если нет, то не отчаивайтесь, далее всё станет понятно.

    Чтобы создать обработчик события Click необходимо сделать двойной клик по нашей кнопке cmdCalculate (при двойном клике, VB создаёт заготовку обработчика события — по-умолчанию. У кнопки, это событие Click, у формы — Load, у таймера — Timer и т.д.). Visual Basic создаст для вас заготовку процедуры, которая будет выглядеть следующим образом:

    Private Sub cmdCalculate_Click()

    Чтобы создать обработчик для другого события, необходимо выбрать событие в правом списке в окне кода:

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

    Так же, как и некоторое свойства элементов управления, события тоже повторяются. Например, событие Click. Оно есть и у элемента кнопки (Command Button), и у элемента метки (Label) и у многих других. Есть оно и у формы. Это очень облегчает процесс программирования. Не нужно тратить много времени на изучение каждого элемента управления, т.к. многое повторяется.

    Заметьте также, что у процедуры обработки события Click нет входных параметров, о чём нам говорят пустые скобки. Добавить свои параметры в эту процедуру нельзя. У процедур обработки некоторых других событий могут быть параметры. Например, у события MouseMove (координаты курсора мыши) или KeyUp (код отжатой клавиши). Эти параметры передаются незаметно для программиста, и их можно использовать по своему усмотрению (а можно и вовсе не использовать).

    Теперь давайте приступим непосредственно к программированию. Для начала объявим переменные с типом Double (для хранения вещественных чисел):

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

    &nbsp&nbsp&nbsp&nbspDim x1 As Double
    &nbsp&nbsp&nbsp&nbspDim x2 As Double
    &nbsp&nbsp&nbsp&nbspDim D As Double
    End Sub

    Теперь считаем введённые параметры a, b и с. Для этого присвоим переменным paramA, paramB и paramC значения свойства Text всех 3-х полей для ввода (TextBox’ов). Мы можем это сделать потому, что Visual Basic сам преобразует число в виде строки в обычное число с плавающей точкой.

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

    Доступ к свойству любого элемента управления осуществляется через точку, которая разделяет имя свойства и имя элемента. Обратите внимание на технологию Intellisence. Visual Basic выдает список доступных свойств этого элемента управления. Это очень удобно. Вам не придётся выучивать наизусть длинные и сложные названия свойств. Достаточно выбрать нужное свойство из списка и всё.

    Теперь нам нужно рассчитать дискриминант. Для этого присвоим переменной D, которая будет хранить значение дискриминанта, следующее выражение:

    D = (paramB * paramB) — (4 * paramA * paramC)

    Скобки я поставил для наглядности. Ставить их в данном случае не обязательно, т.к. умножение всё равно выполниться до вычитания. (вспомните, что умножение имеет больший приоритет, чем вычитание).

    Теперь, зная значение дискриминанта, нужно сравнить его с нулём. Если он больше нуля, то вычислить оба корня, если равен нулю, то вычислить один корень, ну а если меньше, то ничего не вычислять и выдать сообщение о том, что корней нет. Такое ветвление мы организуем с помощью оператора If:

    If D > 0 Then
    &nbsp&nbsp&nbsp&nbspx1 = (paramB + Sqr(D)) / (2 * paramA)
    &nbsp&nbsp&nbsp&nbspx2 = (paramB — Sqr(D)) / (2 * paramA)
    &nbsp&nbsp&nbsp&nbsplblD.Caption = «Дискременант: » & D
    &nbsp&nbsp&nbsp&nbsplblX1.Caption = «Корень №1: » & x1
    &nbsp&nbsp&nbsp&nbsplblX2.Caption = «Корень №2: » & x2
    ElseIf D = 0 Then
    &nbsp&nbsp&nbsp&nbspx1 = paramB / (2 * paramA)
    &nbsp&nbsp&nbsp&nbspx2 = x1
    &nbsp&nbsp&nbsp&nbsplblD.Caption = «Дискременант: » & D
    &nbsp&nbsp&nbsp&nbsplblX1.Caption = «Корень №1: » & x1
    &nbsp&nbsp&nbsp&nbsplblX2.Caption = «Корень №2 = Корню №1»
    ElseIf D Then
    &nbsp&nbsp&nbsp&nbsplblD.Caption = «Дискременант: » & D
    &nbsp&nbsp&nbsp&nbsplblX1.Caption = «Корней нет!»
    &nbsp&nbsp&nbsp&nbsplblX2.Caption = «»
    &nbsp&nbsp&nbsp&nbspMsgBox «Дискременант меньше нуля! Корней нет!», vbCritical
    End If

    Не забывайте про отступы! С ними код намного нагляднее.

    Корень мы вычисляем встроенной функцией VB — Sqr (от Square). В выражениях, которые мы присваиваем свойству Caption у меток, мы используем оператор конкатенации (склеивание строк). Им мы склеиваем строку слева от & со строкой справа. Откуда берётся строка справа? Ведь там переменные типа Double!? Как я уже говорил, Visual Basic неявно занимается преобразованием типов. В данном случае перед конкатенацией, числа Double сначала преобразуются в строку.

    В принципе, программа уже готова. Давайте проверим её работоспособность. Нажмите кнопку Start. Появится наша форма. Введите значение в поля: a = 3, b = -6, c = 2. Нажмите на кнопку «Решить!». Если вы всё делати правильно, то должны увидеть следующую картину:

    Дело в том, что строка для вывода в Label не вписывается в его размеры. Поэтому происходит перенос на следующую строчку. Чтобы этого избежать, закройте программу и установите свойство меток AutoSize в True (Совет: Чтобы не устанавливать это свойство 3 раза для каждой метки, выдели их сразу все 3 и установите свойство.). Свойство AutoSize — подгоняет размер метки так, чтобы текст в свойстве Caption полностью уместился в одну строчку и не переносился на другую. Теперь снова запустите программу, введите те же значения и нажмите на кнопку:

    Теперь всё в порядке! Программа работает! Можете поэкперементировать, вводя разные значения коэффициентов.

    Но, обратите внимение! Что произойдёт, если мы, не введя значения в поля , нажмём на кнопку? Что тогда присвоиться нашим переменным? Или, что будет, если мы введём нули в качестве коэффициентов? В обоих случаях Visual Basic сгенерирует ошибку. Почему? Ответ на этот вопрос мы разберём на следующем уроке.

    Visual basic практическая работа «Решение квадратного уравнения»

    Решение квадратного уравнения на языке VB в двух вариантах и рассмотрение блок-схемы решения задачи.

    Просмотр содержимого документа
    «Visual basic практическая работа «Решение квадратного уравнения»»

    Лабораторная работа №1. Решение квадратного уравнения.

    1. Вывод результата с помощью оператора Print

    Решение. Рассмотрим блок-схему решения данной задачи:

    Программа написана справа от блок-схемы.

    Private Sub Command1_Click()

    d = b * b — 4 * a * c

    X1 = (-b + Sqr(d)) / (2 * a)

    X2 = (-b — Sqr(d)) / (2 * a)

    Для выполнения программы нажимает клавишу F5. Вводим значения коэффициентов a, b, c. Результат работы программы читаем в форме.

    a=1567, b = -110, c = -15, ответ: x1=0,13904296372987 x2=-6,88451334809872E-02

    При вводе десятичных дробей через окно InputBox следует применять запятую.

    a=1,5, b = 1, c = -4, ответ: x1 = 1,3333333, x2 = -2

    Если запустить программу и ничего не вводить (a=0, b = 0, c = 0), а нажимать ОK (Enter), то появится сообщение об ошибке. Следует нажать кнопку End.

    2) Добавление новых элементов в форму

    Главным объектом среды программирования Visual Basic является форма. До сих пор на форме мы располагали только одну кнопку, результат читали также на поверхности формы.

    Инструментальное меню Visual Basic содержит много элементов, которые также можно разместить на форме. Познакомимся поближе со второй строкой этой панели.

    Буква А означает надпись. При наведении на неё курсора появляется слово Label (читается лэйбл, переводится этикетка, надпись). На форме надпись будет растягиваться аналогично командной кнопке — в виде прямоугольника. В неё мы будем печатать поясняющие надписи.

    Справа от неё находится кнопка текстовое окно TextBox (читается ТекстБокс, текстовая панель). В текстовое окно можно вводить и выводить информацию (числа, слова).

    Создадим форму для задачи «Нахождение корней квадратного уравнения», используя вышеперечисленные элементы инструментального меню. Прежде всего создадим в тетради эскиз формы. Он может выглядеть так:

    Создадим на форме места под будущие надписи и окна. Методом растягивания, перетаскивания и изменения размеров создайте форму с кнопкой, четырьмя лейблами, и четырьмя текстовыми окнами.

    Изменение свойств формы

    Щелкнем на свободном месте формы. Она будет ограничена квадратными маркерами по восьми направлениям изменения размеров формы.

    Справа активизировалась панель свойств этой формы – Properties – Form1 (читается пропетиз фом ван, переводится свойства формы один). В этом окне слева расположены названия свойств, а справа их значения. Значения мы можем менять по своему усмотрению. Названия свойств являются ключевыми словами языка VB, их постепенно надо запоминать. Нам надо изменить текст в заголовке формы. Изменение текста заголовка формы выполняется в строке Caption (произносится — кэпшн, переводится заголовок). Щелкаем мышкой по этому свойству, печатаем – Решение квадратного уравнения, нажимаем Enter. Текст появляется в заголовке формы.

    Изменим цвет формы. Для этого в свойствах находим строку BackColor (бэк колор, задний цвет). На вкладке Palette (палетте, палитра) выбираем нужный нам цвет для формы, щелкнув по нему указателем мыши.

    Выделяем командную кнопку и в разделе свойств Caption печатаем Вычислить.

    Выделяет объект Label1. В разделе свойств Caption печатаем а =. Переходим к свойству Alignment (читается — элайнмент, переводится выравнивание). Раскрываем список этой строки и выбираем выравнивание по правому краю 1. Right Justify (Райт джустифай, правое, если много текста, то левая и правая границы выровнены). Можно было нажать клавишу с цифрой 1.

    Свойство Font (фонт, вид шрифта) позволит нам настроить вид символов. В диалоговом окне можно выбрать тип шрифта, начертание (обычный, курсив, полужирный) и размер 14. Сделайте так, чтобы текст а = выглядел как а =. “это достигается применением шрифта Times New Roman (Таймс Нью Роман)

    Аналогично меняем содержимое объектов Label2, Label3.

    В свойстве Caption объекта Label4 записываем Ответ:

    В свойствах текстового окна Text1 находим строку Text. Стираем существующую надпись, можно пробелом, и подтверждаем изменение клавишей Enter или щелчком мыши на другом объекте.

    Аналогично поступаем с остальными текстовыми окнами. Форма готова.

    Точечная запись — в качестве переменной

    Объектно-ориентированные языки программирования работают с объектами. В качестве объекта может быть форма, командная кнопка, надпись, текстовое окно и др. Каждый из этих объектов имеет свойства. Эти свойства можно менять по нашему усмотрению либо на Панели свойств (Properties), либо из программы. Для того, чтобы изменить свойства из программы, точнее, иметь доступ к свойствам объекта их командной строки, нужно указать название объекта и через точку свойство. Например, чтобы иметь доступ к содержимому первого текстового окна нашего проекта по свойству Text, надо сделать запись: Text1.Text. –(в программном коде)

    Такая запись может использоваться в качестве переменной. Свойство может содержать какое-либо значение. Это значение мы можем записать при запуске программы, или программист, при составлении программы, поместит в него какое-нибудь значение.

    Сравните две строки:

    Text1.Text = “5” — эта строка помещает значение 5 в текстовое окно Text1.

    a= Text1.Text — эта строка присваивает переменной a содержимое текстовой строки. Если в текстовом окне ничего нет, то Visual Basic помещает в него специальное значение Null. Это ни нуль, не пробел, а пустое место.

    для этой формы будет выглядеть так:

    Private Sub Command1_Click()

    d = b * b — 4 * a * c

    X1 = (-b + Sqr(d)) / (2 * a)

    X2 = (-b — Sqr(d)) / (2 * a)

    Text4.Text = “x1=” & X1 & “ x2=” & X2

    Программу следует проверить на контрольных примерах. Перемещение по окнам сверху вниз — клавишей Tab. . Перемещение по окнам снизу вверх клавишным аккордом — Shift +Tab. Программа будет работать правильно для корректных данных, иначе будет появляться сообщение об ошибке.

    Решение квадратных уравнений в Visual Basic

    Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.

    Выберите документ из архива для просмотра:

    Выбранный для просмотра документ квадрат уровнения.doc

    Private Sub Command1_Click()

    d = b * b — 4 * a * c

    X1 = (-b + Sqr(d)) / (2 * a)

    X2 = (-b — Sqr(d)) / (2 * a)

    Text 5 = » Решение нет «

    Text 6 = » Решение нет «

    Private Sub Command2_Click()

    Private Sub Command3_Click()

    Курс повышения квалификации

    Дистанционное обучение как современный формат преподавания

    • Сейчас обучается 956 человек из 80 регионов

    Курс повышения квалификации

    Педагогическая деятельность в контексте профессионального стандарта педагога и ФГОС

    • Курс добавлен 23.11.2021
    • Сейчас обучается 51 человек из 29 регионов

    Курс повышения квалификации

    Инструменты онлайн-обучения на примере программ Zoom, Skype, Microsoft Teams, Bandicam

    • Курс добавлен 31.01.2022
    • Сейчас обучается 33 человека из 19 регионов

    Ищем педагогов в команду «Инфоурок»

    Дистанционные курсы для педагогов

    Самые массовые международные дистанционные

    Школьные Инфоконкурсы 2022

    33 конкурса для учеников 1–11 классов и дошкольников от проекта «Инфоурок»

    Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

    5 573 015 материалов в базе

    Другие материалы

    • 25.12.2015
    • 394
    • 0
    • 25.12.2015
    • 355
    • 0
    • 25.12.2015
    • 1195
    • 1
    • 25.12.2015
    • 411
    • 0
    • 25.12.2015
    • 330
    • 0
    • 25.12.2015
    • 2445
    • 18
    • 25.12.2015
    • 1536
    • 0

    Вам будут интересны эти курсы:

    Оставьте свой комментарий

    Авторизуйтесь, чтобы задавать вопросы.

    Добавить в избранное

    • 25.12.2015 6534
    • RAR 48.7 кбайт
    • 12 скачиваний
    • Оцените материал:

    Настоящий материал опубликован пользователем Ташходжаев Султанмурат Акмалович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Автор материала

    • На сайте: 7 лет
    • Подписчики: 24
    • Всего просмотров: 158651
    • Всего материалов: 94

    Московский институт профессиональной
    переподготовки и повышения
    квалификации педагогов

    Дистанционные курсы
    для педагогов

    663 курса от 690 рублей

    Выбрать курс со скидкой

    Выдаём документы
    установленного образца!

    Учителя о ЕГЭ: секреты успешной подготовки

    Время чтения: 11 минут

    В Воронеже продлили удаленное обучение для учеников 5-11-х классов

    Время чтения: 1 минута

    В России действуют более 3,5 тысячи студенческих отрядов

    Время чтения: 2 минуты

    Количество бюджетных мест в вузах по IT-программам вырастет до 160 тыс.

    Время чтения: 2 минуты

    Тринадцатилетняя школьница из Индии разработала приложение против буллинга

    Время чтения: 1 минута

    Инфоурок стал резидентом Сколково

    Время чтения: 2 минуты

    В школах Хабаровского края введут уроки спортивной борьбы

    Время чтения: 1 минута

    Подарочные сертификаты

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

    Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.


    источники:

    http://multiurok.ru/files/visual-basic-praktichieskaia-rabota-rieshieniie-kv.html

    http://infourok.ru/reshenie-kvadratnih-uravneniy-v-visual-basic-713407.html