分支结构程序设计课件.ppt

上传人:小飞机 文档编号:4000464 上传时间:2023-03-31 格式:PPT 页数:30 大小:263KB
返回 下载 相关 举报
分支结构程序设计课件.ppt_第1页
第1页 / 共30页
分支结构程序设计课件.ppt_第2页
第2页 / 共30页
分支结构程序设计课件.ppt_第3页
第3页 / 共30页
分支结构程序设计课件.ppt_第4页
第4页 / 共30页
分支结构程序设计课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《分支结构程序设计课件.ppt》由会员分享,可在线阅读,更多相关《分支结构程序设计课件.ppt(30页珍藏版)》请在三一办公上搜索。

1、分支结构程序设计,信息学奥林匹克培训讲座(三),复习+预习,1、复习 P1P662、复习基本知识:程序与指令、计算机发展史、语言发展史、进制转换等。3、熟读资料“计算机基础知识”。4、预习6788,PASCAL基础知识布尔量和布尔表达式,逻辑值(布尔值)只有两个:True(真)和False(假)由关系运算符将两个式子联系起来的式子,叫关系表达式,每个关系表达式的值都是一个布尔值。关系运算符:、=、例:当X=5时,x=false的值是True ab的值是False,由布尔运算符联系起来的式子叫布尔表达式。布尔运算符:not(否)and(与)or(或)xor(异或)布尔运算的结果:逻辑运算式中运算

2、顺序是:()函数not*、/、div、mod、and+、-、or、xor、=、,练习,课堂练习:,例1:求下列式子的逻辑值:(1)5+93*8(3)4*5 div 2=10例2:若a=True,b=False,x=7,y=12,m=3,n=35,求下列布尔表达式的值。a and not(mn)and(xy-n)or(a xor b),false,-23,false,true,true,true,false,true,false,true,true,练习:求下列表达式的逻辑值:(1)3+689)or(100/2=50)(3)Not(-5-3)(4)当a=5,b=6,c=10时,计算下列各题:(a

3、+b=c)and(c-bb),false,true,true,true,true,例4-1:某人买了若干袋(1袋为0.5千克)白糖,每袋3.2元,计算应付多少钱?,program ex4_1;var x:integer;m:real;begin write(x=);readln(x);m:=x*3.2;writeln(m=,m:0:2)End.,例4-2:如果某人去批发白糖,买50袋(1袋为0.5千克)以下,每袋3.2元,50袋以上,每袋少收0.7元,批发若干袋,应付多少钱?,program ex4_2;var x:integer;m:real;begin write(x=);readln(x

4、);if x=50 then m:=x*2.5 else m:=x*3.2;writeln(m=,m:0:2)End.,四、分支结构程序,(一)If语句格式:if then 语句1 else语句2(二)Case语句格式:case of 常量1:语句1;常量2:语句2;else 语句N end,(一)if语句,1、格式:if then 语句1 else语句2 含义:布尔表达式的值是true时,执行then后面的语句,布尔表达式的值是false时,执行else后面的语句。2、if语句可以没有else,即布尔表达式值是false执行下一语句。3、语句1和语句2都可以是复合语句。,练习,练习,练习,复

5、合语句,多个语句由beginend串在一起称为一句复合语句。例:begin c:=a;a:=b;b:=c end 上例就是一个把a,b两个变量值互换的复合语句。,课堂练习二:,例4-3:输入一个数,如果是正数就打印“yes”,否则就打印“no”。,Program ex4_3;,Var x:integer;,begin,Write(x=);,Readln(x);,If x=0 then writeln(yes)else Writeln(no),End.,例4-4:输入三角形的三个角的度数,若它们的度数等于180度,则三角形成立,否则不成立。,Program ex4_4;,Var A,B,C:in

6、teger;,begin,Write(A,B,C=);,Readln(A,B,C);,If A+B+C=180 then writeln(yes)else Writeln(no),End.,练习:,根据下式,编程写出输入X的值后,输出Y的值。,0(x0)2x(x0),Y=,Program lx4_1;,Var x,y:integer;,begin,Write(x=);,Readln(x);,If x=0 then y:=2*x else x:=0;,End.,Writeln(y=,y),例4-5:输入一个数,如果是正数则打印这个数。,Program ex4_5;,Var x:integer;,

7、begin,Write(x=);,Readln(x);,If x=0 then writeln(x),End.,练习:输入三角形的三个角的度数,若它们的度数等于180度,则输出三角形的三个角。,Program lx4_2;,Var A,B,C:integer;,begin,Write(A,B,C=);,Readln(A,B,C);,If A+B+C=180 then writeln(A=,A,B=,B,C=,C),End.,练习:输入A,B二个数,编程把小数放在A中,把大数放在B中。,Program lx4_3;,Var A,B,C:integer;,begin,Write(A,B=);,Re

8、adln(A,B);,If AB then begin C:=A;A:=B;B:=C end;,End.,分析:,A,B,Write(A=A,B=,B);,If AB then A,B的值互换,上机编程:,1、输入10个数,统计有多少正数?多少负数?2、小光去买本,若买10本以下每本0.6元,超过10本,超过的部分可以每本减少0.1元,小光买若干个本子,预计要向妈妈要多少钱?5、妈妈给玲玲的零花钱够5元,她中午可以买一个“可爱多”,如果够2元,则只能买“薄荷夹心”,妈妈每次给玲玲的钱到不了10元,她可以买到什么?(考虑多种情况),If语句的嵌套使用,1、If语句中的语句1和语句2原则上说可以是

9、任何语句,当然也可以是条件语句,当语句1或语句2是条件语句是称为条件语句嵌套。2、嵌套情况可以分成两种,一是语句1包含IF语句,二是语句2包含IF语句。3、当出现IF语句嵌套时,ELSE跟它最近的IF语句配套。,课堂练习五:,1、函数Y如右:编写程序,当输入X后,输出Y的值。,0(x0)2x(0 x10)2x+1(10 x50)x/2+50(50 x),Y=,Program lx4_4;,Var x,y:real;,begin,Write(x=);,Readln(x);,If x0 then y:=0 else,End.,Writeln(y=,y:0:0),If x10 then y:=2*x

10、 else,If x50 then y:=2*x+1 else y:=x/2+50,课堂练习五:,1、函数Y如右:编写程序,当输入X后,输出Y的值。,0(x0)2x(0 x10)2x+1(10 x50)x/2+50(50 x),Y=,Program lx4_5;,Var x,y:real;,begin,Write(x=);,Readln(x);,If x50 then else y:=x/2+50,End.,Writeln(y=,y:0:0),If x10 then else y:=x*2+1,If x0 then y:=0 else y:=x*2,2、鸡兔同笼问题。已知鸡和兔的总数量,鸡腿和

11、兔腿的总数量,求鸡和兔各多少只?,Program lx4_6;,Var s,st,j,t:integer;,begin,Write(s,st=);,Readln(s,st);,j:=(4*s-st)/2;T:=s-j;,End.,If j-trunc(j)0.0001 then begin writeln(ji=,j);writeln(tu=,t);Endelse writeln(no anwser);,3、从键盘读入三个数,按由大到小的顺序把它们打印出来。,Program lx4_4;Var a,b,c,x:integer;BeginWrite(a,b,c=);Readln(a,b,c);I

12、f ab and bc then writeln(c:5,b:5,a:5);If ac and cb then writeln(b:5,c:5,a:5);End.,1、输入三角形的三个角的边a,b,c,判断是否为三角形。,2、输入三角形的三个角的度数A,B,C,判断三角形是否为直角三角形。3、设VAL是一个整型变量,希望其值介于1与31之间,用IF语句嵌套,使实现,若VAL的值越界,即VAL31,则输出相应的文字信息。,(二)Case语句(分情况语句),1、格式:case of 常量1:语句1;常量2:语句2;else 语句N end表示当条件式的值与OF后面的常量之一相等时,则执行该情况常量

13、后的语句部分,然后转到CASE语句的END,如果表达式的值不与任何常量相等,则执行ELSE后的语句。2、ELSE可以没有。3、表达式可以是整型、字符型和布尔型,但不能是实型。即只能是有序型。4、常量1可以是一个或多个值,中间用逗号隔开,也可以是一个取值范围,例:用0.4表示0至4。,例4-6:试编程写一个根据用户键入的两上操作数和一个运算符,由计算机输出运算结果的程序。,Program ex4_6;,Var a,b,s:real;ch1:char;,begin,Write(Please input a,b=);,Readln(a,b);,Case ch1 of+:s:=a+b;-:s:=a-b

14、;*:s:=a*b;/:s:=a/b;end;,End.,Write(Please input(+,-.*,/);,Readln(ch1);,Write(a,ch1,b,=,s);,(二)、case语句的执行过程先计算表达式(称为情况表达式)的值,如果它的值等于某一个常量(称为情况常量,也称情况标号),则执行该情况常量后面的语句,在执行完语句后,跳到case语句的末尾end处。(三)、说明情况表达式必须是顺序类型的;情况常量是情况表达式可能具有的值,因而应与情况表达式具有相同的类型;情况常量出现的次序可以是任意的;同一情况常量不能在同一个case语句中出现两次或两次以上;每个分语句前可以有一个

15、或若干个用逗号隔开的情况常量;如果情况表达式的值不落在情况常的范围内,则认为本case语句无效,执行case语句的下一个语句。turbo pascal中增加了一个否则“的情况,即增加一个else子句,但也是可省的。每个常量后面只能是一个语句或一个复合语句。,(三)分支结构程序应用,1、从键盘上任意输入一个正整数N,判断它是奇数还是偶数。,Program ex4_7;,Var n:integer;,begin,Write(n=);,Readln(n);,End.,If n mod 20 then writeln(n,is jishu.)else writeln(n,is oushu.),2、输入

16、一个年号,判断它是否为闰年。,Program ex4_8;,Var y:integer;,begin,Write(year=);,Readln(y);,End.,If y mod 400=0 then writeln(yes)else if(y mod4=0)and(ymod1000)then writeln(Yes),3、月收入T的所得税税率R如下:,编写一程序,输入某人的月收入,输出所得税税率、应缴所得税款以及扣除所得税后的实际收入。,Program ex4_9;,Var t,r,m1,m2:real;,begin,Write(Please input t=);,Readln(t);,Ca

17、se t div 100 of 0.7:r:=0;8,9:r:=0.05;10.14:r:=0.1;15.29:r:=0.15;Else r:=0.2 End;,End.,Write(shui=,m1,shou=,m2);,M1:=r*t;m2:=t-m1;,1、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。2、当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。编一程序完成分数的自动转换工作。转换规则如下:60分以下的为不合格;60到69分为合格;70到89分为

18、良好;90分以上的为优秀。(提示:可以利用DIV运算来使程序更简明)3,期未来临了,班长小Q决定将剩余班费X元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为6元、5元和4元。小Q想买尽量多的笔(鼓励尽量多的同学),同时他又不想有剩余钱。请您编一程序,帮小Q制订出一种买笔的方案。4输入两个正整数a,b。b最大不超过三位数,a不大于31。使a在左,b在右,拼接成一个新的数c。例如:a2,b16,则c216;若a18,b476,则c18476。提示:求c的公式为:caKb,5、输入,三个数,打印出最大者。6、从键盘读入两个数,比较其大小,把大数置于,小数置于

19、。请设计实现该功能的程序。7、某运输公司的运费标准如下:(1)当运输距离s300公里时:货重w2吨时,按98%收费;2w4吨时,按96%收费;4 w6吨时,按94%收费;w 6时,按92%收费。(2)当运输距离s300公里时:w2吨时,按100%收费;2w4吨时,按98%收费;4w6吨时,按96%收费;w 6吨时,按94%收费。在写程序前,设p为每公里运费,cost为向用户收取的费用。,8、函数的表达式如下:0(x0)Y=x(0 x10)10(10 x20)-0.5X+20(20 x40)-2x+40(40 x)编写程序,当输入x后输出y的值。分别用下列语句编写。9、给出一个不多于三位的正整数,求它是几位数,并分别打印出各位上的数字。10、编写程序,输入某人的生日日期,算出他的生日是星期几。,家庭作业:,1、兄弟三人岁数和是30,大哥的岁数减2,二歌的岁数加2,弟弟的岁数乘以2,结果三人的岁数相同,求三人的岁数各是多少?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备2025010119号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000987号