内容正文:
中物理
学易同步精品课堂
中物理
第3章 信息加工与表达
3.3.1 编程解决问题
沪科版 信息技术(高中)
必修
1
课堂导入
回忆:
可以通过什么软件来制作完成?
它属于系统软件or应用软件?
回忆:
可以通过什么软件来制作完成?
它属于系统软件or应用软件?
国际象棋与麦粒
在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相:西萨·班·达依尔。国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有的64格的麦粒,都赏给您的仆人吧!”国王觉得这要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。
那么,宰相要求得到的麦粒到底有多少呢?
韩信点兵
让士兵三人一组,就有两人没法编组;五人一组,就有三人无法编组;七人一组,就有两人无法编组。那么请问这些士兵一共有多少人?(士兵人数接近100000人)
万源中学元旦抽奖系统
随机点名器
思考:
有没有什么软件可以直接解决上述问题?
编程解决问题
计算机解决问题
有现成软件
Word、wps文字
Excel、wps表格
美图秀秀
……
无现成软件
元旦抽奖系统
随机点名器
……
2
课堂活动
程序的“庐山真面目”
编写程序的一般过程
程序员角色体验
程序的“庐山真面目”
2.1
Private Sub Command1_Click()
Dim g, v As Single
Dim t As Integer
g = 9.8
t = 1
v = Val(Text1.Text)
Cls
Do While t <= 100
x = v * t
y = g * t * t / 2
Circle (x, y), 30
t = t + 1
Loop
End Sub
Private Sub Command1_Click()
Dim a, b, c As Integer
Dim d, x1, x2 As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = b * b - 4 * a * c
If d >= 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d))/ (2 * a)
Print "x1=", x1
Print "x2=", x2
Else
MsgBox ("对不起,没有实数根!")
End If
End Sub
编写程序的一般过程
2.2
情境1:
帮助物理老师编写一个描述小球做平抛运动轨迹的程序(t<=100s)。
快速阅读P69:
找到编写程序解决问题的一般过程是?
分析问题
设计算法
编写程序
调试程序
编写程序的一般过程——算法设计
2.2
情境1:
帮助物理老师编写一个描述小球做平抛运动轨迹的程序(t<=100s)。
已知:重力加速度为9.8,初速度v, t<=100s
需求:描绘运动轨迹
分析问题
求解问题
x=vt(t取正整数并t<=100s)
Y=g*t*t/2
描点绘图
解决问题的步骤和方法
算法
编写程序的一般过程——算法描述
2.2
情境1:
帮助物理老师编写一个描述小球做平抛运动轨迹的程序(t<=100s)。
x=vt(t取正整数并t<=100s)
Y=g*t*t/2
描点绘图
解决问题的步骤和方法
算法
自然语言
流程图
比较:
在描述算法时,你更倾向于用哪种方法?为什么?
VS
编写程序的一般过程——编写程序
2.2
情境1:
帮助物理老师编写一个描述小球做平抛运动轨迹的程序(t<=100s)。
已知:重力加速度为9.8,初速度v, t<=100s
需求:描绘运动轨迹
1. 分析问题
2. 算法描述
3. 编写程序
Private Sub Command1_Click()
Dim g, v As Single
Dim t As Integer
g = 9.8
t = 1
v = Val(Text1.Text)
Cls
Do While t <= 100
x = v * t
y = g * t * t / 2
Circle (x, y), 30
t = t + 1
Loop
End Sub
编写程序的一般过程——调试运行
2.2
学生活动一 :运行“平抛运动轨迹”程序
编程语言种类 实例
机器语言 0100010001 01101010101 100