文档库 最新最全的文档下载
当前位置:文档库 › 算法的含义、程序框图

算法的含义、程序框图

算法的含义、程序框图
算法的含义、程序框图

普通高中课程标准实验教科书—数学[人教版]

高三新数学第一轮复习教案(讲座15)—算法的含义、程序框图

一.课标要求:

1.通过对解决具体问题过程与步骤的分析(如,二元一次方程组求解等问题),体会算法的思想,了解算法的含义;

2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程。在具体问题的解决过程中(如,三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环。

二.命题走向

算法是高中数学课程中的新内容,本章的重点是算法的概念和算法的三种逻辑结构。

预测2007年高考对本章的考察是:以选择题或填空题的形式出现,分值在5分左右,考察的热点是算法的概念。

三.要点精讲

1.算法的概念

(1)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。

在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。

(2)算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”。“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务。

②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣。分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续。③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行。

(3)算法的描述:自然语言、程序框图、程序语言。

2.程序框图

(1)程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形;

(2)构成程序框的图形符号及其作用

(3)程序框图的构成

一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必要的说明文字。

3.几种重要的结构 (1)顺序结构

顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

见示意图和实例:

顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A 框和B 框是依次执行的,只有在执行完A 框指定的操

示意图

作后,才能接着执行B 框所指定的操作。

(2)条件结构

如下面图示中虚线框内是一个条件结构,此结构中含有一个判断框,算法执行到此判断给定的条件P 是否成立,选择不同的执行框(A 框、B 框)。无论P 条件是否成立,只能执行A 框或

B 框之一,不可能既执行A 框又执行B 框,也不可能A 框、B 框都不执行。A 框或B 框中可以有一个是空的,即不执行任何操作。

见示意图

(3)循环结构

在一些算法中要求重复执行同一操作的结构称为循环结构。即从算法某处开始,按照一定条件重复执行某一处理过程。重复执行的处理步骤称为循环体。

循环结构有两种形式:当型循环结构和直到型循环结构。

①当型循环结构,如左下图所示,它的功能是当给定的条件P 成立时,执行A 框,A 框执行完毕后,返回来再判断条件P 是否成立,如果仍然成立,返回来再执行A 框,如此反复执行A 框,直到某一次返回来判断条件P 不成立时为止,此时不再执行A 框,离开循环结构。继续执行下面的框图。

②直到型循环结构,如右下图所示,它的功能是先执行重复执行的A 框,然后判断给定的条件P 是否成立,如果P 仍然不成立,则返回来继续执行A 框,再判断条件P 是否成立。以次重复操作,直到某一次给定的判断条件P 时成立为止,此时不再返回来执行A 框,离开循环结构。继续执行下面的框图。

见示意图

四.典例解析

题型1:算法概念

例1.下列说法正确的是( )

当型循环结构 直到型循环结构

A.算法就是某个问题的解题过程;

B.算法执行后可以产生不同的结果;

C.解决某一个具体问题算法不同结果不同;

D.算法执行步骤的次数不可以为很大,否则无法实施。

解析:答案为选项B;选项B,例如:判断一个整数是否为偶数,结果为“是偶数”和“不是偶数”两种;选项A,算法不能等同于解法;选项C,解决某一个具体问题算法不同结果应该相同,否则算法构造的有问题;选项D,算法可以为很多次,但不可以无限次。

点评:算法一般是机械的,有时需要进行大量的重复计算。只要按部就班去做,总能算出结果。通常把算法过程称为“数学机械化”。数学机械化的最大优点是它可以借助计算机来完成;实际上处理任何问题都需要算法。如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……。

例2.下列语句中是算法的个数为()

①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎;

②统筹法中“烧水泡茶”的故事;

③测量某棵树的高度,判断其是否是大树;

④已知三角形的一部分边长和角,借助正余弦定理求得剩余的边角,再利用三角形的面积公式求出该三角形的面积。

A.1 B.2 C.3 D.4

解析:正确选项为C,③中我们对“树的大小”没有明确的标准,无法完成任务,不是有效的算法构造。①中,勾画了从济南到巴黎的行程安排,完成了任务;②中,节约时间,烧水泡茶完成了任务;④中,纯数学问题,借助正、余弦定理解三角形,进而求出三角形的面积。

点评:算法过程要做到能一步一步的执行,每一步执行的操作,必须确切,不能含混不清,且在有限步后的必须得到问题的结果。

题型2:经典算法

例3.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊。该人如何将动物转移过河?请设计算法?

解析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势,具体算法如下:

算法步骤:

第一步:人带两只狼过河,并自己返回;

第二步:人带一只狼过河,自己返回;

第三步:人带两只羚羊过河,并带两只狼返回;

第四步:人带一只羊过河,自己返回; 第五步:人带两只狼过河。

点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的。这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性。本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的问题经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率。

例4.这是中国古代的一个著名算法案例:一群小兔一群鸡,两群合到一群里,要数腿48,要数脑袋17,多少小兔多少鸡?

解析:求解鸡兔的问题简单直观,却包含着深刻的算法思想。应用解二元一次方程组的方法来求解鸡兔同笼问题。

第一步:设有小鸡x 只,小兔y 只,则有?

?

?=+=+)2(4842)

1(17y x y x

第二步:将方程组中的第一个方程两变乘-2加到第二个方程中去,得到

??

??-=-=+2

1748)24(17

y y x ,得到y=7; 第三步:将y=7代入(1)得x=10。

点评:解决这些问题的基本思想并不复杂,很清晰,但叙述起来很烦琐,有的步骤非常多,有的计算量很大,有时候完全依靠人力完成这些工作很困难。但是这些恰恰是计算机的长处,它能不厌其烦的枯燥的、重复的、繁琐的工作。但算法也有优劣,我们要追求高效。

题型3:顺序结构

例5.写出通过尺轨作图确定线段AB 一个5等分点的算法。

解析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务。

算法分析:

第一步:从已知线段的左端点A 出发,任意作一条与AB 不平行的射线AP ; 第二步:在射线上任取一个不同于端点A 的点C ,得到线段AC ; 第三步:在射线上延AC 的方向截取线段CE=AC ; 第四步:在射线上延AC 的方向截取线段EF=AC ; 第五步:在射线上延AC 的方向截取线段FG=AC ;

第六步:在射线上延AC 的方向截取线段GD=AC ,那么线段AD=5AB ; 第七步:连接DB ;

第八步:过C 作BD 的平行线,交线段AB 于M ,这样点M 就是线段AB 的一个5等分

点。

点评:这个算法步骤具有一般性,对于任意自然数n,都可以按照这个算法的思想,设计出确定线段的n等分点的步骤,解决问题。

例6.有关专家建议,在未来几年内,中国的通货膨胀率保持在3%左右,这将对我国经济的稳定有利无害。所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%。在这种情况下,某种品牌的钢琴2004年的价格是10 000元,请用流程图描述这种钢琴今后四年的价格变化情况,并输出四年后的价格。

解析:用P表示钢琴的价格,不难看出如下算法步骤:

2005年P=10000×(1+3%)=10300;

2006年P=10300×(1+3%)=10609;

2007年P=10609×(1+3%)=10927.27;

2008年P=10927.27×(1+3%)=11255.09;

因此,价格的变化情况表为:

程序框图为:

点评:顺序结构只须严格按照传统的解决数学问题的解题思路,将问题解决掉。最后将解题步骤 “细化”就可以。“细化”指的是写出算法步骤、画出程序框图。 题型4:条件结构

例7.设计算法判断一元二次方程02

=++c bx ax 是否有实数根,并画出相应的程序框图。

解析:算法步骤如下:

第一步:输入一元二次方程的系数:a ,b ,c ;

第二步:计算△ac b 42

-=的值;

第三步:判断△≥0是否成立。若△≥0成立,输出“方程有实根”;否则输出“方程无实根”。结束算法。

相应的程序框图如下:

点评:根据一元二次方程的意义,需要计算判别式△ac b 42

-=的值。再分成两种情况处理:(1)当△≥0时,一元二次方程有实数根;(2)当△<0时,一元二次方程无实数根。该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同。因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解。该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构。 例8.(1)设计算法,求0=+b ax 的解,并画出流程图。

解析:对于方程0=+b ax 来讲,应该分情况讨论方程的解。

我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下: (1)当a ≠0时,方程有唯一的实数解是a

b -

; (2)当a=0,b=0时,全体实数都是方程的解; (3)当a=0,b ≠0时,方程无解。

联想数学中的分类讨论的处理方式。可得如下算法步骤:

第一步:判断a 是否不为零。若成立,输出结果“解为a

b -

”; 第二步:判断a=0,b=0是否同时成立。若成立,输出结果“解集为R ”; 第三步:判断a=0,b ≠0是否同时成立。若成立,输出结果“方程无解”,结束。

(2)。设计算法,找出输入的三个不相等实数a、b、c中的最大值,并画出流程图。

解析:算法步骤:

第一步:输入a,b,c的值;

第二步:判断a>b是否成立,若成立,则执行第三步;否则执行第四步;

第三步:判断a>c是否成立,若成立,则输出a,并结束;否则输出c,并结束;

第四步:判断b>c是否成立,若成立,则输出b,并结束;否则输出c,并结束。

点评:条件结构嵌套与条件结构叠加的区别是: (1)条件结构叠加,程序执行时需依次对“条件1”、“条件2”、“条件3”……都进行判断只有遇到能满足的条件才执行该条件对应的操作。

(2)条件结构的嵌套中,“条件2”是“条件1”的一个分支,“条件3”是“条件2”的一个分支,……依此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行。

(3)条件结构嵌套所涉及的“条件2”、“条件3”……是在前面的所有条件依次一个一个的满足“分支条件成立”的情况下才能执行的此操作,是多个条件同时成立的叠加和复合。

题型5:循环结构

例9.设计一个算法,求49

2..........421++++的值,并划出程序框图。。 解析:算法步骤: 第一步:sum=0; 第二步:i=0;

第三步:sum=sum+2i ; 第四步:i=i+1;

第五步:判断i 是否大于49,若成立,则输出sum ,结束;否则返回第三步重新执行。

1.如果算法问题里涉及的运算进行了许多次重复的操作,且先后参与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变量),应用于循环结构。在循环结构中,要注意根据条件设计合理的计数变量、累加和累乘变量及其个数等,特别要求条件的表述要恰当、精确。

2.累加变量的值初始值一般取成0,而累乘变量的初始值一般取成1。

例10.相传古代的印度国王要奖赏国际象棋的发明者,问他需要什么。发明者说:陛下,在国际象棋的第一个格子里面放1粒麦子,在第二个格子里面放2粒麦子,第三个格子放4粒麦子,以后每个格子中的麦粒数都是他前一个格子中麦粒数的二倍,依此类推(国际象棋棋盘共有64个格子)。请将这些麦子赏给我,我将感激不尽。国王想这还不容易,就让人扛了一袋小麦,但不到一会儿就没了,最后一算结果,全印度一年生产的粮食也不够。国王很奇怪,小小的“棋盘”,不足100个格子,如此计算怎么能放这么多麦子?试用程序框图表示一下算法过程。

解析:将实际问题转化为数学模型,该问题就是来求63

2.......421++++的和

点评:对于开放探究问题,我们可以建立数学模型(上面的题目要与等比数列的定义、性质和公式联系起来)和过程模型来分析好算法,通过设计算法以及语言的描述选择一些成熟的办法进行处理。像上面应用到了等比数列的通项公式和前n 项和公式。

五.思维总结

描述算法可以用不同的方式。例如:可以用自然语言和数学语言加以叙述,也可以借助形式语言(算法语言)给出精锐的说明,也可以用程序框图直观的显示算法全貌。

1.自然语言

自然语言就是人们日常使用的语言,可以是人之间来交流的语言、术语等,通过分步的方式来表达出来的解决问题的过程。

其优点为:好理解,当算法的执行都是先后顺序时比较容易理解;

缺点是:表达冗长,且不易表达清楚步骤间的重复操作、分情况处理现象、先后顺序等问题。

2.程序框图

程序框图是用规定的图形符号来表达算法的具体过程。 优点是:简捷形象、步骤的执行方向直观明了。 3.程序语言

程序语言是将自然语言和框图所表达的解决问题的步骤用特定的计算机所识别的低级和高级语言编写而成。特点:能在计算机上执行,但格式要求严格。

程序框图

1.学习这部分知识的时候,要掌握各种图形的形状、作用以及使用规则

2.画程序框图的规则如下:

(1)一个完整的程序框图必须有起止框,用来表示程序的开始和结束。

(2)使用标准的图形符号表示操作,带箭头的流程线表示算法步骤的先后顺序,框图一般按从上到下、从左到右的方向画。

(3)算法中间要处理数据或计算,可分别写在不同的处理框中。

(4)如果一个流程由于纸面等原因需要分开画。要在断开处画上连结点,并标出连结的号码。如图一。实际上它们是同一点,只是化不才分开画。用连结点可避免流程线的交叉或过长,使流程图清晰。

(5)注释框不是流程图必需的部分,只是为了提示用户一部分框图的作用以及对某些框图的操作结果进行说明。它帮助阅读流程图的用户更好的理解流程图的来龙去脉。

(6)在图形符号内用于描述的语言要非常简练清楚。

必修二算法的概念、程序框图(一)

内部资料,请勿外传 1 第三讲 算法的概念、程序框图(一) 【考纲要求】: ①了解算法的含义、了解算法的思想. ②理解程序框图的三种基本逻辑结构:顺序、条件分支、循环. 一、算法的概念 1.用加减消元法解二元一次方程组2121x y x y ?=-??í?+=?? 的具体步骤是什么? 2.参照上述思路,一般地,解方程组 1112 22a x b y c a x b y c ì+=??í?+=?? 1221(0)a b a b -≠的基本步骤是什么? 3.根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行这五个步骤就构成了解二元一次方程组的一个“算法”.我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容? 4.一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的,你认为这些步骤的个数是有限的还是无限的?每个步骤是否有明确的计算任务? 5.有人对哥德巴赫猜想“任何一个大于4的偶数都能写成两个质数之和”,设计了如下操作步骤: 第一步,检验6=3+3, 第二步,检验8=3+5, 第三步,检验10=5+5, …… 利用计算机无穷地检验下去!请问:这是一个算法吗? 6.根据上述分析,归纳出算法的概念:在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法. 二、算法的步骤设计 不同类型的问题有不同内容的算法,我们以判断一个整数是否为质数为例,一起来探讨算法的步骤设计. 1.如果让计算机判断7是否为质数,如何设计算法步骤? 2.如果让计算机判断35是否为质数,如何设计算法步骤? 3.整数89是否为质数?如果让计算机判断89是否为质数,按照上述算法需要设计多少个步骤? 4.用2~88逐一去除89求余数,需要87个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤. (1)用i 表示2~88中的任意一个整数,并从2开始取数; (2)用i 除89,得到余数r. 若r=0,则89不是质数;若r≠0,将i 用i+1替代,再执行同样的操作; (3)这个操作一直进行到i 取88为止. 你能按照这个思路,设计一个“判断89是否为质数”的算法步骤吗? 5.一般地,判断一个大于2的整数是否为质数的算法步骤如何设计? ① ② ① ②

2012年高三数学一轮复习资料第十四章 算法初步第1讲 算法的概念与程序框图

- 1 - 第1讲 算法的概念与程序框图 ★知识梳理★ 1.算法:可以用计算机来解决的某一类问题的程序或步骤. 2.算法中的程序和步骤必须是明确和有效的,而且能够在有限步之内完成. 3.算法具有概括性(能解决一类问题),确切性(每一步操作的内容和顺序必须是明确的),有穷性(必须在有限步内结束并返回一个结果),不唯一性(一个问题可以有多个算法,算法有优劣之分),普遍性(很多具体的问题,都可以设计合理的算法去解决). 4.程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确地、直观地表示算法的图形; 5.算法的基本逻辑结构(顺序结构、条件结构和循环结构) ①顺序结构表示语句和语句之间,框与框之间是按顺序进行的; ②条件结构是需要先根据条件作出判断,再决定执行哪一种操作的结构; ③循环结构是需要反复执行某一处理步骤的结构,分为当型(WHILE 型)和直到型(UNTIL 型),当型(WHILE 型)循环是指在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足时停止,直到型(UNTIL 型)循环是先执行一次循环体,然后对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止. ★重难点突破★ 1.重点:理解程序框图的三种基本逻辑结构,掌握三种逻辑结构在程序框图中的体现和特点. 2.难点:绘制简单实际问题的流程图,正确理解各种算法语句的实际意义. 3.重难点:设计算法时要综合考虑问题中可能涉及的各种情况:必须能解决一类问题,并且能重复使用;算法过程要一步一步执行,每一步执行的操作,必须确切,不能含糊不清,而且在有限步后得出结果.条件结构主要用在一些需要依据条件进行判断的算法中,如分段函数的求值、参数的讨论等.循环结构主要用在一些有规律的重复计算的算法中,如累加求和、累乘求积等. ★热点考点题型探析★ 考点一 算法与程序框图 题型1 对算法阅读能力的考查 【例1】一个算法如下: 第一步:计算2 44ac b m a -= ; 第二步:若0>a ,输出最小值m ; 第三步:若0

算法与程序框图汇总

算法与程序框图 一、程序框图与算法基本逻辑结构: 1.程序框图符号及作用: 例:解一元二次方程:2 0(0)ax bx c a ++=≠ 2.画程序框图的规则: 为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍. (1)实用标准的框图符号. (2)框图一般按从上到下、从左到右的方向画. (3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束. (4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一 符号,另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果. (5)在图形符号内用于描述的语言要非常简练清楚.

3.算法的三种基本逻辑结构: (1)顺序结构 顺序结构是最简单的算法结构,语句与语句之间, 框与框之间是按从上到下的顺序进行的,它是由 若干个依次执行的处理步骤组成的,它是任何一 个算法离不开的基本结构.如图,只有在执行完步 骤n 后,才能接着执行步骤n+1. 例:.已知梯形的上底、下底和高分别为5、8、9,写出求梯形的面积的算法,画出流程图. 解:算法如下: S1 a ←5; S2 b ←8; S3 h ←9; S4 S ←(a +b )×h /2; S5 输出S . 流程图如下: (2)条件结构 一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题. 条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P 时,根据条件P 是否成立,选择不同的执行框(步骤A ,步骤B ),无论条件P 是否成立,只能执行步骤A 或步骤B 之一,不可以两者都执行或都不执行.步骤A 和步骤B 中可以有一个是空的. 例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为 0.53, 50, 500.53(50)0.85, 50, c ωωωω?≤?=? ?+-?>?其中ω(单位:kg )为行李的重量. 试给出计算费用c (单位:元)的一个算法,并画出流程图. 1S 输入行李的重量ω; 2S 如果50ω≤,那么0.53c ω=?, 否则500.53(50)0.85c ω=?+-?; 3S 输出行李的重量ω和运费c . 步骤n 步骤n+1 ↓ ↓ ↓ 开始结束b h a 589S (+)×/2a b h 输出S 满足条件?步骤A 步骤B 是否满足条件?步骤A 是 否

程序设计与软件开发基础(一)

第27讲程序设计与软件开发基础(一) 教学目标及基本要求 掌握逐步求精的结构化程序设计方法,初步掌握良好的程序设计风格的内涵,掌握算法的基本概念,理解面向对象程序设计的基本概念。 教学重点 逐步求精的结构化程序设计方法,算法的基本概念。 教学难点 面向对象程序设计的基本概念,算法的复杂度。 教学内容 程序设计的风格 结构化程序设计 面向对象程序设计 算法的基本概念 算法的复杂度 教学时间 1学时 7.1 程序设计概述 7.1.1程序设计的风格 1.程序设计风格 程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。 程序设计的风格总体而言应该强调简单和清晰,程序必须是可以理解的。 主导的程序设计风格:“清晰第一,效率第二” 。 2.良好程序设计风格 (1)源程序文档化 ①符号名的命名 见名知意 名字不宜太长 不要使用相似的名字 不要使用关键字做标识符 同一个名字不要有多种含义 ②程序注释 序言性注释: 通常位于每个程序的开头部分,它给出程序的整体说明。主要描述内容包括:程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等。 功能性注释: 一般嵌在源程序体之中,主要描述其后的语句或程序做什么。 ③视觉组织 在程序中利用空格、空行、缩进等技巧使程序层次清晰。 (2)数据说明的方法 ①数据说明的次序规范化:数据说明次序固定,便程序理解、阅读和维护,可以使 数据的属性容易查找,也有利于测试、排错和维护。 ②说明语句中变量安排有序化:当一个说明语句说明多个变量时,变量按照字母顺 序排序为好。

③使用注释来说明复杂数据的结构。 ④显式地说明一切变量。 (3)语句的结构 ①在一行内只写一条语句。 ②程序编写应优先考虑清晰性,除非对效率有特殊要求,即清晰第一,效率第二。 ③首先要保证程序正确,然后才要求提高速度。 ④避免使用临时变量而使程序的可读性下降。 ⑤避免采用复杂的条件语句和不必要的转移,尽量使用库函数。 ⑥数据结构要有利于程序的简化,程序要模块化,且要尽量使模块功能单一化,利 用信息隐蔽,确保每一个模块的独立性。 ⑦尽量只采用3种基本控制结构来编写程序。 (4)输入和输出 ①对所有的输入数据都要检验数据的合法性以及检查输入项的各种重要组合的合理 性。 ②输入格式要简单,以使输入的步骤和操作尽可能简单。 ③输入数据时,应允许使用自由格式和缺省值。 ④输入一批数据时,最好使用输入结束标志。 ⑤以交互式方式输入、输出数据时,要在屏幕上有明确的提示符,数据输入结束时, 应在屏幕上给出状态信息。 ⑥当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性; 给所有的输出加注释,并设计良好的输出报表格式。 7.1.2 结构化程序设计 1.结构化程序设计的原则 自顶向下、逐步求精、模块化、限制使用GOTO语句。 (1)自顶向下 先总体,后细节;先全局目标,后局部目标。 (2)逐步求精 设计一些子目标作为过渡,逐步细化。 (3)模块化 把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。 (4)限制使用GOTO语句 使用GOTO语句有时会使程序执行效率较高,但也容易造成程序混乱,程序不易理解、不易排错、不易维护,因而要尽量限制使用GOTO语句。 2.结构化程序的基本结构与特点 结构化程序的基本结构只有3种:顺序、选择和循环 (1)顺序结构 如图7-1所示,顺序结构是顺序执行结构。所谓顺序执行,就是按照程序语句行的自然 图7-1 顺序结构

算法与程序框图 习题含答案

算法与程序框图习题(含答案) 一、单选题 1.执行如图所示的程序框图输出的结果是() A.B.C.D. 2.已知某程序框图如图所示,则执行该程序后输出的结果是 A.B. C.D. 3.下图是把二进制的数化成十进制数的一个程序框图,则判断框内应填入的条件是()

A.B.C.D. 4.我国元朝著名数学家朱世杰在《四元玉鉴》中有一首待:“我有一壶酒,携着游春走,遇店添一倍,逢有饮一斗,店友经三处,没有壶中酒,借问此壶中,当原多少酒?”用程序框图表达如图所示,即最终输出的,问一开始输入的() A.B.C.D. 5.中国有个名句“运筹帷幄之中,决胜千里之外”.其中的“筹”原意是指《孙子算经》中记载的算筹,古代是用算筹来进行计算,算筹是将几寸长的小竹棍摆在平面上进行运算,算筹的摆放形式有纵横两种形式,如下表: 表示一个多位数时,像阿拉伯计数一样,把各个数位的数码从左到右排列,但各位数码的筹式需要纵横相间,个位,百位,万位用纵式表示,十位,千位,十万位用横式表示,以此类推,例如2268用算筹表示就是=||丄|||.执行如图所示程序框图,若输人的x=1, y = 2,则输出的S用算筹表示为 A.B.C.D. 6.在中,,,边的四等分点分别为,靠近,执行下图算法后结果为() A.6 B.7 C.8 D.9 7.宋元时期名著《算学启蒙》中有关于“松竹并生”的问题:松长五尺,竹长五尺,若输入的分别是5,2,则输出的=()

A.B.C.D. 8.如图所示的程序框图,输出的 A.18B.41 C.88D.183 9.执行图1所示的程序框图,则S的值为()

图1 A.16B.32 C.64D.128 二、填空题 10.我国南北朝时期的数学家张丘建是世界数学史上解决不定方程的第一人,他在《张丘建算经》中给出一个解不定方程的百鸡问题,问题如下:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一.百钱买百鸡,问鸡翁母雏各几何?用代数方法表述为:设鸡翁、鸡母、鸡雏的数量分别为,,,则鸡翁、鸡母、鸡雏的数量即为方程组 的解.其解题过程可用框图表示如下图所示,则框图中正整数的值为______. 11.运行如图所示的程序,若输入的是,则输出的值是__________.

算法的含义、程序框图

普通高中课程标准实验教科书—数学[人教版] 高三新数学第一轮复习教案(讲座15)—算法的含义、程序框图 一.课标要求: 1.通过对解决具体问题过程与步骤的分析(如,二元一次方程组求解等问题),体会算法的思想,了解算法的含义; 2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程。在具体问题的解决过程中(如,三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环。 二.命题走向 算法是高中数学课程中的新内容,本章的重点是算法的概念和算法的三种逻辑结构。 预测2007年高考对本章的考察是:以选择题或填空题的形式出现,分值在5分左右,考察的热点是算法的概念。 三.要点精讲 1.算法的概念 (1)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。 在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。 (2)算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”。“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务。 ②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣。分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续。③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行。 (3)算法的描述:自然语言、程序框图、程序语言。 2.程序框图 (1)程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形; (2)构成程序框的图形符号及其作用

算法与程序设计(教科版)教案

算法与程序设计(教科版)教案 1-1节计算机解决问题的过程 一、教学目标 1、知识与技能 (1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 (2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 (3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。 2、方法与过程 (1)培养学生发现旧知识的规律、方法和步骤,并把它运用到新知识中去的能力。 (2)培养学生调试程序的能力。 (3)培养学生合作、讨论、观摩、交流和自主学习的能力。 3、情感态度和价值观 通过“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。 二、重点难点 本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三、教学环境 1、教材处理 教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》(2003年4月版)中信息技术部分的选修模块1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。教材选用《广东省普通高中信息技术选修一:算法与程序设计》第三章第一节,建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设。 根据2003年4月版《普通高中技术课程标准》的阐述,“算法与程序设计”是普通高中信息技术的选修模块之1,它的前导课程是信息技术的必修模块“信息技术基础”。学生在“信息技术基础”模块里已经学习了计算机的基本操作,掌握了启动程序、窗口操作和文字编辑等基础知识。学生可以利用上述的基础知识,用于本节课的启动Visual Basic程序设计环境,输入程序代码,运行程序等操作。本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。 让学生在人工解题中发现分析问题、设计算法等步骤,并把它应用到用计算机解决问题中去,这是构建主义中知识迁移的方法。本节课还采用了探究、讲授、观摩、交流、阅读材料等多种教学活动的有机结合的方法。 2、预备知识 本节课相联系的旧知识是计算机的基本操作中鼠标、键盘操作,启动、关闭程序,窗口、菜单操作和文字编辑等基础知识,还有解决数学问题的步骤等知识。 3、硬件要求

算法与程序框图练习题(整理)

算法与程序框图练习题 1、若某程序图如图所示,则该程序运行后输出的k 的值是____________. 2、阅读右边的程序框图,运行相应的程序,若输出x 的值为,则输出y 的值( ) A 、0.5 B 、1 C 、2 D 、4 3、如右框图,当 时, 等于( ) A 、7 B 、8 C 、10 D 、11 4、阅读右边的程序框图,运行相应的程序,则输出的值为( ) A 、3 B 、4 C 、5 D 、6 5、执行右面的程序框图,如果输入的n 是4,则输出的P 是_____ A 、8 B 、5 C 、3 D 、2 6、执行如图所示的程序框图,输入 ,则输出的y 的值是 _______________. 是 否输出k a>b? 结束4b=k k a=4k=k+1 k=2开始

7、右图中,,,为某次考试三个评阅人对同一道题的独立评分,为该题的最终得分,当,, 时, 等于( )A 、11 B 、10 C 、8 D 、7 8、若执行如图2所示的框图,输入,则输出的数等于 ___________. 9、若执行如图3所示的框图,输入 , ,则输出的数等于___________. 10、执行右面得程序框图,如果输入的是6,那么输出的是( ) A 、120 B 、720 C 、1440 D 、5040 11、执行如图所示的程序框图,若输入A 的值为2,则输出的P 值为( )A 、2 B 、3 C 、4 D 、5 12、执行如图所示的程序框图,输出的s 值为( ) A 、-3 B 、- C 、 D 、 2 13、如图所示,程序框图(算法流程图)的输出结果是__________. 是 否

高中数学第一章算法初步1-1算法与程序框图1-1-1算法的概念课时作业新人教B版必修3

高中数学第一章算法初步1-1算法与程序框图1-1-1算法的概念课时作业新人教B版必修3 A级基础巩固 一、选择题 1.下列语句中是算法的是( A ) A.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、 系数化为1 B.吃饭 C.做饭 D.写作业 [解析] 选项A是解一元一次方程的具体步骤,故它是算法,而 B、C、D是说的三个事实,不是算法. 2.计算下列各式中的S值,能设计算法求解的是( B ) ①S=1+2+3+ (100) ②S=1+2+3+…+100+…; ③S=1+2+3+…+n(n≥1,且n∈N). A.①② B.①③ D.②③ C.② [解析] 由算法的确定性、有限性知选B.3.早上从起床到出门需要洗脸、刷牙(5 min),刷水壶(2 min), 烧水(8 min),泡面(3 min),吃饭(10 min),听广播(8 min)几个过程, 下列选项中最好的一种算法是( C ) A.第一步,洗脸刷牙;第二步,刷水壶;第三步,烧水;第四步,

泡面;第五步,吃饭;第六步,听广播B.第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面; 第四步,吃饭;第五步,听广播C.第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面; 第四步,吃饭同时听广播D.第一步,吃饭同时听广播;第二步,泡面;第三步,烧水同时 洗脸刷牙;第四步,刷水壶[解析] 因为A选项共用时36 min,B选项共有时31 min,C选 项共用时23 min,选项D的算法步骤不符合常理,所以最好的一种算 法为C选项.4.对于一般的二元一次方程组,在写求此方程组解的算法时,需 要我们注意的是( C ) A.a1≠0 B.a2≠0 D.a1b1-a2b2≠0 C.a1b2-a2b1≠0 [解析] 由二元一次方程组的公式算法即知C正确. 5.下面是对高斯消去法的理解: ①它是解方程的一种方法; ②它只能用来解二元一次方程组; ③它可以用来解多元一次方程组; ④用它来解方程组时,有些方程组的答案可能不准确. 其中正确的是( A ) A.①② B.②④ D.②③ C.①③[解析] 高斯消去法是只能用来解二元一次方程组的一种方法, 故①②正确.

算法与程序框图练习题(整理)

算法与程序框图练习题 1、 2、 A 、若某程序图如图所示,则该程序运行后输出的k的值是_____________ . 阅读右边的程序框图,运行相应的程序,若输出x的值为-二,则输出y的值()0.5 B、1 C、2 D、4 3如右框图,当4■.,:|.■时,乜等于( ) A 、B、8 C、10 D、11 /输人X2轴X、/ x.-xMx.-x 4、5、 「开始i k=k+ 1 a=4k 否 输出k b=k4 a>b? 是 阅读右边的程序框图, A、3 B、4 执行右面的程序框图, A、8 B、5 输入 1 1 :| F = 11亠釘 L “ c结東J 运行相应的程序,则输出:的值为() C、5 如果输入的 D、6 n是4,则输出的P是, 6、执行如图所示的程序框图, /SX^7 [P口暑十 广 [x ■!. p- 1 L f Z1S7 7

7、右图中,门,二:,心为某次考试三个评阅人对同一道题的独立评分,-r,为该题的最终得分,当V- = - 一二 时,p等于()A、11B、10 C、8 D、7 &若执行如图2所示的框图,输入为=?,I 】- '+_则输出的数等于 9、若执行如图3所示的框图,输入人-, '| -—-—,则输出的数等 于 10、执行右面得程序框图,如果输入 的 A、120 B、720 11、执行如图所示的程序框图,若输入 12、执行如图所示的程序框图,输出 的 13、如图所示,程序框图(算法流程 图) :'是6,那么输出的是() C1440D、5040 A的值为2,则输出的P值为() A、 1 s值为()A、-3B、 幵始 1 现二2 -J-1 f 1 >-1^.t 1 否 的输出结果是

算法的含义,随机框图

2010年高考数学一轮复习精品学案(人教版A版) 算法的含义、程序框图 一.【课标要求】 1.通过对解决具体问题过程与步骤的分析(如,二元一次方程组求解等问题),体会算法的思想,了解算法的含义; 2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程。在具体问题的解决过程中(如,三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环. 二.【命题走向】 算法是高中数学课程中的新内容,本章的重点是算法的概念和算法的三种逻辑结构。 预测2010年高考对本章的考察是:以选择题或填空题的形式出现,分值在5分左右,考察的热点是算法的概念. 三.【要点精讲】 1.算法的概念 (1)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。 在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能

够在有限步之内完成. (2)算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”。“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务。②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣。分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续。③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行。 (3)算法的描述:自然语言、程序框图、程序语言. 2.程序框图 (1)程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形; (2)构成程序框的图形符号及其作用 程序框名称功能 起止框表示一个算法的起始和结束,是任何算法程序框图不可缺少的。 输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。 处理框赋值、计算。算法中处理数据需要的算式、

算法与程序框图

《算法》的教学设计 【设计思路】 本节课学生第一次接触算法,如果只讲解算法的概念就要求学生对实际问题进行分析、建模、设计合理算法,感觉难度较大。因此,我从“把大象放冰箱里分几步”、“狼羊过河”智力游戏开始,通过实例介绍算法的概念,再例举学生熟悉的数学问题,以学生为主体,利用情境、协作、交流等学习环境要素发挥学生的积极性,主动性。让学生在分析问题中学会设计算法,并让他们采用算法描述工具描述相应的算法。 理论依据:1. 社会互赖理论2. 建构主义学习理论 设计特色:融入建构主义教学观的要素; 设计中渗透合作学习理论; 有合适的实践探究活动; 【教材分析】 本节课是算法的起始课,主要内容有:算法的概念、用自然语言描述算法。《标准》课程目标要求:通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义,了解算法及其实现在解决问题过程中的地位和作用;初步帮助学生建立合理的算法与程序设计的认知结构,进而提升学生的信息素养,促进学生信息技术能力的立体发展。 算法具有的基本逻辑结构与形式逻辑结构存在对应关系,有着丰富的逻辑思维材料。算法思想贯穿于整个中学数学内容之中,有着丰富的层次递进的素材。因此,算法的学习对整个高中数学的学习有着“源”与“流”的关系。又由于算法的具体实现上可以和信息技术相结合。因此,算法的学习十分有利于提高学生的逻辑思维能力,培养学生的理性精神和实践能力,发展他们有条理的思考与表达的能力,同时可以让学生知道如何利用现代技术解决问题。 【学情分析】 通过对学生的调查分析了解到,基本上所有的学生在此之前都没有接触过算法和程序,这两个概念对于学生来说是陌生的。在学生的意识里设计算法和编写程序是很难的,是工程师们才能做的事情,对他们而言是遥不可及的,所以他们会害怕学习这块内容。这节课是学生学习算法和编程的第一课,不能让学生感到有太大的难度,要让他们觉得算法是一个很好理解的概念,设计算法也并不是难事。因此在选择例子时我选择了每个学生都会的“设计求解一元二次方程的实数根的算法”的例子,这样可以培养学生的自信心,提高他们的学习兴趣。

高一数学算法初步知识点与题型总结

第十一章 算法初步与框图 一、知识网络 ※知识回顾 1.算法的概念:算法通常是指按一定规则解决某一类问题的明确和有限的步骤. 2.程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. 3.程序框图的三种基本逻辑结构是顺序结构、条件结构、循环结构. 4.算法的描述方式有:自然语言、程序框图、程序语言. 5.算法的基本特征:①明确性:算法的每一步执行什么是明确的;②顺序性:算法的“前一步”是“后一步”的前提,“后一步”是“前一步”的继续;③有限性:算法必须在有限步内完成任务,不能无限制的持续进行;④通用性:算法应能解决某一类问题. ※典例精析 例1.如图所示是一个算法的程序框图,则该程序框图所表示的功能是 解析:首先要理解各程序框的含义,输入a,b,c三个数之后,接着判断a,b的大小,若b小,则把b 赋给a,否则执行下一步,即判断a与c的大小,若c小,则把c赋给a, 否则执行下一步,这样输出的a是a,b,c三个数中的最小值.所以该程序框图所表示的功能是求a,b,c三个数中的最小值. 评注: 求a,b,c三个数中的最小值的算法设计也可以用下面程序框图来表示. 例2.下列程序框图表示的算法功能是() (1)计算小于100的奇数的连乘积 (2)计算从1开始的连续奇数的连乘积 (3)计算从1开始的连续奇数的连乘积,当乘积大于100时,计算奇数的个数 (4)计算成立时的最小值 解析:为了正确地理解程序框图表示的算法,可以将执行过程分解,分析每一步执行的结果.可以看出 程序框图中含有当型的循环结构,故分析每一次循环的情况,列表如下: 第一次:; 第二次:; 第三次:,此时不成立,输出结果是7,程序框图表示的算法功能是求使 成立时的最小值. 选D. 算 法 初 步 算法与程序框图 算法语句 算法案例 算法概念 框图的逻辑结构 输入语句 赋值语句 循环语句 条件语句 输出语句 顺序结构 循环结构 条件结构

算法与程序框图知识讲解

算法与程序框图 【学习目标】 1.初步建立算法的概念; 2.让学生通过丰富的实例体会算法的思想; 3.让学生通过对具体问题的探究,初步了解算法的含义; 4.掌握程序框图的概念; 5.会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构; 6.掌握画程序框图的基本规则,能正确画出程序框图. 【要点梳理】 要点一、算法的概念 1、算法的定义: 广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等. 在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成. 2、算法的特征: (1)确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务. (2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续. (3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行. (4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的算法. 3、设计算法的要求 (1)写出的算法,必须能解决一类问题(如:判断一个整数35是否为质数;求任意一个方程的近似解……),并且能够重复使用. (2)要使算法尽量简单、步骤尽量少. (3)要保证算法正确.且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的. 4、算法的描述: (1)自然语言:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了. (2)程序框图:所谓框图,就是指用规定的图形符号来描述算法,用框图描述算法具有直观、结构清晰、条理分明、通俗易懂、便于检查修改及交流等特点. (3)程序语言:算法最终可以通过程序的形式编写出来,并在计算机上执行. 要点诠释: 算法的特点:思路简单清晰,叙述复杂,步骤繁琐,计算量大,完全依靠人力难以完成,而这些恰恰就是计算机的特长,它能不厌其烦地完成枯燥的、重复的繁琐的工作,正因为这些,现代算法的作用之一就是使计算机代替人完成某些工作,这也是我们学习算法的重要原因之一. 事实上,算法中出现的程序只是用基本的语句把程序的主要结构描述出来,与真正的程序还有差距,所以算法描述的许多程序并不能直接运行,要运行程序,还要把程序按照某种语言的严格要求重新改写才行. 要点二、程序框图 1、程序框图的概念:

算法与程序框图汇总

、程序框图与算法基本逻辑结构: 1. 程序框图符号及作用: 程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形 图形符号名称功能 C_■)终端框(起止框) 表示一个算法的起始和结束,是任何算法程序框图不可缺少的 口输入、输岀框 表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位 置 处理框(执行框) 赋值、计算.算法中处理数据需要的算式、公式等,它们分别写在不同的 用以处理数据的处理框内 O判断框判断某一条件是否成立,成立时岀口处标明“是”或“丫”; 不成立时标明“否”或“ N” 流程线 连接程序框,表示算法进行的前进方向以及先后顺序 O连接点如果一个流程图需要分开来画,要在断开处画上连接点,并标岀连接的号 码 例:解一元二次方程:ax2 bx c 0(a 0) 开始 2. 画程序框图的规则: 为了使大家彼此之间能够读懂各自画岀的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍. (1)实用标准的框图符号. (2)框图一般按从上到下、从左到右的方向画 (3)—个完整的程序框图必须有终端框,用于表示程序的开始和结束 (4)除判断框外,大多数框图符号只有一个进入点和一个退岀点,判断框是具有超过一个退岀点的唯一符号, 另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果. (5)在图形符号内用于描述的语言要非常简练清楚 算法与程序框图 辅出£

3. 算法的三种基本逻辑结构: 1)顺序结构 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法离不开的基本结构?如图,只有在执行完步骤n后,才 能接着执行步骤n+1. 例: .已知梯形的上底、下底和高分别为5、8、9,写岀求梯形的面积的算法,画岀流程图 [开始) 解: 算法如下: 丄 a^5 S1a—5;J J j S2b—8; b—8 J S3h—9; h^9 S4S—( a+b)x h/2 ;J S5输出S.s J(a+b) x h/2 流程图如下:J (2)条件结构 一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此, 需要另一种逻辑结构来处理这类问题. 条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P时,根据条件P是否成立,选择不同的执行框(步骤A,步骤B),无论条件P是否成立,只能执行步骤A或步骤B之一,不可以两者都执行或都不执行.步骤A和步骤B中可以有一个是空的. 例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为 S3输出行李的重量和运费c . (3)循环结构 步骤n 步骤n+1 0.53 , 50, 、 c 其中(单位: 50 0.53 (50) 0.85, 50, 试给岀计算费用c (单位:元)的一个算法,并画岀流程图. S1输入行李的重量; S2如果50,那么c 0.53 , 否则c 50 0.53 (50) 0.85 ; kg)为行李的重量. 输人 r—H 釣X R u —WX竹竹十50)X0 S5

《算法与程序设计》VB教案

1-1节计算机解决问题的过程 一、教学目标 1、知识与技能 (1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 (2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 (3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。 2、方法与过程 (1)培养学生发现旧知识的规律、方法和步骤,并把它运用到新知识中去的能力。 (2)培养学生调试程序的能力。 (3)培养学生合作、讨论、观摩、交流和自主学习的能力。 3、情感态度和价值观 通过“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。 二、重点难点 本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三、教学环境 1、教材处理 教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》(2003年4月版)中信息技术部分的选修模块1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。教材选用《广东省普通高中信息技术选修一:算法与程序设计》第三章第一节,建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设。 根据2003年4月版《普通高中技术课程标准》的阐述,“算法与程序设计”是普通高中信息技术的选修模块之1,它的前导课程是信息技术的必修模块“信息技术基础”。学生在“信息技术基础”模块里已经学习了计算机的基本操作,掌握了启动程序、窗口操作和文字编辑等基础知识。学生可以利用上述的基础知识,用于本节课的启动Visual Basic程序设计环境,输入程序代码,运行程序等操作。本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。 让学生在人工解题中发现分析问题、设计算法等步骤,并把它应用到用计算机解决问题中去,这是构建主义中知识迁移的方法。本节课还采用了探究、讲授、观摩、交流、阅读材料等多种教学活动的有机结合的方法。 2、预备知识 本节课相联系的旧知识是计算机的基本操作中鼠标、键盘操作,启动、关闭程序,窗口、菜单操作和文字编辑等基础知识,还有解决数学问题的步骤等知识。 3、硬件要求 可以进行屏幕广播的多媒体电脑室。教师自行设计制作的课件。准备《计算机解决问题的过程》教学活动表。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时(100分钟) 四、教学过程 (一)引入

算法及程序框图练习试题及答案解析

第一章 算法初步 1.1算法与程序框图 1.1.1算法的概念 1.已知直角三角形两直角边长为a ,b ,求斜边长c 的一个算法分下列三步: ① 计算c =②输入直角三角形两直角边长a ,b 的值; ③输出斜边长c 的值,其中正确的顺序是 【 】 A.①②③ B.②③① C.①③② D.②①③ 2.若()f x 在区间[],a b 内单调,且()()0f a f b <,则()f x 在区间[],a b 内 【 】 A.至多有一个根 B.至少有一个根 C.恰好有一个根 D.不确定 3.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99.求他的总分和平均成绩的一个算法为: 第一步:取A =89 ,B =96 ,C =99; 第二步:____①______; 第三步:_____②_____; 第四步:输出计算的结果. 4.写出按从小到大的顺序重新排列,,x y z 三个数值的算法. 1.1.2 程序框图 1.在程序框图中,算法中间要处理数据或计算,可分别写在不同的 【 】 A .处理框内 B .判断框内 C .终端框内 D .输入输出框内 2.将两个数a=10,b=18交换,使a=18,b=10,下面语句正确一组是 【 】 3指出下列语句的错误,并改正: (1)A =B =50 (2)x =1,y =2,z =3 (3)INPUT “How old are y ou” x (4)INPUT ,x (5)PRINT A +B =;C (6)PRINT Good-b y e! 4.2000年我国人口为13亿,如果人口每年的自然增长率为7‰,那么多少年 后我国人口将达到15亿?设计一个算法的程序. 5.儿童乘坐火车时,若身高不超过1.1 m ,则不需买票;若身高超过1.1 m 但不超过1.4 m ,则需买半票;若身高超过1.4 m ,则需买全票.试设计一个买票的算法,并画出相应的程序框图及程序。 1.2基本算法语句 1.2.1输入语句、输出语句和赋值语句 1 .在输入语句中,若同时输入多个变量,则变量之间的分隔符号是 【 】 A.逗号 B.空格 C.分号 D.顿号 2 . 3a = 4b =

专题:算法与程序框图[学生版]

专题:算法与程序框图 1.如下图,程序框图所进行的求和运算是( ) A.23111222+++ (10) 12+ B.11123+++ (110) + C.111246+++ (118) + D.111246+++ (120) + 2.在可行域内任取一点,规则如下程序框图所示,则能输出数对(x,y)的概率为( ) A.14 B.2π C.4π D.8 π 3.已知程序框图如下图所示,若输入n=6,则该程序运行的结果是( ) A.2 B.3 C.4 D.15 4.流程线的功能是( ) A.表示算法的起始和结束 B.表示算法输入和输出的信息 C.赋值、计算 D.按照算法的顺序连接程序框 6.在一个算法中,如果需要反复执行某一处理步骤,最好采用的逻辑结 构是( ) A.顺序结构 B.条件结构 C.循环结构 D.顺序结构 或条件结构 9.已知某算法的程序框图如图所示,若将输出的(x,y)值依次记为 1122()()x y x y ,,,,…()n n x y ,,,… (1)若程序运行中输出的一个数组是(9,t),则t= ; (2)程序结束时,共输出(x,y)的组数为 .

10.下边程序框图给出的程序执行后输出的结果是. 4.下图是一个算法的程序框图,则输出S的值是. 2.如下程序框图,则最后输出的结果是( ) A.5 049 B.4 850 C.2 450 D.2 550 4.如果下边程序运行后输出的结果是132,那么在程序中UNTIL后面的“条件”应为( ) A.i>11 B.i>=11 C.i<=11 D.i<11 6.阅读下边的程序框图,运行相应的程序,则输出s的值为( ) A.-1 B.0 C.1 D.3

相关文档
相关文档 最新文档