内容正文:
第2单元 编程计算
1
2.1 计算机解决问题的过程
2
10个物品及其编号
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
猜一猜
橙子的编号是:
2
柚子的编号是:
5
彩蛋的编号是:
8
香蕉的编号是:
1
苹果的编号是:
0
分析问题
01
分析问题
对解决的问题进行科学的分析,确定要用计算机做什么,然后找出对应的方法和途径。
最强大脑游戏中分析的问题解决的过程是:根据游戏规则,显示物品以及编号,屏幕停留10秒;随机出题,给出物品,回答编号;判断回答是否正确,如果正确,则答对的题数加1,重复以上步骤,直到答完五道题,显示答对的题数。
设计算法
02
一、什么是算法?
算法:解决问题的方法与步骤
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。
算法的描述方法
自然语言:人们日常生活中使用的语言,汉语,英语,日语等都是自然语言,这些自然语言描述算法符合我们的表达习惯,且容易理解。
流程图:也叫程序框图,是算法的一种图形化表示方法,与自然语言描述算法相比,用流程图描述算法形象、直观、更容易理解。
计算机是人脑的延伸,要研究计算机解决问题的过程,首先要从人解决问题的角度谈起。
一 、 使用自然语言描述算法
环节 自然语言
出题 1.显示游戏规则、物品及其编号10秒
2.清屏
答题 1.给出一个物品名称
2.回答编号
3.如果回答正确,答对的题数加1
4.重复以上步骤,直到答完5道题
输出结果 输出答对的题数
显示游戏规则、显示物品以及编号,屏幕停留10秒;
随机出题,给出物品,回答编号;判断回答是否正确,如果正确,则答对的题述加1。
重复以上步骤,直到答完5道题,显示答对的题数。
描述方法 优点 缺点
自然语言 通俗易懂 容易产生歧义,书写繁琐
14
二 、 使用流程图描述算法
图形符号 名称 功能
起止框 表示一个算法的起始和结束
输入/输出框 表示输入和输出的信息
处理框 赋值、计算等处理
判断框 表示判断的条件
流程线 指向算法运行的方向
连接符 表示流程图的接续
15
二 、 使用流程图描述算法
三种基本结构的流程图
16
顺序结构
例:把大象关进冰箱需要几步?
用自然语言描述
S1:拉开冰箱门;
S2:大象进入冰箱;
S3:关上冰箱门。
自上而下
用流程图表示
S1
S2
S3
17
分支结构
如果“大象太大无法进入冰箱”,怎么办?
用自然语言描述
如果大象太大无法进入冰箱,
那么就换一只小象进。
做出判断
用流程图表示
象太大?
进入
换小象
是
否
18
循环结构
如果有三只小象进冰箱,怎么解决?
用自然语言描述
一只一只地进入,直到三只小象都进入冰箱,即完成。
周而复始
用流程图表示
一只小象进入
三只都进入冰箱了?
是
否
19
显示游戏规则物品编号10秒
满5题?
出题
答题
回答正确?
答对题数+1
活动二 使用流程图描述算法
环节 自然语言
出题 1.显示游戏规则、物品及其编号10秒
2.清屏
答题 1.给出一个物品名称
2.回答编号
3.如果回答正确,答对的题数加1
4.重复以上步骤,直到答完5道题
输出结果 输出答对的题数
描述方法 流程图
优点 形象、直观,容易理解
缺点 无法直接在计算机上运行
编写代码
03
活动三 用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 + "的编号是:")) #输入编号答题