北邮大学计算机基础实验报告2

合集下载

计算机基础实验报告实验一二参考模板

计算机基础实验报告实验一二参考模板

计算机基础实验报告实验一二参考模板一、实验目的计算机基础实验一的目的在于让学生熟悉计算机的基本操作和常用软件的使用,培养学生的动手能力和问题解决能力。

实验二则侧重于加深对计算机系统和网络知识的理解,提高学生的综合应用能力。

二、实验环境实验在学校的计算机实验室进行,每台计算机均安装了 Windows 操作系统,并配备了常用的办公软件、编程工具和网络浏览器等。

实验室还提供了稳定的网络环境,以便进行网络相关的实验操作。

三、实验内容与步骤(一)实验一1、计算机硬件的认识打开计算机主机箱,观察主板、CPU、内存、硬盘、显卡等硬件设备的外观和接口。

了解各硬件设备的主要功能和性能指标。

2、操作系统的安装与设置使用安装光盘或 U 盘启动盘,安装 Windows 操作系统。

进行系统初始化设置,如用户名、密码、日期时间等。

安装驱动程序,确保硬件设备正常工作。

3、常用办公软件的使用打开 Word 软件,进行文档的创建、编辑、排版和保存。

使用 Excel 软件进行表格的制作、数据计算和图表绘制。

利用 PowerPoint 软件创建演示文稿,添加文字、图片、动画等元素。

(二)实验二1、计算机网络基础了解计算机网络的组成、分类和拓扑结构。

学习 IP 地址、子网掩码、网关和 DNS 的概念和设置方法。

通过命令提示符(CMD)窗口,使用 Ping 命令检测网络连通性。

2、网络服务与应用配置 Web 服务器和 FTP 服务器,实现网页的发布和文件的上传下载。

学会使用浏览器访问网页、搜索信息和下载文件。

了解电子邮件的工作原理,注册邮箱并进行邮件的收发。

四、实验结果与分析(一)实验一1、硬件认识方面,学生能够准确识别计算机的主要硬件设备,并对其功能有了初步的了解。

但对于一些较新的硬件技术和性能参数的理解还不够深入。

2、操作系统的安装和设置过程较为顺利,大部分学生能够独立完成。

但在驱动程序的安装过程中,少数学生遇到了兼容性问题,需要通过更新驱动或寻求技术支持解决。

计算机基础实验报告2

计算机基础实验报告2

计算机基础实验报告2《计算机基础实验报告2》一、实验目的本次实验的主要目的在于熟悉C/C++编程语言,熟悉实验开发软件,从实践中加强对C/C++ 编程知识和技巧的掌握,进一步积累实验开发技能,以便以后解决新的更有趣的实验。

二、实验内容1.安装编程开发环境:本次实验以Visual Studio 2005编程开发环境为例,进行实验开发。

2.学习C/C++编程:使用C语言完成一切可能的实验,熟练掌握C/C++的编程技术。

3.编写程序:以完善的实验开发软件,使用C/C++语言设计实验程序,把实验内容和程序设计集成在一起。

4.测试实验程序:用实验开发软件编写实验程序,根据实验要求,编写出完整的程序,并测试运行程序,对程序的运行情况作出评估,反复修改,以使程序达到最佳的运行效果。

三、实验结果通过实验,我更好地了解了C/C++语言中常见的编程技术,如:函数调用、判断与循环结构、数组定义及操作、结构体定义与操作、指针及引用等技术,也掌握编写程序和使用实验开发软件、测试程序并记录结果的实验操作流程。

此外,还更加熟练地操作实验开发软件,如熟练操作应用程序框架、添加和删除文件的建立,以及综合编程和调试等技术。

本次实验初步体会到C/C++编程的乐趣,学会了编写程序、调试程序及把程序运行的方法,使我对计算机编程语言的把握更加细致,更加有安全感,可以更加熟练地使用实验开发软件,也可以在不同的实验开发环境下更加顺畅地完成编程任务。

四、实验总结本次实验,使我熟练掌握了C/C++编程语言的编程技巧及方法,从而更加深刻地理解了实验开发软件的使用,不但更为充分地理解了C/C++编程语言的特点,也增强了自己的实验开发能力,以便以后更好的解决新的实验。

因此,我将在日后的实验开发工作中继续努力,从而更好地提升自己的实验开发技能。

大学计算基础实验报告

大学计算基础实验报告

实验名称:大学计算机基础实验实验日期:2023年11月X日实验学时:2学时实验性质:基础性实验实验目的:1. 理解并掌握计算机基础知识,包括操作系统、计算机网络、信息安全等。

2. 熟练运用计算机基本操作,提高计算机应用能力。

3. 培养实验操作技能,提高团队协作能力。

实验内容:一、操作系统实验1. 实验目的:了解操作系统的基本功能,掌握文件操作、窗口操作等基本操作。

2. 实验步骤:(1)启动计算机,进入操作系统界面。

(2)熟悉桌面环境,包括任务栏、开始菜单等。

(3)创建文件夹,并练习文件操作(如复制、粘贴、删除等)。

(4)调整窗口大小、位置,切换窗口。

(5)使用搜索功能查找文件。

3. 实验结果:成功完成上述操作,熟悉操作系统基本功能。

二、计算机网络实验1. 实验目的:了解计算机网络的基本概念,掌握网络配置、网络连接等操作。

2. 实验步骤:(1)查看网络连接状态,包括有线和无线连接。

(2)配置网络参数,如IP地址、子网掩码、默认网关等。

(3)测试网络连通性,如ping命令测试。

(4)使用浏览器访问网络资源。

3. 实验结果:成功配置网络连接,实现网络通信。

三、信息安全实验1. 实验目的:了解信息安全的基本概念,掌握杀毒软件的使用、数据加密等操作。

2. 实验步骤:(1)安装杀毒软件,并进行病毒库更新。

(2)使用杀毒软件扫描系统,查杀病毒。

(3)设置防火墙,防止恶意软件入侵。

(4)使用加密软件对数据进行加密。

3. 实验结果:成功完成上述操作,提高计算机信息安全防护能力。

四、团队协作实验1. 实验目的:培养团队协作能力,提高实验操作效率。

2. 实验步骤:(1)分组,明确各成员职责。

(2)分工合作,共同完成实验任务。

(3)交流实验心得,分享经验。

3. 实验结果:成功完成实验任务,提高团队协作能力。

实验总结:本次大学计算机基础实验,使我更加深入地了解了计算机基础知识,掌握了计算机基本操作。

通过实验,我提高了计算机应用能力,培养了团队协作精神。

北邮计算机科学与技术操作系统第二次实验

北邮计算机科学与技术操作系统第二次实验

北京邮电大学操作系统第二次实验实验报告班级302班第一部分:内存管理的伙伴算法1.实验描述:实现一个内存管理的伙伴算法,实现内存块申请时的分配和释放后的回收。

用随机函数仿真进程进行内存申请,并且以较为随机的次序进行释放。

对其碎片进行统计,当申请分配内存失败时区分实际空间不足和由于碎片而不能满足。

2.实验原理解释:假设要求分配的块其大小为128个页面。

该算法先在块大小为128个页面的链表中查找,看是否有这样一个空闲块。

如果有,就直接分配;如果没有,该算法会查找下一个更大的块,具体地说,就是在块大小为256个页面的链表中查找一个空闲块。

如果存在这样的空闲块,内核就把这256个页面分为两等份,一份分配出去,另一份插入到块大小为128个页面的链表中。

如果在块大小为256个页面的链表中也没有找到空闲页块,就继续找更大的块,即512个页面的块。

如果存在这样的块,内核就从512个页面的块中分出128个页面满足请求,然后从384个页面中取出256个页面插入到块大小为256个页面的链表中。

然后把剩余的128个页面插入到块大小为128个页面的链表中。

如果512个页面的链表中还没有空闲块,该算法就放弃分配,并发出出错信号。

以上过程的逆过程就是块的释放过程,这也是该算法名字的来由。

满足以下条件的两个块称为伙伴:两个块的大小相同,两个块的物理地址连续。

伙伴算法把满足以上条件的两个块合并为一个块,该算法是迭代算法,如果合并后的块还可以跟相邻的块进行合并,那么该算法就继续合并。

3.试验运行截图:第一组数据测试截图:第二组数据测试截图:第三组数据测试截图:4.实验代码:#include<iostream>#include<stdio.h>#define GETMIN(a,b) ((a)<(b)?(a):(b)) #define GETMAX(a,b) ((a)>(b)?(a):(b)) using namespace std;struct Node{int size;int remain;int frag;int isSplit;Node *left;Node *right;Node *parent;};struct Process{int oriMem;int reqMem;Node *ptr;void init(int _oriMem){int i;if(_oriMem<=0){oriMem=0;reqMem=0;ptr=NULL;return;}oriMem=_oriMem;for(i=31;i>=0;i--){if(oriMem&(1<<i)){break;}}if(oriMem==1<<i){reqMem=oriMem;}else{reqMem=1<<(i+1);}ptr=NULL;}};class BuddyTree{private:Node *root;Node *newNode(Node *_parent,int _size,int _remain){Node *ptr=new(Node);ptr->size=_size;ptr->remain=_remain;ptr->frag=0;ptr->isSplit=0;ptr->left=NULL;ptr->right=NULL;ptr->parent=_parent;return ptr;}public:Node* getRoot(){return root;}void init(int MaxMem){root=newNode(NULL,MaxMem,MaxMem);}void requestMem(Node *ptr,Node *&res,int reqSize,int oriSize){ if(ptr->remain<reqSize){res=NULL;return;}if(ptr->size==reqSize){res=ptr;ptr->remain=0;ptr->frag+=reqSize-oriSize;return;}if(ptr->isSplit==0){int _size=ptr->size/2;ptr->isSplit=1;ptr->left=newNode(ptr,_size,_size);ptr->right=newNode(ptr,_size,_size);requestMem(ptr->left,res,reqSize,oriSize);}else{int minMem=GETMIN(ptr->left->remain,ptr->right->remain); if(minMem>=reqSize){if(ptr->left->remain<=ptr->right->remain){requestMem(ptr->left,res,reqSize,oriSize);}else{requestMem(ptr->right,res,reqSize,oriSize);}}else{if(ptr->left->remain>=reqSize){requestMem(ptr->left,res,reqSize,oriSize);}else{requestMem(ptr->right,res,reqSize,oriSize);}}}ptr->remain=GETMAX(ptr->left->remain,ptr->right->remain);ptr->frag=ptr->left->frag+ptr->right->frag;}void releaseMem(Node *ptr){int memsize=ptr->size;int frag=ptr->frag;ptr->frag=0;ptr->remain=memsize;ptr=ptr->parent;while(ptr){if(ptr->left->remain==ptr->left->size&&ptr->right->remain==ptr->right->size){ ptr->remain=ptr->size;}else{ptr->remain=GETMAX(ptr->left->remain,ptr->right->remain);}ptr->frag-=frag;ptr=ptr->parent;}}void printTree(Node *ptr){if(ptr==NULL)return;char tmp[100];sprintf(tmp,"[Node size %dB]",ptr->size);printf("%-26s",tmp);sprintf(tmp,"remaining : %dB",ptr->remain);printf("%-26s",tmp);sprintf(tmp,"fragment : %dB",ptr->frag);printf("%s\n",tmp);printTree(ptr->left);printTree(ptr->right);}};Process P[200];int test[3][20]={{24,80,4600,8,100,1,500},{70,480,3300,25,10600,8909,490,99,40},{1,20,300,4000,50000,600000,7000000,80000000,900000000}}; int n[3]={7,9,9};int memory[3]={1024,1024*1024,1024*1024*1024};int main(){BuddyTree BT;char tmp[100];for(int t=0;t<3;t++){printf("Test%d:\n",t+1);printf("Process status:\n");for(int j=0;j<n[t];j++){P[j].init(test[t][j]);sprintf(tmp,"Original request: %d",P[j].oriMem);printf("%-30s",tmp);sprintf(tmp,"Actual request: %d",P[j].reqMem);printf("%s\n",tmp);}printf("\nMemory amount : %dB\n",memory[t]);BT.init(memory[t]);printf("\n");printf("Constructing the tree:\n");for(int j=0;j<n[t];j++){sprintf(tmp,"The process needs %d bytes.",P[j].oriMem);printf("%-35s",tmp);BT.requestMem(BT.getRoot(),P[j].ptr,P[j].reqMem,P[j].oriMem);if(P[j].ptr){printf("Request success,obtain %d bytes.\n",P[j].reqMem);}else{printf("Request failed.\n");}}printf("\n");printf("After constructing,preorder the tree:\n");BT.printTree(BT.getRoot());printf("\n");printf("After constructing the tree,the sum of fragment is %d.\n",BT.getRoot()->frag);printf("\n");printf("After the release,the tree(preorder) is:\n");for(int j=0;j<n[t];j++){if(P[j].ptr){BT.releaseMem(P[j].ptr);}}BT.printTree(BT.getRoot());printf("\n");printf("\n");system("pause");printf("\n");}return 0;}第二部分:设计一个虚拟存储区和内存工作区,并使用下述算法计算访问命中率1.实验描述:设计一个虚拟存储区和内存工作区,并使用下述算法计算访问命中率。

计算机基础实验报告

计算机基础实验报告

实验名称:计算机基础操作与常用软件使用实验时间:2023年X月X日实验地点:计算机实验室实验目的:1. 熟悉计算机的基本操作,包括开机、关机、鼠标和键盘的使用。

2. 掌握常用软件的基本操作,如文字处理软件Word、表格处理软件Excel、演示文稿软件PowerPoint等。

3. 培养良好的计算机使用习惯,提高计算机应用能力。

实验内容及步骤:一、计算机基本操作1. 开机操作(1)将电源插头插入电源插座,确保电源开关处于关闭状态。

(2)按下电源按钮,等待计算机启动。

(3)进入操作系统界面。

2. 关机操作(1)关闭所有正在运行的程序。

(2)点击任务栏的“开始”按钮,选择“关机”选项。

(3)确认关机操作,等待计算机完全关闭。

3. 鼠标和键盘的使用(1)鼠标操作:移动鼠标,点击、双击、右键点击等。

(2)键盘操作:熟悉键盘布局,掌握字母、数字、符号的输入,以及快捷键的使用。

二、常用软件操作1. 文字处理软件Word(1)新建文档:点击“开始”按钮,选择“新建”→“Word文档”。

(2)输入文字:使用键盘输入文字,可以使用格式工具栏调整文字格式。

(3)保存文档:点击“文件”菜单,选择“保存”或“另存为”,选择保存路径和文件名。

2. 表格处理软件Excel(1)新建工作簿:点击“开始”按钮,选择“新建”→“Excel工作簿”。

(2)输入数据:在单元格中输入数据,可以使用公式进行计算。

(3)保存工作簿:点击“文件”菜单,选择“保存”或“另存为”,选择保存路径和文件名。

3. 演示文稿软件PowerPoint(1)新建演示文稿:点击“开始”按钮,选择“新建”→“PowerPoint演示文稿”。

(2)创建幻灯片:使用“新建幻灯片”功能创建新幻灯片,添加文本、图片、图表等元素。

(3)保存演示文稿:点击“文件”菜单,选择“保存”或“另存为”,选择保存路径和文件名。

实验结果与分析:1. 通过本次实验,掌握了计算机的基本操作,包括开机、关机、鼠标和键盘的使用。

大学计算机实验报告二

大学计算机实验报告二

大学计算机实验报告二大学计算机实验报告二导言计算机实验作为大学计算机专业的重要组成部分,对于学生来说是一次重要的实践机会。

通过实验,学生可以巩固理论知识,提高实践能力,并且更好地理解计算机科学的基本原理和技术。

本文将介绍大学计算机实验报告二的内容和实验结果。

实验目的本次实验的目的是通过编写程序,实现一个简单的计算器。

通过这个实验,我们可以进一步熟悉C语言的基本语法和编程思想,并且加深对函数的理解和应用。

实验过程1. 程序设计首先,我们需要设计一个简单的用户界面,让用户能够输入两个数字和一个操作符。

然后,根据用户输入的操作符,我们需要执行相应的计算操作,并将结果输出给用户。

在设计用户界面时,我们可以使用C语言提供的标准输入输出函数,例如scanf 和printf。

通过这些函数,我们可以方便地获取用户的输入和输出结果。

2. 程序实现在程序实现的过程中,我们需要使用C语言的基本语法和编程思想。

首先,我们需要定义变量来存储用户输入的数字和操作符。

然后,我们需要使用条件语句来判断用户输入的操作符,并执行相应的计算操作。

最后,我们需要使用printf函数将计算结果输出给用户。

在实现过程中,我们还需要考虑一些异常情况的处理,例如用户输入的操作符不合法或者除数为零等。

通过合理的异常处理,我们可以提高程序的健壮性和用户体验。

实验结果经过程序的编写和实现,我们成功地实现了一个简单的计算器。

用户可以输入两个数字和一个操作符,程序会根据操作符执行相应的计算操作,并将结果输出给用户。

通过实验结果的观察和分析,我们可以发现,通过编写程序来实现一个计算器,不仅可以提高我们的编程能力,还可以加深对计算机科学的理解。

同时,这个实验还为我们今后学习更复杂的计算机科学问题奠定了基础。

实验总结通过本次实验,我们深入学习了C语言的基本语法和编程思想,并且通过实践加深了对函数的理解和应用。

通过编写一个简单的计算器,我们不仅提高了自己的编程能力,还加深了对计算机科学的理解。

北京邮电大学-计算机实习-实验报告

北京邮电大学-计算机实习-实验报告

高校知识高校知识一.人民币金额大写转换器1.1功能说明1.1.1总体功能说明从键盘输入一个十亿以内的正整数,把它转换为人民币金额大写(不考虑用户输入错误的情况)。

1.1.2用户界面1)正常输入高校知识学院:电子工程学院2017年4月2)错误提示1.1.3使用说明在金额数值文本框中输入数值(不超过9位),点击开始转换按钮,金额大写文本框即可显示大写金额。

1.2程序设计说明1.2.1使用工具开发工具:VS2017语言:c#应用类型:windows窗体应用1.2.2程序流程输入金额数值(int)输出大写金额(string)调用转换方法进行转换点击按钮动作触发1.2.3关键算法说明转换方法:以每个数位为一个单位,逐个处理。

基本转换方法是直接将数字(整型)转化为大写数字和单位(字符串),位数-大写对应关系为:1-元,2-十,3-百,4-千,5-万,6-十,7-百,8-千,9-亿。

每一位的处理方式是转换或不转换。

遇到数字零需要特殊处理,最后需要检查万位并且特殊处理。

1)对数字零的处理。

防止出现多个连续的零,整十整百等不出现零。

即:第一类:以一个或多个零结尾,不转换。

第二类:连续多个零合并为一个零。

解决方法:检查前一位,如果是零,则当前位的零不转换,否则转换。

人为设定第一位的前一位数值是零。

2)万位处理。

当前算法存在缺陷,采用以下方法修正。

如果5-8位均为零,则“万”字省略,不需要修正。

否则,“万”字需要有,当万位为零时需要增加输出“万”。

1.2.4数据结构说明所有常量,变量和方法存在于Form1 类中。

1.2.5关键算法描述1.private void button1_Click(object sender, EventArgs e)2.{3.int number = 0;4.int[] num = new int[9] { 0, 0, 0, 0, 0, 0, 0, 0, 0 };5.int len = 0;6.int i;7.int j = 0;8.int temp;9.textBox2.Text = ""; //清空金额大写文本10.try11. {12. number = Convert.ToInt32(textBox1.Text); //金额数值文本框获得的数据为字符型,转换为整型13. }14. catch //异常处理,如果输入错误,则出现提示15. {16.textBox1.Text = "";17. textBox2.Text = "输入错误,请输入9位以内的正整数";18. }19.while(number != 0) //字符型转换为字符数组20.{21.num[len] = number % 10;22.number /= 10;23.len++;24.}25.26.for(i = 0; i < len; i++) //非零位直接转换27.{28.temp = num[i];29.if(num[i] != 0)30.{31.ans[j++] = unit[i];32.ans[j++] = cap[temp];33.}34.else if(num[i] == 0 && i == 0) //个位为零,只转换单位35.{36.ans[j++] = unit[0];37.}38.else if(num[i] == 0 && i == 4) //万为为零39.{40.if(len == 9 && num[5] == 0 && num[6] == 0 && num[7] == 0) { }//整个万级为零则省略“万”字41.else ans[j++] = unit[4]; //万为为零但需要显示“万”字42.}43.else if(num[i] == 0 && i != 0 && i != 4) //其他位为零的情况44.{45.if(num[i - 1] != 0) //如果前一位(低位)不为零,则转换“零”,否则不转换(无操作)46.{47.ans[j++] = cap[0];48.}49.}50.}51.for(i = j - 1; i >= 0; i--) //显示转换结果52.{53.textBox2.Text += ans[i];54.}55.}1.3设计总结1.3.1性能评价优点:界面简洁,操作简单。

北邮计算机组成实验报告

北邮计算机组成实验报告

一、实验目的1. 了解计算机组成原理的基本概念和组成结构。

2. 掌握计算机各部件的功能和相互关系。

3. 通过实验,加深对计算机组成原理的理解和认识。

4. 培养动手能力和实际操作技能。

二、实验内容本次实验主要分为以下几个部分:1. 计算机组成原理实验台介绍2. 数据通路和控制器实验3. 存储器实验4. 输入/输出实验5. 系统总线实验三、实验步骤1. 计算机组成原理实验台介绍实验开始前,先对实验台进行简要介绍,包括实验台的功能、操作方法、注意事项等。

2. 数据通路和控制器实验(1)观察数据通路和控制器结构,了解其组成和功能。

(2)通过实验,验证数据通路和控制器的基本工作原理。

(3)掌握数据通路和控制器的设计方法。

3. 存储器实验(1)观察存储器结构,了解其组成和功能。

(2)通过实验,验证存储器的基本工作原理。

(3)掌握存储器的设计方法。

4. 输入/输出实验(1)观察输入/输出设备,了解其组成和功能。

(2)通过实验,验证输入/输出设备的基本工作原理。

(3)掌握输入/输出设备的设计方法。

5. 系统总线实验(1)观察系统总线结构,了解其组成和功能。

(2)通过实验,验证系统总线的基本工作原理。

(3)掌握系统总线的设计方法。

四、实验结果与分析1. 数据通路和控制器实验通过实验,我们成功验证了数据通路和控制器的基本工作原理。

在实验过程中,我们了解到数据通路由数据总线、控制总线、地址总线等组成,控制器负责协调各部件的工作。

2. 存储器实验通过实验,我们成功验证了存储器的基本工作原理。

在实验过程中,我们了解到存储器由存储单元、地址译码器、读写控制电路等组成,存储单元负责存储数据。

3. 输入/输出实验通过实验,我们成功验证了输入/输出设备的基本工作原理。

在实验过程中,我们了解到输入/输出设备通过接口电路与主机相连,实现数据的输入和输出。

4. 系统总线实验通过实验,我们成功验证了系统总线的基本工作原理。

在实验过程中,我们了解到系统总线由数据总线、地址总线、控制总线等组成,负责传输数据和控制信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机基础上机实验(三)-B
姓名:武俍俍学号:2013210847 班级:2013211202日期:2013/11/19
上机须知:
a)必须带《实验教程》上机时间:2小时
b)提交内容:提交4张截图
c)作业提交格式:提交多个文件时打包为rar压缩包,压缩包按班级-学号-姓名-实验号(阿
拉伯数字)-B.rar命名,截图按1.jpg、2.jpg…依次命名
1.使用基本网络命令
说明:
a)使用ipconfig/all命令查看主机的网络参数,查询本机的IPv4地址、子网掩码和默认网
关。

b)Ping (新浪),查看本机与新浪网的链接状态。

c)根据ping指令返回的新浪网IP,使用tracert查看详细的连接信息。

2.Wireshark工具的使用
说明:
a)安装wireshark。

b)打开wireshark,选择接口选项列表。

或单击Capture,配置option选项,设置捕捉过滤器
只显示ip协议包。

在显示结果中设置过滤器,只显示Source为本机ip的包。

,。

相关文档
最新文档