1.2算法描述与设计

合集下载

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课件

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.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算法描述与设计》教学设计

教资教学设计题万能模板一、教学目标根据新课改的要求和学生已有的知识基础和认知能力,我确定的'教学目标是:(1)知识与技能目标:通过自主学习……,学生能够……(2)过程与方法目标:通过合作学习……,学生能够……(3)情感、态度、价值观:通过探究学习……,学生能够……二、教学重难点本课的教学重点:通过……学生能够掌握……本课的教学难点:通过……发展/提高学生……三、教学方法主要采取的教学方法:引导启发法。

在本节课的教学中主要渗透自主探究法、小组讨论法等。

四、教学过程(1)导入新课本课主要采用……等方法,不仅能引起学生的兴趣,还能够引导学生思考,并且引出新课题。

(2)讲授新课在讲授新课时,为了突出本节课的知识与技能目标,首先引导学生自主学习,学生对基本的概念和知识初步感知。

通过这种方法,既体现了新课改中以学生为主体的思想,又调动了学生学习的积极性。

这部分讲授完成后,开始讲解本节课的难点,也就是过程与方法目标,引导学生进行探究学习,学生先进行探究学习,能够用自己的话语总结方法。

然后,结合实例,对方法进行详细讲解。

通过这种方法,既让学生能够深入理解这种方法,也可以增进学生之间相互帮助的情感。

(3)巩固练习根据各科目自行设计。

(4)小结(5)作业布置布置课后作业。

五、板书设计板书设计采用图文并茂的形式,清晰展示全文整体结构,突出重难点,彰显文章主题。

六、教学反思根据学生对作完成情况,反思教学目的是否达到。

考生可在考试前,根据自己选报的科目,进行教学设计。

建议笔试考生反复背诵,直到熟记于心。

1.2算法和算法的描述(马凯莉)@停课不停学选修精品

1.2算法和算法的描述(马凯莉)@停课不停学选修精品

01 算法的描述
Input a,b

代x=2a-b/2码来自描y=b/2-a

Print x,y
01 算法的描述
自然语言描述
伪代码:伪代码是介于自然语言和计算机程序语言之间的一
种算法描述。 优点:简洁、易懂、修改容易 缺点:不直观、错误不容易排查
03 小结
算法——解决问题的方法和步骤
特征:有输入 确定性 有穷性 有输出 可行性
这种为解决某一问题而设计的确定的有限的步骤就称为算法。
当然这是一个极简单的问题,算法中只有几个步骤。 实际要处理的问题可能要复杂得多,相应的算法可能需要几 十个甚至几百个步骤才能完成。 在以后的编程中也要记住了,有些步骤是可以颠倒的,不影 响程序的结果;但是有些一旦颠倒了那最终的结果也就全变 了。
方法一
1.用5毫升的杯子装满水,倒入3毫升的杯子。这样,大杯子里 剩余2毫升水。 2.将小杯子里的水倒掉,将大杯子里剩余的2毫升倒入小杯子。 3.用大杯子盛满水,再用大杯子的水将小杯子倒满。这样,大 杯子里剩下的便是4毫升的水。
方法二
1.小杯子盛满水倒入大杯子,再用小杯子盛满水,将大杯子正 好倒满,这样小杯子正好剩下1毫升水。 2.大杯子的水倒掉,小杯子的1毫升水倒入大杯子。 3.用小杯子盛满水,倒入大杯子。这样,大杯子里便装了4毫 升的水。
02 算法的特征
01
有穷性:一个算法在执行有穷步之后必须结束。
例:计算1+2+3+……+100=? 分析:这个算法有限制范围,可以在有限步骤内完成,
02
确定性:算法的每一个步骤必须要确切地定义。
例:桌子上有两个苹果(对比:桌子上有一些苹果)
02 算法的特征

1.2.1算法是“灵魂”

1.2.1算法是“灵魂”
2a , 2a
分析问题(找出已知和未知、列出已知和未知之间的 关系) 设所求的数为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  算法和算法的描述[粤教版]

给出伪代码描述,学生用自然语言及流程图描述
设: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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 如何用计算机解决 问题
第二节 算法描述与设计
一、算法是“灵魂”




1.算法存在于人们生活中,如:上街购物、 顾客付款、营业员找银等。 2.“韩信点兵问题”有不同的求解过程, 就有不同的算法。 有N个人,除以3,5,7,分别余2,3,2, 求N。 3.算法——解决问题的方法和步骤。 算法是尼克劳斯.沃斯(N.Writh)提出的, 他指出:算法+数据结构=程序。 (即算法不能单独构成程序,它必须和数 据结构合二为一)
5.算法的特征
练习: 水仙花数问题,如153=1^3+5^3+3^3, 分析它应满足什么条件才能使用此方法?

第一章 如何用计算机解决问题 第二节 算法描述与设计 为了能更好地理解什么是算法,我 们利用日常生活中的“打电话”和 “寄信”的例子来讨论。 方法:先由同学来口述过程。
“打电话” 的过程。
说出下面流程图的各框名称
开始框 输入框 处理框
判断框
处理框 处理框 处理框 输出框 结束框
小结 : 什么是算法? 解决问题的方法和步骤就是 算法
小结 :
算法描述的方法有三种。
用自然语言来描述
用流程图来描述
用伪代码描述算法


使用伪代码描述算法没有严格的语法限制, 书写格式也比较自由,只要把意思表达清 楚就可以了,它更侧重于对算法本身的描 述。 在伪代码描述中,表示关键词的语句一般 用英文单词,其他语句可以用英文语句, 也可以用汉语语句。
伪代码的优缺点: 用伪代码描述的算法简洁、易懂, 修改起来也比较容易,并且很容 易转化为程序语言代码。 缺点是不是很直观。
3、用伪代码描述算法。
例如,给定一个四位数的年份,判断它是否为闰年。如果用伪代码来描述算法, 可以表示如下: 算法分析:我们知道,如果2月是28天,则这一年是平年;如果是29天,则这 一年是闰年。判断闰年的条件是:如果该年份能被4整除但不能被100整除, 或者能被400整除,则该年为闰年。 算法描述: 输入年份→y IF y能被4整除 THEN IF y 不能被100整除 THEN 输出“是闰年” ELSE IF y 能被400整除 THEN 输出“是闰年” ELSE 输出“不是闰年” END IF END IF ELSE 输出“不是闰年” END IF
自然语言的优点:通俗易懂。
缺点:容易产生歧义。
例如:
“这个人连老张也不认识”。
意思之一:这个人不认识老张。
意思之二:老张不认识这个人。
2、用流程图来描述。
什么是流程图?(也称 程序框图)它是算法的 一种图形化表示方法。
认识流程图符
流程图的优缺点
与自然语言相比,用流程图描述 算法形象、直观,更容易理解。
1、用自然语言来描述。 2、用流程图来描述。 3、用伪代码描述算法。
1、用自然语言来描述。
什么是自然语言。
人们日常生活中使用的语言
算法描述:
以“韩信点兵问题” 为例:
算法分析:
以“韩信点兵问题” 为例:
考虑:


凯撒密码的原理是将“明文”中的每个字母用 另外一个字母替换,这样就形成“密文”。已 知凯撒密码的计算公式为F(a)=(a+k) Mod n, k=3,n=26,如果将英文字母进行加密,其 对应关系如下所示: 明文:A B C D E F …… X Y Z 密文:D E F G H I …… A B C 现给出待加密字符串为“PROGRAM”,请同学 们设计算法,然后用自然语言将它描述出来。



我们曾在必须修课中提过一点算法,如:冒泡排序法。 例:计算1+2+3+……+100=? 分析:这个算法有限制范围,可以在有限时间内完成, 这是算法的第一个特征:有穷性。计算此算法可以用纸笔、 算盘、运算器 和计算机来完成,且计算过程是多样的,但结果是唯一 的。这就是算法的可行性、确定性。 计算方法: ⑴把这100个数按顺序相加。 ⑵用凑数法:1+99=100,2+98=100, 3+97=100,……,49+51,最后只剩下50和100。 ⑶令S=0,使1≤n≤100,先执行S=S+n ⑴,再执行 n=n+1 ⑵ n=1,S=0时,S=1 n=2,S=1时,S=3 n=3,S=3时,S=6 n=4,S=6时,S=10 n=5,S=10时,S=15 n=6,S=15时,S=21 …… 算法的另外一个特征:输入、输出。

忙音 拨 号 通了

听 筒
把听筒 放下
等会儿 再拨
通话
把听筒放下
结束
无人接听
把听封、 信纸、 笔、 邮票
开 信 封
写 信
贴 邮 票
把 信 投 入 到 邮 箱
第一章 如何用计算机解决问题
算法的概念:
解决问题的 方法和步骤 就是算法。
算法可以用多种方法来描述
4.算法的发现


世界上最早的算法 已知最早的算法是写在考古学家发掘出来的粘 土板上的,这些粘土板的年代大约是在公元前3000 年~公元前1500年,也就是大约3500~5000年以前。 考古学家是在美索布达米亚(伊拉克)靠近古代城 市巴比伦的地方发现的,那地方离现在的巴格达不 远。巴比伦人发明了六十进制系统,我们现在关于 时、分、秒的记法和关于角度的记法就是从他们那 里学来的。 为了做数学用表,巴比伦人需要解代数方程, 他们的做法是写个求解的“算法”。在算法中,基 本上都是对实际数目的计算。在算法的最后还写上 一句短语,这个短语可以粗略地翻译为“这是一个 过程”。这也是最早出现的程序设计语言的记号。
相关文档
最新文档