人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

信息学竞赛Pascal语言选择结构程序设计(三) 标签:信息学

[复制链接]

优学合肥奥数网讯:青少年信息学竞赛辅导资料Pascal语言:选择结构程序设计

选择结构程序设计

IF语句

条件语句用于响应一个条件的两个方面。

例如:今天如果下雨,我们就在家;否则(不下雨)我们就去旅游。

又如:如果已经搜索得到结果,就打印出答案;否则(还没得到结果)就继续搜索。

IF语句的一般格式是:

IF条件

THEN语句1{条件为真时的响应、处理}

ELSE语句2;{条件为假时的响应、处理}

使用条件语句时要注意:

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条件

THENBEGIN

if条件1then……else……;

END

ELSEBEGIN

if条件2then……else……;

end;

例1、输入两个数a,b,输出较大的数。

programtt;

vara,b:integer;

begin

write('pleaseinputa,b:');

readln(a,b);

ifa>bthenwriteln(a)

elsewriteln(b);

end.

下一页阅读CASE语句

CASE语句

分情况语句适用于对一个条件的多种情况的响应。

格式:

case表达式of

标号1:语句1;

标号2:语句2;

……

标号n:语句n;

else语句n+1

end;

case语句在使用时有几点要注意:

1.end与case对应;标号与语句之间用“:”分隔;else与语句之间不用分隔符。

2.标号必须是一常量,其类型与表达式的类型一致

例2:某全自动加油站a,b,c三种汽油的单价(元/kg)分别是1.50、1.35和1.18,也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠。编一个程序,用户输入加油量、汽油品种和服务类型(f-自动,m-自己,e-协助),然后计算应付款。

programpcase1;

var

oil,help:char;

kg,total:real;

begin

write('Entertheamountinkilograms(kg):');readln(kg);

write('Whichtypeofthegasoline(a,b,c):');readln(oil);

wirte('Whichtypeforservice(f,m,e):');readln(help);

caseoilof

'a':total:=1.50*kg;

'b':total:=1.35*kg;

'c':total:=1.18*kg;

elsewriteln('InputError!')

end;

{——————处理汽油的类型}

casehelpof

'f':;

'm':total:=total*(1-0.05);

'e':total:=total*(1-0.10);

elsewriteln('InputError!')

end;

{——————处理服务类型}

writeln;

writeln('Totalis',total:10:2);

end.

3.可以多个标号对应同一条语句

4.语句可以是多个语句,但必须用语句括号(begin……end)括起

5.case语句也可以嵌套

例3:从键盘上读入年和月,输出该月有多少天。

programpcase2;

var

year,month,day:integer;

runnian:boolean;

begin

write('Enteryearandmonth:');readln(year,month);

casemonthof

1,3,5,7,8,10,12:day:=31;

4,6,9,11:day:=30;{————以上处理31天和30天的情况}

2:begin

runnian:=(yearmod400=0)or((yearmod4=0)and(yearmod100<>0));

caserunnianof

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整除,并且不能被100整除;或者能被400整除的整数年份。B、利用MOD运算可以判断一个数能否被另一个数整除)

9、编程模拟剪刀、石头、布游戏:用S表示剪刀,用R表示石头,用P表示布。规则是:剪刀剪布,石头砸剪刀,布包石头。游戏者分别把自己的选择输入,计算机给出结果。

最新两期阅读:信息学竞赛辅导资料Pascal语言基础知识(一)

信息学竞赛Pascal语言顺序结构程序设计(二)

更多内容,请参加优学合肥奥数网“杯赛竞赛”频道。

》》“信息学竞赛”延伸阅读

青少年信息学竞赛语言教程一:简单程序

信息学编程语言教程二:顺序结构程序与基本数据类型

信息学奥赛语言教程PASCAL函数表

安徽省合肥市青少年信息学竞赛注意事项

回复

使用道具 举报

小黑屋/人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

Powered by 5wangxiao

© 2007-2021 5wangxiao.Com Inc.

快速回复 返回顶部 返回列表