资源描述
标题文本,正文级别 1,正文级别 2,正文级别 3,正文级别 4,正文级别 5,第,3,章 算法的程序实现,浙教,版,信息技术,(高中),必修,1,数据与计算,3.1,用计算机编程解决问题的一般过程,第3章 算法的程序实现浙教版信息技术(高中)必修1 数据与,学习目标,1,2,3,了解计算机编程解决问题的一般过程。,掌握,python,语言的基本知识,体验程,序设计的基本流程。,能用程序实现简单算法,掌握程序调试,与运行的方法,感受算法的效率。,学习目标123了解计算机编程解决问题的一般过程。,1,2,重点难点,重点:,利用计算机编程解决问题的一般过程,。,难点:,抽象与建模,。,12重点难点重点:利用计算机编程解决问题的一般过程。,课堂导入,计算机,已成为人们解决问题的重要工具。例如,用,Word,解决文字处理的问题,,用,Excel,解决一般的数据计算、统计的问题等。但由于现实问题的多样性,并不是所有的,问题,都可以用现成的计算机程序来解决。因此,针对这些问题,需要通过抽象与建模、,设计算法,、编写计算机程序来解决。,下面,以编写计算机程序绘制一个正多边形为例,了解用计算机编程解决实际问题的,一般,过程。,课堂导入 计算机已成为人们解决问题的重要,1,、抽象与建模,正多边形,的各边边长相等,各内角度数也相等。因此,绘制一个正多边形,可以,通过“,画一条边,旋转一定角度后再画一条边”的重复操作来完成。例如,图,3.1.1,呈现的是,绘制,一个正六边形的过程,。,图,3.1.1,绘制正六边形的过程,1、抽象与建模 正多边形的各边边长相等,各内角度,绘制正多边形,除了要知道它的边数,n,和边长,a,关键是要计算出每次旋转的角度。因此,解决这个问题的计算模型可以表示如下:,假设正多边形的边数为,n,边长为,a,。,则内角度数,d,的值为:,d=(n-2)x180+n,。,每次旋转的角度为:,180-d,。,绘制正多边形,除了要知道它的边数n和边长a,关键是要计算出,2,、设计算法,基于,问题的抽象与建模,绘制一个正多边形的算法可以做如下描述:,输人要绘制的正多边形的边数,n,和边长,a,。,计算正多边形的每个内角度数,d,其中,d=(n-2),x180n,。,将以下过程重复执行,n,遍:画一条长度为,a,的线段,再将画笔方向向左(逆时针,)旋转,(,180-d),度。,2、设计算法 基于问题的抽象与建模,绘制一个正多边形的算法可,3,、编写程序,要,让计算机按照预先设计的算法进行处理,需要将该算法用计算机程序设计语言,描述,,形成计算机程序。绘制正多边形的算法用,Python,语言描述如下,:,import turtle,n=int(input(,请输入正多边形的边数,n:”,),),a=int(input(,请输入边长,a:”,),),d=(n-2)*180/n,t=turtle.Pen(),for i in range(n):,重复执行,n,遍,t.forward(a),向前绘制长度为,a,的线段,t.left(180-d),向左旋转(,180-d),度,3、编写程序 要让计算机按照预先设计的算法进行处,程序运行截图:,程序运行截图:,4,、调试运行程序,通过,运行程序,计算机会自动执行程序中的命令。但是,在将算法进行程序实现时,,可能,会,因为录入错误,、语法错误、逻辑错误等原因,导致程序不能正常运行或输出错误,的结果,。此时,需要对程序进行调试,以便发现错误并进行修正。例如、字母大小写的,疏忽可能,直接决定程序能否正常运行,程序中参数的调整可能影响输出图形的形状。,4、调试运行程序 通过运行程序,计算机会自动执行,问题与讨论:,在用计算机编程解决问题的过程中,算法与程序两者之间的关系如何?,问题与讨论:在用计算机编程解决问题的过程中,算法与程序两者之,算法,程序是,指以某些程序设计语言,编写。,程序员,很熟练的掌握了程序设计语言的语法,,并基于算法进行程序设计,。,算法,是指解题,方案描述,,是一系列解决问题,的指令,,算法代表着用系统的方法描述解决问题的策略机制,。,算法,是程序的核心内容,一个需要实现特定功能的程序,实现它的算法可以,有多种,算法,的优劣决定着程序的好坏,。,程序,算法 程序是指以某些程序设计语言编写。,思考与练习:,1.,请描述,用计算机编程验证,“哥德巴赫,猜想,”,的一般过程,。,思考与练习:1.请描述用计算机编程验证“哥德巴赫猜想”的一,第一步,设一上限数,M,验证 从,4,到,M,的,所有,偶数是否能被 分解为两个素数之和,。,1,.,、定义,一个变量,X,初值为,4,.,2,.,每次令其,加,2,,,并验证,X,能否 被分解为两个素数之和,,直到,X,不,小于,M,为止。,第,二,步,如何验证,X,是否能被分解为,两个,素数之和。,1.,从,P=2,开始;,2.,判别,X-P,是否仍为素数:,3.,若是,打印该偶数的分解式。,4.,否则,换更大的素数,再继续执行,2,.,如此循环,直到用于检测的素数大,X/2,且,X,与其之差仍不是素数,则打印“哥德巴赫猜想”不成立。,第三步 生成下一个素数。,(,1),当前素数,P,加,1,(,2),判别,P,是否是素数;,(,3),若是素数,返回,P;,(,4),否则,,P,加,1,继续执行(,2),本参考答案来自网络,仅供参考。,第一步 设一上限数M,验证 从4到M的所有偶数是否能被 分,拓展:,哥德巴赫猜想是什么,?,世界近代三大数学难题之一。哥德巴赫是德国一位中学教师,也是一位数学家,生于1690年,1725年当选为俄国彼得堡科学院院士。1742年,哥德巴赫在教学中发现,每个不小于6的偶数都是两个素数(只能被和它本身整除的数)之和。如63+3,125+7等。,公元1742年6月7日哥德巴赫(Goldbach)写信给大数学家欧拉(Euler),提出了以下的猜想:,(a)任何一个=6之偶数,都可以表示成两个奇质数之和。,(b)任何一个=9之奇数,都可以表示成三个奇质数之和。,这就是着名的哥德巴赫猜想。,欧拉在给他的回信中说,他相信这个猜想是正确的,但他不能证明。叙述如此简单的问题,连欧拉这样首屈一指的数学家都不能证明,这个猜想便引起了许多数学家的注意。从提出这个猜想至今,许多数学家都不断努力想攻克它,但都没有成功。当然曾经有人作了些具体的验证工作,例如:6=3+3,8=3+5,10=5+5=3+7,12=5+7,14=7+7=3+11,16=5+11,18=5+13,等等。有人对33108以内且大过6之偶数一一进行验算,哥德巴赫猜想(a)都成立。但,严,格的数学证明尚待数学家的努力。,到了20世纪20年代,才有人开始向它靠近。1920年、挪威数学家布爵用一种古老的筛选法证明,得出了一个结论:每一个比大的偶数都可以表示为(99)。这种缩小包围圈的办法很管用,科学家们于是从(9十9)开始,逐步减少每个数里所含质数因子的个数,直到最后使每个数里都是一个质数为止,这样就证明了“哥德巴赫”。,目前最佳的结果是中国数学家陈景润於1966年证明的,称为,“,陈氏定理“,任何充份大的偶数都是一个质数与一个自然数之和,而後者仅仅是两个质数的乘积。通常都简称这个结果为大偶数可表示为 1+2 的形式。,拓展:哥德巴赫猜想是什么?世界近代三大数学难题,谢 谢!,Thanks!,谢 谢!,
展开阅读全文