第四章选择结构程序设计.doc_第1页
第四章选择结构程序设计.doc_第2页
第四章选择结构程序设计.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.1 IF语句 条件语句用于响应一个条件的两个方面。例如:今天如果下雨,我们就在家;否则(不下雨)我们就去旅游。又如:如果已经搜索得到结果,就打印出答案;否则(还没得到结果)就继续搜索。IF语句的一般格式是:IF 条件 THEN 语句1条件为真时的响应、处理ELSE 语句2;条件为假时的响应、处理使用条件语句时要注意: 1、条件语句是一个语句。IF、THEN、ELSE都是语句的一个部分。所以它只能有一个“;”作为分隔符,放在句子的结束,特别要注意不能放在ELSE 之前。2、如果我们的程序只需对条件为真的情况作出处理,不需要处理条件为假的情况,则IF语句省略ELSE分句,格式变成: IF 条件 THEN 语句1;条件为真时的响应、处理如: 如果数a大于等于0则输出它的平方根。 if a=0 then writeln(sqrt(a); 对以上的例子,条件为假时不需处理,于是我们干脆省去ELSE分句。3、if语句可以多层嵌套。嵌套时为了避免误解,可以用begin ,end括起嵌套部分;else分句一般和最近的if分句配套:IF 条件 THEN BEGINif 条件1 then else ; ENDELSE BEGINif 条件2 then else ; end; 例1、输入两个数a,b,输出较大的数。program tt;var a,b:integer;beginwrite(please input a,b:);readln(a,b);if ab then writeln(a)else writeln(b);end. 4.2 CASE语句 分情况语句适用于对一个条件的多种情况的响应。 格式:case 表达式 of标号1:语句1;标号2:语句2; 标号n:语句n;else 语句n+1end; case语句在使用时有几点要注意: 1. end与case对应;标号与语句之间用“:”分隔;else与语句之间不用分隔符。 2. 标号必须是一常量,其类型与表达式的类型一致例2: 某全自动加油站a,b,c三种汽油的单价(元/kg)分别是1.50、1.35和1.18,也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠。编一个程序,用户输入加油量、汽油品种和服务类型(f-自动,m-自己,e-协助),然后计算应付款。program pcase1;varoil,help:char; kg,total:real;begin write(Enter the amount in kilograms(kg):); readln(kg); write(Which type of the gasoline(a,b,c):); readln(oil); wirte(Which type for service(f,m,e):); readln(help); case oil of a: total:=1.50*kg; b: total:=1.35*kg; c: total:=1.18*kg; else writeln(Input Error!) end;处理汽油的类型 case help of f:; m: total:=total*(1-0.05); e: total:=total*(1-0.10); else writeln(Input Error!) end;处理服务类型 writeln; writeln(Total is ,total:10:2);end.3. 可以多个标号对应同一条语句 4. 语句可以是多个语句,但必须用语句括号(beginend)括起 5. case语句也可以嵌套 例3:从键盘上读入年和月,输出该月有多少天。program pcase2;var year,month,day:integer; runnian:boolean;begin write(Enter year and month:); readln(year,month); case month of 1,3,5,7,8,10,12: day:=31; 4,6,9,11: day:=30;以上处理31天和30天的情况 2:begin runnian:=(year mod 400=0) or (year mod 4=0) and (year mod 1000); case runnian of true: day:=28; false: day:=29; end; end; 以上处理2月的情况:闰年28天,平年29天 end;end.思考与练习: 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整除,并且不能被10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论