算法基本语句知识点及典型例题
算法基本语句知识点及典型例题

基本算法语句一、输入、输出语句和赋值语句 (1)输入语句 ①输入语句的一般格式②输入语句的作用是实现算法的输入信息功能;③“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;④输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式; ⑤提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开。
(2)输出语句 ①输出语句的一般格式②输出语句的作用是实现算法的输出结果功能;③ “提示内容”提示用户输入什么样的信息,表达式是指程序要输出的数据;④输出语句可以输出常量、变量或表达式的值以及字符。
(3)赋值语句 ①赋值语句的一般格式②赋值语句的作用是将表达式所代表的值赋给变量;③赋值语句中的“=”称作赋值号,与数学中的等号的意义是不同的。
赋值号的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量; ④赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或算式;⑤对于一个变量可以多次赋值。
注意:①赋值号左边只能是变量名字,而不能是表达式。
如:2=X 是错误的。
②赋值号左右不能对换。
如“A=B ”“B=A ”的含义运行结果是不同的。
③不能利用赋值语句进行代数式的演算。
(如化简、因式分解、解方程等) ④赋值号“=”与数学中的等号意义不同。
5:条件语句(1)条件语句的一般格式有两种:①IF—THEN—ELSE语句;②IF—THEN语句。
①IF—THEN—ELSE语句IF—THEN—ELSE语句的一般格式为图1,对应的程序框图为图2。
图1②IF—THEN语句IF—THEN语句的一般格式为图36:循环语句循环结构是由循环语句来实现的。
对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。
即WHILE语句和UNTIL语句。
(1)WHILE语句①WHILE语句的一般格式是②当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。
专题50:算法初步知识点及典型例题(原卷版)

专题50:算法初步知识点及典型例题(原卷版)【知识梳理】知识点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
注:泛泛地谈算法是没有意义的,算法一定以问题为载体。
例1.下面给出一个问题的算法:S1输入x;S2若x≤2,则执行S3;否则,执行S4;S3输出-2x-1;S4输出x2-6x+3.问题:(1)这个算法解决的是什么问题?(2)当输入的x值为多大时,输出的数值最小?知识点二:流程图1. 流程图的概念:流程图,是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符合表示操作的内容,流程线表示操作的先后次序。
2.流程图常用符号:图形符号名称含义开始/结束框用于表示算法的开始与结束输入/输出框用于表示数据的输入或结果的输出处理框描述基本的操作功能,如“赋值”操作、数学运算等判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”流程线表示流程的路径和方向连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画流程图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
基本算法语句与算法案例教案练习含答案

基本算法语句与算法案例教案练习含答案第一章:算法概述1.1 算法的定义与特性定义:算法是解决问题的一系列清晰、有序的步骤。
特性:可行性、确定性、有穷性、足够性。
1.2 算法的表示方法伪代码:使用简化的语言描述算法。
流程图:使用图形符号表示算法步骤。
第二章:基本算法语句2.1 输入输出语句输入:从用户或文件获取数据。
输出:向用户或文件输出数据。
2.2 赋值语句赋值:将一个值或表达式赋给变量。
2.3 条件语句如果:根据条件执行相应的操作。
否则:当条件不满足时执行的操作。
2.4 循环语句循环:重复执行一段代码直到条件不满足。
第三章:算法案例3.1 冒泡排序算法目的:对一组数据进行从小到大的排序。
步骤:比较相邻元素,交换不符合顺序的元素。
3.2 查找算法线性查找:从数组的一端开始,逐个比较元素。
二分查找:在有序数组中,通过比较中间元素确定位置。
3.3 插入排序算法目的:对一组数据进行从小到大的排序。
步骤:将未排序的元素插入到已排序的序列中。
第四章:算法分析4.1 时间复杂度分析定义:算法执行时间与输入规模的关系。
常见时间复杂度:O(1)、O(n)、O(n^2)、O(log n)。
4.2 空间复杂度分析定义:算法执行过程中所需内存与输入规模的关系。
常见空间复杂度:O(1)、O(n)。
第五章:算法设计与优化5.1 贪心算法特点:局部最优解构成全局最优解。
应用:最小树、最短路径等。
5.2 分治算法特点:将问题分解为子问题,递归解决。
应用:归并排序、快速傅里叶变换等。
5.3 动态规划算法特点:利用多阶段决策过程的最优解。
应用:背包问题、最长公共子序列等。
第六章:递归算法6.1 递归的基本概念定义:一个函数直接或间接地调用自身。
特点:自顶向下、分而治之。
6.2 递归算法的实现直接递归:函数直接调用自身。
间接递归:函数通过其他函数间接调用自身。
6.3 递归算法的应用计算阶乘、斐波那契数列等。
第七章:图算法7.1 图的基本概念顶点、边、无向图、有向图、权重等。
例谈基本算法语句

例谈基本算法语句例1楼房前有一正方形空地ABCD,居民要求种上草坪.为了美观,园丁师傅想在如图所示的相同的四个角上种上花,在中间种草.已知正方形边长为10米,去掉的四个等腰直角三角形,设直角边为(05)x x<<米.问草地占多大面积?编写程序计算1234x=,,,时的函数值.算法分析:草地所占面积为正方形面积减去四个角的面积221100410022S x x=-⨯=-.程序框图只用顺序结构就能表示出来,程序只用输入语句、输出语句和赋值语句就能表达出来.程序框图及程序如下:说明:输入语句、输出语句和赋值语句基本对应于算法中的顺序结构.这是任何一个程序都用到的语句.例2 邮局寄信不超过20克付邮资80分,超过20克不超过40克付邮资90分,超过40克不超过60克付邮资100分,现有一封信重x 克(060x <≤),问应付邮资多少分?算法分析:这是一个分段函数,80(020)()90(2040)100(4060)x f x x x ⎧<⎪=<⎨⎪<⎩≤ ≤ ≤,根据条件不同,结果不同,程序结构中需要用到条件结构,程序中用到条件语句.程序框图:说明:条件语句是表达算法中的条件结构,因为算法的流程根据条件是否成立有不同的流向,就需要对条件作出判断,所以程序中用到条件语句.例3 设计求2+4+6+…+2n 的值的算法,画出程序框图,编写程序.算法分析:只需一个累加变量和一个计数变量,将累加变量初始值设为0,计数变量是2~2n 之间的偶数.程序框图【当型(WHILE 型)】及程序如下:程序框图【直到型(UNTIL型)】及程序如下:说明:循环语句是用来实现循环结构的,对应程序框图中的两种循环结构,程序设计语言中也有当型和直到型两种语句,对于同一个题目可以分别用这两种语句表达.WHILE语句,先判断条件真假,如果条件符合就执行WHILE与WEND之间的循环体;然后检查上述条件反复进行,直到某一次条件不符合为止.因此,当型循环也称为“前测试型”循环,而直到型循环称为“后测试型”循环.。
人教A版必修三1.2基本算法语句

基本算法语句
二、输出语句
1、一般格式: PRINT “提示内容”;表达式
2、说明:①作用是实现算法的输出结果功能,计算。 ②“提示内容”提示用户输出什么样的信息。
③表达式是指程序要输出的数据。
N不是质数
④输出语句可以输出常量、变量或表达式的值 及字符。 ⑤一个语句可以输入多个表达式,不同的表达式 之间可用“,”分隔。 ⑥有计算功能,能直接输出计算公式的值。
下面举例说明这几种语句的应用.
例1用 描 点 法 作 函 数y x3 3 x2 24x 20 的 图 像 时 , 需 要 求 出 自变 量 和 函 数 的 一 组 对 应 值 , 编 写 程 序 , 分别 计 算 当x 5,4, 3,2,1,0,1,2,3,4,5时 的 函 数 值 。
input “n=”;n s=n*(n+1)/2 print s end
input a,b,c a=1 b=-2 c=-8 p=-b/(2*a) q=sqr(b^2-4*a*c)/2*a x1=p+q x2=p-q print x1,x2 end
基本算法语句
四、练习
5、根据下列程序,画出程序框图
input x,y print x/2,3*y x=x+1 y=y-1 print x,y end
a=1,b=2,c=3
(3) a=10 b=20 c=30 a=b b=c c=a print a,b,c
a=20,b=30,c=20
例题2 已知一个学生数学、语文、英语三科的成绩分别为100, 85,90,计算三门课的平均成绩.则可用赋值语句编写程序:
a=100 b=85 c=90 PRINT “The average=”;(a+b+c)/3 END
算法初步知识点与习题

算法初步1.了解算法的含义、算法的思想.2.理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.3.了解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义.知识聚焦不简单罗列1.算法与程序框图(1)算法的定义:算法是指按照________解决某一类问题的________和________的步骤.(2)程序框图:①程序框图又称________,是一种用________、________及________来表示算法的图形.②程序框图通常由________和________组成.③基本的程序框有______________、________________、______________、________.结构的步骤称为________2.基本算法语句(1)输入语句、输出语句和赋值语句的格式与功能:(2)条件语句的格式及框图:①IF-THEN格式:图10-63-1②IF-THEN-ELSE格式:图10-63-2(3)循环语句的格式及框图:①UNTIL语句:图10-63-3②WHILE语句:图10-63-4正本清源不单纯记忆■链接教材1.[教材改编] 阅读如图10-63-5所示的程序框图,若输入的a,b,c分别为14,6,20,则输出的a,b,c分别是________________.图10-63-5图10-63-62.[教材改编] 如图10-63-6所示的程序框图,其功能是计算数列{a n }的前n 项和的最大值S ,则S =________.3.[教材改编] 某算法语句如下所示,若输出y 的值为3,则输入x 的值为________.INPUT xIF x<=0 THEN y =x +2 ELSE y =log 2x END IF PRINT y END■ 易错问题4.循环结构:计数变量;判定条件的出口方向.某程序框图如图10-63-7所示,若运行该程序后输出的值是95,则a =________.图10-63-7图10-63-85.易混淆当型循环与直到型循环:直到型循环是“先循环,后判断,条件满足时终止循环”;当型循环则是“先判断,后循环,条件满足时执行循环”.如图10-63-8所示是一个算法流程图,则输出的k的值是________.■通性通法6.循环结构:关注“先循环,后判断”还是“先判断,后循环”.执行如图10-63-9所示的程序框图,若输出的结果是8,则判断框内m的取值范围是________.图10-63-9图10-63107.条件结构:关注条件对程序终止的影响.执行如图10-63-10所示的程序框图,若输入的x的值为3,则输出的y的值为________.探究点一算法的基本结构1执行如图10-63-11所示的程序框图,则输出的k的值是()A.3 B.4C.5 D.6(2)如图10-63-12所示的程序框图,若输入x的值为2,则输出x的值为________.图10-63-11图10-63-12[总结反思]解决程序框图问题要注意几个常用变量:(1)计数变量:用来记录某个事件发生的次数,如i=i+1.(2)累加变量:用来计算数据之和,如S=S+i.(3)累乘变量:用来计算数据之积,如p=p×i.式题(1)根据下面框图10-63-13,当输入的x为2006时,输出的y=()A.2 B.4 C.10 D.28图10-63-13图10-63-14(2)阅读如图10-63-14所示的程序框图,运行相应的程序,若输入x的值为1,则输出y 的值为()A.2 B.7 C.8 D.128探究点二算法的交汇性问题考向1与统计的交汇问题2 图10-63-15(1)是某高三学生进入高中三年来数学考试成绩的茎叶图,将第1次到第14次的考试成绩依次记为A1,A2,…,A14.图(2)是统计茎叶图中成绩在一定范围内考试次数的一个流程图,那么该流程图输出的结果是()图10-63-15A.7 B.8 C.9 D.10[总结反思] 算法与统计的交汇问题侧重考查统计思想在程序框图中的体现,两者相结合可以有效理解题意.考向2与函数的交汇问题3 如图10-63-16所示的程序框图中,若f(x)=x2-x+1,g(x)=x+4,且h(x)≥m恒成立,则m的最大值是()A.4 B.3 C.1 D.0图10-63-16图10-63-17[总结反思]算法与函数的交汇问题,关键是弄清楚函数的特征,一般考查分段函数的情况居多.式题 已知函数f (x )=x 2-ax 的图像在点A (1,f (1))处的切线与直线x +3y +2=0垂直,执行如图10-63-17所示的程序框图,则输出的k 值是________.考向3 与概率的交汇问题 4 执行如图10-63-18所示的程序框图,任意输入一次x (0≤x ≤1)与y (0≤y ≤1),则能输出数对(x ,y )的概率为( )图10-63-18A.14B.13C.23D.34[总结反思]解决与概率交汇的程序框图问题的关键在于理解算法功能与概率模型,需特别关注几何概型与古典概型模型在算法功能中的体现.式题 如图10-63-19所示是用模拟方法估计圆周率π值的程序框图,P 表示估计结果,则图中空白框内应填入________________.图10-63-19探究点三基本算法语句5 给出下面两个算法语句:i=1WHILE i*(i+1)<20i=i+1WENDPRINT“i=”;iEND(1)i=1DOi=i+1LOOP UNTIL i*(i+1)<20PRINT“i=”;iEND(2)执行算法语句(1)的结果是输出________;执行算法语句(2)的结果是输出________.[总结反思]求解算法语句问题的关键是理解基本算法语言.在一个赋值语句中,只能给一个变量赋值,同一个变量多次赋值的结果以算法顺序的最后一次为准.对于条件语句要注意准确判断和语句格式的完整性.对于循环语句,要注意是直到型循环,还是当型循环,弄清何时退出循环.式题执行下面的算法语句,输出的结果是( )i =1S =0WHILE i<=10 S =S +2i i =i +1 WENDPRINT S ,i ENDA .55,10B .220,11C .110,10D .110,11学科能力 自主阅读型误区警示 26.程序框图中的逻辑顺序不明确致误【典例】 如图10-63-20所示的程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a ,b 分别为14,18,则输出的a =( )图10-63-20A .0B .2C .4D .14解析 B 逐一写出循环:①a =14,b =18→a =14,b =4→a =10,b =4→a =6, b =4→a =2,b =4→②a =2,b =2,结束循环.故选B.【跟踪练习】 (1)已知MOD 函数是一个求余函数,其格式为MOD(n ,m ),其结果为n 除以m 的余数,例如MOD(8,3)=2.下面是一个算法的程序框图,当输入的值为36时,则输出的结果为( )图10-63-21A .4B .5C .6D .7(2)执行如图10-63-22所示的程序框图,输出的S 值为()图10-63-22A .3B .-6C .10D .-15。
基本算法语句

〖练习2〗:分析下列程序,判断运行的结果。
(1)
A=10 A=A+15 PRINT A END
a=2 (2) b=3 c=a+b b=a+c-b PRINT “a=,b=,c=”;a,b,c END
〖练习3〗:下面给出的程序的功能是求函 数_____的函数值
INPUT x IF x<3 THEN y=2*x ELSE IF x>3 THEN y=x2-1 ELSE y=2 END IF END IF PRINT y END
;
输出y
结束
〖例3〗交换两个变量A和B的值,并输出交换前后 的值。 分析:引入一个中间变量X,将A的值赋予X,又将B 的值赋予A,再将X的值赋予B,从而达到交换A, B的值.(比如交换装满水的两个水桶里的水需要 再找一个空桶) 程序: INPUT A 问题:能否用下列赋值语句 INPUT B 交换A,B的值? PRINT A,B X=A A=B A=B B=A B=X PRINT A,B 不能!!!!!! END
说
明
四、条件语句
只含一个“分支”的条件结构 是
一般格式: 写成条件语句为
满足条件?
否
语句 体
IF 条件 THEN 语句体 END IF
当计算机执行这种形式的条件语句时,首先对IF后的 条件进行判断,如果条件符合,就执行THEN后的语句 体,否则执行END IF之后的语句.
含两个“分支”的条件结构
1.“提示内容”和后 面的 “;”可以省略 2.一个语句可以输 出多个表达式,不 同的表达式之间用 “,”隔开 3.表达式可以是变 量,也可以是计算 公式 4.有计算功能,能 直接输出计算公式 的值
赋值语句 变量=表达式
高中数学基本算法语句 例题解析苏教版必修三

基本算法语句例题解析【例1】写出下列用伪代码描述的算法执行后的结果.(1)算法开始a←2;a←4;a←a+a;输出a的值;算法结束执行结果:()答案:8(2)算法开始n←10;i←2;sum←0;while(i≤n)sum←sum+i;i←i+2;输出sum的值;算法结束执行结果:()答案:30点评:本题主要考查学生对基本算法语句的灵活准确应用和自然语言与符号语言的转化,让学生理解用伪代码表示的算法.【例2】已知S=5+10+15+…+1500,请用流程图描述求S的算法并用伪代码表示.解析:流程图如下图所示:从流程图可以看出这是一个循环结构,我们可以运用循环语句来实现.BeginS←5For I from 10 to 1500 step 5S←S+IEnd ForPrint SEnd点评:在准确理解算法的基础上,学会循环语句的使用.循环语句包括for 循环、While 循环和Until 循环.解题时要根据需要灵活运用.【例3】经过市场调查分析得知,1999年第一季度内,某地区对某件商品的需求量为12000件.为保证商品不脱销,商家在月初时将商品按相同数量投放市场.已知年初商品的库存量为50000件,用S 表示商品的库存量.请写出一个程序,求出第一季度结束时商品的库存量.解析:因为第一季度商品的需求量为12000件,而且每个月以相同数量投放市场,因此每个月向市场投放还可以用下列赋值语句来表示库存量的变化S ←S 4000.赋值号左边的变量S 可看作盒子,如果它表示的是这个月的存储量,那么右边的变量S 表示的是上个月的存储量.这是对变量S 的赋值,赋值的目的是改变变量的值,将变量上次的值减去4000再次赋予变量S . 流程图如下:【例4】某百货公司为了促销,采用购物打折的优惠办法:每位顾客一次购物(1)在1000元以上者,按九五折优惠.(2)在2000元以上者,按九折优惠.(3)在3000元以上者,按八五折优惠.(4)在5000元以上者,按八折优惠.编写程序求优惠价.解析:设购物款数为x 元,优惠价为y 元,则优惠付款公式为y =⎪⎪⎪⎩⎪⎪⎪⎨⎧≥<≤<≤<≤<. 5000)( 8.0)5000(3000 85.0)3000(2000 9.0)2000(1000 95.0)1000( x x x x x x x x x x用条件语句表示为:Read xIf x <1000 theny =xElseIf x<2000 theny=0.95xElseIf x<3000 theny=0.9xElseIf x<5000 theny=0.85xElsey=0.8xEnd ifPrint y点评:在准确理解算法的基础上,学会条件语句的使用.循环语句包括if…then,if…then…else,并且if…then…else可以嵌套,解题时要根据需要灵活运用.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本算法语句一、输入、输出语句和赋值语句 (1)输入语句 ①输入语句的一般格式②输入语句的作用是实现算法的输入信息功能;③“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;④输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式; ⑤提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开。
(2)输出语句 ①输出语句的一般格式②输出语句的作用是实现算法的输出结果功能;③ “提示内容”提示用户输入什么样的信息,表达式是指程序要输出的数据;④输出语句可以输出常量、变量或表达式的值以及字符。
(3)赋值语句 ①赋值语句的一般格式②赋值语句的作用是将表达式所代表的值赋给变量;③赋值语句中的“=”称作赋值号,与数学中的等号的意义是不同的。
赋值号的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量; ④赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或算式;⑤对于一个变量可以多次赋值。
注意:①赋值号左边只能是变量名字,而不能是表达式。
如:2=X 是错误的。
②赋值号左右不能对换。
如“A=B ”“B=A ”的含义运行结果是不同的。
③不能利用赋值语句进行代数式的演算。
(如化简、因式分解、解方程等) ④赋值号“=”与数学中的等号意义不同。
5:条件语句(1)条件语句的一般格式有两种:①IF—THEN—ELSE语句;②IF—THEN语句。
①IF—THEN—ELSE语句IF—THEN—ELSE语句的一般格式为图1,对应的程序框图为图2。
图1②IF—THEN语句IF—THEN语句的一般格式为图36:循环语句循环结构是由循环语句来实现的。
对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。
即WHILE语句和UNTIL语句。
(1)WHILE语句①WHILE语句的一般格式是②当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。
这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。
因此,当型循环有时也称为“前测试型”循环。
(2)UNTIL语句①UNTIL语句的一般格式是对应的程序框图是②直到型循环又称为“后测试型”循环,从UNTIL 型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL 语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。
分析:当型循环与直到型循环的区别:(1)当型循环先判断后执行,直到型循环先执行后判断; (2)在WHILE 语句中,是当条件满足时执行循环体,在UNTIL 语句中,是当条件不满足时执行循环. 7:辗转相除法与更相减损术 (1)辗转相除法。
也叫欧几里德算法,用辗转相除法求最大公约数的步骤如下:①用较大的数m 除以较小的数n 得到一个商0S 和一个余数0R ; ②若0R =0,则n 为m ,n 的最大公约数;若0R ≠0,则用除数n 除以余数0R 得到一个商1S 和一个余数1R ;③若1R =0,则1R 为m ,n 的最大公约数;若1R ≠0,则用除数0R 除以余数1R 得到一个商2S 和一个余数2R ;……依次计算直至n R =0,此时所得到的1n R 即为所求的最大公约数。
(2)更相减损术①任意给出两个正数;判断它们是否都是偶数。
若是,用2约简;若不是,执行第二步。
②以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。
继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。
(3)辗转相除法与更相减损术的区别:①都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。
②从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到8:秦九韶算法与排序(1)秦九韶算法概念:f(x)=a n x n+a n-1x n-1+….+a1x+a0求值问题f(x)=a n x n+a n-1x n-1+….+a1x+a0=(a n x n-1+a n-1x n-2+….+a1)x+a0=(( a n x n-2+a n-1x n-3+….+a2)x+a1)x+a0 =......=(...( a n x+a n-1)x+a n-2)x+...+a1)x+a0求多项式的值时,首先计算最内层括号内依次多项式的值,即v1=a n x+a n-1然后由内向外逐层计算一次多项式的值,即v2=v1x+a n-2 v3=v2x+a n-3 ...... v n=v n-1x+a0这样,把n次多项式的求值问题转化成求n个一次多项式的值的问题。
(2)两种排序方法:直接插入排序和冒泡排序①直接插入排序基本思想:插入排序的思想就是读一个,排一个。
将第1个数放入数组的第1个元素中,以后读入的数与已存入数组的数进行比较,确定它在从大到小的排列中应处的位置.将该位置以及以后的元素向后推移一个位置,将读入的新数填入空出的位置中.(由于算法简单,可以举例说明)②冒泡排序基本思想:依次比较相邻的两个数,把大的放前面,小的放后面.即首先比较第1个数和第2个数,大数放前,小数放后.然后比较第2个数和第3个数......直到比较最后两个数.第一趟结束,最小的一定沉到最后.重复上过程,仍从第1个数开始,到最后第2个数...... 由于在排序过程中总是大数往前,小数往后,相当气泡上升,所以叫冒泡排序.9:进位制(1)概念:进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。
可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n 进制。
现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。
对于任何一个数,我们可以用不同的进位制来表示。
比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的。
一般地,若k 是一个大于一的整数,那么以k 为基数的k 进制可以表示为:110()110...(0,0,...,,)n n k n n a a a a a k a a a k --<<≤<,而表示各种进位制数一般在数字右下脚加注来表示,如111001(2)表示二进制数,34(5)表 典型例题例1.判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?(1)输入语句 INPUT a ;b ;c (2)输出语句 A =4 (3)赋值语句 3=B(4)赋值语句 A =B =-2解析:(1)错,变量之间应用“,”号隔开; (2)错,PRINT 语句不能用赋值号“=”; (3)错,赋值语句中“=”号左右不能互换; (4)错,一个赋值语句只能给一个变量赋值。
例2.请写出下面运算输出的结果。
(1) dd PRINT cc d b a c b a ;""2/)(35=*=+=== (2) cb ac b a PRINT bc a b b a c b a ,,;",,"21===-+=+===(3)cb ac b a PRINT ac c b b a c b a ,,;",,"302010=========解析:(1)16;语句2/)(b a c +=是将a ,b 和的一半赋值给变量c ,语句c c d *=是将c 的平方赋值给d ,最后输出d 的值。
(2)1,2,3;语句b a c +=是将a ,b 的和赋值给c ,语句b c a b -+=是将b c a -+的值赋值给了b 。
(3)20,30,20;经过语句b a =后a ,b ,c 的值是20,20,30。
经过语句c b =后a ,b ,c 的值是20,30,30。
经过语句a c =后a ,b ,c 的值是20,30,20。
练习:1.已知变量a ,b 已被赋值,要交换a 、b 的值,采用的算法是( )A .a =b ,b =aB .a =c ,b =a ,c =bC .a =c ,b =a ,c =aD .c =a ,a =b ,b =c 2.下列给出的赋值语句中正确的是( )A 4M =B M M =-C 3B A ==D 0x y +=例3.写出求三个数a ,b ,c 的方差的程序。
解析:方差是在初中统计内容中学习过的知识,计算所有数的方差首先计算所有数的平均数x ,通过公式nx x x x x x s n 222212)(........)()(-++-+-=来计算。
算法步骤:第一步:计算平均数3cb a x ++=; 第二步:计算方差3)()()(2222a x a x a x s -+-+-=;第三步:得到的结果即为所求。
程序如下: INPUT a ,b ,c y=(a+b+c)/3S=((a -y)2+ (b -y)2+ (c -y)2)/3 PRINT S END例4.编写一个程序,要求输入的两个正数a 和b 的值,输出a b 和b a 的值。
程序1:INPUT “a,b :”;a ,b A=a^b B=b^aPRINT “a b =”;A ,“b a =”;B END例5.编写程序,输出两个不相等的实数a 、b 的最大值。
解:算法:第一步:输入a , b 的数值;第二步:判断a ,b 的大小关系,若a >b ,则输出a 的值,否则输出b 的值。
程序如下:(“IF—THEN —ELSE”语句) INPUT“a ,b”;a ,b IF a >b THEN PRINT a ELSEPRINT b END IF END例6.高等数学中经常用到符号函数,符号函数的定义为⎪⎩⎪⎨⎧<-=>=0,10,00,1x x x y ,试编写程序输入x 的值,输出y程序一:(嵌套结构) 程序框图:(右图) 程序语言: INPUT x IF x >0 THEN y =1 ELSEIF x =0 THEN y =0 ELSE y =-1 END IF END IF PRINT y END例7.设计一个计算1×3×5×7×…×99的算法,编写算法程序。
解析: 算法如下: 第一步:s =1; 第二步:i =3; 第三步:s =s×i; 第四步:i =i +2;第五步:如果i≤99,那么转到第三步; 第六步:输出s ; 程序如下:(“WHILE 型”循环语句) s =1 i =3WHILE i <=99 s =s*i i =i +2 WENDPRINT s END例8. 求三个数72,120,168的最大公约数. 解法1:用辗转相除法先求120,168的最大公约数,因为168120148,12048224,48242=⨯+=⨯+=⨯ 所以120,168的最大公约数是24. 再求72,24的最大公约数,因为72243=⨯,所以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=2472,24的最大公约数为24,即72,120,168的最大公约数为24.例9.用秦九韶算法求多项式5432()23456f x x x x x x =+++++在2x =时的值. 分析:先改写多项式,再由内向外计算.5432:()23456((((2)3)4)5)6f x x x x x x x x x x x =+++++=+++++解010*********,243114265576120v v v x v v x v v x v v x v v x ==+==+==+==+==+= 本题也可简写为下式:12345622822521144112657120例10.完成下列进制的转化(3)(10)(10)__________(8)(1)10202____(2)101==解: 420(3)(10)(1)10202132323101=⨯+⨯+⨯=(2)用8反复去除101,直到商为0止,所得的余数(从末位读起)就是十进制数101的8进制表示8101812581401余数 所以(10)(8)101145=一、选择题1 当2=x 时,下面的程序输出的结果是 ( )A 3B 7C 15D 17 2下边程序运行后输出的结果为( )A 50B 5C 25D 0二、填空题15()51a j WHILE j a a j MOD j j WENDPRINT aEND==<==+=+10411i s WHILE i s s x i i WEND PRINT I s U xE T N NP D==<==*+=+1.下面程序运行后输出的结果为_______________解析: 22,-222 三个数324,243,135的最大公约数是_________________解析:324243181,13581154,8154127,54272=⨯+=⨯+=⨯+=⨯.填27 三、解答题用秦九韶算法求多项式5432()34157678f x x x x x x =+-+++在2x =-时的值.543201021324354:()34157678((((34)15)76)7)83,421511769871898386f x x x x x x x x x x x v v v x v v x v v x v v x v v x =+-+++=+-+++==+=-=-=-=+==+=-=+=9.解520033,x y IF x THEN x y ELSE y y END IF PRINT x y y xEND==-<=-=+--。