2022年高级语言课程设计任务书 .pdf
《2022年高级语言课程设计任务书 .pdf》由会员分享,可在线阅读,更多相关《2022年高级语言课程设计任务书 .pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级语言课程设计指导一、课程设计的目的“高级语言程序设计课程设计”是在学完高级语言程序设计之后开设的一门独立的实践性课程,是对高级语言程序设计的综合实践, 其目的在于加深对高级语言程序设计的基本思想、基础知识和方法的理解,进一步锻炼分析、解决比较复杂问题的能力,提高学生独立编程的能力,为实际软件开发和后续课程的学习打下坚实的基础。二、课程设计的基本要求首先要明确课程设计的目的和重要性,选择适当的题目,分组或独立有计划地按照软件工程的思想,在教师的指导下,对题目进行分析、设计和实现,并按照一定的格式写出设计报告。在课程设计过程中,要学会如何运用所学知识和技巧,如何查阅、搜集、归纳整理相关资料,
2、注意如何有意思的按照软件工程的基本标准进行分析、设计和实现。 选定题目之后,需要经历下面几个阶段进行课程设计。1)题目分析:弄清楚问题到底要干什么,明确设计目标,搜集和查阅相关资料。2)系统设计:怎么做才能实现系统的目标。首先确定问题中有哪些数据,该如何存储,是用多个单个的数组呢,还是用结构体数组,是连续的数组存储,还是不一定连续存储,结构体之间通过指针链接起来呢;数据是怎样输入的,是在运行时通过键盘输入,还是从文件读入,有哪些数据需要输出,输出格式如何,输出到屏幕上还是写到文件中。然后确定解决该问题有哪些功能模块,每个功能的名字什么,给出对应的函数原型,画出主函数的流程图和典型功能模块的流程
3、图;对所有的功能模块,从主模块,到各个层次的子模块,画出各个功能模块之间的调用层次图。其次设计一个系统操作界面,确定用户如何使用系统,是命令窗口界面还是图形界面,如何操作。3)系统实现:建立一个工程文件,其中至少包含三个文件,第一个是主函数所在的源文件,第二个是各个功能子模块对应的函数所在的源文件,第三个是各个功能子模块的函数原型所在的头文件。4)调试程序:上机调试。未必要等把所有的代码都写好才进行编译调试。可以先实现主模块,只调试主函数,所有的子模块函数均使用所谓的树桩函数进行测试。然后逐个实现各个模块,一个一个添加,实现一个调试一个。5)系统测试:通过精心准备的测试数据,对系统进行测试,如
4、果发现错误要查找原因改正错误。检查系统是否真正实现了系统的设计目标,操作界面是否方便使用。测试数据最好是通过文件加载,这样可以防止重复输入。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 22 页6)撰写报告:按照给定的格式写出完整、标准的报告并打印。其中模块图、流程图要画得清楚、标准,尽量防止错别字。另附报告模板7)答辩:告知指导教师设计任务已经完成,进入考核阶段。首先展示和讲解设计报告然后运行系统,演示系统功能和运行结果,准备答复指导教师提出的问题。三、课程设计的基本内容题目课程设计题目按“高级语言程序设计”课程的成绩分成两组A/B
5、 A 组同学首先重做期末考试题单号:程序填空题1. (5 分) 功能:将一个字符串中的前N个字符复制到一个字符数组中去,不许使用 strcpy函数。#include void main ( ) char str1 80, str2 80; int i, n; gets( str1); scanf( %d ,& n); for ( i =0; _ ( 1) _ ; i +) str2 i = str1 i ; _ ( 2) _; printf( %sn, str2); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 22 页2. (5 分
6、) 功能:用冒泡法对数组a 进行由小到大的排序。#include void fun( int * a, int n ) int i, j , t ; for ( j =0; _( 1) _; j +) for ( i =0; _( 2) _ ; i +) if( a i a i +1) t=a i ;_ ( 3) _ ; a i +1= t ; int main() int i, n, a 100 ; printf( Please input the number of the case:n); scanf( %d ,& n); for( i =0; i n; i +) scanf( %d ,
7、& a i ); _ ( 4) _; for( i =0; i n; i +) printf( %3d , a i ); 3. (5 分) 功能:产生并输出杨辉三角的前七行。1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 #include 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 22 页void main ( ) int a 7 7; int i, j , k; for ( i =0; _( 1) _; i +) a i 0= 1; a i i = 1;
8、for ( i =2; i 7; i +) for ( j =1; j i ; j +) a i j = a i - 1 j - 1+ _( 2) _; for ( i =0; i j ; j +) printf( %6d , _ ( 3) _ ); printf( n); 4. (5 分) 功能:输入 n 个整数数据求它们的平均值。设n=2 并且 n=100。#include float ave ( int * a, int n ) int i; int s =0; for( i =0; _1_ ; i +) s+=a _2_; return _3_ ; int main () int da
9、ta 100 ; int i , n; float av ; scanf( %d ,& n); for( i =0; i n; i +)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 22 页 scanf( %d ,& data i ); _4_; printf( %.2fn, av ); return 0 ; 编程题 1. (10 分) 两个整数的和、差、积、商题目描述输入两个整数,输出它们的和、差、积、商。输入描述输入两个整数,第二个数不能为0,以空格间隔输出描述四个数在同一行中输出,中间以空格分隔,商保留两位小数输入样例3 4 输
10、出样例2. (10分)数值统计题目描述统计给定的 n 个数中,负数、零和正数的个数。输入描述每组输入数据的第一个数是整数n,表示需要统计的数值的个数,然后是n 个实数;输出描述对于每组输入数据,输出一行a,b 和 c,分别表示给定的数据中负数、零和正数的个数。输入样例精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 22 页6 0 1 2 3 -1 0 输出样例1 2 3 3. (10分)求阶乘的和题目描述输入正整数 n, 在主函数中输出1!+2!+3!+.n!的值, 要求将计算阶乘的运算写成函数 JC(n) 。输入描述输入一个 int型
11、的正整数 n 输出描述输出阶乘的和输入样例3 输出样例9 4. (10分)求最大值与最小值题目描述定义一个函数 max_min,求一组数据的最大值和最小值. 在主函数中输入 n 和 n 个数据,调用 max_min函数求出最大最小值, 然后在主函数中输出这 n 个数的最大值和最小值。输入描述输入 n 和 n 个数输出描述输出最大值占一行,保留2 位小数输出最小值占一行,保留2 位小数输入样例6 5.2 -7 8 0.84 4 1 输出样例精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 22 页期末考试双号填空题1. (5 分) 功能:已
12、定义一个含有30 个元素的数组s, 函数 fun1 的功能是按顺序分别赋予各元素从2开始的偶数 , 函数 fun2 则按顺序每五个元素求一个平均值 , 并将该值存放在数组w中。#includedouble s 30, w 6;void fun1( double * s) int k , i ; for( k=2, i =0; i 30; i +) _( 1) _; k+=2; void fun2( double * s, double * w) double sum =; int k , i ; for( k=0, i =0; i 30; i +) sum+=s i ; if( _ ( 2)
13、_ ) w k= sum/ 5; _( 3) _; k+; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 22 页 int main() int i ; fun1( s); _( 4) _; for( i =0; i 30; i +) if( i % 5=0) printf( n); printf( %8.2lf, s i ); printf( n); for( i =0; i 6; i +) printf( %8.2lf, w i ); 2. (5 分) 功能:删除一个字符串中的所有数字字符。#include void delnum
14、( char * s) int i, j ; for( i =0, j =0; _ ( 1) _0 ; i +) if( s i 9) _( 3) _; j+; s j = 0; int main () char item 1001 ; printf( input a string:n); gets( item ); _ ( 4) _; printf( n%s, item ); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 22 页3. (5 分) 功能: 计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。#define M
15、5 #define N 4 #include void aver( double sco _ ( 1) _ ) int i, j ; for( i =0; i _( 2) _; i +) for( j =0; j N; j +) sco i N += sco i j ; sco M j += sco i j ; sco M N += sco i j ; sco i N _ ( 3) _ N ; for( j =0; j N; j +) sco M _ ( 4) _ /= M ; sco M N= sco M N/ M / N; int main() int i, j ; static doub
16、le score M +1 N+1=78 , 85, 83, 65, 88 , 91, 89, 93, 72, 65 , 54, 75,86, 88, 75 , 60,69, 60, 50 , 72; aver( score ); printf( 学生编号课程 1 课程 2 课程 3 课程 4 个人平均 n); for( i =0; i M ; i +) printf( 学生%dt, i +1); for( j =0; j N+1; j +) printf( %6.1ft, score i j ); printf( n); for( j =0; j 8*( N+2); j +) printf(
17、 -);精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 22 页 printf( n课程平均 ); for( j =0; j =2 且 n=100。#include float ave ( int * a, int n ) int i; int s =0; for( i =0; _1_ ; i +) s+=*( _2_ ); return _3_ ; int main () int data 100 ; int i , n; scanf( %d ,& n); for( i =0; i n; i +) scanf( %d ,& data
18、i ); printf( %.2fn, _4_ ); return 0 ; 编程题1. (10 分)长方形的周长和面积精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 22 页题目描述输入长方形的长和宽,计算并输出其周长和面积。输入描述输入长方形的长和宽,输入数据以空格分隔输出描述输出在同一行中,以空格分隔,输出结果保留2 位小数。输入样例输出样例2. (10 分)统计非负数之和题目描述输入 n 个1n200整数,统计非负数的个数,并计算非负数之和。输入描述先输入 n1n200,再输入n 个整数输出描述输出“非负数的个数非负数之和”如果
19、 n 值越界,输出“ Error ”输入样例10 0 5 6 9 -8 4 3 -7 1 2 5 -1 -2 -3 -4 -5 400 输出样例8 30 0 0 Error 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 22 页3. (10 分)求 1 到 n 个数阶乘的和题目描述在主函数中输出 1!+2!+3!+.+n!的值n 小于等于 10。要求将计算阶乘的运算写成函数。输入描述n 输出描述输出 1!+2!+3!+.+n!的值 n 小于等于 10。输入样例5 输出样例153 4. (10 分)最大最小值位置题目描述从键盘任意输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年高级语言课程设计任务书 2022 年高 语言 课程设计 任务书
限制150内