一、认识双分支结构程序

一、认识双分支结构程序

ID:46946887

大小:62.00 KB

页数:4页

时间:2019-12-01

一、认识双分支结构程序_第1页
一、认识双分支结构程序_第2页
一、认识双分支结构程序_第3页
一、认识双分支结构程序_第4页
资源描述:

《一、认识双分支结构程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章分支程序在程序设计中,许多问题是在一定条件下才选择某种处理方式的,这就需要用条件判断语句或情况选择语句进行处理。程序执行中将出现选择(分支),根据条件只选择执行部分语句,不一定都是按原顺序从头到尾地执行所有语句,这样的程序称为分支程序。if 语句常称为条件语句,它的一般格式为:    (1) if 条件 then 语句;    (2) if 条件 then 语句1  else  语句2;IF 语句的功能是按条件在两种可能中选择其中一种。习惯上把if 后面的表达式称为条件(条件表达式),等条件表达式子成立就执行语句1,否则就执行语句2。一、条件表达式大于小于大于等于

2、小于等于等于不等于><>=<==<> 如:3+7>8,x+y<10,2*7<=13,4<3等都是关系表达式。Pascal还引入三种逻辑运算符:not、and、or。它们分别相当于数学上的"非"、"且"和"或"的意义。abNotaaandbaorbaxorbfalsefalsetruefalsefalsefalsefalsetruetruefalseturetruetruefalsefalsefalsetruetruetruetruefalsetruetruefalse当一个表达式里同时有and,not,or时,计算的顺序是not→and→or例如:“m,n都是偶数或都是

3、奇数”可表示为:(mmod2=0)and(nmod2=0)or(mmod2=1)and(nmod2=1)判断以下式子是真还是假:①(5>90)or(45<100)②not(100mod3<>2)and(15div3>=5)③(89mod30>12)and(23div4<9)or(100+23>=66)④(a+b0)or(a>12)其中a=6,b=3,c=10,d=4二、if条件语句和复合语句[例6]某服装公司为了推销产品,采取这样的批发销售方案:凡订购超过100套的,每套定价为50元,否则每套价格为80元。编程由键盘输入订购套

4、数,输出应付款的金额数。解:设X为订购套数,Y为付款金额,则:①输入X;②判断X值;③根据判断结果选择符合条件的那种方法计算Y值;④输出计算结果。Pascal程序:Programyf;Varx,y:integer;BeginRead(x);  if x >100 then y:=50*X  else  y:=80*X;      {条件判断与选择 }Writeln('y=',y) ;4ReadlnEnd. [例7]计算函数     分析:根据输入的x值,先分成x>0与x≤0两种情况,然后对于情况x≤0,再区分x是小于0,还是等于0。源程序如下:programex;var

5、x:real;y:integer;begin read(x);ifx>0 theny:=1{x>0时,y的值为1}else{x≤0时} ifx=0 theny:=0 elsey:=-1;writeln('x=',x,’’,'y=',y);end.显然,以上的程序中,在then子句中嵌套了一个Ⅱ型if语句。当然程序也可以写成如下形式:programex; varx:real;y:integer;beginread(x);ifx>=0 then    ifx>0 theny:=1elsey:=0elsey=-1;writeln('x=',x:6:2,'y=',y);end.

6、但是对于本题,下面的程序是不对的。  y:=0;ifx>=0 then    ifx>0theny:=1elsey:=-1;明显,从此人的程序书写格式可以看出,他想让else与第一个if配对,而事实上,这是错的。因为pascal规定:else与它上面的距它最近的能配对的if配对,因此以上程序段的逻辑意义就与题义不符。要使上程序段中esle与它上面的距它最近的if配对,应将程序段修改为:y:=0; ifx>=0thenbegin  ifx>0thenY:=1;endelseY:=-1;4[例8] 读入三个不同的数,编程按由小到大的顺序排列打印出来。解:设读入的三个数为a,

7、b,c,为了把较小的数排在前面,可作如下处理:   ① 如果a>b就交换a、b的值,将较大的值换至后面;   ② 如果a>c就交换a、c的值,将较大的值换至后面;   ③ 如果b>c就交换b、c的值,将较大的值换至后面;   ④ 输出处理后的a,b,c。Pascal程序:Progranm  Exam22;    Var a,b,c,t: Real;Begin  Read(a,b,c);if a>b then begin                    {复合语句} t:=a; a:=b; b:=t;     {交换a,b}end;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。