《程序设计实践》课程安排及要求-2017
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计实践》课程设计任务书
适用专业年级:电信类2016级
1. 课程安排
1.1 教学目标与任务
《程序设计实践》是电信类专业的一门重要的实践课。
本课程设计是为使《程序设计基础(C语言)》课程取得更好的教学效果而设置,是进一步培养学生综合应用VC的各种编程知识和技巧进行应用程序编写的实际能力,包括:⑴训练学生掌握对数组、指针、链表、文件等的基本操作;⑵训练学生掌握模块化程序设计方法;⑶训练学生对一个实际应用系统进行综合分析、设计、编程及调试等的能力;⑷培养学生自主学习和独立创新的精神。
通过本课程的学习,要求学生能够运用C语言的理论知识,运用流程图的基本手段,熟悉C语言的标准编程规范,取得程序设计说明书及源代码等成果。
同时,通过本课程的学习训练学生文档编写能力、问题的分析与解决能力、流程图的绘制能力、代码编写能力、程序调试能力、小组协调与合作能力等,从而强化学生对C语言的认识,能够熟练使用C 语言的基本语法结构,能够运用C语言的函数进行小组开发,并利用流程图进行程序设计和交流,掌握code review的形式和方法,掌握自主开发中小型程序的能力,了解大型程序开发的步骤和方法。
1.2 基本要求
本课程要求以一人一组的形式进行程序开发。在课程结束(含中期阶段性结束)时,每人都需提交以下几份成果:
1) 电子版的系统设计报告
2) 纸质版的课程设计报告
3) 程序源代码
1.3 课程阶段说明
本次课程设计分为两个阶段,第一个阶段为1-8周,第9周进行考核(考试),主要训练程序设计的基本功,包括程序设计三个基本结构、函数、数组、指针、链表、文件等的基本操作和部分典型算法;第二个阶段为10-17周,利用模块化的程序设计方法,对一个应用系统进行分析、设计和编程调试并撰写课程设计报告。本课程分为两个阶段,如表1所示。
表1 课程的3个阶段
1.3.1 基本能力训练阶段
按要求完成基本能力训练阶段的所有题目(题目见2.1):
1.3.2 系统程序设计阶段
根据给定的综合程序设计题目(2.2),选择1题或自主选择题目。完成对题目的功能分析,数据结
构设计,程序流程设计及代码编写,调试等工作。
1.4 评分标准
本次课程设计第一阶段占50%(其中平时检查和考勤20%,考试占30%);第二阶段占50%(其中平时检查和考勤10%,答辩30%,报告10%)。
1.5 上机辅导安排
本课程总共64学时,16周,每周4学时(2学时集中上机,2学时由指导教师自主安排答疑)。
班级:电信类1601-1606班。
表2 上机辅导安排
1.6 选题要求
1) 基础训练题目每题都做。
2) 综合题目选择1题,或自主选题。自主选题必须要用到链表或数组,文件操作,用户交互操作等。
【注】如果最后发现学生提交上来的成果是抄袭自网上现成的程序和文档,那么这门课程的成绩为零分。
2. 参考选题
2.1 基础题
1、输入x ,求分段函数⎪⎪⎩
⎪⎪
⎨⎧<+<≤----≥+-=10)
sin()cos(01021
01)(2
2x x x x x x
x x x x f 的值。 2、分别利用循环和递归求1+2+3+……+n 的和,其中n 从键盘输入。 3、输入一个正整数,求该正整数的位数以及各位数字之和。
4、输入一个正整数,将该正整数表示为其各个质因子之积的形式,如24=2*2*2*3。
5、输入一个正整数,求其各个因数之和(所谓一个数的因数,是指除了这个数本身之外,其它能整除这个数的数,如18,其因数有1,2,3,6,9)。
6、求出100~999之间的所有水仙花数(所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身)。
7、任何大于等于6的偶数都可以表示为两个素数之和,请将6~100之间的所有偶数都表示来两个素数之和,其中判断一个数是否是素数设计成函数。 8、输入两个正整数,输出这个两正整数的最大公约数和最小公倍数。 9、有斐波拉契数列1,1,2,3,5,8,13……,请按每行6个数据输出该裴波拉契数列的前30项。请分别用循环和递归算法求解。
10、利用泰勒展开式求cosx 和sinx 的值,要求当最后一项的值小于10-7时停止。
+-+-=!6!4!21)cos(6
42x x x x
+-+-=!
7!5!3)sin(7
53x x x x x
11、输出九九乘法表(可以全部输出,也可以按要求输出上三角或下三角的形式,要求每个式子数字占两位,其它符号1位,如 9* 9=81)。
12、输出1000以内的所有亲密数对,所谓亲密数对是指,如果m的因素和是n,而n的因数和是m,且m和n不相等,则称m和n是亲密数对。
13、用矩形法求函数)
fπ
x
=在区间(a,b)之间的积分,其中a,b从键盘输
2
cos(
)
(x
入(a
14、输入n打印如下实心菱形图案和空心菱形图案(下图为n=5时)。
15、输入一个正整数,将其转换为二进制、八进制或十六进制之后输出(程序中可以进行进制的选择)。
16、输入一行字符,统计其中字母、数字、其它符号的个数。
17、输入一行字符,将其中的大(小)写字母转换成小(大)写字母。
18、输入一个英文句子,统计其中单词的个数。
19、输入若干个数据,求输入数据中的最大值、最小值、平均值。
20、输入若干个数据,统计输入数据中大于平均值的数据个数。
21、输入n个数据存入一个一维数组中,将其顺序倒置后输出。
22、输入一个字符串,倒序输出该字符串。
23、输入n个数据,对其进行排序输入(简单排序、冒泡排序、选择排序、插