Программа задачи на движение

Содержание

Ветошкина Наталья Владимировна

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

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

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

Скачать:

Предварительный просмотр:

Муниципальное бюджетное общеобразовательное учреждение

«Кезская средняя общеобразовательная школа №1»

Задача на движение в одном направлении

«Программа расчёта задач на движение»

Выполнила: ученица 9б класса

Ветошкина Наталья Владимировна

ВВЕДЕНИЕ

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

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

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

Цели проекта: написать программу для решения кинематических задач.

  1. Познакомиться с особенностями языка С#
  2. Спроектировать структуру программы
  3. Придумать и реализовать алгоритм решения задач на движение
  4. Написать программу и испытать её
  5. Подготовить презентацию проекта
  6. Защитить проект

ИСТОРИЧЕСКАЯ СПРАВКА

История языка C#

С# (произносится си-шарп) — язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET . [1]

Сторонники C# называют его самым мультипарадигменным, универсальным, продвинутым и удобным в использовании языком программирования. [2]

C# относится к семье языков с C-подобным синтаксисом (логотип которых представлен на рисунке 1), из них его синтаксис наиболее близок к C++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML.

Задачи на движение | Математика TutorOnline

Переняв многое от своих предшественников — языков C++, Delphi, Modula и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++) или вывода типов (в отличие от Haskell).

Рис.1 – логотипы языков программирования семейства «си».

Особенности С#

Ниже представлены особенности языка си [3] :

  1. Возможность использования С# для написания динамических web-страниц ASP.NET.
  2. Поддержка свойств и событий в стиле VB;
  3. Полная поддержка классов и объектно-ориентированного программирования, включая наследование интерфейсов и реализаций, виртуальных функций и перегрузки операторов;
  4. Полный и хорошо определенный набор основных типов;
  5. Встроенная поддержка автоматической генерации XML-документации;
  6. Автоматическое освобождение динамически распределенной памяти;
  7. Возможность отметки классов и методов атрибутами, определяемыми пользователем;
  8. Полный доступ к библиотеке базовых классов .NET, а также легкий доступ к Windows API;
  9. Указатели и прямой доступ к памяти, если они необходимы. Однако язык разработан таким образом, что практически во всех случаях можно обойтись и без этого;
  10. Простое изменение ключей компиляции. Позволяет получать исполняемые файлы или библиотеки компонентов .NET, которые могут быть вызваны другим кодом так же, как элементы управления ActiveX (компоненты СОМ).
Читайте также:
Программы похожие на твинмоушн

ХОД РАБОТЫ

3.1 Структура программы

Итак, наиболее подходящим языком для написания программы будет C# в связи с удобством в плане взаимодействия с библиотеками и классами.

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

1) программа должна получать на вход все необходимые для расчёта данные

2) выводить все просчитанные данные

3) строить графики

4) иметь возможность изменения количества осей

5) входные данные будут вычисляться до тех пор, пока в ходе вычислений не перестанут появляться новые данные

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

-Главный класс
осуществляет запуск окна

Содержит алгоритмы всех функций окна

Содержит все формулы, в том числе и для необычного вычисления исходных данных

— Класс окна с графиком

Содержит метод построения и отрисовки графиков

3.2 Создание программы

Для написания программы был выбран язык C#, сама программа написана в Visual Studio 2019 с пакетом SDK C# для оконных приложений. Был создан проект .Net Frimework под названием “ KinematicCalc”.
В первую очередь следует создать интерфейс окна для наглядности функций и действия программы. Как говорилось ранее, функционал программы разбит на 4 класса:

  1. запускающий
  2. хранящий формулы
  3. осуществляющий ввод-выводы
  4. осуществляющий построение графиков.

Чтобы вводимые данные обрабатывались, необходимо связать кнопки окна с кодом. Для этого требуется класс окна. Из структуры программы следует, что окно должно иметь такие основные составляющие части интерфейса, как:
1) Подписанные поля для введения данных
2) Активирующие кнопки
3) Выводимый результат
4) кнопки выбора графиков и их активация

Рис.2 – структура программы.

Рис.3 – Демонстрация работы программы.

Следующим шагом будет вывод всевозможных формул, требующихся для расчёта. Все они будут в классе формул, где если не сработает одна из формул, то будет использоваться другая.
Так как главная формула S = S 0 + v 0 *t + 0,5*a*t 2 , то выразив остальные, получится:
S 0 = S – v 0 *t – 0,5*a*t 2
v 0 = (-S + S 0 + v 0 *t + 0,5*a*t 2 ):t
a = 2*(S – S 0 )/t 2

t = -v 0 +- ( √(v 0 *t — 2*a*(S 0 -S)):a или t = (v 0 +- √D):a

Выражая t из формулы S = S0 + v0*t + 0,5*a*t2, возникла такая проблема, как значение t ≠ 0. Также следует отметить, что, решая через дискриминант, он не должен быть меньше 0. Такой же набор формул необходимо получить из формулы v = v0 + v*t.
Связь между кнопками окна с кодом происходит в также классе окна. Обработчик каждого элемента окна располагается в данном классе.
Для изображения графика требуется отдельный класс. Построение выполняется через цикл, где программа проходит по всем точкам оси OX. После вычисляется Y для каждого X по заданным формулам с введёнными значениями с помощью функции Add(X;Y), где X – интервал каждые n метров. Также считаются и другие данные. Например, функция v(t): ось OX – t, делящаяся на N промежутков.

Затем, с помощью цикла выполняется t+ = dt, где dt – интервал между точками. dt можно найти, разделив всю длину на количество точек (100). v, в свою очередь, находится по формуле при помощи t. Так, у каждого t своя v. И, наконец, когда цикл передаёт библиотеке все значения v; t, она соединяет точки, в результате чего рисуется график v(t).
Также в программе предусматривается разбиение вектора по осям. Имея угол наклона к линии горизонта, можно разбить вектор по осям и наоборот получить значение длины вектора и угла, зная длину его проекций. Этого можно добиться методом прямоугольного треугольника:
sin — отношение противолежащего катета к гипотенузе.

Читайте также:
Программа какое железо стоит на компьютере

cos — прилежащего к гипотенузе,

sin(a) = y/B
cos(a) = x/B

где x и y проекции вектора B на оси. Из отношений можно выразить вектор B:

B = y/sin(a)
B = x/cos(a)

В программе используется формула через sin. Также стоит отметить, что синус берется в градусах

a = arcsin(y/B)
a= arccos(x/B)

Таким образом, можно получить угол.

Перевод из радиан в градусы можно осуществить умножением радиан на 180/π.

Теперь необходимо найти сами проекции, выразив x и y:
B*sin(a) = y
B*cos(a) = x

Функционал был добавлен в окно программы (Рис.3 )

Рис.5 — Окно программы

ЗАКЛЮЧЕНИЕ

В ходе работы была изучена история языков программирования семейства “СИ”. Был выбран язык С# так как он оптимален для создания на нем оконных Windows приложений.

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

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

БИБЛИОГРАФИЧЕСКИЙ СПСИОК

Источник: nsportal.ru

Презентация, доклад на тему Обучающая программа по математике на тему Решение задач на движение

Слайд 1Автор :Гилёва Анна
Студентка 26 г.
Обучающая программа по математике 4 класс Решение задач

на движение

Автор :Гилёва АннаСтудентка 26 г. Обучающая программа по математике 4 класс Решение задач на движениеПоехали!

Слайд 2Задача №1
С какой скоростью летел самолет, если за 3 часа он

пролетел расстояние в 600 километров?

Задача №1С какой скоростью летел самолет, если за 3 часа он пролетел расстояние в 600 километров?

Слайд 3Подсказка!
S — расстояние (пройденный путь) t — время движения V —

скорость
Формула скорости:
V = S/Т
С какой скоростью летел самолет, если за 3 часа он пролетел расстояние в 600 километров?

Подсказка! S - расстояние (пройденный путь) t - время движения V - скорость Формула скорости:

Слайд 4
Задача решена верно!
Задача №2

Задача решена верно!Задача №2

Слайд 5

Допущена ошибка!
Подсказка!

Допущена ошибка! Подсказка!

Слайд 6
Решение

РешениеДопущена ошибка!

Слайд 7Решение
1) 600 : 3 = 200
Ответ: 200 километров.

Решение1) 600 : 3 = 200Ответ: 200 километров.Задача №2

Слайд 8Задача №1
С какой скоростью пролетел коршун, если за 5 секунд он

пролетел расстояние в 150 метров?

Задача №1С какой скоростью пролетел коршун, если за 5 секунд он пролетел расстояние в 150 метров? 3050155подсказкаЗадача

Слайд 9Подсказка!
S — расстояние (пройденный путь) t — время движения V —

скорость формула скорости:

V = S/Т
С какой скоростью пролетел коршун, если за 5 секунд он пролетел расстояние в 150 метров?

Подсказка! S - расстояние (пройденный путь) t - время движения V - скорость формула

Слайд 10
Подсказка

ПодсказкаДопущена ошибка!

Слайд 11
Задача решена верно!
Задача №3

Задача решена верно!Задача №3

Слайд 12
Решение

РешениеДопущена ошибка!

Слайд 13Решение
1) 150_5=30
Ответ: 30 метров

Решение1) 150_5=30Ответ: 30 метровЗадача №3

Слайд 14Задача №3
Из поселка и города навстречу друг другу, одновременно выехали два

грузовика. Один до встречи проехал 100 км со скоростью 25 км/час. Сколько километров до встречи проехал второй грузовик, если его скорость 50 км/час.

Задача №3Из поселка и города навстречу друг другу, одновременно выехали два грузовика. Один до встречи проехал 100

Слайд 15Подсказка!
S — расстояние (пройденный путь) Т — время движения V — скорость формула

пути:
S = V × Т
Формула времени:

Из поселка и города навстречу друг другу, одновременно выехали два грузовика. Один до встречи проехал 100 км со скоростью 25 км/час. Сколько километров до встречи проехал второй грузовик, если его скорость 50 км/час.

Подсказка! S - расстояние (пройденный путь) Т - время движения V - скорость формула пути: S

Слайд 16
Подсказка

ПодсказкаДопущена ошибка!

Слайд 17
Решение

РешениеДопущена ошибка!

Слайд 18Решение
1) 100 : 25 = 4
(часа ехал один грузовик)
2) 50

* 4 = 200
или
50 * (100 : 25) = 200
Ответ: второй грузовик проехал
до встречи 200 км.

Источник: shareslide.ru

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

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

В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет.

Получите невероятные возможности

1. Откройте доступ ко всем видеоурокам комплекта.

2. Раздавайте видеоуроки в личные кабинеты ученикам.

3. Смотрите статистику просмотра видеоуроков учениками.
Получить доступ

Конспект урока «Решение задач на компьютере. Задача о пути торможения автомобиля»

Этапы решения задачи с помощью компьютера:

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

2. Формализация задачи.

3. Создание алгоритма.

5. Тестирование и отладка.

Сегодня мы рассмотрим эти этапы и связи между ними при решении практической задачи. Автомобиль ехал с некоторой скоростью uнач х, после чего водитель нажал на педаль тормоза и автомобиль начал замедлятся с ускорением a м/с 2 , пока не остановился полностью. Найти длину тормозного пути автомобиля s.

На этапе постановки задачи мы должны выделить начальные и результирующие данные. Исходными данными здесь будут начальная скорость uнач х м/с и ускорение автомобиля – a м/с 2 , а результирующими данными будет длина тормозного пути автомобиля s.

Читайте также:
Этапы разработки анимационной программы в туризме

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

Адаптируем её для данной задачи. У нас конечная скорость всегда равна нулю, так как по условию автомобиль останавливается полностью. Подставим это значение в данную формулу и после преобразований получим адаптированную формулу для нашей задачи.

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

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

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

Если данное условие выполняется – нам нужно рассчитать по формуле длину тормозного пути, а затем вывести её. Если же введены данные, при которых наша задача не имеет смысла, выведем поясняющее сообщение «Неверный ввод данных». В конце блок-схемы всегда ставится блок «Конец».

Блок-схема алгоритма решения задачи

На этапе программирования мы должны написать программу по блок-схеме. Программу будем писать на языке Pascal. Напомним, что программа на языке «Паскаль» начинается со служебного слова program, после которого следует название программы. Имя программы должно соответствовать содержанию и может содержать от 1 до 255 букв латинского алфавита, цифр и знаков подчёркивания.

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

Название переменной должно начинаться с буквы латинского алфавита или знака подчёркивания, после чего могут следовать несколько букв латинского алфавита, цифр или знаков подчёркивания, записанных без пробелов, назовём наши переменные соответственно v, a и s, так как их значения могут быть дробными, они будут принадлежать к вещественному типу real. Переменная этого типа в Pascal ABC занимает 8 байт оперативной памяти. Тело программы всегда начинается со служебного слова begin, после которого точка с запятой не ставится, а заканчивается служебным словом end, после которого ставится точка. Между ними с отступом в один пробел записывается последовательность команд, из которой состоит программа.

В начале выведем на экран пояснительное сообщение с переходом на следующую строку при помощи команды writeln, «Программа расчёта тормозного пути автомобиля…», далее, без перехода на следующую строку выведем другое пояснительное сообщение при помощи команды write, «Начальная скорость автомобиля:»

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

Теперь нам нужно проверить корректность введённых данных. Для этого запишем условный оператор if, после которого будет следовать составное условие v > 0 и a < 0. После условия точка с запятой также не ставится.

Далее запишем последовательность команд для выполнения, если наше условие выполняется. Для этого записывается служебное слово then, и так как в этом случае нужно выполнить больше одной команды – они будут записываться между служебными словами begin и end. В данном случае после слова end не ставится ничего, так как далее будет записан блок действий, если условие не выполняется. Теперь мы должны записать между служебными словами begin и end команду присваивания переменной s значения –v*v/(2*a), после чего вывести без перехода на следующую сроку пояснительное сообщение «Длина тормозного пути автомобиля:» и значение s, после чего вывести с переходом на следующую строку букву «м», так как длина тормозного пути измеряется в метрах.

В начале блока команд при невыполнении условия записывается служебное слово else. В этом случае выведем с переходом на следующую строку сообщение о неверном вводе данных.

Исходный код программы

У нас есть написанная программа. Значит можно переходить к этапу тестирования и отладки.

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

Источник: videouroki.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru