版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
§1.3基本的算法语句教学目标:教学重点:教学难点:教学过程:一、引入程序设计语言有很多种.如BASIC,Foxbase,pascal,C语言,C++,J++,VB,VC,JB为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序和循环语句.今天,我们一起用类BASIC语言学习输入语句、输出语句、赋值语句、条二、讲授新课(一)输入语句、输出语句和赋值语句1.输入语句格式:INPUT②“提示内容”是提示用户输入什么样的信息,“提示内容”和它后面的“;”可以省略;③程序框图中的输入框转化为算法语句就是输入语句;④一个语句可以给多个变量赋值,中间用“,”分隔;⑤无计算功能;⑥用户由键盘输入的数据必须时常量,输入多个数据时,用“,”分隔,且个数要与变量的个数相同.输出语句格式:PRINT②“提示内容”是提示用户想输出什么样的信息,“提示内容”和它后面的“;”可以省略;③程序框图中的输出框转化为算法语句就是输出语句;④表达式可以是变量、计算公式或系统信息;⑤一个语句可以输出多个表达式,不同的表达式之间用“,”分隔;⑥有计算功能,能直接输出计算公式.赋值语句格式:LET③“LET”可以省略,“=”的右侧必须是表达式,左侧必须是变量;④一个语句只能给一个变量赋值;⑤有计算功能;⑥将一个变量赋值给另一个变量,前一个变量的值保持不变,可先后给一个变量赋多个不同的值,但变量的去职总是最后被赋予的值.用BASIC执行程序中的语句,每个完整的程序最后一行是END语句(又称结束语句)表示程序(二)条件语句1.1框图格式
IF THEN语句体AENDIF
是条件P?A否IF THEN语句1ELSE语句2ENDIF功能:当计算机执行上述语句时,首先对IFPIF THEN语句1ELSE语句2ENDIF格式2格式
条件是1
否语句2IFP,1,在执行ENDIF满足条件P2,再执行ENDIF句.两种格式的比较相同点:首先对IFTHENIF—THEN—ELSE”语句,若不符合条件,则执行ELSE后面的“语句体2”;对于“IF--THEN”语句,若不符合条件则直接结束该条件语句,转而执行其他后面的语句.循环体是循环体是满足条件?WHILE 条件循环体WENDWHILE 条件循环体WEND格式否循环体满足条件?是否功能:计算机执行此程序时,遇到WHILE执行WHILEWENDWHILE是否成立,如果成立,再执行循环体,这个过程反复执行,直到一次返回到WHILEWEND语句后,执行循环体满足条件?是否DO循环体LOOP UNTIL 条件DO循环体LOOP UNTIL 条件格式功能:计算机执行UNTIL语句时,先执行DO和LOOPUNTILLOOPUNTILDOLOOPUNTIL后面的条件成立LOOPUNTIL条件下面的语句.因此直到型循环又称“后测试型”循环,也就是我们经常讲的两种格式的比较(四)编写程序思维步骤式);三、典例剖析(一)输入语句、输出语句和赋值语句1(1)INPUTa;b;c(2)输出语句A=4(3)赋值语句3=B(4)赋值语句A=B=2解:(1)错,比例直接应用“,”分隔;(2)错,PRINT语句不能用赋值号“=”;(3点评:输入语句、输出语句和赋值语句基本上对应于算法中的顺序结构.输入语句、输出语句和赋值语句都不能包括“控制转移”,由他们组成的程序段必然是顺序结构.例2请写出下面运算输出的结果.(1)a=5b=3c=(a+b)/2d=c*cPRINT“d=”;d(2)a=1b=2c=a+bb=a+c-bPRINT(3)a=10b=20c=30a=bb=cc=aPRINT“a=,b=,c=”;a,b,cc=(a+b)/2是将a,b和的一半赋值给变量cd=c*c是将c赋值给d,最后输出d1,2,3c=a+ba,bcb=a+c-ba+c-bb;20,30,20a=ba,b,c20,20,30b=ca,b,c20,30,30.经过语句c=aa,b,c20,30,20.点评:语句的识别问题是一个逆向性思维,一般我们认为我们的学习是从算法步骤(3yx
3x
24x30xINPUT“x”;xy=x^3+3*x^2-24*x+30PRINTyEND4解:INPUT“Maths=,Chinese=,English=”;a,b,cPRINT“Theaverage=”;(a+b+c)/3END5变换两个变量A和B解:INPUTA,BPRINTA,Bx=AA=BB=xPRINTEND6已知一个三角形的三边长分别是abcabcp(pa)(p(pa)(pb)(pc)
.为计算机设计一个算法,输2入三角形的三条边长abc,输出三角形的面积S.解:该算法用自然语言表述为Step1:输入三角形三边边长abcabc
开始输入a,b,cStep2:计算p ;2p(pa)(pp(pa)(pb)(pc)程序:INPUTa,b,cP=(a+b+c)/2s=SQR(s*(s-a)*(s-b)*(s-c))PRINT“area=”;sEND7写出求三个数abc解:INPUTa,b,cd=(a+b+c)/3s=((a-d)^2+(b-d)^2+(c-d)^2)/3PRINTsEND
pabc; 2S p(pa)(pb)(pc)输出S结束8编写一个程序,要求输入两个正数a和b的值,输出ab和ba解:1:INPUT“a,b:”;a,bA=a^bB=b^aPRINT“a^b=,b^a=”;A,BEND程序2:INPUT“a,b:”;a,bA=a^bPRINT“a^b=”;Ax=aa=bb=xA=a^bPRINT“b^a=”;AEND(二)条件语句例1分析下面的程,当输入x的值为3时程序的输出结果.INPUTxIFx<-1THENy=x^2ELSEIFx<=1THENy=0ELSEy=(-2)^xENDIFENDIFPRINTEND8例2给出下列程如果输入10,26,8,那么输出的.INPUTa,b,cIFa>bTHENa=bENDIFIFa>cTHENa=cENDIFPRINTaEND答案:263x解:1:开始输入开始输入xx0成立YesNoyx2yx2输出y结束IFx>=0THENPRINTxELSEPRINT–xENDIFEND程序1:INPUTxIF<0THENx=-xENDIFPRINTxEND类型题1:给计算机编写一个算法,输入一个自变量x的值,x2 x0求分段函数f(x)x2
x0
的函数值.解:该算法用自然语言表述为Step1:输入x的值.Step2x0f(x)x2f(x)x2.Step3f(x的值.开始开始外层选择结构输入xNoxYesy1Yesy0Noy1输出y内层选择结构结束程序框图为程序:INPUTxIFx>=0THENy=x+2ELSEy=x^2ENDIFPRINT“f(x)=”;yENDx0类型题2:函数y0 x0,编写一个算输入x的值输出y的.1x0解:该算法用自然语言表述为Step1:输入x的值.Step2x0y1,结束;否则进入Step3.Step3x0y0y1程序框图为:程序1:INPUTxIFx>0THENy=1ELSEIFx=0THENy=0ELSEy=-1ENDIFENDIFPRINT“y=”;yEND程序1:INPUTxIFx>0THENy=1ENDIFIFx=0THENy=0ENDIFIFx<0THENy=-1ENDIFPRINT“y=”;yEND点评:(1)条件结构的差异,造成程序执行的不同.当输入x的数值时,“程序1”先判断外层条件,依次执行不同的分支,随后再判断内层条件;而“程序2”中执行了对“条件1”的判断,同时也对“条件2”进行判断,是按程序中条件语句的先后依次判断所有的条件,满足哪个条件就执行哪个语句.(2)条件语句的嵌套可多于两层,可以表达算法步骤中的多重限制条件.3法是:行李质量不超过50kg时按0.25元/kg;超过50kg而不超过100kg时,其超过部分按0.35元/kg;超过100kg时,其超过部分按0.45元/kg.编写程序,输入行李的质量,计算出托运的费用.解:算法分析:数学模型实际上为:y关于x的分段函数.关系式0.25xy0.25500.35(x50)
0x5050x100,0.25500.35500.45(x100) x100算法步骤:第一步输入行李质量x.第二步当x50时,计算y0.25x,否则,执行下一步.x100y0.35x5y0.45x15.y.程序框图为:略INPUTxIFx<=50THENy=0.25*xELSEIFx<=100THENy=0.35*x-5ELSEy=0.45*x-15ENDIFENDIFPRINT“y=”;yEND例4判断一元二次函数ax2
bxc分析: b2 4ac,当 0时,方程有实;当 0时方程无实解:该算法用自然语言表述为Step1:输入三个系数.Step2:计算 b2
4ac.Step3:判断 0是否成.若,则输出“方程有实根否则输出“方程无实根结束算.开始程序框图为:程序为:INPUT“a,b,c=”;a,b,cd=b^2-4*a*cIFd>=0THENPRINT“Haverealroot”ELSEPRINT“Norealroot”ENDIFEND
输入a,b,cb24ac0? NoYes结束输出方程有实根 输出方程无实根结束1:设计一个求解一元二次方程ax2bxc0(a0解:算法:第一步:输入三个系数abc第二步:计算b24ac.第三步:判断0p否则,输出“方程无实根”,结束算法.
b,q 2a 2a第四步:判断0xx1 2
p;否则,计算x1程序框图:略程序为:
pq,x2
pqxx.1 2INPUT“a,b,c=”;a,b,cd=b^2-4*a*cIFd>=0THENp=-b/(2*a)q=SQR(d)/(2*a)IFd=0THENPRINT“x1=x2=”;pELSEPRINT“x1=,x2=”;p+q,p-qENDIFELSEPRINT“Norealroot”ENDIFEND2:设计算法,求axb0第一步:判断a0是否成立.若成立,输出结果“解为a”.b第二步:判断a0,b0是否成立.若成立,输出结果“解集为R”.第三步:判断a0,b0程序为:INPUT“a,b=”;a,bd=b^2-4*a*cIFa=0THENIFb=0THENPRINT“Allreal”ELSEPRINT“Noroot”ENDIFELSEPRINT“x=”;-b/aENDIFEND变式题3:设计算法,找出输入的三个不等实数a,b,c的最大值,并画出流程图.解:算法:第一步:输入a,b,c的值.第二步:判断ab是否成立,若成立,则执行第三步;否则执行第四步.第三步:判断ac是否成立.若成立,则输出a,并结束;否则输出c第四步:判断bcb,并结束;否则输出c程序为:INPUTa,b,cIFa<bTHENa=bENDIFIFa<cTHENa=cENDIFPRINTEND例5编写一个程序,使任意输入的3个整数按从大到小的顺序输出.解:算法分析:用a,b,c表示输入的3个整数.为了节约变量,把他们重新排列后,仍用a,b,c表示,并使abc.具体操作步骤如下:第一步,输入3个整数abc.第二步,将a与b比较,并把小者赋给b,大者赋给a.第三步,将a与c比较,并把小者赋给c,大者赋给a(此时a第四步,将b与cc,大者赋给babc已按从大到小的顺序排列好).第五步,按顺序输出abc程序:INPUT“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFc>aTHENt=aa=cc=tENDIFc>bTHENt=bb=cc=tENDPRINTa,b,cEND(二)循环语句例1下列程序执行后输出结果i=11S=1DOS=S*ii=i-1LOOPUNTILPRINTSEND9902下列程序输出的结果是()i=1S=0WHILEi<=4S=S*2+1i=i+1WENDPRINTSENDA.3 B.7 C.15 D.19答案:C例3已知以下程序,则()x=-1DOx=x*xLOOPUNTILPRINTxENDA.输出结果是1 B.能执行一次C.能执行10次是“死循环有语法错答案:D例7饿汉吃饼,下面是描述描述一个饿汉吃饼的情况,如果饥饿的话就吃一张饼,直到吃饱为分当型和直到型两种循环结构进行描. 开始当型 直到型n0 n0饿吗?No结束
nn1吃一张饼Yes
吃一张饼nn1不饿了? Yesn结束探究:找出当型和直到型的区别(1)当型:先判断条,再执行循环;直到型(2)当型和直到型的条.(3)当型:满足条件时执行循环;直到.点评:(1)当型型循环结构在执行循环体之前,对循环条件进行判断,当条件满足时行循环体,不满足则停止循环,执行循环结构后面的步骤.(2)
开始i1S08设计一个计算123100第一步:输入n(这里n100).sum0i1sumsumi.
ii1SSii100? Yesii1.第五步:如果i不大于nsum值就是123100的值.程序框图为:点评:这里我们用的是当型循环结构,那么本题如果用直到型循环结构,其算法又该如何?1 2 3 n1:
, , ,,2 3 4 n
,设计一个算法实现该列数的前20项和.解:算法如下:第一步:输入n(这里n20).sum0i1.sumsum
i ,ii1.i1第四步:如果i不大于n,否则.最后得到的sum值就是该列数的前20程序框图为:略2:设计一个算法计算246100解:算法如下:第一步:输入n(这里n100).sum0i2.sumsumiii2.第四步:如果i不大于n最后得到的sum值就是246100的值.程序框图为:略3:设计一个算法计算
22
1002.解:算法如下:第一步:输入n(这里n100).sum0i1.sumsumi2ii1.第四步:如果i不大于n,否则.程序框图为:略
最后得到的sum值就是12
22
1002的值.4:设计一个算法计算124263.解:算法如下:第一步:输入n(这里n63).sum0i0.sumsum2iii1.第四步:如果i不大于n最后得到的sum值就是124263的值.程序框图为:略5:设计一个算法计算123100解:算法如下:第一步:输入n(这里n100).sum0i1.sumsumiii1.第四步:如果i不大于100最后得到的sum值就是123100程序框图为:略9高中某班一共有4080和优秀(分数90用循环结构实现40s,然后对sns90mm1s80nn1.设计数器i,用来控制40解:略10任意给定一个大于1的整数n,试设计一个算法对n分析:(1)质数是只能被1和自身整除的大于1(21n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1解:算法用自然语言表述为:第一步:判断n是否等于2.若n2,则n是质数;若n2第二步:令i2.第三步:用i除n,得到余数r.r0是否成立.若是,则ni的值增加1,仍用i表示.第五步:判断in1是否成立.若是,则n说明:本算法是用自然语言的形式描述的.设计算法一定要做到以下要求:(1)写出的算法必须能解决一类问题,并且能够重复使用.11x
20(x02分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 情感设计案例分析
- 室内转装修设计专题
- 内科艾滋病患者护理要点
- 精神科抑郁症治疗护理干预培训细则
- 老年医学科认知障碍综合干预培训手册
- 冀教版认识图形教学设计
- 大学生产品设计成果展示
- 防火墙安全审计课程设计
- 基于多模态大模型的视频理解系统开发指南课程设计
- DevOps自动化部署流程
- 江苏省2026中考作文深度预测专版
- 人教版小学五年级数学下册折线统计图《复式折线统计图》示范教学课件
- 2025内蒙古乌海市国创数字产业发展有限责任公司招聘和考察更正笔试历年参考题库附带答案详解
- 黑龙江哈尔滨市2026届高考第一次模拟考试数学试题+答案
- 2026年安徽省合肥市高三二模英语试题(含答案和音频)
- 2026年传播与策划考试试题及答案答案
- 小学劝返复学工作制度
- 2026年部编版五年级语文下册金句仿写
- 广西能汇投资集团有限公司招聘笔试题库2026
- 征集和招录人员政治考核表(填写样表)
- T/CCMA 0137-2022防撞缓冲车
评论
0/150
提交评论