算法和算法的表示
第二单元 算法及算法的表示
【例4解题】 本题属于容易题,考查学生对算法相关概念 的理解。算法是解题方法的精确描述,它的处理步骤是有限的, 解决一个具体问题可以采用多种算法,每种算法可使用多种程序 语言(VB便是其中的一种)来实现,故排除A、C、D选项;算法的 流程图 、程序语言 三种常用表示方法为自然语言 ________、________ ________。 B 【答案4】 ________
②选择结构:也称为分支结构或判断结构。在算法执行流程 中,往往需要对某个情况 e进行判断,当结果为真时,执行处理 步骤Step1 ,否则执行处理步骤Step2。选择结构使算法能根据情 况的不同,在预定的两个处理步骤中,选择一个合适的处理步骤 执行。
③循环结构:对某个情况e进行判断,当结果为真时,执行 处理步骤Step1,然后再次判断这个情况e,当结果为真时,再次 执行处理步骤Step1,并继续判断情况e。如此重复上述过程,直 到判断的结果为假。
【例9】 求[0,100]之间所有偶数之和s的算法流程图如图所 示。为了实现此算法,图中判断框①和处理框②处可填入的是 ( )
A.① x ≤ 100? ② x←x+2 B.① x ≤ 100? ② x←x+1 C.① x ≥ 100? ② x←x+2 D.① x ≥ 100? ② x←x+1
【例9解题】 本题属于较难题,考查算法流程图相关知识 点。由流程图可知x的初值为2,判断x值是否在[0,100]之间,将 符合要求的x累加到s中,再对x执行每次+2的处理。因此判断框 ①中填写的内容为x ≤ 100,处理框②中填写的内容为x←x+2。 A 【答案9】 ________
算法的五种表示方法
算法的五种表示方法
数据结构和算法是计算机科学的核心。算法是一系列解决计算机
问题的条令或步骤。算法的表示方法有许多,其中最著名的有五种,
分别是流程图,演示图,文字描述,数字和程序。
首先,流程图是一种用于表示算法的形式。它使用框架和箭头来
表示算法中不同步骤之间的关係。它是在课程规划中常用的表示方法,因为它对程式设计者来说直观,容易读和理解。
其次,演示图是另一种表示算法的方法,它使用图形来展示算法
流程。它对程式设计者来说很有用,因为它可以清楚地展示一个算法
的步骤。
第三,文字描述是一种基本的算法表示方式,它使用文本来描述
算法的步骤。对于新手来说,文字描述是最好的算法表示法,因为它
能够将重要信息清楚地呈现出来。
第四,数字表示法是一种初级算法表示方式,它使用数字来表示
数据结构和演算法。它显示数据结构和演算法之间的相互联繫和关係,使程式设计者更容易管理和运行程序。
最后,程序是最有名的算法表示法之一。程序使用一种专有的语言,如C,Java或Python来描述算法。这是程式设计者使用的最常用的表示法,因为它是可以直接使用的可执行代码。
总而言之,算法的表示方法有很多种,但最常用的有五种,分别是流程图,演示图,文字描述,数字表示法和程序。它们对于程式设计者来说各有其优势,通过使用合适的表示法,您可以更快速准确地开发程序。
简述算法的五种表达形式
简述算法的五种表达形式
算法的表达形式有五种:1.算术表示2.逻辑表示3.代数表示4.图解表示5.公理化表示。算法是指解决问题方法,它是一系列用来确定对象、操作和关系的数学规则或程序组合,能够描述现实世界中的各种现象,并为其提供一个解释框架。由于人们在解决问题时所采取的不同方法可以得到完全不同的结果,因此在求解问题过程中经常需要用算法来替代原始的计算机程序。如果把解决问题的过程比喻成造房子,那么算法就相当于建筑师设计的蓝图,工匠制作的砖瓦,设计者根据这些图纸进行施工。
《算法与算法的表示》说课材料
《算法与算法的表示》说课材料
各位专家!我今天说课的题目是“算法与算法的表示”。
一、教材分析及处理
【教材分析】
《算法与算法的表示》是《信息技术基础》教材中第三章第四节第一课时的教学内容。本课针对高中学生的知识接受能力,利用日常生活中的问题让学生理解算法的含义,了解表示算法的常用方法。使学生明白算法无处不在,设计算法是用计算机解决问题的关键环节。
本节课文中共分三部分,第一部分介绍了算法,第二部分讲解了算法的表示,第三部分介绍了程序设计实例。在这里,我只选择了其中的算法和算法的表示这两部分,主要介绍算法的概念和表示方法。通过本课的学习,要求学生能了解算法的概念,掌握如何用流程图来描述算法。
【教学目标】
本着以提高学生思维能力、学生的知识水平与能力水平,培养学生的信息素养为宗旨。我确定了以下的教学目标:
知识目标:初步了解算法的概念,掌握算法的表示,并能对问题使用流程图表示。
能力目标:培养学生自主学习、探究学习的能力,分析解决问题的能力以及逻辑思维的能力。
情感目标:形成积极主动地学习和使用信息技术、参与信息活动的态度,培养学生合作意识和创新精神。
【教学重点与难点】
重点:算法的流程图表示。
根据课文前后教学的内容,高中生的接受能力,我把本课的教学重点确定为给出问题让学生能画出解决问题方法的流程图。
难点:理解算法的概念是什么,如何用算法解决问题。
因为算法的概念学生是初次接触,而且这个概念很抽象,所以我把理解算法的概念是什么,如何用算法解决问题确定为本课的难点。
【教学工具准备】
多媒体网络教室、自制课件。
什么是算法的概念及其表示方法?
什么是算法的概念及其表示方法?
算法指的是一组明确定义的有限步骤,用于解决特定问题或完
成特定任务的过程或方法。它是计算机科学和数学中的重要概念。
算法的表示方法有以下几种:
1. 自然语言描述法:使用自然语言,如中文或英文,来描述算
法的步骤和操作过程。
2. 伪代码表示法:使用类似编程语言的伪代码来表示算法的步骤,以简洁清晰的方式描述算法的逻辑结构。
3. 流程图表示法:使用图形符号和箭头来表示算法的步骤和流程,以便更直观地展示算法的执行顺序和控制流程。
4. 程序代码表示法:使用具体的编程语言,如Java、Python等,编写算法的实际代码,以便计算机能够直接执行算法。
选择合适的表示方法取决于具体的应用场景和需求。对于简单的算法,使用自然语言或伪代码表示法可能足够清晰易懂;对于复杂的算法,使用流程图或程序代码表示法可能更具表达能力和实际可执行性。
总之,算法是解决问题的方法或步骤,而表示方法是将算法转化为人类和计算机能够理解和执行的形式。了解算法的概念和各种表示方法对于计算机科学和算法设计非常重要。
算法及算法的表示
4
算法及算法的表示
1.2 算法的特性
1.有穷性:算法须在执行有穷多个计算步骤后终止 2.确定性:算法的每个步骤必须都是精确定义的、无二 义性的; 3.有效性:算法中的每一个步骤必须有效地执行,并能 得到确定结果; 4.输入:一个算法中可以没有输入,也可以有一个或多 个输入信息 5.输出:一个算法应有一个或多个输出
13
算法及算法的表示
图1-9 顺序结构的N-S图
图1-10选择结构的N-S图
图1-11 循环结构的N-S图 14
算法及算法的表示
例1-1和例1-2的算法用N—S流程图分别如图1-12和图1-13所示。
图1-11 例1-1算法的N—S流程图
图1-12 例1-2算法的N—S流程图
15
算法及算法的表示
5
算法及算法的表示
1.3 算法的表示
一、 自然语言与伪代码表示算法
➢自然语言就是指人们日常使用的语言,可以是汉语、英语或 其它语言。 ➢伪代码是用介于自然语言和计算机语言之间的文字和符号 (包括数学符号)来描述算法。
6
算法及算法的表示
例1-1的伪代码表示如下:
Begin(算法开始) 输入 A,B,C IF A>B 则 A→Max 否则 B→Max IF C>Max 则 C→Max
输入A、B、C
算法及算法的描述
输入、输出框 框中标明输入、输出的 内容 处理框
判断框
只有一流入线和一流出线 只有一流入线和一流出线
一流入线两流出线(T和F )但同时只能一流出线起作 用
框中标明进行什么处理
框中标明判定条件并在 框外标明判定后的两种 结果的流向 表示从某一框到另一框 的流向 表示算法流向出口或入 口连接点
流线 连接圈
算法的三种模式
• 顺序结构 • 分支结构 • 循环结构
顺序结构
例1:请用流程图来表示“将大象放入冰箱”这一完整过 程。
开始
打开冰箱门 放入大象
关上冰箱门
结束
分支结构和循环结构
开始
开始
Y
执行a
条件?
N
执行a
执行b
条件?
Y
执行b
N
结束 结束
例8:
开始 输入变量n的值
s←0 i←1
i>1?
N
i是3的倍数?
Y
Y s←s+i
i←i+1
结束
例12:
t←0
i←2
i<=6
Y
i←i+2
t←t+1
N
结束
例13:
开始
s←0
i←1
s≠13?
N
输出s
Y s←s+i
算法和程序设计分析及试题附答案_08-算法和程序设计
选修1:算法与程序设计
第一单元算法
一、知识内容
(一)使用计算机解决问题的一般过程
考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接运用。
1.一般过程
(1)分析问题确定要使用计算机来“做什么”,即确定解题的任务。
(2)寻求解决问题的途径和方法。
(3)用计算机进行处理。
2.确定解决问题的方法及步骤化
确定了解决问题的方法后,必须把解决问题的方法步骤化,即用某种方式告诉计算机每个需做什么。
计算机开始计算之前,需把解决问题的程序存储在内存中。通常一个程序包括指令和数据两部分。
(1)指令部分:指令是对计算机操作类型和操作数地址做出规定的一组符号。
(2)数据部分:计算所需的原始数据、计算的中间结果或最终结果。
3.设计程序时需要考虑的问题
(1)数据的存储:计算所需要的原始数据、计算产生的中间结果需要存储在不同的变量中。
(2)计算的过程:把解决问题的方法步骤化,并用计算机能执行的指令来有序地实现对应的步骤。
(3)典型的指令类型有输入指令、输出指令、算术运算指令、逻辑运算指令和控制转移指令。(二)算法及算法的表示方法
考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。
1.算法的特征
(1)有穷性。一个算法必须保证它的执行步骤是有限的,即它是能终止的。
(2)确定性。算法中的每个步骤必须有确切的含义,不应当有模棱两可的。
(3)能行性。算法中的每一个步骤都要足够简单,能实际能作的,而且在能在有限的时间内完成。
算法及其表示(华罗庚的泡茶与算法)
算法及其表示(华罗庚的“泡茶”与算法)
任务
通过对“整数A除以B的余数”这个算法的描述,了解算法、算法的表示方法及其算法的实现途径。
整数A除以B的余数,这个问题在小学就已经解决,那么用计算机来
求解这个问题,应该如何来考虑呢?
为了理解计算机求解这个问题的方法,首先要对算法的概念和特点有
所了解,然后要掌握算法的不同表示方法,并用适当的方式来描述这个算
法,最后,确定用什么方法来实现这个算法。
一、了解算法
如果没有人们编制的软件去指挥计算机工作,计算机将一无所用。软
件是计算机的灵魂,而软件的核心是算法。用计算机解决问题的方法就是
算法,计算机是执行算法的机器,让计算机解决各种的问题主要就是创造
各种算法。
“算法”一词出现在公元825年左右,但算法思想在3500~5000年
以前就诞生了。算法是计算机科学中的重要概念之一,它指明了问题的计
算过程,是对给定问题解题方案的准确而完整的描述。
所谓算法是指逐步执行某类计算的方法,一个算法描述的是有穷动作
的序列。
华罗庚(1910-1985),中国现代数学家,是新中国数学研究事业的创始
人,也是中国在世界上最有影响的数学家之一。他倡导应用数学与计算机
的研制,曾出版《统筹方法平话》、《优选学》等多部著作并推广应用。他
在《统筹方法平话》中通过“泡茶”这个生活中我们每天都要进行的事例,
精辟地分析了算法的特性。
下面我们以数学家华罗庚的“泡茶”为例,说明算法的特性。
初始情况:开水没有,开水壶没洗,茶壶茶杯没洗;火已升了,有茶
叶。
最终情况:用开水泡茶喝。
解决方法:洗开水壶,洗茶壶。洗茶杯,茶叶放入茶壶,用开水壶烧开水,水开后泡茶喝。
算法和算法的描述
(2)设计算法
①令I=200; ②如果I能被5整除,则输出I; ③I=I+1; ④如果I<=500,则返回第②; ⑤结束。
二、算法的描述
1、用自然语言描述算法
一、算法
2、算法的特征
(3)有穷性。一个算法在执行有穷步之后必须结束。
反例: S1: sum=0 S2: I=1 S3: sum=sum+I S4: I=I+1 S5: 若sum>=0 ,返回s3;否则,算法结束。 (4)输出。算法有一个或多个输出。 (5)能行性。
二、算法的描述
表示算法的语言有哪几种? 表示算法的语言有自然语言、流程图、伪代码。 1、用自然语言描述算法 例:求200-500能被5整除的所有正整数。 (1)分析问题。
三、算法在解决问题中的地位和作用
表1-6中 两个程序的效率比较
指标 运行结果 用辗转相除法设计的程序 最大公约数= 用穷举法设计的程序 最大公约数=
运行时间 通用性
□较长 □较好
□较短 □较差
□较长 □较好
□较短 □较差
由此看来,算法是程序设计的核心,是程序设计的灵 魂。算法的好坏,直接影响着程序的通用性和有效性,影 响着问题解决的效率。
27算法与算法的表示
(十六)算法及算法的表示
27、算法与算法的表示
作者:屈胜春山东郯城第一中学邮编:276100
一、教学目标:
1.理解算法的定义;
2.知道两种算法的表示方法—语言描述法和流程图的区别
3.能初步利用算法解决简单的问题。
4.培养学生的理论联系实际能力和动手操作能力
二、教学重难点:
1.重点:算法的表示
2.难点:算法的表示
三、教学分析:
2004年信息技术会考时,“算法和程序”就是最难的一个会考知识点。现在中学生对于不理解的知识不接受;“算法和程序”虽然会考,但是只占很少的一部分;教师讲快了,学生不懂,讲慢了,又没有那么多的授课时间,所以很多学生就放弃了这节的学习。2004年高一教材全面实行新课改。高一数学教材中增加了“算法”。我们郯城一中高一四个教师坐在一起讨论,就提出了这样一个问题:是把这个难题留给数学老师解决呢,还是我们信息技术替数学分忧?我和高一数学老师就这个问题交换过意见,很多老师对于学生在数学中是否能学好“算法”有很大的疑问。我当时就想,能不能把数学和信息技术有机的结合在一起呢?数学老师也同意这种做法。高一数学是在高一下学期,我们把这一节内容也放在了下学期,和数学同步学习;利用数学晚自习,学生上机操作练习。
四、教材分析:
本节所讲算法主要是指计算机解决问题的方法和步骤。美国著名计算机科学家克努特教授提出了“计算机科学就是研究算法的科学”的著名论断,说明了算法在设计程序中的重要性,解决任何问题都必须设计算法。
但是,对于初学者而言,本节内容属于理论知识,具有一定的抽象性。怎么讲才能让学生容易接受呢?建构主义理论认为学习是新旧知识的联系,是学习者主动建构内在心理结构的过程。而在初学者原有的认知结构中没有关于算法的认知。如果直接讲算法,学生很难实现新旧知识的联系,无法做到意义建构和有意义的学习,对于算法的含义就难以做到真正理解。按照从感性到理性、从已知到未知的认知规律,我从学生的感性认知入手,从学生的兴趣出发,先教Qbasic的基本操作,为了让学生充分重视,我先让数学老师强调它的重要性;在学生能掌握Qbasic的基本操作,并能用Qbasic解决简单问题的基础上,通过对具体问题的讨论,使学生明白解决任何问题都需要有清晰的解决思路和解题步骤,再通过人-机解决问题方法的比较,得出计算机解决问题和人解决问题一样都需要有明确的解题步骤,而计算机的解题步骤就称为算法,这样就很自然地引入了算法的概念。易于学生接受和理解。
算法的表示方法
算法的表示方法
算法的常用表示方法有如下三种:
1、使用自然语言描述算法
2、使用流程图描述算法
3、使用伪代码描述算法
sum=1+2+3 我们来看怎样使用这3种不同的表示方法去描述解决问题的过程,以求解
+4+5 ...... + (n-1 ) +n 为例。
第1种:使用自然语言描述从1开始的连续n个自然数求和的算法
①确定一个n的值;
②假设等号右边的算式项中的初始值i为1;
③假设sum的初始值为0;
④如果i wn寸,执行⑤,否则转出执行⑧;
⑤计算sum加上i的值后,重新赋值给sum ;
⑥计算i加1,然后将值重新赋值给i;
⑦转去执行④;
⑧输出sum的值,算法结束。
从上面的这个描述的求解过程中,我们不难发现,使用自然语言描述算法的方法虽然比
较容易掌握,但是存在着很大的缺陷。例如,当算法中含有多分支或循环操作时很难表述清楚。另外,使用自然语言描述算法还很容易造成歧义(称之为二义性),譬如有这样一句话――武松打死老虎”,我们既可以理解为武松/打死老虎”,又可以理解为武松/打/死老虎”。自然语言中的语气和停顿不同,就可能使他人对相同的一句话产生不同的理解。又如你输他赢”这句话,使用不同的语气说,可以产生3种截然不同的意思,同学们不妨试试看。为
了解决自然语言描述算法中存在着可能的二义性,我们提出了第2种描述算法的方法一一
流程图。
第2种:使用流程图描述从1开始的连续n个自然数求和的算法
C开始J
//输入I的値/2
从上面的这个算法流程图中,可以比较清晰的看出求解问题的执行过程。在进一步学习使用流程图描述算法之前,有必要对流程图中的一些常用符号做一个解释。
算法及算法的表示
A.将①处改为 i ← 0 C.将③处改为 s ← s-i
【答案】 B
B.将②处改为 s < 13 ? D.将④处改为 i ← i+2
②c←c+1
②c←c+1
C.① sum ← sum + d D.① sum ← sum + c
②d←d+1
②d←d+1
9.有下图所示的流程图片断:
其中循环部分执行完后变量t的值是(
A.12
B.18
C.48
【答案】 B
) D.192
10.如下图所示,该流程图所表示的算法违背了算法的有穷性 特征,下列修改方法中,可以改正该错误的是( )
算法的设计与择优
以“泡茶”为例,说明设计和选择合适的、优化的算法的重要性。
“泡茶”过 程的步骤:
• 要想泡茶喝,当时的 情况是:开水没有, 水壶要洗,茶壶和茶 杯要洗;火已经生了, 茶叶也有了,怎么泡 茶喝?
洗开水壶
泡茶喝
灌凉水
拿茶叶
洗茶杯
洗茶壶
烧开水
洗开水壶 洗茶壶
洗茶杯
拿茶叶
灌凉水
烧开水
泡茶喝
一.算法的概念
• 过河的方案就是这道趣味 题的算法。请同学们记住 一句话:算法就是解决问 题的方法和步骤。
• 所谓“算法”就是解题方 法的精确描述。算法描述 的是一种有穷的动作序列 ,即算法是由有限个步骤 组成的。
算法与算法描述
一、算法 1、概念: 简单的说,算法就是解决问题的方法和步骤。 2、特征: (1)、有穷性:有限步骤内完成。 (2)、确定性:每一步有确切的含义。
(3)、可行性:能精确运行,而且人们用笔和 纸做有限次运算后即可完成。
(4)、有0个或多个输入。
(5)、有一个或多个输出。
二、算法描述 1、自然语言:日常生活中使用的语言。 2、流程图:
A
)
2、关于算法的描述,下列选项中正确的是( A、一个算法,当没有输入时,也没有输出 B、一个算法可以没有输入 C、算法只能用流程图来表示 D、一个算法的执行步骤可以是无限的
3、下列问题不能用算法描述的是(
B
)。
A、已知圆锥地面半径和高,求表面积和体积 B、求一元二次方程ax2+bx+c=0(a≠0)两个实 C、 计算某班英语平均分 D 、求方程y=2x+1的所有整数解
起止框 处理框 输入/出框 判断框
3、伪代码:介于自然语言和计算机程序语言之间。
三、程序设计语言: 机器语言、汇编语言、高级语言。
开始
输入半径r
s=pi*r^2
自然语言描述: 步骤一、输入圆的半径r 步骤二、计算圆的面积s 步骤三、输出圆的面积s
输出面积s
结束
开始
输入密码
密码是 否正确
自然语言描述: 输出“密码正确, 步骤一、输入密码 请等待登陆” 步骤二、判断密码是否正确 步骤三、正确的话,输出“密码 正确,请等待登陆”;错误的话, 输出“密码错误,请重新输入”
1-1、算法及程序实现专题(学考部分)
D.根据三角形三边长度求三角形面积
二、VB程序设计
1、基本概念
Name——对象的名称,就是对象名;
常见属性名及其含义
Caption——对象的标题,对于Label类对象和CommandButton类对 象,就是指对象上显示的内容;
Text——Textbox类对象中文本框中显示的内容; Backcolor——对象的背景色; Font——对象显示内容的字体(包括字体、字形、大小、效果);
(A)a = 1, b = 1,c = 1(B)a = 1: b = 1: c = 1 (C)a = 1; b = 1;c = 1(D)a = b = c = 1
选择结构程序设计
1. If…Then… 结构
条件表达式
语句块
行格式:If 〈条件表达式〉Then 语句块 If d>0 Then x1 = 3: x2 = 5 块格式:If 〈条件表达式〉Then 语句块 End If If d>0 Then x1 = 3 x2 = 5 End If
VB常用类型转换函数和字符串函数
函数名 Asc(x) 函数的功能说明 将字符转换为十进制ASCII码值 应用举例 Asc(“A”) 函数返回值 65
Chr(x)
Val(x) Str(x) Len(x) Mid(x,n,k) Fix(x)
将数值转换成该数值对应的的ASCII码所代表的字符
算法的四种表示形式
算法是解决特定问题的清晰、有限、有效的解决方案。算法可以用四种不同的表示形式来表示:
1.文字描述:使用自然语言或者形式语言(如数学语言)来描述算法的步骤。这种表
示形式通常用于描述算法的思路和过程,但不太方便程序实现。
2.流程图:使用图形元素(如矩形、圆形、三角形等)和线条来描述算法的步骤。流
程图可以更直观地展示算法的流程,方便理解和讨论。
3.表格:使用表格的形式来描述算法的步骤。表格的每一行代表一个步骤,每一列表
示步骤中的变量或者操作。表格可以让算法的步骤更加清晰和有序。
4.伪代码:使用类似于程序语言的语法来描述算法的步骤。伪代码可以让算法的流程
更加清晰,方便程序实现。伪代码并不是一种真正的编程语言,它只是用来描述算法流程的一种工具。
算法的表示形式并不是固定的,可以根据算法的特点和需要选择不同的表示方式。通常情况下,会先使用文字描述或者流程图来描述算法的思路和流程,再使用表格或者伪代码来细化算法的每一步。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章算法和算法的表示
本课是《算法与程序设计》选修课程的第一课,由于大部分学生首次接触程序设计,对程序设计普遍怀有畏惧心理,因而本课的重点是激发学生学习程序设计的兴趣。首先,通过狼、羊、菜过河游戏例子,调动学生学习兴趣,引出算法的概念,然后分析过河游戏的解决方法,尝试用自然语言和示意性程序描述上述游戏的算法。并通过带领学生进行计算机解决问题的实例分析,帮助学生了解使用计算机解决问题的经历三个阶段:分析问题、寻找解决问题的途径和方法和用计算机进行处理,了解算法流程图表示,理解算法的基本特征。
问题求解不只是信息科学技术才有的任务,它存在于社会各个领域。用计算机作工具来解决问题有几个阶段:
阶段 1:理解问题
阶段 2:得到怎样解决这个问题的方法
阶段 3:方法→算法→算法描述→算法实现(程序、上机)
阶段 4:算法分析(评估算法的效率)
以上阶段1~阶段3可用下图表示:
上阶段1~阶段3可用下图表示:
•教学重点:
1)理解算法的概念
2)使用示意性程序表示算法步骤
3)了解算法的基本特征
•教学难点:
使用示意性程序正确表示算法步骤
•知识与技能
1)掌握算法的概念,了解使用示意性程序描述算法的方法
2)了解算法的基本特征
•过程与方法:
1)通过游戏引入,理解算法的概念
2)通过模仿迁移、实践体验掌握算法的示意性程序表示,了解流程图的表示
•情感态度与价值观:
1)通过对具体问题的分析、解决,了解计算机解决问题的过程,提高学生对程序学习的兴趣
2)通过体验算法在生活中的运用,让学生发现身边的算法,提高学生算法思维能力
新课引入
生活中的算法。
例1:狼、羊和卷心菜过河游戏。在一河岸有狼、羊和卷心菜,农夫要将它们渡过
河去,但由于他的船太小,每次只能载一样东西。并且,当农夫不在时,狼会把羊吃掉,而羊又会把卷心菜吃掉。问农夫如何将它们安全渡过河去?
狼、羊和卷心菜过河游戏
游戏规则:没有农夫看管的时候,狼会吃羊,而羊会吃卷心菜。
点击上方“GO”后面圆圈中对应的东西,就能将它装上船,点击“GO”农夫就会将船划向对岸,再点击“GO”后面圆圈中装载在船上的东西,则能将其放下船。
观看解答
•问题提出
1.什么是算法?广义地说为了解决某一问题而采取的方法和步骤,就称之为算法。乐谱是乐队演奏和指挥的算法;菜谱是厨师烧菜的算法。在计算机中,算法通常是指可以用计算机来解决某一类问题的程序或步骤,这些程序或步骤必须是明确的和有效的,而且能够在有限步之内完成。
狼、羊和卷心菜过河游戏的一种算法描述:(设:要从河的右岸到河的左岸)
①农夫先带羊过河到左岸,然后农夫将船划回右岸;
②农夫带卷心菜过河到左岸,然后将羊带回到右岸;
③农夫带狼过河到左岸,然后农夫将船划回右岸;
④农夫带羊过河到左岸;
2.计算机解决问题一般要经历的三个阶段:
①做什么(确定需要解决的任务)
②怎么做(寻找解决问题的途径与方法)
③用计算机来实现
例2:使用一根长度为L厘米的铁丝,制作一个面积为S平方厘米的矩形框,要求计算该矩形的高h和宽w
由题意可知:S=hw........①
L=2(h+w)....②
由①式得w=S/h,代入②式,得L=2(h+s/h)
整理得h2-hL/2+s=0
这是一个求解一元二次方程的问题。
设d=L2-16S,则d>0时;
当d=0时,w=h=L/4,是一个边长为L/4的正方形;
当d<0时,方程无实数根,在这种情况下不能制作出所要求的矩形框。[示意性程序P]
[使用流程图表示](点击运行体验)
•知识讲解
1.算法的五个特征:
①有穷性:一个算法必须保证它的执行步骤是有限的,即它是能终止的。也就是说操作步骤不能是无限的。
②确定性:算法中的每个步骤必须有确切的含义,而不应当是含糊的、模棱两可的。
③能行性。算法中的每一个步骤都要足够简单,是实际能做的,而且能在有限的时间内完成。
④有0个或多个输入。所谓输入是指算法在执行时需要从外界获得数据,其目的是为算法建立某些初始状态。
⑤有一个或多个输出。算法的目的是用来求解问题,问题求解的结果应以一定的方式输出。
•课堂练习
1.平日在生活、学习中遇到的问题是否能表示成数学公式?
①列举几个能表示成数学公式的问题的例子。
②列举几个不能表示成数学公式的问题的例子,并说明你的解决步骤。
2.列举几个你在学习、生活遇到中问题,分析能否用计算机来解决,并尝试用自然语言写出算法步骤。
3.试写一个求1到100之间的偶数之和的示意性程序(参照P程序格式)。
2.答:用数学公式或算法解决举例:
①例如位移问题可表示为S=vt。
②矩形的面积可表示为S=hL,一元二次方程的求解,如制作矩形框例子中的二次方
程根可表示为4
S 16
,
2 2
1
-
±
=
L
L
h
h
。③给出了3,3,8,8四张扑克牌,要求给出由这4个数生成数24的算法表示式。条件是每个数要用一次,至多也只能用一次;只能用+、-、×、÷和括号等算术运算符。
解决这一问题的关键是要把3,3,8通过运算符生成3,或将3,8,8生成8。后者没有可能,我们可以利用前面这组关系通过式子8÷(3-8÷3)就可得出答案。
不用数学公式:数列的排序,数据的查找等均可通过算法来实现。
3.答: 地址存储内容
1 sum=0
2 n=0
3 若n>100转到7
4 计算n+2送变量n
5 计算sum+n送变量sum
6 转到3
7 输出sum
8 结束
9 变量sum中的数值
10 变量n中的数值
•拓展学习
高楼的自动电梯是按什么规则为乘客服务的?
自动电梯能实现自动升降,主要是它安装了微型电脑控制器。微型电脑控制器主要任务如下:
A.要让乘客方便,尽可能减少等待。
B.要节约能源,尽可能减少空开里程和往返次数。具体地说控制器按以下规则控制电梯运行:
1)乘客进入电梯房,按目标楼层键并关门启动运行;
2)控制器根据事先存储在电脑中的指标判断人员是否超载?若超载发出提示信息,下去若干人,返回第1)步。
若未超载,执行下一步;
3)关闭电梯门,根据目标楼层键判断上升或下降;
4)随时判断是否有人按下同方向的请求键。若是,则运行到该层停下,开门上下