实习报告格式及实习一.ppt_第1页
实习报告格式及实习一.ppt_第2页
实习报告格式及实习一.ppt_第3页
实习报告格式及实习一.ppt_第4页
实习报告格式及实习一.ppt_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实习报告格式,实习一 线性表及其应用 题目:约瑟夫环问题 实习时间: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. 设计思想 (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. 详细设计 (即主要算法的细化。略,见上课笔记),三、调试分析 调试过程中遇到的主要问题是如何解决的; 对设计和编码的回顾讨论和分析; 时间和空间复杂度的分析; 改进设想; 经验和体会等。 四、用户手册(即使用说明) 五、运行结果 如果题目规定了测试数据,则结果要包含这些测试数据和 运行输出,当然还可以含其他测试数据及其运行输出(有时需 要多组数据)。 六、源程序清单,实习一 线性表、栈和队列及其应用 1.一元稀疏多项式的加法运算 【问题描述】 设计一个实现一元稀疏多项式相加运算的演示程序。 【基本要求】 (1)输入并建立两个多项式; (2)多项式a与b相加,建立和多项式c; (3)输出多项式a,b,c。输出格式:比如多项式a为:A(x)=c1xe1+ c2xe2+ 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.长整数运算 【问题描述】 设计一个程序实现两个任意长的整数求和运算。 【基本要求】 利用双向循环链表实现长整数的存储,每个结点含一个整型变量。 任何整型变量的范围是:-(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,0000;应输出“1”。,【实现提示】 (1)每个结点中可以存放的最大整数为215-1=32767,才能保证两数 相加不会溢出。但若这样存,即相当于按32768进制数存,在十进制数 与32768进制数之间的转换十分不方便。故可以在每个结点中仅存十进 制数的4位,即不超过9999的非负整数,整个链表视为万进制数。 (2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值 表示元素结点数目。相加过程中不要破坏两个操作数链表。两操作数的 头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数 规定上限。 【选作内容】 修改上述程序,使它在整型量范围是:-(2n-1)(2n-1)的计算 机上都能有效地运行。其中,n是由程序读入的参量。输入数据的分组 方法可以另行规定。,3.停车场管理 【问题描述】 设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供 汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向 南排列(大门在最南端),若停车场内已停满n辆汽车,则后来的汽车 只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即 可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出 车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场, 每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费 用。试为停车场编制按上述要求进行管理的模拟程序。 【基本要求】 以栈模拟停车场,以队列模拟车场外的便道。栈以顺序结构实现, 队列以链表结构实现。 每一组输入数据包括:汽车“到达”或“离去”信息、汽车牌照号码以 及到达或离去的时刻。 输出信息:若是车辆到达,则输出汽车在停车场内或便道上的停车 位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费 用(在便道上停留的时间不收费)。,【测试数据】 设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)两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论