基本算法语句
- 格式:doc
- 大小:34.50 KB
- 文档页数:20
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
§1.6 基本算法语句——赋值、输入、输出语句 教学目标(1)正确理解赋值语句、输入语句、输出语句的结构;(2)让学生充分地感知、体验应用计算机解决数学问题的方法;(3)通过实例,使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想. 教学重点正确理解输入语句、输出语句、赋值语句的作用.教学难点准确写出输入语句、输出语句、赋值语句.教学过程一、问题情境1.问题1:已知我班某学生上学期期末考试语文、数学和英语学科成绩分别为80、100、89,试设计适当的算法求出这名学生三科的平均分. 二、学生活动1.学生讨论,教师引导学生写出算法并画出流程图.2.怎样将以上算法转换成计算机能理解的语言呢?下面我们将通过伪代码学习基本的算法语句. 三、建构数学1.伪代码:伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法.为了今后能学好计算机语言,我们在伪代码中将使用一种计算机语言“BASIC 语言”的关键词.2.赋值语句:赋值语句是将表达式所代表的值赋给变量的语句.例如:“x y ←”表示将y 的值赋给x ,其中x 是一个变量,y 是一个与x 同类型的变量或表达式.说明:①赋值语句中的赋值号“←”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;②赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式; ③对于一个变量可以多次赋值.例1.写出求23x =时多项式3273511x x x +-+的值的算法.算法1 算法: S1 a ←80S2 b ←100S3 c ←89 S4 A ←(a+b+c)/3S5 输出A流程图:322373511x p x x ←←+-+算法2 23((73)5)11x p x x x ←←+-+ 说明:①以上两种算法,算法1要做6次乘法,算法2只要做3次乘法,由此可见,算法的好坏会影响运算速度;②算法2称为“秦九韶算法”,其算法特点是:通过一次式的反复计算,逐步得出高次多项式的值;对于一个n 次多项式,只要做n 次乘法和n 次加法.附:秦九韶(1202—1261年),字道古,普州安岳(今四川安岳)人.他是我国古代最有成就的数学家之一.著有数学名著《数书九章》(又名数学九章》).该书共十八卷,分为大衍、天时、田域、测望、赋役、钱谷、营建、军旅、市易等九大类,每类用九个例题全书共八十一题)来阐明各种算法.这部中世纪的数学杰作,许多方面都有创造,而书中最突出的成就是“大衍求一术”和高次方程的数值解法“正负开方术”,是具有世界意义的成就.3.输入、输出语句:输入、输出语句分别用“Input ”(或者“Read ”)和“Print ”来描述数据的输入和输出.(1)输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量.(2)输出语句的主要作用是:①输出常量、变量的值和系统信息;②输出数值计算的结果. 例如:可以将问题1中的算法改进为求任意三门功课的平均值的算法.流程图:说明:输入语句“Read a ,b ”表示输入的数据依次送给a ,b ;“Print A ”表示输出运算结果A .四、数学运用1.例题:例2.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”请你先列出解决这个问题的方程组,并设计一个解二元一次方程组的通用算法,并画出流程图,写出伪代码.解:设有x 只鸡,y 只兔子,则352494x y x y +=⎧⎨+=⎩. 伪代码: Read a ,b ,c A ←(a+b+c)/3 Print A设二元一次方程组为1111221222,(0),a x b y c a b a b a x b y c +=⎧-≠⎨+=⎩用消元法解得2112122112211221b c b c x a b a b a c a c y a b a b -⎧=⎪-⎪⎨-⎪=⎪-⎩, 因此,只要输入相应的未知数的系数和常数项,就能计算出方程组的解,即可输出,x y 的值.2.练习:1)将五进制数化为十进制数的方法是“按权展开”,如将(5)1403化为十进制数为321015450535228⨯+⨯+⨯+⨯=.试用输入输出语句、赋值语句表示将五进制数(5)abcd 化为十进制数的算法.2)请用伪代码编写程序,实现三个变量1,2,3A B C ===的值按顺序互换,即A B C A →→→之间的交换.3)已知一个正三棱柱的底面边长为3,高为4,用输入、输出和赋值语句表示计算这个正三棱柱的体积的算法。
---------------------------------------------------------------最新资料推荐------------------------------------------------------
基本算法语句
三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:输入语句条件语句输出语句循环语句赋值语句这就是这一节所要研究的主要内容——基本算法语句。
1/ 20
一.输入语句输入语句的一般格式INPUT “提示内容”;变量说明:
(1)输入语句的作用是实现算法的输入信息功能;(2)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量; (3)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式; (4)提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,” 隔开.
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 注意: INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,…例如,输入一个学生数学,语文,英语三门课的成绩, 可以写成:INPUT “数学,语文,英语”;a,b,c
3/ 20
二.输出语句输出语句的一般格式PRINT “提示内容”;表达式说明: (1)“提示内容”提示用户输出什么样的信息,表达式是指程序要输出的数据;(2)输出语句的用途:①输出常量,变量的值和字符串等系统信息。
②输出数值计算的结果。
---------------------------------------------------------------最新资料推荐------------------------------------------------------ (3)同输入语句一样,表达式前也可以有“提示内容”. 如的输出框句:输出S 可以转化为输出语PRINT “S=”; S
5/ 20
三.赋值语句 (1)赋值语句的一般格式: 变量=表达式(2)赋值语句的作用是:先计算出赋值号右边表达式的值,然后把这个值赋给左边的变量,使该变量的值等于表达式的值。
(3)赋值语句中的“=”称作赋值号,与数学中的等号的意义是不同的.赋值号的左右两边不能对换. (4)赋值语句左边只能是变量名字而不是表达式, 如:2=x是错误的;右边表达式可以是一个数据、常量或算式;不能利用赋值语句进行代数式的演算。
(如化简、因式分解、解方程等)(5)对于一个变量可以多次赋值。
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 【例题解析】〖例1〗:编写程序,计算一个学生数学、语文、英语三门课的平均成绩。
分析:先写出算法,画出程序框图,再进行编程。
程序框图开始输入a,b,cy?a?b 3?c程序: INPUT “Maths,Chinese,English”;a,b,c y=(a+b+c)/3 PRINT “y=”;y END输出y结束
7/ 20
〖例2〗:给一个变量重复赋值。
程序:A=10 A=A+15 PRINT A ENDA的输出值是多少?分析:此程序给变量A赋了两次值.A 的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25.
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 〖例3〗交换两个变量A和B的值,并输出交换前后的值。
分析:引入一个中间变量X,将A的值赋予X,又将B的值赋予A,再将X的值赋予B,从而达到交换A,B的值.(比如交换装满水的两个水桶里的水需要再找一个空桶)程序: INPUT A问题:能否用下列赋值语句交换A,B的值?A=B B=A不能!!!!!!INPUT B PRINT A,B X=A A=BB=X PRINT A,B END
9/ 20
算法中的条件结构是由条件语句来表达的, 条件语句是处理条件分支逻辑结构的算法语句 .条件语句的一般格式只含一个“分支”的条件结构写成条件语句为满足条件?否是语句IF 条件 THEN 语句体END IF当计算机执行这种形式的条件语句时,首先对 IF后的条件进行判断,如果条件符合,就执行 THEN后的语句体,否则执行END IF之后的语句.
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 含两个“分支”的条件结构写成条件语句为满足条件?否是语句1语句2IF 条件 THEN 语句体1ELSE 语句体2END IF当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.
11/ 20
INPUT “a,b,c=”; a,b,c IF a+b>c AND a+c>b AND b+c>a THENPRINT “Yes.” ELSEPRINT “No.” END IF END
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 算法中的循环结构是由循环语句来实现的 .循环结构有两种-----当型与直到型. 当型循环结构(当条件满直到型循环结构(反复执足时反复执行循环体) 行循环体直到条件满足)循环体循环体满足条件?是否否满足条件?是对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。
13/ 20
(1)WHILE语句的一般格式是 WHILE 条件当计算机遇到WHILE语句时,循环体先判断条件的真假,如果条件 WEND符合,就执行WHILE与WEND 之间的循环体;然后再检查上述条当型循环结构件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这循环体时,计算机将不执行循环体,直接跳到WEND语句后,接着执行 WEND之后的语句.满足条件?是否
---------------------------------------------------------------最新资料推荐------------------------------------------------------ (2)UNTIL语句的一般格式是: 直到型循环结构DO 循环体LOOP UNTIL 条件循环体否满足条件?是从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断, 这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行其他语句, 是先执行循环体后进行条件判断的循环语句.
15/ 20
WHILE语句的一般格式 UNTIL语句的一般格式WHILE 条件循环体WENDDO 循环体LOOP UNTIL 条件提问:通过对照,大家觉得WHILE型语句与UNTIL型语句之间有什么区别呢?区别:在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体。
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 例4.编写程序, 计算自然数1+2+3+…+99+100的和.分析:这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句。
17/ 20
当型循环结构开始i=1 S=0i=i+1是i≤100? 否S=S+i输出S结束WHILE语句i=1 S=0 WHLIE i<=100 S=S+i i=i+1 WEND PRINT S END
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 直到型开始i=1 S=0 S=S+i i=i+1否 i>100? 是输出S结束UNTIL 语句i=1 S=0 DO S=S+i i=i+1 LOOP UNTIL i>100 PRINT S END
19/ 20
变式训练: 编写程序求:1×3×5×7×……×101的值.直到型开始如何修改? UNITL语句i=1SS==01SS==SS*+i iii==ii++21 否i>i>110010??是输出S结束i=1 S==10 DO S=S*+i i i=i+12LOOP UNTIL i>110001PRINT SEND。