1、1.1.2 条件构造条件构造算法初步基本的程序框和它们各自表达的功效以下基本的程序框和它们各自表达的功效以下:图形符号图形符号名称名称功能功能终端框终端框(起止框起止框)表达一种算法的起始表达一种算法的起始和结束和结束输入、输输入、输出框出框表达一种算法输入和表达一种算法输入和输出的信息输出的信息解决框解决框(执行框执行框)判断某一条件与否成立判断某一条件与否成立,成立成立时在出口处标明时在出口处标明“是是”或或“Y”;不;不”成立时标明成立时标明“否否”或或“N”.判断框判断框赋值、计算赋值、计算流程线流程线连接程序框连接程序框连接点连接点连接程序框图的两部分连接程序框图的两部分环节1环节2
2、(1)次序构造次序构造-是由若干个依次执行的解决是由若干个依次执行的解决环节构成的环节构成的.这是任何一种算法都离不开的这是任何一种算法都离不开的基本构造基本构造.条件构造r=0?n是质数n不是质数是是否否(2)条件构造条件构造-在一种算法中在一种算法中,经常会碰到某经常会碰到某些条件的判断些条件的判断,算法的流向根据条件与否成算法的流向根据条件与否成立有不同的流向立有不同的流向.条件构造就是解决这种过条件构造就是解决这种过程的构造程的构造.满足条件?是是否否步骤A步骤B满足条件?是是否否步骤A例例1:任意给定任意给定3个正实数个正实数,设计一种算法设计一种算法,判断分判断分别以这别以这3个数
3、为三边边长的三角形与否存在个数为三边边长的三角形与否存在.画画出这个算法的程序框图出这个算法的程序框图.算法分析算法分析:第一步第一步:输入输入3个正实数个正实数a,b,c;第二步第二步:判断判断a+bc,a+cb,b+ca与否同时成立与否同时成立,若是若是,则能构成三角形则能构成三角形;若否若否,则组不成三角形则组不成三角形.开始输入a,b,ca+bc,a+c b,b+c a与否同时成立?存在这样的三角形不存在这样的三角形结束否否是是第一步第一步:输入输入3个正个正实数实数a,b,c;第二步第二步:判断判断a+bc,a+cb,b+ca与否同与否同时成立时成立,若是若是,则能构成三角则能构成三
4、角形形;若否若否,则组则组不成三角形不成三角形.算法环节以下:开始输入a,b,cX1=p+qX2=p-q输出x1,x2输出“方程没有实数根”输出p结束否是否是是是例例4.设计一种求任意数的绝对值的算法设计一种求任意数的绝对值的算法,并画出并画出程序框图程序框图.算法分析算法分析:第一步第一步:输入数输入数x;第二步第二步:判断判断x0与与否成立否成立?若是若是,则则|x|=x;若否若否,则则|x|=-x.程序框图程序框图:开始开始输入输入xx0?输出输出x否否输出输出-x结束结束例例5.画程序框图画程序框图,对于输入的对于输入的x值值,输出对应的输出对应的y值值.开始开始程序框图程序框图x0?
5、是是y=0否否0 x7时时)解解:y与与x之间的函数关系为之间的函数关系为:(当当0 x7时时)(当当x7时时)算法分析算法分析:第一步第一步:输入每月用水输入每月用水量量x;第二步第二步:判断判断x与否不超与否不超出出7.若是若是,则则y=1.2x;若若否否,则则y=1.9x-4.9.第三步第三步:输出应交纳的输出应交纳的水费水费y.开始开始输入输入x0 x7?是是y=1.2x否否y=1.9x-4.9输出输出y结束结束程序框图程序框图作业作业:P20页页A组组T1;(画出程序框图画出程序框图)作业:设计房租收费的算法,其规定是:住房面积80平方米以内,每平方米收费3元,住房面积超出80平方米时,超出部分,每平方米收费5元.输入住房面积数,输出应付的房租.作业:设计房租收费的算法,其规定是:住房面积80平方米以内,每平方米收费3元,住房面积超出80平方米时,超出部分,每平方米收费5元.输入住房面积数,输出应付的房租.算法分析:第一步:输入住房面积输入住房面积S第二步:根据面积选择计费方式:如果S不大于或等于80,则租金为M=s3,否则为M=240+(S-80)5第三步:输出房租输出房租M的值的值。开始结束输入面积S输出租金MS=80M=3*SM=240+5*(S-8)否是