请问数学: 3x+2x+1/3=32 光看“3x+2x+1/3”可以将它化作(3x+2x+1x)/3 能不能这样,把3当成公

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
初一数学趣味题+24道经典名题数学,道题,初一,趣味数学,趣味数学题,初一数学题,初一数学
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
初一数学趣味题+24道经典名题
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口请问数学: 3x+1/2-2=3x-2/10-2x+3/10 像这题目有没有括号,为什么说是去括号呢?一步步解释好_百度知道
请问数学: 3x+1/2-2=3x-2/10-2x+3/10 像这题目有没有括号,为什么说是去括号呢?一步步解释好
10-2x+3&#47请问数学;10像这题目有没有括号?一步步解释好吗,为什么说是去括号呢:3x+1/2-2=3x-2&#47
我有更好的答案
你的写法按照数学的计算规则这个题如果是2分之3x+1,按照你这种写法的的话,则是先计算乘除;2,就得写(3x+1)&#47
采纳率:28%
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。难度大学水平数学题任给一个正整数n,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3加1(即3n+1).不断
难度大学水平数学题任给一个正整数n,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3加1(即3n+1).不断重复这样的运算,经过有限步后,一定可以得到1吗?
50年代开始,在国际数学界广泛流行着这样一个奇怪有趣的数学问题:任意给定一个自然数x,如果是偶数,则变换成x/2,如果是奇数,则变换成3x+1.此后,再对得数继续进行上述变换.例如x=52,可以陆续得出26,13,40,20,10,5,16,8,4,2,1.如果再做下去就得到循环: (4,2,1).再试其他的自然数也会得出相同的结果.这个就是叙古拉猜想. 上述变换,实际上是进行下列函数的迭代 { x/2 (x是偶数)
C(x)= 3x+1 (x是奇数)
问题是,从任意一个自然数开始,经过有限次函数C迭代,能否最终得到循环(4,2,1),或者等价地说,最终得到1?据说克拉茨(L.Collatz)在1950年召开的一次国际数学家大会上谈起过,因而许多人称之为克拉茨问题.但是后来也有许多人独立地发现过同一个问题,所以,从此以后也许为了避免引起问题的归属争议,许多文献称之为3x+1问题. 克拉茨问题吸引人之处在于C迭代过程中一旦出现2的幂,问题就解决了,而2的幂有无穷多个,人们认为只要迭代过程持续足够长,必定会碰到一个2的幂使问题以肯定形式得到解决.正是这种信念使得问题每到一处,便在那里掀起一股"3x+1问题"狂热,不论是大学还是研究机构都不同程度地卷入这一问题.许多数学家开始悬赏征解,有的500美元,有的1000英镑. 日本东京大学的米田信夫已经对240大约是11000亿以下的自然数做了检验.1992年李文斯(G.T.Leavens)和弗穆兰(M.Vermeulen)已经对5.6*1013的自然数进行了验证,均未发现反例.题意如此清晰,明了,简单,连小学生都能看懂的问题,却难到了20世纪许多大数学家.著名学者盖伊(R.K.Guy)在介绍这一世界难题的时候,竟然冠以"不要试图去解决这些问题"为标题.经过几十年的探索与研究,人们似乎接受了大数学家厄特希(P.Erdos)的说法:"数学还没有成熟到足以解决这样的问题!"有人提议将3x+1问题作为下一个费尔马问题. 下面是我对克拉茨问题的初步研究结果,只是发现了一点点规律,距离解决还很遥远. 克拉茨命题:设 n∈N,并且
f(n)= n/2 (如果n是偶数) 或者 3n+1 (如果n是奇数)
现用f1(n)表示f(n),f2(n)=f(f(n)),...fk(n)=f(f(...f(n)...)). 则存在有限正整数m∈N,使得fm(n)=1.(以下称n/2为偶变换,3n+1为奇变换,并且称先奇变换再偶变换为全变换) 克拉茨命题的证明 引理一:若n=2m,则fm(n)=1 (m∈N) 证明:当m=1时,f(n)=f(2)=2/2=1,命题成立,设当m=k时成立,则当m=k+1时,fk+1(n)=f(fk(2k+1))= =f(2)=2/2=1.证毕. 引理二:若n=1+4+42+43+...+4k=(4k+1-1)/(4-1) (k∈N),则有f(n)=3n+1=4k+1=22k+2,从而f2k+3(n)=1. 证明:证明是显然的,省略. 引理三:若n=2m(4k+1-1)/(4-1) (m∈N), 则有fm+2k+3(n)=1. 证明:省略. 定理一:集合 O={X|X=2k-1,k∈N} 对于变换f(X)是封闭的. 证明:对于任意自然数n,若n=2m,则fm(n)=1,对于n=2k,经过若干次偶变换,必然要变成奇数,所以我们以下之考虑奇数的情形,即集合O的情形.对于奇数,首先要进行奇变换,伴随而来的必然是偶变换,所以对于奇数,肯定要进行一次全变换.为了直观起见,我们将奇数列及其全变换排列如下: k 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
0 2k-1 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101
1 3k-1 2 5 8 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 56 59 62 65 68 71 74 77 80 83 86 89 92 95 98 101 104 107 110 113 116 119 122 125 128 131 134 137 140 143 146 149 152
2 3k-2 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76
3 3k-1 2 5 8 11 14 17 20 23 26 29 32 35 38
4 3k-2 1 4 7 10 13 16 19
5 3k-1 2 5 8
6 3k-2 1 4
第一行(2k-1)经过全变换(3(2k-1)+1)/2=3k-1变成第二行,实际上等于第一行加上一个k,其中的奇数5,11,...6k-1又回到了第一行.以下各行是等差数列3k-2,3k-1交错排列.由于最终都变成了奇数,所以集合O对于变换f(X)是封闭的. 定理二:任何奇自然数经过若干次变换都会变成1. 证明: 我们看到 奇数经过全变换变成为3k-1型数,3k-1型奇数经过全变换有一半仍然变成3k-1型奇数,而另一半3k-1型偶数经过除以2有一半变成为3k-2型奇数,而3k-2型奇数经过全变换又变成为3k-1型数.换句话说不可能经过全变换得到3k-2型数. 下面我们只研究奇数经过全变换的性质,因为对于其他偶数经过若干次偶变换,仍然要回到奇数的行列里来. 我们首先证明奇数经过若干次全变换必然会在某一步变成偶数. 设2a0-1是我们要研究的奇数,它经过全变换变成3a0-1,假设它是一个奇数并且等于2a1-1,2a1-1又经过全变换变成为3a1-1=2a2-1,3a2-1=2a3-1,...3ak-1-1=2ak-1,所以a1=(3/2)a0,a2=(3/2)a1,...ak=(3/2)ak-1. 所以最后ak=(3/2)ka0,要使ak是整数,可令a0=2kn,(n是奇数).于是ak=3kn.则从2a0-1经过若干次全变换过程如下: 2k+1n-1 -> 3*2kn-1 -> 32*2k-1n-1 -> 33*2k-2n-1 ->... -> 3k+1n-1 (偶数). 然后我们证明经过全变换变成偶数的奇数一定大于该偶数经过若干偶变换之后得到的奇数. 设3k+1n-1=2mh (h为奇数),我们要证明 h
我有更好的回答:
剩余:2000字
与《难度大学水平数学题任给一个正整数n,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3加1(即3n+1).不断》相关的作业问题
#include "stdio.h"int main(void){ int repeat, int i, j, scanf("%d", &repeat); for(ri=1; ri
假设这个数是偶数2和4,由题意可得:2÷2=1;4÷2=2,2÷2=1;最后的结果是1;如果是奇数1,根据题意可得:1×3+1=4,4是偶数,4÷2=2,2÷2=1;如果奇数是3,3×3+1=10,10÷2=5,5×3+1=16,16÷2=8,8÷2=4,4÷2=2,2÷2=1;最后的结果是1;故最后的结果是1;答:最
正在给你画图做分析答案,希望能给我个“最佳答案”&:图1中,蓝色与黄色的部分总面积就是260,将左下角的蓝色与黄色合起来,成为一个长方形,将右上角的蓝色部分与黄色部分合起来,成为另一个长方形,再将它们拼合,就将成成一个大长方形,面积就是(260+6*10)=320,这个大长方形的宽是(6+10)=16,长就是
初二的数学题 1:一个静止的物体开始运动,其速度每秒增加0.5/秒,多少秒后它的速度超过6米/秒?多少秒之内它的速度不超过8.5米/秒?设时间是t0+0.5t>6解得:t>12s,即12秒超出6M/S(2)0+0.5t
五、解决问题.(30分)1、学校象棋兴趣小组有18名女生,比男生的2倍少2人,象棋兴趣小组有男生多少人?设象棋小组有男生x人.答:象棋小组有男生10人.2x-2=182x-2+2=18+22x=202x÷2=20÷2x=102、一次数学测验后,李静和张小婷问考试成绩,老师对张小婷说:“你的成绩是李静的7/8.”她又对李
clear s=0input'请输入一个正整数:' to xfor i=1 to xif i%20 && 判断i 是否为奇数s=s+iendifendfor's=' ,sreturn(此题是求和问题,循环和用循环语句,因知道最终数为x ,所以用for语句)
因数的个数是它每个质因数的出现次数加一的乘积,倍数个数无穷多个
for an interview.
设该正整数为X,X+32=M^2 X+132=N^2两式相减(N+M)(N-M)=100(N+M)+(N-M)=2N 必为偶数故(N+M)(N-M)同奇同偶试探可得 (N+M)=50,(N-M)=2解得N=26,M=24X=24*24-32=544
记a=5/4-ε(ε是任意小的正数) |z^2-z|=|(z-1/2)^2-1/4|≤|(z-1/2)^2|+1/4
呵呵&你画的图也真够霸气了&、这是高中习题&我也以图会友&&呵呵
即使具备了理科基础,也必须要一些天文基础才行.(下面的确实不小儿科,真滴)首先推荐《果壳中的宇宙》,霍金写的,最好找老五(吴忠超)译的那种版本,易懂且深刻.接下来建议读一下北京出版社出版的《相对论》简易版,这个不难,但是不要去扣,深层次的东西是一点都搞不懂的,了解即可.如果你的理科实力很强,智商较高,就去拜读一下北大出
18-9-28-14-7-22-11-34-17-52-26-13-40-20-10-5-16-8-4-2-1-4-2-1.猜想任意的正整数开始,最后都可以得到1,变成4-2-1的循环3-10-5-16-8-4-2-16-3-10-5-16-8-4-2-17-22-11-34-17-52-26-13-40-20-10-
那你听一听mariah carey的the art of letting go 再问: 这首不错,但也只有。4.5个单词我觉得比较难的,还有没有其他推荐啊
设n=2^a*3^b*5^ca能被3和5整除 被2除余1 a最小为15b能被2和5整除 被3除余2 b最小为20c能被2和3整除 被5除余2 c最小为12所以n最小为2^15*3^20*5^12n/8=(2^6*3^10*5^6)^2n/9=(2^5*3^6*5^4)^3n/25=(2^3*3^4*5^2)^5
ls,李嘉诚是不可超越的吗?看来你不敢想啊.
I like English As everyone knows, English is very important today.It has been used everywhere in the world.It has become the most common language on Internet an
A:have you ever been to a seaside place?B:A seaside place I’ve been to was the Maldives,it’s a island country in south east Asia and it’s a popular travel desti
The year 2008 is around the corner and the Olympic Games is approaching.All walks of life are celebrating its coming in different ways.All the ways proved the e当前位置: >>
人教版高中数学必修3教案
第一章算法初步本章教材分析 算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学 的一个重要方面.学生学习算法的应用 ,目的就是利用已有的数学知识分析问题和解决问题 . 通过算法的学习,对完善数学的思想, 激发应用数学的意识,培养分析问题、 解决问题的能力, 增强进行实践的能力等,都有很大的帮助. 本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉 的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算 法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计 算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热 情. 在算法初步这一章中让学生近距离接近社会生活, 从生活中学习数学, 使数学在社会生 活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣 .“数学建模” 也是高考考查重点. 本章还是数学思想方法的载体, 学生在学习中会经常用到“算法思想” “转化思想”, 从而 提高自己数学能力.因此应从三个方面把握本章: (1)知识间的联系; (2)数学思想方法; (3)认知规律. 本章教学时间约需 12 课时,具体分配如下(仅供参考) : 1.1.1 算法的概念 1.1.2 程序框图与算法的基本逻辑结构 1.2.1 输入语句、输出语句和赋值语句 1.2.2 条件语句 1.2.3 循环语句 1.3 算法案例 本章复习 1.1 算法与程序框图 1.1.1 算法的概念 整体设计 教学分析 算法在中学数学课程中是一个新的概念, 但没有一个精确化的定义, 教科书只对它作了 如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤 .”为 了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发, 归纳出了二元一次方程组的求解步骤, 这些步骤就构成了解二元一次方程组的算法.教学中, 应从学生非常熟悉的例子引出算法,再通过例题加以巩固. 三维目标 1.正确理解算法的概念,掌握算法的基本特点. 2.通过例题教学,使学生体会设计算法的基本思路. 3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣. 重点难点 教学重点:算法的含义及应用. 教学难点:写出解决一类问题的算法. 约 1 课时 约 4 课时 约 1 课时 约 1 课时 约 1 课时 约 3 课时 约 1 课时 课时安排 1 课时 教学过程 导入新课 思路 1(情境导入) 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有 人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请 同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容――算法. 思路 2(情境导入) 大家都看过赵本山与宋丹丹演的小品吧, 宋丹丹说了一个笑话, 把大象装进冰箱总共分 几步? 答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上. 上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念. 思路 3(直接导入) 算法不仅是数学及其应用的重要组成部分, 也是计算机科学的重要基础.在现代社会里, 计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画 卡通画、 处理数据, 计算机是怎样工作的呢?要想弄清楚这个问题, 算法的学习是一个开始. 推进新课 新知探究 提出问题 (1)解二元一次方程组有几种方法? (2)结合教材实例 ?? x ? 2 y ? ?1,(1) 总结用加减消元法解二元一次方程组的步骤. ?2 x ? y ? 1, (2) ? x ? 2 y ? ?1,(1) 总结用代入消元法解二元一次方程组的步骤. ?2 x ? y ? 1, (2)(3)结合教材实例 ?(4)请写出解一般二元一次方程组的步骤. (5)根据上述实例谈谈你对算法的理解. (6)请同学们总结算法的特征. (7)请思考我们学习算法的意义. 讨论结果: (1)代入消元法和加减消元法. (2)回顾二元一次方程组? x ? 2 y ? ?1,(1) 的求解过程,我们可以归纳出以下步骤: ? ?2 x ? y ? 1, (2)第一步,①+②× 2,得 5x=1.③ 第二步,解③,得 x=1 . 5 3 . 5第三步,②-①× 2,得 5y=3.④ 第四步,解④,得 y= 1 ? x? , ? ? 5 第五步,得到方程组的解为 ? ?y ? 3. ? 5 ?(3)用代入消元法解二元一次方程组? x ? 2 y ? ?1,(1) 我们可以归纳出以下步骤: ? ?2 x ? y ? 1, (2)第一步,由①得 x=2y-1.③ 第二步,把③代入②,得 2(2y-1)+y=1.④ 第三步,解④得 y=3 .⑤ 5 3 5 1 . 5第四步,把⑤代入③,得 x=2× -1=1 ? x? , ? ? 5 第五步,得到方程组的解为 ? ?y ? 3. ? 5 ?(4)对于一般的二元一次方程组 ??a1 x ? b1 y ? c1 , (1) ? a 2 x ? b2 y ? c 2 , ( 2 )其中 a1b2-a2b1≠0,可以写出类似的求解步骤: 第一步,①× b2-②× b1,得 (a1b2-a2b1)x=b2c1-b1c2.③ 第二步,解③,得 x=b2 c1 ? b1c2 . a1b2 ? a 2 b1 a1c2 ? a 2 c1 . a1b2 ? a 2 b1第三步,②× a1-①× a2,得(a1b2-a2b1)y=a1c2-a2c1.④ 第四步,解④,得 y=b2 c1 ? b1c 2 ? ?x ? a b ? a b , ? 1 2 2 1 第五步,得到方程组的解为 ? ? y ? a1c 2 ? a 2 c1 . ? a1b2 ? a 2 b1 ?(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使 用说明书是操作洗衣机的算法,菜谱是做菜的算法等等. 在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤. 现在,算法通常可以编成计算机程序,让计算机执行并解决问题. (6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是 可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从 开始的“第一步”直到“最后一步”之间做到环环相扣, 分工明确, “前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性: 算法要有明确的开始和结束, 当到达终止步骤时所要 解决的问题必须有明确的结果, 也就是说必须在有限步内完成任务, 不能无限制地持续进行. (7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称 为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是 机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得 到结果.因此算法是计算科学的重要基础. 应用示例 思路 1 例 1 (1)设计一个算法,判断 7 是否为质数. (2)设计一个算法,判断 35 是否为质数. 算法分析: (1)根据质数的定义,可以这样判断:依次用 2―6 除 7,如果它们中有一个能 整除 7,则 7 不是质数,否则 7 是质数. 算法如下: (1)第一步,用 2 除 7,得到余数 1.因为余数不为 0,所以 2 不能整除 7. 第二步,用 3 除 7,得到余数 1.因为余数不为 0,所以 3 不能整除 7. 第三步,用 4 除 7,得到余数 3.因为余数不为 0,所以 4 不能整除 7. 第四步,用 5 除 7,得到余数 2.因为余数不为 0,所以 5 不能整除 7. 第五步,用 6 除 7,得到余数 1.因为余数不为 0,所以 6 不能整除 7.因此,7 是质数. (2)类似地,可写出“判断 35 是否为质数”的算法:第一步,用 2 除 35,得到余数 1.因为 余数不为 0,所以 2 不能整除 35. 第二步,用 3 除 35,得到余数 2.因为余数不为 0,所以 3 不能整除 35. 第三步,用 4 除 35,得到余数 3.因为余数不为 0,所以 4 不能整除 35. 第四步,用 5 除 35,得到余数 0.因为余数为 0,所以 5 能整除 35.因此,35 不是质数. 点评:上述算法有很大的局限性,用上述算法判断 35 是否为质数还可以,如果判断 1997 是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤. 变式训练 请写出判断 n(n&2)是否为质数的算法. 分析:对于任意的整数 n(n&2),若用 i 表示 2―(n-1)中的任意整数,则“判断 n 是否为质数” 的算法包含下面的重复操作:用 i 除 n,得到余数 r.判断余数 r 是否为 0,若是,则不是质数; 否则,将 i 的值增加 1,再执行同样的操作. 这个操作一直要进行到 i 的值等于(n-1)为止. 算法如下:第一步,给定大于 2 的整数 n. 第二步,令 i=2. 第三步,用 i 除 n,得到余数 r. 第四步,判断“r=0”是否成立.若是,则 n 不是质数,结束算法;否则,将 i 的值增加 1, 仍用 i 表示. 第五步,判断“i>(n-1)”是否成立.若是,则 n 是质数,结束算法;否则,返回第三步. 例 2 写出用“二分法”求方程 x2-2=0 (x&0)的近似解的算法. 分析:令 f(x)=x2-2,则方程 x2-2=0 (x&0)的解就是函数 f(x)的零点. “二分法”的基本思想是:把函数 f(x)的零点所在的区间[a,b](满足 f(a)? f(b)&0)“一分 为二”,得到[a,m]和[m,b].根据“f(a)?f(m)&0”是否成立,取出零点所在的区间[a,m]或 [m,b] ,仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足 够小”,则[a,b]内的数可以作为方程的近似解. 解:第一步,令 f(x)=x2-2,给定精确度 d. 第二步,确定区间[a,b] ,满足 f(a)? f(b)&0. 第三步,取区间中点 m=a?b . 2第四步,若 f(a)? f(m)&0,则含零点的区间为[a,m] ;否则,含零点的区间为[m,b].将新得 到的含零点的区间仍记为[a,b]. 第五步,判断[a,b]的长度是否小于 d 或 f(m)是否等于 0.若是,则 m 是方程的近似解; 否则,返回第三步. 当 d=0.005 时,按照以上算法,可以得到下表. a 1 1 1.25 1.375 1.375 1.406 25 1.406 25 1.414 062 5 1.414 062 5 b 2 1.5 1.5 1.5 1.437 5 1.437 5 1.421 875 1.421 875 1.417 968 75 |a-b| 1 0.5 0.25 0.125 0.062 5 0.031 25 0.015 625 0.007 812 5 0.003 906 25于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为 0.005 时的原方程的 近似解.实际上,上述步骤也是求 2 的近似值的一个算法. 点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出 结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完 成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判 准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的 先后手续,购买物品也有相关的手续?? 思路 2 例 1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没 有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请 设计算法. 分析: 任何动物同船不用考虑动物的争斗但需考虑承载的数量, 还应考虑到两岸的动物都得 保证狼的数量要小于羚羊的数量, 故在算法的构造过程中尽可能保证船里面有狼, 这样才能 使得两岸的羚羊数量占到优势. 解:具体算法如下: 算法步骤: 第一步:人带两只狼过河,并自己返回. 第二步:人带一只狼过河,自己返回. 第三步:人带两只羚羊过河,并带两只狼返回. 第四步:人带一只羊过河,自己返回. 第五步:人带两只狼过河. 点评: 算法是解决某一类问题的精确描述, 有些问题使用形式化、 程序化的刻画是最恰当的. 这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体 现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现 实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用 某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率. 例 2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几 个步骤?并给出两种算法,再加以比较. 分析: 本例主要为加深对算法概念的理解, 可结合生活常识对问题进行分析, 然后解决问题. 解:算法一: 第一步,洗刷水壶. 第二步,烧水. 第三步,洗刷茶具. 第四步,沏茶. 算法二: 第一步,洗刷水壶. 第二步,烧水,烧水的过程当中洗刷茶具. 第三步,沏茶. 点评: 解决一个问题可有多个算法, 可以选择其中最优的、 最简单的、 步骤尽量少的算法. 上 面的两种算法都符合题意, 但是算法二运用了统筹方法的原理, 因此这个算法要比算法一更 科学. 例 3 写出通过尺轨作图确定线段 AB 一个 5 等分点的算法. 分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步 一步去做就能完成任务. 解:算法分析: 第一步,从已知线段的左端点 A 出发,任意作一条与 AB 不平行的射线 AP. 第二步,在射线上任取一个不同于端点 A 的点 C,得到线段 AC. 第三步,在射线上沿 AC 的方向截取线段 CE=AC. 第四步,在射线上沿 AC 的方向截取线段 EF=AC. 第五步,在射线上沿 AC 的方向截取线段 FG=AC. 第六步,在射线上沿 AC 的方向截取线段 GD=AC,那么线段 AD=5AC. 第七步,连结 DB. 第八步,过 C 作 BD 的平行线,交线段 AB 于 M,这样点 M 就是线段 AB 的一个 5 等分点. 点评: 用算法解决几何问题能很好地训练学生的思维能力, 并能帮助我们得到解决几何问题 的一般方法,可谓一举多得,应多加训练. 知能训练 设计算法判断一元二次方程 ax2+bx+c=0 是否有实数根. 解:算法步骤如下: 第一步,输入一元二次方程的系数:a,b,c. 第二步,计算 Δ=b2-4ac 的值. 第三步,判断 Δ≥0 是否成立.若 Δ≥0 成立,输出“方程有实根”;否则输出“方程无实根”,结 束算法. 点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑 性、有穷性.让我们结合例题仔细体会算法的特点. 拓展提升 中国网通规定:拨打市内电话时,如果不超过 3 分钟,则收取话费 0.22 元;如果通话 时间超过 3 分钟, 则超出部分按每分钟 0.1 元收取通话费, 不足一分钟按一分钟计算.设通话 时间为 t(分钟) ,通话费用 y(元) ,如何设计一个程序,计算通话的费用. 解:算法分析: 数学模型实际上为:y 关于 t 的分段函数. 关系式如下:?0.22, (0 ? t ? 3), ? y= ?0.22 ? 0.1(t ? 3), (t ? 3, t ? Z ), ?0.22 ? 0.1([T ? 3] ? 1), (T ? 3, t ? Z ). ?其中[t-3]表示取不大于 t-3 的整数部分. 算法步骤如下: 第一步,输入通话时间 t. 第二步,如果 t≤3,那么 y=0.22;否则判断 t∈Z 是否成立,若成立执行 y=0.2+0.1× (t-3);否则执行 y=0.2+0.1× ( [t-3]+1). 第三步,输出通话费用 c. 课堂小结 (1)正确理解算法这一概念. (2)结合例题掌握算法的特点,能够写出常见问题的算法. 作业 课本本节练习 1、2.1.1.2 程序框图与算法的基本逻辑结构 整体设计 教学分析 用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步 骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不 准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.程序框图用图形的方式表 达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学好程序框图,我们需要 掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构. 三维目标 1.熟悉各种程序框及流程线的功能和作用. 2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决 过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构. 3.通过比较体会程序框图的直观性、准确性. 重点难点 数学重点:程序框图的画法. 数学难点:程序框图的画法. 课时安排 4 课时 教学过程 第 1 课时 程序框图及顺序结构 导入新课 思路 1(情境导入) 我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不 明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图. 旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始 学习程序框图. 思路 2(直接导入) 用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步 骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不 准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图. 推进新课 新知探究 提出问题 (1)什么是程序框图? (2)说出终端框(起止框)的图形符号与功能. (3)说出输入、输出框的图形符号与功能. (4)说出处理框(执行框)的图形符号与功能. (5)说出判断框的图形符号与功能. (6)说出流程线的图形符号与功能. (7)说出连接点的图形符号与功能. (8)总结几个基本的程序框、流程线和它们表示的功能. (9)什么是顺序结构? 讨论结果: (1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. 在程序框图中, 一个或几个程序框的组合表示算法中的一个步骤; 带有方向箭头的流程线将 程序框连接起来,表示算法步骤的执行顺序. (2)椭圆形框: 表示程序的开始和结束,称为终端框(起止框) .表示开始时只有一个 出口;表示结束时只有一个入口. (3)平行四边形框: 表示一个算法输入和输出的信息,又称为输入、输出框,它有一个 入口和一个出口. (4)矩形框: 表示计算、赋值等处理操作,又称为处理框(执行框) ,它有一个入口和 一个出口. (5)菱形框: 是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称 为判断框,它有一个入口和两个出口. (6)流程线: 表示程序的流向. (7)圆圈: 连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一 起. (8)总结如下表. 图形符号 名称 终端框(起止框) 输入、输出框 处理框(执行框) 判断框 功能 表示一个算法的起始和结束 表示一个算法输入和输出的信息 赋值、计算 判断某一条件是否成立, 成立时在出口处标明 “是”或“Y”;不成立时标明“否”或“N” 连接程序框流程线 连接点连接程序框图的两部分(9)很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基 本结构. 三种逻辑结构可以用如下程序框图表示:顺序结构 条件结构 循环结构 应用示例 例 1 请用程序框图表示前面讲过的“判断整数 n(n&2)是否为质数”的算法. 解:程序框图如下:点评:程序框图是用图形的方式表达算法,使算法的结构更清楚,步骤更直观也更精确.这 里只是让同学们初步了解程序框图的特点,感受它的优点,暂不要求掌握它的画法. 变式训练 观察下面的程序框图,指出该算法解决的问题. 解: 这是一个累加求和问题, 共 99 项相加, 该算法是求1 1 1 1 ? ? ??? 1? 2 2 ? 3 3 ? 4 99 ? 100的值. 例 2 已知一个三角形三条边的边长分别为 a,b,c,利用海伦―秦九韶公式设计一个计算 三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为 a,b,c,则三角形的 面积为 S= ,其中 p= p( p ? a)( p ? b)( p ? c) )a?b?c .这个公式被称为海伦―秦九韶公 2式) 算法分析:这是一个简单的问题,只需先算出 p 的值,再将它代入分式,最后输出结果.因 此只用顺序结构应能表达出算法. 算法步骤如下: 第一步,输入三角形三条边的边长 a,b,c. 第二步,计算 p= 第三步,计算 S= 第四步,输出 S. 程序框图如下:a?b?c . 2p( p ? a)( p ? b)( p ? c) .点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是 任何一个算法都离不开的基本结构. 变式训练 下图所示的是一个算法的流程图,已知 a1=3,输出的 b=7,求 a2 的值. 解:根据题意a1 ? a 2 =7, 2∵a1=3,∴a2=11.即 a2 的值为 11. 例 3 写出通过尺轨作图确定线段 AB 的一个 5 等分点的程序框图. 解:利用我们学过的顺序结构得程序框图如下:点评:这个算法步骤具有一般性,对于任意自然数 n,都可以按照这个算法的思想,设计出 确定线段的 n 等分点的步骤,解决问题,通过本题学习可以巩固顺序结构的应用. 知能训练 有关专家建议,在未来几年内,中国的通货膨胀率保持在 3 ?%左右,这将对我国经济 的稳定有利无害.所谓通货膨胀率为 3%,指的是每年消费品的价格增长率为 3%?.在这种情 况下,某种品牌的钢琴 2004 年的价格是 10 000 元,请用流程图描述这种钢琴今后四年的价 格变化情况,并输出四年后的价格. 解:用 P 表示钢琴的价格,不难看出如下算法步骤: 2005 年 P=10 000× (1+3%)=10 300; 2006 年 P=10 300× (1+3%)=10 609; 2007 年 P=10 609× (1+3%)=10 927.27; 2008 年 P=10 927.27× (1+3%)=11 255.09; 因此,价格的变化情况表为: 年份 钢琴的价格 程序框图如下:
.27 .09 点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题 步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图. 拓展提升 如下给出的是计算 件是______________.1 1 1 1 ? ? ??? 的值的一个流程图,其中判断框内应填入的条 2 4 6 20答案:i&10. 课堂小结 (1)掌握程序框的画法和功能. (2)了解什么是程序框图,知道学习程序框图的意义. (3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法. 作业 习题 1.1A 1. 第 2 课时 条件结构 导入新课 思路 1(情境导入) 我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有 牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙 蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了 分类讨论思想, 在算法和程序框图中也经常用到这一思想方法, 今天我们开始学习新的逻辑 结构――条件结构. 思路 2(直接导入) 前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实 上多数河流是有分支的,今天我们开始学习有分支的逻辑结构――条件结构. 推进新课 新知探究 提出问题 (1)举例说明什么是分类讨论思想? (2)什么是条件结构? (3)试用程序框图表示条件结构. (4)指出条件结构的两种形式的区别. 讨论结果: (1)例如解不等式 ax&8(a≠0),不等式两边需要同除 a,需要明确知道 a 的符号,但条件没有 给出,因此需要进行分类讨论,这就是分类讨论思想. (2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的 流向.条件结构就是处理这种过程的结构. (3)用程序框图表示条件结构如下. 条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结 构) ,如图 1 所示.执行过程如下:条件成立,则执行 A 框;不成立,则执行 B 框.图1 图2 注:无论条件是否成立,只能执行 A、B 之一,不可能两个框都执行.A、B 两个框中,可 以有一个是空的,即不执行任何操作,如图 2. (4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤 A”,否则执行“步骤 B”;另一种是在一个“分支”中均包含算法的步骤 A,而在另一个“分支”上不包含算法的任何 步骤,符合条件就执行“步骤 A”,否则执行这个条件结构后的步骤. 应用示例 例 1 任意给定 3 个正实数,设计一个算法,判断以这 3 个正实数为三边边长的三角形 是否存在,并画出这个算法的程序框图. 算法分析:判断以 3 个任意给定的正实数为三条边边长的三角形是否存在,只需验证这 3 个数中任意两个数的和是否大于第 3 个数.这个验证需要用到条件结构. 算法步骤如下: 第一步,输入 3 个正实数 a,b,c. 第二步,判断 a+b&c,b+c&a,c+a&b 是否同时成立.若是,则存在这样的三角形;否则,不 存在这样的三角形. 程序框图如右图: 点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这 样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程 序框图时,常常遇到需要讨论的问题,这时要用到条件结构. 例 2 设计一个求解一元二次方程 ax2+bx+c=0 的算法,并画出程序框图表示. 算法分析:我们知道,若判别式 Δ=b2-4ac&0,则原方程有两个不相等的实数根 x1=?b? ? ?b? ? ,x2= ; 2a 2ab ; 2a若 Δ=0,则原方程有两个相等的实数根 x1=x2= ?若 Δ&0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根 据判断的结果执行不同的步骤,这个过程可以用条件结构实现. 又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算 x1 和 x2 之前,先计算 p= ?b ? ,q= . 2a 2a解决这一问题的算法步骤如下: 第一步,输入 3 个系数 a,b,c. 第二步,计算 Δ=b2-4ac. 第三步, 判断 Δ≥0 是否成立.若是, 则计算 p= ?b ? , q= ; 否则, 输出“方程没有实数根”, 2a 2a结束算法. 第四步,判断 Δ=0 是否成立.若是,则输出 x1=x2=p;否则,计算 x1=p+q,x2=p-q,并输出 x1,x2. 程序框图如下: 例 3 设计算法判断一元二次方程 ax2+bx+c=0 是否有实数根,并画出相应的程序框图. 解:算法步骤如下: 第一步,输入 3 个系数:a,b,c. 第二步,计算 Δ=b2-4ac. 第三步,判断 Δ≥0 是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算 法. 相应的程序框图如右:点评: 根据一元二次方程的意义, 需要计算判别式 Δ=b2-4ac 的值.再分成两种情况处理: (1) 当 Δ≥0 时,一元二次方程有实数根; (2)当 Δ<0 时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二 次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判 别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到 的,要对判别式的值进行判断,需要用到条件结构. 例 4 (1)设计算法,求 ax+b=0 的解,并画出流程图. 解:对于方程 ax+b=0 来讲,应该分情况讨论方程的解. 我们要对一次项系数 a 和常数项 b 的取值情况进行分类,分类如下: (1)当 a≠0 时,方程有唯一的实数解是 ?b ; a (2)当 a=0,b=0 时,全体实数都是方程的解; (3)当 a=0,b≠0 时,方程无解. 联想数学中的分类讨论的处理方式,可得如下算法步骤: 第一步,判断 a≠0 是否成立.若成立,输出结果“解为 ?b ”. a第二步,判断 a=0,b=0 是否同时成立.若成立,输出结果“解集为 R”. 第三步,判断 a=0,b≠0 是否同时成立.若成立,输出结果“方程无解”,结束算法. 程序框图如下:点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件 1”“条件 2”“条件 3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作. 知能训练 设计算法,找出输入的三个不相等实数 a、b、c 中的最大值,并画出流程图. 解:算法步骤: 第一步,输入 a,b,c 的值. 第二步,判断 a&b 是否成立,若成立,则执行第三步;否则执行第四步. 第三步,判断 a&c 是否成立,若成立,则输出 a,并结束;否则输出 c,并结束. 第四步,判断 b&c 是否成立,若成立,则输出 b,并结束;否则输出 c,并结束. 程序框图如下:点评:条件结构嵌套与条件结构叠加的区别: (1)条件结构叠加,程序执行时需依次对“条件 1”“条件 2”“条件 3”……都进行判断,只有 遇到能满足的条件才执行该条件对应的操作. (2) 条件结构的嵌套中, “条件 2”是“条件 1”的一个分支, “条件 3”是“条件 2”的一个分支…… 依此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行. (3) 条件结构嵌套所涉及的“条件 2”“条件 3”……是在前面的所有条件依次一个一个的满足 “分支条件成立”的情况下才能执行的此操作,是多个条件同时成立的叠加和复合. 例 5 “特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式 .某快递 公司规定甲、乙两地之间物品的托运费用根据下列方法计算: f= ??0.53?, (? ? 50), ?50 ? 0.53 ? (? ? 50) ? 0.85, (? ? 50).其中 f(单位:元)为托运费,ω 为托运物品的重量(单位:千克). 试画出计算费用 f 的程序框图.分析:这是一个实际问题,根据数学模型可知,求费用 f 的计算公式随物品重量 ω 的变化而 有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件结构 的运用,是二分支条件结构.其中,物品的重量通过输入的方式给出. 解:算法程序框图如右图: 拓展提升 有一城市,市区为半径为 15 km 的圆形区域,近郊区为距中心 15―25 km 的范围内的 环形地带,距中心 25 km 以外的为远郊区,如右图所示.市区地价每公顷 100 万元,近郊区 地价每公顷 60 万元,远郊区地价为每公顷 20 万元,输入某一点的坐标为(x,y),求该点的地 价.2 2 分析:由该点坐标(x,y),求其与市中心的距离 r= x ? y ,确定是市区、近郊区,还是?100,0 ? r ? 15, ? 远郊区,进而确定地价 p.由题意知,p= ?60,15 ? r ? 25, ?20, r ? 25. ?解:程序框图如下: 课堂小结 (1)理解两种条件结构的特点和区别. (2)能用学过的两种条件结构解决常见的算法问题. 作业? 习题 1.1A 组 3. 第 3 课时 循环结构 导入新课 思路 1(情境导入) 我们都想生活在一个优美的环境中, 希望看到的是碧水蓝天, 大家知道工厂的污水是怎 样处理的吗?污水进入处理装置后进行第一次处理, 如果达不到排放标准, 则需要再进入处 理装置进行处理,直到达到排放标准.污水处理装置是一个循环系统,对于处理需要反复操 作的事情有很大的优势.我们数学中有很多问题需要反复操作,今天我们学习能够反复操作 的逻辑结构――循环结构. 思路 2(直接导入) 前面我们学习了顺序结构,顺序结构像一条没有分支的河流,奔流到海不复回;上一节 我们学习了条件结构, 条件结构像有分支的河流最后归入大海; 事实上很多水系是循环往复 的,今天我们开始学习循环往复的逻辑结构――循环结构. 推进新课 新知探究 提出问题 (1)请大家举出一些常见的需要反复计算的例子. (2)什么是循环结构、循环体? (3)试用程序框图表示循环结构. (4)指出两种循环结构的相同点和不同点. 讨论结果: (1)例如用二分法求方程的近似解、数列求和等. (2)在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况, 这就是循环结构.反复执行的步骤称为循环体. (3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一 定条件重复执行某一处理的过程.重复执行的处理步骤称为循环体. 循环结构有两种形式:当型循环结构和直到型循环结构. 1°当型循环结构,如图(1)所示,它的功能是当给定的条件 P 成立时,执行 A 框,A 框执行完毕后,返回来再判断条件 P 是否成立,如果仍然成立,返回来再执行 A 框,如此 反复执行 A 框,直到某一次返回来判断条件 P 不成立时为止,此时不再执行 A 框,离开循 环结构.继续执行下面的框图. 2°直到型循环结构,如图(2)所示,它的功能是先执行重复执行的 A 框,然后判断 给定的条件 P 是否成立,如果 P 仍然不成立,则返回来继续执行 A 框,再判断条件 P 是否 成立.继续重复操作, 直到某一次给定的判断条件 P 时成立为止, 此时不再返回来执行 A 框, 离开循环结构.继续执行下面的框图. 见示意图:当型循环结构 直到型循环结构 (4)两种循环结构的不同点:直到型循环结构是程序先进入循环体,然后对条件进行判断, 如果条件不满足,就继续执行循环体,直到条件满足时终止循环. 当型循环结构是在每次执行循环体前, 先对条件进行判断, 当条件满足时, 执行循环体, 否则终止循环. 两种循环结构的相同点: 两种不同形式的循环结构可以看出, 循环结构中一定包含条件 结构,用于确定何时终止执行循环体. 应用示例 思路 1 例 1 设计一个计算 1+2+??+100 的值的算法,并画出程序框图. 算法分析:通常,我们按照下列过程计算 1+2+??+100 的值. 第 1 步,0+1=1. 第 2 步,1+2=3. 第 3 步,3+3=6. 第 4 步,6+4=10. ?? 第 100 步,4 950+100=5 050. 显然,这个过程中包含重复操作的步骤,可以用循环结构表示.分析上述计算过程,可 以发现每一步都可以表示为第(i-1)步的结果+i=第 i 步的结果. 为了方便、有效地表示上述过程,我们用一个累加变量 S 来表示第一步的计算结果, 即把 S+i 的结果仍记为 S,从而把第 i 步表示为 S=S+i, 其中 S 的初始值为 0,i 依次取 1,2,…,100,由于 i 同时记录了循环的次数,所以也 称为计数变量. 解决这一问题的算法是: 第一步,令 i=1,S=0. 第二步,若 i≤100 成立,则执行第三步;否则,输出 S,结束算法. 第三步,S=S+i. 第四步,i=i+1,返回第二步. 程序框图如右: 上述程序框图用的是当型循环结构,如果用直到型循环结构表示,则程序框图如下:点评:这是一个典型的用循环结构解决求和的问题,有典型的代表意义,可把它作为一个范 例,仔细体会三种逻辑结构在程序框图中的作用,学会画程序框图. 变式训练 已知有一列数1 2 3 n , , ,?, ,设计框图实现求该列数前 20 项的和. 2 3 4 n ?1 i ,可 i ?1分析:该列数中每一项的分母是分子数加 1,单独观察分子,恰好是 1,2,3,4,…,n, 因此可用循环结构实现,设计数器 i,用 i=i+1 实现分子,设累加器 S,用 S= S ? 实现累加,注意 i 只能加到 20. 解:程序框图如下: 方法一: 方法二: 点评:在数学计算中,i=i+1 不成立,S=S+i 只有在 i=0 时才能成立.在计算机程序中,它 们被赋予了其他的功能, 不再是数学中的“相等”关系, 而是赋值关系. 变量 i 用来作计数器, i=i+1 的含义是:将变量 i 的值加 1,然后把计算结果再存贮到变量 i 中,即计数器 i 在原值 的基础上又增加了 1. 变量 S 作为累加器,来计算所求数据之和.如累加器的初值为 0,当第一个数据送到变 量 i 中时,累加的动作为 S=S+i,即把 S 的值与变量 i 的值相加,结果再送到累加器 S 中, 如此循环,则可实现数的累加求和. 例 2 某厂 2005 年的年生产总值为 200 万元,技术革新后预计以后每年的年生产总值都比 上一年增长 5%,设计一个程序框图,输出预计年生产总值超过 300 万元的最早年份. 算法分析:先写出解决本例的算法步骤: 第一步,输入 2005 年的年生产总值. 第二步,计算下一年的年生产总值. 第三步,判断所得的结果是否大于 300,若是,则输出该年的年份,算法结束;否则,返回 第二步. 由于 “ 第二步 ” 是重复操作的步骤,所以本例可以用循环结构来实现 . 我们按照 “ 确定循环 体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构. (1)确定循环体:设 a 为某年的年生产总值,t 为年生产总值的年增长量,n 为年份,则循 环体为 t=0.05a,a=a+t,n=n+1. (2)初始化变量:若将 2005 年的年生产总值看成计算的起始点,则 n 的初始值为 2005,a 的初始值为 200. (3) 设定循环控制条件: 当“年生产总值超过 300 万元”时终止循环, 所以可通过判断“a&300” 是否成立来控制循环. 程序框图如下: 思路 2 例 1 设计框图实现 1+3+5+7+…+131 的算法. 分析:由于需加的数较多,所以要引入循环结构来实现累加.观察所加的数是一组有规律的 数(每相临两数相差 2) ,那么可考虑在循环过程中,设一个变量 i,用 i=i+2 来实现这些有 规律的数,设一个累加器 sum,用来实现数的累加,在执行时,每循环一次,就产生一个需 加的数,然后加到累加器 sum 中. 解:算法如下: 第一步,赋初值 i=1,sum=0. 第二步,sum=sum+i,i=i+2. 第三步,如果 i≤131,则反复执第二步;否则,执行下一步. 第四步,输出 sum. 第五步,结束. 程序框图如右图.点评: (1)设计流程图要分步进行,把一个大的流程图分割成几个小的部分,按照三个基本 结构即顺序、条件、循环结构来局部安排,然后把流程图进行整合. (2)框图画完后,要进行验证,按设计的流程分析是否能实现所求的数的累加,分析条件 是否加到 131 就结束循环, 所以我们要注意初始值的设置、 循环条件的确定以及循环体内语 句的先后顺序,三者要有机地结合起来.最关键的是循环条件,它决定循环次数,可以想一 想,为什么条件不是“i&131”或“i=131”,如果是“i&131”,那么会少执行一次循环,131 就加 不上了. 例 2 高中某班一共有 40 名学生,设计算法流程图,统计班级数学成绩良好(分数&80)和优 秀(分数&90)的人数. 分析:用循环结构实现 40 个成绩的输入,每循环一次就输入一个成绩 s,然后对 s 的值进行 判断.设两个计数器 m,n,如果 s&90,则 m=m+1,如果 80&s≤90,则 n=n+1.设计数器 i,用 来控制 40 个成绩的输入,注意循环条件的确定. 解:程序框图如下图:知能训练 由相应的程序框图如右图, 补充完整一个计算 1+2+3+…+100 的值的算法 (用循环结构) .第一步,设 i 的值为_____________. 第二步,设 sum 的值为_____________. 第三步,如果 i≤100 执行第_____________步,否则,转去执行第_____________步. 第四步,计算 sum+i 并将结果代替_____________. 第五步,计算_____________并将结果代替 i. 第六步,转去执行第三步. 第七步,输出 sum 的值并结束算法. 分析:流程图各图框的内容(语言和符号)要与算法步骤相对应,在流程图中算法执行的顺 序应按箭头方向进行. 解:第一步,设 i 的值为 1. 第二步,设 sum 的值为 0. 第三步,如果 i≤100,执行第四步,否则,转去执行第七步. 第四步,计算 sum+i 并将结果代替 sum. 第五步,计算 i+1 并将结果代替 i. 第六步,转去执行第三步. 第七步,输出 sum 的值并结束算法. 拓展提升 设计一个算法,求 1+2+4+…+249 的值,并画出程序框图. 解:算法步骤: 第一步,sum=0. 第二步,i=0. 第三步,sum=sum+2i. 第四步,i=i+1. 第五步,判断 i 是否大于 49,若成立,则输出 sum,结束.否则,返回第三步重新执行. 程序框图如右图:点评: (1)如果算法问题里涉及的运算进行了许多次重复的操作,且先后参与运算的数之间 有相同的规律,就可引入变量循环参与运算(我们称之为循环变量) ,应用于循环结构.在循 环结构中,要注意根据条件设计合理的计数变量、累加和累乘变量及其个数等,特别要求条 件的表述要恰当、精确. (2)累加变量的初始值一般取 0,而累乘变量的初始值一般取 1. 课堂小结 (1)熟练掌握两种循环结构的特点及功能. (2)能用两种循环结构画出求和等实际问题的程序框图,进一步理解学习算法的意义. 作业 习题 1.1A 组 2. 第 4 课时 程序框图的画法 导入新课 思路 1(情境导入) 一条河流有时像顺序结构,奔流到海不复回;有时像条件结构分分合合向前进;有时像 循环结构,虽有反复但最后流入大海.一个程序框图就像一条河流包含三种逻辑结构,今天 我们系统学习程序框图的画法. 思路 2(直接导入) 前面我们学习了顺序结构、条件结构、循环结构,今天我们系统学习程序框图的画法. 推进新课 新知探究 提出问题 (1)请大家回忆顺序结构,并用程序框图表示. (2)请大家回忆条件结构,并用程序框图表示. (3)请大家回忆循环结构,并用程序框图表示. (4)总结画程序框图的基本步骤. 讨论结果: (1)顺序结构是由若干个依次执行的步骤组成的 ,这是任何一个算法都离不开的基本结构 .框 图略. (2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流 向.条件结构就是处理这种过程的结构.框图略. (3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定 条件重复执行某一处理过程.重复执行的处理步骤称为循环体. 循环结构有两种形式:当型循环结构和直到型循环结构.框图略. (4)从前面的学习可以看出,设计一个算法的程序框图通常要经过以下步骤: 第一步,用自然语言表达算法步骤. 第二步,确定每一个算法步骤所包含的逻辑结构,并用相应的程序框表示,得到该步骤 的程序框图. 第三步,将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法 的程序框图. 应用示例 例 1 结合前面学过的算法步骤,利用三种基本逻辑结构画出程序框图,表示用“二分法”求 方程 x2-2=0(x&0)的近似解的算法. 算法分析: (1) 算法步骤中的“第一步”“第二步”和“第三步”可以用顺序结构来表示 (如下图) : (2)算法步骤中的“第四步”可以用条件结构来表示(如下图).在这个条件结构中,“否”分 支用“a=m”表示含零点的区间为[m,b],并把这个区间仍记成[a,b] ;“是”分支用“b=m ” 表示含零点的区间为[a,m] ,同样把这个区间仍记成[a,b].(3)算法步骤中的“第五步”包含一个条件结构,这个条件结构与“第三步”“第四步”构成一 个循环结构,循环体由“第三步”和“第四步”组成,终止循环的条件是“|a-b|<d 或 f(m)=0”.在 “第五步”中,还包含由循环结构与“输出 m”组成的顺序结构(如下图).(4)将各步骤的程序框图连接起来,并画出“开始”与“结束”两个终端框,就得到了表示整 个算法的程序框图(如下图). 点评:在用自然语言表述一个算法后,可以画出程序框图,用顺序结构、条件结构和循环结 构来表示这个算法,这样表示的算法清楚、简练,便于阅读和交流. 例 2 相传古代的印度国王要奖赏国际象棋的发明者,问他需要什么.发明者说:陛下,在国 际象棋的第一个格子里面放 1 粒麦子, 在第二个格子里面放 2 粒麦子, 第三个格子放 4 粒麦 子,以后每个格子中的麦粒数都是它前一个格子中麦粒数的二倍,依此类推(国际象棋棋盘 共有 64 个格子),请将这些麦子赏给我,我将感激不尽.国王想这还不容易,就让人扛了一袋 小麦,但不到一会儿就没了,最后一算结果,全印度一年生产的粮食也不够.国王很奇怪, 小小的“棋盘”,不足 100 个格子,如此计算怎么能放这么多麦子?试用程序框图表示此算法 过程. 解:将实际问题转化为数学模型,该问题就是要求 1+2+4+……+263 的和. 程序框图如下:点评:对于开放式探究问题,我们可以建立数学模型(上面的题目可以与等比数列的定义、 性质和公式联系起来) 和过程模型来分析算法, 通过设计算法以及语言的描述选择一些成熟 的办法进行处理. 例 3 乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法是: 行李质量不超过 50 kg 时按 0. 25 ?元/kg; 超过 50 kg 而不超过 100 kg 时, 其超过部分按 0. 35 元/kg;超过 100 kg 时,其超过部分按 0.45 元/kg.编写程序,输入行李质量,计算出托运 的费用. 分析:本题主要考查条件语句及其应用.先解决数学问题,列出托运的费用关于行李质量的 函数关系式.设行李质量为 x kg,应付运费为 y 元,则运费公式为:?0.25x,0 ? x ? 50, ? y= ?0.25 ? 50 ? 0.35( x ? 50),50 ? x ? 100, ?0.25 ? 50 ? 0.35 ? 50 ? 0.45( x ? 100), x ? 100, ? ?0.25x,0 ? x ? 50, ? 整理得 y= ?0.35x ? 5,50 ? x ? 100, ?0.45x ? 15, x ? 100. ?要计算托运的费用必须对行李质量分类讨论,因此要用条件语句来实现. 解:算法分析: 第一步,输入行李质量 x. 第二步,当 x≤50 时,计算 y=0.25x,否则,执行下一步. 第三步,当 x≤100,计算 y=0.35x-5,否则,计算 y=0.45x-15. 第四步,输出 y. 程序框图如下:知能训练 设计一个用有理数数幂逼近无理指数幂 5 解:算法步骤: 第一步,给定精确度 d,令 i=1. 第二步,取出 2 的到小数点后第 i 位的不足近似值,记为 a;取出 2 的到小数点后第 i 位的过剩近似值,记为 b. 第三步,计算 m=5b-5a. 第四步,若 m&d,则得到 52 2的算法,画出算法的程序框图.的近似值为 5a;否则,将 i 的值增加 1,返回第二步. 第五步,得到 5 程序框图如下:2的近似值为 5a.拓展提升 求4?1 4? 1,画出程序框图.1 4 ??? 4 ??? ? ??? ? ?( 共10 个 4 )分析:如果采用逐步计算的方法,利用顺序结构来实现,则非常麻烦,由于前后的运算需重 复多次相同的运算,所以应采用循环结构,可用循环结构来实现其中的规律.观察原式中的 变化的部分及不变项,找出总体的规律是 4+ 解:程序框图如下:1 ,要实现这个规律,需设初值 x=4. x课堂小节 (1)进一步熟悉三种逻辑结构的应用,理解算法与程序框图的关系. (2)根据算法步骤画出程序框图. 作业 习题 1.1B 组 1、2.1.2 基本算法语句 1.2.1 输入语句、输出语句和赋值语句 整体设计 教学分析 通过上一节的学习, 学生了解了算法的含义, 学习了用算法步骤和程序框图表示算法的 方法,本节介绍用程序设计语言表示算法的方法. 算法步骤和程序框图表示的算法,计算机 是不能理解的,程序是算法的精确形式,是计算机可以理解的算法.本节的教学重点是通过 实例使学生理解三种基本算法语句的结构和用法,并在此基础上编写由算法语句组成的程 序,从而更细致地刻画算法,进一步体会算法的基本思想. 三维目标 1.理解学习基本算法语句的意义. 2.学会输入语句、输出语句和赋值语句的基本用法. 3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法. 重点难点 教学重点:输入语句、输出语句和赋值语句的基本用法. 教学难点:算法语句的写法. 课时安排 1 课时 教学过程 导入新课 思路 1(情境导入) 中国足球队在亚洲杯上的失利说明,中国足球仍然需要请外国教练.高水平的外国教练 有先进的足球理念,有系统科学的训练计划,有先进的足球技术,但由于语言不通不能直接 传授给队员. 算法步骤、程序框图虽然容易掌握,但计算机不能理解,因此我们需要学习算 法语句. 思路 2(直接导入) 前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,我们开 始学习算法语句. 推进新课 新知探究 提出问题 (1)指出输入语句的格式、功能、要求. (2)指出输出语句的格式、功能、要求. (3)指出赋值语句的格式、功能、要求. (4)利用框图总结三种语句的功能、格式、特点. (5)指出三种语句与框图的对应关系. 讨论结果: (1)输入语句的格式:INPUT“提示内容”; 变量 例如:INPUT “x=”;x 功能:实现算法的输入变量信息(数值或字符)的功能. 要求: 1°输入语句要求输入的值是具体的常量. 2°提示内容提示用户输入的是什么信息,必须加双引号,提示内容 “原原本本”的在计算机 屏幕上显示,提示内容与变量之间要用分号隔开. 3°一个输入语句可以给多个变量赋值,中间用“,”分隔. 形式如:INPUT“a=,b=,c=,”;a,b,c (2)输出语句的一般格式:PRINT“提示内容”;表达式 例如:PRINT“S=”;S 功能:实现算法输出信息(表达式)的功能. 要求: 1°表达式是指算法和程序要求输出的信息. 2°提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和 表达式分开. 3°如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间 可用“,”分隔. 形式如:PRINT “a,b,c:”;a,b,c (3)赋值语句的一般格式:变量=表达式. 赋值语句中的“=”称作赋值号. 功能:将表达式所代表的值赋给变量. 要求: 1°赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含 变量的运算式.如:2=x 是错误的. 2°赋值号的左右两边不能对换 .赋值语句是将赋值号右边的表达式的值赋给赋值号左边的 变量.如“A=B”“B=A”的含义运行结果是不同的,如 x=5 是对的,5=x 是错的,A+B=C 是错 的,C=A+B 是对的. 3°不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等) ,如 y=x2-1=(x -1)(x+1),这是实现不了的.在赋值号右边表达式中每一个变量的值必须事先赋给确定的值. 在一个赋值语句中只能给一个变量赋值,不能出现两个或以上的“=”.但对于同一个变量可以 多次赋值. (4)三种语句的功能、格式、特点如下: 在 QBASIC 语言中,输入语句?是 INPUT 语句,输出语句是 PRINT 语句,赋值语句是 LET 语句(“LET”可以省略).下表列出了这三种语句的一般格式、主要功能和相关说明, 供教师教学时参考,不要求学生掌握. INPUT 语句 格式 功能 INPUT“提示内容”;变量 可对程序中的变量赋值 ①又称“键盘输入语句 ”,在程序 运行过程中,停机等候用户由键 盘输入数据,而不需要在写程序 时指定 PRINT 语句 PRINT“提示内容”; 表达式 可输出表达式的 值,计算 ①又称“打印语 句”,将表达式的值 在屏幕上显示出来 ②表达式可以是变 赋值语句 LET 变量=表达式 可对程序中的变量赋值,计 算 ①在程序运行过程中给变 量赋值 ②“LET”可以省略, “=”的右 侧必须是表达式,左侧必须说明 ② “提示内容”和它后面的“ ;”可 以省略 ③ 一个 语句可 以给 多个变 量赋 值,中间用“,”分隔 ④无计算功能 ⑤用户由键盘输入的数据必须是 常量,输入多个数据时用“,”分 隔,且个数要与变量的个数相同量、计算公式或系 统信息 ③一个语句可以输 出多个表达式.不同 的表达式之间可用 “,”分隔 ④有计算功能,能 直接输出计算公式 的值是变量 ③一个语句只能给一个变 量赋值 ④有计算功能 ⑤将一个变量的值赋给另 一个变量,前一个变量的值 保持不变;可先后给一个变 量赋多个不同的值,但变量 的取值总是最后被赋予的 值(5)指出三种语句与框图的对应关系如下图.应用示例 思路 1 例 1 用描点法作函数 y=x3+3x2-24x+30 的图象时,需要求出自变量和函数的一组对应值 . 编写程序,分别计算当 x=-5,-4,-3,-2,-1,0,1,2,3,4,5 时的函数值. 算法分析:根据题意,对于每一个输入的自变量的值,都要输出相应的函数值.写成算法步 骤如下: 第一步,输入一个自变量的 x 的值. 第二步,计算 y=x3+3x2-24x+30. 第三步,输出 y. 程序框图如下图:显然,这是一个由顺序结构构成的算法,按照程序框图中流程线的方向,依次将程序框 中的内容写成相应的算法语句,就得相应的程序. 解:程序: INPUT “x”;x y=x^3+3*x^2-24*x+30 PRINT y END 点评:前面我们学习了算法步骤、程序框图,我们对照程序框图与算法语句可以得到它们之 间的对应关系.例如:在这个程序中,第 1 行中的 INPUT 语句就是输入语句.这个语句的一般 格式是 INPUT “提示内容”;变量 其中,“提示内容”一般是提示用户输入什么样的信息,每次运行例 1 中的程序时,依次输入 -5,-4,-3,-2,-1,0,1,2,3,4,5,计算机每次都把新输入的值赋给变量“x”,并按“x” 新获得的值计算变量“y”的值. 例 2 给一个变量重复赋值. 解:程序: A=10 A=A+15 PRINT A END 点评:给一个变量重复赋值,变量只保存最后一次赋值,比如此程序的输出值是 25. 例 3 编写程序,计算一个学生数学、语文、英语三门课的平均成绩. 算法分析: 先写出解决本例的算法步骤: 第一步,输入该学生数学、语文、英语三门课的成绩 a,b,c. 第二步,计算 y= 第三步,输出 y. 程序框图如下:a?b?c . 3由于 PRINT 语?句还可以用于输出数值计算的结果,所以这个算法可以写成下列程序. 程序: INPUT “Maths=”;a INPUT “Chinese=”;b INPUT “English=”;c PRINT “The average=”;(a+b+c)/3 END 点评:例 3 中的第 4 行的? PRINT 语?句是输出语句,它的一般形式是 PRINT“提示内容”;表达式 PRINT 语句可以在计算机的屏幕上输出常量、变量的值和系统信息,同输入语句一样,这 里的表达式前也可以有“提示内容”. 例 4 变换两个变量 A 和 B 的值,并输出交换前后的值. 解:程序: INPUT A,B PRINT A,B x=A A=B B=x PRINT A,B END 思路 2 例 1 写出求三个数 a,b,c 的方差的程序. 分析: 方差是在初中统计内容中学习过的知识, 计算所有数的方差首先计算所有数的平均数x ,通过公式 s2=算法步骤:( x1 ? x ) 2 ? ( x 2 ? x ) 2 ? ? ? ( x n ? x ) 2 来计算. na?b?c . 3第一步,计算平均数 x ?第二步,计算方差 s2=(a ? x ) 2 ? (b ? x ) 2 ? (c ? x ) 2 . 3第三步,得到的结果即为所求. 程序如下: INPUT a,b,c y=(a+b+c)/3 S=((a-y)2+ (b-y)2+ (c-y)2)/3 PRINT S END 点评:套用公式求值问题是传统数学求值问题的一种,它是一种典型的顺序结构,也就是说 只通过输入、输出和赋值语句就可以完成任务.解决这类问题的关键是先分析这种问题的解 法,即构造计算的过程,再写出算法步骤和流程图,再翻译成算法语句即可. 例 2 编写一个程序,要求输入两个正数 a 和 b 的值,输出 ab 和 ba 的值. 分析:可以利用? INPUT 语?句输入两个正数,然后将 ab 和 ba 的值分别赋给两个变量输出 即可.也可以将 ab 和 ba 的底数和幂数进行交换,故还可以利用赋值语句,采用将两个变量的 值互换的办法实现. 解:程序 1: INPUT “a,b:”;a,b A=a^b B=b^a PRINT “a^b=”;A,“b^a=”;B END 程序 2: INPUT “a,b:”;a,b A=a^b PRINT “a^b=”;A x=a a=b b=x A=a^b PRINT “b^a=”;A END 点评:交换 a,b 的值可通过下面三个语句来实现: t=a a=b b=t 通过引进一个中间变量 t 实现变量 a 和 b 的值的交换,因此只需用赋值语句即可实现算法. 在一些较为复杂的问题算法中经常需要对两个变量的值进行交换,因此应熟练掌握这种方 法. 知能训练 1.判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么? (1)输入语句 INPUT a;b;c (2)输出语句 A=4 (3)赋值语句 3=B (4)赋值语句 A=B=-2 解: (1)错,变量之间应用“,”号隔开. (2)错,PRINT 语句不能用赋值号“=”. (3)错,赋值语句中“=”号左右不能互换. (4)错,一个赋值语句只能给一个变量赋值. 点评:输入语句、输出语句和赋值语句基本上对应于算法中的顺序结构.输入语句、输出语 句和赋值语句都不包括“控制转移”,由它们组成的程序段必然是顺序结构. 2.请写出下面运算输出的结果. (1)a=5 b=3 c=(a+b)/2 d=c*c PRINT“d=”;d (2)a=1 b=2 c=a+b b=a+c-b PRINT “a=,b=,c=”;a,b,c (3)a=10 b=20 c=30 a=b b=c c=a PRINT “a=,b=,c=” ;a,b,c 解: (1)16;语句 c=(a+b)/2 是将 a,b 和的一半赋值给变量 c,语句 d=c*c 是将 c 的平方赋 值给 d,最后输出 d 的值. (2)1,2,3;语句 c=a+b 是将 a,b 的和赋值给 c,语句 b=a+c-b 是将 a+c-b 的值赋值 给了 b. (3)20,30,20;经过语句 a=b 后 a,b,c 的值是 20,20,30.经过语句 b=c 后 a,b,c 的 值是 20,30,30.经过语句 c=a 后 a,b,c 的值是 20,30,20. 点评:语句的识别问题是一个逆向性思维,一般我们认为我们的学习是从算法步骤(自然语 言)至程序框图,再到算法语言(程序).如果将程序摆在我们的面前时,我们要先识别每 个语句,再整体把握并概括出程序的功能. 拓展提升 已知某生某三科的成绩为 80、75、95 分,求三科的总分及平均分. 分析:将三科成绩赋给三个变量 A,B,C,然后对三个变量进行操作、运算,求其总分、 平均分.变量的起名规则:由字母、数字、下划线组成,但第一个字符必须是字母(大、小 写皆可) ,起名时尽量做到见名知义,如本例中我们可用变量? ZF 表示总分,PJF 表?示平 均分. 解:程序框图如下图:程序: A=80 B=75 C=95 ZF=A+B+C PJF=ZF/3 PRINT ZF,PJF END 课堂小结 (1)输入语句、输出语句和赋值语句的基本用法. (2)用输入语句、输出语句和赋值语句编写算法语句. 作业?习题 1.2A 组 2.1.2.2 条件语句 整体设计 教学分析 通过上一节的学习,学生学会了输入语句、输出语句和赋值语句的基本用法,本节介绍 条件语句的用法. 程序中的条件语句与程序框图中的条件结构存在一一对应关系,这种对应 关系对于学生理解条件语句的结构,进一步理解算法中的条件结构都是很有帮助的.我们可 以给出条件语句的一般格式,让学生自己画出相应的程序框图,也可以给出程序框图,让学 生写出算法语句. 三维目标 1.理解学习基本算法语句的意义. 2.学会条件语句的基本用法. 3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法. 重点难点 教学重点:条件语句的基本用法. 教学难点:算法语句的写法. 课时安排 1 课时 教学过程 导入新课 思路 1(情境导入) 一位老农平整了一块良田,种瓜好呢,还是种豆好呢,他面临着一个选择.如果他选择 种瓜,他会得瓜,如果他选择种豆,他会得豆.人的一生面临许多选择,我们要做出正确的 选择.前面我们学习了条件结构,今天我们学习条件语句. 思路 2(直接导入) 前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,上一节 我们学习了输入语句、输出语句、赋值语句,今天我们开始学习条件语句. 推进新课 新知探究 提出问题 (1)回忆程序框图中的两种条件结构. (2)指出条件语句的格式及功能. (3)指出两种条件语句的相同点与不同点. (4)揭示程序中的条件语句与程序框图中的条件结构存在一一对应关系. 讨论结果: (1)一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流 向.条件结构就是处理这种过程的结构. 用程序框图表示条件结构如下图:(2)条件语句 1°“IF―THEN―ELSE”语句 格式: IF 条件 THEN 语句体 1 ELSE 语句体 2 END IF 功能:在“IF―THEN―ELSE”语句中,“条件”表示判断的条件,“语句体 1”表示满足条件时 执行的操作内容;“语句体 2”表示不满足条件时执行的操作内容;END IF 表示条件语句的 结束.计算机在执行“IF―THEN―ELSE”语句时,首先对 IF 后的条件进行判断,如果符合条 件,则执行 THEN 后面的“语句 1”;若不符合条件,则执行 ELSE 后面的“语句 2”. 2°“IF―THEN”语句 格式: IF 条件 THEN 语句体 END IF 功能:“条件”表示判断的条件;“语句”表示满足条件时执行的操作内容,条件不满足时,直 接结束判断过程;END IF 表示条件语句的结束.计算机在执行“IF―THEN”语句时,首先对 IF 后的条件进行判断,如果符合条件就执行 THEN 后边的语句,若不符合条件则直接结束 该条件语句,转而执行其他后面的语句. (3)相同点:首先对 IF 后的条件进行判断,如果符合条件就执行 THEN 后边的语句. 不同点:对于“IF―THEN―ELSE”语句,若不符合条件,则执行 ELSE 后面的“语句体 2”. 对于“IF―THEN”语句,若不符合条件则直接结束该条件语句,转而执行其他后面的语句. (4)程序中的条件语句与程序框图中的条件结构存在一一对应关系如下图:应用示例 思路 1 例 1 编写一个程序,求实数 x 的绝对值. 算法分析:首先,我们来设计求实数 x 的绝对值的算法,因为实数 x 的绝对值为 |x|= ?? x( x ? 0), ?? x( x ? 0),所以算法步骤可以写成: 第一步,输入一个实数 x. 第二步,判断 x 的符号.若 x≥0,则输出 x;否则,输出-x. 显然,“第二步”可以用条件结构来实现. 程序框图如下图: 程序: INPUT x IF x>=0 THEN PRINT x ELSE PRINT -x END IF END 点评:通过本题我们看到算法步骤可以转化为程序框图,程序框图可以转化为算法语句.本 题揭示了它们之间的内在联系, 只要理解了程序框图与算法语句的对应关系, 把程序框图转 化为算法语句就很容易了. 变式训练 阅读下面的程序,你能得出什么结论? INPUT x IF x<0 THEN x=-x END IF PRINT x END 解:由程序得出,该程序是输出 x 的绝对值. 例 2 把前面求解一元二次方程 ax2+bx+c=0 的程序框图转化为程序. 解:由程序框图可以发现,其中包含着两个条件结构,而且内层的条件结构是外层的条件结 构的一个分支,所以,可以用“IF―THEN―ELSE―END IF”来完成转化. 程序: INPUT “a,b,c=”;a,b,c d=b^2-4*a*c IF d>=0 THEN p=-b/(2*a) q=SQR(d)/(2*a) IF d=0 THEN PRINT “x1=x2=”;p ELSE PRINT “x1,x2=”;p+q,p-q END IF ELSE PRINT“No real root” END IF END 例 3 编写程序,使任意输入的 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. 如下图所示,上述操作步骤可以用程序框图更直观地表达出来.根据程序框图,写出相应的计算机程序. INPUT “a,b,c=”;a,b,c IF b>a THEN t=a a=b b=t END IF IF c>a THEN t=a a=c c=t END IF IF c>b THEN t=b b=c c=t END IF PRINT a,b,c END 思路 2 例 1 编写程序,输出两个不相等的实数 a、b 的最大值. 分析:要输出两个不相等的实数 a、b 的最大值,从而想到对 a,b 的大小关系进行判断,a, b 的大小关系有两种情况: ( 1) a&b; (2) b&a.这也就用到了我们经常提及的分类讨论的方式, 找出两个数的最大值. 解:算法一: 第一步,输入 a, b 的数值. 第二步,判断 a,b 的大小关系,若 a&b,则输出 a 的值,否则,输出 b 的值. (程序框图如下图)程序如下: (“IF―THEN―ELSE”语句) INPUT “a,b”;a,b IF a>b THEN PRINT a ELSE PRINT b END IF END 算法二: 第一步,输入 a,b 的数值. 第二步,判断 a,b 的大小关系,若 b&a,则将 b 的值赋予 a;否则,直接执行第三步. 第三步,输出 a 的值,结束. (程序框图如下图)程序如下: (“IF―THEN”语句) INPUT “a,b”;a,b IF b>a THEN a=b END IF PRINT a END 点评:设计一个“好”的算法需要在大量的算法设计中积累经验.我们也可以先根据自己的思 路设计算法,再与 “成形”的、高效的、优秀的算法比较,改进思路,改进算法,以避免重 复计算等问题,提高算法设计的水平. (2)我们在平常的训练中尽可能地少引用变量,过多的变量不仅会使得算法和程序变得复 杂,而且不利于计算机的执行.为此,我们在练习中要尽可能少引入变量并且要积极思考才 能少引入变量.?1, x ? 0, ? 例 2 高等数学中经常用到符号函数,符号函数的定义为 y= ?0, x ? 0, 试编写程序输入 x ?? 1, x ? 0, ?的值,输出 y 的值. 解:程序一: (嵌套结构) 程序框图: (下图)程序如下: INPUT x IF x&0 THEN y=1 ELSE IF x=0 THEN y=0 ELSE y=-1 END IF END IF PRINT y END 程序二: (叠加结构) 程序框图(右图) : 程序如下: INPUT x IF x&0 THEN y=1 END IF IF x=0 THEN y=0 END IF IF x&0 THEN y=-1 END IF PRINT y END 点评: (1)条件结构的差异,造成程序执行的不同.当代入 x 的数值时,“程序一”先判断外 层的条件,依次执行不同的分支,随后再判断内层的条件;而“程序二”中执行了对“条件 1” 的判断,同时也对“条件 2”进行判断,是按程序中条件语句的先后依次判断所有的条件,满 足哪个条件就执行哪个语句. (2)条件语句的嵌套可多于两层,可以表达算法步骤中的多重限制条件. 知能训练 中国网通规定:拨打市内电话时,如果不超过 3 分钟,则收取话费 0.22 元;如果通话时间 超过 3 分钟, 则超出部分按每分钟 0.1 元收取通话费, 不足一分钟按以一分钟计算.设通话时 间为 t(分钟) ,通话费用 y(元) ,如何设计一个程序,计算通话的费用. 解:算法程序如下: INPUT “请输入通话时间:”;t IF t&=3 THEN y=0.22 ELSE IF INT(t)=t THEN y=0.22+0.1*(t-3) ELSE y=0.22+0.1*(INT(t-3)+1) END IF END IF PRINT “通话费用为:”;y END 拓展提升?2 x,0 ? x ? 4, ? 函数 y= ?8,4 ? x ? 8, 写出求函数的函数值的程序. ?2(12 ? x ),8 ? x ? 12, ?解:INPUT x=”;x IF x&=0 and x&=4 THEN y=2*x ELSE IF x&=8 THEN y=8 ELSE y=2*(12-x) END IF END IF PRINT y END 课堂小结 (1)条件语句的用法. (2)利用条件语句编写算法语句. 作业 习题 1.2 B 组 1.1.2.3 循环语句 整体设计 教学分析 通过前面的学习,学生学会了输入语句、输出语句、赋值语句和条件语句的基本用法, 本节将介绍循环语句的用法 . 程序中的循环语句与程序框图中的循环结构存在一一对应关 系, 这种对应关系对于学生理解循环语句的结构, 进一步理解算法中的循环结构都是很有帮 助的.我们可以给出循环语句的一般格式,让学生自己画出相应的程序框图,也可以给出程 序框图,让学生写出算法语句,提高学生的应用能力. 三维目标 1.理解学习基本算法语句的意义. 2.学会循环语句的基本用法. 3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法. 重点难点 教学重点:循环语句的基本用法. 教学难点:循环语句的写法. 课时安排 1 课时 教学过程 导入新课 思路 1(情境导入) 一位同学不小心违反了学校纪律,班主任令其写检查,他写完后交给班主任,班主任看 后说: “认识不深刻,拿回去重写,直到认识深刻为止”.这位同学一想,这不是一个循环结 构吗?可惜我还没学循环语句,不然可以写一个算法语句输入计算机了.同学们,今天我们 开始学习循环语句. 思路 2(直接导入) 前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,上一节 我们学习了输入语句、输出语句、赋值语句和条件语句,今天我们开始学习循环语句. 推进新课 新知探究 提出问题 (1)试用程序框图表示循环结构. (2)指出循环语句的格式及功能. (3)指出两种循环语句的相同点与不同点. (4)揭示程序中的循环语句与程序框图中的条件结构存在一一对应关系. 讨论结果: (1)循环结构 循环结构有两种形式:当型循环结构和直到型循环结构. 1°当型循环结构,如图(1)所示 2°直到型循环结构,如图(2)所示,(1)当型循环结构 (2)直到型循环结构 (2)循环语句 1°当型循环语句 当型(WHILE 型)语句的一般格式为: WHILE 条件 循环体 WEND 功能:计算机执行此程序时,遇到 WHILE 语句,先判断条件是否成立,如果成立,则 执行 WHILE 和 WEND 之间的循环体;然后返回到 WHILE 语句再判断上述条件是否成立, 如果成立,再执行循环体,这个过程反复执行,直到一次返回到 WHILE 语句判断上述条件 不成立为止,这时不再执行循环体,而是跳到 WEND 语句后,执行 WEND 后面的语句.因 此当型循环又称 “前测试型” 循环, 也就是我们经常讲的 “先测试后执行” “先判断后循环” . 2°直到型循环语句 直到型(UNTIL 型)语句的一般格式为: DO 循环体 LOOP UNTIL 条件 功能:计算机执行 UNTIL 语句时,先执行 DO 和 LOOP UNTIL 之间的循环体,然后判断 “LOOP UNTIL”后面的条件是否成立,如果条件不成立,返回 DO 语句处重新执行循环 体.这个过程反复执行,直到一次判断“LOOP UNTIL”后面的条件成立为止,这时不再返 回执行循环体,而是跳出循环体执行“LOOP UNTIL 条件”下面的语句. 因此直到型循环又称“后测试型”循环,也就是我们经常讲的“先执行后测试” “先循 环后判断”. (3)相同点:都是反复执行循环体语句. 不同点:当型循环语句是先判断后循环,直到型循环语句是先循环后判断. (4)下面为循环语句与程序框图中的条件结构的一一对应关系. 1°直到型循环结构:2°当型循环结构:应用示例 思路 1 例 1 修改前面编写过的求函数 y=x3+3x2-24x+30 的值的程序,连续输入 11 个自变量的取 值,输出相应的函数值. 算法分析:与前面不同的是,本例要求连续输入 11 个自变量的取值.并输出相应的函数值, 先写出解决本例的算法步骤: 第一步,输入自变量 x 的值. 第二步,计算 y=x3+3x2-24x+30. 第三步,输出 y. 第四步,记录输入次数. 第五步,判断输入的次数是否大于 11.若是,则结束算法;否则,返回第一步. 显然,可以用计数变量 n(1≤n≤11)记录次数,通过循环结构来实现算法. 程序框图如下图: 程序: n=1 DO INPUT x y=x^3+3*x^2-24*x+30 PRINT y n=n+1 LOOP UNTIL n>11 END 例 2 教材中的用“二分法”求方程 x2-2=0(x>0)的近似解的程序框图(见教材图 1.120) 包含了顺序结构、条件结构和循环结构.下面,我们把这个程序框图转化为相应的程序. 解:程序为: INPUT “a,b,d=” ;a,b,d DO m=(a+b)/2 g=a^2-2 f=m^2-2 IF g*f<0 THEN b=m ELSE a=m END IF LOOP UNTIL ABS(a-b)<d OR f=0 PRINT m END 点评:ABS()是一个函数,用来求某个数的绝对值,即 ABS(x)=|x|. 例 3 设计一个计算 1×3×5×7×?×99 的算法,编写算法程序. 解:算法如下: 第一步,s=1. 第二步,i=3. 第三步,s=s×i. 第四步,i=i+2. 第五步,如果 i≤99,那么转到第三步. 第六步,输出 s. 程序如下: ( “WHILE 型”循环语句) s=1 i=3 WHILE i<=99 s=s*i i=i+2 WEND PRINT s END 点评:前面我们已经学过“求和”问题,这是一个“求积”问题,这两个问题都是典型的算 法问题,注意它们的联系与区别. 例 4 编写一个程序,求 1!+2!+?+10!的值(其中 n!=1×2×3×?×n). 分析:这个问题可以用“WHILE+ WHILE”循环嵌套语句格式来实现. 程序结构要做到如下步骤: ①处理“n! ”的值; (注:处理 n!的值的变量是一个内循环变量) ②累加“n! ”的值.(注:累加 n!的值的变量是一个外循环变量) 显然,通过 10 次循环可分别求出 1!、2!、?、10!的值,并同时累加起来, 可求得 S 的值. 而求 T=n! ,又可以用一个循环(内循环)来实现. 解:程序为: s=0 i=1 WHILE i&=10 j=1 t=1 WHILE j&=i t=t*j j=j+1 WEND s=s+t i=i+1 WEND PRINT s END 思考:上面程序中哪个变量是内循环变量,哪个变量是外循环变量? 解答:内循环变量:j,t.外循环变量:s,i. 上面的程序是一个的“WHILE+WHILE”型循环嵌套语句格式.这是一个比较好想的方 法,但实际上对于求 n! ,我们也可以根据求出的(n-1)!乘上 n 即可得到,而无需重新从 1 再累乘到 n. 程序可改为: s=0 i=1 j=1 WHILE i&=10 j=j*i s=s+j i=i+1 WEND PRINT s END 显然第二个程序的效率要比第一个高得多.第一程序要进行 1+2+?+10=55 次循环, 而第 二程序进行 10 次循环.如题目中求的是 1!+2!+?+1 000! ,则两个程序的效率区别会更 明显. 点评:解决具体的构造循环语句的算法问题,要尽可能地少引入循环变量,否则较多的变量 会使得设计程序比较麻烦, 并且较多的变量会使得计算机占用大量的系统资源, 致使系统缓 慢.另外,也尽可能使得循环嵌套的层数少,否则也浪费计算机的系统资源. 变式训练 某种蛋白质是由四种氨基酸组合而成.这四种氨基酸的相对分子质量分别是 57, 71, 97, 101.实验测定蛋白质的相对分子质量为 800.问这种蛋白质的组成有几种可能? 分析:该问题即求如下不定方程的整数解:设四种氨基酸在蛋白质的组成中分别各有 x,y, z,w 个.则由题意可得 57x+71y+97z+101w=800, (x,y,z,w 是非负整数) 这里 0≤x≤14,0≤y≤11,0≤z≤8,0≤w≤7,利用穷取法,考虑一切可能出现的情 况.运用多层循环嵌套处理即可. 解:编写程序如下: w=0 WHILE w&=7 z=0 WHILE z&=8 y=0 WHILE y&=11 x=0 WHILE x&=14 IF 57*x+71*y+97*z+101*w=800 THEN PRINT x,y,z,w END IF x=x+1 WEND y=y+1 WEND z=z+1 WEND w=w+1 WEND END 知能训练 设计算法求1 1 1 1 ? ? ??? 的值.要求画出程序框图,写出用基本语句 1? 2 2 ? 3 3 ? 4 99 ? 100编写的程序. 解:这是一个累加求和问题,共 99 项相加,可设计一个计数变量,一个累加变量,用循环 结构实现这一算法.程序框图如下图所示:程序如下: s=0 i=1 Do s=s+1/(i*(i+1)) i=i+1 LOOP UNTIL i&99 PRINT s END 拓展提升 青年歌手电视大赛共有 10 名选手参加, 并请了 12 名评委, 在计算每位选手的平均分数 时, 为了避免个别评委所给的极端分数的影响, 必须去掉一个最高分和一个最低分后再求平 均分.试设计一个算法解决}

我要回帖

更多关于 ios 1x 2x 3x 尺寸 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信