搜档网
当前位置:搜档网 › 中南大学算法实验报告

中南大学算法实验报告

中南大学算法实验报告
中南大学算法实验报告

算法设计与分析基础

——实验报告

姓名:周建权

学号:0909122820

班级:信安1202

实验一分治

—最近点对

一.问题

Problem

Have you ever played quoit in a playground? Quoit is a game in which flat rings are pitched at some toys, with all the toys encircled awarded.

In the field of Cyberground, the position of each toy is fixed, and the ring is carefully designed so it can only encircle one toy at a time. On the other hand, to make the game look more attractive, the ring is designed to have the largest radius. Given a configuration of the field, you are supposed to find the radius of such a ring.

Assume that all the toys are points on a plane. A point is encircled by the ring if the distance between the point and the center of the ring is strictly less than the radius of the ring. If two toys are placed at the same point, the radius of the ring is considered to be 0.

Input

The input consists of several test cases. For each case, the first line contains an integer N (2 <= N <= 100,000), the total number of toys in the field. Then N lines follow, each contains a pair of (x, y) which are the coordinates of a toy. The input is terminated by N = 0.

Output

For each test case, print in one line the radius of the ring required by the Cyberground manager, accurate up to 2 decimal places.

二.分析思路

题目是给n个点的坐标,求距离最近的一对点之间距离的一半。第一行是一个数n表示有n个点,接下来n行是n个点的x坐标和y坐标。

首先,假设点是n个,编号为1到n。找一个中间的编号mid,先求出1到mid点的最近距离设为d1,还有mid+1到n的最近距离设为d2。如果说最近点对中的两点都在1-mid 集合中,或者mid+1到n集合中,则d就是最小距离了。但是还有可能的是最近点对中的两点分属这两个集合,若存在,则把这个最近点对的距离记录下来,去更新d。这样就得到最小的距离d了。

三.源代码

#include

#include

#include

using namespace std;

#define N 1000010

struct point

{

double x;

double y;

}p1[N],p2[N];

double dis ( point a , point b )

{

return sqrt( pow (a.x-b.x,2) + pow ( a.y-b.y,2 ) );

}

double min ( double a , double b )

{

return a

}

bool cpx ( point a , point b )

{

return a.x < b.x ;

}

bool cpy ( point a , point b )

{

return a.y < b.y ;

}

double mindis ( int l , int r )

{

if( l + 1 == r )

return dis ( p1[l] ,p1[r] );

if( l + 2 == r )

return min ( dis ( p1[l] , p1[l+1] ) , min ( dis ( p1[l+1] , p1[r] ) , dis ( p1[l] , p1[r] ) ) ); else

{

int mid , count=0 ;

double mini;

mid = ( l + r) /2 ;

mini = min ( mindis ( l , mid ) , mindis ( mid+1 , r ) );

for( int i = l ; i <= r ; i++ )

{

if ( fabs ( p1[i].x - p1[mid].x ) <= mini )

p2[count++]=p1[i];

}

sort ( p2 , p2+count , cpy );

for ( int i=0 ; i < count ; i++ )

{

for ( int j = i+1; j < count ;j++)

{

if ( p2[j].y-p2[i].y>=mini)

break;

else

if(dis (p2[j],p2[i])

mini=dis(p2[j],p2[i]);

}

}

return mini;

}

}

int main()

{

int n ;

double dia ;

while(scanf("%d",&n)==1&&n) {

for(int i=0;i

scanf("%lf%lf",&p1[i].x,&p1[i].y); sort ( p1 , p1 + n-1 , cpx );

dia = mindis ( 0 , n-1 );

printf("%.2f\n", dia / 2 );

}

return 0;

}

四.运行结果

实验二回溯

—堡垒问题

一.问题

Problem Description

Suppose that we have a square city with straight streets. A map of a city is a

square board with n rows and n columns, each representing a street or a

piece of wall.

A blockhouse is a small castle that has four openings through which to shoot.

The four openings are facing North, East, South, and West, respectively.

There will be one machine gun shooting through each opening.

Here we assume that a bullet is so powerful that it can run across any distance and destroy a blockhouse on its way. On the other hand, a wall is so strongly built that can stop the bullets.

The goal is to place as many blockhouses in a city as possible so that no two can destroy each other. A configuration of blockhouses is legal provided that no two blockhouses are on the same horizontal row or vertical column in a map unless there is at least one wall separating them. In this problem we will consider small square cities (at most 4x4) that contain walls through which bullets cannot run through.

Input

The input file contains one or more map descriptions, followed by a line containing the number 0 that signals the end of the file. Each map description begins with a line containing a positive integer n that is the size of the city; n will be at most 4. The next n lines each describe one row of the map, with a '.' indicating an open space and an uppercase 'X' indicating a wall. There are no spaces in the input file.

Output

For each test case, output one line containing the maximum number of blockhouses that can be placed in the city in a legal configuration.

二.分析思路

对于每个点,若能放置大炮则能选择放或者不放两种情况,若不能放置大炮则就只有一种情况。直接搜索,回溯的时候把点的状态恢复.

三.源代码

#include

#include

#include

#define MAX_SIZE 10

char map[MAX_SIZE][MAX_SIZE];

int d[4][2]={0,1,0,-1,1,0,-1,0};

int N,cnt;

int ok(int x, int y)

{

if(map[x][y]!='.')

return 0;

int i,xx,yy;

for(i=0;i<4;i++)

{

xx=x+d[i][0];

yy=y+d[i][1];

while(xx>=0 && xx=0 && yy

{

if(map[xx][yy]=='o')

return 0;

xx+=d[i][0];

yy+=d[i][1];

}

}

return 1;

}

int search(int x, int y, int c)

{

int i,j;

for(j=y;j

if(ok(x,j))

{

map[x][j]='o';

search(x,j+1,c+1);

map[x][j]='.';

}

for(i=x+1;i

for(j=0;j

if(ok(i,j))

{

map[i][j]='o';

search(i,j+1,c+1);

map[i][j]='.';

}

if(c>cnt)

cnt=c;

return 0;

}

int main()

int i;

while(scanf("%d",&N)&&N)

{

for(i=0;i

scanf("%s",map[i]);

cnt=0;

search(0,0,0);

printf("%d\n",cnt);

}

return 0;

}

四.运行结果

实验三动态规划

—免费馅饼

一.问题

Problem Description

都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超过一米的范围内接住坠落的馅饼。

为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在0-10这11个位置。开始时gameboy站在5这个位置,因此在第一秒,他只能接到4,5,6这三个位置中其中一个位置上的馅饼。问gameboy最多可能接到多少个馅饼?(假设他的背包可以容纳无穷多个馅饼)

Input

输入数据有多组。每组数据的第一行为以正整数n(0

Output

每一组输入数据对应一行输出。输出一个整数m,表示gameboy最多可能接到m个馅饼。

二.分析思路

将所有的时间段和馅饼看成是一个矩阵,时间就是行数,掉馅饼的就是列数,则就是数字三角形问题,从最底层找一条路径,使得路径上的和最大。

状态转移方程为:dp[i][j]=max(dp[i+1][j-1],dp[i+1][j],dp[i+1][j-1])+pie[i][j]。pie[i][j]为时间i时在j位置掉的馅饼数目。

三.源代码

#include

#include

#include

#define MAX 100001

int pie[MAX][12];

int Max(int a, int b){

return (a > b) ? a : b;

}

int Max(int a, int b, int c){

int max = (a>b) ? a:b;

return (max>c) ? max:c;

}

int MaxNumOfPie(int max_time){

int i, j, max;

for (i = max_time - 1; i >= 0; --i){

pie[i][0] = Max(pie[i+1][0], pie[i+1][1]) + pie[i][0];

for (j = 1; j < 10; ++j){

pie[i][j] = Max(pie[i+1][j-1], pie[i+1][j], pie[i+1][j+1]) + pie[i][j];

}

pie[i][10] = Max(pie[i+1][10], pie[i+1][9]) + pie[i][10];

}

return pie[0][5];

}

int main(){

int n,time,location;

int max_time;

while (scanf("%d",&n) != EOF && n != 0){

memset(pie, 0, sizeof(pie));

max_time = -1;

for (int i=1; i<=n; ++i){

scanf ("%d%d", &location, &time);

++pie[time][location];

if (max_time < time)

max_time = time;

}

printf ("%d\n", MaxNumOfPie(max_time));

}

return 0;

}

四.运行结果

实验四贪心算法

/*

给定n种物品和一个背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。应如何选择装入背包的物品,使得装入背包中物品的总价值最大?在选择物

品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包,1≤i≤n。编程任务:

对于给定的n种物品和一个背包容量C,编程计算装入背包中最大的物品总价值。Input

输入由多组测试数据组成。

每组测试数据输入的第1行中有2个正整数n和C。正整数n是物品个数;正

整数C是背包的容量。接下来的2行中,第一行有n个正整数,分别表示n个

物品的重量,它们之间用空格分隔;第二行有n个正整数,分别表示n个物

品的价值,它们之间用空格分隔。

*/

#include

#include

#include

using namespace std;

struct Node

{

double weight;

double value;

};

bool comp (Node a,Node b)

{

return a.value/a.weight > b.value/b.weight;

}

int main()

{

int n,i;

double c,w,v;

printf("请输入物品的种数和背包容量:");

while(scanf("%d%lf",&n,&c)!=EOF)

{

Node infor[2001];

printf("请输入物品的重量\n");

for(i=0;i

scanf("%lf",&infor[i].weight);

printf("请输入物品的价值\n");

for(i=0;i

scanf("%lf",&infor[i].value);

sort(infor,infor+n,comp);

v = 0.0;

w = 0.0;

for(i=0;i

{

if(infor[i].weight + w <= c)

{

w += infor[i].weight;

v += infor[i].value;

}

else

{

v+=(c-w)/infor[i].weight * infor[i].value;

break;

}

}

printf("最优的解是:%.1lf\n",v);

}

return 0;

}

结果:

中南大学C++实验报告

《C++程序设计》上机实验报告 上机内容:C++程序的运行环境和运行一个C++程序的方法 数据类型和表达式 专业班级:电气信息类1203班 学号:0909120320 姓名:李湖 日期:2013年3月16日

目录 1.实验目的 2.实验内容 3.程序源码 4.调试结果 5.实验心得

程序设计实验(一) 1、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序 (3)通过运行简单的C++程序,初步了解C++源程序的结构和特点。 应学会在一种以上的编译环境下运行C++的程序,建议学习并 掌握Visual C++ 6.0和GCC(RHIDE和DJGPP)的使用方法。2、实验内容和步骤 (1)检查所用所用的计算机系统是否已安装了C++编译系统,并确定他所在的子目录。如果使用的是Windows操作系 统,可以按以下步骤进行: 如果想查找Visual C++ 6.0,可以单击Windows桌面上“开 始”按钮,在菜单中选择“查找”窗口,在“名称”栏中 输入文件名“Microsoft Visual C++ 6.0”,请注意搜索范围, 应当使“搜索”栏中的内容为“C:\”,表示从C盘根目录 开始寻找,即搜索整个C盘。单击“开始查找”按钮, 系统会自动在指定的范围内找寻所需的文件,如果找到, 就会显示出文件路径,如“C:\Windows 000\Start Mean\Program\Microsoft Visual Studio 6.0,表示在

C:\Windows 000\Start Mean\Program\Microsoft Visual Studio 6.0文件中有Visual C++ 6.0。也可以选择Windows 桌面上的“开始”—>“程序”命令,在其弹出的菜单中 选择“Microsoft Visual Studio 6.0”命令,再在其子菜单中 查有无“Microsoft Visual C++ 6.0”命令。如果在安装时采 用系统提供的默认方式安装,应该在这个位置找到 Microsoft Visual C++ 6.0。 如果想查找RHIDE和DJGPP,只须选择“开始”—>“查找(F)”—>“文件或文件夹(F)”命令,并指定RHIDE 和DJGPP即可。 (2)在Visual C++环境下编译和运行C++程序。 在第一次上机时,按以下步骤建立和运行C++程序: ①先进入Visual C++ 6.0环境。 ②按照第15章15.2节介绍的方法,在自己指定的子目录中 建立一个名为test.cpp的新文件(此事尚未向文件输入内 容)。 ③从键盘输入以下程序(第1章第8题): int main(); { int a,b; c=a+b; cout>>”a+b=”>>a+b;

中南大学通信原理实验报告(截图完整)

中南大学 《通信原理》实验报告 学生姓名 指导教师 学院 专业班级 完成时间

数字基带信号 1、实验名称 数字基带信号 2、实验目的 (1)了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。 (2)掌握AMI、HDB 3 码的编码规则。 (3)掌握从HDB 3 码信号中提取位同步信号的方法。 (4)掌握集中插入帧同步码时分复用信号的帧结构特点。 (5)了解HDB 3 (AMI)编译码集成电路CD22103。 3、实验内容 (1)用示波器观察单极性非归零码(NRZ)、传号交替反转码(AMI)、三阶高密度双极性码 (HDB 3)、整流后的AMI码及整流后的HDB 3 码。 (2)用示波器观察从HDB 3 码中和从AMI码中提取位同步信号的电路中有关波形。 (3)用示波器观察HDB 3 、AMI译码输出波形。 4、基本原理(简写) 本实验使用数字信源模块和HDB 3 编译码模块。 1、数字信源 本模块是整个实验系统的发终端,模块内部只使用+5V电压,其原理方框图如图1-1所示,电原理图如图1-3所示(见附录)。本单元产生NRZ信号,信号码速率约为170.5KB,帧结构如图1-2所示。帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。此NRZ信号为集中插入帧同步码时分复用信号,实验电路中数据码用红色发光二极管指示,帧同步码及无定义位用绿色发光二极管指示。发光二极管亮状态表示1码,熄状态表示0码。 本模块有以下测试点及输入输出点: ? CLK 晶振信号测试点 ? BS-OUT 信源位同步信号输出点/测试点(2个) ? FS 信源帧同步信号输出点/测试点 ? NRZ-OUT(AK) NRZ信号(绝对码)输出点/测试点(4个) 图1-1中各单元与电路板上元器件对应关系如下: ?晶振CRY:晶体;U1:反相器7404 ?分频器U2:计数器74161;U3:计数器74193;U4:计数器40160 ?并行码产生器K1、K2、K3:8位手动开关,从左到右依次与帧同步码、数

岩石力学-硕士研究生课程报告-中南大学

硕士研究生课程报告 题目顺层高边坡稳定性影响因素 及工程灾害防治 姓名曾义 专业班级岩土13级 任课教师阳军生张学民 中南大学土木工程学院

引言 近年来,随着铁路公路建设步伐加快,铁路公路等级不断提高,边坡防护建设工程中所遇到的岩土边坡安全稳定性问题也相应增多,并成为岩土工程中比较常见的技术难题。由于工程建设的需要,往往在一定程度上破坏或扰动原来较为稳定的岩土体而形成新的人工边坡,因而普遍存在着边坡稳定的问题需要解决。国家实施西部大开发战略以来,西部山区高等级公路得到迅速发展。在山区修建高等级公路不可避免会遇到大量的深挖高填路基,就目前建设的高速公路情况看:一般情况下,100km长的山区高等级公路,挖填方路基段落长度占路线总长度的60%以上。已建高速公路最高的填方已达到50多米,最高的挖方边坡高度已超过100m。尽管山区高等级公路的建设越来越倡导环境保护,尽量避免深挖高填,但路基作为公路的主要结构,其边坡稳定问题不可避免。在山区复杂多变的地质条件下建设高等级公路,其边坡稳定性问题必将受到人们的普遍关注,高边坡岩土安全状况直接关系到公路交通运输安全。 虽然计算理论方法、地质探测技术、现代监测技术、边坡加固技术及施工技术不断的在进步,但顺层边坡稳定性问题和高边坡稳定性问题,时至今日依然是国内外学者研究的热点问题,并逐步涌现出许多的新的研究方向。 1、顺倾高边坡稳定性研究现状 随着人类工程活动的发展,对边坡问题的研究也在不断深入,归纳前人对边坡问题的研究大致可分为以下几个阶段: 人们对边坡稳定性的关注和研究最早是从滑坡现象开始的(张倬元等,2001)。19世纪末和20世纪初期,伴随着欧美资本主义国家的工业化而兴起的大规模土木工程建设(如修筑铁路、公路,露天采矿,天然建材开采等),出现了较多的人工边坡,诱发了大量滑坡和崩塌,造成了很大的损失。这时,人们才开始重视边坡失稳给人类造成的危害,并开始借用一般材料分析中的工程力学理论对滑坡进行半经验、半理论的研究。 20世纪50年代,我国学者引进苏联工程地质的体系,继承和发展了“地质历史分析”法,并将其应用于滑坡的分析和研究中,对边坡稳定性研究起到了推动作用(张倬元等,1994)。该阶段学者们着重边坡地质条件的描述和边坡类型的划分,采用工程地质类比法评价边坡稳定性。 20世纪60年代,世界上几起灾难性的边坡失稳事件的发生(如意大利的瓦依昂滑坡造成近3000人死亡和巨大的经济损失)(张倬元等,1994),使人们逐渐认识到了结构面对边坡稳定性的控制作用以及边坡失稳的时效特征,初步形

中南大学通信电子线路实验报告

中南大学 《通信电子线路》实验报告 学院信息科学与工程学院 题目调制与解调实验 学号 专业班级 姓名 指导教师

实验一振幅调制器 一、实验目的: 1.掌握用集成模拟乘法器实现全载波调幅和抑止载波双边带调幅的方法。 2.研究已调波与调制信号及载波信号的关系。 3.掌握调幅系数测量与计算的方法。 4.通过实验对比全载波调幅和抑止载波双边带调幅的波形。 二、实验内容: 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 三、基本原理 幅度调制就是载波的振幅(包络)受调制信号的控制作周期性的变化。变化的周期与调制信号周期相同。即振幅变化与调制信号的振幅成正比。通常称高频信号为载波信号。本实验中载波是由晶体振荡产生的10MHZ高频信号。1KHZ的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 在本实验中采用集成模拟乘法器MC1496来完成调幅作用,图2-1为1496芯片内部电路图,它是一个四象限模拟乘法器的基本电路,电路采用了两组差动对由V1-V4组成,以反极性方式相连接,而且两组差分对的恒流源又组成一对差分电路,即V5与V6,因此恒流源的控制电压可正可负,以此实现了四象限工作。D、V7、V8为差动放大器V5与V6的恒流源。进行调幅时,载波信号加在V1-V4的输入端,即引脚的⑧、⑩之间;调制信号加在差动放大器V5、V6的输入端,即引脚的①、④之间,②、③脚外接1KΩ电位器,以扩大调制信号动态范围,已调制信号取自双差动放大器的两集电极(即引出脚⑹、⑿之间)输出。

图2-1 MC1496内部电路图 用1496集成电路构成的调幅器电路图如图2-2所示,图中VR8用来调节引出脚①、④之间的平衡,VR7用来调节⑤脚的偏置。器件采用双电源供电方式(+12V,-9V),电阻R29、R30、R31、R32、R52为器件提供静态偏置电压,保证器件内部的各个晶体管工作在放大状态。 四、实验结果 1. ZD.OUT波形: 2. TZXH波形:

中南大学数据结构实验报告(六)

实验六 1.需求分析 2.二分查找算法(设计性实验) 问题描述 从键盘读入一串整数和一个待查键,查找在该整数串中是否有这个待查键。如果有,就输出它在 整数串中的位置;如果没有,输出1。 基本要求 掌握二分查找算法。 测试数据 由读者依据软件工程的测试技术自己确定。注意测试边界数据,如单个结点。 实现提示 利用二分查找算法查找实现。 4.简单个人电话号码查询系统(综合性实验) 问题描述 人们在日常生活中经常要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话 号码查询系统,根据用户输入的信息(如姓名等)进行快速查询。 基本要求 (1) 在外存上,用文件保存电话号码信息。 (2) 在内存中,设计数据结构存储电话号码信息。 (3) 提供查询功能:根据姓名实现快速查询。 (4) 提供其他维护功能,如插入、删除、修改等。 测试数据 由读者依据软件工程的测试技术自己确定。注意测试边界数据,如单个结点。 实现提示 由于要管理的电话号码信息较多,而且要在程序运行结束后仍然保存电话号码信息,所以电话号码 信息采用文件的形式存放到外存中。在系统运行时,要将电话号码信息从文件调入内存来进行查找等操作。为了接收文件中的内容,要有一个数据结构与之对应,可以设计如下结构类型的数组来接收数据。const int max=10; struct TeleNumber { String name;// 姓名 String phoneNumber,// 固定电话号码 String mobileNumber,// 移动电话号码 String email;// 电子邮箱 }Tele[max]; 为了实现对电话号码的快速查询,可以将上述结构数组排序,以便应用二分查找,但是,在数组 中实现插入和删除操作的代价较高。如果记录需频繁进行插入或删除操作,可以考虑采用二叉排序树组织电话号码信息,这样查找和维护都能获得较高的时间性能。更复杂地,需考虑该二叉排序树是否平衡,如何使之达到平衡。

中南大学工程训练报告15

自动化工程训练 —基于MATLAB的电力电子系统仿真 学院:信息科学与工程学院 仿真内容:三相桥式整流电路 班级姓名:自动化0801 肖娉 学号:0909080320 指导老师:桂武鸣老师 日期:2011.08.29--2011.09.09

电力电子技术综合了电子电路、电机拖动、计算机控制等多学科知识,是一门实践性和应用性很强的课程。由于电力电子器件自身的开关非线性,给电力电子电路的分析带来了一定的复杂性和困难,一般常用波形分析的方法来研究。仿真技术为电力电子电路的分析提供了崭新的方法。 本次工程训练的目的是初步掌握在MA TLAB/Simulink环境下电力电子系统的仿真。通过为期两周的学习,掌握一些MA TLAB的基础、Simulink环境和模型库、电力电子器件模型、变压器和电动机模型等。 MATLAB是一种科学计算软件,它是一种以矩阵为基础的交互式程序计算语言。SIMULINK是基于框图的仿真平台,它挂接在MATLAB环境上,以MATLAB的强大计算功能为基础,以直观的模块框图进行仿真和计算。 本文主要以MATLAB/SIMULINK仿真软件为基础,完成了对三相桥式整流电路带电阻、阻感、反电动势、直流电机负载的建模与仿真,并且给出了仿真结果波形,同时根据仿真结果进行了分析。证实了该方法的简便直观、高效快捷和真实准确性。

前言 第一章MATLAB/Simulink仿真的目的与意义 (1) 第二章MATLAB/Simulink的基础知识 (2) 2.1 MATLAB基础 (2) 2.1.1 MATLAB语言的功能 (2) 2.2.2 MATLAB集成环境 (3) 2.2 Simulink仿真基础 (5) 2.2.1 Simulink的模块库介绍 (6) 2.2.2 SimPowerSystems的介绍 (6) 2.2.3 Simulink部分模型介绍 (7) 2.2.4 Simulink仿真运行 (8) 第三章三相桥式可控整流电路的仿真 (10) 3.1 三相桥式整流电路 (10) 3.1 电阻、阻感和反电动势负载 (11) 3.2 直流电机负载 (16) 3.2.1 整流状态 (16) 3.2.2 有源逆变状态 (18) 第四章心得体会 (21) 参考文献 (23)

操作系统实验报告-中南大学

操作系统原理试验报告 班级: 学号: 姓名:

实验一:CPU调度 一、实验内容 选择一个调度算法,实现处理机调度。 二、实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作。 三、实验题目 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 四、实验要求 PCB内容: 进程名/PID; 要求运行时间(单位时间); 优先权; 状态: PCB指针; 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度 4、最好采用图形界面; 5、可随时增加进程; 6、规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可自动从后备 队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能用于将指定挂起进程解挂入就绪队列。 7、每次调度后,显示各进程状态。 实验二:内存管理 一、实验内容 主存储器空间的分配和回收 二、实验目的 帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 三、实验题目 在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。

四、实验要求 1、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 2、结合实验一,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置,PCB指针} 3、采用最先适应算法分配主存空间; 4、进程完成后,回收主存,并与相邻空闲分区合并 .1、Vo类说明(数据存储结构) 进程控制块PCB的结构: Public class PCB{ //进程控制块PCB,代表一个进程 //进程名,作为进程的标识; private String name; //要求运行时间,假设进程运行的单位时间数; private int time; //赋予进程的优先权,调度时总是选取优先数小的进程先执行; private int priority; //状态,假设有“就绪”状态(ready)、“运行”状态(running)、 //“后备”状态(waiting)、“挂起”状态(handup) private String state; //进程存放在table中的位置 private int start; //进程的大小 private int length; //进程是否进入内存,1为进入,0为未进入 private int isIn; //进程在内存中的起始位置 private int base; //进程的大小 private int limit; //一些get和set方法以及构造器省略… };

中南大学机械基础实验报告机类

机械基础实验报告 (机械类) 中南大学机械基础实验教学中心 2011年8月 目录 训练一机构运动简图测绘 (1) 实验二动平衡实验 (3) 实验三速度波动调节实验 (4) 实验四机构创意组合实验 (5) 实验五平面机构创新设计及运动测试分析实验 (6) 实验六螺栓联接静动态实验 (7) 实验七螺旋传动效率实验 (8) 实验八带传动实验 (9) 实验九液体动压轴承实验 (10) 实验十机械传动性能综合测试实验 (12) 实验十一滚动轴承综合性能测试分析实验 (13) 实验十二机械传动设计及多轴搭接实验 (14) 实验十三减速器拆装实验 (15)

训练一机构运动简图测绘 专业班级第组姓名成绩 1.一个正确的“机构运动简图”应能说明哪些内容?绘制机构运动简图的基本步骤是什么? 2.机构自由度与原动件的数目各为多少?当机构自由度=原动件的数目,机构的

运动是否确定? 五.收获与建议

实验二动平衡实验 专业班级第组姓名成绩一、实验目的: 二?设备名称: 三?实验数据 实验转速: 四.思考题: 转子动平衡为什么要在左右两个平面上进行平衡?

实验三速度波动调节实验专业班级第组姓名成绩一?实验目的: 二?设备名称: 三?实验数据 1?当转速不变时,采用不同的飞轮,数据记录: 结论:当转速不变时,飞轮转动惯量越大,则机构的速度波动越二?当飞轮不变时,转速变化,数据记录: 结论:当飞轮不变时,转速越大,则机构的速度波动越

实验四机构创意组合实验 专业班级第组姓名成绩 一、机构运动简图(要求符号规范标注参数) 二、机构的设计方案图(复印件) 三、机构有____________个活动构件?有______个低副,其中转动副_______个, 移动副__________个,有____________复合铰链,在_________处?有________处?有__________个虚约束,在__________处? 四、机构自由度数目为F=3n-2PL-PH=3X-2X-0= 五、机构有_________个原动件 在___________处用__________驱动,在__________处用___________驱动? 六、针对原设计要求,按照实验结果简述机构的有关杆件是否运动到位?曲柄是 否存在?是否实现急回特性?最小传动角数值?是否有“卡住”现象?(原无要求的项目可以不作涉及) 七、指出在机构中自己有所创新之处? 八、指出机构的设计存在的不足之处,简述进一步改进的设想?

中南大学硕士研究生培养方案(科学学位)

硕士研究生培养方案(科学学位) 一、学科概况 中南大学机械工程学科创建于1955年,1960年招收研究生,1982年获得硕士学位授予权,1986年获博士学位授予权,1998年设立“机械工程”博士后科研流动站,2000年获得一级学科博士授予权,覆盖了机械制造及自动化、机械设计及理论、机械电子工程和车辆工程等4个二级学科和数字装备与计算制造、信息器件制造技术与装备等2个自主设置的二级学科,其中“机械设计及理论”与“机械制造及其自动化”学科为国家重点学科,“机械制造及其自动化”与“机械电子工程”学科为湖南省重点学科,机械工程一级学科于2007年被批准为一级学科国家重点学科。设有“高性能复杂制造”国家重点实验室,“现代复杂装备设计与极端制造”教育部重点实验室,“铝合金强流变技术与装备”教育部工程研究中心,湖南省“岩土设备设计与控制”工程研究中心,以及“金属塑性加工摩擦与润滑”、“设备测试与故障诊断中心”等1个国家重点实验室和5个省部级重点实验室、工程中心,以及国家高技术研究发展计划成果产业化基地、与国外ASM公司共建的“微电子封装技术实验室”等。 本学科致力于机械基础理论与技术集成、先进制造理论与技术等的研究,并围绕国民经济中起支柱作用以及国防和空天运载等关键技术与装备进行研究和

设计开发,在高性能材料制备与装备、信息器件制造、齿轮数字化制造、深海资源开发、车辆与工程装备、特种机器人等研究方向具有特色和优势。 二、培养目标 学位获得者应拥护中国共产党的领导,拥护社会主义制度,热爱祖国,掌握辩证唯物主义和历史唯物主义的基本原理;具有良好的科研作风、科学道德和合作精神,品行优秀,身心健康;掌握机械工程学科坚实的基础理论、系统的专门知识,掌握一定的生产实践及试验方面的知识和技能,熟练掌握一门外语,了解本学科前沿发展动态和方向,有严谨求实的工作作风和独力工作能力。成为既能从事机械工程领域的科学研究与设计工作,又可承担相关领域的教学和管理工作的高层次、高素质的科技人才。 三、学科专业主要研究方向

中南大学系统仿真实验报告

实验一MATLAB 中矩阵与多项式的基本运算 实验任务 1. 了解MATLAB命令窗口和程序文件的调用。 2 ?熟悉如下MATLAB的基本运算: ①矩阵的产生、数据的输入、相关元素的显示; ②矩阵的加法、乘法、左除、右除; ③特殊矩阵:单位矩阵、“ 1 ”矩阵、“0”矩阵、对角阵、随机矩阵的产生和运算; ④多项式的运算:多项式求根、多项式之间的乘除。 基本命令训练 1、>> eye(2) ans = 1 0 0 1 >> eye(4) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2、>> ones(2) 1 1 ans =

1 1 >> ones(4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> ones(2,2) ans = 1 1 1 1 >> ones(2,3) ans = 1 1 1 1 1 1 >> ones(4,3) ans = 1 1 1 1 1 1 1 1 1 1 1 1 3、>> zeros(2) ans =

0 0 0 0 >> zeros(4) ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> zeros(2,2) ans = 0 0 0 0 >> zeros(2,3) ans = 0 0 0 0 0 0 >> zeros(3,2) ans = 0 0 0 0 00 4、随机阵>> rand(2,3) ans = 0.2785 0.9575 0.1576 0.5469 0.9649 0.9706 >> rand(2,3)

中南大学制造系统自动化技术实验报告整理

制造系统自动化技术 实验报告 学院:机电工程学院 班级:机制**** 姓名:张** 学号: *********** 指导教师:李** 时间: 2018-11-12 实验一柔性自动化制造系统运行实验 1.实验目的 (1)通过操作MES终端软件,实现对柔性制造系统的任务下达和控制加工,让学生

了解智能制造的特征及优势。 (2)通过创意性的实验让学生了解自动化系统总体方案的构思。 (3)通过总体方案的构思让学生了解该系统的工作原理,并学会绘制控制系统流程图,掌握物料流、信息流、能量流的流动路径。 (4)通过总体方案的构思让学生掌握各机械零部件、传感器、控制元器件的工作原理及性能。 (5)通过实验系统运行让学生了解运行的可靠性、安全性是采用何种元器件来实现的,促进学生进行深层次的思考和实践。 2.实验内容 (1)仔细观察柔性自动化制造系统的实现,了解柔性自动化制造系统的各个模块,熟悉各个模块的机械结构。 (2)了解各种典型传动机构的组装、工作原理、以及如何实现运动方向和速度的改变; (3)学习多种传感器的工作原理、性能和使用方法; (4)了解典型驱动装置的工作原理、驱动方式和性能; (5)理解柔性制造系统的工作原理,完成柔性制造系统的设计、组装; (6)实现对柔性制造系统的控制与检测,完成工件抓取、传输和加工。

3.实验步骤 (1)柔性制造系统的总体方案设计; (2)进行检测单元的设计; (3)进行控制系统的设计; (4)上下料机构的组装与检测控制; (5)物料传输机构的组装与实现; (6)柔性制造系统各组成模块的连接与控制; (7)柔性制造系统各组成单元的状态与工件状态位置的检测; (8)对机器人手动操作,实现对工件的抓取、传输。 4. 实验报告 ①该柔性自动化制造系统由哪几个主要的部分组成; 主要由:总控室工作站、AGV小车输送物料机构、安川机器人上下料工作站、法那科机器人上下料工作站、ABB机器人组装工作站、视觉检测及传送工作站、激光打标工作站、堆垛机及立体仓储工作站。 ②画出该柔性自动化制造系统的物料传输系统结构简图;

计算数学排名

070102 计算数学 计算数学也叫做数值计算方法或数值分析。主要内容包括代数方程、线性代数方程组、微分方程的数值数值逼近问题,矩阵特征值的求法,最优化计算问题,概率统计计算问题等等,还包括解的存在性、唯一性差分析等理论问题。我们知道五次及五次以上的代数方程不存在求根公式,因此,要求出五次以上的高次代一般只能求它的近似解,求近似解的方法就是数值分析的方法。对于一般的超越方程,如对数方程、三角方采用数值分析的办法。怎样找出比较简洁、误差比较小、花费时间比较少的计算方法是数值分析的主要课题的办法中,常用的办法之一是迭代法,也叫做逐次逼近法。迭代法的计算是比较简单的,是比较容易进行的以用来求解线性方程组的解。求方程组的近似解也要选择适当的迭代公式,使得收敛速度快,近似误差小。 在线性代数方程组的解法中,常用的有塞德尔迭代法、共轭斜量法、超松弛迭代法等等。此外,一些比消去法,如高斯法、追赶法等等,在利用计算机的条件下也可以得到广泛的应用。在计算方法中,数值逼近本方法。数值逼近也叫近似代替,就是用简单的函数去代替比较复杂的函数,或者代替不能用解析表达式表值逼近的基本方法是插值法。 初等数学里的三角函数表,对数表中的修正值,就是根据插值法制成的。在遇到求微分和积分的时候,的函数去近似代替所给的函数,以便容易求到和求积分,也是计算方法的一个主要内容。微分方程的数值解法。常微分方程的数值解法由欧拉法、预测校正法等。偏微分方程的初值问题或边值问题,目前常用的是有限元素法等。有限差分法的基本思想是用离散的、只含有限个未知数的差分方程去代替连续变量的微分方程求出差分方程的解法作为求偏微分方程的近似解。有限元素法是近代才发展起来的,它是以变分原理和剖分的方法。在解决椭圆形方程边值问题上得到了广泛的应用。目前,有许多人正在研究用有限元素法来解双曲方程。计算数学的内容十分丰富,它在科学技术中正发挥着越来越大的作用。 排名学校名称等级 1 北京大学A+ 2 浙江大学 A+ 3 吉林大学A+ 4 大连理工大学A+ 5 西安交通大学A 北京大学:http:https://www.sodocs.net/doc/4d12728777.html,/NewsSpecialDetailsInfo.aspx?SID=4 浙江大学:http:https://www.sodocs.net/doc/4d12728777.html,/NewsSpecialDetailsInfo.aspx?SID=21847 吉林大学:http:https://www.sodocs.net/doc/4d12728777.html,/NewsSpecialDetailsInfo.aspx?SID=5506 大连理工大学:http:https://www.sodocs.net/doc/4d12728777.html,/NewsSpecialDetailsInfo.aspx?SID=4388 西安交通大学:http:https://www.sodocs.net/doc/4d12728777.html,/NewsSpecialDetailsInfo.aspx?SID=18285

中南大学 计算机体系结构实验报告

计算机体系结构课程设计 学院:信息科学与工程学院 专业班级: 指导老师: 学号: 姓名:

目录 实验1 对指令操作码进行霍夫曼编码 (3) 一、实验目的 (3) 二、实验内容 (3) 三、设计思路 (4) 四、关键代码 (4) 五、实验截图 (5) 六、源代码 (5) 实验2 使用LRU 方法更新Cache (8) 一、实验目的 (8) 二、实验内容 (8) 三、设计思路 (9) 四、程序截图 (9) 五、实验代码 (9) 实验总结 (16) 参考文献 (16)

实验1 对指令操作码进行霍夫曼编码一、实验目的 了解和掌握指令编码的基本要求和基本原理 二、实验内容 1. 使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对指令码的长度进行评价。与扩展操作码和等长编码进行比较。 2. 问题描述以及问题分析 举例说明此问题,例如: 下表所示: 对此组指令进行 HUFFMAN 编码正如下图所示: 最后得到的HUFFMAN 编码如下表所示:

最短编码长度为: H=0.45*1+0.30*2+0.15*3+0.05*4+0.03*5+0.01*6+0.01*6=-1.95. 要对指令的操作码进行 HUFFMAN 编码,只要根据指令的各类操作码的出现概率构造HUFFMAN 树再进行 HUFFAM 编码。此过程的难点构造 HUFFMAN 树,进行 HUFFAM 编 码只要对你所生成的 HUFFMAN 树进行中序遍历即可完成编码工作。 三、设计思路 观察上图,不难看出构造 HUFFMAN 树所要做的工作:1、先对各指令操作码的出现概率进行排序,构造一个有序链表。2、再取出两个最小的概率节点相加,生成一个生的节点加入到链表中,同时从两表中删除此两个节点。3、在对链表进行排序,链表是否只有一个节点,是则 HUFFAN 树构造完毕,否则继续做 2 的操作。为此设计一个工作链表(链表的元素时类,此类的功能相当结构。)、HUFFMAN 树节点、HUFFMAN 编码表节点。 四、关键代码 哈夫曼树重点在于如何排列权值大小不同的结点的顺序 private int leafNum; //叶子结点个数 private HaffmanNode[] hnodes; //哈夫曼树的结点数组 public HaffManCode(double[] weight) //构造指定权值集合的哈夫曼树 { int n = weight.length; //n个叶子结点 this.leafNum = n; this.hnodes = new HaffmanNode[2*n-1]; //n个叶子结点的哈夫曼树共有2n-1个结点 for(int i=0; i

中南大学机械制造工艺学实验报告

机械制造工艺学实验报告 班级机械1301 姓名黄佳清 学号 07

中南大学机电学院 《机械制造工艺学》课程实验报告 实验名称:加工误差的统计分析 姓名:黄佳清班级:机械1301 学号: 07 实验日期: 2015 年 10 月 18 日指导教师:成绩: 1. 实验目的 (1)掌握加工误差统计分析方法的基本原理和应用。 (2)掌握样本数据的采集与处理方法,要求:能正确地采集样本数据,并能通过对样本 数据的处理,正确绘制出加工误差的实验分布曲线和图。 (3)能对实验分布曲线和图进行正确地分析,对加工误差的性质、工序能力及工艺 稳定性做出准确的鉴别。 (4)培养对加工误差进行综合分析的能力。 2. 实验内容与实验步骤

1.按加工顺序测量工件的加工尺寸,记录测量结果。 2.绘制直方图和分布曲线 1)找出这批工件加工尺寸数据的最大值x max和最小值x min,按下式计算出极差R。 R=x max一x min 2)确定分组数K(K一般根据样本容量来选择,建议可选在8~11之间)。 3)按下式计算组距 d。 4)确定组界(测量单位:微米)。 5)做频数分布表。 6)计算x和 。 7)画直方图 以样本数据值为横坐标,标出各组组界;以各组频率密度为纵坐标,画出直方图。 8)画分布曲线 若工艺过程稳定,则误差分布曲线接近正态分布曲线;若工艺过程不稳定,则应根据实际情况确定其分布曲线。画出分布曲线,注意使分布曲线与直方图协调一致。 9)画公差带 在横轴下方画出公差带,以便与分布曲线相比较。 3.绘制图 1)确定样组容量,对样本进行分组

样组容量m 通常取4或5件。按样组容量和加工时间顺序,将样本划分成若干个样组。 2)计算各样组的平均值和极差 对于第i 个样组,其平均值和极差计算公式为: ∑==m j ij i x m x 1 1 式中 ——第i 个样组的平均值; ——第i 个样组的标准差; ——第i 个样组第j 个零件的测量值; ——第i 个样组数据的最大值; ——第i 个样组数据的最小值 3)计算图控制限(计算公式见实验原理) 4)绘制 图 以样组序号为横坐标,分别以各样组的平均值和极差R 为纵坐标,画出图,并在图上标出中心线和上、下控制限。 4. 按下式计算工序能力系数Cp 5. 判别工艺过程稳定性 可按下表所列标准进行判别。注意,同时满足表中左列3个条件,工艺过程稳定;表中右列条件之一不满足,即表示工艺过程不稳定。

数值分析练习1-3章

第一章 绪论 一、填空题 1、 已知 71828.2e =,求x 的近似值a 的有效数位和相对误差: 题号 精确数x x 的近似数a a 的有效数位 a 的相对误差 ⑴ e 2.7 ⑵ e 2.718 ⑶ e/100 0.027 ⑷ e/100 0.02718 2、 设原始数据x 1,x 2,x 3和x 4的近似值(每位均为有效数字)如下: a 1=1.1021,a 2=0.031,a 3=385.6,a 4=56.430 则 ⑴ a 1+a 2+a 4= ,相对误差界为 ; ⑵ a 1a 2a 3= ,相对误差界为 ; ⑶ a 2/a 4= ,相对误差界为 。 二、为使20的近似值的相对误差小于0.01%,问应取多少位有效数字? 三、当x 接近于0时,怎样计算 x x sin cos 1-以及当x 充分大时,怎样计算 x x -+1,才会使其结果的有效数字不会严重损失。 四、在数值计算中,为了减小误差,应该尽量避免的问题有哪些?并举出相 应的实例. 五、对于序列 ,1,0,9991 =+=? n dx x x I n n ,试构造两种递推算法计算 10I ,在你构造的算法中,那一种是稳定的,说明你的理由;

第二章 插值法 1、在互异的n+1个点处满足插值条件P(x i )=y i ,(i=0,1,…n)的次数不高于n 的 多项式是( )的 (A)存在且唯一 (B)存在 (C)不存在 (D)不唯一 2、当f(x)是次数不超过n 的多项式时,f(x)的插值多项式是 ( ) (A)不确定 (B)次数为n (C)f(x)自身 (D )次数超过n 3、 插值基函数的和 ∑=n j j x l )(= ( ) (A)0 (B)1 (C)2 (D)不确定 4、 设f(x)=x 3-x+5,则f[20,21,22,23]= ( ); f[20,21,22,23,24]= ( ) (A)0 (B)1 (C)2 (D)不确定 5、( )插值方法具有公式整齐、程序容易实现的优点,而( )插值方法 计算灵活,如果节点个数变化时,不需要重新构造多项式,它们都是( )的方法 (A)构造性 (B)解方程组 (C)拉格朗日 (D)牛顿 6、一般地,内插公式比外推公式( ),高次插值比低次插值( ),但 当插值多项式的次数高于七、八次时,最好利用( )插值公式 (A)粗糙 (B)精确 (C)分段低次 (D)高次 7、整体光滑度高,收敛性良好,且在外型设计、数值计算中应用广泛的分 段插值方法为( ). (A)分段线性插值 (B)分段抛物插值 (C)分段三次埃尔米特插值 (D)三次样条插值。 8、差商与差分的关系式为 f[x 0,x 1,…,x k ]=( ),f[x n ,x n-1,…,x n-k ]=( )。 (A)k n k h k f !? (B)k k h k f !0? (C)k n k h k f !? (D)k k h k f !0 ?

中南大学x射线实验报告参考

中南大学 X射线衍射实验报告 学院专业班级 姓名学号同组者 月日指导教师 实验 日期 评分分评阅人评阅日期 实验目的 1)掌握X射线衍射仪的工作原理、操作方法; 2)掌握X射线衍射实验的样品制备方法; 3)学会X射线衍射实验方法、实验参数设臵,独立完成一个衍射实验测试; 4)学会MDI Jade 6的基本操作方法; 5)学会物相定性分析的原理和利用Jade进行物相鉴定的方法; 6)学会物相定量分析的原理和利用Jade进行物相定量的方法。 本实验由衍射仪操作、物相定性分析、物相定量分析三个独立的实验组成,实验报告包含以上三个实验内容。 一、实验原理 1、X射线衍射仪 (1)X射线管 X射线管工作时阴极接负高压,阳极接地。灯丝附近装有控制栅,使灯丝发出的热电子在电场的作用下聚焦轰击到靶面上。阳极靶面上受电子束轰击的焦点便成为X射线源,向四周发射X射线。在阳极一端的金属管壁上一般开有四个射线出射窗口。转靶X射线管采用机械泵+分子泵二级真空泵系统保持管内真空度,

阳极以极快的速度转动,使电子轰击面不断改变,即不断改变发热点,从而达到提高功率的目的 (2)测角仪系统 测角仪圆中心是样品台,样品台可以绕中心轴转动,平板状粉末多晶样品安放在样品台上,样品台可围绕垂直于图面的中心轴旋转;测角仪圆周上安装有X 射线辐射探测器,探测器亦可以绕中心轴线转动;工作时,一般情况下试样台与探测器保持固定的转动关系(即θ-2θ连动),在特殊情况下也可分别转动;有的仪器中样品台不动,而X 射线发生器与探测器连动。 (3)衍射光路 2、物相定性分析 1) 每一物相具有其特有的特征衍射谱,没有任何两种物相的衍射谱是完全相同 的 2) 记录已知物相的衍射谱,并保存为PDF 文件 3) 从PDF 文件中检索出与样品衍射谱完全相同的物相 4) 多相样品的衍射谱是其中各相的衍射谱的简单叠加,互不干扰,检索程序能 从PDF 文件中检索出全部物相 3、物相定量分析 物相定量分析——绝热法 在一个含有N 个物相的多相体系中,每一个相的RIR 值(参比强度)均为已知的情况下,测量出每一个相的衍射强度,可计算出其中所有相的质量分数: 其中某相X 的质量分数可表示为: ∑ == N A i i A i X A X X K I K I W 式中A 表示N 个相中被选定为内标相的物相名称 式中A O Al X O Al X A K K K 3 232= 右边是两个物相X 和A 的RIR 值,可以通过实测、计算或查找PDF 卡片获得。 样品中只含有两相A 和B ,并选定A 为内标物相,则有:

中南大学微机实验报告

中南大学信息科学与工程学院 微机原理与接口技术实验报告 学生学院信息科学与工程学院 专业班级 学号 学生姓名____ 指导教师

目录 第一部分软件实验 (4) DEBUG 的使用 (4) 第二部分硬件实验 (8) 实验一使用ADC0809的A/D转换实验 (10) 实验二使用DAC0832的D/A转换实验(一) ................................. 错误!未定义书签。 实验三使用DAC0832的D/A转换实验(二) ................................. 错误!未定义书签。第三部分实验总结. (13)

第一部分软件实验 DEBUG 的命令及其操作 一、实验目的 1.熟练掌握debug的常用命令,学会用debug来调试程序。 2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。 3.掌握各种寻址方法以及简单指令的执行过程。 二、实验内容 1.进入和退出DEBUG程序 2.本实验只要求在DEBUG调试状态下进行,包括汇编程序,调试程序,执行程序 3.掌握一些DEBUG的基本操作 三、实验环境 Windows系统下从进入命令行窗口。 四、实验的基本原理 a 汇编 d显示内存单元内容 e修改单元内存内容 g执行命令 t单步(或多步)调试 n指定文件路径文件名(含扩展名) u反汇编 r查看寄存器值及修改 l加载程序 w写盘命令 五、实验步骤 1.用DEBUG调试简单程序 例1 -A CS:0106 MOV AX,1234 MOV BX,2345 MOV CX,0 ADD AX,BX MOV CX,AX INT 20 运行程序

最新中南大学数据结构实验报告

中南大学 数据结构实验报告 实验题目:(1)单链表的实现(2)栈和队列 (3)二叉树的遍历(4)查找与排序学生姓名:代巍 学生学号:0909121615 指导老师:余腊生 所在学院:信息科学与工程学院 专业班级:信息安全1201班 指导教师评定:签名:

实验一单链表的实现 一、实验目的 了解线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种 基本运算及其在某种存储结构上如何实现这些基本运算。在熟悉上述内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题 二、实验内容 用C/C++语言编写程序,完成以下功能: (1)运行时输入数据,创建一个单链表 (2)可在单链表的任意位置插入新结点 (3)可删除单链表的任意一个结点 (4)在单链表中查找结点 (5)输出单链表 三、程序设计的基本思想,原理和算法描述: (包括程序的结构,数据结构,输入/输出设计,符号名说明等) 用一组地址任意的存储单元存放线性表中的数据元素。以元素(数据元素的映象) + 指针(指示后继元素存储位置) = 结点(表示数据元 素或数据元素的映象) 以“结点的序列”表示线性表称作线性链表(单链表) 单链表是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分: (1)、数据域:用来存储本身数据。 (2)、链域或称为指针域:用来存储下一个结点地址或者说指向其直接后继的指针。 1、单链表的查找 对单链表进行查找的思路为:对单链表的结点依次扫描,检测其数据域是否是我们所要查好的值,若是返回该结点的指针,否则返回NULL。

相关主题