文档详情

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

发布:2025-03-08约5.49千字共50页下载文档
文本预览下载声明

程序的三种根本结构;一、顺序结构;例:输入三角形的三条边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

显示全部
相似文档