1.2算法描述与设计0

合集下载

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算法描述与设计(流程图)

1.2算法描述与设计(流程图)

任务1 某学生五门功课成绩为 、 、 、 、 任务1:某学生五门功课成绩为80、95、78、87、 65.写出求平均成绩的算法,并画出流程图 写出求平均成绩的算法, 写出求平均成绩的算法 并画出流程图.
程序框图: 程序框图: 解:算法步骤为: 算法步骤为: 第一步,80、95、78、87、 第一步, 、 、 、 、 65. 第二步,计算 第二步,计算p=
算法3:( 算法 :(1+99)+(2+98)+(3+97)+…(49+51) :( ) ( ) ( ) ( ) +50+100=5050
第三部分 温故知新
尝试分析右侧流 程图的数学表达 式.
开始 输入x 输入 x≥0? 是 输出y=x 输出 否 输出y=1-x 输出
结束
3、课堂练习
• 用流程图描述算法。
80+95+78+87+65 5
输入80、 、 、 、 输入 、95、78、87、65
开始
p=80 +95+ 78+87 + 65
5
输出p 输出
第三步, 第三步,输出 p .
结束
任务2 写出下列流程图的运行结果: 任务2:写出下列流程图的运行结果:
开始 输入a, 输入 ,b a=2 = b= b=4
第一部分 复习引入
1.算法的含义是什么? 1.算法的含义是什么? 算法的含义是什么 解决问题的方法和步骤称为算法. 解决问题的方法和步骤称为算法. 2.分析作业问题并呈现学生的算法 分析作业问题并呈现学生的算法
人+2虎 虎
一个人带三只老虎和三头牛 过河。只有一条船, 过河。只有一条船,同船可 以容一个人和两只动物。 以容一个人和两只动物。没 有人在的时候, 有人在的时候,如果老虎的 数量不少于牛的数量就会吃 掉牛。设计安全渡河的算法。 掉牛。设计安全渡河的算法

高中信息技术《算法与程序设计》优质教案、教学设计

高中信息技术《算法与程序设计》优质教案、教学设计

《算法与程序设计》
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算法及算法的表示方法

1.2算法及算法的表示方法

15.小强想设计一个判断某年是否是闰年的VB程序。通过查询资料得知:如果年 份能被100整除同时也能被400整除,则该年是闰年;如果年份不能被100整除但能被4整 除,则该年也是闰年。“判断某年是否为闰年”的算法部分流程图如下图所示(k=True表 示该年是闰年,k=False表示该年不是闰年)。请完善虚线框部分的算法描述。
关于该算法的作用,下列a与b相等
C.变量c与a,b相等
D.a,b仍是原来的值
6.计算圆面积的算法描述如下:
①输入圆半径r
②计算圆面积S(计算公式为S=πr2)
③输出结果
④结束
上述算法描述的方法属于
A.流程图
B.伪代码
C.自然语言
D.机器语言
(C )
16.某算法的流程图如下图所示: 请问答下列问题: ①该算法采用的结构是________循__环__结__构__________。 ②该算法执行时,若输入的n值为8,则输出s的值为_______2__4_______。
17.某算法的流程图如下图所示: 请问答下列问题:
①依次输入d的值为80、50、0后,算法的输出结果为__1_3__0_。
的实数解
B.计算某个班级信息技术成绩的平均分
C.列出方程y=8x+2的所有实数解
D.根据矩形的长和宽求面积
3.求一元二次方程实数根的算法中,在方程不存在实数根的
情况下,要求输出“方程无实数根”。这一要求主要体现了算法特
征中的 )
C(
A.有穷性
B.可没有输入
C.有输出
D.确定性
4.下列能准确表达“如果明天不下雨,那么我们去打篮球”
13.下面是一个计算变量s值的算法: ①变量s赋初值0,变量c赋初值0 ②变量i依照自然数的规律从1连续变化到99,如果i能被3整 除,则s←s+i,c←c+1 ③如果i=99则转④,否则转② ④输出s的值 ⑤输出c的值 请回答下列问题: ①该算法的结构属于__循__环__结_构_____________________。 ②请写出变量s的代数表达式 ______s_=_3_+__6_+_9_+__…_+__9_9__________________。 ③变量c的作用为 ____统_计__1_0_0_以__内_能__被__3_整__除_数__的__个_数___________________________。

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.2如何描述算法

1.2.2如何描述算法

《算法及算法的描述》说课稿说课人:黄河城口县中学尊敬的各位专家、评委,老师们,你们好!今天我说课的内容选自重大版《初中信息技术》教材第一章第二节《算法及算法描述》。

下面我从教材、学生情况、教法、学法、教学过程、教学反思这几个方面,来阐述本节课的教学设计。

从全方位角度来看这节课,学生需要一定的数学思维能力,美工基础,打字排版技能,作图技能。

本节作为课程第一章第二节,它能为后面的编程课程打下良好的理论基础,起到承前启后的作用。

第一节我们了解到程序设计各阶段框架,可以看出“算法及算法描述”是计算机程序设计第二和第三阶段的内容,所以说算法是程序设计的灵魂。

算法的思维和算法的流程图描述,除了计算机软件行业外生活工作学习都可能用到。

比如解决具体问题的多样性、工作流程图设计、业务流程图设计、学习流程图设计等等。

通过我对本校课前问卷调查,发现学生水平参差不齐,而且对算法的枯燥缺乏学习的耐心。

这给教学设计增添了难度。

但是初三学生自学能力强、好表现、好创作。

根据这些特点我拟定一下三维目标。

(ppt)并确定了教材中的重点难点。

(ppt)为了突出和攻克课程中的重点和难点,我在课程的几大环节中采用了以下教法。

在突出重点算法的自然语言描述上我采用了讲授法和任务驱动法,在突出难点流程图描述上,我采用了演示法和任务驱动法。

其他环节也采用了相应的方法。

学生根据我的课程设计主要用了自主学习法和协作学习法,来共同促进学习。

我的整个教学过程分为趣味游戏导入、算法及特征、自然语言描述、流程图描述、小结和习题五个模块学习。

首先,根据九年级学生心里特点,本节课我采用的第一种教学方法就是“游戏激趣”法。

我给出背景案例,农夫如何安全带狼狗羊菜过河,在将事先做好的flash游戏在网络机房环境下分发给大家,并派学生上台演示,由游戏情景带动学生学习,保证了学生能在教师的引领下,积极、主动、高效地完成教学。

我在根据这次游戏主题引入课题——算法及算法的描述。

1.2算法和算法的描述

1.2算法和算法的描述

二、算法的特征
例:计算1+2+3+……+100=? 分析:这个算法有限制范围,可以在有限 时间内完成,这是算法的第一个特征:有 穷性。计算此算法可以用纸笔、算盘、运 算器 和计算机来完成,且计算过程是 多样的,但结果是唯一的。这就是算法的 可行性、确定性。

计算方法: ⑴把这100个数按顺序相加。 ⑵用凑数法:1+99=100,2+98=100, 3+97=100,……,49+51,最后只剩下50 和100。
实践练习: 一天,小猴子从树上摘下若干个桃子,当即吃了一半,觉得不过瘾, 又吃了一个。第二天小猴子接着吃剩下的一半,还觉得不过瘾, 又吃了一个。以后每天都是吃前一天剩下的一半后,就再多吃了 一个。到第四天,只剩下一下桃子。试设计一个算法流程图,求 小猴子第一天摘下了多少个桃子。
作业:p12 实践(2)
方法一:首尾相加后,再乘以100,即(100+1)*50=5050
方法二:1+2+3…+100最终也能加到结果 但是计算的过程大家可想而知。解决问题的方法,也许有很多种,但是运用 不同的方法却会产生不同的效果。
我们编写程序也是一样,你使用不同的算法,也会产生不同的效果。 说归说,我们再来看一个例子。 求9147485和5147480两个数的最大公约数。 你们是怎么计算的?
例1:现有两个杯子A、B,分别盛 放不同的液体,现要求将杯A中的液 体放到B杯中,把杯B中的液体放到 杯A中,写出解决这一问题的算法。

例2:交换两个变量x和y中的数据。
例3:求9147485和5147480两个数的最大公约数。

在《几何原本》中,欧几里得阐述了关于 求两个整数的最大公约数的过程,就是著 名的欧几里得算法——辗转相除法。

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.2算法和算法的描述

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、写出答案
过河的方案: 第一步:人和羊过河,人返回,留下羊; 第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜和狼; 第四步:人和羊过河

算法描述与设计

算法描述与设计
Dim n as integer N=1 while(n<1100) Do { if(n%3==2&&n%5==3&&n%7==2) (n mod 3=2) and (n mod 5=3) if and (n {printf("%d\ {printf("%d\n",n);break;} mod 7=2) then Print n Exit do else n++; }} End if N=n+1 Loop
第一章 如何用计算机解决问题
6、下列哪一个不是用于程序设计的( ) A. BASIC B.C语言 C.WORD D. Pasical 7、程序设计语言的发展阶段不包括( ) A.机器语言 B.自然语言 C.汇编语言 D.高级语言 8、下面说法正确的是( ) A.算法+数据结构=程序 B.算法就是程序 C.数据结构就是程序 D.算法包括数据结构 9、下列不属于描述算法方式的是( ) A、自然语言 B、伪代码 C、流程图 D、机器语言 10、流程图是描述( )的常用方法 A、程序 B、算法 C、数据结构 D、计算规则 11、下列关于算法描述语言,错误的是( ) A、用流程图描述算法形象、直观 B、自然语言描述的算法很容易转化为程序设计语言 C、用伪代码编写的算法简洁易懂、容易修改 D、自然语言描述的算法通俗易懂,但缺乏直观性和简洁性
输入圆的半径R 输入圆的半径R S=3.14*R*R 输出面积S 输出面积S
说明:该算法中计算面积所需的初始数据半径R待 定,需要在算法执行时从键盘多个输入 多个输入。 多个输入
第5题
① ② ③ ④
输入圆的半径R 输入圆的半径R S=3.14*R*R C=2*3.14*R 输出面积S 周长C 输出面积S,周长C

1.2算法描述与设计

1.2算法描述与设计

1.2 算法描述与设计一、教材分析本节是高中信息技术选修课《算法与程序设计》(教科版)第一章“如何用计算机解决问题”的第二节“算法描述与设计”。

通过1.1 节的学习,学生已经了解了计算机解决问题的基本过程,并知道算法是程序设计的灵魂,只要算法正确,就可以用任何一种语言编写程序。

本节课通过几个典型的例子来帮助学生加深对算法的理解,并学会用不同的方法描述算法。

二、学生分析学生在数学课中对算法已经有所了解,特别是用“自然语言”和“流程图“描述算法,高一数学中已经讲过了,所以教师可以让学生自己先尝试完成。

三、教学目标1、知识与技能进一步理解什么是算法,知道算法的多样性。

2、过程与方法①能够对设计的算法作简单的评价;②学会用自然语言、流程图和伪代码来描述算法。

3、情感、态度及价值观教师注意结合实例给学生讲解,帮助学生建立并保持其学习程序设计的兴趣和信心。

四、教学重、难点1、重点算法的三种描述方法:自然语言、流程图和伪代码。

2、难点结合实例分析算法的三种描述方法。

五、教学策略1、教学思路本节课用日常生活问题和趣味性数学题引入 , 让学生通过比较,思考、讨论、探索解决问题的方法和步骤,理解算法的相关概念,通过两个例子由浅入深地引导学生思考,讨论,进行探究性学习,符合学生的认知规律。

通过讲授、演示观察、讨论相结合的方法,充分调动学生的主观能动性,以达到主动学习、探究性学习。

作品欣赏——进入算法(解决问题的方法和步骤)——算法的三种描述方法(结合实例:韩信点兵问题、闰年的判断)。

教学过程一、作品欣赏、引入新课学生活动:欣赏利用VB制作的小作品:九九乘法表、智能计算器、打靶游戏、十二中学生辩论赛计时器。

教学总结:刚才同学们看到的都是利用VB制作的小程序,其中有老师自己制作的,也有老师从网上下载的,同学们想不想自己动手制作自己喜欢的小程序哪?比如自己开发的小游戏等。

二、结合实例、讲解新课1、算法是“灵魂”教师活动:从今天开始我就教大家如何制作自己喜欢的小程序。

1.2 算法的描述教学设计

1.2 算法的描述教学设计

1.2 算法的描述一.教学目标1.知识与技能:了解算法的描述方法;认知流程图的六种基本符号;理解算法的择优。

2.过程与方法:理解用不同的表达方法描述算法的优缺点。

掌握用流程图描述简单问题的方法。

3.情感态度和价值观:以鸡兔同笼问题引出算法的描述方法,激发学生的学习兴趣,培养学生的主动探究能力;培养良好的信息素养。

二.教学重难点重点:1.算法的描述方法;2.流程图的六种基本符号;3.用流程图描述简单的算法。

难点:1.用流程图描述算法;2.算法的择优。

三.教学策略任务驱动、合作讨论、自主探究相结合四.教学设计(一)复习旧课1.算法的概念:算法是在有限步内求解某一问题所使用的一组定义明确的规则。

通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行想动作或指令的有穷集合。

2.算法的特征:输入、输出、确定性、有穷性、可执行性。

(二)教授新课问题导入:鸡兔同笼问题:一个笼子里有鸡和兔,现在只知道一共有a个头,b只脚,问鸡和兔各有多少只?解:设鸡有x只,兔有y只。

x+y=a2x+4y=b解方程的x=2a-b/2, y=b/2-a1.自然语言描述法:1)输入a和b的值;2)求x=2a-b/2;3)求y=b/2-a4)输出x,y的值;5)结束。

自然语言通俗易懂,但有时会有歧义、较长、结构不清晰、不便转换为程序设计语言,所以引出另一种描述方法:伪代码描述法。

2.伪代码描述法:1)Input a,b2)x=2a-b/23)y=b/2-a4)Print x,y5)End伪代码书写方便、格式紧凑、易理解,便于转换为程序,但是其种类繁多,不容易规范,可能产生误解。

所以引入另一种描述方法——流程图描述法。

3.流程图描述法(先让学生自己画流程图,然后再讲解,看自己画的和老师讲的有何异同。

)2)例题的流程图:(三)三种描述方法的比较(四)拓展训练三角形面积问题:设计一个算法,实现如下功能:从键盘上输入三角形的三条边长a,b,c,如果能构成一个三角形,则输出其面积,否则输出“不能构成一个三角形!”的提示信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

伪代码描述
输入 a , b
If a = 0 then
伪 代 码 描 述
if b = 0 then 输出x为任意值 else 输出x无实数解 end if Else
x= -b/a
End if
小结
算法——解决问题的方法和步骤 特征:有输入 确定性 有穷性 有输出 可行性
用自然语言描述算法
小 结
算法的描述
自然语言描述
S1:移项得 ax = - b ;
自 然 语 言
S2:若a不等于0,则x=-b/a,结束 S3:若a=0,b=0,得x为任意值,结束; S4:否则输出x无实数解,结束;
流程图
流程图描述
也称为程序框图,它是算法的一种图形化 表示方法。 优点:形象、直观、容易理解
常用的“流程图”所用的基本符 号
第四步:人和羊过河。
算法
算法的概念 算法就是解决问题的方法和步骤,而且步骤 是有限的。在以后的编程中也要记住了,有些步骤 是可以颠倒的,不影响程序的结果;但是有些一旦 颠倒了那最终的结果也就全变了。
算法的特征
1
2
有穷性:执行步骤和每 步执行时间都是有限的
3
输入:有零个或多个输入
确定性:每一步都有确切的含义
程序框 名称 开始/结束 功能 算法的开始和结束
输入/输出
处理
输入和输出信息
计算与赋值
判断
流程线
条件判断
算法中的流向
连接圈
表示算法流向出口或入 口连接点ຫໍສະໝຸດ 流程图描述流 程 图
伪代码
伪代码描述
伪代码是介于自然语言和计算机程序语言
之间的一种算法描述。
优点:简洁、易懂、修改容易 缺点:不直观、错误不容易排查
1 这个方案总共有多少步?
2 3
哪几步顺序可以颠倒? 通过以上例子,我们能不能总结出什么是算法? 【问题一】中,我们是用什么来描述算法的? 算法还有其他的描述方法吗?
4
5
过河方案
牧 羊 人 过 河 方 案
第一步:人和羊过河,人返回,留下羊;
第二步:人和狼过河,人和羊返回,留下狼;
第三步:人和菜过河,人返回,留下菜;
用流程图描述算法
用伪代码描述算法
一个问题,可能有多种算法 ,应该通过分 析、比较、挑选一种最优的算法。一个好算法必 须用到科学的方法 ,应该好好学习各学科处理问 题的科学方法。
课后实践
题一
用流程图描述求ax2 + b = 0方程的解
题二
用伪代码描述求ax2 + b = 0方程的解
题三
用表格比较自然语言、流程图和伪代码3种描 述方法的优缺点
算法的描述与设计
算法的描述与设计
问题一
有一个牧羊人带着一头羊,一只狼和一颗 大白菜准备过河,他找到一只很小的船,每次只 能带一样东西过去,可是如果让狼与羊单独在一 起,狼会吃羊,让羊与白菜单独在一起,羊会吃白 菜,牧羊人应如何过河?
要求:现在请同学们来设计一个方案,把 3样东西安然无恙的带过河。
思考
4
输出:至少产生一个输出
算法 特征
5
可行性:原则上能精确运行
算法的描述方法
用自然语言描述算法
算法的描述
用流程图描述算法 用伪代码描述算法
例:求方程 ax + b = 0 的解。
自然语言
自然语言描述
用自然语言表达算法,就是把算法的各个 步骤,依次用人们熟悉的自然语言表示出来。 优点:容易理解 缺点:书写较烦、不确定性、对复杂的问题难以 表达准确、不能被计算机识别和执行
相关文档
最新文档