第一章 算法初步1.2基本算法语句quan.ppt_第1页
第一章 算法初步1.2基本算法语句quan.ppt_第2页
第一章 算法初步1.2基本算法语句quan.ppt_第3页
第一章 算法初步1.2基本算法语句quan.ppt_第4页
第一章 算法初步1.2基本算法语句quan.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1 2 1基本算法语句 输入语句 输出语句和赋值语句 探究新知 我们知道 顺序结构是任何一个算法都离不开的基本结构 输入 输出语句和赋值语句基本上对应于算法中的顺序结构 计算机从上而下按照语句排列的顺序执行这些语句 输入语句和输出语句分别用来实现算法的输入信息 输出结果的功能 如右图 1 2 1输入语句 输出语句和赋值语句 这就是这一节所要研究的主要内容 基本算法语句 今天 我们先一起来学习输入 输出语句和赋值语句 程序设计语言有很多种 如basic foxbase c语言 c j vb等 为了实现算法中的三种基本的逻辑结构 顺序结构 条件结构和循环结构 各种程序设计语言中都包含下列基本的算法语句 输入语句输出语句赋值语句条件语句循环语句 输入语句和输出语句分别用来实现算法的输入信息 输出结果的功能 例1用描点法作函数y x3 3x2 24x 30的图象时 需要求出自变量和函数的一组对应值 编写程序 分别计算当x 5 4 3 2 1 0 1 2 3 4 5时的函数值 input x xy x 3 3 x 2 24 x 30printxprintyend 程序 输入语句 赋值语句 输出语句 输出语句 表示结束 一 输入语句 input 提示内容 变量 输入语句的一般格式 说明 1 输入语句的作用是实现算法的输入信息功能 2 提示内容 提示用户输入什么样的信息 变量是指程序在运行时其值是可以变化的量 3 输入语句要求输入的值只能是具体的常数 不能是函数 变量或表达式 4 提示内容与变量之间用分号 隔开 5 提示内容 和它后面的 可以省略 如input x x或inputx 例如 输入一个学生数学 语文 英语三门课的成绩 可以写成 input 数学 语文 英语 a b c 注意 input语句还可以给多个变量赋值 变量与变量之间用逗号 隔开 其格式为 input 提示内容1 提示内容2 变量1 变量2 练一练 1 给定一个任意正整数n 2 给定三角形的三条边长 1 input n n 2 inputa b c 二 输出语句 print 提示内容 表达式 输出常量 变量的值和字符串等系统信息 输出数值计算的结果 1 输出语句的用途 输出语句的一般格式 3 同输入语句一样 表达式前也可以有 提示内容 思考 在课本p7页图1 1 2程序框图中的输出框的内容怎样用输出语句来表达 参考答案 输出框 print n是质数 print n不是质数 print s s 例题解析 例2 编写程序 计算一个学生数学 语文 英语三门课的平均成绩 分析 先写出算法 画出程序框图 再进行编程 结束 程序框图 程序 input maths ainput chinese binput english cprint theaverage a b c 3end y a b c 3 输出y 结束 开始 例2 编写程序 计算一个学生数学 语文 英语三门课的平均成绩 input a b c a b cy a b c 3print y yend 输入a b c input a b c a b cprint y a b c 3end 程序2 程序3 三 赋值语句 1 赋值语句的一般格式 变量 表达式 2 作用 先计算出赋值号右边表达式的值 然后把这个值赋给左边的变量 使该变量的值等于表达式的值 3 赋值语句左边只能是变量名字而不是表达式 如 2 x是错误的 右边表达式可以是一个数据 常量或算式 不能利用赋值语句进行代数式的演算 如化简 因式分解 解方程等 4 一个语句只能给一个变量赋值 5 对于一个变量可以多次赋值 但变量的取值总是最近被赋值的 练习 练习 读下列两个程序 回答问题 x 3y 4x yprintx yend 上述程序最后输出的x y分别是为 x 3y 4y xprintx yend 4 4 3 3 返回 三 课后练习1 p 24练习第一题程序 程序 input f fc f 32 5 9print c cend basic语言中的常用运算符号 例3 给一个变量重复赋值 程序 a 10a a 15printaend a的输出值是多少 分析 此程序给变量a赋了两次值 a的初值为10 第二次赋值后 初值被 覆盖 a的值变为25 因此输出值是25 变式引申 在此程序的基础上 设计一个程序 要求最后a的输出值是30 a 10a a 15printaa a 5printaend 程序 例3 给一个变量重复赋值 程序 a 10a a 15printaend 对于一个变量可以多次赋值 但变量的取值总是最近被赋值的 例4 交换两个变量a和b的值 并输出交换前后的值 分析 引入一个中间变量x 将a的值赋予x 又将b的值赋予a 再将x的值赋予b 从而达到交换a b的值 比如交换装满水的两个水桶里的水需要再找一个空桶 inputainputbprinta bx aa bb xprinta bend 程序 不能 1 下列给出的输入 输出语句正确的是 输入语句inputa b c 输入语句inputx 3 输出语句printa 4 输出语句print20 3 2 2 当x的值为5时 print x x 在屏幕上输出的结果是 a 5 5b 5c 5 xd x 5 练习1 input a b a bb a ba b ab b aprint a b a bend 运行时从键盘输入3 7 1 2 a 1000a a 100print a aend 将一个变量的值赋给另一个变量 前一个变量的值保持不变 可先后给一个变量赋多个不同的值 但变量的取值总是最近被赋予的值 a 900 a b 73 练习2 分析下列程序 考虑输出的结果是什么 3 a 1b a 3b b 1print b b运算结果是 b 5 4 a 2b 3c 4b c 2c b 4d a b c 3print d d运算结果是 d 6 a 2b 3c a bb a c bprint a b c a b cend运算结果是 5 6 x 1x x 2x x 3x x 4printx 5end运算结果是 a 2 b 4 c 5 60 三 课后练习2 p 24练习第二题程序 程序 input a b a bsum a bdiff a bmul a bdiv a bprintsum diff mul divend 三 课后练习3 p 24练习第三题程序 程序 input a ainput b binput c cp a b c 2s sqr p p a p b p c print s send 三 课后练习4 p 24练习第四题程序 程序 input a b c a b cx 10 4 ay 15 6 bz 25 2 csum x y zprint sum sumend 练习1 编写一个程序 要求输入一个圆的半径 便能输出该圆的周长和面积 取3 14 分析 设圆的半径为r 则圆的周长c 2 r 面积s r2 可以利用顺序结构中的input语句 print语句和赋值语句设计程序 input r rc 2 3 14 rs 3 14 r 2print c cprint s send 读下列两个程序语句回答问题 1 上述两个程序有何区别 2 写出两个程序的运行结果 a inputxinputyx 2009y 2008x yprintx yend b inputxinputyx 2009y 2008y xprintx yend 能力提升 a 20082008 b 20092009 归纳总结 巩固提高 水果店的老板忙极了 小新设计了一个程序帮助老板算账 已知水晶梨2 4元 千克 葡萄8 6元 千克 哈密瓜4 2元 千克 某顾客分别买这三种水果a b c千克 请你将程序补充完整 inputa 2 4 ab 8 6 bc 4 2 cs printend a b c a b c s 练习2 p20页t1 练习3 p16页t2 注 basic语言中的标准函数sqr x 表示数x的算术平方根 abs x 表示x的绝对值等 练习4 p16页t3 abs x x input a b c a b cx 10 4 ay 15 6 bz 25 2 csum x y zprint sum sumend 程序 作业1 p16页t4 input a b h a b hp a bs p h 2print s send 程序 作业2 p25页a组t2 课堂小结 1 本节课介绍了输入语句 输出语句和赋值语句的结构特点及联系 2 掌握并应用输入语句 输出语句 赋值语句编写一些简单的程序解决数学问题 特别是掌握赋值语句中 的作用及应用 3 编程一般的步骤 先写出算法 再进行编程 我们要养成良好的习惯 也有助于数学逻辑思维的形成 比较下列各组语句的区别 再判断它们是否正确 1 输入语句input a a 输入语句input a a 2 输入语句input a b c a b c 输入语句inputa b c 提示内容 与变量之间用分号隔开 提示内容 与后面的 可省略 变量与变量之间用逗号隔开 出 print 出 出 出 print print print 观察 比较下列各组语句的区别 再判断它们是否正确 3 输出语句print s 7 输出语句prints 7 赋值号左边是变量 只能给一个变量赋值 输入 输出语句中不能用赋值号 观察 4 赋值语句r 9 赋值语句9 r 赋值语句r r 9 作业 1 2 2基本算法语句 条件语句 算法中的条件结构是由条件语句来表达的 条件语句是处理条件分支逻辑结构的算法语句 条件语句的一般格式 只含一个 分支 的条件结构 写成条件语句为 当计算机执行这种形式的条件语句时 首先对if后的条件进行判断 如果条件符合 就执行then后的语句体 否则执行endif之后的语句 含两个 分支 的条件结构 写成条件语句为 当计算机执行上述语句时 首先对if后的条件进行判断 如果条件符合 就执行then后的语句体1 否则执行else后的语句体2 条件语句的作用在程序执行过程中 根据判断是否满足约定的条件而决定是否需要转换到何处去 需要计算机按条件进行分析 比较 判断 并按判断后的不同情况进行不同的处理 例题解析 例1 编写程序 输入一元二次方程ax2 bx c 0的系数 输出它的实数根 算法分析 一元二次方程的根有三种不同情况 设判别式 b2 4ac 1 当 0时 一元二次方程有两个不等的实数根 2 当 0时 一元二次方程有两个相等的实数根 3 当 0时 一元二次方程没有实数根 是 程序框图 开始 输入a b c b2 4ac 0 原方程无实根 2 2 结束 否 1 1 0 输出p 是 否 x1 p q x2 p q 输出x1 x2 程序 input a b c a b cd b b 4 a cifd 0thenp b 2 a q sqr d 2 a ifd 0thenprint onerealroot pelsex1 p qx2 p qprint tworealroots x1 x2endifelseprint norealroot endifend 例2 编写程序 使得任意输入的3个整数按从大到小的顺序输出 算法分析 用a b c表示输入的3个整数 为了节约变量 把它们重新排列后 仍用a b c表示 并使a b c 具体操作步骤如下 第一步 输入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 b a 是 t a a b 否 c a 是 t a 否 c b t c 是 否 输出a b c 交换a b的值 程序 input a b c a b cifb athent aa bb tendififc athent aa cc tendif ifc bthent bb cc tendifprinta b cend 课堂小结 本节课主要学习了条件语句的结构 特点 作用以及用法 并懂得利用它解决一些简单问题 条件语句使程序执行产生的分支 根据不同的条件执行不同的路线 使复杂问题简单化 条件语句一般用在需要对条件进行判断的算法设计中 如判断一个数的正负 确定两个数的大小等问题 还有求分段函数的函数值等 往往要用条件语句 有时甚至要用到条件语句的嵌套 课堂练习 1 课本p29页t2 读程序 说明程序的运行过程 input x xif9 xandx 100thena x 10b xmod10 x 10 b aprintxendifend 问题 如输入的数x 86 则输出的结果是什么 68 此程序用于交换一个两位数的个位和十位数字 2 课本p29页t1 input a b c a b cifa b canda c bandb c athenprint yes elseprint no endifend 参考答案 3 课本p29页t3 编写求一个数是偶数还是奇数的程序 从键盘输入一个整数 输出该数的奇偶性 input a aifamod2 0thenprint even elseprint odd endifend 参考答案 4 课本p29页t1 闰年指年份能被4整除但不能被100整除 或者能被400整除的年份 编写一个程序 判断输入的年份是否为闰年 input pleaseinputayear yb ymod4c ymod100d ymod400ifb 0andc0thenprint leapyear elseifd 0thenprint leapyear elseprint notleapyear endifendifend 参考答案 表示c 0 地球绕太阳公转 每年并不是365天 而是多出来5个多个小时 这样的话 每四年就会多将近1天 所以就放在2月的第29天了 闰年由此诞生 由于不是准确地多出来24小时 所以基本上每经过24个闰年就不会多出1天了 但还是会多出几分钟的 如果从公元元年开始计的话正好也就是逢100的年份大多数时候不是不闰年 这样把多出的那几分钟再攒着 经过400年后 就会有一个逢100的年份是闰年 比如公元1600年是闰年 1700 1800 1900年都不是 2000年才是闰年 下一次是2400年 5 编写一个程序 输入两个整数a b 判断a是否能被b整除 input a b a bifamodb 0thenprint bdividesa elseprint bdoesnotdividea endifend 参考答案 6 p25页b组t2 input x xifx 1andx 10theny 2 x 1elsey 3 x 11endifendifprint y yend 参考答案 1 2 3基本算法语句 循环语句 算法中的循环结构是由循环语句来实现的 循环结构有两种 当型与直到型 当型循环结构 当条件满足时反复执行循环体 直到型循环结构 反复执行循环体直到条件满足 对应于程序框图中的两种循环结构 一般程序设计语言中也有当型 while型 和直到型 until型 两种语句结构 1 while语句的一般格式是 while条件循环体wend 当计算机遇到while语句时 先判断条件的真假 如果条件符合 就执行while与wend之间的循环体 然后再检查上述条件 如果条件仍符合 再次执行循环体 这个过程反复进行 直到某一次条件不符合为止 这时 计算机将不执行循环体 直接跳到wend语句后 接着执行wend之后的语句 while 当 时候 wend 朝 方向行走 2 until语句的一般格式是 do循环体loopuntil条件 do 做什么 loopuntil 绕环回线走 直到达到某种条件为止 思考 参照其直到型循环结构对应的程序框图 说说计算机是按怎样的顺序执行until语句的 提问 通过对照 大家觉得while型语句与until型语句之间有什么区别呢 区别 在while语句中 是当条件满足时执行循环体 而在until语句中 是当条件不满足时执行循环体 例1 编写程序 计算自然数1 2 3 99 100的和 分析 这是一个累加问题 我们可以用while型语句 也可以用until型语句 i 1s 0 whliei 100 s s i i i 1 wend prints end i 1s 0 do s s ii i 1 loopuntil i 100 prints end 变式训练 1 编写程序求 n 1 2 3 4 5 n的值 如何修改 while语句 i 1s 0 whliei 100 s s i i i 1 we

温馨提示

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

最新文档

评论

0/150

提交评论