Решение математических задач на языке программирования Python

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

Решение математических задач на языке программирования Python

Жиляков Ю.А. 1
1МОУ "СОШ № 63" г. Магнитогорска
Горбушина Т.О. 1
1МОУ "СОШ №63" г. Магнитогорска
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

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

Обучаться программированию не обязательно для того, чтобы в будущем стать программистом. Основная задача программирования – «подготовиться» к вычислительному мышлению, которое помогает уверенно справляться со сложными задачами 21 века, не имеющими однозначного решения.

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

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

Число пользователей Python во всем мире приближается к 1 миллиону. Эта оценка основана на различной статистике: загрузках и опросах разработчиков. Трудно дать более точную оценку, потому что Python - это программное обеспечение с открытым исходным кодом, т.е. для его использования не требуется лицензии. Более того, Python по умолчанию включен в дистрибутивы Linux, поставляется с компьютерами Macintosh и некоторыми другими программными и аппаратными продуктами, что затрудняет оценку количества пользователей этого языка программирования. В целом, количество пользователей Python намного больше, и вокруг него сплотилось очень активное сообщество разработчиков.

Таким образом, объектом исследования является язык программирования Python.

Предметом исследования является возможность решения математических задач на языке программирования Python.

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

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

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

Проанализировать преимущества и недостатки языка программирования Python;

Изучить алгоритм решения квадрантных уравнений;

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

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

1 Теоретические аспекты программирования на языке Python

1.1 История создания языка программирования Python

Автор Python - Гвидо Ван Россум, голландец. Он начал разрабатывать этот язык в конце 1980-х, работая в голландском институте CWI. Он взял за основу язык программирования ABC, в разработке которого когда-то участвовал.

Рис. 1. Гвидо ван Россум (фото)

В феврале 1990 года Гвидо разместил исходный текст в группе новостей alt.sources.

Спустя 9 лет, в 2000 году, была выпущена вторая часть Python. Было добавлено много важных вещей, включая сборщик мусора и поддержку Unicode.

В 2008 году, 3 декабря, вышел третий релиз, пока что последний. При этом срок жизни второго релиза был продлен до 2020 года, чтобы успеть перенести весь существующий код на Python 3.

Что касается названия, то сам создатель говорит, что оно заимствовано из названия комедийного шоу «Летающий цирк Монти Пайтона» (Monthy Python). По словам Гвидо Ван Россума, это шоу помогало ему отвлечься и расслабиться во время написания языка программирования. Но у многих название языка ассоциируется со змеями, тем более, что логотип представляет собой стилизованное изображение головы змеи.

Рис. 2. Заставка шоу «Летающий цирк Монти Пайтона»

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

Теперь решим, как его правильно произносить - ПАЙТОН или ПИТОН? Неважно, происходит ли название языка из комедийного шоу или от имени змеи, по-английски оно всегда произносится одинаково - ПАЙТОН. Это правильное произношение. Но русскоязычная аудитория в большинстве случаев говорит ПИТОН. Сменить устоявшиеся привычки сложно, но если вы вдруг окажетесь на зарубежной конференции, вас там просто не поймут - в английском нет слова ПИТОН, там все говорят ПАЙТОН.

1.2 Преимущества и недостатки языка программирования Python

Преимущества

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

2) Обширность применения. Python используется практически везде: для создания веб-сайтов, игр, разработки программного обеспечения, 3D-моделирования и даже для обработки фотографий. Для этого существуют различные языковые инструменты и программы. Многие крупные компании (Google, Instagram, Facebook) используют Python.

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

4) Поддержка. Python поддерживается разработчиками и сообществом программистов (обычных пользователей), поэтому, если вы столкнетесь с какой-либо проблемой, вы всегда сможете узнать, как ее решить напрямую, обратившись к разработчикам.

5) Обширные библиотеки. Python имеет стандартные библиотеки, в которых вы можете работать с электронными ресурсами, базами данных, интернет-протоколами и другими инструментами, необходимыми в определенных целях.

6) Подходит для большинства типов современных операционных систем. Скрипты, написанные на Python, подходят для iOS, Android, Windows и других типов ОС. Это позволяет использовать язык программирования в самых разных областях, что значительно расширяет его возможности.

7) Перспектива. Это один из основных факторов для изучения Python - язык будет востребован еще несколько лет благодаря своим достоинствам. Поэтому, если вы хотите изучать программирование, не нужно думать, что Python для этого вообще не подходит, так как он уже «устарел» - это не так.

Недостатки

1) Необычный синтаксис. Если вы изучаете Python как не первый язык программирования, то привыкнуть к нему будет сложно из-за отсутствия скобок и некоторых знаков. Но если язык изучать как базовый, то эта проблема решается.

2) Низкая скорость выполнения программы. Программы, написанные на Python, работают медленнее, чем аналогичные программы, написанные на других языках. Но эту проблему можно решить с помощью специальных виртуальных машин.

3) Неправильное копирование кода. Если скопировать программный код с другого ресурса, то он будет вставлен в текст без отступов и работать не будет. Вы должны потратить время на добавление пробелов.

4) Конвертация программы в exe. Программы, написанные на Python, имеют расширение py и должны быть преобразованы в exe для использования в Windows. После этого объем памяти, занимаемой программой, увеличивается в несколько раз. Проблему увеличения памяти можно решить, удалив ненужные библиотеки, но после этого действия программа может работать хуже.

5) Невозможность писать драйверы. Некоторые программисты отмечают, что Python не предназначен для написания драйверов программного обеспечения, потому что у него нет инструментов для этого.

6) Несовместимость разных языковых версий. Python 2.x и Python 3.x будут сосуществовать в настоящее время и в следующих нескольких выпусках, при этом вторая версия будет использоваться для совместимости. Однако третья версия несовместима со второй, и при написании кодов Python 2.x на Python 3.x будет ошибка.

2 Практические аспекты применения Python при решении математических задач

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

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

Прежде, чем говорить о программной коде, давайте вспомним, как решаются квадратные уравнения общего вида.

Квадратным уравнение называется уравнение вида , где a, b, c – некоторые числа (коэффициенты), a≠0.

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

Далее решение уравнения мoжно представить в виде схемы:

Рис. 3. Решение квадратного уравнения общего вида.

2.2 Первая программа на Python

Часто программа называется «Привет, мир!» используется для демонстрации языка программирования новичкам. «Привет, мир!» это простая программа, которая печатает «Привет, мир!»

Python - один из самых простых языков для изучения и создания «Привет, мир!» так же просто, введите print («Привет, мир!»). Поэтому напишем другую программу.

Сложение двух чисел

# Сложить два числа

число1 = 4

число2 = 6

сумма = число1 + число2

печать (сумма)

Как работает эта программа?

Строка 1: # Добавить два числа

Строка, начинающаяся с символа # в программировании на Python, является комментарием.

Комментарии используются для описания цели строки кода. Это поможет вам, а также другим программистам понять смысл кода. Они игнорируются компиляторами и интерпретаторами.

Строка 2: numb1 = 4

Здесь numb1 - переменная. Вы можете сохранить значение в переменной. В этом случае 4 сохраняется в переменной.

Строка 3: numb2 = 6

Точно так же 6 сохраняется в переменной numb2.

Строка 4: summ = numb1 + numb2

Переменная numb2 добавляется к numb1 с помощью оператора +. Результат сложения сохраняется в другой переменной summ.

Строка 5: печать (сумма)

С помощью функции print () выводятся результаты на экран. В нашем случае отображается 10.

2.3 Решение квадратного уравнения на языке программирования Python

Программный код выглядит следующим образом:

import math

print("Введите коэффициенты для уравнения")

print("ax^2 + bx + c = 0:")

a = float(input("a = "))

b = float(input("b = "))

c = float(input("c = "))

discr = b ** 2 - 4 * a * c

print("Дискриминант D = %.2f" % discr)

if discr > 0:

x1 = (-b + math.sqrt(discr)) / (2 * a)

x2 = (-b - math.sqrt(discr)) / (2 * a)

print("x1 = %.2f \nx2 = %.2f" % (x1, x2))

elif discr == 0:

x = -b / (2 * a)

print("x = %.2f" % x)

else:

print("Корней нет")

Для решения квадратного уравнения в Python 3 был использован приведенный выше код. Давайте посмотрим на некоторые моменты, которые использовались в этой простой программе:

print - эта функция выводит информацию на экран.

input - отображает информацию и предлагает пользователю ввести данные.

b ** 2 - это возведение в степень, в данном случае b возводится в квадрат.

str - эта функция преобразует данные в строку.

if-elif-else – операторы условия в Python. По значению дискриминанта определяем количество корней квадратного уравнения.

discriminant ** 0,5 - этим методом извлекаем квадратный корень. В Python есть несколько способов извлечения корней, например, с помощью функции sqrt из библиотеки math.

Как выглядит составленный код в программной среде см. на рис. 4.

Рис. 4. Код программы решения квадратного уравнения

Что же получим на выходе? Например, при запуске программы запрашиваются коэффициенты a, b, c. Введем соответственно 1, 4, 4. В результате программа выдаст следующий результат: Дискриминант D = 0.00; x = -2.00.

Другой пример. Введем коэффициенты: 2, 6, 7. В результате получим Дискриминант D = -20.00; Корней нет.

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

Заключение

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

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

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

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

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

Список использованной литературы

1. Бриггс, Джейсон Python для детей. Самоучитель по программированию / Джейсон Бриггс. - Москва: Огни, 2013. - 177 c.

2. Бэрри, Пол Изучаем программирование на Python / Пол Бэрри. - М.: Эксмо, 2016. - 332 c.

3. Васильев, Александр Николаевич Python на примерах. Практический курс по программированию. Руководство / Васильев Александр Николаевич. - М.: Наука и техника, 2017. - 752 c.

6. Гуриков, С.Р. Основы алгоритмизации и программирования на Python. Учебное пособие. Гриф МО РФ / С.Р. Гуриков. - М.: Инфра-М, Форум, 2018. - 707 c.

7. Златопольский, Д. М. Основы программирования на языке Python / Д.М. Златопольский. - М.: ДМК Пресс, 2017. - 277 c.

8. МакГрат, Майк Python. Программирование для начинающих / Майк МакГрат. - М.: Эксмо, 2013. - 727 c.

9. Эрик, Мэтиз Изучаем Python. Программирование игр, визуализация данных, веб-приложения / Мэтиз Эрик. - М.: Питер, 2017. - 551 c.

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