选择结构PPT课件_第1页
选择结构PPT课件_第2页
选择结构PPT课件_第3页
选择结构PPT课件_第4页
选择结构PPT课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

第五课 分支结构 选择结构 知识点回顾 程序在运行的过程中 一句接着一句去做的 按出场的顺序进行赋值语句 变量名 表达式先计算后赋值输入语句 Read 变量列表 变量间用 隔开readln 变量列表 Readln 输出语句 单场宽 双场宽 用来输出对齐 先计算后输出 知识点回顾 赋值语句 两侧的变量与表达式值类型必须一致一行输入结束时要按回车键结束 数值间用 或空格隔开 char和string类型不能用空格或 分隔 n n 1 在程序中起到计数器的作用 s s x 在程序中起到累加器的作用 A a x 在程序中起到累乘器的作用 课后作业评讲 选择结构 条件语句 顺序结构 一句接一句做 选择结构 进行判断 选择去做 例1 西瓜促销 购买20斤以上的西瓜 包括20斤 可以享受批发价 即由原来的每斤0 9元下降到0 8元 现要求编一个程序 要求输入购买的斤数 立即算出应付款 结果保留一位小数 分析 根据不同的斤数有不同的价格 就要根据条件来进行判断 用条件语句来实现 Varx y real Beginreadln x ifx 20theny x 0 8 ifx 20theny x 0 9 writeln y 0 1 End X表示斤数 y表示钱数 If 如果 then 那么 构成一个条件语句 格式1 if条件then语句 这里有两句条件语句 根据X的值 从中选一句执行 因此计算机就有了判断能力 把这种语句又称为判断语句或选择语句 将上述程序修改为 Varx y real Beginreadln x ifx 20theny x 0 8elsey x 0 9 writeln y 0 1 End 格式2 if条件then语句1else语句 else的意思是 否则 语句1与语句2的条件正好相反 Else的意思是X 20 由于是一句话 不加 下面一行可以写到上一行的后面 这个地方没有 定义 输入 判断 输出 例2 超市购物 节日期间 某超市购物优惠规定 所购物品不超过100元时 按九折付款 如超过100元 超过部分按七折收费 编一程序完成超市自动计费的工作 输入 所购物品的金额 输出 应付款 结果精确到角 算法分析 用W表示所购物品的金额 用X表示应付款 则计费公式为 0 9 W W100 Varw x real Beginreadln w Ifw 100thenx 0 9 wElsex 0 9 100 0 7 w 100 Writeln x End 这个地方没有 例3 求两个数中的最大数 输入两个整数 用max min两个变量存放 输出时 要求大数放在max 小数放在min里 并输出max min 算法如下 输入两个数max min max min习惯用来表示大 小 但输入时不知大小关系 判断max是否小于min 如果小于min 则交换max和min的值 具体交换方法 t max max min min t 3 输出max min的值 Varmax min t integer Beginreadln max min ifmax minthenbegint max max min min tend wirteln max min end Then后面不止一句话 用begin和end圈起来 形成复合语句 注意书写的对齐 方法2 如何表示条件 1 日常生活中 我们经常要对某一个问题进行真 假或是 否的判断 如 小明是男孩 对于命题只有对或错 是与否的两种结论 布尔型数据可以来表示这个结果 用 真 假 来表示 真 对应的逻辑值是 true 假对应的是 false 要注意 TRUE FALSE 是两个用字母表示的常量 可以理解为数 它们是用来表示逻辑关系的 其大小为 False 大于 不等于 大于等于 n and x y m or aorb 例2 用条件表达式写出判断整数y是否是奇数的三种方法例3 用逻辑表达式表示 分房条件为已婚 marrigenrat 年龄 age 在26岁以上工作年限 workingage 在5年以上例4 x为年份 判断x是否是闰年 闰年的条件是 能被4整除但是不能被100整除 或者能被400整除 条件语句的嵌套结构 一 格式格式1 if条件then语句 格式2 if条件then语句1else语句 例1 输入一个整数 如果是奇数 输出 jishu 是偶数输出 oushu Vara integer Beginreadln a ifamod2 0thenwriteln oushu elsewriteln jishu end 改进一 Ifodd a thenwriteln jishu elsewriteln oushu 改进二 Ifnot odd a thenwriteln oushu elsewriteln jishu 嵌套有两种 一种在then下面 还有一种在else下面 例2 符号函数 1 x 0 Y 0 x 0 1 x0theny 1elsey 0 writeln y y end 第一个else是x 0第二个else是x 0的否定 但是在x 0的前提下 也就是x 0的意思 语句嵌套在else子句中 例3 个人所得税的计算 以2000元为基准 Varx y real Beginreadln x x x 2000 ifx 0theny 0elseifx 500theny x 0 05elseifx 2000theny 25 x 500 0 1elseifx 5000theny 175 x 2000 0 15elseifx 20000theny 625 x 20000 0 2elsey 3625 x 20000 0 25 writeln y y End 例4 输入两个数 如果两个数全是偶数 则先输出它们的和 再输出它们的积 如果不全是偶数 则输出它们的商 样例1 输入 104输出 10 4 1410 4 40样例2 输入 93输出 9 3 3 从右侧的程序里逆推出个人所得税的计算公式 嵌套在then子句里 分情况语句 case语句 例 任意输入三个正整数a b c 按由大到小的顺序输出 vara b c integer beginwrite inputa b c readln a b c ifa bthenifb cthenwriteln a 5 b 5 C 5 elseifa cthenwriteln a 5 C 5 b 5 elsewriteln c 5 a 5 b 5 elseifa cthenwriteln b 5 a 5 c 5 elseifb cthenwriteln b 5 c 5 a 5 elsewriteln c 5 b 5 a 5 end vara b c t integer beginwrite inputa b c readln a b c ifa bthenbegint a a b b tend 交换a b 使a为最大 复合语句 ifa cthenbegint a a c c tend a是三个中最大的 ifb cthenbegint b b c c tend b里放的是b和c中大的数 writeln a 5 b 5 c 5 end 方法一 列举了所有的情况 方法二 先找出最大的 再找次大的 最后找最小的 方法三 先找出最小的 再找次小的 最后找最大的 分析 输入两个数值和一个字符 对输入字符进行判断 输出不同的结果 输入 输出 0 输入 24 输出 2 4 0 5 例2 从键盘输入两个数 再输入一个符号 根据输入的符号输出结果 Vara b integer c char Beginreadln a b readln c ifc thenwriteln a b a b ifc thenwriteln a b a b ifc thenwriteln a b a b ifc thenwriteln a b a b End Varx y s real ch char beginreadln x y readln ch ifch thens x yelseifch thens x yelseifch thens x yelses x y writeln x 6 2 ch y 6 2 s 0 1 end 1 2 Else与离它最近的一个未配对的then配对 varx y s real ch char beginreadln x y readln ch casechof s x y s x y s x y s x y end writeln x 6 2 ch y 6 2 s 0 1 end 3 CASE语句 分情况语句 1 格式 case测试表达式of情况标号1 语句1 情况标号2 语句2 情况标号n 语句nelse语句n 1end 注意 case语句的结束标记是end 但没有begin与之配套 2 功能先计算出测试表达式的值 然后用其值依次与各情况对照 当找到一个时 执行标号后面的语句 然后跳到与case相对应的end后面的语句继续执行 若找不到 则执行else后面的语句 然后再执行end后面的语句 换句话说 选择第一个相等的值 执行其后的语句 执行完跳到与case相对应的end后面的语句 例 输入一个整数 输出对应的星期几 其中星期日用0表示 例 打印某年某月有几天 输入 年 月 输出 天数 分析 每年的1 3 5 7 8 10 12这七个月为31天每年的4 6 9 11这四个月为30天每年的2月就需要判断是否为闰年 条件是 年数能被4整除 并且不能被100整除 但能被400整除的年份也为闰年 方法是 用求余的运算求出余数 如果两数相除的余数为0 则能整除 否则不能 Varyear month len integer Beginreadln year month Casemonthof1 3 5 7 8 10 12 len len 30 2 begin 下面是一个复合语句 If thenlen 29 闰年 Elselen 28 平年 end 这是begin的end end 这是cas

温馨提示

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

最新文档

评论

0/150

提交评论