资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,算法与程序设计,算法与程序设计,计算机系统,1,、硬件系统,计算机系统1、硬件系统,计算机系统,2,、软件系统,计算机程序,计算机系统2、软件系统计算机程序,程序是计算机的灵魂,但计算机的灵魂是谁赋予的?,只有掌握了编程,才成为计算机的主人。,程序是计算机的灵魂,但计算机的灵魂是谁赋予的?只有掌握,计算机解决问题的三个阶段:,、分析问题(数学化),、寻找解决问题的途径和方法,(程序编写),、用计算机处理(程序运行),计算机解决问题的三个阶段:、分析问题(数学化),一、什么是算法,做任何事情都有一定的步骤:,例,1,、考大学:填报名单,交报名费,拿到准考证,按时参加考试,得到录取通知书,到指定学校报到注册,例,2,、泡茶问题:,一、什么是算法做任何事情都有一定的步骤:例1、考大学:填报名,泡茶问题(,统筹方法,),要想泡茶喝,但当时的情况是:开水没有,烧水壶要洗,茶壶和茶杯要洗;火已经生好了,茶叶也有了。请你设计一种最佳算法来完成泡茶工作。,提示:,泡茶前要做的事情有:洗水壶,(2),、洗茶壶,(2),、洗茶杯,(1),、灌凉水,(0.5),、拿茶叶,(0.5),、烧开水,(10),。,泡茶问题(统筹方法)要想泡茶喝,但当时的情况是:开水没有,泡茶最佳算法,洗水壶,(2),灌凉水,(0.5),烧开水,(10),泡茶喝,洗茶壶,洗茶杯,拿茶叶,泡茶最佳算法洗水壶(2)灌凉水(0.5)烧开水(10)泡茶喝,过河问题,在河的一岸,人、狼、羊、草均要过河,船需人划,而且最多载一物,当人不在时,狼会吃羊,羊会吃草。试安排人狼羊草安全渡河。,过河问题在河的一岸,人、狼、羊、草均要过河,船需人划,而且最,1,狼、草,人、羊,2,狼、草,人,羊,3,狼,人、草,羊,4,狼,人、羊,草,5,羊,人、狼,草,6,羊,人,狼、草,7,人、羊,狼、草,过河问题,1狼、草人、羊2狼、草人羊3狼人、草羊4狼人、羊草5羊人、狼,算法有何特征?,确定性:,算法中的每一步必须是明确的,不可以有“多义性”或“歧义性”。,有效性:,算法中的每一步必须是计算机能够有效执行,并且能得到有效结果的。,有穷性:,算法中的步骤应是有限的。,程序是计算机的灵魂,算法才是程序设计的灵魂!,算法有何特征?程序是计算机的灵魂,算法才是程序设计的,算法怎么表示,?,()自然语言:就像写文章时所列的提纲一样,有序地用简洁的语言加数学符号来描述。,()流程图:常用的构件见课本,P62,()计算机语言,(程序设计语言如,QBASIC,、,VB,、,PASCAL,、,C+,、,Java,等。),算法怎么表示?()自然语言:就像写文章时所列的提纲一样,,算法的概念和表示方法课件,闰年问题,我们通常所说的一年为,365,天,其实是个约数,准确的数字应该是,365.2422,日。那么一年,365,天,就与实际一年相差了,0.2422,日,这样四年之后就比实际的一年少了,1,天。为了弥补这个差值,历法规定,,4,年设一闰。那么如何判断一年是否为闰年呢?,提示:,1,、能被,4,整除但不能被,100,整除,2,、能被,400,整除,只要满足上述条件之一的,就是闰年,闰年问题我们通常所说的一年为365天,其实是个约数,准确的数,闰年问题(算法),输入年份,n,如果,n,能被,4,整除但不能被,100,整除,或者,n,能被,400,整除,,那么输出,n,是闰年,否则输出,n,不是闰年,自然语言表达如下,:,闰年问题(算法)输入年份n自然语言表达如下:,闰年问题,开始,输入变量,n,的值,(n mod 4=0 and n mod 1000),Or(n mod 400=0),结束,输出,n,是闰年!,Y,输出,n,不是闰年!,N,程序流程图,闰年问题开始输入变量n的值(n mod 4=0 and n,程序语言,高级程序语言,:,Visual Basic,、,Pascal,、,C,、,Java,等,低级语言;,汇编语言,计算机能够直接识别的语言,机器语言,程序语言高级程序语言:,判断闰年问题(程序实现),Private Sub Form_Load(),s=InputBox(,请输入年份:,),n=Val(s),If n Mod 400=0 Or(n Mod 4=0 And n Mod 100 0)Then,MsgBox s+,年是闰年!,Else,MsgBox s+,年不是闰年!,End If,End sub,判断闰年问题(程序实现)Private Sub Form,程序的三种基本结构,顺序结构,分支结构,循环结构,程序的三种基本结构顺序结构,流程图示例,1,、顺序结构流程图,晓明每天早上起来按图所示流程图做上学前的准备工作:,刷牙,洗脸,喝水吃早饭,背书包上学,结束,开始,流程图示例1、顺序结构流程图刷牙,洗脸喝水吃早饭背书包上学结,输入两个数,a,和,b,的值,编写程序,交换,a,和,b,的值,并输出,a,和,b,的值。,例如:,输入:,a,”可乐”,,b,”牛奶”,,输出:,a,”牛奶”,,b,”可乐”。,顺序结构,输入两个数a和b的值,编写程序,交换a和b的,开始,输入,a,、,b,的值,c=a,b=c,a=b,输出,a,、,b,的值,结束,流程图:,开始、结束框,输入、输出框,处理框,开始输入a、b的值c=ab=ca=b输出a、b的值结束流程图,程序实例,a=3,b=6,c=2*a+b,print c,程序实例a=3,2,、分支结构流程图,如图所示的流程图片断,是反映某班体育课下课的流程:,Y,N,下节是电脑课?,去电脑教室,去其它教室,下课了,结束,开始,2、分支结构流程图如图所示的流程图片断,是反映某班体育课下课,分支结构,电费收缴问题:,50,度及以下时,单价为,0.53,元;,51,度以上,单价为,0.56,元;要求程序能根据输入的电度数,求出电费。请写出算法。,分支结构电费收缴问题:,开始,Y,Dianfei=dushu*0.53,流程图:,输入电的度数,dushu,如果,dushu10 Then y=2*x Else y=x*x+1 End If print(y),程序实例 x=5 If x10,Y,N,存储空间满了?,不能拍照了,取 景,拿出相机,结束,按下快门,开始,3,、循环结构流程图,如图所示的流程图,是反映用数码相机拍照的流程:,返回,YN存储空间满了?不能拍照了取 景拿出相机结束按下快门,开始,输入,s,的值,s=0,i=1,i=100,结束,输出,s,的值,N,S=s+i,Y,流程图:,开始输入s的值s=0i=100结束输出s的值NS=s+iY,程序实例,s=0,for i=1 to 100,S=s+i,next i,print s,程序实例s=0,任务:,实现程序,使标签框和文本框在单击标题为“显示”的按钮时,能显示文字“跟我学,VB,,啦啦啦啦!”,任务:实现程序,使标签框和文本框在单击标题为“显示”的按钮时,
展开阅读全文