程序设计方法课标解读
“算法”是关于解决问题的计算过程的描述,即解决问题的方法和步骤的描述;“程序设计”是使用计算机可理解的语言表达算法的过程。本模块反映了计算机解决结构化应用问题的基本方法,为选修模块。
通过本模块的学习,学生应该体验算法思维,掌握几种基本算法;能设计简单应用问题的算法,并能初步使用一种程序设计语言,编制程序解决该问题。
本模块的教学,要强调理论与实践的结合,注意寻找、发现身边简单的实际问题,进而设计出算法和计算机程序去解决这些问题。本模块着重强调的是算法设计思想,故对程序设计语言不作具体规定,应根据实际条件加以选择。
本模块由3个主题组成:
(一)计算机解决问题的基本过程
1.内容标准
(1)了解算法和计算机程序的基本概念,了解计算机程序执行的基本过程。
(2)了解算法的表示方法,能用自然语言、流程图、伪代码等描述算法,重点掌握流程图描述算法的方法。
例1 农夫、狼、山羊和蔬菜过河问题。一个农夫带着一条狼、一头山羊和一篮蔬菜过河,但只有一条小船,并且每次只能让农夫带一样东西过河,而且农夫在场的情况下动物和蔬菜均相安无事,一旦农夫不在,狼会吃羊,羊会吃蔬菜。问聪明的农夫如何解决过河问题。
例2 求解sum=1+2+……(n-1)+n
例3 两个正整数最大公因子的计算问题。
(3)了解程序设计环境的基本知识,了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发的环境。
2.活动建议
选择若干简单的数学计算问题,在教师的指导下,学生分小组设计相应的算法,并使用某种方法描述这些算法。
(二)面向对象程序设计语言初步
1.内容标准
(1)理解使用一种面向对象程序设计语言的基本方法,掌握对象及其封装、事件驱动、继承、方法和事件的概念;理解数据类型和表达式的构成及描述计算过程的三种基本结构。
例1 顺序结构实例:交换两个数据的算法。
例2 选择结构实例:求两个数中的大数的算法。
例3 循环结构实例:求解1+2+……+100问题。
例4 鸡兔共笼,一共有30个头,90只脚,求鸡兔各有多少只?
(2)理解模块化的程序设计方法。
(3)掌握从源程序到可执行程序的生成方法。
(4)掌握调试、运行指定程序的方法。
2.活动建议
选择一个实例,根据解决问题的要求,设计算法,编写源程序,生成对应的可执行程序,调试并运行该程序。
(三)常用算法
a 用解析法设计算法
1.内容标准
(1)了解解析法的基本概念及用解析法设计算法的基本过程。
(2)能够用解析法分析简单问题并设计算法及编写程序求解问题。
例1 求解一元二次方程根的算法。使用一根长度为l厘米的铁丝,制作一个面积为s的矩形框,要求计算出满足这种条件的矩形的长h和宽w (归结成求一元二次方程ax2+bx+c=0的根)。
例2 两个日期之间天数的计算。计算从y1年m1月d1日起,到y2年m2月d2日之间的天数。
2.活动建议
(1)上机实习:获得解决解析法中两个实例的可执行程序。
(2)从数学、物理、化学学科的学习中选择计算问题,确定解决该问题所需的计算公
式,并用流程图描述问题的计算过程,编写程序,获得计算结果。
b 用穷举法设计算法
1.内容标准
(1)了解穷举法的基本概念及用穷举法设计算法的基本过程。