2.3 用算法解决问题的过程 课件(共25张PPT)-2022-2023学年浙教版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

2.3 用算法解决问题的过程 课件(共25张PPT)-2022-2023学年浙教版(2019)高中信息技术必修1

资源简介

(共25张PPT)
1、内容回顾——算法的控制结构
(1)顺序结构:算法中各个步骤按照先后顺序依次执行的结构。
案例:
网上购买火车票时,必须严格按照顺序依次进行各个步骤。如下图所示。
网上购票算法
第一个操作
第二个操作
第三个操作
顺序结构
抽象
1、内容回顾——算法的控制结构
(2)分支结构(选择结构):先进行条件判断,再根据判断结果分别执行不同处理的控制结构。
案例:
判断一元二次方程ax2+bx+c=0是否存在实数根。
分支1
分支(条件)结构
抽象
条件满足?
分支2


1、内容回顾——算法的控制结构
(3)循环结构:在条件控制下,某些操作步骤需要重复执行(循环)的控制结构。
案例:
(超市收银系统)收银时,收银员用扫描仪逐个扫描商品上的条形码,随着一连串的“滴”声,收银员可以快速地完成顾客所购商品的费用结算。
循环结构
抽象
循环条件满足?
循环体


用算法解决问题的过程
Contents
十二星座
处女座
天秤座
天蝎座
射手座
摩羯座
金牛座
双子座
巨蟹座
狮子座
摩羯座
双鱼座
白羊座
巨蟹座
狮子座
天蝎座
射手座
水瓶座
白羊座
双子座
狮子座
天秤座
射手座
水瓶座:0001
狮子座:0101
射手座:1011
双子座:0101
双鱼座:0010
处女座:1000
天秤座:1001
白羊座:0011
金牛座:0100
天蝎座:1010
巨蟹座:0110
摩羯座:1100
揭密:(有=1 没有=0)
抽象与建模
设计算法
描述算法
算法要素(变量)、计算模型
算法特征、结构化程序设计思想
自然语言、流程图及伪代码
用算法解决问题的过程?
实例1
“动动有奖”是某手机走路计步器程序(程序界面如图所示),它能根据系统传递给它的走路步数给运动者奖励,运动者可以用累计的“奖金”去换取软件开发商提供的各种体育用品。具体的奖励规则如下:
1,每天走路的前1000步奖励0.3金,之后每2000步奖励0.1金(不足2000步没有奖励),每天最高奖励不超过3金。
2,每天必须到计步器页面点击“领奖”按钮,才能领取昨日走路奖金。
3,如果连续3天领奖成功,从第4天起走路奖金翻1倍(乘以2),每天最高奖励不超过6金。翻倍期间若有1天没有领奖(即连续每天领奖行为中断),则翻倍权益取消,重新连续3天领奖成功才能继续翻倍。
第一步:抽象与建模
(1)提炼核心要素并加以确定或假设
找出“动动有奖”奖励规则中的核心要素,并将不确定的核心要素设置为变量确定下来。
1.每天走路的前1000步奖励0.3金,之后每2000步奖励0.1金(不足2000步没有奖励),每天最高奖励不超过3金。
用流程图描述一天获得的“奖金”。
1. 一天走路多少步 X
2. 一天走路获得奖金数 t
核心要素:
2、用数学符号描述解决问题的计算模型
提示:1.” a ”表示对表达式的值向下取整,如 5.6 =5.
第二步:设计算法
对任何数据的处理,总体上都需要经历下列三个步骤:
①输入数据。②处理数据。③输出处理结果。
设计算法:
①输入走路步数X 。
② 。
③输出“奖金”t。
根据输入的数据X ,统计领取的“奖金”
按照“自顶向下、逐步细化”的结构化程序设计思想,对前面的算法进行如下细化:
①输入总天数n
②表示天数的变量i初始化为1。
③若 ,则转④,否则转⑦。
④输入第i天的数据(包括第i天走路步数Xi,是否成功领取第i天“奖金”的标记F)
⑤根据当前输入的数据Xi,Fi,统计该天领取的奖金并累加到总奖金total中。
⑥ ,然后转③。
⑦输出变量total的值。
若i≤n
表示天数的变量i增加1
第三步:描述算法
用流程图来描述解决该问题的算法。为了判断“奖金”是否翻倍,用变量c保存连续成功领奖的天数。
课本57页思考与练习1
课本57页思考与练习2
练习1:某市即将对居民实行一户一表阶梯电价,电费计算方式如下:月用电量在1-50千瓦时部分不调价;月用电量在51-200千瓦时部分,电价每千瓦时上调0.03元;月用电量超过200千瓦时部分,电价每千瓦时上调0.10元。
请完成以下任务:
(1)分析问题,提炼问题中涉及的数据,写出计算用户电费的表达式。
(2)确定算法,画出相应的流程图。
用算法解决问题
某地出租车米表进行计费,规则如下:
3公里(包括3公里)以内收起步价10元;
超过3公里但低于10公里(包括10公里)时,超过部分每公里2元;
超过10公里时,超过部分每公里3元。
明确要素:
明确数学函数:
具体算法设计:
描述算法:
里程数x 费用f
1.输入里程数x
2.若0若3若x>=10,f=10+7*2+3(x-10)
3.输出费用f
练习2
任意输入三个数,输出其中最小数(用流程图描述算法)。
自然语言描述:
Step1:输入3个数a,b,c;
Step2:比较a和b;
Step3:若a>b,则执行Step4。否则转向Step5
Step4:若b>c,则输出c;否则输出b。
Step5:若a>c,则输出c;否则输出a。
练习3
任意输入三个数,按从小到大依次输出这三个数。
THANK YOU

展开更多......

收起↑

资源预览