高中信息技术算法与程序设计第一章课件粤教版选修1_第1页
高中信息技术算法与程序设计第一章课件粤教版选修1_第2页
高中信息技术算法与程序设计第一章课件粤教版选修1_第3页
高中信息技术算法与程序设计第一章课件粤教版选修1_第4页
高中信息技术算法与程序设计第一章课件粤教版选修1_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、算法与程序设计算法与程序设计第一章第一章 揭开计算机解决问题的揭开计算机解决问题的神秘面纱神秘面纱算法与程序设计算法与程序设计1.1 计算机解决问题的过程从一个生产方案问题了解用计算机解决问题的步骤:p6具体问题分析问题设计算法编写程序调试程序得到答案掌握用自然语言表达算法。(p8实践与练习)算法与程序设计算法与程序设计1、具体问题:、具体问题:华南太阳能设备厂在计划期内拟生产甲、乙、丙三种适销产品,每件销售收分别为4万元、3万元、2万元。按工艺规定,甲、乙、丙三种产品都需要在a、b、c、d四种不同的设备上加工,其加工所需要的时间见下表。已知a、b、c、d四种设备在计划期内有效使用台时数分别为

2、12、8、16、12。如何安排生产可使收入最大? 设备产品abcd甲2140乙2204丙1100探究的问题探究过程找出已知和未知已知甲乙丙销售收入,abcd四种设备有效使用台时数,甲乙丙加工的台时数,未知的是甲乙丙的产量及总销售额。明确已知和未知之间关系甲乙丙加工的台时数不能超过abcd有效使用台时数。人工求解问题甲乙丙的产量及总销售额。写出解题的算法穷举2、分析问题:、分析问题:算法与程序设计算法与程序设计2x+2y+z12x+2y+z 84x 164y 120 x 6; 0 y 6; 0 z 120 x 8; 0 y 4; 0 z 80 x 40 y 30 x 40 y 30 z 8算法与

3、程序设计算法与程序设计3、设计算法:、设计算法:x=0 x4y=0y3z=0z82*x+2*y+z=12x+2*y+z4y=0y3z=0z8f_maxf(x,y,z)f_max=f(x,y,z)x_max=xy_max=yz_max=zz=z+1y=y+1x=x+1nyyyynn结束输出结果算法与程序设计算法与程序设计4、编写程序、编写程序dim x as integer, y as integer, z as integerdim x_max as integer, y_max as integer, z_max as integerdim f(4, 3, 12) as singledim

4、f_max as singlefor x = 0 to 4for y = 0 to 3for z = 0 to 12if (2 * x + 2 * y + z = 8) and (x + 2 * y + z = 8) thenf(x, y, z) = 4 * x + 3 * y + 2 * zelsef(x, y, z) = 0end ifnext znext ynext x算法与程序设计算法与程序设计f_max = 0for x = 0 to 4for y = 0 to 3for z = 0 to 8if f_max f(x, y, z) thenf_max = f(x, y, z)x_ma

5、x = xy_max = yz_max = zend ifnext znext ynext xprint “当x=”; x_max; “,y=”; y_max; “,z=”; z_max; “时,print “f(x,y,z)的最大值=; f_max算法与程序设计算法与程序设计5、调试程序、得到结果、调试程序、得到结果1)、新建工程;2)、在窗体添加按钮控件;3)、给按钮添加单击事件过程;4)、在单击事件过程内输入编写好的程序;5)、运行程序调试结果。6、在计算机上执行该指令序列5、通过编辑、编译和连接产生计算机能够识别的指令序列4、选用一种编程语言根据算法编写程序4、验证计算结果3、生成解题

6、算法3、用笔、纸和算盘、计算器等工具进行计算2、寻找解题的途径和方法2、寻找解题的途径和方法1、理解和分析所要解决的问题1、理解和分析所面临的问题计算机解题步骤计算机解题步骤人工解题步骤人工解题步骤相同点:无论何种解题方式,在解决某一实际问题时,都应该正确的理解问题的题意,从看似复杂的问题中整理出一个头绪,然后通过算法(即解决问题的一个一个步骤)描述出某一问题的解决过程,进行一定量的计算,最后都必须验证计算结果。 不同点:当计算量较大时,人工解题就有点力不从心了,而计算机每秒上亿次的计算速度却不在话下,并且只要算法正确,编程语句无误的话,使用计算机编写的解题程序可以反复使用。例如:sum=1+

7、2+3+4+5+(n-1)+n这样的问题。 算法与程序设计算法与程序设计1.2 算法和算法的描述1、算法的概念、算法的概念算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。即,用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。算法的特征:1)、有0或多个输入。解题算法中可以没有数据输入,也可以同时输入多个需 要算法处理的数据。 2)、确定性。解题方法中的任何一个操作步骤都是清晰无误的,不会使人产生 歧义或者误解。 3)、有穷性。任何一种提出的解题方法都是在有限的操作步骤内可以完成的, 哪怕是失败的解题方法。 4)、有1个或多个输出。一个算法执行结束之后必须有数据处理结

8、果输出,哪怕 是输出错误的数据结果,没有输出的算法使毫无意义的。 5)、能行性。解题方法中的任何一个操作步骤在现有计算机软硬件条件下和逻 辑思维中都能够实施实现。 算法与程序设计算法与程序设计辗转相除法 又名欧几里德算法(euclidean algorithm)是求两个正整数之最大公约数的算法。它是已知最古老的算法, 其可追溯至前300年。它首次出现于欧几里德的几何原本(第vii卷,命题i和ii)中,而在中国则可以追溯至东汉出现的九章算术。它并不需要把二数作质因子分解。 1. a b,令r为所得余数(0rb),若 r = 0,b 即为最大公约数;算法结束 。 2. 互换:置 ab,br,并返回

9、第一步。 例如:求112和64的最大公约数.算法如下: (1).112除以64,余数为_; (2)_除以_余数为_; (3)_除以_余数为_. 答:112和64的最大公约数为_.两数的最大公约数乘以其最小公倍数=两数相乘例如:求112和64的最小公倍数 (1).利用辗转相除法求得它们的最大公约数为_; (2).利用表达式求得最小公倍数: 答: 112和64的最小公倍数为_.练习:求164和64的最大公约数求256和24的最大公约数练习:求164和64的最小公倍数求256和24的最小公倍数算法与程序设计算法与程序设计2、算法的描述、算法的描述表示算法的语言有自然语言、流程图、伪代码等。1)、用自

10、然语言描述算法;2)、用流程图描述算法:掌握流程图的基本图形及其功能。3)、用伪代码描述算法。注意对比三种算法描述方式的优劣。1).输入m和n的值;2).r=m除以n的余数;3).如果r=0,则输出n值; 否则令m=n,n=r返回第2步;4).结束.开始输入正整数m和nr=m除以n的余数r=0m=n, n=r输出n的值结束是否输入m和n值r m mod ndo while r0m=nn=rr=m mod nloop输出n值算法与程序设计算法与程序设计算法与程序设计算法与程序设计优点缺点自然语言不需专门训练,通俗易懂p10流程图描述清晰简洁,容易表达选择结构;利于不同环境的程序设计.p11无法被

11、计算机直接接受并进行操作伪代码书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡.p12种类繁多,语句不容易规范.p12三种算法描述方式的优劣三种算法描述方式的优劣算法与程序设计算法与程序设计使用自然语言描述算法的方法虽然比较容易掌握,但是存在着很大的缺陷。例如,当算法中含有多分支或循环操作时很难表述清楚。另外,使用自然语言描述算法还很容易造成歧义(称之为二义性),譬如有这样一句话“武松打死老虎”,我们既可以理解为“武松/打死老虎”,又可以理解为“武松/打/死老虎”。自然语言中的语气和停顿不同,就可能使他人对相同的一句话产生不同的理解。又如“你输他赢”这句话,使用不同的语气说,可以产生

12、3种截然不同的意思,同学们不妨试试看。 无论是使用自然语言还是使用流程图描述算法,仅仅是表述了编程者解决问题的一种思路,都无法被计算机直接接受并进行操作。 伪代码通常采用自然语言、数学公式和符号来描述算法的操作步骤,同时采用计算机高级语言(如c、pascal、vb、c+、java等)的控制结构来描述算法步骤的执行顺序。 算法与程序设计算法与程序设计在运用计算机程序解决问题的过程中,算法设计有着举足轻重的地位和作用,算法是程序设计的核心,是程序设计的灵魂.算法的好坏,直接影响着程序的通用性和有效性,影响着问题解决的效率.程序的编制依赖于算法的设计。程序的效率主要取决于算法的效率。算法与程序设计算

13、法与程序设计1.3、程序与程序设计语言、程序与程序设计语言1)、程序是一组机器操作的指令或语句的序列,是算法的一种描述。2)、程序的七个特征:p153)、程序的基本结构:p16顺序结构:各语句依次按照顺序执行。选择结构:通过检验条件是否成立来决定做还是不做的控件结构。循环结构:在一定条件下需要重复执行的控件结构。任何复杂的算法都可以用顺序结构、选择结构、循环结构三种基本结构组合而成的程序表示。算法与程序设计算法与程序设计s1s2sncs1s2cs1顺序结构选择结构循环结构算法与程序设计算法与程序设计4)、程序设计:即是编写程序的过程。一个高质量的程序,应具备以下条件:(1)、建立正确的灵堂模型

14、和确定有效的计算方法;(2)、运行结果必须正确,且在精度和其他各方面均满足要求;(3)、程序本身具有良好的结构,逻辑清楚,易读易懂。(4)、程序运行时间尽可能短,同时尽可能合理地使用内存;(5)、便于检查、修正、移植和维护。5)、程序设计语言的产生与发展(p18)(1)、机器语言:由“0”和“1”组成的二进制代码,是能够被计算机直接接受和 执行的计算机语言。 优缺点:(2)、汇编语言:采用类似英语缩写略词且带有助记性的符号形式代替二进制 机器代码的计算机语言。是符号化了的机器语言。用能反映 指令功能的助记符表达的计算机语言。 优缺点:(3)、高级语言:相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如vb、c、c+,vc、java、pascal等。算法与程序设计算法与程序设计语言种类优势

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论