XXX园区某某幼儿园
家长会
第2单元 编程计算
2.1 计算机解决问题的过程
学习目标
1、了解计算机解决问题的过程
2、了解流程图的规范表示方法,学会使用自然语言和流程图描述算法
3、了解算法的三种基本结构
最强大脑
游戏规则:
用十秒钟记忆十个物品以及他们的编号,之后根据提问回答物品的编号,看谁记住的物品编号数量多。
思考:计算机如何实现游戏?
算法:解决问题的方法和步骤
“最强大脑”游戏问题的求解过程代表着一种算法
生活中的算法:超市购物、食堂打饭等
算法
描述算法可以用自然语言或流程图进行描述
你能用自已的话描述“最强大脑”游戏的解决步骤吗?
要求:详细说明计算机处理的具体对象、每一步的准确处理过程
活动一 使用自然语言描述算法
{3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}环节
自然语言
出题
1.显示游戏规则、物品及其编号10秒
2.清屏
答题
1.给出一个物品名称
2.回答编号
3.如果回答正确,答对的题数加1
4.重复以上步骤,直到答完5道题
输出结果
输出答对的题数
显示游戏规则、显示物品以及编号,屏幕停留10秒;
随机出题,给出物品,回答编号;判断回答是否正确,如果正确,则答对的题述加1。
重复以上步骤,直到答完5道题,显示答对的题数。
{0E3FDE45-AF77-4B5C-9715-49D594BDF05E}描述方法
优点
缺点
自然语言
通俗易懂
容易产生歧义,书写繁琐
活动二 使用流程图描述算法
{68D230F3-CF80-4859-8CE7-A43EE81993B5}图形符号
名称
功能
起止框
表示一个算法的起始和结束
输入/输出框
表示输入和输出的信息
处理框
赋值、计算等处理
判断框
表示判断的条件
流程线
指向算法运行的方向
连接符
表示流程图的接续
活动二 使用流程图描述算法
三种基本结构的流程图
顺序结构
把大象关进冰箱需要几步?
用自然语言描述
S1:拉开冰箱门;
S2:大象进入冰箱;
S3:关上冰箱门。
自上而下
用流程图表示
S1
S2
S3
分支结构
如果“大象太大无法进入冰箱”,怎么办?
用自然语言描述
如果大象太大无法进入冰箱,
那么就换一只小象进。
做出判断
用流程图表示
象太大?
进入
换小象
是
否
循环结构
如果有三只小象进冰箱,怎么解决?
用自然语言描述
一只一只地进入,直到三只小象都进入冰箱,即完成。
周而复始
用流程图表示
一只小象进入
三只都进入冰箱了?
是
否
你能用所学知识,完成“最强大脑”流程图吗?
显示10秒
满5题?
出题
答题
回答正确?
答对题数+1
活动二 使用流程图描述算法
{5FD0F851-EC5A-4D38-B0AD-8093EC10F338}描述方法
流程图
优点
形象、直观,容易理解
缺点
无法直接在计算机上运行
活动三 用Python语言实现游戏
在Python语言开发环境中,调试运行程序,观察运行结果。
import random #随机模块
import time #导入时间
import os #导入OS模块
print("你好,现在你有10秒钟的时间记忆下列物品及其编号")
things=["苹果","香蕉","橙子","梨子","猕猴桃","柚子",
"猴魁","铁观音","彩蛋","复活节"]
for i in range(10):
print(i,":",things[i]) #在屏幕上显示编号及物品
time.sleep(10) #延时10秒
os.system("cls") #清屏幕,隐去编号及物品
n=0 #记录答对的题数,初值为0
t2=random.sample(things,5 ) #随机抽出5个物品
for i in t2: #出5题
ans=int(input(i + "的编号是:")) #输入编号答题
if i==things[ans]:
n=n+1 #如果回答正确,答对的题数加1
print("\n你一共答对了",n,"次") #屏幕显示答对的题数
input("\n按回车键结束程序")
尝试将流程图与代码块进行匹配
t2=random.sample(things,5)
for i in t2:
ans=int(input(i + "的编号是:"))
ans=int(input(i + "的编号是:"))
if i==things[ans]:
n=n+1
time.sleep(10)
os.system("cls")
print("你好,请用10秒记忆物品及编号")
things=["苹果","香蕉","橙子","梨子",
"猕猴桃","柚子","猴魁","铁观音",
"彩蛋","复活节"]
for i in range(10):
print(i,":",things[i])
如何增加游戏难度呢?
改变物品;减少时间
打开最强大脑.py,动手试一试!
计算机解决问题的过程:
分析问题—设计算法—编写程序—调试程序
0和1构成,计算机直接执行;
但难以理解和操作
符号化的机器语言,
为特定的计算机系统而设计
Java、 C、VB、 C++
可读性更强,便于修改和维护
程序设计语言的发展
机器语言
汇编语言
高级语言
小结
算法:解决问题的方法和步骤
1
使用自然语言、流程图描述算法
2
三种基本结构的流程图
3
用Python语言实现游戏
4
程序设计语言的发展
5
未完待续……
6
好好学习
天天向上