1、算法概念与描述(第八课时)年年 级:高一级:高一 学学 科:信息技术(人教科:信息技术(人教/中图版)中图版)高中信息技术地铁1号线情境描述小明到北京旅游,他乘坐火车到达了北京站,然后准备乘坐小明到北京旅游,他乘坐火车到达了北京站,然后准备乘坐地铁去天安门参观,地铁线路图如下图所示,你能帮小明规划地铁去天安门参观,地铁线路图如下图所示,你能帮小明规划好路线吗?是否只有一条路线?请大家思考这个问题。好路线吗?是否只有一条路线?请大家思考这个问题。高中信息技术路线路线1 1:乘坐地铁:乘坐地铁2 2号线,号线,从北京站到建国门站,在从北京站到建国门站,在建国门站换乘建国门站换乘1 1号线,在天号线
2、,在天安门东站下车。安门东站下车。地铁1号线路线路线1 1:共乘坐:共乘坐4 4站,站,换乘换乘1 1次。次。情境描述高中信息技术路线路线2 2:乘坐地铁:乘坐地铁2 2号线,号线,从北京站到崇文门站,在从北京站到崇文门站,在崇文门站换乘崇文门站换乘5 5号线,到东号线,到东单站,在东单站换乘单站,在东单站换乘1 1号线,号线,在天安门东站下车。在天安门东站下车。地铁1号线路线路线2 2:共乘坐:共乘坐4 4站,站,换乘换乘2 2次。次。情境描述高中信息技术地铁1号线地铁1号线情境描述寻找路线的方法,可以称之为算法寻找路线的方法,可以称之为算法高中信息技术当你想要从北京去上海当你想要从北京去上
3、海迪士尼旅游,你会如何规划迪士尼旅游,你会如何规划行程呢?行程呢?算法的概念 广义上讲,算法是解决一个特定问题而采取的确定广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。的、有限的步骤。高中信息技术 网上购买迪士尼门票;根据日期,购买火车票或者飞机票;根据行程及日期安排,预订住宿酒店;带好各种票据,准备好行李,按时乘车;到达上海,乘坐出租车或公共交通车辆去往酒店入住,放行李;带好门票,按时到迪士尼游玩。解决同一个问题的算法可能有多种。解决同一个问题的算法可能有多种。算法就是在解决特定问题时,采取的确定的、有限的步骤。算法就是在解决特定问题时,采取的确定的、有限的步骤。算法的概念其他
4、其他方案方案高中信息技术 分析解决以下三个问题的算法,归纳算法的特征。分析解决以下三个问题的算法,归纳算法的特征。算法的特征高中信息技术分析项目分析项目抛物线抛物线执行的步骤个数每一步是否明确可执行是否有输入是否有输出4 4是是否否是是算法的特征高中信息技术分析项目分析项目抛物线抛物线分段函数分段函数绝对值绝对值执行的步骤执行的步骤个数个数4 4每一步是否每一步是否明确可执行明确可执行是是是否有输入是否有输入无无是否有输出是否有输出有有算法的特征高中信息技术分析项目分析项目抛物线抛物线分段函数分段函数绝对值绝对值执行的步骤执行的步骤个数个数4 45 54 4每一步是否每一步是否明确可执行明确可
5、执行是是是是是是是否有输入是否有输入无无有有有有是否有输出是否有输出有有有有有有算法的特征高中信息技术 在计算机领域,算法作为一个精心设计的运算序列,描述了计算在计算机领域,算法作为一个精心设计的运算序列,描述了计算机如何将输入转化为输出的过程。算法一般具有如下特征:机如何将输入转化为输出的过程。算法一般具有如下特征:算法的特征算法的特征算法的特征有输入有输入一个算法通常要求有一个算法通常要求有0 0个或多个输入。个或多个输入。有输出有输出一个算法可以有一个或多个输出。一个算法可以有一个或多个输出。有穷性有穷性算法必须能在有限个步骤之后终止。算法必须能在有限个步骤之后终止。可行性可行性算法中的
6、每一步都是可以执行的。算法中的每一步都是可以执行的。确定性确定性算法的每个步骤都具有确定的含义,没有歧义。算法的每个步骤都具有确定的含义,没有歧义。高中信息技术 算法已经广泛应用于各领域中,不只是解决数学问题。例如,如算法已经广泛应用于各领域中,不只是解决数学问题。例如,如何在图书管理系统中查找需要的书籍?解决该问题的过程也是算法吗?何在图书管理系统中查找需要的书籍?解决该问题的过程也是算法吗?符合算法的五个特征吗?符合算法的五个特征吗?算法的特征高中信息技术自然语言自然语言小明在去往地铁站时,在路口遇到了一个红绿灯。小明发现该红绿灯上配有一个倒计时器,倒计时15秒之后红灯变成了绿灯,如何将“
7、倒计时倒计时1515秒秒”的算法描述出来?算法的描述方法高中信息技术自然语言自然语言 将计数器将计数器t t(剩余秒数)设为(剩余秒数)设为1515;如果如果t t大于等于大于等于1 1,执行步骤,执行步骤,否则执行步骤;否则执行步骤;显示显示t t,并保持显示,并保持显示1 1秒,然后秒,然后清除显示;清除显示;将将t t的值减的值减1 1,跳转至步骤。,跳转至步骤。倒计时结束。倒计时结束。倒计时倒计时1515秒?秒?自然语言歧义歧义易于理解易于理解高中信息技术流程图是用图形表示算法的一种常用工具。用流程图描述的算法直流程图是用图形表示算法的一种常用工具。用流程图描述的算法直观易读,问题解决
8、的步骤清晰简洁,算法结构表达明确。观易读,问题解决的步骤清晰简洁,算法结构表达明确。开始/结束框输入/输出框处理框判断框流程线流程图高中信息技术流程图符号流程图符号名称名称功能功能开始开始/结束框结束框表示算法的开始或结束输入输入/输出框输出框表示输入或输出数据处理框处理框框中指出要处理的内容,此框有一个入口和一个出口判断框判断框用于表示条件判断及产生分支的情况,判断框有四个顶点,通常上面的顶点表示入口流程线流程线用于控制流程方向流程图高中信息技术操作时,我们可以在纸上手工绘制流程图,也可以使用工具软件或操作时,我们可以在纸上手工绘制流程图,也可以使用工具软件或者到特定的网站进行绘制。者到特定
9、的网站进行绘制。文稿处理软件流程图绘制软件在线绘制流程图网站流程图高中信息技术结束结束t t 1515t t 1 1输出输出t tt t t-1t-1TrueTrueFalseFalse保持显示保持显示1 1秒秒清除显示清除显示 倒计时倒计时1515秒?秒?将计数器将计数器t t设为设为1515;如果如果t t大于等于大于等于1 1,执行步,执行步骤,否则执行步骤;骤,否则执行步骤;显示显示t t,并保持显示,并保持显示1 1秒,秒,然后清除显示;然后清除显示;将将t t的值减的值减1 1,跳转至步骤,跳转至步骤。倒计时结束。倒计时结束。流程图开始开始高中信息技术循环结构循环结构顺序结构顺序结
10、构选择结构选择结构三种基本结构结束结束t t 1515t t 1 1输出输出t tt t t-1t-1TrueTrueFalseFalse保持显示保持显示1 1秒秒清除显示清除显示开始开始高中信息技术S1S1SnSn 顺序结构顺序结构FalseFalseTrueTrue S1S1S2S2C C选择结构选择结构三种基本结构S1S1C CFalseFalseTrueTrue 循环结构循环结构高中信息技术注意区分注意区分选择和循环选择和循环三种基本结构FalseFalseTrueTrue S1S1S2S2C C选择结构选择结构S1S1C CFalseFalseTrueTrue 循环结构循环结构高中信
11、息技术伪代码伪代码t t 1515while t while t 1 1 output 1 output 1 sleep 1s sleep 1s clear clear t t t-1t-1end whileend while规避了程序设计语言规避了程序设计语言严格的书写格式,无严格的书写格式,无歧义,结构性强。歧义,结构性强。不太适合完全没有程不太适合完全没有程序设计基础的初学者。序设计基础的初学者。倒计时15秒?伪代码高中信息技术算法的描述方法算法的描述方法算法的描述方法自然语言自然语言伪代码伪代码流程图流程图自然语言就是使用日常所用的语言描自然语言就是使用日常所用的语言描述算法的步骤。述
12、算法的步骤。优点:使用简单,易于理解。优点:使用简单,易于理解。缺点:容易产生二义性。缺点:容易产生二义性。流程图是用图形表示算法的一种常用流程图是用图形表示算法的一种常用工具。工具。优点:步骤清晰简洁,算法结构表达优点:步骤清晰简洁,算法结构表达明确,适合初学者使用。明确,适合初学者使用。缺点:绘制过程繁琐,对于复杂问题,缺点:绘制过程繁琐,对于复杂问题,结构过于复杂,不易理解。结构过于复杂,不易理解。伪代码是采用一种类似程序设计语言伪代码是采用一种类似程序设计语言的代码来描述算法。的代码来描述算法。优点:回避了程序设计语言严格的书优点:回避了程序设计语言严格的书写格式,叙述准确,无二义性,
13、结构写格式,叙述准确,无二义性,结构性强。性强。缺点:需要具备一定的程序设计语言缺点:需要具备一定的程序设计语言基础,不利于初学者使用。基础,不利于初学者使用。高中信息技术某地有两种不同类型的出租车,其计费标准分别为:甲车某地有两种不同类型的出租车,其计费标准分别为:甲车3 3千米起千米起步,价格步,价格1010元,元,3 3千米以上(含千米以上(含3 3千米)每千米为千米)每千米为2 2元;乙车元;乙车3 3千米起步,千米起步,价格价格8 8元,元,3 3千米以上(含千米以上(含3 3千米)每千米千米)每千米2.22.2元。元。设计算法,在不同里程时给出最优最优资费的用车选择资费的用车选择。
14、选用一种描述方法描述方法对该算法进行描述,并解释其中使用到的基本结构基本结构。实践练习高中信息技术结构?结构?实践练习p1p1甲车的起步价甲车的起步价p2p2乙车的起步价乙车的起步价x1x1甲车起步里程后,甲车起步里程后,每千米的费用每千米的费用x2x2乙车起步里程后,乙车起步里程后,每千米的费用每千米的费用n n计划行使的里程数计划行使的里程数p1,p2,x1,x2,np1,p2,x1,x2,nn n 3 3甲车省钱甲车省钱p1p2p1p2p1p2FalseFalseTrueTrue乙车省钱乙车省钱两车相同两车相同FalseFalse结束结束高中信息技术算法的描述方法顺序结构顺序结构选择结构
15、选择结构p1,p2,x1,x2,np1,p2,x1,x2,nn n 3 3甲车省钱甲车省钱p1p2p1p2p1p2FalseFalseTrueTrue乙车省钱乙车省钱两车相同两车相同FalseFalse结束结束在实际问题解在实际问题解决中,经常会决中,经常会将三种控制结将三种控制结构综合使用。构综合使用。高中信息技术已知有已知有1010个一模一样的零件,其中个一模一样的零件,其中9 9个零件的质量相同,只有一个零件的质量相同,只有一个质量略轻,不符合规格要求。现在有一台天平,请设计算法找出个质量略轻,不符合规格要求。现在有一台天平,请设计算法找出该零件。该零件。算法效率一一比较?一一比较?次数
16、?次数?其他方法?其他方法?1515次次二分法二分法2323次次高中信息技术如果有如果有n n个零件(个零件(n n1010),要找出其中质量较轻的一个零件,),要找出其中质量较轻的一个零件,以上方法是否仍然可用?试分析以上方法是否仍然可用?试分析 n=10000n=10000时,这些算法在问题解时,这些算法在问题解决效率上的不同。决效率上的不同。算法效率一一比较一一比较二分法二分法15000次次513次次效率效率更高更高在解决问题时,可根据问题规模,选择合适算法在解决问题时,可根据问题规模,选择合适算法高中信息技术地铁1号线乘坐地铁问题乘坐地铁问题迪士尼旅游问题迪士尼旅游问题零件问题零件问题
17、在实际解决问题的过程中,应综合考虑问题类型、问题规模、在实际解决问题的过程中,应综合考虑问题类型、问题规模、适用范围等因素,选择合适算法。适用范围等因素,选择合适算法。算法效率高中信息技术小结算算法法概概念念和和描描述述算法的概念算法的概念算法的特征算法的特征算法的效率算法的效率算法的描述方法算法的描述方法有输入有输入有输出有输出确定性确定性有穷性有穷性可行性可行性一个算法通常要求有一个算法通常要求有0 0个或多个输入。个或多个输入。一个算法可以有一个或多个输出。一个算法可以有一个或多个输出。算法必须能在有限个步骤之后终止。算法必须能在有限个步骤之后终止。算法中的每一步都是可以执行的。算法中的
18、每一步都是可以执行的。算法的每个步骤都具有确定的含义。算法的每个步骤都具有确定的含义。自然语言自然语言流程图流程图伪代码伪代码用日常所用语言来描述算法的步骤。用日常所用语言来描述算法的步骤。流程图是用图形表示算法的一种常用工具。流程图是用图形表示算法的一种常用工具。采用一种类似程序设计语言的代码来描述算法。采用一种类似程序设计语言的代码来描述算法。算法就是解决一个特定问题而采取的确定的,有限的步骤。算法就是解决一个特定问题而采取的确定的,有限的步骤。对于同一个问题,不同算法解决问题的效率不同。对于同一个问题,不同算法解决问题的效率不同。高中信息技术小结算算法法概概念念和和描描述述算法的概念算法
19、的概念算法的特征算法的特征算法的效率算法的效率算法的描述方法算法的描述方法有输入有输入有输出有输出确定性确定性有穷性有穷性可行性可行性一个算法通常要求有一个算法通常要求有0 0个或多个输入。个或多个输入。一个算法可以有一个或多个输出。一个算法可以有一个或多个输出。算法必须能在有限个步骤之后终止。算法必须能在有限个步骤之后终止。算法中的每一步都是可以执行的。算法中的每一步都是可以执行的。算法的每个步骤都具有确定的含义。算法的每个步骤都具有确定的含义。自然语言自然语言流程图流程图伪代码伪代码用日常所用语言来描述算法的步骤。用日常所用语言来描述算法的步骤。流程图是用图形表示算法的一种常用工具。流程图是用图形表示算法的一种常用工具。采用一种类似程序设计语言的代码来描述算法。采用一种类似程序设计语言的代码来描述算法。算法就是解决一个特定问题而算法就是解决一个特定问题而采取的确定采取的确定的,有限的步骤。的,有限的步骤。对于同一个问题,不同算法解决问题的效率不同。对于同一个问题,不同算法解决问题的效率不同。算法概念与描述(第八课时)年年 级:高一级:高一 学学 科:信息技术(人教科:信息技术(人教/中图版)中图版)