




已阅读5页,还剩111页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息技术(选修一),算法与程序设计,指导教师:刘玉军,佛山市顺德区伦教中学,开心,快乐,学习,信息技术(选修一),指导教师:刘玉军,准备,一、学生按座位自由分组、小组编号、推荐小组长;二、选课,实名注册三、熟悉天空教室网络平台,第一课计算机如何解决问题,国际象棋“人机大战”落幕世界冠军惜败“深奥的德国人”,中国象棋人机大战计算机微弱优势取胜,古典问题韩信点兵,韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓gi下十面埋伏,击败楚军,楚霸王项羽因此自杀。,韩信点兵问题:相传汉高祖刘邦问大将军韩信统御士兵多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人刘邦听后茫然而不知其数。你能说出有多少士兵吗?,韩信点兵问题一,求整除3余1、整除5余2、整除7余4的最小自然数。,分析问题,设所求的数为X,则x应满足:x整除3余1、x整除5余2、x整除7余4。,解题步骤(思路),1、令X为12、如果X整除3余1,X整除5余2,X整除7余4,这就是题目要求的数,则记下这个X3、令X为X+14、如果算出,则结束,否则跳转25、写出答案,韩信点兵问题二,求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然数。,编写程序:VB语言参考代码,X=1Y=0Doifxmod3=1andxmod5=2andxmod7=4andxmod13=6andxmod17=8theny=xX=x+1Loopuntily0Printy,计算机解决问题的步骤,1、分析问题2、设计算法3、编写程序4、调试程序,交流,速度慢,易出错.,都需要分析问题,设计算法.,速度快,需编写程序和调试程序,实践,1、模仿学过的用计算机程序解决问题的方法,设计一个算法,尝试求解鸡兔同笼问题:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?,实践,2.设计一个算法,求两个数中的最大数,算法和算法的描述,欧几里得:求两个整数的最大公约数的过程辗转相除法,其具体过程如下:设给定的两个正整数为m和n,求它们的最大公约数的步骤为:、以m除以n,令所得的余数为r.、若r=0,则输出结果n,算法结束;否则继续步骤()。、令m=n,n=r,并返回步骤()继续进行。,实践,设给定的两个正整数m=112和n=64,利用辗转相除法,求它们的最大公约数。()除以,余数为()除以余数为()除以余数为答和的最大公约数思考:和的最小公倍数,算法algorithm:lgrim概念,通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。,算法algorithm:lgrim特征,1、输入2、确定性3、有穷性4、输出5、能行性,三、算法algorithm:lgrim的描述,表示算法的语言主要有自然语言、流程图、伪代码等。例1-2:鸡兔同笼问题。35个头,94只脚,鸡和兔各有多少只?画出流程图。,例1-2的算法流程图,探究,1.求两个大整数的最大公约问题.(9147485和5147480)2.设计一个算法,求出100以内能被3整除的所有正整数,计算机解决问题的过程,例2:从键盘输入三角形的三边长a、b、c,如果能构成一个三角形,则输出其面积,否则输出“不能构成一个三角形!”的提示信息。提示:计算机三角形面积的公式为:其中p=(a+b+c)/2,递归算法,一天,小猴子从树上摘下若干个桃子,当即吃了一半,觉得好吃,又吃了一个.第二天小猴子接着吃剩下的一半,再多吃一个.以后每天都是吃前一天剩下的一半,再多吃一个.到第四天,只剩下一个桃子.试设计一下算法流程图.求小猴子第一天摘下多少个桃子.,算法描述:,function你有多少桃子?(第几天)如果我第10天,那么我就有一个桃子。否则,我的桃子数=(前一天的桃子数+1)*2endfunction,参考代码,Functiontao(ByValdaysAsInteger)AsIntegerIfdays=10Thentao=1Elsetao=(tao(days+1)+1)*2EndIfEndFunction,循环算法,Dimk,iAsIntegerk=1Fori=1To4Printkk=(k+1)*2Nexti,算法流程图,P11图1-3,伪代码,Inputm,nR=mmodnDowhiler0thenm=nn=rr=mmodnLoopPrintn,例1:从键盘输入圆的半径r,编程计算圆的面积。,1、分析问题圆的半径为r,则圆的面积s=3.14*r22、设计算法根据题意,用顺序结构来完成。第一步输入圆的半径r;第二步求s=3.14*r*r的值第三步输出结果,例1:从键盘输入圆的半径r,编程计算圆的面积。,3、编写程序(visualBasic语言)DimrasdoubleDimsasdoubler=inputbox(“r=”)s=3.14*r*rPrint“s=“;s4、调试程序程序编好后,通过键盘输入计算机,运行程序,并输出结果,直到没有错误为止。,四、课堂练习:画流程图和编写代码,例2:从键盘输入三角形的三边长a、b、c,如果能构成一个三角形,则输出其面积,否则输出“不能构成一个三角形!”的提示信息。提示:计算机三角形面积的公式为:其中p=(a+b+c)/2,练习,有三个装油的瓶子,大瓶子可装1L,中瓶子可装0.7L,小瓶,自然语言算法,1,把7升的倒满;2,从7升里把3升的倒满,再把这3升倒到10升里去;3,从7升里把3升的倒满,再把这3升倒到10升里去,这样7升的剩1升;4,把7升里的最后1升倒到3升的里去;5,从10升把7升的倒满,这样10升里剩2升;6,从7升里把3升的倒满,再把这3升倒到10升里去,ok,结束。,五、程序与程序设计语言,程序设计语言机器语言汇编语言高级语言程序编辑程序编译程序(解释程序)连接程序,第二课程序设计基础,目标:学习如何使用VB语言来编写程序,知识要点回顾:,程序的基本结构:顺序结构选择结构循环结构程序设计程序设计就是编写程序的过程.需要把计算机做的工作写成一种计算机能接受的程序.算法算法就是求解某一问题的方法.,课堂实践探究,求”半径为r的圆的面积”的程序dimrassingledimsassingler=inputbox(“r”)s=3.14*r*rprints,2.1VB语言及程序开发环境,基础数据类型常量与变量运算符、函数和表达式,2.2程序的顺序结构,赋值语句(=)输入数据的函数(inputbox)输出数据的方法(print),问题1,2-2:已知长方体的长、宽、高,编写一个程序,求长方体的全面积和体积。分析问题设计算法编写程序调试程序,问题2,2-3:从键盘上输入一个三位整数,然后将它反向输出。例如输入456,输出应为654。分析问题设计算法编写程序调试程序,代码参考,X1=xmod10X2=x10mod10X3=x100Y=x1*100+x2*10+x3,练习,1:从键盘输入三角形的三边长a、b、c,计算机三角形面积.提示:计算机三角形面积的公式为:p(p-a)(p-b)(p-c)的平方根,其中p=(a+b+c)/2,练习,甲乙进行百米赛跑,甲从开始到终点都以每秒2米,乙第一秒跑1米以后每秒都比前一秒多跑005米,编写程序求谁能获胜。,练习,古希腊有位大数学家Diophantus丢番图有一段有名的墓志铭:过路人,这里埋著Diophantus的骨灰,下面的数字,可以告诉你,他的一生有多长。他的生命的六分之一是愉快的童年;在过了他生命的十二分之一,他的面颊上长了细细的胡须,如此,又过了一生的七分之一,他结了婚。婚后五年,他获得了第一个孩子,感到很幸福。可是,命运给这孩子在这世界上光辉灿烂的生命,只有他父亲的一半。自从儿子死了以后,他在深切的悲痛中活了四年,也结束了尘世的生涯。试问Diophantus活了多少年?,练习,试编写一个程序,求平面中两点之间的距离一列火车在某地时的速度为v0=40km/h,现以加速度m/s2加速度行驶,试编写一个程序,求2min后的速度V和距开始点的距离(v=v0+at,s=v0t+at2/2),2.3程序的选择结构,(1)、条件语句的格式一:If条件then语句1(2)、条件语句的格式二:If条件then语句组1Endif(3)、条件语句的格式三If条件Then语句组1Else语句组2EndIf,练习,从键盘输入三角形的三边长a、b、c,如果能构成一个三角形,则输出其面积,否则输出“不能构成一个三角形!”的提示信息。提示:计算机三角形面积的公式为:S=p(p-a)(p-b)(p-c),p=(a+b+c)/2,程序代码,dimaassingledimbassingledimcassingledimpassingledimsassinglea=inputbox(a)b=inputbox(b)c=inputbox(c)p=(a+b+c)/2s=p*(p-a)*(p-b)*(p-c)ifs0thens=sqr(s)prints=;selseprint不能构成三角形endif,编写一程序,判断年份是否为闰年。,公历闰年判定遵循的规律为:四年一闰,百年不闰,四百年再闰.公历闰年的简单计算方法(符合以下条件之一的年份即为闰年)1能被4整除而不能被100整除。2能被400整除。,测验题一,1、从键盘任意输入一个数,如果是正数,则输出该数的平方根;如果是负数,则输出该数的立方根;否则就输出零。2、输入两个数a,b,输出较大数的立方值,输出较小数的平方值。,测验题二,3、铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超过50公斤,超过部分每公斤加收0.10元。编一程序完成自动计费工作。4、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的,超过部分按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。,练习题三,5、输入a,b,c三个不同的数,将它们按由小到大的顺序输出。6、当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。编一程序完成分数的自动转换工作。转换规则如下:60分以下的为不合格;60到69分为合格;70到89分为良好;90分以上包括90分的为优秀。,2.3程序的选择结构,登录天空教室网络平台查看教程2.3192.168.0.1/school公用帐号:student密码:student,猜数字大小游戏,点击游戏地址,下载并运行,简单解释“大”按钮事件部分代码,部分代码一:Ifx7ThenFlag=TrueFlag=True表示猜中ElseFlag=FalseFlag=False表示未猜中LOST=LOST+10多输10元Label7.Caption=你现在的金额是:计算判别式D=L*L/4-4*S如果D=0,则计算x1=(L/2+sqr(D)/2x2=(L/2-sqr(D)/2并输出x1和x2,否则输出“找不到这样的矩形”结束,3、编写程序,DimLasdoubleDimSasdoubleDimDasdoubleL=inputbox(“请输入铁丝的长度:”)S=inputbox(“请输入矩形的面积:”)D=L*L/4-4*SIfD=0thenx1=(L/2+sqr(D)/2x2=(L/2-sqr(D)/2print“这个矩形的长和宽分别为:”;x1;”和”;x2Elseprint“找不到这样的矩形”EndIF,2.3.2条件语句,1.条件语句的格式If条件Then语句组1Else语句组2EndIf,2.3.2条件语句,2.条件语句的执行过程,2.3.2条件语句,3.关系表达式关系运算符号有:,关系表达式的值:假(False)和真(True)数据类型:逻辑型(Boolean),2.3.2条件语句,4.逻辑表达式逻辑运算符:Not(非)And(与)Or(或)5.逻辑运算的顺序算术运算关系运算逻辑运算例:a+bc+dAnda=5orNotc0Ord=0thenPrint“Y=“;AelsePrint“Y=”;-A,实践,2、某商场为了对苹果进行促销,规定购买2千克以上可以在原价每千克1.5元的基础上打8折。请设计一个程序计算购买x千克苹果的应付款。,练习1,编写一程序,判断年份是否为闰年。闰年的条件:年份能被4整除但不能被100整除,或能够被100整除也能被400整除。X=inputbox(“输入年份”)If(xmod4=0)and(xmod1000)thenprintx;”闰年”If(xmod100=0)and(xmod400=0)thenprintx;”闰年”,练习2,编一个程序,输入三个数,输出其中最大数a=inputbox(“a”)b=inputbox(“b”)c=inputbox(“c”)Max=aIfbmaxthenmax=bIfcmaxthenmax=cPrint“最大数是”;max,练习,DimxasdoubleX=inputbox(“x”)Ifx8thenX=x-8PrintxEndifIfx5thenprintx+91、当输入9时程序运行结果是多少?2、当输入20时程序运结果是多少?,2.多重选择语句的格式,基本格式:SelectCase表达式Case表达式列表1语句组1Case表达式列表2语句组2CaseElse语句组N+1EndSelect,实践,1、当F=1,2,3,4时程序运行的结果Dima,b,cassingleDimdasstringF=inputbox(“请输入F的值:”)A=2B=3Selectcasefcase1:c=a+b:d=“+”case2:c=a-b:d=“-”case3:c=a*b:d=“*”case4:c=a/b:d=“/”EndselectPrinta;d;b;”=”;c,综合练习1,我们把字符作为如下的分类:大写字母:A-Z;小写:a-z;数字:0-9;其他字符。编写一个程序,根据上述分类的方法,输入一个字符,报告该字符所属的类型。,代码参考,DimcAsStringc=InputBox(输入任意字符)SelectCasecCaseAToZprint字母大写类别&cCaseaTozprint字母小写类别&cCase0To9print数字类别&cCaseElseprint其他类别&cEndSelect,综合练习2,编写一个程序,让计算机同我们一起玩剪发、钉锤、布游戏。如果人输了,则输出“LOSE”,人赢了,则输出”WIN”,人与计算机平了,则输出“DEUCE”.,思考问题,编程输出10以内的所有偶数?程序代码:print2print4print6print8print10,如果要依次输出100甚至1000以内的所有偶数。怎么办?,循环结构思想,利用循环结构,使我们只要通过少量的语句,让计算机重复执行许多次,从而完成要求。重复要做的事情就是循环体。在上例中循环体是什么?printi利用计数变量来控制循环执行的次数,否则是死循环。变化规律:后一个常量总比前一个常量大2。即i=i+2。,新课:For循环结构,本节课学习目标1.理解循环结构的基本思想。2.掌握用For循环语句编写程序。基本格式:For循环变量=初值to终值Step步长语句组Next循环变量,说明:,For语句:其作用是确定循环变量的值如何变化,从而控制循环的次数。循环变量:它是一个数值变量。初值、终值和步长可以是常量、变量和表达式;步长:如果步长为1,则可省略不写。循环体在For语句和Next语句之间的语句序列,可是一个或多个语句。ExitFor语句:退出循环。Next语句:循环终端语句,在其后的循环变量须与For语句中的“循环变量”一致。,For循环变量=初值to终值Step步长语句组Next循环变量,观察:单步执行i值变化情况,输出10以内的所有偶数Fori=2to10step2PrintiNexti,源程序,自主探究,视频袁隆平:一粒种子改变世界,背景介绍:杂交水稻之父袁隆平,登录天空教室网络平台查看教程2.4.1网址:192.168.0.1/school公用帐号:student密码:student,探究任务:超级水稻种植实验的统计分析,要求:用For循环语句实现,并上传探究结果。现已知某个因素M种水平5次试验的亩产量(单位:千克)如下表所示,求各种水平影响下的亩产量。,作品展示评价,评价量表,参考作品,实践,编程求1+2+3+100的和编程求10!,拓展任务,要求:用For循环语句实现猴子吃桃问题一天,小猴子从树上摘下若干上桃子,当即吃了一半,觉得不过瘾,又吃了一个。第二天小猴子接着吃剩下的一半,还觉得不过瘾,又吃了一个。以后每天都是吃前一天剩下的,就再多吃一个。到第四天,只剩一个桃子。试设计一个算法,求小猴子第一天摘下多少个桃子。,小结:,For语句与Next语句必须成对出现,缺一不可。For语句必须在Next语句之前。For语句中的循环变量与Next语句中的循环变量必须一致。如果步长为1,则step1可省略。,For循环变量=初值to终值Step步长语句组Next循环变量,2.4程序循环结构,For循环语句格式:For循环变量=初值To终值Step步长语句组Next循环变量,实践写出循环结束时变量A的值、循环次数、运行结果。,1、fora=1to10printanexta,2、fora=1to100s=s+anextaprints,3、fora=100to1step-1s=s+anextaPrints,4、fora=1to10a=a+1printanexta,实践,编程输出:九九乘法表P57(图2-19)1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2=147*3=217*4=287*5=357*6=427*7=498*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=649*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81,代码参考,DimiasintegerDimjasintegerFori=1to9forj=1toIprintinextjprintNexti,2.4程序循环结构,Do循环语句(循环次数不确定)一、当条件满足时执行循环体Dowhile条件循环体loop=二、当条件满足时退出循环Do循环体loopuntil条件,问题:,陈婷今年17岁了,她的生日正好是3月12日植树节。今年植树节老师带同学们到公园里去植树。陈婷很高兴,一个人就栽了3棵树,过了一个很有意义的生日。她想,如果从明年开始每年过生日的时候都去植树,并且每一年要比前一年多栽一棵树,这样下去,到多少岁时才能累计种到或超过100棵树呢?,代码参考,DimageasintegerDimtreeasintegerAge=17Tree=3Doage=age+1tree=tree+age-14Loopuntiltree=100Printage,tree,实践,1、已知s=1+2+3+N,找出一个最大的整数N,使得S=30000Printn,实践,2、假设纸的长度足够长,厚度为0.1毫米,对折一次厚度增加1倍,现在对折纸张,直到总厚度超过珠穆朗玛峰的高度为止(最新高度:8844.43米),对折纸张的次数。,代码参考,K=0H=0.1Dok=k+1h=h*2Loopuntilh=8844.43*1000Printk,练习,求2-1000中完全数(因子之和等于它本身的数为完全数),例如28的因子是1、2、4、7、14,且1+2+4+7+14=28,则28是完全数,DimxAsLongDimkAsLongDimsAsLongForx=2To1000s=0Fork=1Tox-1IfxModk=0Thens=s+kEndIfNextIfs=xThenprintxEndIfNext,综合练习,现在面值为1元、2元和5元的钞票(假设每种钞票的数量足够多),从这些钞票中出30张使其总面值为100元,问有多少种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版企业税收筹划与财务优化咨询合同
- 2025年度大学生创新创业实习基地合作协议
- 2025版石子买卖合同标准文本
- 2025版挖掘机运输与现场安装指导合同
- 2025版智能热水器远程监控与紧急维修合同
- 河北省安平县2025年上半年事业单位公开遴选试题含答案分析
- 2025版砂石厂爆破施工安全培训与考核合同
- 2025创业项目网络直播带货渠道合作协议
- 2025年度道路照明施工总价合同模板
- 2025年智能物流仓储系统供货与运营管理协议
- 变电站新进人员培训课件
- 医院伦理培训课件
- 《人工智能应用基础》 完整课件(共十个模块-上)
- LY/T 2246-2014森林消防专业队伍建设和管理规范
- JJG 956-2013大气采样器
- GA/T 1707-2020防爆安全门
- 会展项目管理教材 课件
- 重医大内科诊疗操作规范内科诊疗操作规范
- 初中英语单元整体教学讲座课件
- 《幸福比优秀更重要》读书分享 课件
- 脚手架作业安全管理培训
评论
0/150
提交评论