lab01.计算机实现问题求解的过程实验

lab01.计算机实现问题求解的过程实验

ID:20661592

大小:182.00 KB

页数:7页

时间:2018-10-14

lab01.计算机实现问题求解的过程实验_第1页
lab01.计算机实现问题求解的过程实验_第2页
lab01.计算机实现问题求解的过程实验_第3页
lab01.计算机实现问题求解的过程实验_第4页
lab01.计算机实现问题求解的过程实验_第5页
资源描述:

《lab01.计算机实现问题求解的过程实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、黔南民族师范学院数学系算法与数据结构实验Lab01.计算机实现问题求解的过程实验【实验目的和要求】1.掌握使用计算机实现问题求解的过程和要求;2.体会数据结构、算法和抽象数据类型在问题求解过程中的作用;3.了解算法的概念和主要设计、分析方法。【实验内容】1.概述使用计算机实现问题求解的过程和要求。2.按使用计算机实现问题求解的过程和要求系统地解决信号灯问题。3.随机产生n个整数,然后用一种排序算法将它们从小到大排序。(基本要求:根据对问题的分析,选择一种简单的算法和数据结构,通过逐步细化,最后用C语言编程并调试通过。

2、)【实验仪器与软件】1.CPU主频在1GHz以上,内存在512Mb以上的PC;2.VC6.0,Word2003及以上版本。实验讲评:实验成绩:评阅教师:2012年9月14日班级:10级数信班姓名:江禹海学号:2010051112-7-黔南民族师范学院数学系算法与数据结构实验Lab01.计算机实现问题求解的过程实验一、使用计算机实现问题求解的过程和要求答:用计算机实现问题的求解,实质上就是在计算机中建立一个解决问题的模型。然而用来表示问题或处理问题的模型有:①容易被人理解但不太严格的需求模型;②比较抽象但很精确在数学模

3、型;③容易被计算机理解或执行的实现模型。使用计算机实现问题的求解过程及要求如下:(1)、分析阶段:分析问题以及对问题的抽象化处理,得出系统的需求模型。要求:深刻地分析和理解问题,弄清问题的本质和目的,然后对问题作特殊化处理,得出求解问题的模型。(2)、设计阶段:根据需求模型进行算法的设计和数据结构的设计。要求:根据(1)得出的模型选择适当在算法(如:穷举法、贪心法…)和选择适当的数据结构实现程序的设计。(3)、编码阶段:把设计阶段的成果编写成可执行的程序。要求:选择适当的程序设计语言(如:C语言、C++语言或Java

4、语言等),然而,这里采用C语言来编写程序,所以得对C语言的掌握比较熟悉,会用C语言编写程序。(4)、调试和维修阶段:对程序进行必要的维修和完善。要求:①发现和排除程序代码中的错误;②在计算机上执行程序,获得问题的解;③在系统投入运行后,解决在使用过程中发现的隐含错误和根据使用中提出的要求进行必要的维护和完善。二、信号灯问题求解1.问题答:信号灯的问题就是考虑一个多叉路口,在这个路口中,共有5条道路相交,其中C和E是单行线。任务要求是:为这个路口设计一个安全有效的交通信号灯管理系统。如图所示:2问题分析班级:10级数信

5、班姓名:江禹海学号:2010051112-7-黔南民族师范学院数学系算法与数据结构实验答:首先需要研究一下这个路口所有车辆的行驶路线,对可能行驶的路线进行分组,分组的结果应该满足任一个组中各个方向行驶的车辆可以同时安全行驶。根据交叉路口的研究可以得出13个可能通行的方向:A→B,A→C,A→D,B→A,B→C,B→D,D→A,D→B,D→C,E→A,E→B,E→C,E→D。根据这个路口的实际情况,在13个可能通行方向,运用图论知识把这些路线抽象得如图:程序:#include#include

6、ib.h>#defineMAX_VERTEX_NUM50typedefstructnode{chardata[3];intnum;structnode*next;}VexNode,*VexList;typedefstruct{VexListvexs;intarcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];/*邻接矩阵*/intvexnum,arcnum;}MGraph;/*Creat_MG函数*/voidCreat_MG(MGraph*MG){/*输入顶点和边的信息,建立图的邻接矩阵*/int

7、i,j,k;班级:10级数信班姓名:江禹海学号:2010051112-7-黔南民族师范学院数学系算法与数据结构实验VexListL,new,tail;intv1,v2;/*输入顶点数*/printf("inputvexnum:");scanf("%d",&MG->vexnum);/*输入边数*/printf("inputarcnum:");scanf("%d",&MG->arcnum);/*输入顶点的信息,建立顶点链表*/L=(VexList)malloc(sizeof(VexNode));L->next=NUL

8、L;tail=L;printf("input%dvex(string)",MG->vexnum);for(i=1;i<=MG->vexnum;++i){new=(VexList)malloc(sizeof(VexNode));new->num=i;printf("inputdata:");scanf("%s",new->data);ne

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。