版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一章算法初步与框图
一、知识网络
算法概念
顺序结构
算
法
初
步
1.算法的概念:算法通常是指按一定规则解决某一类问题的明确和有限的步骤.
2.程序框图又称流程图,是一种用程序框、流程线与文字说明来表示算法的图形.
3.程序框图的三种基本逻辑结构是顺序结构、条件结构、循环结构.
4.算法的描述方式有:自然语言、程序框图、程序语言.
5.算法的基本特征:①明确性:算法的每一步执行什么是明确的;②顺序性:算法的“前
一步”是“后一步”的前提,“后一步”是“前一步”的继续;③有限性:算法必须在
有限步内完成任务,不能无限制的持续进行;④通用性:算法应能解决某一类问题.
※典例精析
例1.如图所示是一个算法的程序框图,则该程序框图所表示
/输出3/
|结束
解析:首先要理解各程序框的含义,输入a,b,c三个数之后,接
着判断a,b的大小,若b小,则把b赋给a,否则执行下一步,
即判断a与c的大小,若c小,则把c赋给a,否则执行下一
步,这样输出的a是a,b,c三个数中的最小值.所以该程序框
图所表示的功能是求a,b,c三个数中的最小值.
评注:求a,b,c三个数中的最小值的算法设计也可以用下面程
序框图来表示.
例2.下列程序框图表示的算法功能是()
(1)计算小于1。。的奇数的连乘积
(2)计算从1开始的连续奇数的连乘积
(3)计算从1开始的连续奇数的连乘积,当乘积大于100时,计算奇数的个数
(4)计算1x3x5x…xnN100成立时〃的最小值
解析:为了正确地理解程序框图表示的算法,可以将执行过程分解,分析每一步执行的结
果.可以看出程序框图中含有当型的循环结构,故分析每一次循环的情况,列表如下:
第一次:S=lx3,i=5;
第二次:S=lx3x5,i=7;
第三次:S=lx3x5x7,j=9,此时S<100不成立,输出结果是7,程序框图表示的算法功能是求
使Ix3x5x…xnNlOO成立时〃的最小值.选D.
评注:通过列表,我们能清楚了解程序的每一步中的各个变量是怎样变化的,这正是程序运
行的本质所在.本题若要求编写求使Ix3x5x…xnNlOO成立时”的最小值的程序框图或程
序时,很容易弄错输出的结果,应注意.
例3.在音乐唱片超市里,每张唱片售价为25元,顾客如果购买5张以上(含5张)唱片,
则按九折收费,如果购买1。张以上(含10张)唱片,则按八折收费,请设计算法步骤
并画出程序框图,要求输入张数x,输出实际收费y(元).
分析:先写出),与x之间的函数关系式,有,再利用条件结构画程序框图.
解:算法步骤如下:
第一步,输入购买的张数X,
第二步,判断X是否小于5,若是,计算),=25町
否则,判断工是否小于10,若是,计算尸22.5x;
否则,计算y=20x.
第三步,输出y.
程序框图如下:
评注:凡必须先根据条件做出判断,然后再决定进行
哪一个步骤的问题,在画程序框图时,必须引入判
断框,采用条件结构设计算法.如果变量分三级(或以
上)时,就需要用到条件结构的嵌套,不能忽视结果中“是“、“否”的书写,否则不知道执
行哪一条路径.一般地,分〃段的分段函数,需要引入〃-1个判断框.条件结构有以下两种基
本类型.
例4.画出求的值的程序框图.
分析:这是一个有规律的数列求和问题,每次都进行了相同的运算,故应用循环结构进行算
⑵直到型循
评注:(1)解题关键是选择好计数变量,和累加变量S的初始值,并写出用,表示的数列的通
项公式是;
⑵循环结构主要用在一些有规律的重复计算的算法中,如累加求和,累乘求积等问题.在循
环结构中,要注意根据条件,设计合理的计数变量、累加(积)变量以与它们的初始值等,特别
要注意循环结构中条件的表述要恰当、精确,以免出现多一次或少一次循环.
(3)循环结构分为两类:一类是当型循环结构,如下左图所示;另一类是直到型循环结
构,如下右图所示.
术改进后预计以后后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预期
年生产总值超过300万元的最早年份与2005年到此年份之前(不包此年份)的年生产总值
的和.
分析:本例可用循环结构来实现.(1)确定“循环体”:设a为某年的年生产总值,n为年份,S
为年产值的总和,则循环体为
⑵初始化变量:n的初始值为2005,a的初始值为200,S的初始值为0.
⑶设定循环控制条件:。>300
评注:本问题的关健是设计好循环体,注意S=S+a与〃之间的对应关系.本题若将S=S+a
放在〃=〃+1之后,则输出时须重新赋值〃,否则〃的值为超过30。万的年份的下一年.
本题也可用当型循环结构来表示.
变式训练:设计一个程序框图,求使S=lx2x3x...x〃>5000的最小"的值,并输出此时S的
值.
解:程序框图如下:
※基础自测
一、选择题
1.下列说法正确的是()
4算法就是某个问题的解题过程;
B.算法执行后可以产生不同的结果;
C.解决某一个具体问题算法不同结果不同;
D.算法执行步骤的次数不可以很大,否则无法实施.
1.解析:选项力,算法不能等同于解法;选项石,例如:判断一个正整数是否为质数,
结果为“是质数”和“不是质数”两种;选项C,解决某一个具体问题算法不同结果应该
相同,否则算法构造的有问题;选项D,算法可以为很多次,但不可以无限次.
2、如图所示的程序框图中,则第3个输出的数是()
35
A.1B.-C.2D.-
22
2.解析:前3个分别输出的数是1,1,2.故选C.
N=1
I*-
□
N=N+1
3.如图给出的是求的值的一个程序框图,
其中判断框内应填入的条件是()
A.i>10?B.i<10?C.i>20?D.i<20?
开始
S=0,〃=2,i=l
I*------
□
n=n+2
i=i+\
输出
结束
3.解析:通过列表,我们能清楚了解程序的每一步中的各个变量
是怎样变化的,第一次:,
第二次:,…依此可知循环的条件是i>10?.选A开始
4.阅读右边的程序框图,若输入的〃是100,则输出的变
量S和T的值依次是()
A.2550,2500
B.2550,2550
C.2500,2500
D.2500,2550
4.解析:依据框图可得
5=100+98+96+...+2=2550,
7=99+97+95+...+1=2500.选A.
5.2006年1月份开始实施的《个人所得税法》规定:全
月总收入不超过1600元的免征个人工资、薪金所得税,超过
1600元部分需征税.设全月总收入金额为x元,前三级税
率如下左表所示:
级全月应纳税金额税
数X—1600率
1不超过500元部分5%
10
2超过500至2000元部分
%
超过2000至5000元部15
3
分%
....
・・・・・・
开始]
输入X
当工资薪金所得不超过3600元,计算个人所得税的一个算法框图如图.则输出①、输出②
分别为().
A.0.05x;O.lxB0.05%;O.lx—185C0.05x-80;O.lx;
D.0.05x-80;0.lx-185
5.解析:设全月总收入金额为x元,所得税额为y元,则),与x之间的函数关系为
0(0<x<1600)
y=<(%-1600).5%(1600<x<2100)选D.
25+(%-2100).10%(2100<x<3600)
二、填空题
6.执行右边的程序框图,若尸0.8,则输出的刀=..
6.解析:第一次循环后,,此时〃=2;第二次循环后,,此时〃=3;第三次循环后,,此时〃=4,
输出,故填4.
8.如果执行右面的程序框图,那么输出的s=
1开:1
匕=1
s=o
<fc^0?>----查——
s=s+景/输出步
IS-口1
1彳3k=k+\[结束]
第8题8.解析:S=2+4+6+---+100=2550
三、解答题
9.请阅读下面程序框图,说明此程序的功能
_____1宣
(笫9题程序框图)解:程序功能是求s的值.
s=l+2+22+..・+26,并输出s
10.已知函数,请画出程序框图,要求输入自变量x的值,
输出函数值y.
10.解:
11.画出一个计算1X5X10X15X...X100的程序框图.
11解:程序框图如下
直到型循环
第二节算法的基本语句与算法案例
※知识回顾
1.任何一种程序设计语言都包含五种基本
的算法语句,
它们是输入语句,输出语句,赋值语句,
条件语句,循环语句
2.输入语句的一般格式是WPUT”提示内容”;变量;
输出语句的一般格式是PAWT"提示内容”;表达式;
赋值语句的一般格式是变量=表达式;
条件语句的一般格式是或;
循环语句的一般格式是和,.
输入语句、输出语句、赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语
句分别用来表达程序框图中的条件结构和循环结构.
3.常用符号
运算符号:加工,减」,乘;_,除,乘方针3整数取商、,求余数MOD.
逻辑符号:且竺孙或竺,大于壬等于二,小于<,大于等于三,小于等于三,不等
于
常用函数:绝对值ABS,平方根SQR,取整这
4.算法案例
(1)辗转相除法和更相减损术
辗转相除法和更相减损术都是求两个正整数的最大公约数的方法.
(1)辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为0,则将小
数和余数构成新的一对数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则
这时较小的数就是原来两个数的最大公约数.
(2)更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以2(假
设进行了k次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数
构成一对新数,继续上面的减法,反复执行此步骤,直到差和较小的数相等,此时相等的
数再乘以原来约简的2”即为所求两数的最大公约数.
(2)秦九韶算法
秦九韶算法是求多项式值的优秀算法.
设/(x)=aHx"++…+qx+4,
改写为如下形式:
/U)=(•••{anx+an_x)x+an_2)x■-+a])x+a().
设%=%,匕=%X+4T
这样求n次多项式F(x)的值就转化为求n个二式的值.当多项式中有些项不存在时,
可将这几项看做Oxx”,补齐后再利用秦九韶算法进行计算.对于一个n次多项式,只需做
M次乘法和巴次加法运算即可.
(3)进位制
K进制数的基数为k,k进制数是由0~左-1之间的数字构成的.
将十进制的数转化为k进制数的方法是除k取余法.
把攵进制数a”%…44(°<%<幺04«„-i,…4,4〈人)化为十进制数的方法为
n
=ank++-■■+aik+a0.
※典例精析
例L写出用循环语句描述求S=l-;+…+白-小的值的算法程序.
77JL1717
解:算法程序如下:
(1)当型循环(2)直到型循环
评注:在编写算法的程序时,可先画出程序框图,抓住程序框图表示算法这个核心.注意分
别用当型循环和直到型循环语句编写的程序中,循环条件的区别与联系.
例2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月内排出的污水量
(zur,“A〃,吨收取的污水处理费y元,运行程序如下所示:
IIFm<=50THEN
y=13*zw
ELSE
IFntv=100THEN
y=5O+15*5?-5O)
ELSE
y=15025*(wr-10O)
ENDIF
ENDIF
END
请写出y与m的函数关系,并求排放污水150吨的污水处理费用.
解:这个程序反映的是一个分段函数
13M(m<50)
y=\50+15(加一50)(50cmV100)
150+25(/??-100)(w>100)
因为机=150>100,所以y=150+25(150-100)=1400,故该厂应缴纳污水处理费1400元.
评注:解决分段函数要用条件语句来处理.本题可画出程序框图帮助理解.
例3.求三个数72,120,168的最大公约数.
解法1:用辗转相除法
先求120,168的最大公约数,
因为168=120x1+48,120=48x2+24,48=24x2
所以120,168的最大公约数是24.
再求72,24的最大公约数,
因为72=24x3,所以72,24的最大公约数为24,
即72,120,168的最大公约数为24.
解法2:用更相减损术
先求120,168的最大公约数,
168-120=48,120-48=72,72-48=24,48-24=24
所以120,168的最大公约数为24.
再求72,24的最大公约数,
72-24=48,48-24=24
72,24的最大公约数为24,
BP72,120,168的最大公约数为24.
评注:辗转相除法与更相减损术均是求两个正整数的最大公约数的方法,要理解和掌握它们
的最小公倍数的算法程序.
例4.用秦九韶算法求多项式/。)=/+2/+3/++5x+6在x=2时的值.
分析:先改写多项式,再由内向外计算.
/(x)=x5+2x4+3x3+4x2+5x+6
二((((x+2)x+3)x+4)x+5)x+6
%=1,Vj=%x+2=4
v2=VjX+3=ll
匕=%x+4=26
v4=v3x+5=57
v5=V4X+6=120
评注:用秦九韶算法求多项式值,关健是正确将多项式改写,然后由内向外计算求得.
本题也可简写为下式:
123456
2282252114
4112657120
例5.完成下列进制的转化
⑴1()202。)=——。。)(2)1()%。)=_____⑻
42
H:(1)10202(3)=lx3+2x3+2x3°=101(10)
⑵用8反复去除101,直到商为0止,所得的余数(从末位读起)就是十进制数101的
8进制表示
所以10%0)=145⑻
评注:将女进制的数转化为k'进制的数的方法是先将k进制的数转化为十进制的数,再将这
个数转化为《进制的数.
变式训练:下面是把二进制数11111⑵化为十进制数的一个程序框图,判断框内应填入的条
件是()
A.Z>5?B.z<4?C.z>4?D.z<5?
解:11111⑵=1x24+1x23+1x22+1x2+1,故判断框内应填入的条件,>4.选C.
派基础自测
一、选择题
1.下列给出的赋值语句中正确的是()
A4=MBM=-MCB=A=3Dx+y=0
1.解析:赋值语句的功能.选B
2当x=2时,下面的程序输出的结果是()
INPUTx
WHILEz<=4
5=5*X+1
Z=Z+1
WEND
PRINTs
END
A3B7C15D17
2解析:0x2+1=1,1x2+1=3,3x2+1=7,7x2+1=15.选C
3.运行下列程序:
INPUTm,n
DO
r=mMODn
m-n
n=r
LOOPUNTILr=0
PRINTm
END
当输入56,42时,输出的结果是
A.56B.42C.84D.14
3.解析:该程序的功能是用辗转相除法求正整数九〃(机>“)的最大公约数,故选D
4下边程序运行后输出的结果为()
(1=0
7=1
WHILEj<=5
a=(a+j)MOD5
j=j+l
WEND
PRINTa
END
A50B5C25DO
4解析:j=lM=l;j=2,a=3;/=3M=1;/=4,a=0;J=5,a=0.选D
二、填空题
5三个数324,243,135的最大公约数是_________________
5解析:324=243x1+81,135=81x1+54,81=54x1+27,54=27x2.填27
6.阅读下列程序:
(INPUTx
IFx>100ANDx<1000THEN
a=x\100
b=(x-a*100)\10
c=xMOD10
x=100*c+10*6+a
PRINTx
ENDIF
\^NDJ
当程序输入i值为1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中语文++第13课《野望》《黄鹤楼》课件+统编版语文八年级上册
- 明至清中叶的经济与文化课件-2024-2025学年高一上学期统编版(2019)必修中外历史纲要上
- 山东省淄博市桓台县2024届九年级下学期中考二模数学试卷(含答案)
- 广西桂林市2023-2024学年高二下学期期末质量检测语文试卷(解析版)
- 人力资源政策调整对劳动力市场的影响分析
- 股权结构对公司环境领导力的影响研究
- 江苏省南通崇川区四校联考2024届中考数学模试卷含解析
- unit4(进阶作业)2024-2025学年五年级上册 英语 人教版
- 废旧电池回收处理行业发展方向及匹配能力建设研究报告
- 2023年中铁城建集团有限公司招聘笔试真题
- 大学生就业指导课件:大学生就业心理准备
- T-CACM 1237-2019 中医内科临床诊疗指南 眩晕病(原发性高血压)
- 2023中国煎炸菜品趋势报告 -大数据赋能餐企持久创新力
- 高压电工安全知识培训
- 吊装作业安全管理规范(三篇)
- 废弃物管理程序(含表格)
- 弘扬科学家精神
- 2022年4月自考00448学校管理学试题及答案含解析
- 巴朗3500 纯单词表
- 反保险欺诈主题教育课件
- 应急救护知识培训方案及流程
评论
0/150
提交评论