基本算法语句
- 格式: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.输入语句、输出语句、赋值语句的格式与功能2.条件语句(1)算法中的与条件语句相对应.(2)条件语句的格式及框图,①IF-THEN格式;②IF-THEN-ELSE格式:3.循环语句(1)算法中的与循环语句相对应.(2)循环语句的格式及框图.①UNTIL语句;②WHILE语句:4.算法案例(1)辗转相除法:辗转相除法是用于的一种方法,这种算法是由欧几里得在公元前300年左右首先提出的,因此又叫(2)更相减损术的定义:任给两个正整数(若是偶数,先用2约数),以 ,接着把所得的差与较小的数比较,并以大数减小数,直到所得的数 则这个数(等数)(或这个数与约简的数的乘积)就是所求的最大公约数.(3)秦九韶算法: 秦九韶算法是我国南宋数学家秦九韶在他的代表作《 》中提出的一种用于计算 的方法.典题热身1.以下语句中赋值语句的个数是 ( );2x =①;0=+y x ②);1)(1(12-+=-=x x x y ③=A ④;3=B .*p p P =⑤0.A 1.B 2.c 3.D答案:B2.下边程序运行的结果是( )3,2,1.A 1,3,2.B 2,3,2.c 1,2,3.D答案:C3.阅读下列程序,则其输出的结果为( )6463.A 3231.B 128127.c 1615.D 答案:A4.阅读程序:若,4-=x 输出结果为若,9=x 输出结果为答案:负数35.将二进制数)2(101101化为十进制数,结果为 再将该数化为八进制数,结果为 答案:)10(45 )8(55课堂设计 方法备考题型一 输入、输出、赋值语句的应用【例l 】编写一个程序,求用长度为l 的细铁丝分别围成一个正方形和一个圆时所围成的正方形和圆的面积,要求输入l 的值,输出正方形和圆的面积(π取3.14),并画出程序框图,题型二 条件语句的应用【例2】国庆期间,某超市实行购物优惠活动,规定一次购物付款总额:①若不超过200元,则不予优惠;②若超过200元,但不超过500元,则按标价价格给予9折优惠;③如果超过500元,500元的部分按②优惠,超过500元的部分给予7折优惠,编写一个付款算法,并写出相应程序,画出程序框图,题型三 循环语句的应用【例3】高-(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出程序框图,并设计程序.题型四 进位制之间的相互转化【例4】(1)将七进制数)7(235转化为十进制的数;(2)把五进制的数)5(44转化为二进制的数,技法巧点(1)输入、输出语句是任何一个程序必不可少的语句.(2)赋值语句是重要的一种基本语句.利用赋值语句可以实现两个变量值的互换,方法是引进第三个变量.(3)要区分条 件语句的两种格式:IF-THEN-ELSE 格式和IF-THEN 格式.(4)条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题都要用到条件语句,失误防范1.赋值语句的“=”不能与等号相混淆.2.赋值语句左右两边不能对调,随堂反馈1.(2011.安徽马鞍山二中月考)下图是把二进制的数)2(11111化成十进制的数的一个流程图,则判断框内应填入的条件是( )?4.<i A ?5.≤i B ?5.>i C ?4.≤i D答案:D2.(2011.深圳模拟)下列程序执行后输出的结果是 ( )1.-A 0.B 1.c2.D答案:C3.(2011.佛山模拟)下面程序运行后,输出的值是 ( )42.A 43.B 44.C 45.D答案:C4.(2011.青岛模拟)若k 进制数)(123k 与十进制数)10(38等,则=k答案:5高效作业 技能备考一、选择题1.(2011.宁夏模拟)当3=a 时,下面的程序段输出的结果是( )9.A 3.B 10.c 6.D答案:D2.(2011.海南模拟)计算机执行下面的程序段后,输出的结果是 ( )3,1.A 1,4.B 0,0.c 0,6.D答案:B3.读下面的甲、乙两程序:对甲、乙两程序和输出的结果判断正确的是 ( )A .程序不同,结果不同B .程序不同,结果相同C .程序相同,结果不同D .程序相同,结果相同答案:B4.(2011.广东模拟)将两个数17,8==b a 交换,使,17=a ,8=b 下面语句正确的一组是( )答案:B5.(2011.山东模拟)如果下边程序执行后输出的结果是132,那么程序中UNTIL 后面的“条件”应为 ( )11.>i A 11.>=i B 11.<=i C 11.<i D答案:D6.(2011.日照模拟)下列各数中最小的数是 ( ))2(111111.A )6(210.B )4(1000.c )8(110.D答案:A二、填空题7.(2011.常熟模拟)阅读下面的程序,并写出5,3==b a 时,输出的值=a答案:4218.(2011.深圳调研)阅读下面的程序,当分别输入、、12==x x 0=x 时,输出的y 值分别为答案:1 1 1-9.(2011.威海模拟)下面程序表达的是求函数 的值.答案:⎪⎩⎪⎨⎧<-=>=0,10,00,1x x x y三、解答题10.设计算法求100991431321211⨯++⨯+⨯+⨯ 的值.要求画出程序框图,写出用基本语句编写的程序.11.读下列程序,指出此程序用来解决什么问题.12.到银行办理个人异地汇款时,银行要收取一定的手续额不超过100元,收取1元手续费;超过100元但不超元,按汇款额的1%收取;超过5000元,一律收取50费.试用条件语句描述汇款额为x 元时,银行收取手自元的过程,画出程序框图并写出程序.。
15、算法初步15.2 基本算法语句与算法案例【知识网络】1.理解用伪代码表示的几种基本算法语句:赋值语句、输入语句、输出语句、条件语句、循环语句。
2.能用自然语言、流程图和伪代码表述算法,会用“While循环”和“For循环”语句或GoTo语句实施循环(注意:优先使用While和For语句,尽量少用GoTo语句)。
【典型例题】[例1](1)下列问题所描述出来的算法,其中不包含条件语句的为()A.读入三个表示三条边长的数,计算三角形的面积B.给出两点的坐标,计算直线的斜率C.给出一个数x,计算它的常用对数的值D.给出三棱锥的底面积与高,求其体积(2)设计一个计算1×3×5×7×9×11×13的算法.图中给出了程序的一部分,则在横线①上不能填入下面的那一个数?答:()A.13B.13.5C.14D.14.5(3)若mod(m,3)=1,则m的取值不可以是()A.2005 B.2006 C.2008 D.2020(4)下面的表述:①6←p;②t←3×5+2;③b+3←5;④p←((3x+2)-4)x+3;⑤a←a3;⑥x,y,z←5;⑦ab←3;⑧x ←y+2+x .其中正确表述的赋值语句有 . (注:要求把正确的表述全填上)(5)下面程序的运行结果为4[例2] 某百货公司为了促销,采用打折的优惠办法:每位顾客一次购物①在100元以上者(含100元,下同),按九五折优惠; ②在200元以上者,按九折优惠; ③在300元以上者,按八五折优惠; ④在500元以上者,按八折优惠. 试写出算法、画出流程图、伪代码,以求优惠价.[例3] 定义运算“!”为:n!=1×2×3×…×n ,其中n 为正整数,并且读作“n 的阶乘”,例如,5!=1×2×3×4×5=120,10!=9!×10= 3628800. 计算2007!写出算法分析与伪代码,并画出流程图。
---------------------------------------------------------------最新资料推荐------------------------------------------------------
基本算法语句
三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:输入语句条件语句输出语句循环语句赋值语句这就是这一节所要研究的主要内容——基本算法语句。
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。