文档库 最新最全的文档下载
当前位置:文档库 › 完整word版,内存管理实验报告

完整word版,内存管理实验报告

完整word版,内存管理实验报告
完整word版,内存管理实验报告

操作系统课程设计报告

题目:动态分区内存管理

班级:计算机1303班

学号: 2120131138

姓名:徐叶

指导教师:代仕芳

日期: 2015.11.5

一、实验目的及要求

本实验要求用高级语言编写模拟内存的动态分区分配和回收算法(不考虑紧凑),以便加深理解并实现首次适应算法(FF)、循环首次适应算法(NF)、最佳适应算法(BF),最坏适应算法(WF)的具体实现。

二、实验内容

本实验主要针对操作系统中内存管理相关理论进行实验,要求实验者编写一个程序,该程序管理一块虚拟内存,实现内存分配和回收功能。

1)设计内存分配的数据结构(空闲分区表/空闲分区链),模拟管理64M 的内存块;

2)设计内存分配函数;

3)设计内存回收函数;

4)实现动态分配和回收操作;

5)可动态显示每个内存块信息

动态分区分配是要根据进程的实际需求,动态地分配内存空间,涉及到分区分配所用的数据结构、分区分配算法和分区的分配回收。

程序主要分为四个模块:

(1)首次适应算法(FF)

在首次适应算法中,是从已建立好的数组中顺序查找,直至找到第一个大小能满足要求的空闲分区为止,然后再按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空间令开辟一块新的地址,大小为原来的大小减去作业大小,若查找结束都不能找到一个满足要求的分区,则此次内存分配失败。

(2)循环首次适应算法(NF)

该算法是由首次适应算法演变而成,在为进程分配内存空间时,不再是每次都从第一个空间开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直至找到第一个能满足要求的空闲分区,从中划出一块与请求大小相等的内存空间分配给作业,为实现本算法,设置一个全局变量f,来控制循环查找,当f%N==0时,f=0;若查找结束都不能找到一个满足要求的分区,则此次内存分配失败。

(3)最佳适应算法(BF)

最坏适应分配算法是每次为作业分配内存时,扫描整个数组,总是把能满足条件的,又是最小的空闲分区分配给作业。

(4)最坏适应算法(WF)

最坏适应分配算法是每次为作业分配内存时,扫描整个数组,总是把能满足条件的,又是最大的空闲分区分配给作业。

系统从空闲分区链表中找到所需大小的分区,如果空闲分区大小大于分区大小,则从分区中根据请求的大小划分出一块内存分配出去,余下的部分则留在空闲链表中。然后,将分配区的首址返回给调用者。

当进程运行完回收内存时,系统根据回收区的首址,从空闲区中找到相应的插入点,此时可能出现四种情况:

1、当空闲区的上下两相邻分区都是空闲区:将三个空闲区合并为一个空闲区。新空闲区的起始地址为上空闲区的始址,大小为三个空闲区之和。空闲区合并后,取消可用表中下空闲区的表目项,修改上空闲区的对应项。

2、当空闲区的上相邻区是空闲区:将释放区与上空闲区合并为一个空闲区,其起始地址为上空闲区的起始地址,大小为上空闲区与释放区之和。合并后修改上空闲区对应的可用表的表目项。

3、当空闲区的下相邻区是空闲区:将释放区与下空闲区合并,并将释放区的始址作为合并区的始址。合并区的长度为释放区与下空闲区之和。合并后修改可用表中相应的表目项。

4、两相邻区都不是空闲区:释放区作为一个新空闲可用区插入可用表。

三、调试及运行

测试案例:

假定主存中按地址顺序依次有五个空闲区。始址地址分别为:3K, 40K, 60K, 100K, 500K,空闲区大小依次为:32k,10k,15k,228k,100k。现有五个作业J1,J2,J3,J4,J5。他们各需要主存1k,10k,128k,28k,25k。作业的完成顺序为:J5, J1,J3,J2,J4,每完成一个作业系统回收为其分配的内存空间,使用回收算法,回收内存。

初始界面(输入)

主存分配情况

(1)首次适应算法

(2)循环首次适应算法

(3)最佳适应算法

(4)最坏适应算法

(首次适应算法下)分配内存

(首次适应算法下)回收内存

四、总结

老师布置这次的实验题目的一开始,自己根本不知道要干什么,因为在上课时对动态分区分配这节内容学得没有很深刻,对许多东西一知半解,所以在上机时根本不知道如何下手,后来,将本章内容反复的看了几遍之后,终于有了自己的思路。

通过此次的学习,理解了内存管理的相关理论,掌握了连续动态分区管理的理论,通过对实际问题的编程实现,获得实际应用和编程能力;充分了解了内存管理的机制实现,从而对计算机的内部有了更深的认识,对于以后对操作系统的深入有很大的作用。

在做课程设计的过程中我遇到了不少问题,比如链表指针部分就很容易搞混,而且很多地方不容易考虑全面,比如内存回收时空闲区的合并部分,要考虑释放的内存空间前后是否为空闲区,若是,如何来合并,另外若用的是最佳适应算法,进行内存回收时还有考虑前后空闲块地址是否相接,因为它是按照块的大小排序的,若不相接,即使两个块在链表中的位置相邻,也不能合并,而且要注意每次分配或释放空间后都要对链表进行排序,这是由算法思想决定的,这些条件都是在做的过程中逐步完善的,所遇到的这些问题通过询问同学和查阅资料得以解决。

整个实验做完后,我对内存动态分区内存管理有了更加深刻的理解,我个人的编程能力也得到了一定程度的提高。

附录(附录源代码)

#include

#include

using namespace std;

#define Free 0 //空闲状态

#define Busy 1 //已用状态

#define Notfree 2

#define OK 1 //完成

#define ERROR 0 //出错

#define MAX_length 65536 //最大内存空间为64M typedef int Status;

int flag;

typedef struct freearea//定义一个空闲区说明表结构{

long size; //分区大小

long address; //分区地址

int state; //状态

}ElemType;

// 线性表的双向链表存储结构

typedef struct DuLNode

{

ElemType data;

struct DuLNode *prior; //前趋指针

struct DuLNode *next; //后继指针

}

DuLNode,*DuLinkList;

DuLinkList block_first; //头结点

DuLinkList block_last; //尾结点

Status alloc(int);//内存分配

Status free(int); //内存回收

Status FF(int);//首次适应算法

Status NF(int);//循环首次适应算法

Status BF(int); //最佳适应算法

Status WF(int); //最差适应算法

void show();//查看分配

Status Initblock();//开创空间表

Status Initblock()//开创带头结点的内存空间链表

{

block_first=(DuLinkList)malloc(sizeof(DuLNode));

block_last=(DuLinkList)malloc(sizeof(DuLNode));

block_first->prior=NULL;

block_first->next=block_last;

block_last->prior=block_first;

block_last->next=NULL;

block_last->data.address=0;

block_last->data.size=MAX_length;

block_last->data.state=Notfree;

return OK;

}

Status NotFree(int i,int j){

DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode));

static DuLNode *p=block_first->next;

temp->data.size=i;

temp->data.state=Free;

temp->prior=p->prior;

temp->next=p;

temp->data.address=j;

p->prior->next=temp;

p->prior=temp;

p->data.address=temp->data.address+temp->data.size;

p->data.size-=i;

temp->next=block_last;

block_last->prior=temp;

return OK;

}

//分配主存

Status alloc(int ch)

{

int request = 0;

cout<<"请输入需要分配的主存大小(单位:KB):";

cin>>request;

if(request<0 ||request==0)

{

cout<<"分配大小不合适,请重试!"<

return ERROR;

}

if(ch==2) //选择首次循环适应算法

{

if(NF(request)==OK) cout<<"分配成功!"<

else cout<<"内存不足,分配失败!"<

return OK;

}

if(ch==3) //选择最佳适应算法

{

if(BF(request)==OK) cout<<"分配成功!"<

else cout<<"内存不足,分配失败!"<

return OK;

}

if(ch==4) //选择最差适应算法

{

if(WF(request)==OK) cout<<"分配成功!"<

else cout<<"内存不足,分配失败!"<

return OK;

}

else //默认首次适应算法

{

if(FF(request)==OK) cout<<"分配成功!"<

else cout<<"内存不足,分配失败!"<

return OK;

}

}

//首次适应算法

Status FF(int request)

{

//为申请作业开辟新空间且初始化

DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode));

temp->data.size=request;

temp->data.state=Busy;

DuLNode *p=block_first->next;

while(p)

{

if(p->data.state==Free && p->data.size==request)

{//有大小恰好合适的空闲块

p->data.state=Busy;

return OK;

break;

}

if(p->data.state==Free && p->data.size>request)

{//有空闲块能满足需求且有剩余

temp->prior=p->prior;

temp->next=p;

temp->data.address=p->data.address;

p->prior->next=temp;

p->prior=temp;

p->data.address=temp->data.address+temp->data.size;

p->data.size-=request;

return OK;

break;

}

p=p->next;

}

return ERROR;

}

//循环首次适应算法

Status NF(int request)

{

//为申请作业开辟新空间且初始化

DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode));

temp->data.size=request;

temp->data.state=Busy;

static DuLNode *p=block_first->next;//static 其值在下次调用时仍维持上次的值if(p->data.size

p=block_first->next;

while(p)

{

if(p->data.state==Free&&p->data.size==request)

{

//有大小恰好合适的空闲块

p->data.state=Busy;

return OK;

break;

}

if(p->data.state==Free&&p->data.size>request)

{//有空闲块能满足需求且有剩余

temp->prior=p->prior;

temp->next=p;

temp->data.address=p->data.address;

p->prior->next=temp;

p->prior=temp;

p->data.address=temp->data.address+temp->data.size;

p->data.size-=request;

return OK;

break;

}

p=p->next;

}

return ERROR;

}

//最佳适应算法

Status BF(int request)

{

int ch; //记录最小剩余空间

DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode));

temp->data.size=request;

temp->data.state=Busy;

DuLNode *p=block_first->next;

DuLNode *q=NULL; //记录最佳插入位置

while(p) //初始化最小空间和最佳位置

{

if(p->data.state==Free && (p->data.size>=request) )

{

if(q==NULL)

{

q=p;

ch=p->data.size-request;

}

else if(q->data.size > p->data.size)

{

q=p;

ch=p->data.size-request;

}

}

p=p->next;

}

if(q==NULL) return ERROR;//没有找到空闲块

else if(q->data.size==request)

{

q->data.state=Busy;

return OK;

}

else

{

temp->prior=q->prior;

temp->next=q;

temp->data.address=q->data.address;

q->prior->next=temp;

q->prior=temp;

q->data.address+=request;

q->data.size=ch;

return OK;

}

return OK;

}

//最坏适应算法

Status WF(int request)

{

int ch; //记录最大剩余空间

DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode));

temp->data.size=request;

temp->data.state=Busy;

DuLNode *p=block_first->next;

DuLNode *q=NULL; //记录最佳插入位置

while(p) //初始化最大空间和最佳位置

{

if(p->data.state==Free && (p->data.size>=request) )

{

if(q==NULL)

{

q=p;

ch=p->data.size-request;

}

else if(q->data.size < p->data.size)

{

q=p;

ch=p->data.size-request;

}

}

p=p->next;

}

if(q==NULL) return ERROR;//没有找到空闲块

else if(q->data.size==request)

{

q->data.state=Busy;

return OK;

}

else

{

temp->prior=q->prior;

temp->next=q;

temp->data.address=q->data.address;

q->prior->next=temp;

q->prior=temp;

q->data.address+=request;

q->data.size=ch;

return OK;

}

return OK;

}

//主存回收

Status free(int flag)

{

DuLNode *p=block_first;

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

if(p!=NULL)

p=p->next;

else

return ERROR;

p->data.state=Free;

if(p->prior!=block_first && p->prior->data.state==Free&&p->data.address==p->prior->data.address+p->prior->data.size)//与前面的空闲块相连

{

p->prior->data.size+=p->data.size;

p->prior->next=p->next;

p->next->prior=p->prior;

p=p->prior;

}

if(p->next!=block_last && p->next->data.state==Free&&p->next->data.address==p->data.address+p->data.size)//与后面的空闲块相连

{

p->data.size+=p->next->data.size;

p->next->next->prior=p;

p->next=p->next->next;

}

if(p->next==block_last && p->next->data.state==Free)//与最后的空闲块相连

{

p->data.size+=p->next->data.size;

p->next=NULL;

}

return OK;

}

//显示主存分配情况

void show()

{

int flag = 0;

cout<<"\n主存分配情况:\n";

cout<<"**********************************************\n\n";

DuLNode *p=block_first->next;

cout<<"分区号\t起始地址\t分区大小\t状态\n\n";

while(p)

{

if(p->data.state==Notfree) p=p->next;

else{

if(p->data.state==Busy) cout<<" "<

else

{

cout<<"\t";

flag++;

}

cout<<" "<data.address<<"\t\t";

cout<<" "<data.size<<"KB\t\t";

if(p->data.state==Free) cout<<"空闲\n\n";

else cout<<"已分配\n\n";

p=p->next;

}

}

cout<<"*********************************************\n\n";

}

//主函数

void main()

{

int ch;//算法选择标记

int i,j,n;

Initblock(); //开创空间表

cout<<"请输入空闲区的个数:" <

cin >> n;

cout<<"请依次输入空闲区大小和始址(空格键分开):" <

for (int k=0;k

{

cin >> i >> j; // 键盘输入i,j 值

NotFree(i,j);

}

cout<<"请选择内存分配算法:(选择1~4输入)\n";

cout<<"1.首次适应算法\n2.循环首次适应算法\n3.最佳适应算法\n4.最坏适应算法\n";

cin>>ch;

while(ch<1||ch>4)

{

cout<<"输入错误,请重新选择内存分配算法:\n";

cin>>ch;

}

int choice; //操作选择标记

while(1)

{

show();

cout<<"请输入要进行的操作:(选择0~2输入)";

cout<<"\n1: 分配内存\n2: 回收内存\n0: 退出\n";

cin>>choice;

if(choice==1)

{

cout<<"请输入要分配的内存个数:" <

cin >> n;

cout<<"请依次输入其大小," <

for (int k=0;k

{

alloc(ch); // 分配内存

}

}

else if(choice==2) // 内存回收

{

int flag;

cout<<"请输入要回收的分区号:";

cin>>flag;

free(flag);

}

else if(choice==0) break; //退出

else //输入操作有误

{

cout<<"输入有误,请重试!"<

continue;

}

}

}

WORD实验报告

word基本操作实验报告 一、实验目的与要求 1.掌握word的基本操作; 2.掌握字符格式、段落格式和页面格式等排版技术; 3.掌握图文混排、表格处理和邮件合并技术; 4.熟悉个人名片或毕业论文的设计与制作; 5.学会自己提出问题,并得出解决问题的方法。 二、实验内容与方法 1.word的基本操作,通过上机摸索,并查阅书籍网络了解。 2.word的字符格式,段落格式和页面格式等排版技术,通过上机摸索,并查阅书籍网络了解。 3.word的图文混排、表格处理和邮件合并技术,通过上机摸索,并查阅书籍网络了解。 4. 通过word进行个人名片或毕业论文的设计与制作,通过上机摸索,并查阅书籍网络了解。 三、实验步骤与过程 1.word的基本操作:①启动word软件 (1) 启动“开始”菜单中的microsoft word程序 (2) 双击资源管理器或“我的电脑”中的c:\program files\microsoft office\office11\winword.exe程序 (3) 双击word 文档文件(*.doc) (4) 双击桌面上的word图标 (5)开始-运行-输入“winword”②认识word2003窗口(1)标题栏位于屏幕最顶端的是标题栏,由控制菜单图标、文件名、最小化按钮、最大化(还原)按钮、关闭按钮组成。(2)菜单栏 菜单栏位于标题栏下面。使用菜单栏可以执行word的许多命令。菜单栏共有九个菜单:文件、编辑、视图、插入、格式、工具、表格、窗口、帮助。当鼠标指针移到菜单标题上时,菜单标题就会凸起,单击后弹出下拉菜单。在下拉菜单中移动鼠标指针时,被选中的菜单项就会高亮显示,再单击,就会执行该菜单所代表的命令。如“文件”—“打开”,就会弹出“打开”文件对话框。(3)工具栏 标题栏下面的是工具栏,使用它们可以很方便地进行工作。通常情况下,word会显示【常用】和【格式】两个工具栏。 “常用”工具栏:新建、打开、复制、粘贴、打印、撤消、恢复等“格式”工具栏:字体、字号、下划线、边框、对齐方式等 如果想了解工具栏上按钮的简单功能,只需将鼠标指针移到该按钮上,过一会儿旁边会出现一个小框,显示出按钮的名称或功能。 word窗口中可以有许多工具栏,可以根据需要在“视图”—“工具栏”中增加或减少工具栏。每一个工 具栏都可以用鼠标拖动到屏幕的任意位置,所以又称为浮动工具栏。工具栏内图标按钮体现了“菜单栏”中的一些主要功能。我们可以利用这些按钮进行相应操作。如我要打开一个文件,除了可以使用菜单栏外,还可以使用工具栏上的按钮。 (4)编辑窗口 再往下的空白区域就是word的编辑窗口,输入的文字就显示在这里。文档中闪烁的竖线称为光标,代表文字的当前输入位置。(5)标尺 在编辑窗口的上面和左面有一个标尺,分别为水平标尺和垂直标尺,用来查看正文的高度和宽度,以及图片、文本框、表格的宽度,还可以用来排版正文。( 6)滚动条在编辑窗口的右面和下面有滚动条,分别为垂直滚动条和水平滚动条,用来滚动文档,显示在屏幕中看不到的内容。可以单击滚动条中的按钮或者拖动滚动框来浏览文档。(7)显示方式按钮

存储管理实验报告

实验三、存储管理 一、实验目的: ? 一个好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能合理地分配和使用这些存储空间。当用户提出申请存储器空间时,存储管理必须根据申请者的要求,按一定的策略分析主存空间的使用情况,找出足够的空闲区域分配给申请者。当作业撤离或主动归还主存资源时,则存储管理要收回作业占用的主存空间或归还部分主存空间。主存的分配和回收的实现虽与主存储器的管理方式有关的,通过本实验理解在不同的存储管理方式下应怎样实现主存空间的分配和回收。 在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。用这种办法扩充的主存储器称为虚拟存储器。通过本实验理解在分页式存储管理中怎样实现虚拟存储器。 在本实验中,通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。熟悉虚存管理的各种页面淘汰算法通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。 二、实验题目: 设计一个可变式分区分配的存储管理方案。并模拟实现分区的分配和回收过程。 对分区的管理法可以是下面三种算法之一:(任选一种算法实现) 首次适应算法 循环首次适应算法 最佳适应算法 三.实验源程序文件名:cunchuguanli.c

执行文件名:cunchuguanli.exe 四、实验分析: 1)本实验采用可变分区管理,使用首次适应算法实现主存的分配和回收 1、可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并 且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。 为了说明那些分区是空闲的,可以用来装入新作业,必须有一张空闲说明表 ? 空闲区说明表格式如下:? 第一栏 第二栏 其中,起址——指出一个空闲区的主存起始地址,长度指出空闲区的大小。 长度——指出从起始地址开始的一个连续空闲的长度。 状态——有两种状态,一种是“未分配”状态,指出对应的由起址指出的某个长度的区域是空闲区;另一种是“空表目”状态,表示表中对应的登记项目是空白(无效),可用来登记新的空闲区(例如,作业完成后,它所占的区域就成了空闲区,应找一个“空表目”栏登记归还区的起址和长度且修改状态)。由于分区的个数不定,所以空闲区说明表中应有适量的状态为“空表目”的登记栏目,否则造成表格“溢出”无法登记。 2、当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的空闲区。 有时找到的空闲区可能大于作业需要量,这时应把原来的空闲区变成两部分:一部分分

完整word版标准实验报告模板.docx

实验报告 实验名称 课程名称 ___电子技术基础实验 院系部:专业班级:学生姓名:学号 :同组人:实验台号 :指导教师:成绩:实验日期 : 华北电力大学

实验报告要求: 一、实验目的及要求 二、仪器用具 仪器名称规格/型号数量备注 实验箱1 示波器1 数字万用表1 交流毫伏表1 信号放生器1 三、实验原理 四、实验步骤(包括原理图、实验结果与数据处理) 五、讨论与结论(对实验现象、实验故障及处理方法、实验中 存在的问题等进行分析和讨论,对实验的进一步想法或改进意见。) 六、实验原始数据

一、实验目的及要求: 1.学会放大器静态工作点的调试方法,分析静态工作点对放大器性能的影响。 2.掌握放大器电压放大倍数和最大不失真输出电压的测试方法。 3.悉常用电子仪器及模拟电路实验设备的使用。 二、仪器用具:略 三、实验原理 图 1.2.1为电阻分压式工作点稳定单管放大器实验电路图。 图 1.2.1共射极单管放大器实验电路 在图 1.2.1电路中,当流过偏置电阻R B1和 R B2的电流远大于晶体管VT 的基极电流I B时(一般 5~ 10 倍),则它的静态工作点可用下式估算: R B1U CC I E U U I C CE=U CC-I C(R C+R F1+ R E) U B R B2B U BE R B1R E R F1 电压放大倍数: A Vβ R C //R L 其中 r be= 200+26 (1+β)/I E r be(1)R F 1 输入电阻: R i= R B1 // R B2 // [r be+(1+β)R F1 ] 输出电阻: R O≈ R C 四、实验方法与步骤: 1.调试静态工作点 接通+ 12V 电源、调节R W,使 U E= 2.0V ,测量 U B、 U E、U C、 R B2值。记入表 1.2.1 。 表 1.2.1U= 2.0V E 测量值计算值U B( V)U E( V)U C( V)R B2(KΩ) U BE( V) U CE( V) I C( mA) 2.665 2.07.8530.865 5.2 2.0 根据表格测量数据,计算得到: U=U -U E =0.665V,U = U - U E =5.8V,I ≈ I = U /R =2/(1.1)=1.82mA BE B CE C CE EE 实验数据显示,Q点的值满足放大电路的静态工作点要求,BJT 处于放大区。 2.测量不同负载下的电压放大倍数

word实验报告

word实验报告 课程实验报告 计算机应用基课程名称班级日期 2011.6.2 础教程 姓名学号实验成绩 计算机Word文档的创建与排版实验名称 实验目的:掌握创建文档的方法,全面认识排版的功能,熟练掌握修饰文字和实验的段落的基本方法和技巧。掌握插入剪切画和外部图片的方法并在文档中实现图 文混排的效果,掌握页面设置与设置页眉页脚的方法,学会使用打印预览来调目的和整文档。 要求 中文版Windows XP 实中文版Word 验 环 境 任务一:创建 Word新文档及常规任务二:插入外部编辑对象 任务三:修饰文字实 验 内 容 步骤1:操规

算法作新建Word文档的方法:?双击桌面;?通过开始菜单程序启动Office中的Word;?点击鼠标右键也可以新建Word文档。描述步骤2:文本输入练习:?在输入文本时,字符总是位于光标所在的位置,随着字符的输入光标不断右移。?Enter 键可以开始一个新的段落。?及实 Backspace键删除插入前面的字符;Delete删除后面的一个字符。?可以用“替换与查找”调整已经输入过的文本。验步步骤3:学会用快捷键或工具栏进行“复制”“剪切”与“粘贴” 步骤4:文档保存:执行“文件|保存”命令,打开“另存为”对话框,设置骤 文件保存信息,再单击“保存”完成新文档的保存操作。 任务二:插入外部编辑对象 步骤1:插入外部文档:?将光标定位在文档起始处。?执行“插入|文件”的命令,打开插入文件的对话框。?再“查找范围”中选定素材存放的位置,然后单击“插入”按钮。 步骤2:插入剪切画:?将光标停放在合适位置。?执行“插入|图片|剪切画”命令,打开“剪切画”任务窗格找到所需的剪切画?单击图片右侧的小三角按钮,打开一个快捷菜单,单击“插入”,然后再关闭即完成剪切画的插入。 步骤3:插入外部图片:?光标停在要插入图片的位置。?选择“插入|图片|来自文件”命令,打开“插入图片”对话框,插入自己所要的图片。 步骤4:保存文件:输入文件名和选择正确的文件类型,保存到合适的位置 任务三:修饰文字 步骤1字符格式化:可以通过工具栏或文字设置选项设置文字的字体、字号、大小写、粗体、斜体、上标、下标、字体颜色等。 步骤2:字符位置与间距调整:?利用“字体”对话框中的“字符间距”选项来调整字符间的间距和字符的垂直位置。?使用“字体”对话框中的“文字效果”选项

WORD实验报告模板

广东商学院华商学院 实验报告 课程名称计算机应用基础 实验项目名称Word综合练习 班级 实验室名称(或课室) 专业 任课教师黄晓兰 学号: 姓名: 实验日期:年月日

姓名实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验报告 一、实验目的 运用Word 2003的整个章节中各知识,综合对文档进行编辑排版。 二、实验原理 (实验教程P41,使用那些功能) 三、实验设备和软件 (1)硬件要求: P4微型计算机,内部组成局域网。 (2)软件要求: 操作系统:中文Windows XP、中文Office Word2003。 四、实验步骤 (自己根据你的完成过程,列出步骤,参照实验教程P42四) 五、实验结果 (另附一页) 六、实验总结 (通过这次实验你学到什么)

实验报告要求: ●实验报告可参照如下内容格式写作:实验目的、实验原理、实验设备、 实验步骤、实验结果。 ●题材自定,但要求内容健康向上。要求内容要有一定主题,体现一定 风格。可参考实验结果内容。

专访:访美国华人金融协会理事、芝加哥机构资本副高海 华网芝加哥3月29日电 (记者 朱诸 张保平) 国华人金融协会理事、芝加哥机构资本副总裁高海29日在接受新华社记者专访时表示,这次日本大地震对日本经济更多的是一种短期的干扰,不会对日本经济的长期走势产生重大影响;同时,由于日本对目前世界经济增量的贡献有限,因此也不会对全球经济的发展产生太大影响。 高海说,由于地震会造成当地厂房的破坏,因此可能会使得日本某些制造行业——如汽车和汽车零配件、半 导体及芯片等——短期压力加剧。 但历史经验表明,这些行业通常会在地震发生之后的两至三个季度内出现下滑,之后又会迎来一轮强劲反弹,因为日本制造业的需求主体主要分布在世界其他国家,这些需求并没有太大变化,因此在厂房检修或者重建之后,那些被滞后的需求还会回来,所以短期之内会呈现明显的“V”型反弹。 高海说,具体来看,在这些受到影响的行业中,日本核电行业受到的冲击最大,因为这次核危机给日本以及 全球发展核电的国家敲响了警钟。目前日本电力供应有约30%依赖于核电,此外,作为一个以出口为主的经济,日本的制造业对电能的依赖也比较大,如果三分之一的供电受到影响,那么短期内对这些制造业的冲击也是很严重的。 另外,对于一些替换性较高的行业,如重型机械制造业,如果调整的周期过长,导致客户需求转移,也会对这些行业造成冲击。“比如日立和小松,如果耽误的时间太长,而国外的客户又急需使用,因此只能转向其他国家的生产商购买,而且这些产品均伴随相关配套产品和服务,如维修保养,一旦转移,就很难改变,”高海说。 “长远来看,”长期投资亚洲金融市场的高海说,“对日本经济影响最大的两个因素,一个是人口增长,一个是生产力,而这两方面现在都在朝着不利于经济的方向发展。首先是日本的人口数量一直在下降,同时日本的生产力也在上世纪80年代达到顶峰之后开始走下坡路,而且正在被其他国家赶超。”高海说,改变不了的,因此,日本经济长期来看还会维持向下走的趋势。 另外,这次地震也对世界其他国家的一些行业造成了一定影响。据报道,美国通用汽车公司已经关闭了路易斯安那的一家卡车制造工厂,者削减产量。 对此,高海说方面出现问题,可能会影响到美国今年的汽车生产和销售。” “但是这种供应方面的短缺都不会是大问题,只要需求方面保持稳定,高海说。 全球GDP 增量里,日本占的比重并不是很高,也不会产生太大影响。 同时,高海还说,由于日本外债比例不高,大部分债券被本国企业和居民持有,所以即使地震重建需要从国外借债,也不会对日本的主权信用产生实质性的影响,所以不会引发类似欧洲的债务危机。 美

操作系统实验之内存管理实验报告

学生学号 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称 计算机操作系统 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 2016 — 2017 学年第一学期

实验三 内存管理 一、设计目的、功能与要求 1、实验目的 掌握内存管理的相关内容,对内存的分配和回收有深入的理解。 2、实现功能 模拟实现内存管理机制 3、具体要求 任选一种计算机高级语言编程实现 选择一种内存管理方案:动态分区式、请求页式、段式、段页式等 能够输入给定的内存大小,进程的个数,每个进程所需内存空间的大小等 能够选择分配、回收操作 内购显示进程在内存的储存地址、大小等 显示每次完成内存分配或回收后内存空间的使用情况 二、问题描述 所谓分区,是把内存分为一些大小相等或不等的分区,除操作系统占用一个分区外,其余分区用来存放进程的程序和数据。本次实验中才用动态分区法,也就是在作业的处理过程中划分内存的区域,根据需要确定大小。 动态分区的分配算法:首先从可用表/自由链中找到一个足以容纳该作业的可用空白区,如果这个空白区比需求大,则将它分为两个部分,一部分成为已分配区,剩下部分仍为空白区。最后修改可用表或自由链,并回送一个所分配区的序号或该分区的起始地址。 最先适应法:按分区的起始地址的递增次序,从头查找,找到符合要求的第一个分区。

最佳适应法:按照分区大小的递增次序,查找,找到符合要求的第一个分区。 最坏适应法:按分区大小的递减次序,从头查找,找到符合要求的第一个分区。 三、数据结构及功能设计 1、数据结构 定义空闲分区结构体,用来保存内存中空闲分区的情况。其中size属性表示空闲分区的大小,start_addr表示空闲分区首地址,next指针指向下一个空闲分区。 //空闲分区 typedef struct Free_Block { int size; int start_addr; struct Free_Block *next; } Free_Block; Free_Block *free_block; 定义已分配的内存空间的结构体,用来保存已经被进程占用了内存空间的情况。其中pid作为该被分配分区的编号,用于在释放该内存空间时便于查找。size表示分区的大小,start_addr表示分区的起始地址,process_name存放进程名称,next指针指向下一个分区。 //已分配分区的结构体 typedef struct Allocate_Block { int pid; int size; int start_addr; char process_name[PROCESS_NAME_LEN]; struct Allocate_Block *next; } Allocate_Block; 2、模块说明 2.1 初始化模块 对内存空间进行初始化,初始情况内存空间为空,但是要设置内存的最大容量,该内存空间的首地址,以便之后新建进程的过程中使用。当空闲分区初始化

计算机操作系统内存分配实验报告记录

计算机操作系统内存分配实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

一、实验目的 熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。 二、实验内容和要求 主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还给系统。 可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。 实验要求使用可变分区存储管理方式,分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行,分区分配中所用的算法采用首次适应算法、最佳适应算法、最差适应算法三种算法来实现主存的分配与回收。同时,要求设计一个实用友好的用户界面,并显示分配与回收的过程。同时要求设计一个实用友好的用户界面,并显示分配与回收的过程。 三、实验主要仪器设备和材料 实验环境 硬件环境:PC或兼容机 软件环境:VC++ 6.0 四、实验原理及设计分析 某系统采用可变分区存储管理,在系统运行当然开始,假设初始状态下,可用的内存空间为640KB,存储器区被分为操作系统分区(40KB)和可给用户的空间区(600KB)。 (作业1 申请130KB、作业2 申请60KB、作业3 申请100KB 、作业2 释放 60KB 、作业4 申请 200KB、作业3释放100KB、作业1 释放130KB 、作业5申请140KB 、作业6申请60KB 、作业7申请50KB) 当作业1进入内存后,分给作业1(130KB),随着作业1、2、3的进入,分别分配60KB、100KB,经过一段时间的运行后,作业2运行完毕,释放所占内存。此时,作业4进入系统,要求分配200KB内存。作业3、1运行完毕,释放所占内存。此时又有作业5申请140KB,作业6申请60KB,作业7申请50KB。为它们进行主存分配和回收。 1、采用可变分区存储管理,使用空闲分区链实现主存分配和回收。 空闲分区链:使用链指针把所有的空闲分区链成一条链,为了实现对空闲分区的分配和链接,在每个分区的起始部分设置状态位、分区的大小和链接各个分区的前向指针,由状态位指示该分区是否分配出去了;同时,在分区尾部还设置有一后向指针,用来链接后面的分区;分区中间部分是用来存放作业的空闲内存空间,当该分区分配出去后,状态位就由“0”置为“1”。 设置一个内存空闲分区链,内存空间分区通过空闲分区链来管理,在进行内存分配时,系统优先使用空闲低端的空间。 设计一个空闲分区说明链,设计一个某时刻主存空间占用情况表,作为主存当前使用基础。初始化空间区和已分配区说明链的值,设计作业申请队列以及作业完成后释放顺序,实现主存的分配和回收。要求每次分配和回收后显示出空闲内存分区链的情况。把空闲区说明

word应用实验报告

XX 实验报告 课程名称 项目名称文字信息处理 学院 专业无 指导教师王志强 报告人学号 实验时间 提交时间

一、实验目的与要求 1.掌握Word的基本操作; 2.掌握字符格式、段落格式和页面格式等排版技术; 3.掌握图文混排、表格处理和邮件合并技术; 4.熟悉个人名片或毕业论文的设计与制作; 5.学会自己提出问题,并得出解决问题的方法。 二、实验内容与方法 1.Word的基本操作,通过上机摸索,并查阅书籍网络了解。 2.Word的字符格式,段落格式和页面格式等排版技术,通过上机摸索,并查阅书籍网络了解。 3.Word的图文混排、表格处理和邮件合并技术,通过上机摸索,并查阅书籍网络了解。 4. 通过Word进行个人名片或毕业论文的设计与制作,通过上机摸索,并查阅书籍网络了解。 三、实验步骤与过程 1.word的基本操作: ①启动word软件 (1) 启动“开始”菜单中的Microsoft Word程序 (2) 双击资源管理器或“我的电脑”中的C:\Program Files\Microsoft Office\Office11\winword.exe程序 (3) 双击Word 文档文件(*.doc) (4) 双击桌面上的Word图标 (5)开始-运行-输入“winword” ②认识Word2003窗口 (1)标题栏 位于屏幕最顶端的是标题栏,由控制菜单图标、文件名、最小化按钮、最大化(还原)按钮、关闭按钮组成。 (2)菜单栏 菜单栏位于标题栏下面。使用菜单栏可以执行Word的许多命令。菜单栏共有九个菜单:文件、编辑、视图、插入、格式、工具、表格、窗口、帮助。 当鼠标指针移到菜单标题上时,菜单标题就会凸起,单击后弹出下拉菜单。在下拉菜单中移动鼠标指针时,被选中的菜单项就会高亮显示,再单击,就会执行该菜单所代表的命令。如“文件”—“打开”,就会弹出“打开”文件对话框。 (3)工具栏 标题栏下面的是工具栏,使用它们可以很方便地进行工作。通常情况下,Word会显示【常用】和【格式】两个工具栏。 “常用”工具栏:新建、打开、复制、粘贴、打印、撤消、恢复等 “格式”工具栏:字体、字号、下划线、边框、对齐方式等

word20XX的实验报告

竭诚为您提供优质文档/双击可除word20XX的实验报告 篇一:word实验报告 实验报告 课程名称计算机应用基础实验项目名称word综合练习班级与班级代码12级新闻1班实验室名称(或课室)ss1-201专业新闻学任课教师刘松学号:12251204102姓名:蔡晓童实验日期:20XX-04-11 广东商学院教务处制 姓名实验报告成绩 评语: 指导教师(签名)年月日 说明:指导教师评分后,实验报告交院(系)办公室保存。 一、实验目的 1、2、 掌握常用的word编辑方法 综合运用word桌面排版功能(字符排版、段落排版、

页面排版、图文混排、艺术字等)进行实际文档的处理。 二、实验设备 1、2、 计算机word20XX软件 三、实验步骤 1、新建一个word文档,输入文章。 2、选择“插入”→“图片”→“艺术字”,选择艺术字样式→在对话框中设置字体、字号。 3、选择“插入”→“图片”→“来自文件”,选择所要插入的图片,在合适的位置插入相应的图片,并对图片的格式进行定义。 4、选中要分栏的段落,选择“格式”→“分栏”命令,显示“分栏”对话框,在预设类型中选择一种类型,单击“确定”按钮。 5、将第一段的“潮”字首字下沉,点击【格式】→【首字下沉】→【下沉】,单击“确定”。 6、选择“编辑”→“查找”,输入要查找的内容,然后选择“你”,再进行字体变换。 7、进行字符格式设置,如改变字型,大小,颜色等。8、进行页眉(学号和姓名)和页脚(页码)格式设置。 四、实验结果 如下页所示

五、实验分析与体会 通过本次实验,我了解了word字符格式、段落格式和 页面格式等排版技术和图文混排等技术的使用,今后可以更好的运用word在生活中工作中制作文档。而且通过这次试验,我觉得自己动手排版非常有趣。因为我对word文档的 操作的不熟悉,所以,我的速度一直很慢,而且,还不可以更具自己想要的效果自由的进行操作,但是在经过一边查书,一边操作的过程中,经过自己的努力,终于完成了我的文档。我越来越熟悉它的操作,并且能够运用其中大部分的工具,来完善自己的文档。而且我也明白了,word文档的操作是很基础的计算机运用,也是使用范围非常广泛的程序。因此,学习这一门课程是非常重要和必要的。 广□播站潮州市高级中学云里之音○ 作为校园文化的传媒机构,以丰富学生的校园生活,传播校园资讯为目的,以"努只为把声音传得更远"为口号,力,陪伴高级 走过了许多风风雨雨。在高级中学团中学 学生会的管理下,委会、广播站一如既往地坚持发扬广播不怕苦,不怕累的精神,努力唱响青春,唱响热情。 mondaysunshineAfternoon:品味生活点滴享受午后阳光;为你带来新鲜的生活资讯,介绍生活小常识。Tuesdaywindow:ListeningListeningwindow,

可变分区存储管理方式的内存分配和回收实验报告(最优算法)

一.实验目的 通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解,熟悉可变分区存储管理的内存分配和回收。 二.实验内容 1.确定内存空间分配表; 2.采用最优适应算法完成内存空间的分配和回收; 3.编写主函数对所做工作进行测试。 三.实验背景材料 由于可变分区的大小是由作业需求量决定的,故分区的长度是预先不固定的,且分区的个数也随内存分配和回收变动。总之,所有分区情况随时可能发生变化,数据表格的设计必须和这个特点相适应。由于分区长度不同,因此设计的表格应该包括分区在内存中的起始地址和长度。由于分配时空闲区有时会变成两个分区:空闲区和已分分区,回收内存分区时,可能会合并空闲分区,这样如果整个内存采用一张表格记录己分分区和空闲区,就会使表格操作繁琐。分配内存时查找空闲区进行分配,然后填写己分配区表,主要操作在空闲区;某个作业执行完后,将该分区变成空闲区,并将其与相邻的空闲区合并,主要操作也在空闲区。由此可见,内存的分配和回收主要是对空闲区的操作。这样为了便于对内存空间的分配和回收,就建立两张分区表记录内存使用情况,一张表格记录作业占用分区的“己分分区表”;一张是记录空闲区的“空闲区表”。这两张表的实现方法一般有两种:一种是链表形式,一种是顺序表形式。在实验中,采用顺序表形式,用数组模拟。由于顺序表的长度必须提前固定,所以无论是“已分分区表”还是“空闲区表”都必须事先确定长度。它们的长度必须是系统可能的最大项数。 “已分分区表”的结构定义 #define n 10 //假定系统允许的最大作业数量为n struct { float address; //已分分区起始地址 float length; //已分分区长度、单位为字节 int flag; //已分分区表登记栏标志,“0”表示空栏目,实验中只支持一个字符的作业名 }used_table[n]; //已分分区表 “空闲区表”的结构定义 #define m 10 //假定系统允许的空闲区最大为m struct { float address; //空闲区起始地址 float length; //空闲区长度、单位为字节 int flag; //空闲区表登记栏标志,“0”表示空栏目,“1”表示未分配 }used_table[n]; //空闲区表 第二,在设计的数据表格基础上设计内存分配。 装入一个作业时,从空闲区表中查找满足作业长度的未分配区,如大于作业,空闲区划分成两个分区,一个给作业,一个成为小空闲分区。 实验中内存分配的算法采用“最优适应”算法,即选择一个能满足要求的最小空闲分区。 第三,在设计的数据表格基础上设计内存回收问题。内存回收时若相邻有空闲分区则合并空闲区,修改空闲区表。 四、参考程序 #define n 10 //假定系统允许的最大作业数量为n

计算机操作系统内存分配实验报告

一、实验目的 熟悉主存的分配与回收。理解在不同的存储管理方式下.如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。 二、实验内容和要求 主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配.就是解决多道作业或多进程如何共享主存空间的问题。所谓回收.就是当作业运行完成时将作业或进程所占的主存空间归还给系统。 可变分区管理是指在处理作业过程中建立分区.使分区大小正好适合作业的需求.并且分区个数是可以调整的。当要装入一个作业时.根据作业需要的主存量查看是否有足够的空闲空间.若有.则按需要量分割一个分区分配给该作业;若无.则作业不能装入.作业等待。随着作业的装入、完成.主存空间被分成许多大大小小的分区.有的分区被作业占用.而有的分区是空闲的。 实验要求使用可变分区存储管理方式.分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行.分区分配中所用的算法采用首次适应算法、最佳适应算法、最差适应算法三种算法来实现主存的分配与回收。同时.要求设计一个实用友好的用户界面.并显示分配与回收的过程。同时要求设计一个实用友好的用户界面,并显示分配与回收的过程。 三、实验主要仪器设备和材料 实验环境 硬件环境:PC或兼容机 软件环境:VC++ 6.0 四、实验原理及设计分析 某系统采用可变分区存储管理.在系统运行当然开始.假设初始状态下.可用的内存空间为640KB.存储器区被分为操作系统分区(40KB)和可给用户的空间区(600KB)。 (作业1 申请130KB、作业2 申请60KB、作业3 申请100KB 、作业2 释放 60KB 、作业4 申请 200KB、作业3释放100KB、作业1 释放130KB 、作业5申请140KB 、作业6申请60KB 、作业7申请50KB) 当作业1进入内存后.分给作业1(130KB).随着作业1、2、3的进入.分别分配60KB、100KB.经过一段时间的运行后.作业2运行完毕.释放所占内存。此时.作业4进入系统.要求分配200KB内存。作业3、1运行完毕.释放所占内存。此时又有作业5申请140KB.作业6申请60KB.作业7申请50KB。为它们进行主存分配和回收。 1、采用可变分区存储管理.使用空闲分区链实现主存分配和回收。 空闲分区链:使用链指针把所有的空闲分区链成一条链.为了实现对空闲分区的分配和链接.在每个分区的起始部分设置状态位、分区的大小和链接各个分区的前向指针.由状态位指示该分区是否分配出去了;同时.在分区尾部还设置有一后向指针.用来链接后面的分区;分区中间部分是用来存放作业的空闲内存空间.当该分区分配出去后.状态位就由“0”置为“1”。 设置一个内存空闲分区链.内存空间分区通过空闲分区链来管理.在进行内存分配时.系统优先使用空闲低端的空间。 设计一个空闲分区说明链.设计一个某时刻主存空间占用情况表.作为主存当前使用基础。初始化空间区和已分配区说明链的值.设计作业申请队列以及作业完成后释放顺序.实现主存的分配和回收。要求每次分配和回收后显示出空闲内存分区链的情况。把空闲区说明链的变化情况以及各作业的申请、释放情况显示打印出来。

(完整word版)计算机图形学实验报告

一、实验目的 1、掌握中点Bresenham直线扫描转换算法的思想。 2掌握边标志算法或有效边表算法进行多边形填充的基本设计思想。 3掌握透视投影变换的数学原理和三维坐标系中几何图形到二维图形的观察流程。 4掌握三维形体在计算机中的构造及表示方法 二、实验环境 Windows系统, VC6.0。 三、实验步骤 1、给定两个点的坐标P0(x0,y0),P1(x1,y1),使用中点Bresenham直线扫描转换算法画出连接两点的直线。 实验基本步骤 首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架。 其次、使用中点Bresenham直线扫描转换算法实现自己的画线函数,函数原型可表示如下: void DrawLine(CDC *pDC, int p0x, int p0y, int p1x, int p1y); 在函数中,可通过调用CDC成员函数SetPixel来画出扫描转换过程中的每个点。 COLORREF SetPixel(int x, int y, COLORREF crColor ); 再次、找到文档视图程序框架视图类的OnDraw成员函数,调用DrawLine 函数画出不同斜率情况的直线,如下图:

最后、调试程序直至正确画出直线。 2、给定多边形的顶点的坐标P0(x0,y0),P1(x1,y1),P2(x2,y2),P3(x3,y3),P4(x4,y4)…使用边标志算法或有效边表算法进行多边形填充。 实验基本步骤 首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架。 其次、实现边标志算法或有效边表算法函数,如下: void FillPolygon(CDC *pDC, int px[], int py[], int ptnumb); px:该数组用来表示每个顶点的x坐标 py :该数组用来表示每个顶点的y坐标 ptnumb:表示顶点个数 注意实现函数FillPolygon可以直接通过窗口的DC(设备描述符)来进行多边形填充,不需要使用帧缓冲存储。(边标志算法)首先用画线函数勾画出多边形,再针对每条扫描线,从左至右依次判断当前像素的颜色是否勾画的边界色,是就开始填充后面的像素直至再碰到边界像素。注意对顶点要做特殊处理。 通过调用GDI画点函数SetPixel来画出填充过程中的每个点。需要画线可以使用CDC的画线函数MoveTo和LineTo进行绘制,也可以使用实验一实现的画直线函数。 CPoint MoveTo(int x, int y ); BOOL LineTo(int x, int y ); 实现边标志算法算法需要获取某个点的当前颜色值,可以使用CDC的成员函数 COLORREF GetPixel(int x, int y ); 再次、找到文档视图程序框架视图类的OnDraw成员函数,调用FillPolygon 函数画出填充的多边形,如下: void CTestView::OnDraw(CDC* pDC) { CTestcoodtransDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);

word文字处理实验报告

实验三Word文字处理实验报告 姓名(学号):______________________ 年级(专业):_____ ________成绩:________ 实验时间:_______________________ _实验地点:__________________________ _ 实验3-1: 一、实验目的: 掌握中文输入法及使用Word进行文字处理的基本操作。 二、实验内容: 1.在本地硬盘最后一个分区上新建文件夹“自己的学号\实验3”。 2.显示仅显示“常用”、“格式”、“绘图”工具栏。 3.分两排显示“常用”和“格式”工具栏。 4.在“常用”工具栏上添加命令“另存为”,为其选择一个按钮图像,将其与命令“保存”按钮放置在同一个组中。 5.在“绘图”工具栏上添加命令“公式编辑器”,将其与命令“文本框”按钮放置在同一个组中。 6.设置自动保存时间间隔为5分钟。 7.新建文件“第1章绪论.doc”,输入教材第1章的各节内容(包括、、、、、、、、及小结,每一节只需输入第一段)。 8.将文件“第1章绪论.doc”中的文字“计算机”全部替换为“Computer”,将文件保存在文件夹“自己的学号\实验3”中。 实验3-2: 一、实验目的: 使用Word进行字体、段落、边框和底纹的设置。 二、实验内容: 1.打开文件“第1章绪论.doc”,设置其中文本效果:中文字体为“楷体”,西文字体为“Times New Roman”,字号为“四号”,特殊格式为“首行缩进2字符”,行距 为“多倍行距倍”; 2.修改样式“标题1”:中文字体为“黑体”,西文字体为“Arial”,字形为“加粗”,字号为“一号”,对齐方式为“居中”,段前为“行”,段后为“行”,行距为“倍 行距”; 3.修改样式“标题2”:中文字体为“黑体”,西文字体为“Arial”,字形为“加粗”,字号为“二号”,段前为“行”,段后为“行”,行距为“倍行距”; 4.修改样式“标题3”:中文字体为“黑体”,西文字体为“Arial”,字形为“加粗”,字号为“三号”,段前为“行”,段后为“行”,行距为“倍行距”; 5.设置文件“第1章绪论.doc”中的标题:一级标题(第1章)为“标题1” 样式,二级标题(、、、)为“标题2”样式,三级标题(、、、、、)为“标题3”样式; 6.为文字“小结”加上“灰-15%”的底纹。

内存管理实验报告

内存管理实验报告

信息科学与技术学院实验报告 课程名称: 实验项目: 实验地点:指导教师: 日期: 实验类型:(验证性实验综合性实验设计性实验) 专业: 计算机外包班级: 14外三姓名: 周鹏飞学号: 1414104033 一、实验目的及要求 通过此次实验,加深对内存管理的认识,进一步掌握内存的分配,回收算法的思想。 二、实验仪器、设备或软件 Windows操作系统PC一台;VC++6.0 三、实验内容及原理 原理:设计程序模拟内存的动态分区内存管理方法。内存空闲区使用空闲分区表进行管理,采用最先适应算法从空闲分区表中寻找空闲区进行分配,内存回收时不考虑与相邻空闲分区的合并。 假定系统的内存共640k,初始状态为操作系统本身占用40k.t1时刻,为作业A,B,C分配80k,60k,100k的内存空间;t2时刻作业B完成;t3时刻为作业D分配50k的内存空间;t4时刻作业C,A完成;t5时刻作业D完成。要求编程序分别输出t1,t2,t3,t4,t5时刻内存的空闲区的状态。 实验内容: #include #include #define maxPCB 6 //最大进程数 #define maxPart 6 //最大空闲分区数

#define size 10 //不再切割剩余分区的大小 typedef struct PCB_type { char name;//进程名 int address;//进程所占分区首地址 int len;//进程所占分区的长度 int valid;//PCB标识符(有效,无效) }PCB; Typedef struct seqlist //进程信息队列 { PCB PCBelem[maxPCB];// maxPCB为为系统中允许的最多进程数 int total; //系统中实际的进程数 }PCBseql;//分区类型的描述 typedef struct Partition { int address;//分区起址 int len;//分区的长度 int valid;//有标识符(有效,无效) }Part;//内存空闲分区表(顺序表)描述 typedef struct Partlist //空白分区链 { Part Partelem[maxPart];//maxPart为系统中可能的最多空闲分区数 int sum;//系统中世纪的分区数 }Partseql;//全局变量 PCBseql *pcbl;//进程队列指针 Partseql *part1;//空闲队列指针 #intclude “MainManager.h” void initpcb() //初始化进程表vpcb1 { int i; pcb1->PCBelem[0].address=0; pcb1->PCBelem[0].len=0; pcb1->PCBelem[0].name=’s’; pcb1->PCBelem[0].valid=1; pcb1->total=0; for(i=1;i

(完整word版)实验报告内容与格式

把实验的目的、方法、过程、结果等记录下来,经过整理,写成的书面汇报,就叫实验报告。 实验报告的种类因科学实验的对象而异。如化学实验的报告叫化学实验报告,物理实验的报告就叫物理实验报告。随着科学事业的日益发展,实验的种类、项目等日见繁多,但其格式大同小异,比较固定。实验报告必须在科学实验的基础上进行。它主要的用途在于帮助实验者不断地积累研究资料,总结研究成果。 实验报告的书写是一项重要的基本技能训练。它不仅是对每次实验的总结,更重要的是它可以初步地培养和训练学生的逻辑归纳能力、综合分析能力和文字表达能力,是科学论文写作的基础。因此,参加实验的每位学生,均应及时认真地书写实验报告。要求内容实事求是,分析全面具体,文字简练通顺,誊写清楚整洁。 实验报告内容与格式 (一) 实验名称 要用最简练的语言反映实验的内容。如验证某程序、定律、算法,可写成“验证×××”;分析×××。 (二) 所属课程名称 (三) 学生姓名、学号、及合作者 (四) 实验日期和地点(年、月、日) (五) 实验目的 目的要明确,在理论上验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序的调试方法。一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。 (六) 实验内容 这是实验报告极其重要的内容。要抓住重点,可以从理论和实践两个方面考虑。这部分要写明依据何种原理、定律算法、或操作方法进行实验。详细理论计算过程。 (七) 实验环境和器材 实验用的软硬件环境(配置和器材)。 (八) 实验步骤 只写主要操作步骤,不要照抄实习指导,要简明扼要。还应该画出实验流程图(实验装置的结构示意图),再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。 (九) 实验结果 实验现象的描述,实验数据的处理等。原始资料应附在本次实验主要操作者的实验报告上,同组的合作者要复制原始资料。 对于实验结果的表述,一般有三种方法: 1。文字叙述: 根据实验目的将原始资料系统化、条理化,用准确的专业术语客观地描述实验现象和结果,要有时间顺序以及各项指标在时间上的关系。 2。图表: 用表格或坐标图的方式使实验结果突出、清晰,便于相互比较,尤其适合于分组较多,且各组观察指标一致的实验,使组间异同一目了然。每一图表应有表目和计量单位,应说明一定的中心问题。 3。曲线图应用记录仪器描记出的曲线图,这些指标的变化趋势形象生动、直观明了。 在实验报告中,可任选其中一种或几种方法并用,以获得最佳效果。

相关文档