Основные этапы создания программы 5 Заключение 12 Список литературы 13 Введение

Вид материалаДокументы

Содержание


Объект исследования –
Для достижения данной цели были поставлены следующие задачи
Для достижения этой задачи были поставлены следующие подзадачи
Для достижения этой задачи была поставлена следующая подзадача
6.Запрограмировать кнопку “очистить” для очистки меток(Label) программы Для создания программы использовались следующие методы и
Основные этапы создания программы
У второй группы он выглядит как и у первой.
Подобный материал:

Отдел образования и молодежной политики Ядринской районной администрациизования и молодежной политики.

VI районная научно-практическая конференция школьников
«Будущие лидеры отечества»


Направление: Естественно-технические науки

Секция: Программирование


Программирование в среде Visual Basic


Автор: Дмитриев Игорь Николаевич,

МОУ «Гимназия№1» города Ядрин


Руководитель: Трофимова Светлана Николаевна, учитель информатики


Ядрин 2008

Оглавление


Введение 4

Основные этапы создания программы 5

Заключение 12

Список литературы 13



Введение



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

Объект исследования – среда программирования Visual Basic.

Предмет исследования – изучение возможностей среды программирования Visual Basic.

Цель данной работы - создание программы, способной решать квадратные и линейные уравнения, на языке Visual Basic.

Для достижения данной цели были поставлены следующие задачи:

1. Изучить функции среды программирования Visual Basic.

2. Запрограммировать кнопку “Введите коэффициент a,b,c” на прием данных.

Для достижения этой задачи были поставлены следующие подзадачи:

- Изучение функции “InputBox”

- Изучение линейного алгоритма

3. Проанализировать и вывести информацию, полученную с кнопки “введите коэффициент a,b,c”.

Для достижения этой задачи были поставлены следующие подзадачи:

- изучение функции “Label”

- изучение линейного алгоритма

4.Наладить правильность вывода информации, полученной с кнопки “введите коэффициент a,b,c”

Для достижения этой задачи была поставлена следующая подзадача:

- углубленно изучить линейный алгоритм.

5.Запрограмировать кнопку “Решить” на решение квадратных и линейных уравнений.

Для достижения этой задачи были поставлены следующие подзадачи:

- Изучение функции “MsgBox”

- Повторение формул для вычисления корней квадратного уравнения

- Изучение разветвленного алгоритма.

6.Запрограмировать кнопку “очистить” для очистки меток(Label) программы

Для создания программы использовались следующие методы исследования:
  1. Анализ методической и учебной литературы по информатике.
  2. Применение полученных знаний на практике.

Автором создана программа, решающая квадратные и линейные уравнения. В ходе выполнения данной работы были изучены основные функции языка Visual Basic. Была изучена панель свойств разных объектов. Автор применил функции “MsgBox”, “Label”, “InputBox”, для программирования кнопок на выполнение конкретных задач. А результат работы – это полезная программа, которая решает все виды квадратных и линейных уравнений.

Основные этапы создания программы



Первый этап - это создание формы. Форма создается при помощи нажатия кнопки Insert UserForm


Далее на форме создаются кнопки и метки. Они создаются с помощью панели ToolBox. Для вызова панели ToolBox достаточно нажать одноименную кнопку.


Создаем кнопки при помощи CommandButton







Далее даем кнопкам имя


Настраиваем форму. Задаем цвет, даем имя, убираем вспомогательные точки. Все это делается при помощи панели Properties


Далее создаем девять меток при помощи панели ToolBox.




После данной процедуры начинается самая сложная часть данной работы это написание самой программы на языке Visual Basic.

Первым для кого была написана программа это кнопка “Введите коэффициент при a,b,c” потом кнопка “Решить”, ну а третьим соответственно кнопка “Очистить”. Сразу признаюсь самыми сложными в написании были первая и вторая ну а третья по легче.

Для написания программы к первой кнопки мне потребовались следующие функции: InputBox и линейный алгоритм.

InputBox – выполняет функцию ввода и приема информации. В моей программе он используется следующим образом:


Вот так выглядит функция InputBox в программе до запуска.

F = MsgBox("Пожалуйста вводите коэффиценты без знаков, а то возможна некорректная работа программы", 48 + 0, "Квадратные уравнения")

a = InputBox("Введите коэффицент a", "Решение уравнений", "1")

B = InputBox("Введите коэффицент b", "Решение уравнений", "1")

C = InputBox("Введите коэффицент c", "Решение уравнений", "1")

S = InputBox("Введите знак перед коэффицентом b ", "Решение уравнений", "+")

Z = InputBox("Введите знак перед коэффицентом c ", "Решение уравнений", "+")

А вот так после запуска.




Линейный алгоритм нужен для распознавания квадратного уравнения от линейного. Также для правильной записи уравнения. Вы спросите, для какой правильной записи. А я вам отвечу, что уравнение можно записать двумя способами: первый 1x2+1x+c=0 эта запись тоже считается правильной, но обычно так не пишут, а пишут вот как x2+x+1 это я и называю правильной записью уравнения.

Ниже находиться алгоритм распознавающий виды уравнения и правильно их выводящий в метке.

If a = 0 Or B = 0 Or C = 0 Then

If a = 0 Then

If B = 1 Then

If S = 45 Then

Label8.Caption = Chr(p) + "x" + Chr(kr9) + C + "=0"

Label1.Caption = "Линейное уравнение"

Else

Label8.Caption = "x" + Chr(kr9) + C + "=0"

Label1.Caption = "Линейное уравнение"

End If

Else

If S = 45 Then

Label8.Caption = Chr(p) + B + "x" + Chr(kr9) + C + "=0"

Label1.Caption = "Линейное уравнение"

Else

Label8.Caption = B + "x" + Chr(kr9) + C + "=0"

Label1.Caption = "Линейное уравнение"

End If

End If

Else

If B = 0 Then

If a = 1 Then

Label8.Caption = "x2" + Chr(kr9) + C + "=0"

Label1.Caption = "Линейное уравнение"

Else

Label8.Caption = a + "x2" + Chr(kr9) + C + "=0"

Label1.Caption = "Линейное уравнение"

End If

Else

If C = 0 Then

If a = 1 Then

If B = 1 Then

Label8.Caption = "x2" + Chr(p) + "x" + "=0"

Label1.Caption = "Линейное уравнение"

Else

Label8.Caption = "x2" + Chr(p) + B + "x" + "=0"

Label1.Caption = "Линейное уравнение"

End If

Else

If B = 1 Then

Label8.Caption = a + "x2" + Chr(p) + "x" + "=0"

Label1.Caption = "Линейное уравнение"

Else

Label8.Caption = a + "x2" + Chr(p) + B + "x" + "=0"

Label1.Caption = "Линейное уравнение"

End If

End If

End If

End If

End If

Else

If a = 1 Then

If B = 1 Then

Label8.Caption = "x2" + Chr(p) + "x" + Chr(kr9) + C + "=0"

Label1.Caption = "Квадратное уравнение"

Else

Label8.Caption = "x2" + Chr(p) + B + "x" + Chr(kr9) + C + "=0"

Label1.Caption = "Квадратное уравнение"

End If

Else

If B = 1 Then

Label8.Caption = a + "x2" + Chr(p) + "x" + Chr(kr9) + C + "=0"

Label1.Caption = "Квадратное уравнение"

Else

Label8.Caption = a + "x2" + Chr(p) + B + "x" + Chr(kr9) + C + "=0"

Label1.Caption = "Квадратное уравнение"

End If

End If

End If

Второй этап это програмирование кнопки “Решить”. Для кнопки “Решить” потребовалась более простая программа, но гораздо больше функций. К ним относится MsgBox, Алгоритмы линейный и развернутый, метки, функция Sqrtb и другие.

Начинаю я программирование этой кнопки с вопроса “Ваше квадратное уравение стандартного вида? ”




А это ни что иное как функция MsgBox. Последующие мои действия - это создание алгоритма способного распознавать ответы функции MsgBox. Так как функция MsgBox при положительном ответе принимает значение равное шести, то я написал алгоритм который при а=6, где а это значение функции MsgBox, решает квадратное уравнение, а при ином линейное. В программе это выглядит примерно так:

V = MsgBox(" Ваше квадратное уравнение станндартного вида ", 32 + 4, "Квадратные уравнения")

If V = 6 Then

Label2.Caption = "Д"

Label4.Caption = "X1"

Label5.Caption = "X2"

Select Case x

Case "++"

D = B 2 - 4 * a * C

If D < 0 Then

Label3.Caption = D

Label6.Caption = "Нет корней"

Label7.Caption = ""

Label4.Caption = ""

Label5.Caption = ""

Else

Label3.Caption = D

Label6.Caption = (-B + Sqr(D)) / (2 * a)

Label7.Caption = (-B - Sqr(D)) / (2 * a)

End If

Case "+-"

D = B 2 + 4 * a * C

If D < 0 Then

Label3.Caption = D

Label6.Caption = "Нет корней"

Label7.Caption = ""

Label4.Caption = ""

Label5.Caption = ""

Else

Label3.Caption = D

Label6.Caption = ((-B + Sqr(D)) / (2 * a))

Label7.Caption = (-B - Sqr(D)) / (2 * a)

End If

Case "-+"

D = B 2 - 4 * a * C

If D < 0 Then

Label3.Caption = D

Label6.Caption = "Нет корней"

Label7.Caption = ""

Label4.Caption = ""

Label5.Caption = ""

Else

Label3.Caption = D

Label6.Caption = (B + Sqr(D)) / (2 * a)

Label7.Caption = (B - Sqr(D)) / (2 * a)

End If

Case Else

D = B 2 + 4 * a * C

If D < 0 Then

Label3.Caption = D

Label6.Caption = "Нет корней"

Label7.Caption = ""

Label4.Caption = ""

Label5.Caption = ""

Else

Label3.Caption = D

Label6.Caption = (B + Sqr(D)) / (2 * a)

Label7.Caption = (B - Sqr(D)) / (2 * a)

End If

End Select

Else

Label2.Caption = ""

Label4.Caption = "X"

Label5.Caption = ""

Label1.Caption = "Линейное уравнение"

If C = 0 Then

If E = Chr(45) Then

Label4.Caption = "X1"

Label5.Caption = "X2"

Label6.Caption = "0"

Label7.Caption = B

Else

Label4.Caption = "X1"

Label5.Caption = "X2"

Label6.Caption = "0"

Label7.Caption = -B

End If

Else

If B = 0 Then

If W = Chr(45) Then

Label6.Caption = Sqr(C / a)

Else

Label6.Caption = "Нет "

End If

Else

If a = 0 Then

Select Case x

Case "++"

Label6.Caption = -(C / B)

Label3.Caption = ""

Case "+-"

Label6.Caption = C / B

Label3.Caption = ""

Case "-+"

Label6.Caption = C / B

Label3.Caption = ""

Case Else

Label6.Caption = -(C / B)

Label3.Caption = ""

End Select

End If

End If

End If

End If


Теперь рассмотрим программу для решения квадратных и линейных уравнений.

Сначала посмотрим программу решения линейных уравнений. Я их делю на три группы:
  1. При а = 0 , где а коэффициент при x2
  2. При b = 0 , где b коэффициент при x
  3. При c = 0 , где с свободный член

Первый решается по формуле x = -c/b .

Второе решается по формуле x= Sqrt(-c) если – c меньше нуля, иначе нет решений.

Третье решается по формуле x(ax+-b) = 0 отсюда x = 0 или x = -b/a

Это вы можете проследить, если посмотрите алгоритм расположенный выше он выделен жирным цветом.

Далее происходит вывод информации. Она выводится в метках. У разных уравнений по-разному. У квадратных она выглядит так: (Рис. 2)




Рис. 1

Рис. 2


Но если дискриминант меньше нуля, то она выглядит так: (рис. 1)

В линейных уравнениях у каждой группы по-разному. Ниже показано, как выглядит вывод информации у разных групп линейных уравнений.




Первая группа.

Третья группа.

У второй группы он выглядит как и у первой.

Третий этап - это очистка уже ненужной информации; это делается при помощи кнопки “очистить”, программа для этой кнопки очень проста, она представлена ниже.

Label3.Caption = ""

Label6.Caption = ""

Label7.Caption = ""

Label8.Caption = ""

Label2.Caption = ""

Label5.Caption = ""

Label4.Caption = ""

Label1.Caption = ""

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


Заключение




Автором создана программа, решающая квадратные и линейные уравнения. В ходе выполнения данной работы были изучены основные функции языка Visual Basic. Была изучена панель свойств разных объектов. Автор применил функции “MsgBox”, “Label”, “InputBox”, для программирования кнопок на выполнение конкретных задач. А результат работы – это полезная программа, которая решает все виды квадратных и линейных уравнений.


Список литературы




  1. Практикум по Visual Basic, О. Л. Гусева, Финансы и статистика, 2007.
  2. Visual Basic 2005 для "чайников", Билл Семпф. – Вильямс, 2006.
  3. Введение в программирование на языке Visual Basic, Н. М. Якушева Финансы и статистика, 2006.
  4. Информатика и информационные технологии. Учебник для 9 класса. Базовый курс/ Н.Д. Угринович. – М.: БИНОМ. Лаборатория знаний, 2003.
  5. t.ru