信息学竞赛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函数表
安徽省合肥市青少年信息学竞赛注意事项
【信息学竞赛Pascal语言选择结构程序设计(三)】相关文章:
相关文章
网友关注
网友关注视频
精品推荐
分类导航
- 太原小学奥数第二讲—有余除法
- 太原小学奥数第一讲—找规律
- 武汉楚才作文登报作品《一件“伟大”事》
- 武汉楚才作文登报作品《又是一年银耳飘香》
- 武汉楚才作文登报作品《芬芳何处寻》
- 武汉楚才作文登报作品《我总想着这些事》
- 合肥市28届青少年信息学(计算机)竞赛获奖名单(小学组)
- 屯小13名选手参加包河区第四届青少年信息学计算机竞赛
- NOIP2013普及组初赛答案
- 2013全国青少年信息学奥林匹克竞赛时间日程
- 合肥中小学生参加信息学奥赛有哪些好处?
- 信息学竞赛Pascal语言 数组与字符串(五)
- 合肥市“讯飞”杯信息学竞赛(小学组)考试大纲
- 青少年信息学竞赛对小升初的作用?
- 合肥市青少年信息学竞赛(小学组)大纲
- 合肥市讯飞杯青少年信息学竞赛规则(小学组)
- 全国青少年信息学(计算机)奥林匹克联赛初赛内容
- 全国青少年信息学(计算机)奥林匹克联赛题型