欢迎来到天天文库
浏览记录
ID:39435356
大小:30.68 KB
页数:8页
时间:2019-07-03
《学年设计II-面向对象课程设计增加选题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计科161面向对象程序设计补充选题1.教学计划编制问题 目的:通过对教学计划编制问题的解决达到将所学相关专业知识用于解决实际问题。 内容:大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。(1)输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。(2)允许用户指定
2、下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。(3)若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式自行设计。[测试数据]学期总数:6;学分上限:10;该专业共开设12门课,课程号从C01到C12,学分顺序为2,3,4,3,2,3,4,4,7,5,2,3。先修关系见图1。[实现提示]可设学期总数不超过12,课程总数不超过100。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。应建立内部课程号与课程号之间的对应关系。图1课程先修关系报告要求:(1)仔细观察设计中的各种
3、现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。(2)报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。1.运动会分数统计问题 目的:通过对运动会分数统计问题解决达到将所学相关专业知识用于解决实际问题。 内容:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。功能如下: 1).可以输入各个项目的前三名或前
4、五名的成绩; 2).能统计各学校总分; 3).可以按学校编号、学校总分、男女团体总分排序输出; 4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。报告要求:(1)仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。(2)报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。1.校园导游程序 目的:通过对校园导游程序的设计与实现达到将所学相关专业知识用于解决实际问题。 内容:用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存
5、放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。功能要求如下:(1)查询各景点的相关信息;(2)查询图中任意两个景点间的最短路径。(3)查询图中任意两个景点间的所有路径。(4)增加、删除、更新有关景点和道路的信息。报告要求:(1)仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。(2)报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。2.创建线性表顺序存储类MyArrayList目的:通过对线性表顺序存储类的创建和应用,增强面向对象程序设计和顺序表的理解与应用实践。内容:(1)MyArrayList存储空间的大小以及存储数
6、据类型根据用户需求自行确定。(2)提供初始化数据功能(即创建该对象时可以通过指定数组将初始参数传入该对象)(3)提供插入一个元素功能;(4)提供删除一个元素功能;(5)提供根据指定关键字排序功能;(默认升序,也能降序,提供用户自己选择方式。)(6)提供根据指定关键字查找功能,查找结果返回该元素位置,-1表示查找失败。(7)提供两个有序顺序表合并功能;(8)提供根据指定关键字,返回指定第K大的元素位置;(9)提供显示顺序表中各元素功能;(提示:顺序表中元素可能是简单数据类型,也可能是复合数据类型:比如自定义结构体类型,所以有指定关键字一说。)(9)给出各个功能的测试样例。报告要求:(
7、1)仔细观察设计中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。(2)报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。1.创建线性表链式存储类MyLinkList目的:通过对线性表链式存储类的创建和应用,增强面向对象程序设计和链表的理解与应用实践。内容:(1)MyLinkList提供创建多种类型链表,包括:单链表、双链表,单循环链表,双循环链表。(2)提供初始化数据功能(即创建该对象时可以通过指定数组将初始参数传入该对象)(3)
此文档下载收益归作者所有