实习报告格式及实习一

上传人:nbwa****ajie 文档编号:35813686 上传时间:2018-03-20 格式:PPT 页数:8 大小:90.50KB
返回 下载 相关 举报
实习报告格式及实习一_第1页
第1页 / 共8页
实习报告格式及实习一_第2页
第2页 / 共8页
实习报告格式及实习一_第3页
第3页 / 共8页
实习报告格式及实习一_第4页
第4页 / 共8页
实习报告格式及实习一_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《实习报告格式及实习一》由会员分享,可在线阅读,更多相关《实习报告格式及实习一(8页珍藏版)》请在金锄头文库上搜索。

1、实习报告格式,实习一 线性表及其应用 题目:约瑟夫环问题 实习时间:2001.10.12一、需求分析 1. 要求以循环链表模拟约瑟夫环,结点个数(人数)n30。各人的密码和初始报数上限值必须为正整数。 2. 程序以人机对话的方式执行,即在计算机终端上显示“提示信息”后,由用户在键盘上输入相应的运算命令或数据;相应的输入数据和运算结果显示在其后。 3. 测试数据:n=7,m=20,7个结点的密码分别为:3, 1, 7, 2, 4, 8,4,输出结果应为:6, 1, 4, 7, 2, 3, 5。用m=1再测试一次,输出结果应为:1, 4, 6, 5, 7, 3, 2。,二、设计 1. 设计思想 (

2、1)存储结构 (2)主要算法基本思想 (略,见上课笔记) 2. 设计表示 (1)函数调用关系图 maincreatelistlocfor (2)函数接口规格说明 int createlist(clinktp *ra,int n); /*建立以ra为尾指针的有n个 结点的循环链表*/ void locfor(clinktp *ra,int m); /*在循环链表中根据要求输出各 次从链表中删除的结点序号*/ 3. 实现注释 (即各项功能的实现程度) (1)根据输入的n值建立循环链表; (2)可任意输入初始报数上限值m(正整数)。 4. 详细设计 (即主要算法的细化。略,见上课笔记),三、调试分析

3、 调试过程中遇到的主要问题是如何解决的; 对设计和编码的回顾讨论和分析; 时间和空间复杂度的分析; 改进设想; 经验和体会等。四、用户手册(即使用说明)五、运行结果 如果题目规定了测试数据,则结果要包含这些测试数据和 运行输出,当然还可以含其他测试数据及其运行输出(有时需 要多组数据)。 六、源程序清单,实习一 线性表、栈和队列及其应用 1.一元稀疏多项式的加法运算【问题描述】 设计一个实现一元稀疏多项式相加运算的演示程序。 【基本要求】 (1)输入并建立两个多项式; (2)多项式a与b相加,建立和多项式c; (3)输出多项式a,b,c。输出格式:比如多项式a为:A(x)=c1xe1+ c2x

4、e2+ cmxem,其中,ci和ei分别为第i项的系数和指数,且各项按 指数的升幂排列,即0e1e2em。多项式b,c类似输出。【测试数据】 (1)(1+x+x2+x3+x4+x5)+(-x3-x4)=(1+x+x2+x5) (2)(x+x100)+(x100+x200)=(x+2x100+x200) (3)(2x+5x8-3x11)+(7-5x8+11x9)=(7+2x+11x9-3x11)【实现提示】 (1)用带头结点的单链表存储多项式。 (2)三个多项式链表中都只存储非零系数项。若多项式a与b中指 数相等的两项相加后,系数为零,则在和多项式c中不存储该指数项。,2.长整数运算 【问题描述

5、】 设计一个程序实现两个任意长的整数求和运算。 【基本要求】 利用双向循环链表实现长整数的存储,每个结点含一个整型变量。 任何整型变量的范围是:-(215-1)(215-1)。输入和输出形式: 按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。【测试数据】 (1)0;0;应输出“0”。 (2)2345,6789;-7654,3211;应输出“-1,0000,0000”。 (3)9999,9999;1,0000,0000,0000; 应输出“9999,0000,0001”。 (4)1,0001,0001;-1,0001,0001;应输出“0”。 (5)1,0001,0001;-1,0001

6、,0000;应输出“1”。,【实现提示】 (1)每个结点中可以存放的最大整数为215-1=32767,才能保证两数 相加不会溢出。但若这样存,即相当于按32768进制数存,在十进制数 与32768进制数之间的转换十分不方便。故可以在每个结点中仅存十进 制数的4位,即不超过9999的非负整数,整个链表视为万进制数。 (2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值 表示元素结点数目。相加过程中不要破坏两个操作数链表。两操作数的 头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数 规定上限。【选作内容】 修改上述程序,使它在整型量范围是:-(2n-1)(2n-1)的计算 机

7、上都能有效地运行。其中,n是由程序读入的参量。输入数据的分组 方法可以另行规定。,3.停车场管理【问题描述】 设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供 汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向 南排列(大门在最南端),若停车场内已停满n辆汽车,则后来的汽车 只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即 可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出 车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场, 每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费 用。试为停车场编制按上述要求进行管理的模拟程序。

8、 【基本要求】 以栈模拟停车场,以队列模拟车场外的便道。栈以顺序结构实现, 队列以链表结构实现。 每一组输入数据包括:汽车“到达”或“离去”信息、汽车牌照号码以 及到达或离去的时刻。 输出信息:若是车辆到达,则输出汽车在停车场内或便道上的停车 位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费 用(在便道上停留的时间不收费)。,【测试数据】 设n=2,输入数据为:(A,1,5),(A,2,10),(D,1,15), (A,3,20),(A,4,25),(A,5,30),(D,2,35),(D,4,40), (E,0,0)。其中:A表示到达;D表示离去;E表示输入结束。【实现提示】 需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来 的汽车,也可用顺序存储结构实现。输入数据按到达或离去的时刻有序。 栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入 停车场的时刻。【选作内容】 (1)两个栈共享空间,思考应开辟数组的空间是多少? (2)汽车可有不同种类,则它们的占地面积不同,收费标准也不同, 如1辆客车和1.5辆小汽车的占地面积相同,1辆十轮卡车占地面积相当于3 辆小汽车的占地面积。 (3)停放在便道上的汽车也收费,收费标准比停放在停车场的车低。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号