条件语句--基本算法语句.ppt_第1页
条件语句--基本算法语句.ppt_第2页
条件语句--基本算法语句.ppt_第3页
条件语句--基本算法语句.ppt_第4页
条件语句--基本算法语句.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.2 基本算法语句,算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句 .,条件语句的一般格式,只含一个“分支”的条件结构,写成条件语句为,当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行END IF之后的语句.,含两个“分支”的条件结构,写成条件语句为,当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.,你能写出这个算法对应的程序吗?,END,INPUT x,IF x=0 THEN,PRINT x,ELSE,PRINT -x,END IF,阅读下面的程序,你能说出程序的运行过程并画出对应的程序框图吗?,END,INPUT x,IF x0 THEN,x=-x,END IF,PRINT x,某居民区的物业管理部门每月按以下方法收取卫生费:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元。,问题情境,试设计算法,根据输入的人数计算应收取的卫生费?,若用c(单位:元)表示应收取的费用,,具体算法步骤如下:,S1 输入t;,S2 若t3,则c5,,S3 输出c,t表示住户的人口数,则,否则c5+1.2(t-3);,条件语句的作用 在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。,【例题解析】,例1:编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根。,算法分析:,一元二次方程的根有三种不同情况:,设判别式=b2-4ac,(1)当0时,一元二次方程有两个不等的实数根.,(2)当=0时,一元二次方程有两个相等的实数根.,(3)当0时,一元二次方程没有实数根.,【程序框图】,输入a,b,c,2,1,是,开始,=b2-4ac,0?,原方程无实根,2,结束,否,1,=0?,输出p,是,否,x1=p+q,x2=p-q,输出x1,x2,【程序】,INPUT “ a,b,c =”;a,b,c d=b*b-4*a*c IF d=0 THEN p=-b/(2*a) q=SQR(d)/(2*a) IF d=0 THEN PRINT “One real root:”;p ELSE x1=p+q x2=p-q PRINT “Two real roots:”;x1,x2 END IF ELSE PRINT “No real root!” END IF END,是,开始,=b2-4ac,0?,原方程无实根,否,结束,=0?,输出p,是,否,x1=p+q,x2=p-q,输出x1,x2,输入a,b,c,例2:编写程序,使得任意输入的3个整数按从大到小的顺序输出。,算法分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使abc.具体操作步骤如下。 第一步:输入3个整数a,b,c. 第二步:将a与b比较,并把小者赋给b,大者赋给a. 第三步:将a与c比较. 并把小者赋给c,大者赋给a,此时a已是三者中最大的。 第四步:将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。 第五步:按顺序输出a,b,c.,c=b,b=t,b=t,c=t,a=c,【程序框图】,开始,输入a,b,c,ba?,是,t=a,a=b,否,ca?,是,t=a,否,cb?,t=c,是,否,输出a,b,c,交换a,b的值,【程序】,INPUT “a,b,c =”;a,b,c IF ba THEN t=a a=b b=t END IF IF ca THEN t=a a=c c=t END IF,IF cb THEN t=b b=c c=t END IF PRINT a,b,c END,巩固练习,1. INPUT “x= ”; x IF x3 THEN y=x * x ELSE y=2 * x END IF PRINT “y=”; y END 若输入4,输出结果是,补充完整下面用来求任意一个实数x的绝对值的程序 INPUT “x= ”; x _ PRINT “|x|= ”; x ELSE PRINT “|x|= ”; -x _ END,16,IF X=0 THEN,END IF,巩固练习,右边给出的是用条件语句编写的一个程序,根据该程序回答:,INPUT x IF x3 THEN y=x*x-1 ELSE y=0 END IF END IF PRINT y END,(1)若输入5,则输出结果是 ; (2)若输入2,则输出结果是 ; (3)若输入3,则输出结果是 ;,24,4,课时小结:,本节课主要学习了条件语句的结构、特点、作用及用法,并懂得利用解决一些简单问题。条件语句使程序执行产生分支,根据不同的条件执行不同的路线,使复杂问题简单化。,条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。,【课堂练习】,1.课本P29页T2.读程序,说明程序的运行过程.,INPUT “x=:”;x IF 9x AND x100 THEN a=x10 b=x MOD 10 x=10b+a PRINT x END IF END,问题如输入的数x=86,则输出的结果是什么?,68,此程序用于交换一个两位数的个位和十位数字.,2.课本P29页T1.,INPUT “a,b,c=”; a,b,c IF a+bc AND a+cb AND b+ca THEN PRINT “Yes.” ELSE PRINT “No.” END IF END,参考答案:,设计一个算法,实现求绝对值的功能.,自然语言算法1:,自然语言算法2:,条件语句伪代码格式2: If A Then B,下列流程图,实现的一个“符号”函数的求值,试用自然语言和伪代码描述算法.,If A Then B Else C End If,If A Then B,If A Then B Else If C Then D Else E End If End If,3.课本P29页T3.编写求一个数是偶数还是奇数的程序,从键盘输入一个整数,输出该数的奇偶性.,INPUT “a=”; a IF a MOD 2 =0 THEN PRINT “Even.” ELSE PRINT “Odd.” END IF END,参考答案:,4.编写一个程序,输入两个整数a,b,判断a是否能被b整除.,INPUT “a,b=”; a,b IF a MOD b =0 THEN PRINT “b divides a.” ELSE PRINT “b doe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论