算法与程序设计.ppt
信息技术(选修1)算法与程序设计,广东省基础教育课程资源研究开发中心信息技术教材编写组 编著主编:徐福荫 李文郁本册主编:黄国洪 王咸伟 广东省出版集团 广东教育出版社出版,粤教版算法与程序设计教材与教学研讨,黄国洪信息技术特级教师粤教版信息技术课程标准实验教材副主编广东省基础教育信息技术教学指导委员会专家,一、课程的定位与目标二、教材编写的思路与特色三、教材的结构体系四、各章要点分析与教学建议,课程的定位,选修部分强调在必修模块的基础上关注技术能力与人文素养的双重建构,是信息素养培养的继续,是支持个性发展的平台。模块内容设计既注重技术深度和广度的把握,适度反映前沿进展,又关注技术文化与信息文化理念的表达。在选修部分的五个模块中“算法与程序设计”是作为计算机应用的技术基础设置的。,课程的定位,信息技术基础,算法与程序设计,多媒体设计与制作,数据管理,网络技术,人工智能,必修和选修模块的传承,课程的目标,使学生在原有基础上进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编写程序实现算法解决问题。,新旧教材对比,课程的目标,学习内容与目标双向细目表,1.使学生在原有基础上进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;2.能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编写程序实现算法解决问题。,二、教材编写思路与特色,目前“算法与程序设计”教材编写的几条主线问题解决的主线算法的主线代码编写的主线软件开发的主线,二、教材编写思路与特色,在教材体系结构的构建上,根据高中学生的认知发展规律,以算法和程序设计为主线,对本模块中的三个主题的具体内容作了重新的编排,紧紧围绕用算法和程序设计求解问题的过程,交叉介绍算法、程序设计语言和程序设计思想与方法,教学难点按螺旋式上升安排呈现。,二、教材编写思路与特色,第一章 揭开计算机解决问题的神秘面纱 第二章 程序设计基础 第三章 可视化编程第四章 算法及其程序实现 第五章 面向对象程序设计 第六章程序设计实践,二、教材编写思路与特色,在教材具体内容的编排上,本教材从遇到的问题出发,分析问题,发现问题的本质,选择、设计相应的算法,通过程序设计语言的使用来编写程序,最终实现问题的解决。在整个程序设计的过程中,问题的解决是按照一定的步骤、一定的思维方式和方法来进行的,这其中体现了软件工程的基本思想。,二、教材编写思路与特色,本教材所选取的问题来自自然科学、社会科学、工程技术和日常学习与生活等各个方面,特别注意精选反映人类文明成果和能够激发学生学习兴趣的例子和问题,如:袁隆平的超级水稻研究、扶贫开发工程、红楼梦的研究、工厂生产管理、研究性学习等,力求用例子和问题内在的神秘感、创造性和独特力量吸引学生的参与,用例子和问题所蕴藏的艺术感、文化性、道德责任打动学生的心灵,使教材体现技术、人文、生活三位一体,让学生在学到知识与技术的同时,也受到人文精神的熏陶。,二、教材编写思路与特色,本教材的设计力图展示问题的本源和背景,展示问题求解的思维过程和方法,从而培养学生运用信息技术解决实际问题的能力,让学生将所学的信息技术积极地应用到生产、生活乃至信息技术革新等各项实践活动中去,在实践中创新,在创新中实践。,例子,二、教材编写思路与特色,本教材注重教学设计,按照“课程标准”的教学目标要求,根据学生的认知规律,精心选取与安排教学的组织形式、教学方法、教学环境和教学过程,使学生在学习和掌握知识与技能的同时,学会自主学习与自我发展,学会协作学习与共同发展,构建与社会发展相适应的价值观和责任感,并对教学进行过程与结果相结合的评价。,例子,二、教材编写思路与特色,学生活动主题的设计具有一定的自主性与开放性,使不同层次、不同类型的学生都能找到合适的主题。,三、教材的结构体系,三、教材的结构体系,第一章 揭开计算机解决问题的神秘面纱 第二章 程序设计基础 第三章 可视化编程第四章 算法及其程序实现 第五章 面向对象程序设计 第六章程序设计实践,第一章 揭开计算机解决问题的神秘面纱,三、教材的结构体系,三、教材的结构体系,第一节 计算机解决问题的过程/2 一、从生产方案选择问题开始/2 二、计算机解决问题的步骤/3第二节 算法与算法的描述/8 一、算法/8 二、算法的描述/9 三、算法在解决问题中的地位和作用/13第三节 程序与程序设计语言/14 一、程序与程序设计/14 二、程序设计语言的产生与发展/18 三、程序的编辑和翻译/19,第一章 揭开计算机解决问题的神秘面纱,第二章 程序设计基础,三、教材的结构体系,第一节 VB语言及程序开发环境/26 第二节 程序的顺序结构/32 第三节 程序的选择结构/41 第四节 程序的循环结构/49 第五节 模块化程序设计,第二章 程序设计基础,三、教材的结构体系,三、教材的结构体系,第一节 VB语言及程序开发环境/26 一、VB语言概述/26 二、可视化程序的开发环境/30第二节 程序的顺序结构/32 一、居民生活消费支出的计算/33 二、赋值语句和输入输出语句/35第三节 程序的选择结构/41 一、从制作矩形框问题开始/41 二、条件语句/42 三、多重选择语句/44第四节 程序的循环结构/49 一、FOR循环语句/50 二、DO循环语句/53 三、循环嵌套 四、几种循环语句的比较第五节 模块化程序设计 一、自顶而下、逐步求精的程序设计思想 二、过程与函数 三、模块化程序设计思想,第二章 程序设计基础,第三章 可视化编程,三、教材的结构体系,第一节 可视化编程的概念与方法 一、VB可视化编程的概念 二、窗体和控件 三、VB可视化编程的方法第二节 程序调试的方法 一、错误的类型 二、调试与排错第三节 综合活动:心算练习程序设计 一、活动目的 二、活动任务 三、活动过程 四、活动成果 五、活动评价 六、“心算练习”程序设计示例,第三章 可视化编程,三、教材的结构体系,第一节 用解析法设计程序 一、用解析法求解问题的基本过程 二、用解析法求解问题的实践第二节 用穷举法设计程序 一、用穷举法设计算法的基本过程 二、穷举法的程序实践 三、穷举算法小结第三节 查找算法设计 一、红楼梦的研究与查找技术 二、顺序查找算法 三、对半查找算法第四节 排序算法设计 一、选择排序算法 二、插入排序算法第五节 递归算法与递归程序 一、从斐波那契问题看递归算法 二、一个应用递归法算法解决问题的经典例子第六节 问题求解综合活动 一、活动目的 二、活动任务 三、应用计算机求解问题过程的示例,第四章 算法及其程序实现,第五章 面向对象程序设计,三、教材的结构体系,第一节 面向对象程序设计思想 一、面向对象思想的产生 二、面向对象程序设计第二节 面向对象程序设计的基本概念 一、对象 二、类 三、类、对象与实例的关系第三节 面向对象的功能实现 一、创建类 二、对象的声明和实例化,第五章 面向对象程序设计,第六章程序设计实践,三、教材的结构体系,第一节 多媒体应用程序设计 一、多媒体播放器程序设计 二、利用VB设计多媒体程序的方法第二节 数据库管理软件的开发 一、从程序设计到软件开发 二、用VB开发数据库管理软件,第六章程序设计实践,四、各章的要点分析与建议,算法与程序设计模块的前导课程,信息技术基础 第四章4.1节 例子:文字加密与解密目的:了解计算机程序解决问题的过程了解程序设计语言是人们与计算机打交道的桥梁了解VB界面,数学必修-3算法初步统计,概率,第一章揭开计算机解决问题的神秘面纱,承接必修模块的任务必修模块的相应部分远观、感受 本章近看、掌握1、经历分析问题、确定算法、编程求解等用计算机解决问题 的基本过程,认识算法和程序设计在其中的地位和作用。2、经历用自然语言、流程图或伪代码等方法表示算法的过程3、了解顺序、选择、循环三种基本结构及其重要作用,掌握 计算机程序基本概念,能解释计算机程序执行的基本过程4、了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。,四、各章的要点分析与建议,课标的内容标准,四、各章的要点分析与建议第一章揭开计算机解决问题的神秘面纱,从数学课程中有了了解自然语言算法的描述 流程图 伪代码 算法的选择算法的多样性 程序的特征程序程序设计语言 程序的基本结构 程序的产生与发展,算法的概念,四、各章的要点分析与建议第一章揭开计算机解决问题的神秘面纱(算法的选择)求两个正整数的最大公约数:,同学甲的算法(辗转相除法)同学乙的算法(穷举法)Private Sub Command1_CLick()Private Sub Command1_CLick()Dim m As Long,n As Long Dim m As Long,n As Long m=9147485 m=9147485 n=5147480 n=5147480 r=m Mod n i=n Do While r 0 Do While m mod i0 or n mod i0 m=n n=r i=i-1 r=m Mod n Loop Loop Print 最大公约数;n Print 最大公约数;i End Sub End Sub,算法多样性的另一个例题 求出下列所有数的总和:1 2 3 4 2004 2005 2006 2 3 4 5 2005 2006 2007 3 4 5 6 2006 2007 2008 2006 2007 2008 2009 4009 4010 4011,四、各章的要点分析与建议第一章揭开计算机解决问题的神秘面纱(算法的选择),解法之一:发现数的摆法的规律解法之二:缩小规模探究和的规律n=1时,和1n=2时,和8n=3时,和27n=4时,和64,n=3 1 2 3 2 3 4 3 4 5,n=2 1 2 2 3,n=4 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7,四、各章的要点分析与建议第一章揭开计算机解决问题的神秘面纱(算法的选择),解法之三:公式推导法第1行:(1+n)n/2第1行:(2+n+1)n/2 第n行:(n+2n-1)n/2总和:(n+1)n/2+(3n-1)n/2n/2=(n+1)+(3n-1)n/2n/2=n3,四、各章的要点分析与建议第一章揭开计算机解决问题的神秘面纱(算法的选择),下列说法是否正确?1、描述算法的方法有4种:自然语言、流程图、伪代码和程序2、选择结构有一个入口两个出口。,四、各章的要点分析与建议第一章揭开计算机解决问题的神秘面纱(问题讨论),VB语言及程序开发环境程序的三种结构模块化程序设计,数据类型,常量变量,运算、内部函数、表达式,可视化开发环境,顺序结构、选择结构、循环结构,数据输入、输出的方法逻辑运算和关系表达式语句:赋值、条件、多重选择、FOR循环、DO循环,自顶向下、逐步求精(模块),过程与函数,四、各章的要点分析与建议第二章程序设计基础,四、各章的要点分析与建议第二章程序设计基础,从这章开始,要求真正掌握程序设计的方法。程序设计的困难:表达方式与平时习惯不一样,克服难点,掌握编程技巧,组合内容,提升编程境界例课本P58.交流(2)用Do循环的四种形式各编写一个程序,实现输入一个自然数M,判断这个自然数是否素数。课本P59.练习(1)编写程序求出10000以内的所有素数。,四、各章的要点分析与建议第二章程序设计基础,Private Sub Command1_Click()For m=2 To 10000 i=2 Do Until m Mod i=0 Or i=m-1 i=i+1 Loop If m Mod i 0 Then Print m;Next m Print End Sub,四、各章的要点分析与建议第二章程序设计基础,课本58页的程序稍加改动,加入Print Time,加入Print Time,改进Private Sub Command1_Click()For m=2 To 10000 i=2 Do While m Mod i 0 i=i+1 Loop If i=m Then print m;Next mEnd Sub,四、各章的要点分析与建议第二章程序设计基础,另一种思路Private Sub Command1_Click()For m=1 To 10000 s=0 For j=1 To m If m Mod j=0 Then s=s+1 Next j If s=2 Then print m;Next mEnd Sub,四、各章的要点分析与建议第二章程序设计基础,四、各章的要点分析与建议第二章程序设计基础,又一次改进Private Sub Command1_Click()For m=1 To 10000 s=0 For j=2 To sqr(m)If m Mod j=0 Then s=1 Next j If s=0 Then print m;Next mEnd Sub,篩法Private Sub Command1_Click()Dim a(10000)As Byte For m=2 To 10000:a(m)=1:Next i For m=2 To 10000 If a(i)=1 Then print m;For j=i*2 To 10000 Step i:a(j)=0:Next j End If Next mEnd Sub,四、各章的要点分析与建议第二章程序设计基础,知识整合,提高编程能力例课本P59.练习(4)编写程序,在屏幕上输出如下字母塔:A ABA ABCBA ABCDEFGHIJKLMNONMLKJIHGFEDCBA,四、各章的要点分析与建议第二章程序设计基础,准备1(全是“A”)Private Sub Command1_Click()N=20 For i=1 To N Print Tab(40-i);For j=1 To 2*i-1 Print A;Next j Print Next iEnd Sub,四、各章的要点分析与建议第二章程序设计基础,准备2(由“A”到“Z”)Private Sub Command1_Click()N=20 For i=1 To N Print Tab(40-i);For J=1 To 2*i-1 Print Chr(65+(J-1)Mod 26);Next J Print Next iEnd Sub,四、各章的要点分析与建议第二章程序设计基础,解决方案一、分步处理Private Sub Command1_Click()N=20:For i=1 To N Print Tab(40-i);a=65a=a-2 For j=0 To i-1 For j=i To 2*i-2 Print Chr(a);Print Chr(a);a=a+1 a=a-1 Next j Next j Print Next iEnd Sub,四、各章的要点分析与建议第二章程序设计基础,解决方案2:构造算式Private Sub Command1_Click()N=20:For I=1 To N Print Tab(40-I);For j=1 To 2*I-1 Print Chr(64+I-Abs(I-j);Next j Print Next IEnd Sub,四、各章的要点分析与建议第二章程序设计基础,四、各章的要点分析与建议第二章程序设计基础(问题讨论),下列说法是否正确?步长为0的FOR循环一定是死循环。考察下面的程序:For i=1 to 5 step 0 i=i+1 print I Next I Print i,面向对象的编程技术(P70)对象属性对象的性质方法对象的动作(行为)事件对象的响应事件过程、事件驱动,四、各章的要点分析与建议第三章可视化编程,窗体,控件,文本框,命令按钮,标签,单选按钮,滚动条,复选按钮,控件工具箱,四、各章的要点分析与建议第三章可视化编程(问题讨论),下列说法是否正确?“漂亮的瓶子摔碎了。”其中“瓶子”是对象,“漂亮”是对象的属性,“摔”是行为,“碎了”是事件。小红把一只漂亮的闹钟上好链条,把响铃的时间调到7点。第二天早上7点,闹钟的铃声响起,起床了。则从面向对象程序设计的角度看,,四、各章的要点分析与建议第三章可视化编程,程序的调试综合活动心算练习程序设计,观摩,交流,任务分析,设计算法,编写程序,调试,评价,算法解析法穷举法查找算法排序算法递归算法顺序文件、数组综合活动排错能力,四、各章的要点分析与建议第四章算法与程序设计,例子:测量高度问题要用到相关的知识小球弹跳问题 计算的并不是一个表达式电阻计算问题要解方程,四、各章的要点分析与建议第四章算法与程序设计4.1用解析法设计程序,要解决的问题了解解析法的基本概念及用解析法设计算法的基本过程。可拓展部分计算会有误差,有时误差会有致命影响。有关数值运算的成型算法。例:求正数A的平方根x=1:for i=1 to 20:x=x/2+A/2/x:next i:?x,四、各章的要点分析与建议第四章算法与程序设计4.1用解析法设计程序,X2=A2X2=X2+AX=X/2+A/2/X,面向对象(OOP)程序设计的基本思想面向对象程序设计中的基本概念对象 类 消息 继承 实例 面向对象的功能实现,四、各章的要点分析与建议第五章面向对象程序设计,多媒体播放器程序设计利用VB设计多媒体程序的方法 软件开发 用VB开发数据库管理软件,四、各章的要点分析与建议第六章程序设计实践,谢谢!,