分享

算法、程序框图、基本算法语句

 退休的蔡文姬 2012-06-01

算法、程序框图、基本算法语句

 

. 课标要求:

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

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

3. 经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想;

4. 通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。

 

. 命题走向:

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

预测高考对本章的考查是:以选择题或填空题的形式出现,分值在5分左右,考查的热点是算法的概念、识别程序和编写程序。

 

. 教学过程:

基本知识要点回顾

1. 算法的概念

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

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

2算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”。“不重”是指不是可有可无的、甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务。②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣。分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续。③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行。

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

2. 程序框图

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

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

程序框

名称

功能

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

起止框

表示一个算法的起始和结束,是任何算法程序框图不可缺少的。

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

输入、输出框

表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

处理框

赋值、计算。算法中处理数据需要的算式、公式等,它们分别写在不同的用以处理数据的处理框内。

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

判断框

判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时在出口处标明“否”或“N”。

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

流程线

算法进行的前进方向以及先后顺序

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

循环框

用来表达算法中的重复操作以及运算

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

连结点

连接另一页或另一部分的框图

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

注释框

帮助编者或阅读者理解框图

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. 输入语句

输入语句的格式:INPUT “提示内容”;变量

例如:INPUTx=”;x功能:实现算法的输入变量信息(数值或字符)的功能。

要求:

1)输入语句:要求输入的值是具体的常量;

2)提示内容:提示用户输入的是什么信息,必须加双引号,提示内容 “原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;

3一个输入语句可以给多个变量赋值,中间用“,”分隔;输入语句还可以是“‘提示内容1’;变量1,‘提示内容2’;变量2,‘提示内容3’;变量3,……”的形式。例如:INPUTa=b=c=,”;abc

2. 输出语句

输出语句的一般格式:PRINT“提示内容”;表达式

例如PRINTS=”;S

功能:实现算法输出信息(表达式)

要求:

1)表达式是指算法和程序要求输出的信息;

2提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开。

3)如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔;输出语句还可以是“‘提示内容1’;表达式1,‘提示内容2’;表达式2,‘提示内容3’;表达式3,……”的形式;例如PRINT a,b,c:”;a,b,c

3. 赋值语句

赋值语句的一般格式:变量=表达式

赋值语句中的“=”称作赋值号

作用:赋值语句的作用是将表达式所代表的值赋给变量;

要求:

1)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式。如:2=x是错误的;

2)赋值号的左右两边不能对换。赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量。如“A=B”“B=A”的含义运行结果是不同的,x=5是对的,5=x是错的,AB=C是错的,C=AB是对的。

3不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等),如

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

这是实现不了的。在赋值号右边表达式中每一个变量的值必须事先赋给确定的值。在一个赋值语句中只能给一个变量赋值。不能出现两个或以上的“=”。但对于同一个变量可以多次赋值。

4. 条件语句

1)“IFTHENELSE语句

格式:

IF  条件  THEN

语句1

ELSE

语句2

END  IF

说明:在“IFTHENELSE”语句中,“条件”表示判断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;END  IF表示条件语句的结束。计算机在执行“IFTHENELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN后面的“语句1”;若不符合条件,则执行ELSE后面的“语句2”。

2)“IFTHEN”语句

格式:

IF  条件 THEN

语句

END  IF

说明:“条件”表示判断的条件;“语句”表示满足条件时执行的操作内容,条件不满足时,直接结束判断过程;END  IF表示条件语句的结束。计算机在执行“IFTHEN”语句时,首先对IF后的条件进行判断,如果符合条件就执行THEN后边的语句,若不符合条件则直接结束该条件语句,转而执行其它后面的语句。

5. 循环语句

1)当型循环语句

当型(WHILE型)语句的一般格式为:

WHILE  条件

循环体

END

说明:计算机执行此程序时,遇到WHILE语句,先判断条件是否成立,如果成立,则执行WHILEEND之间的循环体,然后返回到WHILE语句再判断上述条件是否成立,如果成立,再执行循环体,这个过程反复执行,直到一次返回到WHILE语句判断上述条件不成立为止,这时不再执行循环体,而是跳到END语句后,执行END后面的语句。因此当型循环又称“前测试型”循环,也就是我们经常讲的“先测试后执行”、“先判断后循环”。

2)直到型循环语句(A版)

直到型(UNTIL型)语句的一般格式为:

DO

循环体

LOOP  UNTIL  条件

说明:计算机执行UNTIL语句时,先执行DOLOOP  UNTIL之间的循环体,然后判断“LOOP  UNTIL”后面的条件是否成立,如果条件成立,返回DO语句处重新执行循环体。这个过程反复执行,直到一次判断 LOOP  UNTIL”后面的条件不成立为止,这时不再返回执行循环体,而是跳出循环体执行“LOOP  UNTIL  条件”下面的语句。

因此直到型循环又称“后测试型”循环,也就是我们经常讲的“先执行后测试”、“先循环后判断”。

3FOR循环(B版)

 

【典型例题】

1. 下列说法正确的是(   

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

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

算法步骤:

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

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

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

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

第五步:人带两只狼过河。

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

 

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

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

第一步:设有小鸡x只,小兔y只,则有算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

第二步:将方程组中的第一个方程两边乘-2加到第二个方程中去,得到算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,得到y=7

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

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

 

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

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

算法分析:

第一步:从已知线段的左端点A出发,任意作一条与AB不平行的射线AP

第二步:在射线上任取一个不同于端点A的点C,得到线段AC

第三步:在射线上延AC的方向截取线段CE=AC

第四步:在射线上延AC的方向截取线段EF=AC

第五步:在射线上延AC的方向截取线段FG=AC

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

第七步:连接DB

第八步:过CBD的平行线,交线段ABM,这样点M就是线段AB的一个5等分点。

程序框图:

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

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

 

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

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

2005P=10000×(13%=10300

2006P=10300×(13%=10609

2007P=10609×(13%=10927.27

2008P=10927.27×(13%=11255.09

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

年份

2004

2005

2006

2007

2008

钢琴的价格

10000

10300

10609

10927.27

11255.09

程序框图为:

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

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

 

7. 设计算法判断一元二次方程算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运是否有实数根,并画出相应的程序框图。

解:算法步骤如下:

第一步:输入一元二次方程的系数:abc

第二步:计算△算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的值;

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

相应的程序框图如下:

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

点评:根据一元二次方程的意义,需要计算判别式△算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的值。再分成两种情况处理:(1)当△≥0时,一元二次方程有实数根;(2)当△<0时,一元二次方程无实数根。该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同。因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解。该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构。

 

8.1设计算法,求算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的解,并画出流程图。

解:对于方程算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运来讲,应该分情况讨论方程的解。

我们要对一次项系数a和常数项b的取值情况进行分类,分类如下:

①当a0时,方程有唯一的实数解是算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

②当a=0b=0时,全体实数都是方程的解;

③当a=0b0时,方程无解。

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

第一步:判断a是否不为零。若成立,输出结果“解为算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运”;

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

第三步:判断a=0b0是否同时成立。若成立,输出结果“方程无解”,结束。

程序框图:

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

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

解析:算法步骤:

第一步:输入abc的值;

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

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

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

程序框图:

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

点评:条件结构嵌套与条件结构叠加的区别是:

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

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

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

 

9. 设计一个算法,求算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的值,并画出程序框图

算法步骤:

第一步:sum=0

第二步:i=0

第三步:sum=sum2i

第四步:i=i1

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

程序框图:

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

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

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

 

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

将实际问题转化为数学模型,该问题就是来求算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的和

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

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

 

11. 请写出下面运算输出的结果。

1

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

PRINT  d=”;d

2

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

PRINT  a=b=c=”;abc

3

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

PRINT  a=b=c=”;abc

解析:116;语句算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运是将ab和的一半赋值给变量c,语句算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运是将c的平方赋值给d,最后输出d的值。

2123;语句算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运是将ab的和赋值给c,语句算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运是将算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的值赋值给了b

3203020;经过语句算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运abc的值是202030。经过语句算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运abc的值是203030。经过语句算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运abc的值是203020

点评:语句的识别问题是一个逆向性思维,一般我们认为我们的学习是从算法步骤(自然语言)至程序框图,再到算法语言(程序)。如果将程序摆在我们的面前时,我们要从识别逐个语句,整体把握,概括程序的功能。

 

12. 编写程序,计算数列{an}的前20项的和。(其中数列的前几项分别为112358,……)

解:这是“Fibonacci数列”的典型特征,从第三项起每一项都是它前两项的和,即算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

程序如下:

a=1

b=1

s=0

i=3

WHILE  i<=20

s=sab

t=a

a=b

b=bt

i=i1

END

PRINT s

END

点评:1. 计数变量的作用一般是统计循环体执行的次数,改变循环条件的取值,为结束循环作准备。譬如:计算等差、等比数列的前n项的和,n就是计数变量的临界值,在当型结构中“小于等于n”维持循环,而在直到型循环结构中“大于n”跳出循环。

2. 累加变量是最终的输出结果。每进入一次循环体随着计数变量改变而改变。累加变量的初始值通常为0

 

[思维小结]

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

1. 自然语言

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

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

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

2. 程序框图

程序框图是用规定的图形符号来表达算法的具体过程。

优点是:简捷形象、步骤的执行方向直观明了。

3. 程序语言

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

程序框图

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

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

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

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

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

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

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

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

3. 在设计算法的过程中,解决问题的基本思想常常很简单、很清楚,但表述参与运算的数值的频繁变换却很麻烦。为了解决这个问题,需要在程序中引入变量。前面通过对函数概念的学习,我们就已经了解变量的含义:在研究问题的过程中可以取代不同数值的量称为变量。

程序中一些重要的函数也很有用处,如取平方根函数SQRx=|x|,取绝对值函数

ABSx=算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

变量与函数是中学数学里面最重要的和最基本的概念,在算法的设计里面仍然发挥着重要的和最基本的作用,它们会使得算法的表达变得非常整洁、清楚。

4. 赋值语句在程序运行时给变量赋值;“=”的右侧必须是表达式,左侧必须是变量;一个语句只能给一个变量赋值;有计算功能;将一个变量的值赋给另一个变量时,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值只与最后一次赋值有关。

5. 条件语句的主要功能是用来实现算法中的条件结构。

因为人们对计算机运算的要求不仅仅是一些简单的代数运算,而是经常需要计算机按照条件进行分析、比较、判断,并且按照判断后的不同情况进行不同的操作和处理。如果是要解决像“判断一个数的正负”、“比较数之间的大小”,“对一组数进行排序”、“求分段函数的函数值”等很多问题,计算机就需要用到条件语句。

 

【模拟试题】

1、下面对算法描述正确的一项是:(  

A. 算法只能用自然语言来描述   

B. 算法只能用图形方式来表示

C. 同一问题可以有不同的算法

D. 同一问题的算法不同,结果必然不同

2、用二分法求方程算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的近似根的算法中要用哪种算法结构(  

A. 顺序结构         B. 条件结构         C. 循环结构         D. 以上都用

3、将两个数算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运交换,使算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,下面语句正确的一组是(   

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

4、计算机执行下面的程序段后,输出的结果是(  

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

PRINT 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

A. 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运                B. 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运                C. 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运              D. 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

5、当算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运时,下面的程序段输出的结果是(  

IF  算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 THEN

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 

else

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

PRINT y

A. 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运                    B. 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运                    C. 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运                D. 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

6、用“秦九韶算法”计算多项式算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,当x=2时的值的过程中,要经过       次乘法运算和       次加法运算。

7、以下属于基本算法语句的是                            

INPUT语句;②PRINT语句;③IF-THEN语句;④DO语句;⑤END语句;

WHILE语句;⑦END IF语句。

8、把“五进制”数算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运转化为“十进制”数,再把它转化为“八进制”数。

9、用秦九韶算法求多项式算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运时的值。

10、编写一个程序,输入正方形的边长,输出它的对角线长和面积的值。

11、某市公用电话(市话)的收费标准为:算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运分钟之内(包括算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运分钟)收取算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运元;超过算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运分钟部分按算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运/分钟加收费。设计一个程序,根据通话时间计算话费。

 

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运


【试题答案】

1算法的特点:有穷性,确定性,顺序性与正确性,不唯一性,普遍性

2任何一个算法都有顺序结构,循环结构一定包含条件结构,二分法用到循环结构

3先把算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的值赋给中间变量算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,这样算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,再把算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的值赋给变量算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,这样算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,把算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的值赋给变量算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,这样算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

4算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运赋给变量算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,把算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运赋给变量算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,把算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运赋给变量算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,把算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运赋给变量算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运,输出算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

5该程序揭示的是分段函数算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运的对应法则

6算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运来自课本上的思考题:一元算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运次多项式问题

7  基本算法语句的种类

8、解:算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

    算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

9、解:算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

    算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

    算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

10、解算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运a=”;a

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运l=”;l,“s=”;s

算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

11、解:INPUT  “通话时间”;t

* 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

    算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

    算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

    算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 *

   算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运 “通话费用”;c

    算法、程序框图、基本算法语句 - 知识改变命运 - 武城实验中学---知识改变命运

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多