Исследование квадратичных функций средствами табличного редактора Microsoft Office Excel

VI Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Исследование квадратичных функций средствами табличного редактора Microsoft Office Excel

Пряхина Д.А. 1
1МБОУ «Дединовская школа-интернат среднего общего образования»
Холодных А.А. 1
1МБОУ «Дединовская школа-интернат среднего общего образования»
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Тема моей исследовательской работы «Исследование квадратичных функций средствами табличного редактора Microsoft Office Excel». Данная тема была выбрана мной не случайно. Современное общество все больше и больше полагается на вычислительную технику, которая позволяет решать довольно сложные задачи в короткий промежуток времени. Компьютеризация общества и постоянное развитие компьютерной техники дали современному человеку освоить большое количество новых знаний и совершить технологический скачок. Программное обеспечение, разрабатываемое в настоящее время, гарантирует человечеству благополучное дальнейшее развитие.

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

В начале 2017-2018 учебного года, на уроках математики мы изучали квадратичные функции и решали большой класс математических задач на нахождение корней квадратного трехчлена, разложение квадратного трехчлена на множители и другие. Информация, которую я нашла в сети Internet, позволила мне сделать вывод о том, что решение данных задач можно успешно реализовать при помощи табличного редактора Microsoft Office Excel.

Цель научно-исследовательской работы: разработать приложение для исследования квадратичных функций средствами табличного редактора Microsoft Office Excel, применяя язык программирования Visual Basic.

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

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

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

Составить схему исследования квадратичных функций;

Изучить функционал программного обеспечения Microsoft Office Excel;

Изучить основы программирования на языке Visual Basic;

Составить приложение для исследования квадратичной функции согласно разработанной схеме.

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

В введение сформулированы цель и задачи научно-исследовательской работы.

В первой главе рассматриваются теоретические основы программирования на языке Visual Basic.

Во второй главе рассмотрен процесс разработки приложения для исследования квадратичных функций средствами табличного редактора Microsoft Office Excel, применяя язык программирования Visual Basic.

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

Глава 1. Теоретические основы программирования на языке Visual Basic

Материал данной главы взят из методических указаний по курсу "Информатика" для лабораторных и контрольных работ для студентов. [1]

Ядром, основой среды программирования VISUAL BASIC FOR APLICATIONS (VBA) является язык программирования VISUAL BASIC. Большое множество различных версий языка Basic (такие как QB, QBasic, Quick Basic и т.д.) являются предшествующими языку VISUAL BASIC. Язык VISUAL BASIC сохраняет все функциональные возможности практически всех предшествующих версий языка Basic.

VBA (Visual Basic for Applications), является приложением языка программирования Visual Basic в Excel. Таким образом появилась возможность создавать программы находясь непосредственно в среде Excel. Программирование в Excel – это процесс создания макросов Visual Basic, встроенных в Excel.

Макросы (макрокоманды) – это программы, написанные на языке программирования. Разработка такой программы (Макроса) начинается с вставки модуля Visual Basic в активную книгу Excel. Для этого на ленте окна Excel нажимаем вкладку «Разработчик». В результате появляется окно с редактором Visual Basic для создания модуля, и кнопка «Макросы», и колонка кнопок «Запись макроса», «Относительные ссылки», «Безопасность макросов». Для защиты Excel от макровирусов существует возможность выбора режима безопасности:

Полностью отключить макросы

Включить макросы при открытии документа

Доверять всем макросам, подписанным с использованием надежных сертификатов.

Кнопка «Макросы» предназначена для запуска, редактирования созданного модуля, сохранения его в нужной папке, удаления и т.д.

Символы языка VISUAL BASIC

двадцать шесть заглавных латинских букв A, B, C, D, ...., Z;

десять арабских цифр 0, 1, 2, ...., 8, 9;

знаки: “ . “ точка, “ , “ запятая, “ : “ двоеточие, “ ; “ точка с запятой, “ " “ кавычки, “ ‘ “ апостроф;

знаки арифметических операций: “ + “ сложение, “ – “ вычитание, “ * “ умножение, “ / “ деление, “ ^ “ возведение в степень;

круглые скобки: “ ( “ открывающая скобка, “ ) “ закрывающая скобка;

“└┘” пробел;

знаки операций отношения: “ < “ меньше, “ > “ больше, “ >= “ больше или равно, “ < > “ или “ > < “ не равно, “ <= ” меньше или равно, “ = “ равно;

знаки: “ $ “ знак доллара, “ & “ коммерческое “ и “, “ @ “ коммерческое “ эт “, “ \ “ косая черта слева направо, “ % “ процент, “ # “ номер, “ ? “ вопросительный знак, “ ! “ восклицательный знак;

буквы русского алфавита “ А, Б, В, ...., Я “.

Арифметические выражения

Для обозначения арифметических операций используются знаки: “ + ” сложение, “ - “ вычитание, “ * ” умножение, “ / ” деление, “ ^ ” возведение в степень, “ \ ” деление нацело, MOD остаток от деления целых чисел.

Если в арифметическом выражении имеется несколько различных арифметических операций, то порядок их выполнения задается правилами приоритета:

Возведение в степень.

Умножение, деление.

Сложение, вычитание.

Структура программы на языке VBA

Программа на VBA имеет модульную структуру. Основными модулями, имеющими наибольшее применение, являются SUB – главный модуль, FUNCTION – подпрограмма функция, SUB – подпрограмма – процедура. Любой модуль состоит из операторов – инструкций языка VBA. Эти инструкции (операторы) – представляют собой последовательности строк. В одной строке может содержаться один или несколько операторов, разделенных символом “ : ” двоеточие.

Программирование с использованием основных модулей.

Главный модуль имеет следующую структуру:

Sub ИМЯ()

Операторы

End Sub

Здесь ИМЯ - Идентификатор главного модуля.

Глава 2. Разработка приложения для исследования квадратичных функций в табличном редакторе Microsoft Office Excel

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

На основании вышеизложенного схема для исследования квадратичных функций будет выглядеть следующим образом:

Определить область значения квадратичной функции;

Найти точки пересечения графика квадратичной функции с осями координат;

Построить график квадратичной функции;

Найти интервалы возрастания и убывания квадратичной функции.

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

Найти координаты вершины параболы;

Составить таблицу значений для квадратичной функции;

Отметить в системе координат точки, абсциссы которых равны значениям аргумента данной функции, а ординаты равны значениям функции при соответствующих значениях аргумента;

Соединить точки плавной линией.

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

Решение (I) системы уравнений позволяет найти точки пересечения графика квадратичной функции с осью ординат. В результате получим ответ, что точка пересечения графика функции с осью ординат имеет координаты .

Решение (II) системы уравнений позволяет найти точки пересечения графика квадратичной функции с осью абсцисс. Для нахождения координат точек пересечения с осью абсцисс необходимо решить квадратное уравнение , методами, изучаемыми в курсе средней школы. Из курса алгебры известно, что парабола пресекает ось абсцисс в двух точках, если дискриминант положителен, в одной точке, если дискриминант равен нулю и не пересекает ось абсцисс если дискриминант отрицателен.

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

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

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

Ф ункциональные возможности Microsoft Office Excel позволяют автоматически производить численные вычисления и строить графики произвольных функций. Язык программирования Visual Basic в данном табличном редакторе расширяет его возможности и позволяет настроить диалог с пользователем ПК. Для полноценной работы приложения будут использоваться функциональные возможности как табличного редактора, так и языка программирования Visual Basic.

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

Данная запись будет содержаться в переменной типа string, поэтому первоначально необходимо отделить коэффициенты квадратичной функции. Первоначально необходимо убрать из данной строки все лишние символы (^2, +, *). Данное преобразование позволяет сделать команда Replace, заменяющая один символ или несколько, другими символами. Для того, чтобы удалить «ненужные» символы их заменяют на значение пустой строки.

strForm = Replace(strForm, "*", "")

strForm = Replace(strForm, "^2", "")

strForm = Replace(strForm, "+", "")

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

p = Split(strForm, "x")

Cells(2, 1).Resize(1, UBound(p) + 1) = p

Данный код программы позволяет произвести разбиение всей исходной строки strForm по идентификатору x. Полученные значения содержатся в переменной p и записываются соответственно в ячейки A2, B2 и С2. Также необходимо рассмотреть все возможные значения коэффициента . Если запись имеет вид , то коэффициент , однако при работе функции split в переменную p будет записана пустая строка поэтому данное значение необходимо прописать дополнительно, аналогично с коэффициентами , , .

If Cells(2, 1) = 0 Then Cells(2, 1) = 1

If Cells(2, 1) = "-" Then Cells(2, 1) = -1

If Cells(2, 2) = 0 Then Cells(2, 2) = 1

If Cells(2, 2) = "-" Then Cells(2, 2) = -1

Д анные преобразования позволяют получить все возможные коэффициенты полных квадратных трехчленов. Данные коэффициенты содержатся в ячейках A2, B2 и С2 соответственно.

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

Для построения таблицы значений найдем значения аргументов функции с шагом и соответствующие им значения функции. Построим график квадратичной функции по найденным значениям.

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

L9: =ЕСЛИ((B2^2-4*A2*C2)<0;"Нет";(-B2-КОРЕНЬ(B2^2-4*A2*C2))/(2*A2))

L7: =ЕСЛИ(A2<0;I2;"+∞")

L5: =ЕСЛИ(A2>0;"+∞";"+∞")

L4: =I1

J9: =ЕСЛИ((B2^2-4*A2*C2)<0;"Нет";(-B2+КОРЕНЬ(B2^2-4*A2*C2))/(2*A2))

J7: =ЕСЛИ(A2<0;"-∞";I2)

J5: =J5

J4: =ЕСЛИ(A2>0;"-∞";"-∞")

J11: =C2

Аналогичным образом производится решение квадратичных функций, содержащих неполные квадратные трехчлены. Код данной программы на языке Visual Basic прилагается к работе в приложении №1.

Заключение

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

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

Целью данной работы было создание приложения для исследования квадратичных функций средствами табличного редактора Microsoft Office Excel.

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

Я считаю, что цели работы достигнуты, а задачи решены. Результатом решения поставленных задач является приложение, разработанное в табличном редакторе Microsoft Office Excel.

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

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

А95 Основы программирования в VBA: методические указания по курсу "Информатика" для лабораторных и контрольных работ для студентов всех специальностей и направлений подготовки. / составители: Ф.Г. Ахмадиев, И.Г. Бекбулатов, Ф.Г. Габбасов.  Казань: Издательство Казанского государственного архитектурно-строительного университета, 2013.  36 с.

Приложение 1. Код программы на языке VisualBasic

Private Sub CommandButton1_Click()

Dim strForm As String

Dim strDate As String

Dim strSum As String

Dim strMag As String

Dim lngRow As Long

Columns("E:Z").EntireColumn.Hidden = False

strForm = TextBox1.Text

sStr = "x^2"

If InStr(1, strForm, sStr, vbTextCompare) > 0 Then

strForm = Replace(strForm, "x^2", "y")

sStr = "x"

If InStr(1, strForm, sStr, vbTextCompare) = 0 Then

strForm = Replace(strForm, "*", "")

strForm = Replace(strForm, "^2", "")

strForm = Replace(strForm, "+", "")

p = Split(strForm, "y")

Cells(2, 1).Resize(1, UBound(p) + 1) = p

If Cells(2, 1) = "-" Then Cells(2, 1) = -1

If Cells(2, 2) = "-" Then Cells(2, 2) = -1

If Cells(2, 1) = 0 Then Cells(2, 1) = 1

Cells(2, 1) = CDec(Cells(2, 1))

Cells(2, 3) = CDec(Cells(2, 2))

Cells(2, 2) = 0

Else

strForm = Replace(strForm, "y", "x^2")

strForm = Replace(strForm, "*", "")

strForm = Replace(strForm, "^2", "")

strForm = Replace(strForm, "+", "")

p = Split(strForm, "x")

Cells(2, 1).Resize(1, UBound(p) + 1) = p

If Cells(2, 1) = "-" Then Cells(2, 1) = -1

If Cells(2, 2) = "-" Then Cells(2, 2) = -1

Cells(2, 1) = CDec(Cells(2, 1))

Cells(2, 2) = CDec(Cells(2, 2))

Cells(2, 3) = CDec(Cells(2, 3))

If Cells(2, 1) = 0 Then Cells(2, 1) = 1

If Cells(2, 2) = 0 Then Cells(2, 2) = 1

End If

Else

Columns("E:Z").EntireColumn.Hidden = True

MsgBox "Функция не является квадратичной"

Cells(2, 1) = ""

Cells(2, 2) = ""

Cells(2, 3) = ""

End If

End Sub

Private Sub CommandButton2_Click()

Columns("E:Z").EntireColumn.Hidden = True

Cells(2, 1) = 0

Cells(2, 2) = 0

Cells(2, 3) = 0

TextBox1.Text = ""

End Sub

Просмотров работы: 177