算法与程序设计教案.ppt
《算法与程序设计教案.ppt》由会员分享,可在线阅读,更多相关《算法与程序设计教案.ppt(170页珍藏版)》请在课桌文档上搜索。
1、第一章 揭开计算机解决问题的神秘面纱,1.1计算机解决问题的过程,针对课本P2的问题,运用你所学过的数学知识,求解这个问题,并写出解题的过程。,?,计算机解决问题的步骤,1、分析问题2、设计算法3、编写程序4、调试程序,分析问题,设甲乙丙三种产品的产量分别为x、y、z件,根据题目给出的条件,x,y,z应满足如下的关系式:2x+2y+z12X+2y+z 84x 164y 12X,y,zN(N表示自然数)解题的目标是:求出适当的x,y,z,使f(x,y,z)=4x+3y+2z取得最大值,X,y,z是整数且:0 x 4 0 y 30 z 8,设计算法,解题步骤:第一步:把满足不等式组 的xyz的值代
2、入f(x,y,z)=4x+3y+2z中求值第二步:在所有的f(x,y,z)函数值中,找出最大值第三步:输出f(x,y,z)的最大值及其x,y,z的值第四步:结束,逐步求精,写出更详细的步骤,第一步求精:把满足不等式组 代入f(x,y,z)=4x+3y+2z中求值(1)对每一个x(x=0,1,2,3,4),做下一步。(2)对每一个y(y=0,1,2,3),做下一步。(3)对每一个z(z=0,1,2,3,,8),做下一步。(4)逐一地检查x,y,z是否满足不等式组,如果满足,则代入f(x,y,z)=4x+3y+2z中求值.,第二步求精:在所有的f(x,y,z)函数值中,找出最大值设f(x,y,z)
3、的最大值为f_max,其相应的自变量为x_max,y_max,z_max,则:(1)令f_max=0;(2)对每一个x(x=0,1,2,3,4),做下一步。(3)对每一个y(y=0,1,2,3),做下一步。(4)对每一个z(x=0,1,2,3,,8),做下一步。(5)如果f_maxf(x,y,z),则f_max=f(x,y,z),x_max=x,y_max=y,z_max=z。,逐步求精,写出更详细的步骤,编写程序,Private Sub Command1_Click()Dim x As Integer,y As Integer,z As IntegerDim x_max As Integer
4、,y_max As Integer,z_max As IntegerDim f(4,3,12)As Single 定义存放函数f(x,y,z)值的数组fDim f_max As Single 把满足不等式组(1.1)的x、y、z代入 f(x,y,z)=4x+3y2z中求值For x=0 To 4For y=0 To 3For z=0 To 8If(2*x+2*y+z=12)And(x+2*y+z=8)Then f(x,y,z)=4*x+3*y+2*z Else f(x,y,z)=0End IfNext zNext yNext x,(1)对每一个x(x=0,1,2,3,4),做下一步。(2)对每
5、一个y(y=0,1,2,3),做下一步。(3)对每一个z(x=0,1,2,3,,8),做下一步。(4)逐一地检查x,y,z是否满足不等式组,如果满足,则代入f(x,y,z)=4x+3y+2z中求值.,算法,程序,编写程序,在所有的f(x,y,z)中,找出最大值f_max=0For x=0 To 4For y=0 To 3For z=0 To 8 If f_max f(x,y,z)Then f_max=f(x,y,z)x_max=x y_max=y z_max=z End IfNext zNext yNext xPrint 当x=;x_max;,y=;y_max;,z=;z_max;时,Prin
6、t f(x,y,z)的最大值;f_max,(1)令f_max=0;(2)对每一个x(x=0,1,2,3,4),做下一步。(3)对每一个y(y=0,1,2,3),做下一步。(4)对每一个z(x=0,1,2,3,,8),做下一步。(5)如果f_maxf(x,y,z),则f_max=f(x,y,z),x_max=x,y_max=y,z_max=z。输出f(x,y,z)的最大值及其x,y,z的值,算法,程序,练习:,按课本P5P6的步骤,使用Visual Basic输入程序并调试运行,用计算机解决问题的步骤,具体问题,分析问题,设计算法,编写程序,调试程序,得到答案,实践,P8实践及练习,1.2算法和
7、算法的描述,例1:有一个3毫升的量杯和一个5毫升的量杯,杯上没有刻度,你能想办法用它们量出1毫升的水吗?,方法一:,1、将3毫升的量杯装满2、将3毫升量杯中的水全部注入5毫升的量杯3、将3毫升的量杯装满4、利用3毫升量杯中的水将5毫升量杯倒满,3毫升量杯中剩余1毫升水。,方法二:,1、将5毫升的量杯装满2、将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余2毫升水3、将3毫升量杯倒空4、将5毫升量杯中剩余的2毫升注入3毫升量杯5、将5毫升量杯装满6、将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余4毫升水7、将3毫升量杯倒空8、将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中
8、剩余1毫升水,为解决某一问题而设计的确定的有限的步骤就称为算法,2、算法的特点:,有穷性确定性可行性有0个或多个输入有1个或多个输出,3、计算机算法的描述方法,自然语言描述法用自然语言表示算法,人比较容易理解,但书写较烦琐,具有不确切性,容易引起歧义,造成误解;对较复杂的问题,用自然语言难以表达准确;计算机不能识别和执行。,流程图描述法用图形符号表示算法必须要有一组统一规定、含义确定的专用符号;用流程图表示算法就较直观、形象;计算机不能识别和执行。,伪代码或程序设计语言描述法只有用计算机能理解和执行的程序设计语言把算法表示出来,输入计算机执行,计算机才能按照预定的算法去解决问题;不同类型的计算
9、机能够识别的指令和语言不尽相同,即使对同一种计算机语言,不同类型的计算机对该语言的翻译程序也有差异。,算法的流程图表示,流程线,表示从某一框到另一框的流向,算法的流程图表示,起止框,表示一个算法的开始只有一根流出线,没有流入线,流程框图及流线画法,表示一个算法的结束只有一根流入线,没有流出线,开始框,结束框,输入、输出框,框内标明输入、输出的内容上方一根流入线,下方一根流出线,流程框图及流线画法,处理框,框内标明所进行的处理上方一根流入线,下方一根流出线,流程框图及流线画法,判别框,框内标明条件,并在框外标明判定后的两种结果的流向。上方一根流入线,下方两根流出线,流程框图及流线画法,连接圈,表
10、示算法流向出口或入口连接点同一出口入口点的连接圈内,必须标以相同的符号。,算法的流程图表示,例7:用流程图表示:从键盘输入圆的半径,计算其面积,例8:用流程图表示:求从键盘输入的任意半径的圆的面积和周长,例1:判断下列算法是否符合算法的特征:给s赋值为1将s的值增加1重复步骤,解答:该算法的步骤将被重复执行无穷次,不符合算法的有穷性,返回,例2:判断下列算法是否符合算法的特征L=10输出L/自然数,解答:自然数没有具体指明是哪个数,不符合算法的确定性,返回,例3:判断下列算法是否符合算法的特征x=-2计算x的平方根,解答:x是负数,没有平方根,该算法不可行,不符合算法的可行性,返回,例4:写出
11、算法:计算半径为2的圆的面积,解答:R=2S=3.14*R*R输出面积S,说明:该算法中已包含计算所需的初始数据,因此没有外部数据输入,说明:该算法中计算面积所需的初始数据半径R待定,要在程序运行后从键盘输入。而算法是解决一类问题的,往往所需的初始数据不止1个,可能会有多个。通过前两个例子可以知道,算法可能有0个或多个输入。,解答:输入圆的半径RS=3.14*R*R输出面积S,例5:写出算法:从键盘输入圆的半径,计算其面积,返回,说明:算法可能有1个或多个输出。,例6:求从键盘输入的任意半径的圆的面积和周长,解答:输入圆的半径RS=3.14*R*RC=2*3.14*R输出面积S,周长C,返回,
12、对鸡兔同笼问题的算法描述示例,(1)输入a和b的值(2)求x=2a-b/2(3)求y=b/2-a(4)输出x,y的值(5)结束,流程图描述算法,自然语言描述算法,求出100以内能被3整除的所有正整数算法描述示例,流程图描述算法,(1)令I=1;(2)如果I能被3整除,则输出I;(3)I=I+1;(4)如果I100,则返回第(2)步(5)结束,自然语言描述算法,算法举例,素数的定义:一个大于1的整数,如果它的正因数只有1和它本身,就叫做素数,否则就叫合数。,如何判定给定正整数n是否为素数呢?根据定义。,从2开始找n的因子,若能找到一个介于2和n-1之间的n的因子,说明n不是素数;否则,n是素数。
13、,1、素数判别,素数判别,Y,N,K=2,K不能整除n?,K=K+1,输出n是素数,输入n的值,开始,结束,Y,N,K等于n?,输出n不是素数,2、计算1+2+100的流程图,3、判断闰年的流程图,k能被4整除?,输入一个年份值k,开始,结束,输出k不是闰年,输出k是闰年,Y,N,k能被100整除?,Y,k能被400整除?,Y,N,N,输出k是闰年,输出k不是闰年,实践,完成P11实践完成P12实践,算法在解决问题中的地位和作用,P13探究并将活动结果填入课本表1-6中。,程序算法程序的效率主要取决于算法的效率,练习,P13练习(1)(3),1.3程序与程序设计语言,程序,程序中,每一个算法的
14、步骤对应着程序设计语言的一个或多个语句,每个语句对应一个或多个操作,每个操作都要求有执行对象。除非特别声明,程序都从第一条语句开始顺序执行。程序总是施行操作于数据。数据一般应该有类型说明。条件语句重复执行语句时必须指明重复次数或重复条件。程序本身是一个静态实体,而执行语句的进程是动态的。,程序的特征,程序的基本结构,顺序结构 选择结构 循环结构,是,否,程序设计,程序设计语言的产生与发展,机器语言:由“0”和“1”这样的二进制代码指令组表示的,能被计算机直接接受和执行的计算机语言。汇编语言:指令码和操作数采用符号表示,每一条汇编指令都和一条机器指令相对应。高级语言:更接近于自然语言,但需经过翻
15、译器翻译成机器语言。,程序的编辑和翻译,源代码与源文件编译与解释,第二章 程序设计基础,2.1 VB语言及程序开发环境,探究-“求圆的面积”的程序,Private Sub Command1_Click()Const pi As Single=3.14Dim r As Single,s As Singler=InputBox(“r=”,”输入半径”)s=pi*r 2Print“圆的面积s=”;sEnd Sub思考:(1)程序有多少行,每一行的作用是什么?(2)如果按语句的作用区分,这个程序包含几个部分?(3)程序中用到了哪些数据类型,分别是什么?,过程结束,定义名为command1_click(
16、)的事件过程,说明程序中pi是常量,定义半径r和面积s为单精度实型,输入r的值,把表达式pi*r*r的值赋给s,把s的值输出到当前的窗体上,数据类型说明部分,数据的输入部分,数据的处理部分,数据的输出部分,上机练习一,编写VB程序求解“圆的面积”问题。,Private Sub Command1_Click()Const PI As Single=3.14 Dim r As Single,s As Single r=InputBox(r=,输入半径)s=PI*r*r Print 圆的面积s=;sEnd Sub,常量,变量,函数,表达式,VB程序一般包括四个基本知识,探究-“求圆的面积”的程序,V
17、B中的常用数据类型,基本数据类型,整型 Integer长整型 Long单精度实型 Single双精度实型 Double日期型 Date(Time)#2004-02-01#字符型 String“wenchang”、“文昌”逻辑型 Boolean,常量和变量,常量 在程序运行中保持不变的常数、字符串,如3.14、r=、输入半径等 常量定义方法:Const 常量名 As 类型=表达式,例:Const PI As Single=3.14 声明了常量PI,代表3.14,单精度型 Const MAX As Integer=144 声明了常量MAX,数值为144,整型,变量是指存储器中有着特定名称的存储单位
18、,其特点就是存放在其中的数据值可任意改变。变量的作用其实类似于日常生活中使用的各种储值卡,如电话IC卡、银行卡等,在程序中调用变量名时就是引用变量中存储的值。,常量和变量,常量和变量,变量的定义方法 Dim As 如:Dim X As integer Dim k As Integer,y AS Single说明:1、如果没有As 类型,则默认为变体类型2、一条语句可以同时定义多个变量,但每个变量必须有自己的类型声明,类型声明不能共用,变量的命名规则1)必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度255个字符2)不能使用VB中的关键字,并尽量不与VB中标准函数名同名;如:Dim、S
19、in 3)VB中不区分变量的大小写,一般变量首字母用大写,其余用小写;常量全部用大写字母表示,运算符、函数和表达式,算术运算符,Dim MyValueMyValue=10/4 返回 2.5MyValue=10/3 返回 3.333333MyValue=10 4 返回 2MyValue=10.67 3 返回 3MyValue=2 3 返回 8MyValue=10 Mod 3 返回 1MyValue=12 Mod 4.3 返回 0MyValue=12.6 Mod 5 返回 3MyValue=(-10)Mod 3 返回-1MyValue=10 Mod(-3)返回 1,与Mod参与运算的两数中有一个是
20、浮点数,该数会先被四舍五入成整型后再进行运算。求余结果的正负号始终与第一个运算量的符号相同。,字符运算符,算术运算符的优先顺序指数运算()负数(-)乘法和除法(*、/)整数除法()求余的模运算(Mod)加法和减法(+、-),常见函数(见附录二),表达式,表达式是指某个求值规则,它由运算符和配对的圆括号将变量、常量、函数等操作数以合理的形式连接起来的式子。如:PI*r*r,表达式书写举例,【例1】将 数学式改写成VB的算术表达式,VB的算术表达式为:3.14159/(a2+Sqr(b),VB表达式:a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g),【例2】,练习实践,根据常量、变量
21、、函数、表达式的特征完成以下实践(1)下列数据属于字符串常量的是()A.bcdaB.”zanfb”C.hjdnc D.j-098(2)在VB语言中,下列数据中合法的长整型常量是()A.09bB.2738940C.99.876345 D.8.12345E12(3)在VB语言中,下列变量中合法的变量是()A.b90B.abc=9C.hello D.888f1(4)在VB语言中,下列表达式中合法的表达式是()A.a+b*|c|B.bct9C.-*D.PI*R*R,可视化程序的开发环境,工程窗口,属性窗口,布局窗口,可视化程序的开发环境,布局窗口,属性窗口,工程窗口,窗体设 计窗口,代码窗口,控件工具
22、箱,按这里可以运行程序、暂停程序和停止程序,在Visual Basic中,有3种工作模式,分别是“设计”、“中断”和“运行”。在“设计”模式下,可以进行用户界面的设计和代码的编写、修改,来完成应用程序的开发;在“运行”模式下,不能对窗体界面和代码进行修改,只能查看程序运行的结果;“中断”模式使应用程序暂时中断运行,这时可以编辑代码,但不可以修改界面,同时弹出一个窗口,用户可对程序进行调试监控。中断后,按下“运行”按钮或F5键可以继续运行,按下“结束”按钮可以结束程序运行。,Visual Basic的3种工作模式,可视化程序的开发环境,1、控件工具箱窗口:提供编程所需的控件,与大多数软件一样有共
23、同点:标题栏、菜单栏、工具栏、工作区不同地方:控件工具箱、窗体设计窗口、代码窗口、VB工程管理器、属性窗口、窗体布局窗口,可视化程序的开发环境,2、窗体窗口:是VB的主窗口 设计界面窗口 在程序设计阶段,是进行程序界面的可视化设计的窗口 在程序运行阶段,是用户与该窗体中的控件交互信息的窗口,可视化程序的开发环境,3、工程资源管理器 工程窗口 作用:是管理工程中各个组件,(1)查看代码:显示代码窗口(2)查看对象:显示对象设计窗口(3)切换文件夹:改变列表区的显示方式,可视化程序的开发环境,4、属性窗口:可查看和编辑窗体或控件的属性 作用:主要用来设定一个对象的初始外观,可视化程序的开发环境,常
24、用窗口的作用,学生练习:制作第一个VB程序,这个程序要求如下:(1)当按下“按我”按钮时,在窗口上方将出现“欢迎进入VB世界!”(字体设置为:楷体、蓝色、粗体、二号);(2)当按下“清除”按钮时,“欢迎进入VB世界!”文字消失;(3)当按下“退出”按钮时,退出这个窗体。,学生练习:制作第一个VB程序,制作流程:一、创建界面1、启动 VB 6.0,创建一个窗体 Form1 2、在窗体上添加控件(1)在窗体上添加“按钮”控件。方法:单击按钮控件,在窗体上的合适处依次画出三个按钮。(2)在窗体上添加“标签(Label)控件”(用于在窗体上显示文字)方法:单击控件工具箱上的“A”字样的图案,在窗体上合
25、适的位置画出标签控件。,学生练习:制作第一个VB程序,二、设置界面控件属性 1、设置窗体标题(Caption)属性(1)选中属性窗体(2)选中属性窗口(3)选中“Caption”属性(4)在“Caption”属性的值中输入“welcome!”,在“backcolor”选择淡黄色 2、设置三个按钮(Command)属性(1)选中按钮(2)选中属性窗口(3)选中“Caption”属性(4)在“Caption”属性旁的值中输入“按我”,”清除“,”退出“3、设置标签(Label)属性(1)选中标签(2)选中属性窗口(3)设标签标题为空:选中“Caption”属性,在“Caption”属性旁的值中删除
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 程序设计 教案

链接地址:https://www.desk33.com/p-259791.html