Использование языка программирования для решения физических задач

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

Использование языка программирования для решения физических задач

Янгляев А.Н. 1
1МОУ "Кривозерьевская СОШ"
Карабанова Р.К. 1
1МОУ "Кривозерьевская СОШ"
Автор работы награжден дипломом победителя I степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

1.ВВЕДЕНИЕ

 

Актуальность проекта

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

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

Первостепенным из данных информационных средств на мой взгляд является использование компьютерных моделей.

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

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

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

Тема проекта: «Использование языка программирования для решения физических задач»

Объект исследования: Процесс обучения физике в 7-11 классах МОУ «Кривозерьевская СОШ»

Предмет исследования: Обучающая среда школьного курса физики.

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

Цели исследования

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

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

Задачи исследования

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

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

Апробация программ на уроках физики.

Методы исследования

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

Поиск и отбор информации:

Я подобрал литературу, содержащую сведения, необходимые для выполнения работы и нашел информацию по интересующему меня вопросу в Интернет-ресурсах.

Моделирование:
Были созданы сценарии программ и план их реализации.

Сравнение и анализ:

На заключительном этапе я сравнил работу ученика «вручную» с работой ученика с помощью программ. На математические расчёты в задачах на нахождение средней скорости с помощью калькулятора тратится в среднем в 3 раза больше времени, чем при использовании соответствующей программы.

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

2. Теоретическая часть

2.1. Что такое программирование

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

Исходя из условия задачи, пользователь решает для себя вопрос о том, каким программным средством он воспользуется. Если в составе доступного прикладного программного обеспечения имеется программа, подходящая для решения данной задачи, то пользователь выбирает ее в качестве инструмента (СУБД, табличный процессор, математический пакет и др.). В том случае, когда готовым прикладным ПО воспользоваться нельзя, приходится прибегать к программированию на универсальных языках, т. е. выступать в роли программиста.

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

Программирование — процесс создания компьютерных программ.

По выражению одного из основателя языков программирования Никлауса Вирта «Программы = алгоритмы + структуры данных».

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

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

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

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

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

Кроме того, умение программировать очень пригодится в жизни. Оно развивает логику и интеллект, которые важны в самых разных областях — от науки и инженерного дела до медицины и юриспруденции. Количество вакансий, где нужно умение программировать не хватает уже сейчас, что подтверждает исследование на рынке труда. Наиболее востребованными остаются профессионалы в области информационных технологий. Потребность в таких кадрах превышает все мыслимые пределы. Компании нуждаются в системных администраторах, программистах и веб-программистах. А учитывая постоянное развитие этой сферы, спрос на IT-специалистов будет расти с каждым годом.

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

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

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

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

2.2.Какие есть языки программирования

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

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

Обучение компьютерной грамотности является обязательным для любого человека. Элементарные знания сейчас настолько же обязательны, как умение читать и писать. Существуют определенные задачи, которые необходимо автоматизировать. За это отвечают языки web-программирования. Программы, которые написаны на этом языке, называются скриптами. Для того чтобы создавать сайты, необязательно знать язык PHP. Достаточно будет хорошо понимать HTML. И вы будете делать нормально функционирующие сайты.

Изучение языков программирования, таких как Pascal, Python, Basic, Delphi, C++ является неотъемлемой частью обучения на компьютерных курсах. С их помощью можно самостоятельно создавать программы, решать необычные задачи.

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

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

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

2.3. Как найти среднюю скорость

Определение средней скорости

Средней скоростью движения   тела называется отношение пути  , пройденного телом, ко времени  , в течение которого двигалось тело:

  

Научимся ее находить на примере следующей задачи:

Тело двигалось 3 мин. со скоростью 5 м/с, после чего 7 мин. двигалось со скоростью 3 м/с. Найти среднюю скорость движения тела.

Переведем все величины в Международную систему единиц СИ. В этой системе единицей измерения времени является секунда. Следовательно, тело двигалось на первом участке пути в течение   с, а на втором участке пути в течение   с.

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

Общее время движения составляет   с. Следовательно, средняя скорость движения тела составляет:
 м/с.

Обратите внимание, что в данном случае это значение не совпало со средним арифметическим скоростей   и  , которое равно:
 м/с.

Частные случаи нахождения средней скорости

1. Два одинаковых участка пути. Пусть первую половину пути тело двигалось со скоростью  , а вторую половину пути — со скоростью  . Требуется найти среднюю скорость движения тела.

Пусть   — общая длина пройденного пути. Тогда на первом участке пути тело двигалось в течение интервала времени  . Аналогично, на втором участке пути тело двигалось в течение интервала времени  .

Тогда средняя скорость движения равна:

  

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

Пусть   — общее время пути. Тогда путь, пройденный телом в течение первой половины времени движения, равен:  . Аналогично, путь, пройденный телом в течение второй половины времени движения, равен:  .

Тогда средняя скорость движения равна:

  

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

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

Тело двигалось   с, и средняя скорость движения   составила 4 м/с. Известно, что за последние   с движения средняя скорость этого же тела   составила 10 м/с. Определите среднюю скорость тела   за первые   с движения.

Пройденный телом путь составляет:   м. Можно найти также путь, который прошло тело за последние   с своего движения:   м. Тогда за первые   с своего движения тело преодолело путь в   м. Следовательно, средняя скорость на этом участке пути составила:
 м/с.

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

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

Кроме того, с помощью созданной мною программы можно также определить:

  1. Среднюю скорость движения;

  2. Любые значения путей на различных участках;

  3. Любые значения времен на различных участках.

3. Практическая часть

3.1. Технологическая цепочка решения задач на компьютере.

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

Работа по решению прикладной задачи на компьютере проходит через следующие этапы:

• постановка задачи;

• математическая формализация;

• построение алгоритма;

• составление программы на языке программирования Python;

• отладка и тестирование программы;

• проведение расчетов и анализ полученных результатов.

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

3.2. Постановка задачи.

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

3.3. Моделирование.

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

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

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

3.4. Построение алгоритма.

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

3.5. Программирование.

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

Я в своей работе выбрал язык программирования Python. За среду разработки я взял приложение Sublime text 3.

Написанная мною программа работает по следующему принципу:

1.Запуск программы с помощью интерпретатора Python/.exe файла.

2.Во всплывшем окне программа запрашивает у пользователя количество скоростей.

3.Программа создает новое окно и генерирует поля для ввода величин.

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

5.В случаи некорректного ввода программа выдает ошибку и цикл запускается по новой с пункта 4.

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

Ссылка на программу:

https://drive.google.com/drive/folders/1N_2Ql87Swd8nG8MdOwsu2Q3g35ikDKbV?usp=sharing

3.6. Отладка и тестирование программы.

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

Я получаю сообщение об ошибке, исправляю ее и снова запускаю программу.

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

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

3.7. Анализ результатов. Уточнение модели.

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

4. Выводы

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

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

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

  1. А.П. Рымкевич. Сборник задач по физике:10-11 класс. «Просвещение» 2000г.

  2. В.А. Касьянов. Физика 10-11. «Дрофа» 2002г.

  3. Вик Курилович "Информатика в задачах, примерах, алгоритмах. Visual Basic " «Солон-Р» 2010г.

  4. Задача № 3. Контрольная работа № 3 по физике для учащихся 11 классов 2007-2018 уч.г. ЗШЕН при НовГУ.

  5. http://www.rusedu.info/Article635.html

6.Приложение

6.1.Решение задачи 1.

Двигаясь по шоссе, велосипедист проехал 20 км за 40 мин, затем проселочную дорогу длиной 600 м он преодолел за 2 мин, а оставшиеся 39 км 400 м по шоссе он проехал за 78 мин. Чему равна средняя скорость на всем пути?

 

Средняя скорость пути υcp=st υcp=st , где s = s1 + s2 + s3; t = t1 + t2 + t3; s1 = 20 км = 20000 м; t1 = 40 мин = 2400 с; s2 = 600 м; t1 = 2 мин = 120 с; s3 = 39 км 400 м = 39400 м; t1 = 78 мин = 4680 с.

Тогда
υcp=s1+s2+s3t1+t2+t3 υcp=s1+s2+s3t1+t2+t3 ;

υср = (20000 м + 600 м + 39400 м)/(2400 с + 120 с + 4680 с) ≈ 8,3 м/с.

6.2.Решение задачи 2.

Автомобиль проехал 20 м за 5 с, затем 100 м за 20 с, после чего проехал 50 м за 12 с и 25 м за 2 с. Найти среднюю скорость автомобиля.

vср = (s1 + s2 + S3 + S4)/(t1 + t2 + t3 + t4)
Тогда vср = (20 + 100 + 50 + 25)/(5 + 20 + 12 + 2) = 5 м/с

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