第十一章算法初步与框图
算法概念算法与程序框图
算法概念
算法与程序框图
挨次构造
框图的规律构造
循环构造
输入语句
条件构造
算法初步
循环语句
算法语句
条件语句
输出语句
赋值语句
算法案例
第一节算法与程序框图
※学问回忆
算法的概念:算法通常是指按确定规章解决某一类问题的明确和有限的步骤.
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
程序框图的三种根本规律构造是挨次构造、条件构造、循环构造.
算法的描述方式有:自然语言、程序框图、程序语言.
算法的根本特征:①明确性:算法的每一步执行什么是明确的;②挨次性:算法的“前一步”是“后一步”的前提,“后一步”是“前一步”的连续;③有限性:算法必需在有限步内完成任务,不能无限制的持续进展;④通用性:算法应能解决某一类问题.
例1.
例1.如以以下图是一个算法的程序框图,则该程序框图所表示的功能是
解析:首先要理解各程序框的含义,输入a,b,c三个数之后,接着推断a,b的大小,假设b小,则把b
赋给a,否则执行下一步,即推断a与c的大小,假设c小,则把c赋给a,否则执行下一步,这样输出的a是a,b,c三个数中的最小值.所以该程序框图所表示的功能是求a,b,c三个数中的最小值.
评注:求a,b,c三个数中的最小值的算法设计也可以用下面程序框图来表示.
例2.以下程序框图表示的算法功能是〔〕
计算小于100的奇数的连乘积
计算从1开头的连续奇数的连乘积
计算从1开头的连续奇数的连乘积,当乘积大于100时,计算奇数的个数
〔4〕计算1×3×5×
×n?100成立时n的最小值
解析:为了正确地理解程序框图表示的算法,可以将执行过程分解,分析每一步执行的结果.可以看出程
序框图中含有当型的循环构造,故分析每一次循环的状况,列表如下:
第一次:S?1?3,i?5;
其次次:S?1?3?5,i?7;
第三次:S?1?3?5?7,i?9,此时S?100不成立,输出结果是7,程序框图表示的算法功能是求使
1×3×5×
×n?100成立时n的最小值.选D.
评
评注:通过列表,我们能清楚了解程序的每一步中的各个变量是怎样变化的 ,这正是程序运行的本质所在.此题假设要求编写求使
1×3×5×
×n?100成立时n的最小值的程序框图或程序时,很简洁弄错输出的结果,应留意.
例3.在音乐唱片超市里,每张唱片售价为25元,顾客假设购置5张以上〔含5张〕唱片,则按九折收费,假设购置10张以上〔含
10张〕唱片,则按八折收费,请设计算法步骤并画出程序框图,要求输入张数x,输出实际收费y(元).
?x?25x (x?5)
?
x
分析:先写出
y与之间的函数关系式,有
y??22.5x(5?x?10)
??20x (x?10)
?
,再利用条件构造画程序框图.
解:算法步骤如下: x
第一步,输入购置的张数,
其次步,推断x是否小于5,假设是,计算y?25x;
否则,推断x是否小于10,假设是,计算y?22.5x;否则,计算
y?20x.
第三步,输出y.
程序框图如下:
评注:凡必需先依据条件做出推断,然后再打算进展哪一个步骤的问题,在画程序框图时,必需引入推断框,承受条件构造设计算法.假设变量分三级(或以上)时,就需要用到条件构造的嵌套,不能无视结果中“是”、“否”的书写,
否则不知道执行哪一条路径.一般地,分n段的分段函数,需要引入n?1个
推断框.条件构造有以下两种根本类型.
x?27? 否是
1例4.画出求1?
1
?1?
1? 的值的程序框图.
1
输出X
i?i?1
22 32
1002
分析:这是一个有规律的数列求和问题,每次都进展了一样的运算,故应用循环构造进展算法设计.否解:程序框图如下:
当型循环 (2)直到型循环
i?11?
评注:(1)解题关键是选择好计数变量i和累加变量S的初始值,并写出用i表示的数列的通项公式是;
循环构造主要用在一些有规律的重复计算的算法中,如累加求和,累乘求积等问题.在循环构造中,要留意依据条件,设计合理的计数变量、累加(积)变量以及它们的初始值等,特别要留意循环构造中条件的表述要恰当、准确,以免消灭多一次或少一次循环.
〔3〕循环构造分为两类:一类是当型循环构造,如下左图所示;另一类是直到型循环构造,如下右图所示.
变式训练画出求1?1?1?42 72?11002的值的程序框图.解:程
原创力文档

文档评论(0)