СПО в российских школах

Команда ALT Linux рассказывает о внедрении свободного программного обеспечения в школах России
Сентябрь 12, 2012

Gambas. Еще один подход к артиллерийской задаче.

Методические материалы, Опыт работы с ПСПО
Автор: Владимир Черный

Публикуемая ниже разработка урока подготовлена учителем информатики МБОУ «Гимназия №85» г. Барнаула (Алтайский край) Чупиной Татьяной Ивановной, известной уже читателям блога по уроку «Метод Монте-Карло на уроке информатики». Далее идет текст автора.

Проект «Артиллерийская задача. Движение тела, брошенного под углом к горизонту» автора — Олега Чебан из из г. Киселевск Кемеровской области, безусловно интересный и позволяет избежать затруднений в графическом представлении описываемого процесса. Но не решает задачу сформулированную в учебнике Угриновича Н. Д. — 11 класс профильный уровень1. Нет выводов о попадании, невозможно оценить результат при тестовых параметрах задаваемых автором учебника. Предлагаю своё решение. Безусловно сославшись на вышеуказанного автора, как на первоисточник.

Мне как и многим учителям интереснее и полезнее видеть «листинг» программы, методика преподавания у каждого своя и во многом зависит от подготовки учителя и его учеников. В связи с этим не вижу смысла оформлять конспект урока, предлагаю план ключевых моментов урока.

1 этап (это один из первых уроков поэтому целесообразно повторить материал прошлого года относящийся к теме).

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

2 этап — постановка задачи, этапы моделирования, вывод формул. Это достаточно подробно описано в учебнике.

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

Создадим документ по образцу:

Данные в столбце В заполните, как в учебнике. В ячейку Е1 введите формулу 1.2 со страницы 16.

Сравните значение ячейки Е1 с результатом в учебнике — 0,6959749.
Для того чтобы найти причину несоответствия, я предлагаю ученикам следующее задание:

  • сравните Pi/2 и 900 (равны)
  • найдите sin(Pi/2) и sin(900) (равны единице)
  • найдите значение в среде электронных таблиц sin(900)

Выясняем, что радианная и градусная мера в среде электронных таблиц отличаются, и правильные расчеты производятся с радианной мерой угла. А в задаче мы используем градусную. Ищем функцию преобразующую градусы в радианы: =SIN(RADIANS(90))

Вносим изменения в формулу ячейки Е1:
=B3*TAN(RADIANS(B2))-(9,8*B3^2)/(2*B1^2*COS(RADIANS(B2))^2)

Задание:
Составьте фрагмент блок-схемы условий.
Самостоятельно введите формулу в зелёную ячейку, таким образом, что бы в зависимости от L, выводилось сообщение «попал», «недолёт», «перелёт». Условия попадания были рассмотрены раньше на странице 16.

Блок-схема.
Формула: =IF(E1<0;"недолёт";IF(E1>B4;»перелёт»;»попал»))

4 этап — компьютерная модель в среде Gambas.
Исходя из того что это один из первых уроков и будучи уверенной, что учащиеся не осилят графическую составляющую этой задачи (построение траектории движения в зависимости от параметров), я предложила воспользоваться проектом «Артиллерийская задача. Движение тела, брошенного под углом к горизонту» автора — Олега Чебан из из г. Киселевск Кемеровской области.
«Листинг» программы в электронном виде был доступен ученикам на сайте, поэтому реализация проекта не заняла много времени. Обсудив текст программы, повторив основные моменты учащиеся приступили к созданию собственного проекта со страницы 21.
Интерфейс программы:

Примечания по программе:

  • В программе заменили «пушку» — «точкой», так как при малых значениях S построения происходили позади «пушки». Изображение минимизировали.
  • Организовали построение преграды-стены, что бы наглядно видеть результат.
  • Реализовано построение различных траекторий — разными цветами с помощью генератора случайных чисел:
    Draw.FillColor = Color.RGB(Rnd(Date)*255, Rnd(Date)*255, Rnd(Date)*255).
  • При большом количестве испытаний траектории плохо просматриваются, поэтому создана кнопка «Очистить».

Программа:
' Gambas class file
PUBLIC CONST g AS Float = 9.8
PUBLIC v0 AS Float
PUBLIC a AS Float
PUBLIC s AS Float
PUBLIC h AS Float
PUBLIC l AS Float
PUBLIC x AS Float
PUBLIC y AS Float

PUBLIC SUB _new()
DrawingArea1.Height = 300
DrawingArea1.Width = 600
END

PUBLIC SUB Form_Open()
END

PUBLIC SUB Button1_Click()
v0 = Val(TextBox1.Text)
a = Val(TextBox2.Text)
s = Val(TextBox3.Text)
h = Val(TextBox4.Text)
a = (Pi * a) / 180
x = 25
y = 0

pushkaTraektoria
l = S * Tan(a) - (g * s ^ 2) / (2 * v0 ^ 2 * Cos(a) ^ 2)
TextBox5.Text = l
IF l < 0 THEN
Label11.text = "недолёт"
ELSE
IF l > h THEN
Label11.text = "перелёт"
ELSE
Label11.text = "попал"
END IF
END IF
END

PRIVATE SUB pushkaTraektoria()
Draw.Begin(DrawingArea1)
Draw.FillStyle = 1
Draw.FillColor = Color.RGB(Rnd(Date)*255, Rnd(Date)*255, Rnd(Date)*255)
Draw.Circle(5, 295, 5)
DO WHILE y >= 0
x = x + ((v0 ^ 2 * Sin(2 * a)) / g) / 30
y = x * Tan(a) - (g * x ^ 2) / (2 * v0 ^ 2 * Cos(a) ^ 2)
Draw.Circle(x, 300 - y, 3)
LOOP
Draw.Line(s, 300, s, 300 - h)
Draw.End()
END SUB

PUBLIC SUB Button2_Click()
DrawingArea1.Clear
END

Приложение: Проект Gambas

1Угринович Н. Д.
У27 Информатика и Икт. Профильный уровень: учебник для 11 класса. — 2 издание., испр. и доп. — М.:БИНОМ. Лаборатория знаний, 2009.-308 с.
ISBN 978-5-9963-0047-1

Комментарий (1) к “Gambas. Еще один подход к артиллерийской задаче.”

  1. Замечания принимаются автором «первоисточника» :)
    Задача, действительная интересна, на нее натолкнулся впервые в учебнике Гейна за 9-10 класс, только без графического решения. Однако, чтобы заинтересовать не слишком заинтересованных учащихся, пошел на хитрость и предложил графическую реализацию. Ошибки признаю!
    С уважением, учитель информатики МБОУ «Гимназия №166″ г. Новоалтайска, Алтайского края, Чебан ОО

Оставьте комментарий