内容正文:
第二单元 算法及其实现
第1节 问题与算法
课堂导入
你知道“田忌赛马”的故事吗?从“田忌赛马”这个故事中,你认为解决问题的关键是什么?
方法与步骤
学习内容
人类社会之所以进步与发展,是因为人们在日常生活中一直不断地发现、提出各种问题,并积极寻求解决问题所需的各种策略、方法与途径。在运用计算机解决问题的实践过程中,人们逐步形成了算法的概念。
学习内容
算法指用来指挥机器解决问题或执行任务所需的一系列步骤。
算法
想要机器能够正确执行人给定的任务,就必须从它的视角来设计并描述可执行的算法。
学习内容
算法由一系列步骤组成,但一系列步骤组成的却不一定是算法,因为算法必须具备一些基本要求。
学习内容
算法的特征
学习内容
算法的设计
理解问题
描述算法
编程实践
评估优化
简单的算法设计过程
学习内容
跟引领他人解决日常生活问题的指令表达类似,计算机算法也有一些约定成俗的描述方式。用以保障你所描述的内容,能够被他人所理解,并促进算法自身的交流与提升。
常用来描述算法的方式有自然语言、流程图与伪代码等。
算法的描述
学习内容
怎样计算圆的面积?
学习内容
流程图的符号
实践活动
绝对值是指一个数在数轴上的对应点到原点的距离,正数和0的绝对值是它本身(即|x|=x),而负数的绝对值则是它的相反数(即|x|=-x)。如果让计算机来自动求解,则必须设计相应的算法。
请用流程图描述计算机求解一个数的绝对值的算法。
用流程图描述求解绝对值的算法
实践活动
1.输入数x;
2.判断x的取值情况;
3.根据取值情况求解|x|;
4.输出|x|。
实践活动
1.输入数x;
2.判断x的取值情况;
3.根据取值情况求解|x|;
4.输出|x|。
学习内容
当选择运用计算机解决问题时,会面临算法选择的挑战,因此需要对相关的各种算法进行评价。
评价的主要指标有正确性、可读性、健壮性、高效性与低存储性等。在这些指标中,高效性因容易被人们直观感受而备受关注,它主要体现在用算法指挥计算机的执行次数方面。
学习内容
以如图所示的两种算法为例,在实现运用计算机解决“在1~50范围内,猜中50这个数字”这个问题过程,用“折半猜测”算法只要执行6次就猜中,而用“逐个猜测”算法则需执行50次。因此在解决该问题上,算法2要比算法1来得高效。
$