Как вычислить объём фигур при помощи компьютерной программы

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

Как вычислить объём фигур при помощи компьютерной программы

Чуркин В.Е. 1
1МАОУ "Лицей №97 г. Челябинска"
Кошман Е.А. 1
1МАОУ Лицей №97 г. Челябинска
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

В прошлом году мне удалось написать программу для нахождения площади круга и прямоугольника на языке программирования Pascal. Но я решил не останавливаться на достигнутом и открыл для себя новый язык программирования – Python. На этом языке я решил написать программу, которая будет находить объёмы шара и параллелепипеда.

Цель работы: создать компьютерную программу для нахождения объёма шара и параллелепипеда.

Задачи:

Изучить на начальном уровне язык программирования Python.

Создать компьютерную программу для вычисления объёма шара и параллелепипеда на языке Python.

Сравнить языки Pascal и Python.

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

Глава 1 «Язык Python – шаг в будущее»

История создания языка Python

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

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

В 1991 году вышла первая версия языка Python 0.9.0. Она была построена на основах языка программирования ABC и переняла множество функций и возможностей этого языка.

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

В 1999 году появилась версия языка Python 1.5.2. В это же время компания, в которой работал Гвидо, стала урезать время и средства на дальнейшее развитие языка Python, поэтому Гвидо начал искать нового спонсора, чтобы иметь возможность продолжать работу над языком. В этом ему помогла компания BeOpen, поэтому в 2000 году вышла версия языка Python 2.0. В настоящее время она считается устаревшей, но всё равно используется.

Гвидо и его команда разработчиков из пяти человек переходили в новые компании ещё дважды и в итоге остановились в компании DigitalCreations, которой Python был нужен для собственных нужд. Компания DigitalCreations дала возможность разработчикам и Гвидо заниматься только развитием языка Python, поэтому уже в декабре 2008 года свет увидела новая версия Python 3.0, которая является актуальной на данный момент.

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

В настоящее время версии Python 2.0 и Python 3.0 существуют параллельно, хотя новые программы и программное обеспечение пишутся на версии Python 3.0.

12 июля 2018 года Гвидо Ван Россум официально отошёл от дел, связанных с языком Python и присоединился в качестве инженера к компании Microsoft. Язык Python продолжает развиваться и поддерживаться за счёт других программистов и руководящего совета.

1.2. Сравнение синтаксисов языков программирования Pascal и Python

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

Вывод: синтаксис языка Python понятнее, чем синтаксис языка Pascal. Python не требует явного описаний некоторых конструкций. Например, он не требует явного указания типа данных переменных, а также отдельных слов для обозначения начала и конца исполнительной части программы. Всё это компилятор Python делает самостоятельно.

Практическое использование языка Python

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

- Web-разработка – создание веб-сайтов и веб-приложений, с которыми работает пользователь в интернете. На языке Python пишется вся внутренняя часть сайта – те вещи, которые не видны пользователю, но за счёт которых сайты и приложения работают. Это называется backend-разработка.

- Разработка визуального интерфейса. Визуальный интерфейс – это то, что видит пользователь, когда открывает какое-либо приложение на компьютере или телефоне. Если интерфейс хороший, то сразу становится понятно, какие кнопки за что отвечают и куда нужно нажать, чтобы получить желаемый результат. На языке Python визуальный интерфейс разрабатывается эффективно и удобно, поэтому внешний вид приложения можно легко подстроить под приложение для windows, MacOs или любую другую операционную систему.

- Базы данных. Они используются в наше время практически повсеместно. Это огромные массивы данных, которые хранят разную упорядоченную информацию. Например, ФИО, адреса и пароли сотрудников огромных компаний или наименования, номера и функции станков на заводе. Количество строк в большой базе данных может достигать миллионов. Для того, чтобы вытаскивать конкретную информацию из базы данных или структурировать её необходимым образом, Python подходит как нельзя лучше.

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

Глава 2 «Написание программы для нахождения объёма шара и параллелепипеда»

До начала написания программы мне нужно составить блок-схему, которая наглядно будет показывать, как именно работает программа. Моя новая программа, как и прошлая, будет давать пользователю выбор, какой объём нужно посчитать – шара или параллелепипеда. Для этого сначала нужно дать пользователю ввести с клавиатуры букву «k», если он хочет посчитать объём шара, или букву «p», если объём параллелепипеда.

Составление блок-схемы всегда начинается с блока «Начало». Следом за ним идёт блок, в котором программа должна прочитать букву с клавиатуры и определить, какие ей данные нужны, чтобы посчитать объём. Поэтому следующий блок – это выбор внутри программы. Если пользователь введёт букву «k», то мы переходим к правому блоку, где программа должна напечатать текст «Введите радиус:» и прочитать значение радиуса, введённое с клавиатуры. После введения радиуса программа должна посчитать объём и вывести результат на экран. Если пользователь введёт букву «p» или любую другую букву, то мы переходим к левому блоку программы. Если введённая буква – это буква «p», то программа должна напечатать «Введите ширину, длину и высоту:» и прочитать значения, введённые пользователем с клавиатуры, после чего посчитать объём параллелепипеда и вывести его на экран. Если пользователь введёт любую другую букву или символ, то программа должна вывести на экран сообщение «Ошибка. Неверно введена буква». После вывода объёма или ошибки программа считается завершённой, поэтому последний блок в блок-схеме – «Конец» (Приложение Г рис. 1).

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

Первый блок моей программы – это вывод на экран подсказки «Введите букву k (шар) или p (параллелепипед)», а затем считывание буквы с клавиатуры. Пользователь может ввести абсолютно любую букву или символ, но программа будет считать объём только в том случае, если введёнными буквами будут «k» или «p»

На этом первый блок программы заканчивается, и мы переходим к написанию алгоритмической части программы (Приложение Г. Рис. 2).

Второй блок – это алгоритм, который необходимо выполнить. Первым действием программа будет проверять, совпадает ли введённая буква с буквой «k». Если совпадает, то программа должна запросить у пользователя радиус и прочитать значение радиуса с клавиатуры. Так как Python считывает с клавиатуры данные в формате строки, то для того, чтобы получить число, необходимо использовать конструкцию float(input()). Таким образом, число, введённое с клавиатуры, будет распознаваться компилятором не как строка, а как число (дробное или целое). После этого мы можем посчитать объём шара по формуле:

Соответственно, для нахождения объёма мне нужна переменная r, а число pi является константой, равной 3.14, её узнавать у пользователя не нужно.
Так как число может быть дробным, то после подсчёта объёма его нужно округлить до двух знаков после запятой, после чего вывести на экран ответ. Вывод ответа должен происходить в формате строки, а переменная v (объём) сейчас хранит число. Чтобы привести переменную v к формату строки, необходимо использовать функцию str(v) (Приложение Г. Рис. 3).

В том случае, если введённая пользователем буква не является буквой «k», программа будет проверять, является ли введённый символ буквой «p». Если является, то программа переходит ко второму блоку – нахождение объёма параллелепипеда. Для того, чтобы найти объём параллелепипеда, необходимо знать высоту, ширину и длину фигуры (это будут переменные a, b, c). Поэтому первым действием второго блока является вывод на экран сообщения «Введите ширину, длину и высоту», а затем считывание этих чисел с клавиатуры. Так же, как и радиус, ширина, длина и высота могут быть дробными или целыми числами, поэтому для их ввода тоже используется функция float(input()). После того, как нам стали известны эти параметры, мы можем посчитать объём по формуле:

После подсчёта значения объёма, его необходимо округлить, а затем вывести ответ. При выводе ответа необходимо так же воспользоваться функцией str(v), чтобы переменная v являлась не числом, а строкой (Приложение Г. Рис. 4).

Третий блок моей программы – это тот вариант, когда пользователь ввёл любой символ, не являющийся буквой «k» или буквой «p». В этом случае программа должна вывести на экран сообщение «Ошибка. Неверно введена буква», чтобы оповестить пользователя и исключить ошибки, которые могут возникнуть внутри программы. Так как вся исполнительная часть программы написана с использованием конструкции if, elif, else, то последний блок как раз будет начинаться со слова else, так как if и elif заняты под проверки букв «k» и «p». На этом написание программы закончено (Приложение Г. Рис. 5).

Теперь, чтобы проверить правильность работы программы, мне необходимо провести несколько тестов (Приложение Г. Рис.6). Сначала проверим объём шара. Для этого сравним результат работы программы с результатом, полученным с помощью калькулятора (Приложение Г. Рис. 7-8). Результаты совпадают! Моя программа получила правильный ответ и округлила его.

Далее сделаем то же самое для параллелепипеда. И опять же, результаты совпадают (Приложение Г. Рис.9-11).

Последняя проверка – это проверка третьего блока программы, когда введённые буквы не являются буквами «k» или «p». Введём, допустим, букву q. Видно, что программа вывела на экран сообщение об ошибке, как и должна была. Попробуем ввести цифру 2. В этом случае программа тоже выводит на экран ошибку. Значит, какой бы символ мы не ввели, если это не «k» и не «p», программа выведет сообщение об ошибке (Приложение Г. Рис. 12)

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

Заключение

Изучив литературу по выбранной теме, написав программу и обобщив полученные данные, были сделаны следующие выводы:

Язык Python один из самых простых и удобных языков программирования и имеет огромную сферу применения.

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

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

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

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

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

Информатика и компьютерные технологии: Основные термины: Толковый словарь. /А.Я. Фридланд, Л.С. Ханамирова. Москва.: ООО Издательство «Астрель», 2003г.

Попов В.Б., Turbo Pascal для школьников: Учеб. Пособие. – 3-е доп. изд. – М.: Финансы и статистика, 2003 – 528 с.

Тюгашев А.А. Основы программирования. /Учебное пособие. Часть 1. /Университет ИТМО г. Санкт-Петербург, 2016г.

https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%81%D1%83%D0%BC,_%D0%93%D0%B2%D0%B8%D0%B4%D0%BE_%D0%B2%D0%B0%D0%BD История создателя языка Python

https://skillbox.ru/media/code/kratkaya-istoriya-python/ История языка Python

https://ru.hexlet.io/courses/python-basics/lessons/history/theory_unit История языка Python

http://moul49.narod.ru/informatika/PascalABC.pdf Методическое пособие по языку Pascal (пдф-файл)

https://www.online-python.com/ Онлайн среда разработки для Python

https://ru.wikipedia.org/wiki/Блок-схема Описание блок-схем и примеры их составления

https://brunoyam.com/blog/programmirovanie/pythons-application-area Применение языка Python

https://pythonworld.ru/samouchitel-python Самоучитель для начинающих по языку Python

Приложение А

Словарь

Алгоритм – последовательность действий для решения какой-либо задачи.

Блок-схема – схема, наглядно описывающая работу программы.

Машинный код– язык, понятный машине и состоящий из нулей и единиц.

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

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

Синтаксис языка программирования – это набор правил, по которым пишется программа.

Переменная – буква или слово английского языка, которая может хранить какое-либо значение.

Тип данных – тип множества чисел, имеющих общую характеристику.

Оператор – элемент синтаксиса языка, задающий описание действия, которое необходимо выполнить.

Оператор присваивания (=) – оператор, позволяющий записать в переменную какое-либо значение.

 

Приложение Б

Рис.1 Гвидо Ван Россум и его команда разработчиков

Приложение В

Сравнение синтаксисов языков программирования Pascal и Python

Pascal

Python

Исполняемая часть программы начинается со слова begin и заканчивается словом end.

Для языка Python не существует чёткого понятия исполнительной части программы, поэтому конструкция begin-end не используется.

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

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

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

Для вывода текста на экран используется функция print().При этом, как и в Pascal, текст должен быть заключён в одинарные или двойные кавычки, а переменная – нет.

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

Для ввода числа или буквы с клавиатуры используется функция input(). При этом, язык Python всегда воспринимает введённые данные как строчку, даже если пользователь ввёл число. Поэтому, чтобы получить целое или дробное число с клавиатуры, необходимо использовать функцию float(input()) илиint(input())

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

Язык Python не требует постановки точки с запятой в конце строчки. Для него символом разделения строк является символ перевода строки (Enter).

После последнего end в программе должна стоять точка.

Как и с конструкцией begin-end, Python этого не требует.

В Pascal оператором присваивания является двоеточие с запятой (:=)

В языке Python оператором присваивания является знак равно (=).

Чтобы округлить результат, полученный программой, необходимо вывести результат в виде writeln(s:0:n), где
s – переменная, хранящая результат работы программы,
0 – показывает, что до запятой может быть любое число,
n – указывает программе, что ответ должен быть округлён до двух знаков после запятой.

В языке Python для округления результата используется функция round(x, n), где x – число, которое нужно округлить, а n – до скольких знаков после запятой.

Чтобы программа имела несколько вариантов исполнения, можно использовать блок caseof. Этот блок должен заканчиваться словом end, так как это блок внутри исполнительной программы. В этом блоке должно быть не менее двух исполнительных подблоков, которые будут считать разные формулы. Блок caseofиспользует некоторую переменную, заданную программистом и, в зависимости от того, что это за переменная, блок исполняет определённый подблок. Каждый подблок должен начинаться с названия, заключённого в одинарные кавычки, и включать в себя begin и end.

В языке Python для нескольких вариантов исполнения программы можно использовать конструкцию if, elif, else. Она записывается следующим образом:

if условие 1:

действие 1

elif условие 2:

действие 2

else:

действие 3

Каждое действие – это подблок программы.

Вывод: синтаксис языка Python понятнее, чем синтаксис языка Pascal. Python не требует явного описаний некоторых конструкций. Например, он не требует явного указания типа данных переменных, а также отдельных слов для обозначения начала и конца исполнительной части программы. Всё это компилятор Python делает самостоятельно.

Приложение Г

Рис.1. Блок-схема программы

Рис.2 Начало работы программы. Запрос буквы

 

Рис.3 Программа считает объём шара, если введённая буква – это «k»

Рис.4 Программа считает объём параллелепипеда, если введённая буква – это «p»

Рис.5 Текст законченной программы

Рис. 6. Начинаю проверку работы программы

Рис. 7. Считаю объём шара с помощью калькулятора

Рис.8 Проверка результата работы программы для шара

Рис.9. Считаю объём параллелепипеда вручную

Рис.10. Результаты подсчётов для параллелепипеда

Рис. 11 Результат работы программы для параллелепипеда

Рис. 12 Результат работы программы при ошибке

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