ImageVerifierCode 换一换
格式:DOCX , 页数:55 ,大小:306.02KB ,
资源ID:9356683      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9356683.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(教学计划编制问题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

教学计划编制问题.docx

1、教学计划编制问题1 课题需求描述1.1 教学计划编制问题大学的每个专业都要制订教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。在这样的前提下设计一个教学计划编制程序。通过输入实际的课程及先后关系。结合每学期的学分及课程数,制定好学习计划。在输入相关数据后,程序会安排好每学期的课程。1.2 进制转换进制数制是人们利用符号进行计数的科学方法。数制有很多种,在计算机中常用的数制有:十进制,二进制,八进制和

2、十六进制。十六进制数有两个基本特点:它由十六个字符09以及A,B,C,D,E,F组成(它们分别表示十进制015),十六进制数运算规律逢十六进一。要求:(1) 输入一个十进制数N,将它转换成R进制数输出,并可以进行你转换。(2) 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2=R=0;k-) printf(%d,pk); printf(n);2. void D_O( ): 十进制转换为八进制 for(j=0;a!=0;j+) pj=a%8;a=a/8; printf(n转换后的数为:); for(k=j-1;k=0;k-) printf(%d,pk); printf(

3、n);3. void D_X( ): 十进制转换为十六进制for(j=0;a!=0;j+) pj=a%16;a=a/16; if(pj1) s=1;break; else result+=(a%10)*i;a=a/10; if(s=1) printf(您的输入有误!请重新输入n); else printf(n转换后的数为:%dn,result);5. void O_D( ): 八进制转换为十进制for(i=1;a!=0;i*=8) if(a%107) s=1;break; else result+=(a%10)*i;a=a/10; if(s=1) printf(您的输入有误!请重新输入n);

4、else printf(n转换后的数为:%dn,result); 任意进制转换为十进制:6. void B_O( ): 二进制转换为八进制 for(i=1;a!=0;i*=2) if(a%101)s=1;break; elseresult+=(a%10)*i;a=a/10; for(j=0;result!=0;j+) pj=result%8;result=result/8; if(s=1) printf(您的输入有误!请重新输入n); else printf(n转换后的数为:); for(k=j-1;k=0;k-) printf(%d,pk); printf(n); 7. void B_X(

5、): 二进制转换为十六进制 for(i=1;a!=0;i*=2) if(a%101)s=1;break; elseresult+=(a%10)*i;a=a/10; for(j=0;result!=0;j+) pj=result%16;result=result/16; if (pj10) switch(pj) case 10: pj=A;break; case 11: pj=B;break; case 12: pj=C;break; case 13: pj=D;break; case 14: pj=E;break; case 15: pj=F;break; else pj+=48; if(s=

6、1) printf(您的输入有误!请重新输入n); else printf(n转换后的数为:); for(k=j-1;k=0;k-) printf(%c,pk); printf(n); 8. void O_B( ): 八进制转换为二进制 for(i=1;a!=0;i*=8) if(a%107) s=1;break; else result+=(a%10)*i;a=a/10; for(j=0;result!=0;j+) pj=result%2;result=result/2; if(s=1) printf(您的输入有误!请重新输入n); else printf(n转换后的数为:); for(k=

7、j-1;k=0;k-) printf(%d,pk); printf(n); 9. void O_D( ): 八进制转换为十进制for(i=1;a!=0;i*=8) if(a%107) s=1;break; else result+=(a%10)*i;a=a/10; if(s=1) printf(您的输入有误!请重新输入n); else printf(n转换后的数为:%dn,result); 10.void X_D( ): 十六进制转换为十进制for(i=0;ik;i+) if(ai=1) bi=ai-48; else switch(ai) case A: bi=10;break; case B

8、: bi=11;break; case C: bi=12;break; case D: bi=13;break; case E: bi=14;break; case F: bi=15;break; case a: bi=10;break; case b: bi=11;break; case c: bi=12;break; case d: bi=13;break; case e: bi=14;break; case f: bi=15;break; default: s=1; 11.void O_X( ): 八进制转换为十六进制for(i=1;a!=0;i*=8) if(a%107)s=1;bre

9、ak; elseresult+=(a%10)*i;a=a/10; for(j=0;result!=0;j+) pj=result%16;result=result/16; if(pj10) pj+=48; else switch(pj) case 10: pj=A;break; case 11: pj=B;break; case 12: pj=C;break; case 13: pj=D;break; case 14: pj=E;break; case 15: pj=F;break; 12.void X_B( ): 十六进制转换为二进制 for(i=0;ik;i+) if(ai=1) bi=a

10、i-48; else switch(ai) case A: bi=10;break; case B: bi=11;break; case C: bi=12;break; case D: bi=13;break; case E: bi=14;break; case F: bi=15;break; case a: bi=10;break; case b: bi=11;break; case c: bi=12;break; case d: bi=13;break; case e: bi=14;break; case f: bi=15;break; default: s=1; 13.void X_D(

11、 ): 十六进制转换为十进制for(i=0;ik;i+) if(ai=1) bi=ai-48; else switch(ai) case A: bi=10;break; case B: bi=11;break; case C: bi=12;break; case D: bi=13;break; case E: bi=14;break; case F: bi=15;break; case a: bi=10;break; case b: bi=11;break; case c: bi=12;break; case d: bi=13;break; case e: bi=14;break; case

12、f: bi=15;break; default: s=1; 14.void X_O( ): 十六进制转换为八进制for(i=0;ik;i+) if(ai=1)bi=ai-48; else switch(ai) case A: bi=10;break; case B: bi=11;break; case C: bi=12;break; case D: bi=13;break; case E: bi=14;break; case F: bi=15;break; case a: bi=10;break; case b: bi=11;break; case c: bi=12;break; case d

13、: bi=13;break; case e: bi=14;break; case f: bi=15;break; default: s=1; 其他进制间的转换:4 调试与测试4.1 教学计划编制问题调试结果输入学期总数,输入学期学分的上限,输入教学计划的课程数,输入先修关系的边数,输入课程的代表值,输入课程的学分值(如图)输入每条弧的弧尾和弧头(如图):显示的课程计划如下:4.2 进制转换问题调试结果进入系统时的界面:二进制转换为八进制:十进制转换为十六进制:十六进制转换为十进制:5 设计总结我的收获虽然在高中我们已经学了C语言,大一我们已经学习了C+语言,但是,直到本期我们才开设了数据结构这

14、一门课程。这门课程让我们对程序的原理有了系统的认识。对以往模糊的经验,起了总结提升的作用。在学习了这门课程后,我们进行了一个星期的课程设计,以实践我们的学习内容。在这次课程设计中,我被分配到了教学计划课程编制问题,开始感觉很难,因为我从未编写过如此复杂的程序。在多方查找资料并参考类似程序后,我大体将程序的构架描绘好了。一边对照着网上的资料,一边对程序进行修改补充,然后根据拟好的大纲进行编制。期间,我与其它同学进行了讨论和探究,对程序的细节问题和应用方面进行了探索,并解决了主要的问题,于是便着手写具体的程序。由于老师要求我们编写600多行的代码,但是教学计划课程编制问题的代码不足,所以我又选择了

15、一个课题进制转换问题,我会选择这个课题是因为我觉得作为学计算机的我,应该要能更好的了解关于计算机方面的知识。这次实验,我进行了大量的资料查阅,对所学知识进行复习。通过这些努力,我对算法有了更深入的理解,对编程的步骤,有了具体的体会。通过和同学的广泛交流,我体会到了合作的必要性及合作的优势。更重要的是,这个课题完全脱胎于实际问题,让我对计算机行业,充满了信心和自豪。以往我们学的计算机知识一般停留在理论上,这让我们不太理解计算机的应用和前景,而较少注重我们对算法的实践锻炼。而这一次的实习既需要我们去联系理论,又需要我们去实践方法,很多东西看上去都学过,但是和实际联系才知道变通的艰难。纸上得来终觉浅

16、,这是我这次实习的最大收获。这次的实验让我们知道该如何跨过实际和理论之间的鸿沟。存在的问题由于程序十分的复杂,遇到了很多常见的语法错误,及逻辑错误。这需要我们不断的调试分析。符号的格式之类,指针的用法,判断输入输出的条件都是十分容易出错的地方。在逐条排除,程序终于得以完成。这让我明白了,解决问题,要细心认真,集思广益,这样才能把问题解决。虽然程序变出来了,但是我大量借鉴了别人的程序,中间有很多的程序段都是一知半解,虽然查阅了资料,但是毕竟不是自己思考出来的程序,又无法当面询问写出编程的人,所以对部分程序还存在问题,我会继续查询资料将目前不懂的内容弄清楚。参考资料:数据结构(C+语言描述) 吉根

17、林 陈波主编 C+语言教材6 程序代码教学计划编制问题:#include#include#include / malloc()等#include / INT_MAX等#include / EOF(=Z或F6),NULL#include / atoi()52#include / eof()#include / floor(),ceil(),abs()#include / exit()#include / cout,cin/ 函数结果状态代码#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1ty

18、pedef int Status; / Status是函数的类型,其值是函数结果状态代码,如OK等 typedef int Boolean; / Boolean是布尔类型,其值是TRUE或FALSE#define MAX_NAME 10/* 顶点字符串的最大长度*/#define MAXCLASS 100int Z=0;int X=0;int xqzs,q=1,xfsx;typedef int InfoType;typedef char VertexTypeMAX_NAME; /* 字符串类型*/* 图的邻接表存储表示*/#define MAX_VERTEX_NUM 100typedef en

19、umDGGraphKind; /* 有向图,有向网,无向图,无向网 */typedef struct ArcNodeint adjvex; /* 该弧所指向的顶点的位置*/struct ArcNode *nextarc; /* 指向下一条弧的指针*/InfoType *info; /* 网的权值指针)*/ArcNode; /* 表结点*/typedef structVertexType data; /* 顶点信息*/ArcNode *firstarc; /* 第一个表结点的地址,指向第一条依附该顶点的弧的指针*/ VNode,AdjListMAX_VERTEX_NUM; /* 头结点*/typedef structAdjList vertices,verticestwo;int vexnum,arcnum; /* 图的当前顶点数和弧数*/int kind; /* 图的种类标志*/ALGraph;/*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1