资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四讲选择结构主讲人:张志刚IF语句的一般格式是:语句的一般格式是:IF条件条件THEN语句语句1条件为真时的响应、处理条件为真时的响应、处理ELSE语句语句2;条件为假时的响应、处理条件为假时的响应、处理担待担待4.1IF语句语句使用条件语句时要注意使用条件语句时要注意:1、条件语句是一个语句。、条件语句是一个语句。IF、THEN、ELSE都是语句的都是语句的一个部分。所以它只能有一个一个部分。所以它只能有一个“;”作为分隔符,放在句作为分隔符,放在句子的结束,特别要注意不能放在子的结束,特别要注意不能放在ELSE之前。之前。2、如果我们的程序只需对条件为真的情况作出处理,不、如果我们的程序只需对条件为真的情况作出处理,不需要处理条件为假的情况,则需要处理条件为假的情况,则IF语句省略语句省略ELSE分句,格式分句,格式变成:变成:IF条件条件THEN语句语句1;条件为真时的响应、处理条件为真时的响应、处理如:如:如果数如果数a大于等于大于等于0则输出它的平方根。则输出它的平方根。ifa=0thenwriteln(sqrt(a);对以上的例子,条件为假时不需处理,于是我们干脆省对以上的例子,条件为假时不需处理,于是我们干脆省去去ELSE分句。分句。3、if语句可以多层嵌套。嵌套时为了避免误解,可以用语句可以多层嵌套。嵌套时为了避免误解,可以用begin,end括起嵌套部分;括起嵌套部分;else分句一般和最近的分句一般和最近的if分句分句配套:配套:IF条件条件THENBEGINif条件条件1thenelse;ENDELSEBEGINif条件条件2thenelse;end;例例1、输入两个数a,b,输出较大的数。programtt;vara,b:integer;beginwrite(pleaseinputa,b:);readln(a,b);ifabthenwriteln(a)elsewriteln(b);end.4.2CASE语句语句分情况语句适用于对一个条件的多种情况的响应。格式:case表达式of标号1:语句1;标号2:语句2;标号n:语句n;else语句n+1end;case语句在使用时有几点要注意:语句在使用时有几点要注意:1.end与与case对应;标号与语句之间用对应;标号与语句之间用“:”分分隔;隔;else与语句之间不用分隔符。与语句之间不用分隔符。2.标号必须是一常量,其类型与表达式的类型一标号必须是一常量,其类型与表达式的类型一致致例题:例题:某全自动加油站某全自动加油站a,b,c三种汽油的单价三种汽油的单价(元元/kg)分分别是别是1.50、1.35和和1.18,也提供了,也提供了“自己加自己加”或或“协协助加助加”两个服务等级,这样用户可以得到两个服务等级,这样用户可以得到5%或或10%的的优惠。编一个程序,用户输入加油量、汽油品种和服优惠。编一个程序,用户输入加油量、汽油品种和服务类型务类型(f-自动,自动,m-自己,自己,e-协助协助),然后计算应付款。,然后计算应付款。programpcase1;varoil,help:char;kg,total:real;beginwrite(Entertheamountinkilograms(kg):);readln(kg);write(Whichtypeofthegasoline(a,b,c):);readln(oil);wirte(Whichtypeforservice(f,m,e):);readln(help);caseoilofa:total:=1.50*kg;b:total:=1.35*kg;c:total:=1.18*kg;elsewriteln(InputError!)end;处理汽油的类型casehelpoff:;m:total:=total*(1-0.05);e:total:=total*(1-0.10);elsewriteln(InputError!)end;处理服务类型writeln;writeln(Totalis,total:10:2);end.例题:从键盘上读入年和月,输出该月有多少天。从键盘上读入年和月,输出该月有多少天。programpcase2;varyear,month,day:integer;runnian:boolean;beginwrite(Enteryearandmonth:);readln(year,month);casemonthof1,3,5,7,8,10,12:day:=31;4,6,9,11:day:=30;以上处理以上处理31天和天和30天的情况天的情况2:beginrunnian:=(yearmod400=0)or(yearmod4=0)and(yearmod1000);caserunnianoftrue:day:=28;false:day:=29;end;end;以上处理以上处理2月的情况:闰年月的情况:闰年28天,平年天,平年29天天end;end.vara:real;begina:=15/8;writeln(a);writeln(a:0:2);writeln(a:0:0);end.输出1.8750000000E+00输出1.88整数部分按实际位数输出,小数部分保留两位小数,末位四舍五入.输出2只输出整数部分,小数部分四舍五入练习:1、从键盘上读入长方形的边长a,b,计算它的面积和周长,输出。2、输入一个时、分、秒,把它转换为一个秒数。3、从键盘读入一个数,判断它的正负。是正数,则输出+,是负数,则输出-。4、输入两个数a,b,输出较大数的平方值。5、铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超50公斤,超过部分每公斤加收0.10元。编一程序完成自动计费工作。6、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。7、输入a,b,c三个不同的数,将它们按由小到大的顺序输出。13、当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。编一程序完成分数的自动转换工作。转换规则如下:60分以下的为不合格;60到69分为合格;70到89分为良好;90分以上的为优秀。(提示:可以利用DIV运算来使程序更简明)8、打印某年某月有多少天。(提示:A、闰年的计算方法:年数能被4整除,并且不能被100整除;或者能被400整除的整数年份。B、利用MOD运算可以判断一个数能否被另一个数整除)9、编程模拟剪刀、石头、布游戏:用S表示剪刀,用R表示石头,用P表示布。规则是:剪刀剪布,石头砸剪刀,布包石头。游戏者分别把自己的选择输入,计算机给出结果。家庭作业v完成选择结构的练习v预习循环结构
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号