信息学奥林匹克竞赛培训教案(3)

2019-08-30 13:42

设布尔变量bool,当x,y在圆环内时,让它取值为true,否则取值为false。 y

0 1 2 x “(x,y)若在圆环内”的表达式:(x2+y2≥12)且(x2+y2≤22)

PROGRAM L2_4; VAR

x,y:real;

bool:boolean; BEGIN writeln; write('x=?'); readln(x); write('y=?'); readln(y);

bool:=(x*x+y*y>=1) and (x*x+y*y<=4); write(bool); END.

习题

XT1_1 判断下列标识符,哪些是合法的?哪些是非法的?

x3,3x,a17,p5q,π,β,ε,abcd,x2,ex9.5

XT1_2 输入三个数,计算并输出它们的平均值以及三个数的乘积,写出程序。

XT1_3 已知地球半径为6371km,计算并输出地球的表面积和体积,写出程序。球表面积计算公式s=4πR2 ,球体积计算公式V?43?R(其中R指球半径)。 3XT1_4 已知匀加速运动的初速度为10m/s,加速度为2m/s2,求20s以后的速度,20s内走过的路程及平均速度,写出程序。

设初速度为v0,加速度为a,时间为t,末速度为vt,路程为s,平均速度为vave,求末速度公式:vt=v0+at,路程的公式:s?v0t?

XT1_5 读入摄氏温度c,将它转换成华氏温度f输出,写出程序。转换公式:

12sat,平均速度为vave= 2t 11

f?9c?32 5

XT2_1 下列数据哪些是整数?哪些是实数?哪些是非法的数?

256,2.50,1e+06,2.2e5,e10,-785,e-5,

.5,15.,15.0,0.12,0,0.0,25e,

XT2_2 确定下列各常数、表达式的类型和值,表达式类型是指表达式值(结果)的类型。

‘A’,’3’,3,true,false, 12/3,12 DIV 3,5>3,5<3,

105 MOD 10,round(17/3,trunc(17/3), sqrt(ord(‘2’)-ord(‘0’)), sqr(ord(‘2’)-ord(‘0’)), (5>3) AND (5<3),chr(67)

XT2_3 将下列数学表达式表示成PASCAL表达式

(1)-(a2+b2)·y4 (2)sin2(x+0.5)+3cos(2x+4)+tan-1x (3)u0(1+e-0.5t)

5?bp?q?(r?1)2(4) (5) (6)2a?6a(r?1)?1?c?d?b?5a?yaxba?ba?bz

?ab??(7)1?tan4830' (8)|3-exln(1+x)| (9)??2?cd??f?12?105?xy (10)

1??2

XT2_4 写一程序读入三角形的三个边a,b,c,计算并打印三角形的面积S。可利用下列公式计算。

S?p(p?a)(p?b)(p?c)

其中p?1(a?b?c) 2h2 XT2_5 按下列公式计算和打印y值

x?1?tan52?15'

?y?e2?lnsin2x?sinx2

XT2_6 输入二次方程的系数a,b,c(输入数据的选取应保证二次方程为实根),计算并输出二次方程的两个实根。二次方程为:

xh1 12

r XT2_7图

ax2+bx+c=0

XT2_7 求图形的表面积与体积。其中r,h1,h2的值由键盘读入。,, XT2_8 输入三个字符,然后按输入字符次序输出这三个字符,再输出每个字符的序号,最后按与输入字符相反的次序输出这三个字符。

XT2_9 由键盘输入两组x,y值,由程序根据它们是否在示意图中的斜线区域内,输出不同的值。若在斜线区域内,输出true,否则输出false。

XT2_10 输入一个三位整数,将它们反向输出。例如输入127,输出应为721。

XT2_11 输出你的中文(或英文)名字。每个汉字(或字母用7行5列字符描述。例如王平输出如图所示。

y 2

-2 0 2 x

-2 XT2_9图

13

***** * *****

******** * *** ** ***** ***** * * * * *

XT2_11图

第3课 选择结构程序设计(20071224)

请参阅《全国信息学奥林匹克联赛培训教程(一)》P101

5.3.3 选择结构

3.1 引言

通常,计算机按在程序中书写的顺序执行语句。然而,在许多情况下,语句执行的顺序依赖于输入数据或中间运算结果。在这种情况下,必须根据某个变量或表达式的值作出判定,以决定执行哪些语句和跳过哪些语句不执行。我们称这种程序结构为选择结构(或称判定结构)。

PASCAL中有两个语句可实现选择结构:IF语句(条件语句)和CASE语句(情况语句)

3.2 IF语句

3.2.1 IF语句的两种形式

IF语句又称如果语句(或称条件语句)。它的一般形式是

IF (条件) 假 真 条件 THEN (语句1) ELSE (语句2)

其中“条件”实际上是一个布尔表达式,它

语句1 语句2 的值可以是真(true)或假(false)。在条件为真时,执行语句1,否则(条件为假)执行语句2。

可以利用流程图来描述选择结构。

在流程图中用菱形框表示要执行的判定,其余步骤用矩形框表示,箭头表示执行的顺序。

例L3_1 火车托运行李,要根据行李的重量按不同标准收费。例如不超过50kg,按每公斤0.35元收费。若超过50kg,则其中50kg按每公斤0.35元收费,其余超过部分按每公斤0.50元收费。现输入托运行李重量,要求计算并输出托运费。

解:

讨论:设托运行李重量为weight,该问题要求根据weight是否超过50kg,按不同公式计算出托运费。设托运费为pay。weight和pay均为实型。

下面给出算法。 一级算法

1、读入weight的值。

2、根据weight的大小选择不同的公式计算pay。 3、输出pay。

其中第2步需求精。根据题意,可以写出计算pay的公式如下:

weight≤50 ?weight?0.35pay??

weight>50 50?0.35?(weight?50)?0.5? 14

二级求精

第2步 计算pay

2-1 如果weight≤50

假 真 2-2 则pay=weight×0.35 weight≤50 2-3 否则pay=50×0.35+(weight-50)×0.5

以上求精步骤要求首先判断

pay=weight×0.35 pay=50×0.35 weight是否小于等于50。如果小于

+(weight-50) ×0.5 等于50应执行算法步骤2-2,否则

应执行算法步骤2-3。即算法步骤2-2和2-3不是同时执行的,需根据情况选择其一执行。

L3_1图

PROGRAM L3_1; VAR

weight,pay:real; BEGIN

write('weight='); readln(weight); IF weight<=50

THEN pay:=0.35*weight

ELSE pay:=0.35*50+0.5*(weight-50); writeln('pay=',pay) END.

除了上面给出的IF语句形式外,PASCAL中还有另外一种IF语句形式。即 IF (条件)

THEN (语句)

假 真 在条件为真时,执行THEN后的语句。在条件为假时,条件 不执行THEN后的语句,在两种情况下的后继语句都是IF语句的下一个语句。

语句1

15


信息学奥林匹克竞赛培训教案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《营养师》国家职业资格考试知识复习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: