




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法的基本语句温故而知新1.什么是算法?什么是程序框图?
2.算法的基本逻辑结构有哪些?
算法通常是指按照一定规则解决某一类问题的明确的和有限的步骤。
程序框图是一种用程序框、流程线及文字说明来表示算法的图形。
算法的基本结构有三种:顺序结构、条件结构、循环结构,其中循环结构又分为当型结构和直到型结构两种。第一课时算法的基本结构:
①顺序结构②条件结构③循环结构顺序结构条件结构循环结构①顺序结构是最基本的结构,是任何结构都需要用到的;②条件结构是我们在解决条件判断问题中,常用到的一种结构,它是计算机基本的逻辑推理结构;③循环结构是解决反复问题的结构。温故而知新计算机完成任何一项任务都需要算法,但当计算机真正运行算法时,计算机是无法“理解”自然语言或程序框图的。还需要将算法用计算能够“理解”的程序设计语(programminglanguage)表示成计算机程序。计算机通过程序设计语言将它们“翻译”成计算机语言计算机语言有很多种,为了实现算法中三种最基本的结构:顺序结构、条件结构和循环结构,个种程序设计语言都要用到下面的最基本的算法语句:输入语句输出语句赋值语句条件语句循环语句我们使用的程序设计语言虽然有很多种,如:BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB语言,但在语句形式以及语法上和BASIC语言类似,稍加改造就可以在计算机上运行BASIC语言全称是Beginner’sallPurposeSymbolicInstructionCode,意为“初学者通用符号指令代码“。1964年由美国达尔摩斯学院的Thomas和JohnG.Kemeny完成设计并提出了BASIC语言的第一个版本,经过不断丰富和发展,现已成为一种功能全面的中小型计算机语言。BASIC易学、易懂、易记、易用,是初学者的入门语言,也可以作为学习其他高级语言的基础。BASIC有解释方式和编译方式两种翻译程序下面我们就这些基本语句来进行一一说明JohnG.KemenyThomas1.输出、输入和赋值语句基本上对应算法中的顺序结构语句n语句n+1利用输入、输出语句可以实现信息的录入和结果的输出1.2.1输入语句输出语句赋值语句输入语句、输出语句分别与程序框图中的输入、输出框对应赋值语句与程序框图中表示赋值的处理框对应,用来给变量赋值算法:第二步:计算的值;开始输入x输出y结束框图:例1.用描点法作函数的图象时,需要求出自变量和函数的一组对应值,编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。第一步:输入x的值;第三步:输出y的值。程序:INPUT“x=”;xy=x^3+3x^2-24x+30PRINTyEND**INPUT“x=”;xy=x^3+3*x^2-24*x+20PRINTyEND认识程序:输入语句赋值语句输出语句一、输入语句1、一般格式:INPUT“提示内容”;变量②“提示内容”提示用户输入什么样的信息。可以是中文,也可以是其他的③变量是指程序在运行时其值是可以变化的量。2、说明:①作用为实现算法的输入信息功能。④输入语句要求输入的值只能是具体的常数。⑤提示内容与变量之间用“;”隔开,有多个变量的输入时,变量与变量之间用“,”隔开。INPUT“Maths,Chinese,English”;a,b,c二、输出语句1、一般格式:PRINT
“提示内容”;表达式2、说明:①作用是实现算法的输出结果功能。②“提示内容”提示用户输出什么样的信息。③表达式是指程序要输出的数据。④输出语句可以输出常量、变量或表达式的值及字符。INPUT“Maths=”;aINPUT“Chinese=”;bINPUT“English=”;cPRINT“Theaverageis”;(a+b+c)/3三、赋值语句1、一般格式:变量=表达式2、说明:①作用是将表达式所代表的值赋给变量。②赋值语句中的“=”称为赋值号。③赋值语句右边可以是一个数据、常量和算式,左边只能是变量,不能为表达式。④赋值号左右不能对换。除了INPUT语句,例1中也可以用“赋值语句”给变量提供初值INPUT语句PRINT语句赋值语句格式INPUT
“提示内容”;变量PRINT“提示内容”;表达式变量=表达式说明1.“提示内容”和它后面的“;”可以省略;2.一个语句可以给多个变量赋值,中间用“,”隔开;3.无计算功能,不能输入表达式;4.输入多个数据时用“,”分隔,且个数要与变量的个数相同。1.“提示内容”和它后面的“;”可以省略;2.一个语句可以输出多个表达式,不同的表达式之间用“,”隔开;3.表达式可以是变量,也可以是计算公式;4.有计算功能,能直接输出计算公式的值。1.“=”左侧必须是变量,右侧可以是数字、变量或者是计算公式;2.一个语句只能有一个“=”,并且只能给一个变量赋值;3.有计算功能,可以把表达式的值赋给一个变量。例2.编写程序,计算一个学生数学、语文、英语三门课的平均成绩。算法:第一步:分别输入三科的成绩a,b,c;第二步:计算average=(a+b+c)/3;第三步:输出三科平均分。框图:开始输入a,b,c输出average结束average=(a+b+c)/3程序:INPUT“Maths=”;aINPUT“Chinese=”;bINPUT“English=”;caverage=(a+b+c)/3PRINT“Theaverage=”;averageENDINPUT“Maths,Chinese,English=”;a,b,c程序2:PRINT“Theaverage=”;(a+b+c)/3END〖例3〗:给一个变量重复赋值。程序:A=10A=A+15PRINT
AENDA的输出值是多少?分析:此程序给变量A赋了两次值.A的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25.[变式引申]:在此程序的基础上,设计一个程序,要求最后A的输出值是30.A=10A=A+15PRINT
AA=A+5PRINT
AEND程序:〖例3〗:给一个变量重复赋值。程序:A=10A=A+15PRINT
AEND例4、交换两个变量A,B的值INPUTAINPUTBPRINTA,BX=AA=BB=XPRINTA,BEND先将A的值赋予X这时X取A的值再将B的值赋予A这时A取B的值再将X的值赋予B这时B取X的值即A的值先将A的值赋予X这时X取A的值X为中间变量X是什么?〖练习〗:编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积.(π取3.14)分析:设圆的半径为R,则圆的周长C=2πR,面积S=πR2,可以利用顺序结构中的INPUT语句,PRINT语句和赋值语句设计程序。INPUT“R=”;RC=2*3.14*RS=3.14*R^2PRINT
“C=”;CPRINT
“S=”;SEND练习课本P24.1、2、3、4INPUT“a,b,c=”;a,b,cX=10.4*aY=15.6*bZ=25.2*csum=X+Y+ZPRINT“sum=”;sumEND4题答案练习课本P33A2练习《与名师对话》P15.变式训练3《与名师对话》P16成功体验1、2、3、4、5、第二课时条件语句的一般格式
①只含一个“分支”的条件结构写成条件语句为IF
条件THEN
语句体ENDIF当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件满足,就执行THEN后的语句体,否则执行ENDIF之后的语句.满足条件?语句体是否1.2.2条件语句IF——THEN——ENDIF型条件语句是处理条件结构的算法语句满足条件?语句体1语句体2是否②含两个“分支”的条件结构写成条件语句为IF
条件THEN
语句体1ELSE
语句体2ENDIF 当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.IF——THEN——ELSE——ENDIF型例5、编写程序,输入一个x的值,要求输出它的绝对值。INPUTxTFx>=0THENPRINTxELSEPRINT-xENDIFEND程序框图开始输入x判断x>0是输出x否输出-x结束第一步:输入x;第二步:判断x的符号;若x≥0,则输出x,否则输出—X;算法INPUTxIFx<0THENx=-xENDIFPRINTxEND阅读该程序,你能得出什么结论?例5[变式引申]:编写程序,输入一个x的值,如果它是正数,则输出它,否则不输出。INPUTxIFx>0THENPRINTxENDIFEND程序如图所示你会画它的程序框图吗?开始输入x判断x>0是输出x否结束框图〖例6〗:编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根。算法分析:一元二次方程的根有三种不同情况:设判别式△=b2-4ac(1)当△>0时,一元二次方程有两个不等的实数根.(2)当△=0时,一元二次方程有两个相等的实数根.(3)当△<0时,一元二次方程没有实数根.用IF—THEN—ELSE—ENDIF结构【程序】INPUT
“a,b,c=”;a,b,cd=b*b-4*a*c
IFd>=0THENp=-b/(2*a)q=SQR(d)/(2*a)IFd=0THENPRINT“Onerealroot:”;pELSEx1=p+qx2=p-qPRINT“Tworealroots:”;x1,x2ENDIFELSEPRINT“Norealroot!”ENDIFEND是开始△=b2-4ac△≥0?原方程无实根否结束△=0?输出p是否x1=p+qx2=p-q输出x1,x2输入a,b,c外循环内循环〖例7〗:编写程序,使得任意输入的3个整数按从大到小的顺序输出。算法分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c
表示,并使a≥b≥c.具体操作步骤如下。第一步:输入3个整数a,b,c.第二步:将a与b比较,并把小者赋给b,大者赋给a.第三步:将a与c比较.并把小者赋给c,大者赋给a,此时a已是三者中最大的。第四步:将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。第五步:按顺序输出a,b,c.c=bb=tb=tc=ta=c【程序框图】开始输入a,b,cb>a?是t=aa=b否c>a?是t=a否c>b?t=c是否输出a,b,c交换a,b的值【程序】INPUT
“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFIFc>aTHENt=aa=cc=tENDIFIFc>bTHENt=bb=cc=tENDIFPRINTa,b,cEND课本P29页1.INPUT“a,b,c=”;a,b,cIFa+b>cANDa+c>bANDb+c>aTHENPRINT“Yes.”ELSE
PRINT“No.”ENDIFEND参考答案:【课堂练习1】【课堂练习2】课本P29页2.读程序,说明程序的运行过程.INPUT“x=:”;xIF9<xANDx<100THENa=x\10b=xMOD10x=10*b+aPRINTxENDIFEND如果有两个或是两个以上的并列条件时,用“AND”把它们连接起来。“\”用来取商.此处表示
x除以10的商.“MOD”用来取余数.此处表示x除以10所得余数为b.[问题]如输入的数x=86,则输出的结果是什么?68 此程序用于交换一个两位数的个位和十位数字.课本P29页3.编写求一个数是偶数还是奇数的程序,从键盘输入一个整数,输出该数的奇偶性.INPUT“a=”;aIFaMOD2=0THENPRINT“Even.”ELSE
PRINT“Odd.”ENDIFEND参考答案:【课堂练习3】课本P29页4.闰年是指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年.【课堂练习4】开始结束年份n否是是否闰年不是闰年闰年11INPUT“年份n=”;nIFINT(n/400)=n/400THENPRINT“runnian”ELSE
IFnMOD4=0ANDnMOD100<>0THENPRINT“runnian”ELSEPRINT“bushi”ENDIFENDIFEND方法一INPUT“年份n=”;nb=nMOD4c=nMOD100d=nMOD400IFb=0ANDc<>0ORd=0THENPRINT“runnian”ELSEPRINT“bushi”ENDIFEND方法二课本P33页A1.【课堂练习5】课本P33页B1.【课堂练习6】课本P33页B3.【课堂练习7】P33页B组3答案)INPUT“x=”;xIFx<1THENy=xELSEIFx>=1ANDx<10THENy=2*x-1ELSE
y=3*x-11ENDIFENDIFPRINT“y=”;yEND《与名师对话》P19纠错补练《与名师对话》P20成功体验【课堂练习8】第三课时循环结构有两种-----直到型与当型.满足条件?循环体是否当型循环结构(当条件满足时反复执行循环体)直到型循环结构(反复执行循环体直到条件满足)循环体是否满足条件? 对应于程序框图中的两种循环结构,一般程序设计语言中也有直到型(UNTIL型)和当型(WHILE型)两种语句结构。1.2.3循环语句UNTIL语句的一般格式是DO
循环体LOOPUNTIL条件循环体是否满足条件?直到型循环结构DO——执行(循环体)LOOPUNTIL——循环,直到满足某种条件为止(然后执行后面的程序)例1.编写程序,计算自然数1+2+3+…+99+100的和. 分析:这是一个累加问题.考虑用UNTIL型语句。UNTIL语句开始结束i=1S=0i=i+1S=S+i输出Si>100?否是直到型i=1S=0DOS=S+ii=i+1LOOPUNTILi>100PRINTSEND变式训练:编写程序求:1×3×5×7×……×101的值.如何修改?UNITL语句i=1S=0DOS=S+ii=i+1LOOPUNTILi>100PRINTSENDS=1101S=S*ii=i+2是开始结束i=1S=0i=i+1S=S+i输出Si>100?否直到型S=1S=S*ii=i+2i>101?WHILE语句的一般格式是WHILE条件
循环体WENDWHLIE后面的“条件”也是用于控制计算机执行循环体或跳出循环体的。WHILE——当……(条件满足)
的时候(执行循环体)WEND——朝……方向行走 (回到条件判断)满足条件?循环体是否当型循环结构i=1S=0WHLIEi<=100S=S+ii=i+1WENDPRINTSENDWHILE语句开始结束i=1S=0i=i+1S=S+i输出Si≤100?是否当型循环结构例2.利用WHILE语句来设计
1+2++...+100算法程序框图结束开始输入x输出yn=1n=n+1n>11?是n=1DOINPUTxPRINTyn=n+1LOOPUNTILn>11ENDy=x^3+3*x^2-24*x+30程序否例3开始i=1S=0i≤100?是S=S+ii=i+1否输出S结束当型循环结构变式训练:编写程序求:n!=1×2×3×4×5×……×n的值.如何修改?输入nWHILE语句i=1S=0WHLIEi<=100S=S+ii=i+1WENDPRINTSENDINPUT“n=”;nS=1S=S*ii≤n?S=1nS=S*i画出用二分法求方程x2-2=0的近似根(精确度为0.005)的程序框图,并把它转化为程序语句.(见课本P19图1.1-20)探究INPUT“a,b,d=”;a,b,dDOm=(a+b)/2g=a^2-2f=m^2-2IFg*f<0THENb=mELSEa=mENDIFLOOPUNTILABS(a-b)<dORf=0PRINTmEND练一练1.课本P33A32.课本P33B23.课本P33B4(能用两种方法用两种方法)练一练1.《与名师对话》P21变式训练22.《与名师对话》P21变式训练33.《与名师对话》P23成功体验1、2、3、4、5(能用两种方法用两种方法)基本结构程序框图顺序结构变量与赋值循环结构基本语句循环语句条件语句WHILE语句DO语句IF-THEN语句语句适用结构算法条件结构小结基本算法语句
讲解的主要内容及流程一、知识结构二、BASIC语言的发展三、QBASIC上机指导四、QBASIC语言的基本字符五、QBASIC的算术表达式六、QBASIC的标准函数七、质数判断八、二分法九、闰年问题一、知识结构输入语句输出语句赋值语句条件语句循环语句算法语句二、BASIC语言的发展初期BASIC(1964~70初)小型机上使用多用户分时系统编译方式微机BASIC(1975~80年代中期)
在ROM中解释方式VisualBASIC(1991,MS)forWindows用于开发Windows应用软件结构化BASIC(80年代中期)三种基本结构模块化
TrueBASIC、QuickBASIC、QBASICQBASIC的组成MS-DOS5.0以上版本提供QBASIC.EXE、QBASIC.HLP启动QBASIC“basic/qbasic”程序窗口:用来编辑和运行程序窗口的标题为源程序名命令窗口:用来执行单个程序窗口的标题为Immediate活动窗口:当前正在使用的窗口三、QBASIC上机指导英文字母阿拉伯数字符号标点符号类型说明符算术运算符(+、-、×、/、\、^)关系运算符(>、<、=、>=、<=、<>)逻辑运算符(NOT、AND、OR)四、QBASIC语言的基本字符五、QBASIC的算术表达式(1)BASIC语言的算术表达式由算术运算符、常数、变量、函数和圆括号组成,其基本形式与数学上的算术表达式类似.表达式中的运算符号常用的有:加+,减-,乘*
,除/,乘方^开平方SQR(X),取绝对值ABS(X)取商\,取余aMODb取整INT(X)等.(2)算术表达式的注意事项用算术运算符将常数、数值变量及数学函数连接起来的有意义的式子.乘号不能用“×”或“.”不要漏写乘号“*”要用合法的变量名所有字符写在一行上只能使用圆括号运算符功能举例数学表达式关系运算符<小于a<ba<b<=小于或等于a<=bb>大于a>ba>b>=大于或等于a>=bb=等于a=ba=b<>不等于a<>bb逻辑运算符AND且x<5ANDx>11<x<5OR或x<0ORx>3x<0或x>3NOT非NOTx>aa
(3)条件语句的条件表达式中常用连接符如下六、QBASIC的标准函数常用数学函数见下表不能随意造函数自变量部分必须用圆括号括起来自变量可以是常量、变量或表达式三角函数的自变量应为弧度标准函数功能SIN(X)求X的正弦值X单位为弧度CON(X)求X的余弦值X单位为弧度SQR(X)求X的平方根ABS(X)求X的绝对值LOG(X)求X的自然对数EXP(X)求e的X次幂标准函数功能INT(X)求不大于X的最大整数FIX(X)取X的整数部分SGN(X)符号函数RND(X)产生(0,1)区间的一个随机数SGN(X)=1当x>00当x=0-1当x<0任意给定一个大于1的整数n,判断n流程图是否为质数,画出它的流程图,并编写程序.课本P.5,P.22(七)探究开始输入nn>2?d=2d整除n?n不是质数结束d<=n-1?是否是d=d+1否是否n是质数开始输入nn>2?d=2d整除n?n不是质数结束d<=n-1?是否是d=d+1否是否n是质数质数判断开始输入nflag=1n>2?d=2flag=0d整除n?n是质数n不是质数结束d<=n-1且flag=1?flag=1?否是是否是d=d+1否是否INPUT“n=”;ni=2WHILEi<=n-1
IFnMODi=0THENPRINT“No”:ENDENDIFi=i+1WENDPRINT“Yes”ENDINPUT“n=”;ni=2WHILEi<=n-1
IFnMODi=0THENflag=1ENDIFi=i+1WENDIFflag=1THENPRINT“No”ELSEPRINT“Yes”ENDIFENDINPUT“n=”;nflag=1IFn>2THENd=2
WHILEd<=n-1ANDflag=1IFnMODd=0THENflag=0ELSEd=d+1ENDIFWENDENDIFIFflag=1THENPRINT“Yes”ELSEPRINT“No”END画出用二分法求方程x2-2=0的近似根(精确度为0.005)的程序框图,并把它转化为程序语句.P.3P.10P.23练习3(八)探究f(m)=0?输出m结束m=(x1+x2)/2f(X1)=x12-2f(m)f(x1)<0?|x1-x2|<c?X1=mX2=m否否是否是是1输出mf(m)=x2-2开始x1=1C=0.005x2=21DOm=(x1+x2)/2f=m^2-2IFf=0THENX1=mX1=mENDIFg=x1^2-2IFg*f>0THENX1=mELSEX2=mENDIFLOOPUNTILABS(x1-x2)<cPRINTmENDX1=1X2=2C=0.005解法一X1=1X2=2C=0.005DOm=(x1+x2)/2f=m^2-2IFf=0THENX1=mX1=mENDIFg=x1^2-2IFg*f>0THENX1=mELSEX2=mENDIFLOOPUNTILABS(x1-x2)<cPRINTmEND解法一X1=1X2=2C=0.005DOm=(x1+x2)/2f=m^2-2IFf=0THENPRINTm:ENDELSEIFf<0THEN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 航空航天复合材料 课件知识点6 高熵合金基复合材料
- 会滚的汽车课件
- 剪辑技巧培训课件
- 肿瘤科常用药物临床应用与管理
- 路基工程这知识培训
- 2025年 安康市紫阳县民歌艺术研究中心招聘考试笔试试卷附答案
- 2025年中国喷泉套件行业市场全景分析及前景机遇研判报告
- 小动物搬家课件
- 蛛网膜下腔出血疑难病例讨论
- 红血丝皮肤的成因及护理
- 宠物清洁卫生用品猫砂
- 大模型备案-落实算法安全主体责任基本情况-XX集团有限公司
- 护理礼仪与人际沟通试题(含答案)
- 2025-2030中国蔬菜温室大棚市场消费趋势分析与经营管理风险报告
- 学校外来人员登记制度
- 应急物资中转站项目可行性研究报告(模板范文)
- 2025年初级等保测评试题及答案
- 薄壁空心墩施工方案
- 多重耐药菌医院感染预防与控制技术指南(试行)
- 教师如何使用AI开展教学DeepSeek使用指南人工智能 课件
- 油气田地面工程详解
评论
0/150
提交评论