首页
Loading
您所在的位置:首页 > 学科知识 > 知识考点 > 正文

选修一 算法与程序设计

作者: 来源: 日期:2018/5/28 16:16:55 人气:141 加入收藏 评论:0 标签:

选修一 算法与程序设计

 

本模块的学习目的是使学生在原有基础上进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。本模块为选修模块。

本模块的教学,应注意与数学课程中有关内容的衔接,要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题。教师要注意发现对程序设计有特殊才能的学生,根据具体情况为他们提供充分的发展空间。本模块强调的是通过算法与程序设计解决实际问题的方法,对程序设计语言的选择不作具体规定。

本模块由3个主题组成,结构如下

(一)计算机解决问题的基本过程

1.内容标准

1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。

2)经历用自然语言、流程图或伪代码等方法描述算法的过程。

3)在使用计算机解决实际问题的过程中,通过观看演示、模仿、探究、实践等环节,了解顺序、选择、循环三种基本结构及其重要作用,掌握计算机程序的基本概念,能解释计算机程序执行的基本过程。

4)了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。

2.活动建议

有专家认为,对于能够借助计算机技术来解决的问题,可以按照其结构化程度划分成三个类型:结构化问题,是能够通过形式化(或称公式化)方法描述和求解的一类问题;非结构化问题难以用确定的形式来描述,主要根据经验来求解;半结构化问题则介于上述两者之间。请依照该思路,调查结构化问题的实例,并归纳解决此类问题的一般规律。

(二)程序设计语言初步

1.内容标准

1)理解并掌握一种程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数。会使用程序设计语言实现顺序、选择、循环三种控制结构。

例1 顺序结构:统计一个用户一年的水费、电费、煤气费。

例2 选择结构:设计一个邮包计费程序,凡不超过20千克的邮包按每千克0.85元收取费用;如果超过20千克,超过部分按每千克1元计算。

例3 循环结构:为校园歌手大赛设计一个评分程序,10名评委,去掉一个最高分、一个最低分,计算平均分。

2)理解模块化程序设计的基本思想,初步掌握其基本方法。

3)初步掌握调试、运行程序的方法。

4)在使用某种面向对象程序设计语言解决问题的过程中,掌握面向对象程序设计语言的基本思想与方法,熟悉对象、属性、事件、事件驱动等概念并学会运用。

5)能够说出程序设计语言产生、发展的历史与过程,能够解释其意义。

2.活动建议

1)选择实例,根据解决问题的要求分析设计算法,恰当地使用三种控制结构编写源程序,调试并运行该程序,在过程中体验程序设计语言的逻辑特点。

2)分别就模块化程序设计的思想与方法、面向对象的程序设计语言的思想与方法展开讨论,展望计算机程序设计的发展趋势。

(三)算法与问题解决例举

1. 内容标准

A 解析法与问题解决

1)了解解析法的基本概念及用解析法设计算法的基本过程。

2)能够用解析法分析简单问题,设计算法,编写程序求解问题。

例1 使用一根长度为L厘米的铁丝,制作一个面积为S的矩形框,要求计算出满足这种条件的矩形的高h和宽w。(本例问题可以归结成求一元二次方程的根)

例2 计算从y1年m1月d1日起,到y2年m2月d2日之间的天数。

B 穷举法与问题解决

1)了解穷举法的基本概念及用穷举法设计算法的基本过程。

2)能够根据具体问题的要求,使用穷举法设计算法,编写程序求解问题。

例1 一张单据上有一个5位数的号码,其中百位数和千位数已模糊不清,但知道该数能被57或67除尽。设计一个算法,找出该单据原有可能的号码。

例2  在一个直角三角形中,三条边a、b、c的长度都为整数,且一条直角边a的长度已确定,斜边c的长度不能超过某数I,找出满足条件的所有直角三角形。

C 查找、排序与问题解决

1)了解数组的概念,掌握使用数组存储批量数据的基本方法。

2)通过实例,掌握使用数据查找算法设计程序解决问题的方法。

例 使用顺序查找算法和对分查找算法查找校运动会上某个班级或者某个运动员的比赛成绩。

3)通过实例,掌握使用排序算法设计程序解决问题的方法。

例 设计一个程序,按照选择交换法,把学校运动会比赛成绩(无序)按降序排序后存储。

D 递归法与问题解决

1)了解使用递归法设计算法的基本过程。

2)能够根据具体问题的要求,使用递归法设计算法、编写递归函数、编写程序、求解问题。

例1 写出两个正整数乘积m*n递归函数。

例2 写出阶乘n!的递归函数。

2.活动建议

1)从其他科目的学习或者生活实际中选择问题,确定解决该问题所需要的算法和计算公式,用流程图描述问题的计算过程,编写程序,调试并运行该程序,获得问题的答案,并讨论该问题解决过程与所得答案的特点。

2)在已学知识的基础上,通过调查和讨论对算法和程序设计进行更多了解,探讨待解决的问题与其相应算法之间的关系,尝试归纳算法与程序设计应用的一般规律,讨论使用计算机程序设计解决问题的优势和局限性。

    本文网址:http://www.gzxxjs.cn/show.asp?id=607
    读完这篇文章后,您心情如何?
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    更多>>网友评论
    发表评论