1.2算法描述与设计
1.2算法和算法的描述

复习与巩固
伪代码4 I=1 Do if I mod 3=0 then print I end if I=I+1 Loop until I>100 伪代码5 I=1 Do if I mod 3=0 then print I end if I=I+1 Loop while I≦100
1.农夫带羊到右岸,独自返回左岸; 2.农夫把菜带到右岸,返回时白羊带回左岸; 3.农夫带狼到右岸,独自返回左岸; 4.农夫把羊带到右岸,完成过河。
3
一、算法
1、算法的概念 算法是在有限步骤内求解某一问题所使 用的一组定义明确的规则。通俗地说,算法 就是求解某一问题的方法,是能被机械地执 行的动作或指令的集合。
三、算法在解决问题中的地位和作用
表1-6中 两个程序的效率比较
指标 运行结果 用辗转相除法设计的程序 最大公约数= 用穷举法设计的程序 最大公约数=
运行时间 通用性
□较长 □较好
□较短 □较差
□较长 □较好
□较短 □较差
由此看来,算法是程序设计的核心,是程序设计的灵 魂。算法的好坏,直接影响着程序的通用性和有效性,影 响着问题解决的效率。
用自然语言 描述算法
缺点:
自然语言具有歧义性,容易导致算法执行的不确定性。 自然语言描述的算法太长。 当算法中循环和分支较多时,很难清晰地表示出来。 自然语言表示的算法不便翻译成计算机程序设计语言。
用流程图描述算法
优点:描述清晰简洁,不依赖计算机和计算机程序设计语言。 缺点:画起来费事,难以阅读,难以修改。 优点:书写方便,格式紧凑,易于理解,便于向计算机 程序设计语言过度。 缺点:由于语言的种类繁多,伪代码的语句不容易规范。
二、算法的描述
1.2算法和算法的描述PPT课件

结束
例2:鸡兔同笼问题。
一个笼子里有鸡和兔,现在只知道里面一共有35个头,94只脚。鸡和兔各有 多少只?
(一)、用自然语言描述算法
(二)、用流程图描述算法
开始
1、输入a和b的值。
2、计算鸡数X=(4a-b)/2。
输入a和b的值
3、计算兔数Y=(b-2a)/2。 4、输出X和Y的值。
计算鸡数X=(4a-b)/2
否
I=I+1 是
I《=100
否
结束
是
输出I的值
设计一个算法求三个数中的 最大数
开始
输入a b c
如果a>b且a>c
否
如果b>c
否
输出c
是
输出a
是
输出b
结束
韩信点兵问题: 相传汉高祖刘邦问大将军韩信统御士兵多少,韩信答道: 每3人一列余1人,5人一列余2人,7人一列余4人,13人一 列余6人…….刘邦听后茫然而不知其数,你能说出有多少士 兵吗?
11 求101+102+103+104+…+1001的和。
Private Sub Command1_Click() S=0 For i=101 to 1001 step 1 S=S+i Next i End sub
12 求1*6*11*……*46的积。
Private Sub Command1_Click() S=1 For i=1 to 46 step 5 S=S*i Next i End sub
1、输入A B 2、交换AB的值 3、输出A B
1、输入A B 2、c = b
b=a a=c 3、输出A B
设计一个算法,求出100以内能被3整除的所 有正整数。
高中信息技术《算法与程序设计》优质教案、教学设计

《算法与程序设计》
1.2 算法描述与设计
教学设计
单位:授课人:
《算法描述与设计》教学设计
为了更形象、直观地表示算法,我们引入了流程图
,学生学习流也叫程序框图。
下面,同学们学习“韩信点兵”问题的
流程图表示。
开始
1n
n 被3 、5 、7 整Y
除后余数为
2 、
3 、2
N
n+1n
输出n 的值
结束
流程图描述算法常用的框图主要有以下几个:
在流程图的基础上,专业软件开发人员一般采用伪代码来描述算法。
伪代码是一种介于自然语言和计算机语言之间的一种算法描述,不是真正的程序语言代码,所以没有严格的语法限制,书写格式也比较自由,只要把意思表达清楚就可以了。
例如,判断闰年伪代码算法描述如下:
输入年份y
IF y 能被4 整除THEN
IF y 能被100 整除THEN
IF y 能被400 整除
输出“是闰年”
附:《算法描述与设计》流程图作品评价量表
《算法描述与设计》流程图作品评价量表
说明:1、作品评价等级分为A、B、C、D 四个等级。
2、在对应的作品等级下画“√”。
1.2.2如何描述算法

1.2 算法描述与设计
班级姓名
【学习目标】
1、理解什么是算法,知道算法的多样性;
2、学会用自然语言、流程图和伪代码来描述算法;
3、能够对设计的算法做出简单的评价。
【导学一】创设情境,写出算法
有一个牧羊人带着一只羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人人应如何过河?
要求:现在请同学们来设计一个方案,把3样东西安然无恙的带过河。
第一步:
第二步:
第三步:
第四步:
通过以上例子,我们总结出算法是:,上面的算法我们是用自然语言描述。
【导学二】算法的特征
阅读课本第5页,算法的特征:、、、和。
判断下列算法是否符合算法的特征:
利用计算机求解方程:ax2
+bx+c=0 (a≠0) 请你设计算法并描述出来。
1.自然语言描述
第一步:
第二步:
第三步:
2.回忆高一数学课上学过的流程图表示方法,参照第8页图1-3图例和1-4画出流程图。
3.用伪代码描述算法(可参照第9页算法的描述)。
【课堂练习】
1.不需要精确计算时,我们可以使用估算的方法。
例如,考虑班级外出旅游费用时,如果每人需要21元,则全班48人的费用大约为1000元。
计算机会这样解决问题吗,为什么?
2.超市苹果进行打折促销,苹果正常售价是1.5元/斤,若买5斤以上售价打九折,为给收银员编写一个付款程序请你设计算法并描述出来。
《1.2算法描述与设计》教学设计

教资教学设计题万能模板一、教学目标根据新课改的要求和学生已有的知识基础和认知能力,我确定的'教学目标是:(1)知识与技能目标:通过自主学习……,学生能够……(2)过程与方法目标:通过合作学习……,学生能够……(3)情感、态度、价值观:通过探究学习……,学生能够……二、教学重难点本课的教学重点:通过……学生能够掌握……本课的教学难点:通过……发展/提高学生……三、教学方法主要采取的教学方法:引导启发法。
在本节课的教学中主要渗透自主探究法、小组讨论法等。
四、教学过程(1)导入新课本课主要采用……等方法,不仅能引起学生的兴趣,还能够引导学生思考,并且引出新课题。
(2)讲授新课在讲授新课时,为了突出本节课的知识与技能目标,首先引导学生自主学习,学生对基本的概念和知识初步感知。
通过这种方法,既体现了新课改中以学生为主体的思想,又调动了学生学习的积极性。
这部分讲授完成后,开始讲解本节课的难点,也就是过程与方法目标,引导学生进行探究学习,学生先进行探究学习,能够用自己的话语总结方法。
然后,结合实例,对方法进行详细讲解。
通过这种方法,既让学生能够深入理解这种方法,也可以增进学生之间相互帮助的情感。
(3)巩固练习根据各科目自行设计。
(4)小结(5)作业布置布置课后作业。
五、板书设计板书设计采用图文并茂的形式,清晰展示全文整体结构,突出重难点,彰显文章主题。
六、教学反思根据学生对作完成情况,反思教学目的是否达到。
考生可在考试前,根据自己选报的科目,进行教学设计。
建议笔试考生反复背诵,直到熟记于心。
1.2.1算法是“灵魂”

分析问题(找出已知和未知、列出已知和未知之间的 关系) 设所求的数为X,则X应满足:X整除3余1 ,X整除5余 2,X整除7余4 写出解题步骤 1、令X为1。 2、如果X整除3余1,X整除5余2, X整除7余4,这 就是题目要求的数,则记下这个X。 3、令X为X+1(为算下一个作准备)。 4、如果算出,则结束;否则跳转2。 5、写出答案。(穷举法)
实践:
1.请写出求解一元二次方程ax2+bx+c=0的算
法。 2.“水仙花数问题”:水仙花数是指一个三位 数,它的各位数的立方和正好等于该数本身。 如:153=13+53+33。请设计算法求解“水仙3;bx+c=0的算法步骤(自 然语言描述) 1.输入a,b,c; 2.计算d=b2-4ac; 3.判断d<0是否满足,若满足,则输出“方程无 实数解”;若不满足,进入步骤4; 4.判断d=0是否满足,若满足,则输出“方程有 b 一实数解为 ” ;若不满足,则输出“方程 2a 有两实数解,分别为 ”; b d b d 5.结束算法。
事实上,计算机能有如此广泛而神奇的应 用,除了半导体集成电路芯片制造工艺的 提高外,主要是靠软件,而软件的核心是 算法。无论是制造芯片的软件,还是“深 蓝”战胜卡斯帕罗夫,都是靠巧妙的算法。 算法是人类智慧的结晶,计算机科学中的 知识创新,主要就是算法的创新,创建一 种新算法其意义不亚于建造一种新机型。
返回
1.2 算法描述与设计
算法对于程序设计至关重要,当找到算法后还 要考虑如何准确、具体地描述算法,通过本节 的学习你将能做到: ■ 进一步理解什么是算法,知道算法的多样性 ■ 能够对设计的算法做简单的评价 ■ 学会用自然语言、流程图和伪代码来描述算 法
1.2 算法和算法的描述[粤教版]
![1.2 算法和算法的描述[粤教版]](https://img.taocdn.com/s3/m/e50fa7c28bd63186bcebbcd7.png)
给出伪代码描述,学生用自然语言及流程图描述
设:MAX为评委给出的最高分;MIN为评委给出的最底分;N为评委给 出的分数个数;X为评委给出的分数;S为评委分数总和。 用伪代码描述如下: N=1 S=0 输入第一个评委给出的分数→X S=S+X MAX=X MIN=X N=N+1 IF N>10 THEN 输出 (S-MAX-MIN)/8;结束 ELSE 输入下一个评委给出的分数→X S=S+X IF X>MAX THEN MAX=X IF X<MIN THEN MIN=X END IF 返回”N=N+1”这一步
关于“算法”的概念
算法是解决问题方法的精确描述。 在编程领域,算法可以进一步定义为“算法就 是用计算机求解某一问题的方法,是能被机械 地执行的动作或指令的有穷集合。”
关于算法的特征
作为一个算法应该具有以下5个特征: 1. 0个或多个输入:一个算法应具有0个或多个 输入数据,0个是指在算法中已指定了初始 值。 2. 至少1个输出:一个算法至少要有一个输出 数据,以告知人们算法运行的结果。若没有 任何输出,则这一算法不具备意义、不具有 价值。 3. 有穷性(有限性):一个算法必须在经过有 限个步骤之后正常结束。
优点:符合人们日常的表达习惯,容易理解。 缺点:书写较烦、容易出现歧义,对复杂的问 题难以表达准确,不能被计算机直接识别和执 行。
用流程图描述算法
流程图,也称为程序框图,它由一系列的流程 符号组成,是算法的一种图形化表示方法。
常见的流程符号
图形符号 符号名称
起止框
功能
表示算法的开始或结束 表示输入输出操作 表示处理或运算的功能 用来根据给定的条件是否满足决定 执行两条路径中的某一路径 表示程序执行的路径,箭头代表方 向
1.2算法和算法的描述

算法一
算法二
第一步:烧水;
第一步:烧水;
第二步:水烧开后, 优化? 第二步:烧水过程中,
洗刷茶具;
洗刷茶具;
第三步:沏茶。
第三步:水烧开后沏茶。
一个好算法必须用到科学的方法
第二个算法的科学性在于应用了“统筹方法”
算法是程序设计的核心,是程序设计的灵 魂。算法的好坏,直接影响着程序的通用性和 有效性,影响着问题解决的效率。
第三步:人和菜过河,人返回,留下菜; 第四步:人和羊过河
二、算法的描述——用流程图描述算法
常用的“流程图”所用的基本符号
程序框
名称
功能
开始/ 结束
算法的开始 和结束
输入/ 输出
输入和输出 信息
处理
计算与赋值
判断
条件判断
流程线 连接点
算法中的流向
表示算法流向出口或入 口连接点
用流程图描述求解 a的绝对值的算法
一、算法——解决问题的方法和步骤
算法的特征:
1、输入——一个算法有零个或多个输入; 2、输出——算法有一个或多个输出; 3、确定性——算法的每一个这步个骤人必连须老要张也确不切认地识定义; 4、有穷性——一个算法在执行有穷步之后必须结束; 5、能行性——算法中有待执行的运算和操作必须是相
当基本的。(运算和操作能精确地执行)
最小自然数。
韩信点兵
1、令X为1 2、如果X整除3余1,X整除5余2,X整除7余4,这就是题目要求的 数,则记下这个X 3、令X为X+1(为算下一个作准备) 4、如果算出,则结束;否则跳转2 5、写出答案
过河的方案: 第一步:人和羊过河,人返回,留下羊; 第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜和狼; 第四步:人和羊过河
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开始
输入一个实数到变量X
Y
N
X大于0?
Y=x
Y=2x
输出Y
结束
分析流程图 开始
输入3个数到变量X,Y,Z
Y XC
X>Y?
N YC
Y ZC
N Z>C?
结束 输出C
思考:
•从十个数中挑选出最大的数。
您辛苦了,谢谢!
谢谢欣赏
THANK YOU FOR WATCHING
狼; • 第三步:人和米过河,人返回,留下来; • 第四步:人和鸡过河。
练习
帮助这个人用船把狼、羊和一箱菜运送到 河对面,但是有苛刻的附加条件:(1)船一次只 能运一样;(2)当人不在时,狼会吃羊,羊会吃 菜。
将过河的方法描述出来:
• 第一步:运羊过河,回来 • 第二步:运菜过河,并运羊回来 • 第三步:运狼过河,回来 • 第四步:运羊过河
练习
• 有两个瓶子A和B,分别盛放醋和酱油,如 果要将它们所盛的内容互换,即A瓶原来盛 醋,现改为盛酱油,B瓶则相反
• 有两个瓶子A和B,分别盛放醋和酱油,如 果要将它们所盛的内容互换,即A瓶原来盛 醋,现改为盛酱油,B瓶则相反
• 1、取一个瓶子C • 2、把瓶子A中的酱油放入瓶子A中 • 3、把瓶子B中的酱油放入瓶子A中 • 4、把瓶子C中的醋放入瓶子A中
算法与程序设计 ——逻辑思维训练
农夫过河
• 一个农夫带着一只猫、一只鸡和一袋米要 过河,但只有一条小船,乘船时,农夫只 能带一样东西,当农夫在场的时候,这三 样东西相安无事,一旦农夫不在,猫会吃 鸡,鸡会吃米。
• 思考:要使农夫能安全地将这三样东西带 过河
农夫过河
• 第一步:人和鸡过河,人返回,留下鸡; • 第二步:人和猫过河,人和鸡返回,留下
练习:
已知变量x和y中分别 存放了数据,现在要交换 其中的数据。用自然语言 描述算法。
算法描述
第1步:定义一个变量m 第2步:将x中的数据送给变量m,即
x→m; 第3步:将y中的数据送给变量x,即
y→x ; 第4步:将m中的数据送给变量y,即
m→y。
组成流程图的流程图符号
开始或结束
开始
输入或输出 处理
……
判断 连接线
结束
例:将过河的算法 用流程图描述出来
第一步:运羊过河,回来 第二步:运菜过河,并运
羊回来 第三步:运狼过河,回来 第四步:运羊过河
过河,回来
运羊过河 结束
例: 任意输入一个实数到 变量X,求下面函数的Y值:
X (X>0) Y=
2X (X≤0)