内容正文:
中物理
第3章 算法基础
粤教版(2019) 信息技术(高中)
第3课时 算法及其描述
(必修一)
1
旧知回顾
鸡兔同笼问题:
1
学习目标
1、理解什么是算法。
2、认识算法的特征。
3、学会使用算法的三种常用的描述方法。
4、知道三种基本控制结构及其作用。
学期结束时,老师打算花50块钱购买一些笔记本奖励表现优秀的同学,请班长小明帮忙,小明决定买三种单价分别为6元、5元、4元的笔记本,请问可以买多少本?
探究活动
一
算法及其描述
买笔记本问题转化为求解方程:6x+5y+4z=50的正整数解。
方案 x y z 合计
1 1 4 6 11
2 1 8 1 10
3 2 2 7 11
4 2 6 2 10
5 3 4 3 10
6 4 2 4 10
7 6 2 1 9
一
算法及其描述
用自然语言描述算法,就是用人们日常所用的语言,如:汉语、英语等来描述算法。
1、用自然语言描述
一
算法及其描述
t=0;
x=1;
y=1;
z=1;
如果满足式子6x+5y+4z=50,则购买的方案数加1(即t=t+1),并输出这种购买方案(即输出t、x、y、z的值)。
z=z+1;
如果z<=12则转⑤,否则继续⑧;
y=y+1;
如果y<=10则转④,否则继续⑩;
x=x+1;
如果x<=8则转③,否则继续⑫;
结束。
用流程图描述算法是用程序框图来描述算法的一种表示方法。使用流程图描述算法,让人感到算法的流程描述清晰简洁。流程图的基本图形及其功能如下表所示。(例:教材图3-8)
2、用流程图描述
一
算法及其描述
图 形 名 称 功 能
开始/结束 表示算法的开始或结束
输入/输出 表示算法中变量的输入或输出
处理 表示算法中变量的计算与赋值
判断 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的转接
表3-4流程图的基本图形及其功能表所示。
2、用流程图描述
一
算法及其描述
用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。
3、用伪代码描述
一
算法及其描述
t=0
for x in range(1,9):
for y in range(1,11):
for z in range(1,13):
if x*6+y*5+z*4==50:
{t=t+1;
输出解的个数t和三个整数x,y,z}
分析归纳算法三种描述方法的优劣。
讨论:
一
算法及其描述
算法描述的方法 优势 不足
自然语言表示法
流程图表示法
伪代码表示法
分析归纳算法三种描述方法的优劣。
讨论:
一
算法及其描述
算法描述的方法 优势 不足
自然语言表示法 用人们日常所用的语言,比较容易掌握。 当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。
流程图表示法 用程序框图来描述,流程描述清晰简洁。 所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。
伪代码表示法 用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。 由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。
什么是算法?
讨论:
一
算法及其描述
算法:
一
算法及其描述
算法是指在有限步骤内求解某一问题所使用的的一组定义明确的规则。通俗的说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
算法是对某个特定问题求解方法的步骤性描述,比如,求解1到n的正整数累加和,就可以按照以下几个步骤进行准确的描述,不管n数字具体是多少,球类结合的时候都可以按照这个得到想要的结果,这种便可以算作一种算法了,当然,算法的好坏暂时不讨论。
一
算法及其描述
当解决某个问题时,步骤性描述出来后,这些步骤不一定都能解决这个问题的所有情况,可能只能解决某个特殊情况,这种不能算做符合要求的算法。
那么,算法有哪些特征呢?
讨论:
一
算法及其描述
算法的特征:
有穷性
确定性
数据输入
数据输出
可行性
一
算法及其描述
有穷性
一个算法在执行有限步之后必须结束,即一个算法所包含的计算步骤是有限的。假如一个算法无限循环,不能结束步骤,也就不知道这算法结束没,总也不输出最后的结果,那它也没有太大意义。
例如:在前面的例题中,x的值从1开始穷举,重复执行语句,直到x>8时终止执行。
特征:步骤有限,无死循环。
一
算法及其描述