第一篇:《程序设计实践》教学大纲
课程编号:02202001 课程名称:程序设计实践 课程性质:专业基础限选
总 学 时:30(实践学时30)
学分:2 适用专业:计算机科学与技术
《程序设计实践》教学大纲
一、教学目标
《程序设计实践》课程的教学目标旨在训练学生C语言编程的基本能力。通过本课程的训练,使学生具备后续程序设计类课程,如数据结构、算法分析与设计等,所要求的编程能力,为这些教学活动的顺利开展打下良好基础。
二、教学说明
《程序设计实践》分模块对学生的C语言编程技能进行训练,涵盖了基本设计方法、输入输出、指针、字符串、参数传递、递归调用、文件操作等项目。这些技能即是后续与程序设计类课程经常要用到的,也是日后从事C语言程序开发所必备的,乃至对掌握其他编程语言,如C++、Java和C#等也是非常有益的。
训练模块的设计,以及各模块中训练题目的选择是基于以往教学经验,挑选学生普遍薄弱以及未来经常使用的编程技能编辑而成。教师可根据具体情况,特别是学生对C语言编程的掌握情况,灵活调整训练模块和模块中的训练题目。
目前各模块基本相对独立,前后顺序可以调整,但仍建义将实验一和实验二放在最开始;实验三不晚于实验六;实验四不晚于实验五。建议每次课能抽出部分时间对与本模块相关的理论知识做简单归纳总结。
本课程是对编程能力的训练,因此反对学生参考成熟的程序,甚至鼓励学生尽量少用库函数,而是自己独立编程实现。这一点与其他程序设计类课程有所不同,望在教学实施过程中予以注意。本课程虽是对编程能力的训练,但在注重结果正确的前提下,也应注意对学生良好编程风格的培养。
鼓励学生选择与训练模块相关的,来自于自己程序开发实践活动的题目参与训练,但要事先征得教师的认可。
如果条件允许,应该全程开展对训练结果的机器自动检查。
三、教学内容及要求
实验一 基本设计方法训练
(一)实验内容
本次实验对基于程序流程图写代码,以及通过程序流程图分析代码的程序设计方法进行训练。实验题目分如下两大类,学生可分别从每类中选择1道来完成: 1.流程图转换为代码
(1)写出下列流程图对应的代码
(2)写出下列流程图对应的代码
2.代码转换为流程图
(1)画出下列代码的流程图
p = head;
for(j=1;j p = p->next; while(head->next!= head) { for(j=1;j p = p->next; q = p->next; p->next = q->next; printf(“%d ”,q->number); if(q == head) head = q->next; free(q); p = p->next; } printf(“%dn”,head->number);(2)画出下列代码的流程图 r1=head1;p1=head1->next;r2=p2=head2->next;while(p1&&p2){ if(p1->index==p2->index){ p1->modulus=(p1->modulus)+(p2->modulus);p2=p2->next;free(r2);r2=p2;r1=p1;p1=p1->next;} else if(p1->index>p2->index){ r2->next=p1;r1->next=r2;p2=p2->next;r2=p2;} else if(p1->index index){ r1=p1;p1=p1->next;} 3 } (二)实验要求 能写出程序流程图对应的代码,并能画出代码对应的程序流程图。实验二 输入输出格式控制训练 (一)实验内容 本次实验对输入输出语句的使用,主要是格式控制参数的使用进行训练。实验题目分如下两大类,学生可分别从每类中选择2道来完成: 1.输入语句 (1)读入一组以空格分隔的数,把它们存入数组,用逗号分隔的方式输出,并统计数的个数。 例:【输入】20 37.5 43 5 87.0【回车】 【输出】20,37.5, 43,5,87.0 5(2)按照“学号【空格】姓名【空格】性别【空格】年龄【回车】”的格式输入若干学生信息,将他们存储在结构体数组中(即每一个学生的信息存储在一个结构体中),输入以“##”结束。统计学生信息数量,并按行输出每条学生信息(逗号分隔)。例:【输入】20142101 zhang Male 19【回车】 20142102 wang Female 18【回车】 ##【回车】 【输出】2 20142101,zhang,Male,19【回车】 20142102,wang,Female,18【回车】 (3)读入一组以制表符(Tab)分隔的数,把它们存入数组,并用逗号分隔输出。例:【输入】5【Tab】35【Tab】15【Tab】100【回车】 【输出】5,35,15,100【回车】 2.输出语句 (1)打印如下图形,层数由用户输入,最后一行左侧顶格。 * *** ***** *******(2)打印如下图形,层数由用户输入,中间一行左侧顶格。 * *** ***** *** *(3)打印倒的杨辉三角形,层数由用户输入,第一行左侧顶格。例: 3.综合类 (1)输入一组以逗号分隔的整数,以回车结尾,以每行5个,空格分隔,左对齐的方式输 出它们。 例:【输入】100,21,3950,7,8,3289,943,495,34134,343,209,47,2,7293,29,2732,843,392,24【回车】 【输出】100 3950 7 3289 943 495 34134 343 209 7293 2732 843 392 (2)输入一组以逗号分隔的整数,以回车结尾,以每行5个,空格分隔,右对齐的方式输出它们。 例:【输入】100,21,3950,7,8,3289,943,495,34134,343,209,47,2,7293,29,2732,843,392,24【回车】 【输出】 100 3950 3289 943 495 34134 343 209 7293 2732 843 392 (3)输入一组以空格分隔的英文单词,以回车结尾,以每行5个,空格分隔,左对齐的方式输出它们。例:【输入】 Machine learning is the term that refers to learning patterns in the data In other words【回车】 【输出】Machine learning is that words(4)输入一组以空格分隔的英文单词,以回车结尾,以每行5个,空格分隔,右对齐的方式输出它们。例:【输入】 Machine learning is the term that refers to learning patterns in the data In other words【回车】 【输出】Machine learning is that words(5)输入一组以逗号分隔的小数,以回车结尾,以每行5个,空格分隔,小数点对齐的方式输出它们。 例:【输入】10.0,2.1,39.50,7.8,328.9,9.43,49.5,341.34,34.3,2.09,0.47,2.0,7.293,29.00【回车】 【输出】 10.0 2.1 39.50 7.8 328.9 9.43 49.5 341.34 34.3 2.09 0.47 2.0 7.293 29.00(6)输入一组以空格分隔的英文单词,以回车结尾,以每行5个,空格分隔,中间对齐的方式输出它们。例:【输入】 Machine learning is the term that refers to learning patterns in the data In other words【回车】 【输出】Machine learning is that words (二)实验要求 the term learning patterns In other refers to data in the the term In other refers to learning patterns in the data the term learning patterns In other refers to data in the 能利用输入输出语句完成相应任务。实验三 指针及字符串训练 (一)实验内容 本次实验对指针的使用和字符串的操作进行训练。实验题目如下,学生可从中选择2道来完成: 1.用指针操作实现一个二维数组的转置运算。 输入:输入包含m + 1行。第一行是整数m和n,两项之间用一个空格隔开(1 <= m, n <= 10)。 其中,m,n分别为数组的行数和列数。第二行到第m + 1行每行均有n个整数,相邻两项之间用一个空格隔开。 输出:包含n行,是转置后的二维数组。每行均有m个整数,相邻两项之间用一个空格隔开。 例:【输入】3 2【回车】2【回车】5【回车】8【回车】 【输出】1 4 7【回车】5 8 2.输入一段英文,从中找出最长的英文单词。英文单词由空格分隔。(用字符指针实现,且不能调用库函数。)注:英文单词只包含大写字母和小写字母;若最长的英文单词有多个,则输出第一个。 3.输入一串符号,将其中连续的阿拉伯数字视为整数,计算并输出它们的和。(用字符指针实现,且不能调用库函数。) 例:【输入】whde12fkvf834ddei5sdlm3790wo【回车】 【输出】4641(因为12+824+5+3790=4641) (二)实验要求 能利用指针完成相应任务,并能对字符串进行操作。实验四 参数传递训练 (一)实验内容 本次实验对函数调用过程中的参数传递进行训练。实验题目如下,学生可从中选择2道来完成: 1.二维矩阵A和B作为输入参数,传入函数ADD,函数ADD完成A+B的运算,结果放在二维矩阵C中。SELECTMIN函数负责找出C中值最小的元素。编程实现上述函数,最终要求输出C和C中最小元素的值。不能用全局变量。 2.字符串str1和str2 作为输入参数,分别传入cut函数。cut函数负责从传入的字符串中截取指定范围(例如:从第2个字符开始,到第5个字符结束的部分)的内容(截取范围也作为cut函数的输入参数传入。)。截取结果分别放在字符串str3和str4中。再将str3和str4作为输入参数传入connect函数。connect函数负责将传入的两个字符串顺序拼接在一起。编程实现上述函数,要求最终输出拼接结果。不能用全局变量。 3.每个学生信息存储在一个结构体中,结构体包括学号、数学成绩、英语成绩、计算机成绩、平均成绩五部分。Ave函数负责计算一个学生的平均成绩。Find函数负责找到平均成绩最高的学生,Print函数负责按表格的形式输出一个学生的全部信息,内容全部左对齐,表头为“No.Math.Eng.Comp.Ave.”。编程实现上述函数,要求输出一个班中(不少于8人)平均成绩最高的学生的信息。 (二)实验要求 掌握根据需求选择正确的参数传递方式完成相应任务的技能。实验五 递归调用训练 (一)实验内容 本次实验对函数的递归调用进行训练。 实验题目分如下两类,学生可分别从每类中选择1道来完成: 1.基本题 (1)用递归函数完成斐波那契级数的计算,并输出斐波那契级数序列的前n项。n由用户输入。 (2)用递归函数完成下列函数的计算,并输出序列的前n项。n由用户输入。 n1m0f(m,n)f(m1,1)m0,n0f(m1,f(m,n1))其他 2.提高题 (1)用递归函数实现将给定正整数转换为二进制数的功能,并输出转换结果。正整数由用户输入。例:【输入】256 【输出】100000000(2)用递归函数实现将给定的纯小数换为二进制数的功能,并输出转换结果。纯小数由用户输入。例:【输入】0.625 【输出】0.101 (二)实验要求 能设计实现递归函数完成相应任务。实验六 文件操作训练 (一)实验内容 本次实验对文件的打开、关闭和读写等操作进行训练。实验题目分如下三类,学生可分别从每类中选择1道来完成: 1. 文件读操作 (1)直接通过对文件的读操作(即不允许将文件内容全部读入到缓冲区中),统计已知的文本文件(txt格式)中总共有多少个英文字符(区分大小写,且不算标点符号)。例如:Machine learning is the term.中的英文字符为24个。 (2)直接通过对文件的读操作(即不允许将文件内容全部读入到缓冲区中),统计已知的文本文件(txt格式)中的英文单词个数(以空格或标点符号分隔的字符串视为一个英文单词)。 例如:Machine learning isn’t a word.中的英文单词为6个。2. 文件写操作 (1)通过对文件的直接读写操作(即不允许将文件内容全部读入到缓冲区中,也不允许将缓冲区中的内容写到文件中),将已知的文本文件(txt格式)中的指定字符c1修改为特定字符c2。c1和c2由用户指定,并作为程序的输入。 (2)通过对文件的直接读写操作(即不允许将文件内容全部读入到缓冲区中),将已知的文本文件(txt格式)中的指定单词w1修改为特定单词w2。w1和w2由用户指定,并作为程序的输入。3. 文件创建操作 (1)通过对文件的直接读写操作(即不允许将文件内容全部读入到缓冲区中),复制已知文 7 本文件file1中的内容到一个新的文本文件file2中。注意在file2中保持源文件中的格式。(2)通过对文件的直接读写操作(即不允许将文件内容全部读入到缓冲区中),将已知文本文件file1中指定位置的指定长度的字符串复制到一个新的文本文件file2中。指定位置由行号和起始字符位置给出。 例如:文件file1中第1行的内容为:Machine learning is the term.则复制第1行第5个字符开始的6个字符到file2中后,file2的内容为:ine le (二)实验要求 能通过对文件的操作完成相应任务。实验七 控制结构训练训练 (一)实验内容 本次实验对控制结构以及控制结构的嵌套进行训练。实验题目如下,学生可从中选择2道来完成: 1.随机输入n个正整数,编程分别求出其中在奇数位序上的(即第1、3、5、7、….个)奇数的和,以及偶数位序上的((即第2、4、6、8、….个))偶数的和。 2. 编写程序,不断读取用户的键盘输入(回车分割)。如果是英文字母则一律转换为小写字母,依次存入一个足够长的字符数组中;如果是阿拉伯数字(不超过4位)则依次放到一个足够长的整数数组中;如果是其他符号,则将其ASCII存入另一个数组中。最后输出3个数组中的内容。 3.在一段英文文章中,找到给定字符串str的所有出现,输出其出现的位置。编程实现之。 (二)实验要求 能利用顺序、分支、循环,以及它们的各种嵌套完成相应的任务。实验八 调试测试训练 (一)实验内容 本次实验对程序的调试和测试进行训练。实验题目如下,学生可从中选择1道来完成: 1.约瑟夫问题:假设有n个人围圈而坐,现在从第k人开始数数,数到m的人出列,紧接着的后续人又从1开始数数,到m出列,如此重复下去,直到全体人员出列。输出出列序列。 #include typedef struct _foruse { struct _foruse* next;int number;}foruse,*link; link create(int n);void joseph(link head, int k, int m); link create(int n){ link head =(link)malloc(sizeof(foruse));foruse *tail;int i;head->next = head;head->number = 1; tail = head;for(i=2;i<=n;i++){ foruse *p =(foruse*)malloc(sizeof(foruse));p->number = i;p->next = tail->next;tail->next = p;tail = p;} return head;} void joseph(link head, int k, int m){ int j;foruse *p;foruse *q;if(m == 1 && k == 1){ p = head;while(p->next!= head){ printf(“%d ”,p->number);q = p->next;free(p);p = q;} printf(“%dn”,p->number);} else if(m == 1 && k!= 1){ p = head;for(j=1;j p = p->next;while(head->next!= head){ for(j=1;j #include if(p3->next==p&&p3->data!=e){ printf(“no exist ,enter againn”);scanf(“%d”,&e);look(p,e);} return(p3);} int main(){ int x,s,y,i;printf(“please enter the number of people:n”);scanf(“%d”,&x);/* while(x<=2||x>=50){ printf(“out of range ,enter againn”);scanf(“%d”,&x);} */ printf(“enter each people's numbern”);LinkList head=(LNode *)malloc(sizeof(LNode));LNode *p1,*p2;p1=head;for(i=1;i<=x;i++){ p1->next=(LNode *)malloc(sizeof(LNode));scanf(“%d”,&s);p1=p1->next;p1->data=s;p1->next=head->next;} p1=head->next; for(i=1;i<=x;i++){ printf(“%d ”,p1->data);p1=p1->next;if(i%10==0)printf(“n”);} printf(“please enter the interval numbern”);scanf(“%d”,&y);while(y<1){ printf(“insignificance,erter againn”);scanf(“%d”,&y);} printf(“enter the first numbern”);scanf(“%d”,&s);p1=look(head->next,s);while(p1->next!=p1){ int j=1; while(j p1=p1->next; j++;11 } p2=p1->next; p1->next=p2->next; printf(“%d ”,p2->data); free(p2);p1=p1->next;} printf(“OK!n”);return 0;} (二)实验要求 能根据提示调试语法错误,能通过测试修正程序。实验九 综合训练 (一)实验内容 本次实验对学生使用前述实验中的各项技能完成所需任务的能力进行训练。实验题目如下,学生可从中选择1道来完成: 1.手机通讯录中每条记录包括:姓名、手机号、类别(如:同学、亲属、同事、好友等)三部分内容。请编写程序完成从文件导入手机通讯录,能对手机通讯录进行增、删、查、改,并能将手机通讯录导出到文件的功能。 2.编写程序,可以统计任给的一个英文文件(.txt格式)中每个英文字母(区分大小写)出现的频率,以及每个英文单词出现的次数。并将统计结果分别输出到两个文件中。结果按频率和次数的升序排列。 3.用数组存储一个集合中的元素,编程实现两个集合的交、并、差、对称差运算。不能改变参与运算的集合内容,不能使用全局变量。 (二)实验要求 能利用程序设计的各项技能完成相应任务。实验十 上机考试 (一)实验内容 本次实验对学生掌握和运用程序设计基本技能的情况进行考核。 (二)实验要求 能在规定的时间内完成指定的程序设计任务,并调试测试通过,得到正确的运行结果。 四、进程安排 实验一 基本设计方法训练 实验二 输入输出格式控制训练 实验三 指针及字符串训练 实验四 参数传递训练 实验五 递归调用训练 实验六 文件操作训练 实验七 控制结构训练 实验八 调试测试训练 实验九 综合训练 实验十 上机考试 3学时 3学时 3学时 3学时 3学时 3学时 3学时 3学时 3学时 3学时 五、教学参考书 《Computer Algorithms-Introduction to Design and Analysis(3rd edtion)》(影印版),Sara Baase著,高等教育出版社,2000.《Introduction to Algorithms》(影印版),Thomas Cormen,机械工业出版社,2009.《Algorithms(Fourth Edition)》(英文版·第4版),Robert Sedgewick, Kevin Wayne著,人民邮电出版社,2013.《C++数据结构与算法》(第4版),[美] 乔兹德克(Drozdek, A.)著;徐丹,吴伟敏 译,清华大学出版社,2014.《数据结构与面向对象程序设计(C++版)(》第4版),[美] 梅因(Michael Main),萨维特奇(Walter Savitch)著; 金名 等 译,清华大学出版社,2012.《数据结构》,陈越 主编,高等教育出版社,2012.《数据结构(C语言版)》,严蔚敏,吴伟民 著,清华大学出版社,2011.《程序设计实践教程》,章小莉,周知扬,张岩,赵耿,清华大学出版社,2012.六、考核方式及成绩评定参考标准 本课程安排10次实验(含1次上机考试),共30学时。除上机考试外,每个实验均按5分制打分,最后合成45分,占期末总评成绩的45%。 考核中承认学生能力差别,肯定每个学生的努力,激励独立完成任务,鼓励挑战难题,允许获取教师和同学的帮助,反对盲目抄袭和作假,引导学生按能力选题,积极动手实践,在学习中不断成长。 实验评分标准: 5分:实验预习充分,上机准时,操作熟练,能独立完成代码设计,程序调试,按时完成,代码注释充分,结果正确。 4分:实验预习良好,上机准时,操作比较熟练,能在指导下完成代码设计,顺利调试程序,按时完成,代码注释较充分,结果较正确。 3分:实验预习较好,上机准时,操作比较熟练,基本完成实验任务,代码有注释,结果基本正确。 2分:程序功能基本完整,但没有完成程序调试,无实验结果。1分:程序功能不完整,有重大问题,没有完成程序调试,无实验结果。0分:没有参加实验,也没有相应代码。 大纲撰写人:张 岩 大纲审阅人:赵 越 系部负责人:汪永好 广东医学院 数学与计算机科学教研室 教学大纲 程序设计 2010年9月 《程序设计》 教学大纲 (供非信息管理专业和生物医学工程专业使用) Ⅰ 前言 《程序设计》是医疗本科、检验本科、影像等专业学生的一门计算机应用必修课。课程旨对VISUAL FOXPRO在数据管理应用方面作介绍,使学生初步了解VISUAL FOXPRO在医学领域的实际应用,进一步理解和掌握VISUAL FOXPRO的功能、特点,使用方法和常用命令,学会建立和使用数据库进行数据管理,学会建立和执行命令文件,掌握和学会应用程序结构,了解内存变量的使用。提高学生在今后的实际工作中使用计算机来解决实际问题的能力。 本课程教学要求的层次是: 一 掌握:要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、初步设计和解答与应用相关的问题。 二 理解:要求学生能够较好地理解所学内容,并且能够进行简单分析和判断。三 了解:要求学生能够一般地了解所学内容。 本课程教学参考学时为72学时,理论36学时,实验36学时。 Ⅱ 正文 第一章 数据库系统一 教学目的 让学生熟悉系统的操作界面,知道怎么样配置和简单操作系统,对VFP系统的文件类型有初步的认识。 二 教学要求 (一)理解数据库的基本概念和数据模型,建立数据库的基本思想。 (二)了解VFP系统的有关情况、主要技术性能指标。 (三)理解VFP系统的文件类型,这对以后学生的操作很重要。 三 教学内容 (一)数据库基础知识,包括基本概念、数据模型、关系数据库及其特点。 (二)VFP系统的特点和运行。 (三)VFP系统的集成开发环境。 (四)VFP系统的安装。 (五)VFP系统的配置。 (六)VFP系统的文件类型,如:dbf、.fpt、.idx、.prg、.app、.scx、.sct、.spr、.spx、.mnx、.mnt、.mpr、.exe。 第二章 Visual Foxpro语言基础 一 教学目的 学生学习VFP系统的基本语言,对课程的基础知识有所了解,熟悉VFP的最基本操作,是学好后面内容的关键。 二 教学要求 (一)理解各种不同的额数据类型。 (二)理解数据存储。 (三)掌握运算符和表达式。 (四)掌握各种函数的使用方法、要求。 三 教学内容 (一)VFP的主要数据类型:字符(C)、数值(N)、日期(D)、逻辑(L)、备注(M)、通用(G)。 (二)常量、变量(内存、字段变量)。 (三)表达式和运算符。 (四)函数,如&,ABS(),ALLTRIM(),LTRIM(),AT(),BOF(),CHR(),COL(), CTOD(),DATE(),DAY(),DTOC(),EOF(),FILE(),FOUND(),IIF(),INT(),LEN(), LOWER(),MONTH(),RECNO(),ROUND(),ROW(),SPACE(),STR(),SUBSTR(),TYPE(), UPPER(),VAL(),YEAR()。 第三章 VFP数据库及其操作 一 教学目的 学生了解项目管理器,懂得数据库的基本操作,可以维护日常的数据库数据,根据要求对数据库做排序或索引查询,满足一般的简单查询要求。 二 教学要求 (一)掌握创建项目、数据库和数据表。 (二)掌握数据表的基本操作。 (三)掌握数据表的维护。 (四)掌握数据部排序和索引。 (五)掌握多数据表操作。 三 教学内容 (一)创建项目,项目文件的建立、打开和关闭。 (二)创建数据库,数据库文件的建立、打开和关闭。 (三)创建数据表,数据表文件的建立、打开和关闭。 (四)数据表的基本操作。数据表的浏览和记录的定位,命令包括:GOTO、SKIP、LOCATE和CONTINUE、FIND、SEEK。 (五)数据表的维护,包括:文件结构的修改,记录的输入(增添、插入和用另一个库添加),数据表结构,数据表记录的显示和打印(包括如下命令: LIST、DISPLAY、LIST STRU、DISPLAY STRU、BROWSE、?和??),记录的删除与恢复,记录内容的修改命令包括:BROWSE、EDIT、CHANGE、REPLACE,文件目录的显示,表文件和一般文件的复制,文件删除和更名,表结构描述文件的操作和转换(COPY STRUCTURE TO EXTENDED 和 CREATE FROM 命令)。 (六)数据表排序与索引。一般查询 LOCATE和COTINUE,FIND和SEEK。数据表的统计,命令包括:SUM、AVERAGE、COUNT、TOTAL。数据库的统计,命令包括:SUM、AVERAGE、COUNT、TOTAL。 (七)多数据表操作 工作区的选择。当前库及当前记录字段的访问。数据库的连接(JOIN)、关联(SET RELATION)。 第四章 查询和视图 一 教学目的 学生懂得根据要求建立查询和视图。 二 教学要求 (一)理解查询的概念。 (二)掌握查询文件的建立和查看。 (三)理解视图的概念。 (四)掌握视图的创建和数据的更新。 三 教学内容 (一)查询的概念。 (二)创建查询。 (三)查看查询文件。 (四)视图的概念。 (五)创建视图。 (六)用视图更新数据。 (七)怎样使用视图。 第五章 结构化查询语言SQL 一 教学目的 学生懂得简单的SQL语言,会使用基本的SQL语言进行查询。 二 教学要求 (一)理解SQL-SELECT查询语句。 (二)掌握理解SQL-SELECT查询语句的一些基本应用。 三 教学内容 (一)SELECT语句的介绍。 (二)SELECT语句的基本查询。 (三)排序查询和计算分组查询。 (四)联接查询和查询的输出。 第六章 结构化程序设计 一 教学目的 了解VFP语言的特点、语句构成和数据结构,能读懂源程序,并绘制流程图,编写和调试程序。掌握结构化程序设计的方法。 二 教学要求 (一)掌握程序的建立和执行。 (二)掌握程序设计常用命令。 (三)掌握程序的基本控制结构。 (四)理解过程与自定义函数。 (五)掌握程序的调试。 三 教学内容 (一)程序文件的建立模式、修改以及执行方式。 (二)程序设计的基本命令:note、text、set、clear、close、cancel、return、quit、wait、accept、input、@...SAY...GET与READ等语句。 (三)三种程序控制结构:顺序、分支和循环。 (四)基本程序设计语句 条件语句(IF...ELSE...ENDIF)2 多分支语句(DO CASE...ENDCASE)3 循环语句和有关语句(DO WHILE...ENDDO 和EXIT、LOOP)4 数据输入语句(ACCEPT、WAIT、INPUT) (五)过程文件与自定义函数的定义和使用方法、带参数的过程调用。 (六)程序的调试。 第七章 面向对象程序设计 一 教学目的 学生了解面向对象的程序设计的基本概念――对象和类,初步掌握VFP中的类与对象及其属性、方法的设置和使用。 二 教学要求 (一)了解对象、类、属性、事件与方法。 (二)理解如何设计类。 (三)理解如何创建对象。 三 教学内容 (一)对象的概念、类的概念,并且介绍VFP中的类。 (二)对象的属性、事件和方法的设置和使用。 (三)类的创建、类属性的设置、类方法的定义以及通过编程来定义类。 (四)对象的创建、引用以及对象的属性设置与方法调用。 第八章 表单设计与应用 一 教学目的 学生了解表单这一应用程序中最常见的交互式操作界面,理解怎样利用对象的属性、事件和方法来构建简单的表单。 二 教学要求 (一)掌握创建表单。 (二)理解表单设计器的使用。 (三)表单和常用控件的设计。 三 教学内容 (一)表单的建立、保存和运行方法。 (二)利用表单控件工具栏、属性窗口、代码窗口对表单进行简单的设置。 (三)表单与一些常用控件的设计,如标签控件、文本框控件、命令按钮控件等。 第九章 报表设计与应用 一 教学目的 学生初步掌握报表的设计,可以设计一般功能的报表文件。 二 教学要求 (一)掌握报表的创建。 (二)理解报表的设计。 (三)掌握报表控件的使用。 (四)理解报表中数据的分组。 (五)理解报表的输出设置。 三 教学内容 (一)报表的创建、保存与浏览。 (二)设计报表的一般步骤。 (三)标签控件、域控件等控件与报表变量的使用。 (四)一级数据分组与二级数据分组。 (五)报表的页面设置、预览和打印报表。 Ⅲ 教学组织与方法 一 实施机构:第二临床学院数学与计算机科学教研室。 二 组织内容:教案讲义审核、集体教学备课、教学方法研究。三 教学方法: 理论教学:采用启发式的课堂教学形式,以现代教育技术为主要手段进行讲学,核心内容讲授为主,重点内容介绍为主,一般内容自学为主。 实验教学:以班为单位在机房上机练习。辅导形式:辅导讲义、课堂答疑。 四 考核方法:考试采用闭卷笔试。教学测量分平时测验和期末考试。 Ⅳ 教学时数分配表 授课内容 学时 教学手段 实验内容 学时 类型 常量、变量、运算符和表达式(3.1~3.2) 常用函数(3.1~3.4);数据表的建立(4.1) 1.数据库系统概论(1.1~1.3)2 2 常量、变量、运算符 CAI、操作 和表达式(3.1~3.2)常用函数(3.1~3.4); CAI、操作 数据表的建立(4.1)1.数据库系统概论2 2 验证型 验证型 2.数据表的基本操作(4.2.1~4.2.3) 数据表的基本操作(4.2.4~4.2.6);排序(4.3.1) 数据表的索引(4.3.2~4.3.4);查询命令(4.4.1) 数据表的统计(4.4.2)数据表间的操作(4.5.1~4.5.4)数据库及其操作(5.1~5.3)查询文件的建立与视图的建立(5.4~5.5) 结构化查询语言SQL(6.1~6.4) 程序顺序结构、分支结构(7.1~7.3) 程序循环结构(7.4.1~7.4.2)程序循环结构(7.4.3~7.4.4)模块结构程序设计(7.5.1~7.5.3;7.5.5) 模块结构程序设计(7.5.4;7.5.6;7.6.1~7.6.4)表单设计(8.5.1~8.5.5) 表单设计(8.5.6~8.5.10;8.6)报表设计(9.1~9.4)菜单设计(9.4.1~9.4.5);内容CAI、操作 (1.1~1.3) 2.数据表的基本操作(4.2.1~4.2.3)数据表的基本操作CAI、操作(4.2.4~4.2.6);排序 (4.3.1) CAI、操作 数据表的索引(4.3.2~ 4.3.4);查询命令(4.4.1)数据表的统计(4.4.2)CAI、操作 数据表间的操作 (4.5.1~4.5.4)2 CAI、操作 实验测试一(开卷,独 立完成)2 CAI、操作 查询文件的建立与视 图的建立(5.4~5.5)2 CAI、操作 结构化查询语言 SQL(6.1~6.4)2 CAI、操作 程序顺序结构、分支 结构(7.1~7.3)2 CAI、操作 程序循环结构(7.4.1~ 7.4.2)2 CAI、操作 程序循环结构(7.4.3~ 7.4.4)2 CAI、操作 模块结构程序设计 (7.5.1~7.5.3;7.5.5)模块结构程序设计CAI、操作(7.5.4;7.5.6;7.6.1~ 7.6.4)2 CAI、操作 表单设计(8.5.1~ 8.5.5)2 CAI、操作 表单设计(8.5.6~ 8.5.10;8.6)2 CAI、操作 报表设计(9.1~9.4)2 CAI、操作 菜单设计(9.4.1~验证型 验证型 验证型 验证型 验证型 2 验证型 2 验证型 2 验证型 2 验证型 2 综合型 综合型 综合型 2 综合型 综合型 2 综合型 复习 合计 9.4.5);内容复习 《C语言程序设计(实践)》课程教学大纲 一、课程的性质和任务 课程性质:《C语言程序设计(实践)》是多媒体技术专业《C后续课程设计课程。 本课程的任务是:通过课程设计,为学生提供一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生实际编程的能力。 本课程教学应达到的基本要求是:利用学到的编程知识和编程技巧,通过布置具有一定难度的程序设计题目,帮助学生熟悉程序的设计、编写与调试过程。 语言程序设计》课程的二、时间安排 本课程设计时间为一周(28学时),题目提前两周布置,使学生作好准备。具体时间安排如下: 1.分析设计准备阶段(周一) 2.编程调试阶段(周二至周四) 3.总结报告和书写说明书阶段(周三至周四)4.考核阶段(周五) 三、课题内容: 提供以下备选课题: 1.图书管理信息系统 2.民航订票系统 3.标准化考试系统 4.时钟 四、组织管理: 对学生分组,每组3~6人,每组选一课题。 五、考核评估: 成绩分优、良、中、及格和不及格五等,从以下几方面考核: 1.程序设计的可用性,实用性,通用性,可扩充性(40%)2.学生的动手能力,创新精神(30%)3.总结报告(10%)4.答辩水平(20%) 主编:姚培华 主审:王富荣 《C程序设计》教学大纲 一、课程的性质和任务 本课程为计算数学专业本科生的必修课。通过对C程序设计的基本知识、基本概念、基本技能的学习和训练,使学生掌握C语言的语法规则、开发环境以及程序设计的基本方法和技能。培养学生利用C语言进行程序设计的基本能力,并为后续专业课的学习以及在可视化环境下进行面向对象的编程打下扎实的基础。 二、课程教学与基本要求 重点介绍C语言的基本知识(如基本数据类型、表达式、数组、函数、宏定义、指针、结构和文件)和程序设计的基本方法(即:结构化程序设计方法以及顺序、选择、循环、模块等结构的程序设计方法),还介绍指针、文件等在程序设计中的应用。 三、适应专业 计算数学、基础数学、经济管理专业本科学生。 四、预修课程 计算机基础知识。 五、学时 总学时:98学时 讲授学时:68学时 实验学时:32学时 学分:4 第一、二章 C简介、算法 8学时 第三章 数据类型、运算符、表达式 6学时 第四章 顺序结构程序设计 4学时 第五章 选择结构程序设计 4学时 第六章 循环结构程序设计 6学时 第七章 数组 8学时 第八章 函数 6学时 第九章 编译预处理 3学时 第十章 指针 12学时 第十一章 结构体与共用体 5学时 第十二章 位运算 2学时 第十三章 文件 4学时 六、讲授内容 1.C语言的特点、简单的C程序介绍、C语言的编译环境 2.算法的概念、特性,三种基本结构、用传统流程图和N-S流程图表示算法。3.C的数据类型(整型、实型、字符型等),运算符和表达式。4.数据的输入和输出(printf()和scanf()函数等)、顺序结构程序设计。 5.选择结构程序设计:关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句和switch语句。 6.循环结构程序设计:用goto语句和if语句构成循环、用while语句、do-while语句、for语句构成循环以及break语句和continue语句。 7.数组的定义和使用(包括一维数组、二维数组和字符数组)。 8.函数的定义和调用,函数的嵌套调用、递归调用;局部变量与全局变量、变量的动态存储和静态存储;内部函数与外部函数。 9.预处理命令:宏定义、文件包含、条件编译。 10.指针变量的定义和使用;数组的指针和指向数组的指针变量、字符串的指针和指向字符串的指针变量、函数的指针和指向函数的指针变量;指针型函数和指针数组。 11.结构体与共用体变量的定义和使用,结构体数组和指向结构体数据的指针,枚举类型。12.位运算符和位运算,位段。13.文件的打开、关闭与读写。 七、实验内容和学时分配(34学时)1.熟悉C语言的编译环境(2学时) 2.C的数据类型(整型、实型、字符型等),运算符和表达式。(2学时)3.数据的输入和输出(printf()和scanf()函数等)、顺序结构程序设计(3学时)。 4.选择结构程序设计:关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句和switch语句。(3学时) 5.循环结构程序设计:用goto语句和if语句构成循环、用while语句、do-while语句、for语句构成循环以及break语句和continue语句。(3学时)6.数组的定义和使用(包括一维数组、二维数组和字符数组)。(3学时) 7.函数的定义和调用,函数的嵌套调用、递归调用;局部变量与全局变量、变量的动态存储和静态存储;内部函数与外部函数。(3学时)8.预处理命令:宏定义、文件包含、条件编译。(2学时) 9.指针变量的定义和使用;数组的指针和指向数组的指针变量、字符串的指针和指向字符串的指针变量、函数的指针和指向函数的指针变量;指针型函数和指针数组。(7学时)10.结构体与共用体变量的定义和使用,结构体数组和指向结构体数据的指针,枚举类型。(2学时)11.位运算符和位运算,位段。(2学时)12.文件的打开、关闭与读写。(2学时) 八、教材与参考书 教材:谭浩强, 《C程序设计》(第二版),清华大学出版社,1999年 参考书:谭浩强, 《C程序设计题解与上机指导》,清华大学出版社,2000年 《VF程序设计》教学大纲 一、课程名称:《VF程序设计》 课程负责人:袁明兰 二、学时与学分:48 三、适应专业:外语、建筑设计技术、工程监理、艺术、旅游等专业 四、课程教材:张彦芳等编著《Visual FoxPro程序设计》,中国地质大学出版社,2011年 五、参考教材:苏忠等.Visual Foxpro 6.0中文版应用与开发.电子工业出版社,2003 杨国才编著《Visual FoxPro程序设计》,重庆大学出版社,2002年 谢膺白.Visual Foxpro 6.0中文版教程.人民邮电出版社,2002 肖金秀.新编Visual Foxpro 6.0应用基础教程.中国石化出版社,2011 六、课程的性质、目的和任务: 本课程是非计算机专业的主要公共基础课。 通过本课程的学习,使非计算机专业的学生掌握数据库的基本概念和VFP的基础知识,熟练掌握数据库的基本操作,并能进行初步的程序设计,能应用VFP进行数据库管理。 七、课程的基本要求: 通过理论教学和实验教学,达到如下基本要求。 1.了解计算机数据管理的发展、掌握数据系统、关系数据库的基本概念,掌握面向对象程序设计的概念,理解数据的一致性和完整性。 2.了解Visual FoxPro的发展、特点及安装,掌握Visual FoxPro 6.0的启动与关闭。熟悉Visual FoxPro 6.0系统界面,理解其几种工作方式。了解项目管理器、常用项目元素与文件类型、创建项目文件,及项目管理器的使用。 3.掌握常量与变量、数据类型,了解常用的文件类型,掌握几种常用函数的应用、运算符与表达式的应用,掌握内存变量的几种操作,掌握数组的应用。理解Visual FoxPro 6.0命令及命令和子句的使用规则。 4.掌握数据表的基本操作(表结构及字段的基本要素、表的创建和修改[使用表设计器]、表的打开与关闭、数据记录的输入、显示和编辑、录指针与定位、逻辑与物理删除表的记录、记录的复制与添加、表的索引、表的查询、表的运算等),掌握多表工作区及其应用。 5.理解数据库的概念与基本组成、掌握数据库的基本操作、理解数据库表的数据完整性、熟练掌握数据库表之间的关联、了解参照完整性。 6.理解程序与结构化程序设计的基本概念,掌握程序文件的建立、执行与编辑,掌握程序设计的基本命令,掌握程序的基本控制结构,掌握变量的作用域 与生存期,理解模块化程序设计方法与模块化程序设计,掌握子程序和过程与自定义函数及其调用,学会程序的调试,熟练掌握结构化程序设计简单应用。 7.掌握面向对象的基本概念、掌握对象及其属性、事件、方法,了解类的创建与使用。 8.熟练掌握表单的创建与管理,掌握猜数游戏设计、计算器设计、学生成绩查询与修改界面设计、软件登录界面与权限设计。 9.理解查询的概念、掌握用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。了解用视图设计器创建本地视图、了解用视图向导创建本地视图、视图的使用、利用视图更新源表数据。 10.了解SQL语言概述、熟练掌握SQL语句对数据表的操作(创建数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)。 11.了解菜单设计器、标准菜单及快捷菜单的设计。了解报表基本概念、报表的数据来源、报表设计器,了解报表的创建(用报表向导创建、用报表设计器创建),了解设置报表(给报表添加带区、改变报表的列标签、修改报表表达式、增加表格线、页面设置、字体设置、布局设置、在报表中使用数据分组、汇总区),了解使用报表(报表命令、报表预览和打印机设置),了解标签设计。 12.了解应用需求分析、数据库与表设计、系统功能模块设计、菜单设计、用户界面设计、查询设计、.报表设计、系统维护设计、系统模块调试、用项目管理器连编成应用程序、应用程序管理、发布树、应用程序发布和安装。 八、课程的主要内容: ㈠ 理论教学 1.数据库基础知识 数据库、数据库管理系统和数据库系统的基本概念、数据管理技术的产生和发展;数据库系统的组成及体系结构;数据库管理系统(DBMS)的功能;关系模式的基本术语、主要操作和数据完整性约束;面向对象程序设计的基本概念(包括类、对象、事件、方法和属性等)。 2.Visual FoxPro 系统简介 Visual FoxPro的发展、特点及安装、启动与关闭。Visual FoxPro 6.0系统界面、几种工作方式,项目管理器、及项目管理器的使用。3.Visual Foxpro应用基础 常量与变量、数据类型,文件类型、几种常用函数、运算符与表达式的应用,内存变量的几种操作,数组的应用,Visual FoxPro 6.0命令及命令和子句的使用规则。 4.数据表的基本操作 数据表的基本操作(表结构及字段的基本要素、表的创建和修改[使用表设计器]、表的打开与关闭、数据记录的输入、显示和编辑、录指针与定位、逻辑与物理删除表的记录、记录的复制与添加、表的索引、表的查询、表的运算等),多表工作区及其应用。 5.结构化程序设计 程序与结构化程序设计的基本概念,程序文件的建立、执行与编辑,程序设计的基本命令,程序的基本控制结构,变量的作用域与生存期,模块化程序设计方法与模块化程序设计,子程序和过程与自定义函数及其调用,程序的调试。6.数据库设计 数据库的概念与基本组成、数据库设计器的使用、数据库的建立、打开与关闭(命令)、数据库表的数据完整性、数据库表之间的关联、参照完整性。7.面向对象程序设计初步 面向对象的基本概念、对象及其属性、事件、方法,类的创建与使用。8.表单与控件 表单的创建与管理,猜数游戏设计、计算器设计、学生成绩查询与修改界面设计、软件登录界面与权限设计。9.菜单设计 菜单设计器、标准菜单及快捷菜单的设计。10.查询与视图 查询的概念、用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。用视图设计器创建本地视图、用视图向导创建本地视图、视图的使用、利用视图更新源表数据。SQL语言概述,对数据表的操作(创建(数据库和)数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)11.报表与标签设计 查询的概念、用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。用视图设计器创建本地视图、用视图向导创建本地视图、视图的使用、利用视图更新源表数据。SQL语言概述,对数据表的操作(创建(数据库和)数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)。12.应用程序的开发与发布过程 应用需求分析、数据库与表设计、系统功能模块设计、菜单设计、用户界面设计、查询设计、.报表设计、系统维护设计、系统模块调试、用项目管理器连编成应用程序、应用程序管理、发布树、应用程序发布和安装。 九、先修课程: 本课程是非计算机专业的基础课,其先修课程是计算机文化基础。 十、考核方式: 理论教学部分占70%,实验教学部分占30%,理论教学部分集中笔试,实验教学部分以完成16个实验和上机考试进行考核。 十一、学时分配: 讲授: 48 学时 1.数据库基础知识 2学时 2.Visual FoxPro 系统简介 2学时 3.Visual Foxpro应用基 4学时 4.数据表的基本操作 10学时 5.程序设计 14学时 6.数据库设计 1学时 7.面向对象程序设计初步 2学时 8.表单与控件 6学时 9.菜单设计 1学时 10.查询与视图 2学时 11.报表与标签设计 1学时 12.应用程序的开发与发布过程 1 学时第二篇:程序设计教学大纲
第三篇:《C语言程序设计(实践)》课程教学大纲.
第四篇:《C程序设计》教学大纲
第五篇:VF程序设计教学大纲