网站大量收购独家精品文档,联系QQ:2885784924

信息学奥赛--程序的三种基本结构.pptVIP

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

程序的三种根本结构;一、顺序结构;例:输入三角形的三条边a,b,c,输出三角形的面积。〔a,b,c是正整数100,满足三角形条件〕;var

a,b,c:integer;

p,s:real;

begin

readln(a,b,c);

p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

writeln(s:0:2);

end.;Readln(a,b,c)

读入边长;改进:

输入三角形的三条边a,b,c,如果能构成三角形那么输出三角形的面积;如果不能构成三角形那么输出〞Noanswer〞.;Readln(a,b,c)

读入边长;var

a,b,c:integer;

p,s:real;

begin

readln(a,b,c);

if(a+bc)and(a+cb)and(b+ca)

then

begin

p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

writeln(s:0:2);

end

elsewriteln(‘Noanswer’);

end.;二、选择结构;如:a:=1;b:=2;

那么表达式:a=b的值是TRUE;ab的值是FALSE;

a+1=b的值是TRUE;

Varf:boolean;

f:=ab;Write〔f〕;输出:FALSE;2、逻辑运算(布尔运算)

运算符运算运算对象结果类型

not逻辑非〔取反〕布尔型布尔型

and逻辑与〔并且〕布尔型布尔型

or逻辑或〔或者〕布尔型布尔型

xor逻辑异或布尔型布尔型;〔二〕、选择结构:if语句

有两种形式的IF语句:

(1)if布尔表达式then语句;

(2)if布尔表达式then语句1else?语句2;

IF语句是由一个布尔表达式和一个或两个供选择的操作序列组成。运行时根据布尔表达式的求值结果,选取其中之一的操作序列执行。

当布尔表达式的值为TRUE,那么执行then后面的语句,值为FALSE时有两种情况:

〔1〕什么也不做;〔2〕执行else后面的语句。

注意:

1、else前面的语句不能有分号;2:如果语句局部是复合语句〔多于一条语句〕,那么必须用begin与end括起来。;例1:输入一个整数a,判断他的奇偶性。

〔是偶数输出“yes〞,奇数输出“no〞〕。;例2、计算以下函数,输入x,输出y的值

(精??到小数点后两位小数)。;分析:根据输入的x值,先分成x0与x=0两种情况,然后对于情况x=0,再区分x=0,还是x0。;例3:方程:

ax2+bx+c=0

输入系数a,b,c,a0,输出方程的解(考虑各种情况)。保存两位小数。

(1):如果无实数解输出:’noanswer’;

(2):相同的实数解:输出一个即可。

(3):两个不同的实数解:分别输出。

如:;var

a,b,c:integer;

d,x1,x2:real;

begin

readln(a,b,c);

d:=b*b-4*a*c;

ifd0thenwriteln(noanswer);

ifd=0thenwriteln(x=,-b/(2*a):0:2);

ifd0then

begin

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

writeln(x1=,x1:0:2);

writeln(x2=,x2:0:2);

end;

end.;三、case语句:分情况语句〔多分支语句〕;;引例:

键入一个自然数N〔10000〕,求这个自然数的所有约数之和S〔不包含1和n〕。

如:

输入:

6

输出:

5;var

n,i:integer;

s:longint;

begin

readln(n);

s:=0;

fori:=2ton-1do

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档