Тема урока: Этапы решения задач с помощью ПК. (2 часа)
Класс: 9–ый.
Цели урока:
Развивающая: Активизация мыслительной деятельности (способом сопоставления),
формирование алгоритмического мышления;
Общеобразовательная – формирование представления о решении задач с помощью ПК, установление межпредметных связей (физика);
Воспитательная – воспитание отношения к информации как к третьей сущности мира наряду с материей и энергией.
Требования к знаниям и умениям:
Знать понятия:
алгоритма,
однозначности,
корректности,
конечности,
массовости,
эффективности,
математической модели;
Уметь ориентироваться в компьютерной среде программной оболочки NC, составить программу по образцу, использовать возможности встроенного редактора;
Иметь навыки ввода информации с клавиатуры.
На уроке присутствовала половина класса (группа). Группа разделена на две подгруппы:
I гр. – учащиеся, имеющие более высокий уровень подготовленности.
II гр.– учащиеся, выполняющие работу по образцу.
Учитель предлагает формулировку задачи в общем виде, выполняется математическая постановка задачи на доске одним из учащихся; затем I гр. работает полностью самостоятельно и в конце занятия сдает общий отчет (см. ниже); II гр. вместе с учителем разбирает алгоритм программы в текстовом виде и получает готовый текст программы с тем, чтобы отладить ее на ПК и самостоятельно провести анализ результатов.
ХОД УРОКА
В процессе создания любой программы, будь то небольшая учебная программа или серьёзный проект, над которым работают десятки программистов, можно выделить несколько этапов. Затраты труда и времени на их выполнение различны, различаются эти затраты и для разных программ. Некоторые из этапов могут быть опущены или пройдены незаметно, однако, анализ процесса разработки приводит к выводу о том, что всегда приходится выполнять следующие этапы разработки программы:
- Постановка и математическая модель задачи.
- Этап алгоритмизации.
- Этап программирования.
- Отладка, получение и анализ результатов.
- Формулировка задачи
- Математическая постановка
Первоначальная формулировка задачи может быть самой общей, без задания конкретных условий.
Вычислить траекторию снаряда, двигающегося в гравитационном поле земли, недалеко от её поверхности.
Важно выявить те факторы, которые определяют
поведение системы (в нашем случае – движение
снаряда) и определить, действием каких факторов
можно пренебречь. Мы будем считать, что движение
снаряда определяется полем тяготения,
сопротивлением воздуха, притяжением других
планет солнечной системы, наличием деформации
ствола орудия можно пренебречь. Можно считать
также, что поверхность Земли на расстоянии
полета снаряда – плоская, поле притяжения земли
не изменяется, а снаряд не имеет геометрических
размеров, но имеет вполне определённую массу.
Напишем уравнения, описывающие движение снаряда,
то есть зависимость его координат х и у от
времени, прошедшего с момента выстрела:
X(t)=x0+Vx0*t
Y(t)=y0+Vy0*t–g*t/2
где
х0, y0–координаты начальной точки движения
снаряда,
Vx0,Vy0 – х и у – компоненты начальной скорости
двихения снаряда,
G=9.8 м/с2 – ускорение свободного падения
Будем считать, что необходимо найти положение
снаряда в заданные моменты времени
Tn, n=1, … , N, Tn+1–Tn=T/(N–1)=dT, где
T=2*Vy0/g – время полета снаряда.
Математическая постановка будет выглядеть следующим образом:
Что дано?
V0 – начальная скорость движения снаряда,
Alfa – угол наклона,
N – количество контрольных точек,
Что требуется?
X(t), y(t)
Какими математическими соотношениями связаны
исходные данные и результаты?
Vx0=V0*cos(alfa),
Vy0=V0*sin(alfa),
T=2*Vy0/g,
DT=T/(N–1),
X(t)=x0+Vx0*t,
Y(t)=y0+Vy0–g*t2/2
Теперь необходимо перейти к составлению алгоритма решения данной задачи.
4. Создание алгоритма.
1. Ввести значение начальной скорости снаряда V0, угла наклона начального участка траектории Alfa и число точек N.
2. Вычислить значение Vx0=V0*cos(alfa).
3. Вычислить значение Vy0=V0*sin(alfa).
5. Присвоить g=9.8 м/с2.
6. Вычислить dT.
7. Присвоить I=1.
8. Присвоить t=0.
9. Вычислить x(t).
10. Вычислить y(t).
11. Вывести координаты снаряда.
12. Присвоить t=t+1.
13. Присвоить I=I+1.
14. Если I<N, то перейти к шагу 9, иначе остановить выполнение программы.
5. Кодирование алгоритма (программа).
Program snaryd;
Uses Crt;
Var
V0, Alfa , t, dt, x, y, x0, y0, Vx0, Vy0, tc:real;
N, I : integer;
Const g=9.8
Begin
ClrScr;
Writeln("Введите начальную скорость в м/с");
Readln(V0);
Writeln("Введите наклон траектории в градусах");
Readln(alfa);
Writeln("Введите число точек");
Readln(N);
Alfa:=Pi*Alfa/180;
Vx0:=V0*cos(alfa);
Vy0:=V0*sin(alfa);
X0:=0;
Y0:=0;
T:=2*Vy0/g;
Dt:=T/(N–1);
I:=1;
Tc:=0;
While I<n do
Begin
X:=x0+Vx0*tc;
Y:=y0+Vy0*tc–g*Sqr(tc)/2;
Writeln(x, " ",y);
Inc(i);
Tc:=tc+dt;
If I mod 20=0 thenBegin
Writeln("<ENTER>");
Readln;
End;
End;
Writeln("<ENTER>");
Readln;
End.
- Получение и анализ результатов.
1 вариант V0=20 ALFA=40 N=12
2 вариант V0=25 ALFA=40 N=12
3 вариант V0=30 ALFA=40 N=12
4 вариант V0=25 ALFA=45 N=12
5 вариант V0=30 ALFA=45 N=12
6 вариант V0=35 ALFA=45 N=12
7 вариант V0=20 ALFA=50 N=12
Выполнить трассировку программы.
6. Подведение итогов. Вывод.
Дальность полёта снаряда тем больше, чем больше начальная скорость и угол наклона начального участка траектории снаряда.
ОТЧЕТ I группы
1. Математическая постановка задачи
Дано:
V0, n, a
Найти: X(t), y(t) – ?
Решение:
V0y=V0*sin(a )
V0x=V0*cos(a )
t=2*V0y/g
Dt=t/(n–1); pt=dt
Y=V0y*pt–g*pt2/2
X=V0x*pt
2. Составление алгоритма.
3 Этап программирования.
program polet;
uses Crt;
var
n,i: integer;
x,y,v0,v0y,v0x,t,dt,pt,alfa: real;
c,r: char;
label 1;
const g=9.8;
begin
1: repeat
clrscr;
write(`Нач. скор. v0(м/с): `); readln(v0);
write(`N= `); readln(n);
write(` ?(`,chr(248),`)= `); readln(alfa);
alfa:=pi*alfa/180;
v0y:=v0*sin(alfa);
v0x:=v0*cos(alfa);
t:=2*v0y/g;
i:=1;
dt:=t/(n–1);
pt:=dt;repeat
x:=v0x*pt;
y:=v0y*pt–g*sqr(pt)/2;if y<=0 then
begin
x:=x–y*cos(alfa)/sin(alfa);
y:=0;
end;writeln(`x=`,x);
writeln(`y=`,y);
pt:=pt+dt;
i:=i+1;until i=n;
gotoxy(64,25);
write(`Выход в ОС(Esc)`);
gotoxy(54,24);
write(`К началу программы(Enter)`);
c:=readkey;
if c=chr(13) then goto 1;
until c=chr(27);
end.
Введеные аргументы:
v0=10 м/с
n=5
=300
Полученные результаты:
X=2,2092484790E+00
Y=9,5663265306E–01
X=4,4084969581E+00
Y=1,2755102051E+00
X=6,6277454371E+00
Y=9,5663265306E–01
X=8,8369939161E+00
Y=0,0000000000E+00
Анализ:
v0y=5
v0x=8,66025403784438646763723170752936
t=1,02040816326530612244897959183673
dt=0,255102040816326530612244897959184
x=2,20924847904193532337684482334923
y=1,275510204081632653061224489795–0,31887755102040816326530612244852=
=0,95663265306122448979591836734648
pt=0,510204081632653061224489795918
x=4,41849695808387064675368964669547
y=2,551020408163265306112244897959–1,27551020408163265306122448979408=
=1,27551020408163265306122448979592
pt=0,765306122448979591836734693877
x=6,62774543712580597013053447004321
y=3,826530612244897959183673468385–2,8698979558163265316=
=0,956632656428571427583673469385
pt=1,02040816326530612244897959183673
x=8,83699391387012287530376655708539
y=5,10204081632653061224489795918–5,1020408163265306124489795917633=0
Вывод:
В результате анализа итоги, полученные при выполнении программы, совпадают с результатами расчета вручную.
График зависимости Y от X:
ЛИТЕРАТУРА
- С.А. Немнюгин TURBOPASCAL (практикум);
- О. Ефимова Курс компъютерной технологии.
- А. Г. Гейн Основы информатики и вычислительной техники.