用程序框图英文表示年月日输入三个整数代表年月日,判断该年月日是否合法

程序框图与算法语句 算法、程序框图、基本算法语句[ 09:11:30]
专题分类:>>>
  二. 课标要求: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 “提示内容”;变量例如:INPUT“x=”;x功能:实现算法的输入变量信息(数值或字符)的功能。要求:(1)输入语句:要求输入的值是具体的常量;(2)提示内容:提示用户输入的是什么信息,必须加双引号,提示内容 “原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;(3)一个输入语句可以给多个变量赋值,中间用“,”分隔;输入语句还可以是“‘提示内容1’;变量1,‘提示内容2’;变量2,‘提示内容3’;变量3,……”的形式。例如:INPUT“a=,b=,c=,”;a,b,c。2. 输出语句输出语句的一般格式:PRINT“提示内容”;表达式例如:PRINT“S=”;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是错的,A+B=C是错的,C=A+B是对的。(3)不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等),如这是实现不了的。在赋值号右边表达式中每一个变量的值必须事先赋给确定的值。在一个赋值语句中只能给一个变量赋值。不能出现两个或以上的“=”。但对于同一个变量可以多次赋值。4. 条件语句(1)“IF—THEN—ELSE”语句格式:IF& 条件& THEN语句1ELSE语句2END& IF说明:在“IF—THEN—ELSE”语句中,“条件”表示判断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;END& IF表示条件语句的结束。计算机在执行“IF—THEN—ELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN后面的“语句1”;若不符合条件,则执行ELSE后面的“语句2”。(2)“IF—THEN”语句格式:IF& 条件 THEN语句END& IF说明:“条件”表示判断的条件;“语句”表示满足条件时执行的操作内容,条件不满足时,直接结束判断过程;END& IF表示条件语句的结束。计算机在执行“IF—THEN”语句时,首先对IF后的条件进行判断,如果符合条件就执行THEN后边的语句,若不符合条件则直接结束该条件语句,转而执行其它后面的语句。5. 循环语句(1)当型循环语句当型(WHILE型)语句的一般格式为:WHILE& 条件循环体END说明:计算机执行此程序时,遇到WHILE语句,先判断条件是否成立,如果成立,则执行WHILE和END之间的循环体,然后返回到WHILE语句再判断上述条件是否成立,如果成立,再执行循环体,这个过程反复执行,直到一次返回到WHILE语句判断上述条件不成立为止,这时不再执行循环体,而是跳到END语句后,执行END后面的语句。因此当型循环又称“前测试型”循环,也就是我们经常讲的“先测试后执行”、“先判断后循环”。(2)直到型循环语句(A版)直到型(UNTIL型)语句的一般格式为:DO循环体LOOP& UNTIL& 条件说明:计算机执行UNTIL语句时,先执行DO和LOOP& UNTIL之间的循环体,然后判断“LOOP& UNTIL”后面的条件是否成立,如果条件成立,返回DO语句处重新执行循环体。这个过程反复执行,直到一次判断 “LOOP& UNTIL”后面的条件不成立为止,这时不再返回执行循环体,而是跳出循环体执行“LOOP& UNTIL& 条件”下面的语句。因此直到型循环又称“后测试型”循环,也就是我们经常讲的“先执行后测试”、“先循环后判断”。(3)FOR循环(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;第八步:过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;因此,价格的变化情况表为:年份20042005200620072008钢琴的价格10000103001060910927.2711255.09程序框图为:点评:顺序结构必须严格按照传统的解决数学问题的解题思路,将问题解决掉。最后将解题步骤 “细化”就可以。“细化”指的是写出算法步骤、画出程序框图。例7. 设计算法判断一元二次方程  是否有实数根,并画出相应的程序框图。解:算法步骤如下:第一步:输入一元二次方程的系数:a,b,c;第二步:计算△  的值;第三步:判断△≥0是否成立。若△≥0成立,输出“方程有实根”;否则输出“方程无实根”。结束算法。相应的程序框图如下:点评:根据一元二次方程的意义,需要计算判别式△  的值。再分成两种情况处理:(1)当△≥0时,一元二次方程有实数根;(2)当△<0时,一元二次方程无实数根。该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同。因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解。该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构。例8.(1)设计算法,求  的解,并画出流程图。解:对于方程  来讲,应该分情况讨论方程的解。我们要对一次项系数a和常数项b的取值情况进行分类,分类如下:①当a≠0时,方程有唯一的实数解是  ;②当a=0,b=0时,全体实数都是方程的解;③当a=0,b≠0时,方程无解。联想数学中的分类讨论的处理方式。可得如下算法步骤:第一步:判断a是否不为零。若成立,输出结果“解为  ”;第二步:判断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”……是在前面的所有条件依次一个一个的满足“分支条件成立”的情况下才能执行的此操作,是多个条件同时成立的叠加和复合。例9. 设计一个算法,求  的值,并画出程序框图。解:算法步骤:第一步:sum=0;第二步:i=0;第三步:sum=sum+2i;第四步:i=i+1;第五步:判断i是否大于49,若成立,则输出sum,结束;否则返回第三步重新执行。程序框图:点评:1. 如果算法问题里涉及的运算进行了许多次重复的操作,且先后参与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变量),应用于循环结构。在循环结构中,要注意根据条件设计合理的计数变量、累加和累乘变量及其个数等,特别要求条件的表述要恰当、精确。2. 累加变量的初始值一般取成0,而累乘变量的初始值一般取成1。例10. 相传古代的印度国王要奖赏国际象棋的发明者,问他需要什么。发明者说:陛下,在国际象棋的第一个格子里面放1粒麦子,在第二个格子里面放2粒麦子,第三个格子放4粒麦子,以后每个格子中的麦粒数都是它前一个格子中麦粒数的二倍,依此类推(国际象棋棋盘共有64个格子)。请将这些麦子赏给我,我将感激不尽。国王想这还不容易,就让人扛了一袋小麦,但不到一会儿就没了,最后一算结果,全印度一年生产的粮食也不够。国王很奇怪,小小的“棋盘”,不足100个格子,如此计算怎么能放这么多麦子?试用程序框图表示一下算法过程。解:将实际问题转化为数学模型,该问题就是来求  的和点评:对于开放探究问题,我们可以建立数学模型(上面的题目要与等比数列的定义、性质和公式联系起来)和过程模型来分析好算法,通过设计算法以及语言的描述选择一些成熟的办法进行处理。像上面应用到了等比数列的通项公式和前n项和公式。例11. 请写出下面运算输出的结果。(1)PRINT& “d=”;d(2)PRINT& “a=,b=,c=”;a,b,c(3)PRINT& “a=,b=,c=”;a,b,c解析:(1)16;语句  是将a,b和的一半赋值给变量c,语句  是将c的平方赋值给d,最后输出d的值。(2)1,2,3;语句  是将a,b的和赋值给c,语句  是将  的值赋值给了b。(3)20,30,20;经过语句  后a,b,c的值是20,20,30。经过语句  后a,b,c的值是20,30,30。经过语句  后a,b,c的值是20,30,20。点评:语句的识别问题是一个逆向性思维,一般我们认为我们的学习是从算法步骤(自然语言)至程序框图,再到算法语言(程序)。如果将程序摆在我们的面前时,我们要从识别逐个语句,整体把握,概括程序的功能。例12. 编写程序,计算数列{an}的前20项的和。(其中数列的前几项分别为1,1,2,3,5,8,……)解:这是“Fibonacci数列”的典型特征,从第三项起每一项都是它前两项的和,即  。程序如下:a=1b=1s=0i=3WHILE& i&=20s=s+a+bt=aa=bb=b+ti=i+1ENDPRINT sEND点评:1. 计数变量的作用一般是统计循环体执行的次数,改变循环条件的取值,为结束循环作准备。譬如:计算等差、等比数列的前n项的和,n就是计数变量的临界值,在当型结构中“小于等于n”维持循环,而在直到型循环结构中“大于n”跳出循环。2. 累加变量是最终的输出结果。每进入一次循环体随着计数变量改变而改变。累加变量的初始值通常为0。[思维小结]描述算法可以用不同的方式。例如:可以用自然语言和数学语言加以叙述,也可以借助形式语言(算法语言)给出精锐的说明,也可以用程序框图直观的显示算法全貌。1. 自然语言自然语言就是人们日常使用的语言,可以是人之间用来交流的语言、术语等,通过分步的方式来表达出解决问题的过程。其优点为:好理解,当算法的执行都是先后顺序时比较容易理解;缺点是:表达冗长,且不易表达清楚步骤间的重复操作、分情况处理现象、先后顺序等问题。2. 程序框图程序框图是用规定的图形符号来表达算法的具体过程。优点是:简捷形象、步骤的执行方向直观明了。3. 程序语言程序语言是将自然语言和框图所表达的解决问题的步骤用特定的计算机所识别的低级和高级语言编写而成。特点:能在计算机上执行,但格式要求严格。程序框图1. 学习这部分知识的时候,要掌握各种图形的形状、作用以及使用规则2. 画程序框图的规则如下:(1)一个完整的程序框图必须有起止框,用来表示程序的开始和结束。(2)使用标准的图形符号表示操作,带箭头的流程线表示算法步骤的先后顺序,框图一般按从上到下、从左到右的方向画。(3)算法中间要处理数据或计算,可分别写在不同的处理框中。(4)如果一个流程由于纸面等原因需要分开画。要在断开处画上连结点,并标出连结的号码。实际上它们是同一点,只是化不开才分开画。用连结点可避免流程线的交叉或过长,使流程图清晰。(5)注释框不是流程图必需的部分,只是为了提示用户一部分框图的作用以及对某些框图的操作结果进行说明。它帮助阅读流程图的用户更好地理解流程图的来龙去脉。(6)在图形符号内用于描述的语言要非常简练清楚。3. 在设计算法的过程中,解决问题的基本思想常常很简单、很清楚,但表述参与运算的数值的频繁变换却很麻烦。为了解决这个问题,需要在程序中引入变量。前面通过对函数概念的学习,我们就已经了解变量的含义:在研究问题的过程中可以取代不同数值的量称为变量。程序中一些重要的函数也很有用处,如取平方根函数SQR(x)=|x|,取绝对值函数ABS(x)=  。变量与函数是中学数学里面最重要的和最基本的概念,在算法的设计里面仍然发挥着重要的和最基本的作用,它们会使得算法的表达变得非常整洁、清楚。4. 赋值语句在程序运行时给变量赋值;“=”的右侧必须是表达式,左侧必须是变量;一个语句只能给一个变量赋值;有计算功能;将一个变量的值赋给另一个变量时,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值只与最后一次赋值有关。5. 条件语句的主要功能是用来实现算法中的条件结构。因为人们对计算机运算的要求不仅仅是一些简单的代数运算,而是经常需要计算机按照条件进行分析、比较、判断,并且按照判断后的不同情况进行不同的操作和处理。如果是要解决像“判断一个数的正负”、“比较数之间的大小”,“对一组数进行排序”、“求分段函数的函数值”等很多问题,计算机就需要用到条件语句。【模拟试题】1、下面对算法描述正确的一项是:(&& )A. 算法只能用自然语言来描述B. 算法只能用图形方式来表示C. 同一问题可以有不同的算法D. 同一问题的算法不同,结果必然不同2、用二分法求方程  的近似根的算法中要用哪种算法结构(&& )A. 顺序结构&&&&&&&& B. 条件结构&&&&&&&& C. 循环结构&&&&&&&& D. 以上都用3、将两个数  交换,使  ,下面语句正确的一组是(&&& )4、计算机执行下面的程序段后,输出的结果是(&& )PRINT  ,A.  B.  C.  D.5、当  时,下面的程序段输出的结果是(&& )IF  THENelsePRINT yA.  B.  C.  D.6、用“秦九韶算法”计算多项式  ,当x=2时的值的过程中,要经过&&&&&& 次乘法运算和&&&&&& 次加法运算。7、以下属于基本算法语句的是&&&&&&&&&&&&&&&&&&&&&&&&& &&。①INPUT语句;②PRINT语句;③IF-THEN语句;④DO语句;⑤END语句;⑥WHILE语句;⑦END IF语句。8、把“五进制”数  转化为“十进制”数,再把它转化为“八进制”数。9、用秦九韶算法求多项式当  时的值。10、编写一个程序,输入正方形的边长,输出它的对角线长和面积的值。11、某市公用电话(市话)的收费标准为:  分钟之内(包括  分钟)收取  元;超过  分钟部分按  元/分钟加收费。设计一个程序,根据通话时间计算话费。【试题答案】1、C& 算法的特点:有穷性,确定性,顺序性与正确性,不唯一性,普遍性2、D& 任何一个算法都有顺序结构,循环结构一定包含条件结构,二分法用到循环结构3、B& 先把  的值赋给中间变量  ,这样  ,再把  的值赋给变量  ,这样  ,把  的值赋给变量  ,这样4、B& 把  赋给变量  ,把  赋给变量  ,把  赋给变量  ,把  赋给变量  ,输出5、D& 该程序揭示的是分段函数  的对应法则6、  来自课本上的思考题:一元  次多项式问题7、①,②,③,④,⑥& 基本算法语句的种类8、解:      9、解:10、解:  “a=”;a  “l=”;l,“s=”;s11、解:INPUT &“通话时间”;t              “通话费用”;c
专题导读:>>>
"程序框图与算法语句"相关文章
无相关信息轉自:http://wwww./edu/vb/study/index.htm
第四章 VB程序的控制结构
4.1算法概论
1.算法的概念
  算法:指用计算机解决某一问题的方法和步骤。
算法分类:
数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。
非数值算法:用于对非数值信息进行查找、排序等。
  数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。
&&&& 非数值算法:用于对非数值信息进行查找、排序等。
2.算法的特征
 (1)确定性:指算法的每个步骤都应确切无误,没有歧义。
 (2)可行性:指算法的每个步骤必须是计算机能够有效执行、可以实现的,并可得到确定的结果。
 (3)有穷性:指一个算法应该在有限的时间和步骤内可以执行完毕的。
 (4)输入性:指一个算法可以有0或多个输入数据。
 (5)输出性:指一个算法必须有一个或多个输出结果。
3.算法的评价
  主要评价指标是:算法是否正确、运行的效率、占用系统资源的多少。
4.算法的描述
  一般常用流程框图来描述算法。
数据的输入与输出
各种形式的数据处理
判断选择,根据条件满足与否选择不同路径
流程的起点与终点
一个定义过的过程
连接各个框图,表示执行顺序
表示与流程图其他部分相连接
5.基本算法结构
 “结构化程序设计方法”规定算法有三种基本结构: 顺序结构、选择结构和循环结构
6.算法示例
 欧几里德算法——求两个自然数的最大公约数
 (2)顺序查找算法—— 在N个字符串集合中,查找有无特定的字符串存在
<font color="#.2顺序结构
 1.赋值语句
&&&  赋值语句是任何程序设计中最基本的语句,赋值语句都时顺序执行的。赋值语句的形式为:
&&&&  变量名 = 表达式
&   它的作用是计算右边表达式的值,然后赋给左边的变量,表达式的类型应该与变量名的类型一致。
 2. 使用说明
  (1)当表达式为数值型而与变量精度不同时,强制转换成左边变量的精度;
  (2)当表达式是数字字符串,左边变量是数值类型,自动转换成数值类型再赋值,但当表达式中有非数字字符或空串,则出错。
   (3)任何非字符类型赋值给字符类型,自动转换为字符类型;
   (4)当逻辑型赋值给数值型时,True转换为 -1,False转换为0;反之,非0转换为True,0转换为False;
   (5)赋值号左边的变量只能是变量,不能是常量、常数符号、表达式,否则报错;
   (6)不能在一句赋值语句中,同时给各变量赋值;
   (7)在条件表达式中出现的 = 是等号,系统会根据 = 号的位置,自动判断是否为赋值号;
   (8)注意N=N+1 是累加中常见的赋值语句,表示将N变量中的值加1后再赋值给N。
执行了N=N+1后
4.3&选择结构(或称分支结构)
1.1. IF条件语句
 (1)If&#8230;&#8230;Then语句(单分支结构 F)
    1)If &表达式& Then
        语句块
      End If
&   2)If &&表达式& &Then &&语句&
     说明:表达式一般为关系表达式、逻辑表达式,也可以为算术表达式,非0为True,0为False;
语句块可以是一句或多句,若用2)表示,则只能是一句语句,若多句,语句间需用冒号分隔,而且必须在一行上书写。
     例:已知两个数x和y,比较它们的大小,使得 x大于y:
     方法一:& if& x&y& then
             t=x
            x=y
            y=t
          end if
    方法二:& if& x&y& then& t=x : x=y : y=t
      注意:将两个变量中的数进行交换时,必须借助于第三个变量才能实现。
(2)If&#8230;&#8230;Then&#8230;&#8230;Else语句(双分支结构)
  语句形式:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&
  1)If &&表达式& &Then
      &语句块1&
   Else
     &语句块2&
    End If
2) If &&表达式& &Then &&语句1&& Else& &语句2&
x2 -5&&&& x&#8800;0
3x +2&&& x=0
(3)If&#8230;&#8230;Then&#8230;&#8230;ElseIf语句(多分支结构)
语句形式:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  If &&表达式1& &Then
     &语句块1&
    ElseIf& &表达式2& &Then
      &语句块2&
      &#8230;&#8230;
      [ Else 语句块 n+1 ]
   1)不管有几个分支,程序执行了一个分支后,其余分支不再执行;
   2)ElseIf& 不能写成Else& If
   3)当多分支中有多个表达式同时满足,则只执行第一个与之匹配的语句块
  例:已知变量strC中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。
(4)If语句的嵌套
&&& &If语句的嵌套是指if 或else后面的语句块中又包含If语句。语句形式:
&&&&  If &&表达式1& &Then
    If& &表达式11& &Then
        &#8230;&#8230;
     End If
        &#8230;&#8230;
    End If
   1)对于嵌套结构,为了增强程序的可读性,应该采用缩进形式书写;
   2)If语句形式若不在一行上书写,必须与End If配对,多个if嵌套,End If与它最接近的Emd If配对。
 例: 已知x、y、z三个数,比较它们的大小并排序,使得x&y&z.
2.Select Case语句(情况语句)   是多分支语句的又一种形式,语句形式:
  Select Case &变量或表达式
       Case& 表达式列表1
           语句块1
       Case& 表达式列表2
          语句块2
           &#8230;&#8230;
      [Case Else
&&&&&& &     语句块n+1]
   End Select
 说明:1)变量或表达式可以是数值型或字符串表达式
&&&&&&  2)表达式列表I 可以是表达式、一组用逗号分隔的枚举值、表达式1 to 表达式2、Is关系运算符表达式;如:case& 1 to 10& 、&& case& "a","w","e","t"& 、 case& 2,4,6,8,is&10
&&&&&&  3)并不是所有的多分支结构都可以用情况语句代替的。
  例:已知输入某课程的百分制成绩mark,要求显示对应五级制的评定,评定条件如下:
80&#8804;mark<90
70&#8804;mark<80
60&#8804;mark<70
60&#8804;mark<70
3.条件函数
 (1)if函数
&&  函数形式: Iif(表达式,当条件为True时的值,当条件为False时的值
    例:求X、Y中大的数,并放入变量Tmax中:&& Tmax=Iif(X&Y, X, Y)
 (2)Choose函数
&&  函数形式:Choose(整数表达式,选项列表)
   如果整数表达式的值是1,则选择列表中的第1项,依次类推;如果小于1或大于列表项数时,则返回NULL。
   例: 根据nub为1 -4的值,换算成不同的运算符: OP= Choose(nub,&#8220;+&#8221;,&#8220;-&#8221;,&#8220;&#215;&#8221;,&#8220;&#247;&#8221;)
&4.3& 循环结构
循环是在指定的条件下多次重复执行一组语句。VB中提供了两种类型的循环语句:
计数循环语句和条件型循环语句
1.&For循环语句(知道循环次数的计数型循环)
  语句形式: For& 循环变量 = 初值To 终值& [ Step& 步长]
           语句块
       [Exit For]
          语句块
        Next& 循环变量
 说明:1) 循环变量必须为数值型
     2)步长一般为正,初值小于终值;若为负,初值大于终值;缺省步长为1;
    3)语句块可以是一句或多句语句,称为循环体;
    4)Exit For 表示当遇到该语句时,退出循环体;
      执行Next的下一句;
               循环次数=int((终值 - 初值)/步长+1)
    5)退出循环后,循环变量的值保持退出时的值;
     6)在循环体内对循环变量可多次引用,但不要对其赋值,否则影响结果。
例1:计算1 ~ N的奇、偶数之和。(N为自然数)&&&& 例2:打印ASCII码表
2.&Do&#8230;&#8230;Loop循环(不知道循环次数的条件型循环)
  是用于控制循环次数未知的循环结构,语法形式有两种:
  形式1:Do While &#8230;&#8230; Loop
     Do [ While | Until 条件 ]
            语句块
     [ Exit& Do ]
            语句块
     Loop
形式2:Do &#8230;&#8230; Loop While
     Do
       语句块
    [ Exit& Do ]
       语句块
    Loop &[ While | Until 条件 ]
   1)形式1为先判断后执行,有可能一次也不执行;
   2)形式2为先执行后判断,至少执行一次;
   3)关键字While 用于指明条件为真时就执行循环体中的语句,Until刚好相反;
   4)当省略了While|Until 条件字句,即循环结构仅由 Do&#8230;&#8230;Loop关键字构成时,表示无条件循环,这时循环体内应该有Exit Do语句,否则为死循环;
   5)Exit Do 语句表示当遇到该语句时,退出循环,执行Loop的下一语句。
 例:我国现有人口13亿,按人口年增长率0.8%计算,多少年后我国人口超过26亿。
   计算公式 26=13(1+0.008)n
   图中的例子是按可变增长率和预计总人口数设计的。
3.循环的嵌套
指在循环体内又包含了一个完整的循环结构。循环嵌套对For 循环和Do&#8230;&#8230;Loop循环均适用。
例:打印九九乘法表
4.4&其它辅助控制语句
1.Go To 语句
  语句形式: Go To 标号 | 行号
 说明:(1)Go To语句只能转移到同一过程的标号或行号处;标号是一个字符系列,首字符必须为字母,与大小写无关,任何转移到的标号后面必须有冒号: ;行号是一个数字序列;
    (2)以前BASIC中常用此语句,可读性差;现在要求尽量少用或不用,改用选择结构或循环结构来代替。
2.Exit语句
&&&& 用于退出某控制结构的执行,VB的Exit语句有多种形式,如:
   Exit For (退出For循环)
   Exit Do& (退出Do)循环)
   Exit Sub (退出子过程)
   Exit Function(退出函数)
3.End 语句
&& 独立的End语句用于结束一个程序的执行,可以放在任何事件过程中,形式为:End
  VB 的End语句还有多种形式,用于结束一个过程或块,如:
   End If &&&End With&& End Type&& End Select&&& &End Sub&&& End Function
4.With语句
  它的作用是可以对某个对象执行一系列的语句,而不用重复指出对象的名称。但不能用一个With语句设置多个不同的对象。属性前面需要带点号&#8220;&#183; &#8221;。
& 语句形式如下:& With& 对象名
            &语句块
          End With
例:With& form1
    . Height=3000
    . Width=4000
    . BackColor=RGB(255,0,0)
  End With
4.5&程序调试
1.VB的调试工具
(1)设置自动语法检查
   打开工具菜单 &#8594; 单击选项命令 &#8594; 选择 编辑器 页面 &#8594;将 自动语法检测 勾上。
(2)利用VB调试工具栏
&  利用该工具栏可以运行程序、中断运行、在程序中设置间断点、监视变量、单步调试、过程跟踪等操作。
2.VB的三种模式
(1)设计模式
   在设计模式下可以进行程序的界面设计、属性设置、代码编写等,标题栏上显示&#8220;设计&#8221;,在此模式下不能运行程序,也不能使用调试工具。
(2)运行模式
   执行&#8220;运行&#8221;菜单中的&#8220;启动&#8221;命令或单击工具栏上的启动按钮或按F5键,即由设计模式进入运行模式,标题栏显示&#8220;运行&#8221;,在此阶段可以查看程序代码,但不能修改。若要修改,必须单击工具栏上的&#8220;结束&#8221;按钮,回到设计模式,也可以选择&#8220;中断&#8221;按钮,进入中断模式。
(3)中断模式
  当程序运行时单击了&#8220;中断&#8221;按钮,或当程序出现运行错误时,都可以进入中断模式,在此模式下,运行的程序被挂起,可以查看代码、修改代码、检查数据。修改结束,单击&#8220;继续&#8221;按钮可以继续程序的运行,也可以单击&#8220;结束&#8221;按钮停止程序的执行。
3. 常见错误
(1)编辑时错误
  当用户在代码窗口编辑代码时,VB会对程序进行语法检查,当发现语句没有输完、关键字输错等情况时,系统会弹出对话框,提示出错,并在错误处加亮显示,以便用户修改。
(2)编译时错误
  是指用户单击了&#8220;启动&#8221;按钮,VB开始运行程序前,先编译执行的程序段时产生的错误,此错误是由于用户未定义变量、遗漏关键字等原因而产生的。发现错误时系统会停止编译,提示用户修改。
(3)运行时错误
  指VB在编译通过后,运行代码时发生的错误,一般是由于指令代码执行了非法操作引起的,如:数据类型不匹配、试图打开一个不存在的文件等。系统会报错并加亮显示、等候处理。
(4)逻辑错误
  如果程序运行后得不到所希望的结果,则说明存在逻辑错误。如:运算符使用不正确,语句的次序不对、循环语句的起始、终值不正确。这种错误系统不会报错,需要用户自己分析判断。
4.程序调试方法
(1)进入/退出中断状态
  进入中断状态有四种方法:
   1)程序运行时发生错误自动进入中断
   2)程序运行中用户按中断键强制进入中断
   3)用户在程序中预先设置了断点,程序执行到断点处即进入中断状态
   4)在采用单步调试方式,每运行一个可执行代码后,即进入中断状态。
(2) 利用调试窗口
  1)立即窗口
    这是调式窗口中使用最方便、最常用的窗口。可以在程序中用Debug.Print方法,把输出送到立即窗口,也可以在该窗口中直接使用Print语句或?显示变量的值。
  2)本地窗口
&&   该窗口显示当前过程中所有变量的值,当程序的执行从一个过程切换到另一个过程时,该窗口的内容发生改变,它只反映当前过程中可用的变量。
  3)监视窗口
   该窗口可显示当前的监视表达式,在此之前必须在设计阶段,利用调试菜单的&#8220;添加监视命令&#8221;或&#8220;快速监视&#8221;命令添加监视表达式以及设置的监视类型在运行时显示在监视窗口,根据设置的监视类型进行相应的显示。
(3)插入断点和逐句跟踪
&&  在调试程序时,通常回设置断点来中断程序的运行,然后逐句跟踪检查相关变量、属性和表达式的值是否在预期的范围内。
& 可在中断模式下或设计模式时设置或删除断点,在代码窗口选择怀疑存在问题的地方作为断点,按下F9键,则程序运行到断点处即停下,进入中断模式,在此之前所关心的变量、属性、表达式的值都可以看到。
阅读(...) 评论()

我要回帖

更多关于 js判断年月日是否合法 的文章

 

随机推荐