C语言实训方案1
- 格式:pdf
- 大小:282.96 KB
- 文档页数:12
c语言实训课课程设计一、课程目标知识目标:1. 理解C语言的基本语法,掌握数据类型、运算符、控制结构等基本概念。
2. 学会使用C语言编写、调试简单的程序,并能阅读和分析他人编写的代码。
3. 了解C语言在工程实践中的应用,如硬件编程、嵌入式开发等。
技能目标:1. 能够运用C语言编写解决实际问题的程序,如数值计算、字符串处理等。
2. 培养良好的编程习惯,掌握代码规范、调试技巧和性能优化方法。
3. 提高学生的逻辑思维和问题分析能力,培养团队协作和沟通表达能力。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养主动学习和探索的精神。
2. 培养学生的耐心、细心和责任心,使其认识到编程对于社会发展的重要意义。
3. 增强学生的自信心和成就感,鼓励他们积极参与各类竞赛和实践活动。
本课程针对高年级学生,课程性质为实训课,注重培养学生的实际动手能力和团队协作能力。
在教学过程中,教师应关注学生的个体差异,引导他们通过实践掌握C语言的编程技能,同时注重培养他们的逻辑思维和问题解决能力。
课程目标分解为具体学习成果,以便在教学设计和评估中实现精准定位和有效提升。
二、教学内容1. C语言基础知识:- 数据类型、变量和常量- 运算符和表达式- 控制结构(顺序、选择、循环)- 函数的定义和调用2. C语言进阶知识:- 指针的概念和使用- 数组、字符串、结构体- 预处理器和动态内存分配3. 程序设计方法:- 算法分析与设计- 编码规范与风格- 调试技巧与性能优化4. C语言应用案例:- 数值计算(如排序、求最大公约数等)- 字符串处理(如字符串拼接、查找子串等)- 文件操作(如文件读写、文件加密等)5. 实践项目:- 小型程序设计(如计算器、通讯录管理等)- 团队项目(如嵌入式系统设计、算法竞赛等)教学内容参照教材章节进行安排和进度制定,确保学生循序渐进地掌握C语言知识。
在教学过程中,注重理论与实践相结合,提高学生的实际编程能力。
c程序设计实训学习计划一、学习目标1、掌握C语言的基本语法和程序设计思想,能够独立编写、调试和运行简单的C程序。
2、了解C程序设计的基本原理和方法,掌握常用的数据结构和算法。
3、熟悉C语言的开发环境和调试工具,能够熟练使用常用的编译器,调试器和版本管理工具。
二、学习内容1、C语言基础(1)掌握C语言的基本数据类型、运算符和控制结构。
(2)学习C语言的输入输出函数,掌握常用的格式化输入输出。
(3)了解C语言的函数和数组,掌握函数的调用和数组的使用。
2、C程序设计(1)学习C程序的模块化设计和结构化编程,了解标准库函数的使用。
(2)掌握指针和内存管理,了解动态内存分配和指针运算。
(3)了解C语言的文件操作,掌握文件的打开、读写和关闭操作。
3、数据结构和算法(1)学习常用的数据结构,包括线性表、树、图等。
(2)了解常用的排序和查找算法,包括冒泡排序、快速排序、二分查找等。
(3)掌握常用的数据结构和算法的实现方法,能够独立编写和调试相关程序。
4、开发环境和工具(1)熟悉C语言的开发环境,包括编译器、链接器和调试器等。
(2)掌握常用的版本管理工具,如Git、SVN等。
(3)了解C语言的性能优化和调试技巧,包括代码优化、调试工具的使用等。
三、学习计划1、阶段一:C语言基础(1)学习C语言的基本语法和程序设计思想,包括数据类型、运算符、流程控制等。
(2)练习编写简单的C程序,包括输入输出、函数调用、数组使用等。
(3)阅读相关的教材和资料,掌握C语言的基本知识和技能。
2、阶段二:C程序设计(1)学习C程序的模块化设计和结构化编程,了解标准库函数的使用。
(2)练习编写中等难度的C程序,包括模块设计、函数调用、文件操作等。
(3)阅读相关的书籍和案例,了解常见的C程序设计方法和技巧。
3、阶段三:数据结构和算法(1)学习常用的数据结构和算法,包括线性表、树、图等。
(2)练习编写复杂的C程序,包括排序算法、查找算法、图算法等。
c语言实训课课程设计一、教学目标本课程旨在通过C语言实训,使学生掌握C语言的基本语法、编程技巧和相关概念,培养学生独立编程和解决问题的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据类型。
–理解函数、数组、指针、结构体等基本概念。
–学习C语言的输入输出、文件操作和库函数的使用。
2.技能目标:–能够使用C语言编写简单的程序,解决实际问题。
–熟练使用C语言的调试工具,分析并解决编程中的问题。
–掌握C语言编程的规范和技巧,编写结构清晰、可读性强的代码。
3.情感态度价值观目标:–培养学生的创新意识和解决问题的能力,激发学生对计算机科学的兴趣。
–培养学生团队合作的精神,提高学生的沟通能力和协作能力。
–培养学生的自主学习能力,养成良好学习习惯。
二、教学内容根据课程目标,教学内容主要包括以下几个方面:1.C语言基本语法和数据类型。
2.函数、数组、指针、结构体等基本概念。
3.C语言的输入输出、文件操作和库函数的使用。
4.编程实践,包括简单的数学计算、字符串处理、数据结构实现等。
教学大纲将按照以下顺序进行:1.第一周:C语言基本语法和数据类型。
2.第二周:函数、数组、指针、结构体等基本概念。
3.第三周:C语言的输入输出、文件操作和库函数的使用。
4.第四周:编程实践,包括简单的数学计算、字符串处理、数据结构实现等。
三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法:1.讲授法:通过讲解C语言的基本语法、概念和编程技巧,使学生掌握基础知识。
2.案例分析法:通过分析典型的编程案例,使学生理解并掌握C语言的应用。
3.实验法:安排上机实验,让学生亲自动手编写代码,培养学生的实际编程能力。
4.小组讨论法:学生进行小组讨论,分享学习心得和解决问题的方法,提高学生的团队合作能力。
四、教学资源为了支持教学内容和教学方法的实施,将准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C Primer Plus》。
c语言的实训学习计划一、引言C语言作为一种通用的高级程序设计语言,被广泛应用于各种应用程序的开发中。
无论是操作系统、嵌入式系统还是普通应用程序的开发,都离不开C语言。
因此,掌握C语言编程技能对计算机专业的学生来说至关重要。
为了提高学生的编程能力,本学习计划旨在通过实践,理论相结合的方式,帮助学生全面掌握C语言的基础知识和编程技能。
二、学习目标1. 熟悉C语言的基本语法和数据类型;2. 掌握C语言的程序设计技巧;3. 能够独立完成简单的C语言程序设计;4. 熟悉C语言的常用库函数的使用;5. 能够运用C语言解决实际问题。
三、学习内容1. C语言基础语法和数据类型(1)了解C语言的基本概念和特点;(2)学习C语言的基本数据类型和运算符;(3)熟悉C语言的流程控制结构和函数;(4)学习C语言的数组和指针;(5)了解C语言的结构体和枚举类型。
2. C语言程序设计技巧(1)掌握C语言的模块化程序设计;(2)学习C语言的递归和循环;(3)熟悉C语言的文件操作;(4)了解C语言的动态内存分配;(5)学习C语言的错误处理和调试技巧。
3. C语言程序设计实践(1)通过实例学习C语言的应用;(2)设计并实现简单的C语言程序;(3)独立完成C语言编程项目;(4)运用C语言解决实际问题。
四、学习方法1. 理论学习:通过教材、课件等学习C语言的基本理论知识;2. 课堂练习:参加教师布置的课堂练习,巩固所学知识;3. 实验实践:完成实验报告,加深对C语言的理解和掌握;4. 自主学习:阅读相关书籍、资料,学习C语言的应用技巧;5. 互助学习:参加讨论班、小组讨论,相互交流学习经验。
五、实训安排1. 第1-2周:学习C语言基础语法和数据类型;2. 第3-4周:学习C语言程序设计技巧;3. 第5-6周:学习C语言程序设计实践;4. 第7-8周:进行C语言程序设计实践;5. 第9-10周:总结经验,完成实验报告。
六、实训评估1. 参加期中考试,测试对C语言基础知识的掌握情况;2. 完成实训项目,考核对C语言程序设计实践技能的掌握情况;3. 完成实验报告,评估对C语言的理解和掌握程度。
【C语言编程实训】实训指导书一适应专业:应用电子技术广州康大职业技术学院自动化系二0 一0年十一月【C语言编程实训】实训一单片机电路的PROTEUS设计与仿真一、循环彩灯1.实训目的(1)通过AT89C51单片机控制8个发光二极管发光,实现循环彩灯的闪亮效果。
(2)用PROTEUS设计循环彩灯电路原理图。
(3)掌握使用PROTEUS进行仿真调试的操作步骤与方法。
2.PROTEUS电路设计(1)从PROTEUS库中选取元器件①AT89C51:单片机②10WATT1K:电阻③LED-GREEN:绿色发光二极管④AVX0402NP033P、AV100U25V:电容、电解电容⑤CRYSTAL:晶振⑥SW-SPST:开关(2)放置元器件(3)放置电源和地〔终端〕(4)连线(5)元器件属性设置(6)电气检测注意:以上操作方法详见教材【单片机原理与接口技术】第6章〔P62〕绘制完成的电路原理图如下所示:图1-1 循环彩灯电路原理图绘制电路原理图时,也可以用1个排阻RX8代替8个1K电阻10WATT1K。
3.源程序设计、生成目标代码文件使用KEIL C 软件进行循环彩灯C语言程序的编辑、编译、链接,并生成HEX文件具体操作步骤与方法详见【C语言编程实训】实训指导书二。
附:原程序清单unsigned int i; char j,k;sbit P3_0=P3^0;void main(){while(1){if(P3_0==0){k=0x80;for (j=0;j<8;j++){P1=k;for(i=0;i<5000;i++);k=k>>1;}k=0x01;for (j=0;j<8;j++){P1=k;for(i=0;i<5000;i++);k=k<<1;}}elseP1=0xff;}}4.PROTEUS仿真(1)加载目标代码文件鼠标指针指在器件AT89C51上,先右击再左击,在弹出的属性编辑对话框Program File 一栏中单击翻开按钮,出现文件浏览对话框,找到.HEX文件,单击“翻开〞按钮,完成添加文件。
C语言实训课 课程设计一、课程目标知识目标:1. 理解C语言基本语法结构,掌握变量、数据类型、运算符和表达式的使用;2. 学会使用C语言控制结构(如顺序、选择、循环)进行程序设计;3. 掌握C语言数组和字符串的基本操作,并能应用于实际问题解决;4. 了解C语言的函数定义与调用,理解模块化编程思想。
技能目标:1. 能够运用C语言编写简单的程序,解决实际问题;2. 能够分析问题,设计并实现C语言程序,具备初步的程序调试能力;3. 能够阅读和分析简单的C语言代码,理解他人程序的设计思路。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学生学习C语言的积极性;2. 培养学生的逻辑思维能力和解决问题的能力,增强自信心;3. 培养学生良好的编程习惯,注重代码规范,遵循团队合作精神;4. 培养学生具备信息安全意识,遵循道德规范,合理使用编程技能。
课程性质:本课程为C语言实训课,注重理论与实践相结合,以培养学生的编程能力和实际应用能力为核心。
学生特点:学生已具备一定的计算机基础和编程思维,但对C语言的实际应用尚不熟悉。
教学要求:结合学生特点,通过案例教学、任务驱动、分组讨论等教学方法,引导学生掌握C语言的基本知识和技能,提高实际编程能力。
在教学过程中,注重激发学生兴趣,培养良好的编程习惯和团队合作精神。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. C语言基础知识- 变量与数据类型- 运算符与表达式- 顺序结构程序设计2. C语言控制结构- 选择结构(if语句、switch语句)- 循环结构(for循环、while循环、do-while循环)3. 数组与字符串- 数组的定义与使用- 字符串的基本操作4. 函数与模块化编程- 函数定义与调用- 递归函数- 变量的作用域与存储类别5. 简单的文件操作- 文件的打开与关闭- 文件的读写操作6. 编程规范与调试技巧- 代码规范与命名规则- 程序调试方法与技巧教学内容依据教材章节进行组织,确保科学性和系统性。
语言实训指导书c 1实验环境Turbo C 熟悉实训一训【实目的】C实验环境1、熟悉TurboC语言程序的基本结构2、掌握C语言程序的编辑、调试和运行过程3、掌握训内容】【实Turbo C实验环境的进入和退出的方法1、LOAD)和编辑、调试及运行的方法、C语言程序的输入(2 常用的信息提示3、熟悉Turbo C训【实步骤】一、上机改错题(输入以下程序,改正错误所在,并写出程序的结果和功能)stdio.h 1、#includemain()a, b, c;intumbers:, &a, &b ); scanf (Please input two integerc=a+b;c)printf (%d\n,本题错误有:修改错误后再完成以下操作:程序的运行结果是:,从键盘输入4,5 程序的运行结果是:,,765 从键盘输入123 程序的运行结果是:,从键盘输入659,3789 从以上结果可以看出,程序的功能是:stdio.h#include 、2main(){2scanf (%d%d,&a, &b );a=a+b; b=a-b; a=a-b;printf (a=%d b=%d, a, b)}本题错误有:修改错误后再完成以下操作:从键盘输入8,3,程序的运行结果是:从键盘输入25,4,程序的运行结果是:从以上结果可以看出,程序的功能是:【思考与练习】1、在结束一个程序的的运行,开始新程序编辑之前,应做何操作?2、运行程序和查看程序的运行结果的快捷键是什么?3数据类型、运算符和表达式实训二训【实目的】语言数据类型的概念,熟悉如何定义整型、字符型和实型变量1、熟悉C 语言中的算术运算符2、掌握C【预习内容】……float 、double、unsigned 、char、1、C语言中类型定义的标志符int 、short 语言中的运算符所能实现的操作、C2训【实内容及步骤】main( ).上机改错题。
c语言案例实训课程设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程技巧,能够运用C语言进行简单的程序设计。
具体来说,知识目标包括理解C语言的基本数据类型、运算符、控制结构、函数等基本概念;技能目标包括能够使用C语言编写并调试程序,掌握基本的编程技巧;情感态度价值观目标包括培养学生的编程兴趣,提高学生解决问题的能力。
二、教学内容根据课程目标,本课程的教学内容主要包括C语言的基本语法和编程技巧。
具体的教学大纲如下:1.第一章:C语言概述,介绍C语言的历史和发展,理解C语言的特点和优势。
2.第二章:基本数据类型和运算符,学习C语言的基本数据类型,如整型、浮点型、字符型等,以及常用的运算符。
3.第三章:控制结构,学习C语言的条件语句和循环语句,掌握分支结构和循环结构的使用方法。
4.第四章:函数,学习C语言的函数定义和调用,掌握函数的参数传递和返回值。
5.第五章:数组和字符串,学习C语言的数组和字符串的使用方法,掌握数组的排序和查找算法。
6.第六章:指针,学习C语言的指针概念和应用,掌握指针的运算和指针数组的使用。
7.第七章:结构体和联合体,学习C语言的结构体和联合体的定义和使用,掌握结构体的排序和查找算法。
8.第八章:文件操作,学习C语言的文件操作,掌握文件的打开、读写和关闭。
三、教学方法为了实现课程目标,本课程将采用多种教学方法,如讲授法、案例分析法、实验法等。
通过这些教学方法的综合运用,激发学生的学习兴趣,提高学生的编程能力。
1.讲授法:通过教师的讲解,使学生掌握C语言的基本概念和语法。
2.案例分析法:通过分析典型案例,使学生理解C语言的编程技巧和应用。
3.实验法:通过上机实验,使学生熟练掌握C语言的编程方法和调试技巧。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言编程思想》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)通过以上教学资源的使用,丰富学生的学习体验,提高学生的编程能力。
c语言编程实训学习计划一、课程设置1. 课程目标:通过学习C语言,掌握基本的程序设计方法和技巧,了解计算机结构和算法原理,培养逻辑思维和问题解决能力。
2. 课程内容:(1)C语言基础知识:包括数据类型、运算符、控制语句、数组、指针等。
(2)函数与模块化编程:学习函数的定义和调用、递归、参数传递、作用域等内容。
(3)文件操作:学习文件的创建、读写、关闭等操作,了解文件指针和文件流的概念。
(4)动态内存分配:学习动态内存的分配和释放,了解内存泄漏和内存溢出问题。
(5)数据结构和算法:初步了解常用的数据结构和算法,如链表、栈、队列、排序和查找等。
3. 教学方法:采用讲解和示范相结合的教学方式,引导学生通过实例理解知识点,注重动手实践和实际项目的应用。
4. 课程评估:通过课堂作业、实验报告、编程项目和期末考试等形式对学生的学习情况进行评估,及时发现和解决问题。
二、学习方法1. 阅读教材:选择一本权威的C语言教材,系统地学习C语言的基础知识和核心概念。
2. 练习编程:通过大量的编程练习,提高自己的程序设计能力和调试能力,熟练掌握C语言的语法和用法。
3. 多思考交流:与同学、老师和其他学习者多交流,思考和讨论编程中的问题和难点,共同进步。
4. 参考资源:积极查阅相关的学习资源,如经典教材、优秀的编程博客、网上的视频教程等,扩展自己的知识面。
三、实践项目1. 编写简单的C程序:从最基础的“Hello, world!”程序开始,逐渐编写一些简单的程序,如计算器、九九乘法表、字符串处理等。
2. 设计小型应用程序:结合课程内容,设计一些涉及文件操作、内存管理、函数调用等方面的小型应用程序,如学生成绩管理系统、图书馆借阅系统等。
3. 参与实际项目:如果有机会,可以参与一些实际的项目开发,了解实际开发过程中C语言的应用情况,锻炼自己的编程能力和团队合作能力。
四、进阶内容1. C语言高级特性:学习C语言的高级特性,如指针的高级应用、位运算、多线程编程等。
c语言案例实训课程设计一、课程目标知识目标:1. 学生能掌握C语言的基本语法和结构,理解程序设计的逻辑思路;2. 学生能运用C语言编写简单的程序,解决实际问题;3. 学生了解C语言在计算机科学中的应用,认识到编程对日常生活的影响。
技能目标:1. 学生具备分析问题、设计程序、调试程序的能力;2. 学生能运用所学知识,独立完成C语言案例实训项目;3. 学生掌握运用C语言进行数据处理和文件操作的基本方法。
情感态度价值观目标:1. 学生培养对编程的兴趣,增强学习计算机科学的自信心;2. 学生树立团队协作意识,学会与他人共同解决问题;3. 学生认识到编程在科技发展中的重要性,激发创新精神和实践能力。
课程性质:本课程为C语言案例实训课程,旨在通过实际案例,让学生在实践中掌握C语言编程技能。
学生特点:学生已具备一定的C语言基础,具有较强的学习能力和探究精神。
教学要求:注重理论与实践相结合,充分调动学生的主观能动性,培养其独立思考和解决问题的能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. C语言基础知识回顾:包括变量、数据类型、运算符、表达式、控制结构(顺序、选择、循环)等,确保学生扎实掌握C语言基础。
2. 函数:介绍函数的定义、声明、调用,重点讲解递归函数、库函数的使用,使学生能够编写模块化的程序。
3. 数组与字符串:讲解一维数组、二维数组、字符串的基本概念和操作,训练学生运用数组进行数据处理。
4. 指针:介绍指针的概念、运算,以及指针与数组、函数的关系,让学生掌握C语言的核心知识点。
5. 结构体与文件:讲解结构体的定义和使用,文件读写操作,训练学生处理复杂的数据结构。
6. 案例实训:结合实际案例,让学生运用所学知识解决问题,提高编程实践能力。
教学内容安排和进度:1. 第一周:C语言基础知识回顾,复习教材第一章至第四章内容。
2. 第二周:函数,学习教材第五章内容。
C语言软件实训方案1、实训意义和目的使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。
课程设计的目的和要求:◆使学生巩固和加强《C语言程序设计》和《数据结构与算法》课程的理论知识。
◆使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。
◆使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。
◆进一步理解和运用结构化程设计的思想和方法;学会利用流程图或N-S图表示算法。
◆使学生掌握调试程序的基本方法及上机操作方法。
◆掌握书写程设计开发文档的能力,使学生学会撰写课程设计总结报告。
课程设计的思想和方法还可以作为学生做毕业论文时的参考资料。
◆通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。
为学生做毕业设计打好基础。
◆初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。
通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。
◆培养学生的创新能力和创新思维。
学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。
◆培养学生良好的程序设计风格。
在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。
学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。
2、实训目标及要求参加本课程设计的学生,应当认真完成本课程设计的全部过程。
并以最终课程设计成果来证明其独立完成各种实际任务的能力。
从而,反映出理解和运用本课程知识的水平和能力。
A、分析问题。
各种简单的与计算机有关的案例中所需要的输出结果,把大问题分解成小问题,使用自顶向下或类似设计方法给出模块化或计划。
B、提出算法执行特定任务。
模块表示为算法,使用自顶向下或伪代码等设计手段将模块细化成更详细的成分,清楚地表明顺序、选择和重复等到控制结构。
C、把一个算法变为用C语言编写的结构化程序。
D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。
E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。
F、写出技术文档,对程序中主要标示符的含义或作用加以说明,并提供一个完整的程序流程图。
G、调试程序、测试数据过程成功。
3、实训内容及安排3.1设计环境硬件:PC机,目前机房都已具备开发C语言程序的条件软件:操作系统为Windows系列,设计语言为Visual C++或Turbo C。
3.2基本要求◆课程设计可采取每人一题,可任选一题进行设计,至少包含五个功能模块。
或者每组(不超过5人)完成一个课题,每组成员分工合作完成一个课程设计,每个人的任务不同;◆可以选择老师提供的参考选题,也可以自选,如果自选,需要将自选题目的详细内容以及实现要求提供给老师,老师批准后方可采用。
◆要求利用结构化程序设计方法以及C的编程思想来完成系统的设计;◆要求有欢迎界面、菜单、文件操作,数据使用数组、结构体、链表等均可,键盘操作或鼠标操作均可;◆模块化程序设计:要求在设计的过程中,按功能定义函数或书写多个文件,进行模块化设计,各个功能模块用函数的形式来实现;◆学生所选课题必须上机通过,并获得满意的结果;◆程序书写风格:锯齿型书写格式。
3.3实现步骤问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?◆逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。
逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;◆详细设计:定义相应的存储结构并写出各函数的伪码算法。
在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。
详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;◆程序编码:把详细设计的结果进一步求精为程序设计语言程序。
同时加入一些注解和断言,使程序中逻辑概念清楚;◆程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。
调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;◆编写实训设计报告.3.4实训题目见附录5、实训报告应具有的内容1)、需求分析描述问题。
简述课题要解决的问题是什么,有什么要求和限制条件。
2)、总体设计(程序设计组成框图、流程图)3)、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等))4)、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施5)、测试结果,用几组测试数据进行测试算法设计的正确性。
6)、用户手册:即使用说明。
7)、附录。
源程序清单和结果(注:不需要所有代码):源程序要加注释。
结果要包括测试数据和运行结果。
完成课程设计应提交如下文档:1程序的总体设计和算法分析。
2技术文档3用户文档4源程序代码清单。
5测试数据和测试过程记录。
6遇到的问题及解决方法分析。
6、提交内容与形式每位同学按格式提交以下内容1论文(大作业打印稿15页到20页)2代码(电子版不要打印)3程序使用说明(简单的描述文字以及截图,电子稿)提交形式:先建立目录:目录命名为:学号+姓名目录下再创建三个子目录如:20051002张三----目录论文----子目录放大作业电子稿代码-----子目录放代码使用说明-----子目录程序使用说明电子稿7、时间以及进度安排1)技术讲解与系统设计与分析2课时◆系统需求(总体概述)◆功能需求◆系统需求详述2)系统设计2课时◆系统组织结构设计◆系统数据流程图◆系统功能模块设计◆详细设计(如流程图等)3)系统编码14课时4)提交报告以及其他2课时8、评阅意见软件实训评阅意见等级项目优秀良好中等及格不及格软件态度评价出勤情况评价任务难度评价工作量饱满评价设计中创新性评价论文书写规范化评价综合应用能力评价综合评定等级9、附录附录1:报告封面福建工程学院软件学院C语言实训项目题目:专业:姓名:学号:同组其他学生(学号):2012年月日附录、C语言项目项目1、学生信息管理(1)问题描述学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:⏹系统以菜单方式工作⏹学生信息录入功能(学生信息用文件保存)---输入⏹学生信息浏览功能---输出⏹查询、排序功能---算法按学号查询、按姓名查询、学生信息的删除与修改(可选项)(2)功能要求界面比较美观;有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入;最好用链表的方式实现。
(3)算法分析首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。
文件的读写操作大家参照书中的有关文件的章节。
项目2、学生综合测评系统每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
A、学生信息处理(1)输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
提示:学生信息可先输入到数组中,排序后可写到文件中。
(2)插入(修改)同学信息:提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,(3)删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
(4)浏览学生信息:提示:打开文件,显示该文件的学生信息。
B、学生数据处理:(1)按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。
(2)学生测评数据输入并计算综合测评总分及名次。
提示:综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。
(3)学生数据管理提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件(4)学生数据查询:提示:输入学号或其他信息,即读出所有数据信息,并显示出来。
C、学生综合信息输出提示:输出学生信息到屏幕。
项目3、学校运动会管理系统问题描述:(1)初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;(2)各项目名次取法有如下几种:取前5名:第1名得分7,第2名得分5,第3名得分3,第4名得分2,第5名得分1;(3)由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4)所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
项目4、教师工作量管理系统计算每个老师在一个学期中所教课程的总工作量。
(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)A、教师信息处理(1)输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。
(2)插入(修改)教师授课教学信息:(3)删除教师授课教学信息:(4)浏览教师授课教学信息:B、教师工作量数据处理:(1)计算单个教学任务总课时。
计算原则如下表:班级数目单个教学任务总课时2 1.5*(理论课时+实验课时)32*(理论课时+实验课时)>=4 2.5*(理论课时+实验课时)(2)计算一个教师一个学期总的教学工作量。