一、知识网络
知识点一:算法与程序框图
一、算法
1.算法的概念:算法通常是指按一定规则解决某一类问题的明确和有限的步骤。
2.算法的描述方式有:自然语言、程序框图、程序语言。
3.算法的基本特征:①明确性:算法的每一步执行什么是明确的;②顺序性:算法的“前一步”是“后一步”的前提,“后一步”是“前一步”的继续;③有限性:算法必须在有限步内完成任务,不能无限制的持续进行;④通用性:算法应能解决某一类问题。
二、程序框图
(一)程序框图基本概念
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用
程序框名称功能
起止框
表示一个算法的起始和结束,是任何流
程图不可少的。
输入、输出框
表示一个算法输入和输出的信息,可用
在算法中任何需要输入、输出的位置。
处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。
算法初步算法与程序框图
算法语句
算法案例
算法概念
框图的逻辑结构
输入语句
赋值语句
循环语句
条件语句
输出语句
顺序结构
循环结构
条件结构
while语句流程图怎么画
判断框
判断某一条件是否成立,成立时在出口处标“是”或“
Y ”;不成立时标明“”或“N ”。
画程序框图的规则如下:
①、使用标准的图形符号。②框图一般按从上到下、从左到右的方向画。③除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。④判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。⑤在图形符号内描述的语言要非常简练清楚。 (三)、程序框图的三种基本逻辑结构是:顺序结构、条件结构、循环结构。
1、顺序结构:
顺序结构在程序框图中的体现就是用流程线将程序框自上而 下地连接起来,按顺序执行算法步骤。如在示意图中,A 框和B
框是依次执行的,只有在执行完A 框指定的操作后,才能接着执
行B 框所指定的操作。 2、条件结构:
条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。判断条件P 是否成立后,必须选择执行A 框或B 框,不可能同时执行A 框和B 框,也不可能A 框、B 框都不执行。一个判断结构可以有多个判断框。 3、循环结构:
在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结构又称重复结构,循环结构可细分为两类:
(1)一类是当型循环结构,如下左图所示,它的功能是当给定的条件P 成立时,执行A 框,A 框执行完毕后,再判断条件P 是否成立,如果仍然成立,再执行A 框,如此反复执行A 框,直到某一次条件P 不成立为止,此时不再执行A 框,离开循环结构。
(2)另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条件P 是否成立,如果P 仍然不成立,则继续执行A 框,直到某一次给定的条件P 成立为止,此时不再执行A 框,离开循环结构。
当型循环结构 直到型循环结构
知识点二:算法的基本语句
1.任何一种程序设计语言都包含五种基本的算法语句:输入语句、输出语句、赋值语句、条件语句、循环语句。
2.输入语句的一般格式是:①"";INPUT 提示内容变量;②INPUT 变量
3.输出语句的一般格式是①"";PRINT 提示内容表达式;②PRINT 表达式
A B
4.赋值语句的一般格式是 变量表达式;
注意:①赋值号左边只能是变量名字,而不能是表达式。如:2=X 是错误的。
②赋值号左右不能对换。如“A=B ”“B=A ”的含义运行结果是不同的。
③赋值号“=”与数学中的等号意义不同。
5.条件语句
①IF —THEN 语句的一般格式是 对应的程序框图是
②IF —THEN —ELSE 语句的一般格式是 对应的程序框图是
6.循环语句
①WHILE 语句(当型循环)
WHILE 语句的一般格式是 对应的程序框图是
②UNTIL 语句(直到型循环)
UNTIL 语句的一般格式是 对应的程序框图是
满足条件? 语句
是
否
IF 条件 THEN
语句 END IF
IF 条件 THEN
语句1 ELSE
语句2 END IF
否
是 满足条件?
语句1
语句2
WHILE 条件 循环体 WEND
满足条件?
循环体 否
是
满足条件?
循环体 是
否
DO 循环体
LOOP UNTIL 条件
7、常用符号
运算符号:加_+_,减 -_,乘 *_,除 /_,乘方 ^ ,整数取商\,求余数 MOD.
逻辑符号:且AND ,或OR ,大于>,等于=,小于<,大于等于>=,小于等于<=,不等于<>.
常用函数:绝对值ABS ,平方根SQR 。
知识点三:算法案例 1、辗转相除法和更相减损术
辗转相除法和更相减损术都是求两个正整数的最大公约数的方法.
①辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为0,则将小数和余数构成新的一对数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数。
②更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以2(假设进行了k 次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续
上面的减法,反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的2k 即为所求两数的最大公约数。
2、秦九韶算法
秦九韶算法是求多项式值的优秀算法.
设1110()n n n n f x a x a x a x a --=++++ ,
改写为如下形式:
()f x =1210(())).n n n a x a x a x a x a --++++
设0101
,n n v a v v x a -==+
21232310
n n n n v v x a v v x a v v x a ---=+=+=+
这样求n 次多项式()f x 的值就转化为求n 个一次多项式的值.当多项式中有些项不存在时,可将这几项看做0n x ⨯,补齐后再利用秦九韶算法进行计算.对于一个n 次多项式,只需做n 次乘法和n 次加法运算即可.
3、进位制
K 进制数的基数为k ,k 进制数是由01k - 之间的数字构成的.
将十进制的数转化为k 进制数的方法是除k 取余法.
110110(0,0,,)n n n n k a a a a a k a a a k --<<≤< 把进制数化为十进制数的方法为
1110()110n n n n k n n a a a a a k a k a k a ---=++++ 。
例题分析
例1在音乐唱片超市里,每张唱片售价为25元,顾客如果购买5张以上(含5张)唱片,则按九折收费,如果购买10张以上(含10张)唱片,则按八折收费,请设计算法步骤并画出程序框图,
要求输入张数x ,输出实际收费y(元)。
分析:先写出y 与x 之间的函数关系式,有25(5)22.5(510)20(10)x x y x x x x <⎧⎪
=≤<⎨⎪≥⎩,再利用条件结构画程序框图.
解: 算法步骤如下: 第一步,输入购买的张数x ,
第二步,判断x 是否小于5,若是,计算25y x =;
否则,判断x 是否小于10,若是,计算22.5y x =;否则,计算20y x =.
第三步,输出y . 程序框图如下:
例2:下面程序运行后输出的结果
为_______________
答案 22,-22
针对练习 一、选择题
1 下面对算法描述正确的一项是:( )
A 算法只能用自然语言来描述
B 算法只能用图形方式来表示
C 同一问题可以有不同的算法
D 同一问题的算法不同,结果必然不同
520
033,x y IF x THEN x y ELSE y y END IF PRINT x y y x
END ==-<=-=+--
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论