实验一实验报告

实验一实验报告
实验一实验报告

网络程序设计

实验报告

实验名称:_ Winsock编程接口实验_

实验类型:_______ 验证型实验________

指导教师:_________XXX老师_____________

专业班级:_________XXXXXXXXX__________

姓名:________ XXXXXXXXX_____ ________

学号:_________XXXXXXXXX____________

电子邮件:_______XXXXXXXXXXXX________

实验地点:_______XXXXXXXXX______________

实验日期: XXXXXXXXX

实验成绩:__________________________

一、实验目的

1.掌握Winsock的启动和初始化;

2.掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。

二、实验设计

实验流程图

三、实验过程

1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,但在加了头文件iphlpapi.h后,依然出现如下错误:fatal error C1083: Cannot open include file: 'iphlpapi.h': No such file or directory

Error executing cl.exe.

查阅资料得知,该错误的出现是因为没有安装SDK,将SDK安装并添加到VC中后,程序错误得到解决。

2.实验结果

1.程序主界面

2.选择解析指定域名

3.选择查看本机信息

四、讨论与分析

1)Winsock初始化的作用是什么?

答:使用winsock初始化可加载winsock编程的动态链接库。

2)给出GetAdaptersInfo()函数的正确使用方法。

GetAdaptersInfo 函数使用方法:

1.包含头文件IpHlpApi.h,其库文件为IpHlpApi.lib(已将安装SDK,并将其连接至VC)

2.声明一个IP_ADAPTER_INFO 结构指针变量pAdapterInfo,一个ULONG变量ulOutBufLen。这些变量作为参数传递给GetAdaptersInfo 函数;

3. 为结构分配内存;

4. 第一次调用GetAdaptersInfo 获取适当的ulOutBufLen 变量大小;

5. 第二次调用传递pAdapterInfo,ulOutBufLen 作为参数, 调用成功时返回网卡信息,失败时返回错误信息。

3)域名解析时出现域名对应多个IP,请解释原因。

大型网站具有多个IP,这是因为其访问量大,使用多个IP保持负载均衡。

五、实验者自评

通过本次实验,我对Winsock编程中的几个基本接口有了更加深刻的认识和理解,对其调用方法、参数意义、返回值信息等的认识都更加了解了,通过自己亲自编写代码,调用在课堂上学到的函数,对课堂知识也是一次巩固。

在本次实验过程中也遇到一些困难和问题,但这些问题都通过自己查阅资料,请教同学得到了较好的解决,在发现和解决问题的过程中,我的程序编写技能、解决问题的能力都得到了锻炼和提高。

虽然本次实验的难度不是很大,但我们的能力就是在这种由浅入深的过程中得到提升的,在这次实验中,我认真对待,将其视为我学习网络编程的基础能力的锻炼。并且,只有打好了基本功,才能更好地应对之后的更高难度的挑战。

六、附录:关键代码

//通过域名解析地址函数

void GetIpByDomain()

{

char szHost[256], cmd[256], tmpStr[256];

char* p; hostent *pHost; int i, j;

getchar(); gets(cmd);

//将输入指令的前5个字符取出

strncpy(tmpStr, cmd, (0, 5));

tmpStr[5] = '\0';

//判断指令的前五个字符是否等于"getip",若不是,则表示输入指令错误

if ( strcmp(tmpStr, "getip") ){

printf("wrong command\n");

return; }

//获取需要解析地址的开始位置

p = strstr(cmd, "www");

if (p){

j = 0;

//从用户输入的字符串中依次提取域名并分别解析其地址

for (i = 0; p[i-1] != '\0'; i++){

//以空格为多个域名地址的分隔符

if ( p[i] == ' '){

//将多个空格视为一个空格

if ( p[i-1] == ' ')

continue;

szHost[j] = '\0';

pHost = ::gethostbyname(szHost);

printAddr(szHost, pHost);

j = 0;

}

else{

szHost[j++] = p[i];

if ( p[i] == '\0' ){

hostent *pHost = ::gethostbyname(szHost);

printAddr(szHost,pHost);

j = 0;

}

}

}

}

}

//获取本机信息函数

void GetHostInfo()

{

DWORD dwRetVal = 0;

ULONG ulOutBufLen;

PIP_ADAPTER_INFO pAdapterInfo;

PIP_ADAPTER_INFO pAdapter = NULL;

hostent *pHost;

char szHost[256];

// 取得本地主机名称

::gethostname(szHost, 256);

// 通过主机名得到地址信息

pHost = ::gethostbyname(szHost);

// 打印出所有IP地址

printAddr("本机",pHost);

pAdapterInfo=(PIP_ADAPTER_INFO)malloc(sizeof(IP_ADAPTER_INFO));

// 第一次调用GetAdapterInfo获取ulOutBufLen大小

ulOutBufLen = sizeof(IP_ADAPTER_INFO);

if (GetAdaptersInfo( pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW){ free(pAdapterInfo);

pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen);

}

//获取适配器信息

if ((dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen)) == NO_ERROR){ pAdapter = pAdapterInfo;

//打印适配器相关信息

while (pAdapter){

printf("Adapter Name: \t%s\n", pAdapter->AdapterName);

printf("Adapter Desc: \t%s\n", pAdapter->Description);

printf("MAC Addr: \t%02x-%02x-%02x-%02x-%02x-%02x\n",pAdapter->Address[0],pAdapter->Address[1],pAdapt er->Address[2],

pAdapter->Address[3],pAdapter->Address[4],pAdapter->Address[5]);

printf("IP Address: \t%s\n", pAdapter->IpAddressList.IpAddress.String);

printf("IP Mask: \t%s\n", pAdapter->IpAddressList.IpMask.String);

printf("Gateway: \t%s\n", pAdapter->GatewayList.IpAddress.String);

pAdapter = pAdapter->Next;

}// end while

}

//如果获取出错,则给出提示信息

else{

printf("Call to GetAdaptersInfo failed.\n");

}

}

统计学实验报告汇总

本科生实验报告 实验课程统计学 学院名称商学院 专业名称会计学 学生姓名苑蕊 学生学号0113 指导教师刘后平 实验地点成都理工大学南校区 实验成绩 二〇一五年十月二〇一五年十月

依据上述资料编制组距变量数列,并用次数分布表列出各组的频数和频率,以及向上、向下累计的频数和频率, 并绘制直方图、折线图。 学生 实验 心得

2.已知2001-2012年我国的国内生产总值数据如表2-16所示。 学生 实验 心得 要求:(1)依据2001-2012年的国内生产总值数据,利用Excel软件绘制线图和条形图。

(2)依据2012年的国内生产总值及其构成数据,绘制环形图和圆形图。 学生 实验 心得 3.计算以下数据的指标数据 1100 1200 1200 1400 1500 1500 1700 1700 1700 1800 1800 1900 1900 2100 2100 2200 2200 2200 2300 2300 2300 2300 2400 2400 2500 2500 2500 2500 2600 2600 2600 2700 2700 2800 2800 2800 2900 2900 2900 3100 3100 3100 3100 3200 3200 3300 3300 3400 3400 3400 3500 3500 3500 3600 3600 3600 3800 3800 3800 4200

4.一家食品公司,每天大约生产袋装食品若干,按规定每袋的重量应为100g。为对产品质量进行检测,该企业质检部门采用抽样技术,每天抽取一定数量的食品,以分析每袋重量是否符合质量要求。现从某一天生产的一批食品8000袋中随机抽取了25袋(不重复抽样),测得它们的重量分别为: 学生实验心得 101 103 102 95 100 102 105 已知产品重量服从正态分布,且总体方差为100g。试估计该批产品平均重量的置信区间,置信水平为95%.

教育实验报告范例

教育实验报告例 1、菊珍、华山:《改善大学生人际交往不良现状的团体辅导实验研究》,载《教育研究与实 验》,2005年第2期。 改善大学生人际交往不良现状的团体辅导实验研究 菊珍、华山 容摘要:本研究通过前测,选取存在人际交往困扰的大学生40人,随机分成实验组和对照组,对实验组按照自行制定的辅导方案,进行14次人际交往团体辅导,用青年性格问卷和大学生人际关系综合诊断量表,结合他评和自评,对辅导效果进行评估。结果表明,人际交往团体辅导对减轻大学生人际交往困扰,增强大学生人际适应能力具有良好的效果。 关键词:大学生人际交往团体辅导 一、研究过程 (一)测试工具 本研究以“青年性格问卷”和“大学生人际关系综合诊断量表”为主要测量工具。“青年性格问卷”是前人根据“加里弗尼业心理测验表”修订而成的,“大学生人际关系综合诊断量表”是由师大学日昌等编制的。 (二)被试选定与分组 本研究以冶金职业技术学院40名存在人际交往困难的大学生为被试。将筛选出来的40名学生随机分成甲乙两组,每组20人。甲组为实验组,乙组为对照组。实验组又随机分为两个小组,每一小组10人,接受完全相同的辅导。为了更好地引导实验组成员适时暴露自己,分析自我,特意安排10个交往正常的大学生加人实验组,一个小组5人。他们在上述心理测验中,未表现出明显的交往困扰,但研究者要求他们参加团体辅导,他们也愿意协助辅导老师开展工作他们在前后测中得分不参与统计分析。乙组则未安排任何形式的辅导。(三)前期调查 辅导前运用自编“大学生人际交往制约因素调查表”,对40名实验对象进行调查,以了解妨碍大学生人际交往的主要因素,为制定团体辅导方案提供依据。本调查表共列出17个不利于交往的心理因素,由被调查者选出其中5个,同时允许其予以补充。 (四)制定辅导方案 辅导分为两类,一类为主题讨论、人为情境训练,共9次,每次分为理论研讨、情境训练和行动作业三个环节。另一类为真实情境训练活动。 (五)实施团体辅导 对实验组实施14次团体辅导,持续7周。 (六)实施后测 团体辅导结束后,用“青年性格问卷”和“大学生人际关系综合诊断量表”对实验组和对照组实施后测。 (七)统计分析 运用王建中教授开发的WJZ心理测量和统计软件对前后测数据进行统计分析,结合师生评价、自我评价,评估团体辅导方案及其实施的有效性。 二、结果 (一)“大学生人际交往制约因素调查表”统计结果 (二)青年性格问卷统计结果 (三)大学生人际关系综合诊断量表统计结果

清华大学操作系统课程lab2实验报告

物理内存管理实验报告 练习0:合并lab1和lab2 书上提示使用“diff/merge”工具来合并lab1和lab2的代码,可是没有找到这款工具,但是被推荐使用meld工具,也能很方便地将不同目录的文件异同比较出来,可以一一手动合并,删除,增加代码,避免了不必要的错误。 这部分主要合并的文件有kdebug.c、trap.c。 练习1:实现firstfit连续物理内存分配算法。 完成合并代码的工作之后,make qemu执行lab2,结果出现错误提示:

提示default_pmm.c的第283行出现错误,打开文件看,发现这句话出现在函数static void default_check(void) 中,这是一个检查函数,并且提示不要修改。 当然,为了调试工作,在检查函数中加一些代码还是可以的。例如通过cprintf输出一些调试信息,除此之外,还发现check函数中使用大量assert函数,大概作用是当参数条件不为1的时候就弹出debug minitor。也可以用来调试作用。 起初,我仔细看了basic_check函数,它的作用只是做了一些简单的分配释放的操作,并且也没出错,后面看了default_check函数之后也没找到问题所在。再然后是重点分析default_alloc_pages和default_free_pages函数,结合list_add函数看了许久才发现它的空闲块插入顺序有问题:每次插入都是从free_list的头部插入,事实上,应该保持free_list 的顺序,地址小的空闲块应该放在前面,地址大的空闲块应该放在后面,以便firstfit算法的从头快速查找。 找到问题后大致明白了这个exercise的目标:这个练习主要就是完善 default_alloc_pages和default_free_pages。 关键变量: #define free_list (free_area.free_list)//空闲块的链表,但是不指向具体页 #define nr_free (free_area.nr_free)//空闲块的个数 关键函数: list_init(&free_list);//初始化空闲块链表 SetPageProperty(base); ClearPageProperty(base); 关键宏: le2page(le, page_link);//由链表指针得到对应页的地址 (一)Alloc pages:用firstfit算法寻找空闲块 list_entry_t *le = &free_list; while ((le = list_next(le)) != &free_list) { struct Page *p = le2page(le, page_link);

控制工程基础实验——Mat lab仿真实验报告

实验一:Mat lab 仿真实验 1.1直流电机的阶跃响应。 给直流电机一个阶跃,直流电机的传递函数如下: ) 1101)(11.0(50 )(4 +?+=-s s s G 画出阶跃响应如下: Step Response Time (sec) A m p l i t u d e 零极点分布: P ole-Zero Map Real Axis I m a g i n a r y A x i s

分析:直流电机的传递函数方框图如下: 所以传递函数可以写成: 1 /1)() (2++= s T s T T C s U s n m a m E a 式中,R L T C C JR T a E M m ==,分别为电动机的机电时间常数与电磁时间常数。一般相差不大。 而试验中的传递函数中,二者相差太大,以至于低频时: 低频时) (1 1.050 ) 1101)(11.0(50 )(4+≈ +?+= -s s s s G 所以对阶跃的响应近似为: )1(50)(1.00t e t x --=

1.2 直流电机的速度闭环控制 如图1-2,用测速发电机检测直流电机转速,用控制器Gc(s)控制加到电机电枢上的电压。 1.2.1 假设G c(s)=100,用matlab 画出控制系统开环Bode 图,计算增益剪切频率、相位裕量、相位剪切频率、增益裕量。 M a g n i t u d e (d B )10 10 10 10 10 10 10 10 P h a s e (d e g ) Bode Diagram Frequency (rad/sec) 幅值裕量Gm =11.1214 相位裕量Pm = 48.1370

数据结构实验一题目一线性表实验报告

北京邮电大学电信工程学院 数据结构实验报告 实验名称:实验1——线性表 学生姓名: 班级: 班内序号: 学号: 日期: 1.实验要求 1、实验目的:熟悉C++语言的基本编程方法,掌握集成编译环境的调试方法 学习指针、模板类、异常处理的使用 掌握线性表的操作的实现方法 学习使用线性表解决实际问题的能力 2、实验内容: 题目1: 线性表的基本功能: 1、构造:使用头插法、尾插法两种方法 2、插入:要求建立的链表按照关键字从小到大有序 3、删除 4、查找 5、获取链表长度 6、销毁 7、其他:可自行定义 编写测试main()函数测试线性表的正确性。 2. 程序分析 2.1 存储结构 带头结点的单链表

2.2 关键算法分析 1.头插法 a、伪代码实现:在堆中建立新结点 将x写入到新结点的数据域 修改新结点的指针域 修改头结点的指针域,将新结点加入链表中b、代码实现: Linklist::Linklist(int a[],int n)//头插法 {front=new Node; front->next=NULL; for(int i=n-1;i>=0;i--) {Node*s=new Node; s->data=a[i]; s->next=front->next; front->next=s; } } 2、尾插法

a、伪代码实现:a.在堆中建立新结点 b.将a[i]写入到新结点的数据域 c.将新结点加入到链表中 d.修改修改尾指针 b、代码实现: Linklist::Linklist(int a[],int n,int m)//尾插法 {front=new Node; Node*r=front; for(int i=0;idata=a[i]; r->next=s; r=s; } r->next=NULL; } 时间复杂度:O(n) 3、按位查找 a、伪代码实现: 初始化工作指针p和计数器j,p指向第一个结点,j=1 循环以下操作,直到p为空或者j等于1 b1:p指向下一个结点 b2:j加1 若p为空,说明第i个元素不存在,抛出异常 否则,说明p指向的元素就是所查找的元素,返回元素地址 b、代码实现 Node* Linklist::Get(int i)//得到指向第i个数的指针 {Node*p=front->next; int j=1; while(p&&j!=i)//p非空且j不等于i,指针后移 {p=p->next; j++;

操作系统lab2实验报告

HUNAN UNIVERSITY 操作系统实验报告

目录 一、内容 (3) 二、目的 (3) 三、实验设计思想和练习题 (3) 练习0:填写已有实验 (3) 练习1:实现 first-fit 连续物理内存分配算法(需要编程) (3) 练习2:实现寻找虚拟地址对应的页表项(需要编程) (8) 练习3:释放某虚地址所在的页并取消对应二级页表项的映射(需要编程) (11) 运行结果 (13) 四、实验体会 (13)

一、内容 本次实验包含三个部分。首先了解如何发现系统中的物理内存;然后了解如何建立对物理内存的初步管理,即了解连续物理内存管理;最后了解页表相关的操作,即如何建立页表来实现虚拟内存到物理内存之间的映射,对段页式内存管理机制有一个比较全面的了解。 二、目的 1.理解基于段页式内存地址的转换机制; 2.理解页表的建立和使用方法; 3.理解物理内存的管理方法。 三、实验设计思想和练习题 练习0:填写已有实验 使用eclipse中的diff/merge工具将实验1的代码填入本实验中代码中有“LAB1”的注释相应部分。 练习1:实现 first-fit 连续物理内存分配算法(需要编程) 在实现first fit 内存分配算法的回收函数时,要考虑地址连续的空闲块之间的合并操作。提示:在建立空闲页块链表时,需要按照空闲页块起始地址来排序,形成一个有序的链表。可能会修改default_pmm.c 中的default_init,default_init_memmap,default_alloc_pages, default_free_pages等相关函数。请仔细查看和理解default_pmm.c中的注释。 请在实验报告中简要说明你的设计实现过程。请回答如下问题: 你的first fit算法是否有进一步的改进空间。 解答: 分析思路: (1)数据结构: A.每个物理页利用一个Page结构体表示,查看kern/mm/memlayout.h包括:

《数据结构实验》实验题目及实验报告模板

《数据结构实验》的实验题目及实验报告模板 实验一客房管理(链表实验) ●实现功能:采用结构化程序设计思想,编程实现客房管理程序的各个功能函数,从而熟练 掌握单链表的创建、输出、查找、修改、插入、删除、排序和复杂综合应用等操作的算法 实现。以带表头结点的单链表为存储结构,实现如下客房管理的设计要求。 ●实验机时:8 ●设计要求: #include #include #include //定义客房链表结点结构 typedef struct HNode { char roomN[7]; //客房名称 float Price; //标准价格 float PriceL; //入住价格(默认值=标准价格*80%) int Beds; //床位数Beds char State[5]; //入住状态(值域:"空闲"、"入住"、"预订",默认值为"空闲") struct HNode *next; //指针域 }Hotel, *HLink; (1)实现创建客房信息链表函数void Build(HLink &H),输入(客房名称、标准价格、床位数),同时修改入住价格、入住状态为默认值,即入住价格=标准价格*80%,入住状态为”空闲”(提示:用strcpy()字符串拷贝函数)。为了提高程序调试效率,要求:用文件操作来输入客房信息(客房名称、标准价格、床位数); (2)实现输出客房信息函数void Exp(HLink H),输出所有客房的客房名称、标准价格、入住价格、床位数、入住状态; (3)函数int Find(HLink &H, char *roomN),查找房间名称为roomN的客房。如果找到,则返回该客房在链表中的位置序号(>=1),否则返回0。提示:用strcmp()字符串比较函数; (4)实现函数void updateH(HLink &H, int beds, char *state),将床位数为beds的客房入住状态改为state。提示:用strcpy()字符串拷贝函数; (5)函数void Add(HLink &H),将该链表中未入住的客房入住价格均加价20%; (6)求出入住价格最高的客房函数HLink FirstH(HLink &H),该函数内return语句返回入住价格最高的客房结点指针,返回前将该结点在链表中删除; (7)函数void MoveK1(HLink &H, int k),将单链表中倒数第k个结点移到第一个结点位置,注意:严禁采用先计算链表长度n再减k(即n-k)的方法;

教育实验报告范例

教育实验报告范例

教育实验报告范例 1、陈菊珍、刘华山:《改善大学生人际交往不良 现状的团体辅导实验研究》,载《教育研 究与实验》,2005年第2期。 改善大学生人际交往不良现状的团体辅导实验 研究 陈菊珍、刘华山 内容摘要:本研究通过前测,选取存在人际交往困扰的大学生40人,随机分成实验组和对照组,对实验组按照自行制定的辅导方案,进行14次人际交往团体辅导,用青年性格问卷和大学生人际关系综合诊断量表,结合他评和自评,对辅导效果进行评估。结果表明,人际交往团体辅导对减轻大学生人际交往困扰,增强大学生人际适应能力具有良好的效果。 关键词:大学生人际交往团体辅导 一、研究过程 (一)测试工具 本研究以“青年性格问卷”和“大学生人际关系综合诊断量表”为主要测量工具。“青年性

格问卷”是前人根据“加里弗尼业心理测验表”修订而成的,“大学生人际关系综合诊断量表”是由北京师范大学郑日昌等编制的。 (二)被试选定与分组 本研究以湖南冶金职业技术学院40名存在人际交往困难的大学生为被试。将筛选出来的40名学生随机分成甲乙两组,每组20人。甲组为实验组,乙组为对照组。实验组又随机分为两个小组,每一小组10人,接受完全相同的辅导。为了更好地引导实验组成员适时暴露自己,分析自我,特意安排10个交往正常的大学生加人实验组,一个小组5人。他们在上述心理测验中,未表现出明显的交往困扰,但研究者要求他们参加团体辅导,他们也愿意协助辅导老师开展工作他们在前后测中得分不参与统计分析。乙组则未安排任何形式的辅导。 (三)前期调查 辅导前运用自编“大学生人际交往制约因素调查表”,对40名实验对象进行调查,以了解妨碍大学生人际交往的主要因素,为制定团体辅导方案提供依据。本调查表共列出17个不利于交往的心理因素,由被调查者选出其中5个,同时

lab1汇编语言与DOS系统实验报告

汇编语言与DOS系统实验报告 一、实验目的 1、掌握x86体系段式内存组织方式,了解如何用程序指令访问不同的内存空 间 2、了解DOS系统的基本操作 3、掌握汇编语言的编译和调试方法 二、实验条件 1、DOS操作系统平台 三、实验原理 1、x86实模式下内存采用分段的组织方式,将20位的地址空间分为16位的 段地址和16位的偏移地址,表示为“段地址:偏移地址”的形式,实际物理地址=段地址×16+偏移地址。 2、DOS系统基本操作命令: (1)cd命令进入磁盘或文件夹 (2)dir命令列出目录下的文件 (3)makedir创建目录 (4)del删除文件 (5)copy复制文件 (6)rename文件重命名 3、汇编语言编译命令: (1)edit命令编辑程序

(2)masm生成目标文件 (3)link链接生成可执行文件 (4)输入文件名运行程序 4、程序调试方法 使用debug命令调试程序,常用的调试参数有: (1)-u反汇编生成程序的汇编代码 (2)-d查看内存地址的内容 (3)-p/t单步调试 (4)-g设置断点 (5)-e修改指定地址内容 四、实验内容 1、写出A+B problem的汇编代码,使用编译命令生成可执行文件并使用 debug加载可执行程序。实验代码如下: DATA SEGMENT ADDER1 DB 35H ADDER2 DB 48H SUM DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX MOV AL,ADDER1 ADD AL,ADDER2 MOV SUM,AL MOV AX,4C00H INT 21H CODE ENDS END START 首先将源文件使用masm命令和link命令生成可执行文件,使用debug命令调试程序,使用-u参数显示汇编代码,g命令设置断点到MOV SUM,AL指令处,此时使用d ds:0000即可在内存中显示两个加数以及两个数的和的数值,可以使用-e命令修改参数。 2、增加变量N,实现N个数字的加法运算,实验中N设置为4,实验代码 如下: DATA SEGMENT ADDER1 DB 35H ADDER2 DB 48H ADDER3 DB 20H ADDER4 DB 30H SUM DB ? DATA ENDS

统计学实验报告1

统计学实验报告1 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

实验报告

二、打开文件“数据 3.XLS”中“城市住房状况评价”工作表,完成以下操作。 1)通过函数,计算出各频率以及向上累计次数和向下累计次数;2)根据两城市频数分布数据,绘制出两城市满意度评价的环形图三、打开文件“数据 3.XLS”中“期末统计成绩”工作表,完成以下操作。 1)要求根据数据绘制出雷达图,比较两个班考试成绩的相似情况。 实验过程: 实验任务一: 1)利用函数frequency制作一张频数分布表 步骤1:打开文件“数据 3. XLS”中“某公司4个月电脑销售情况”工作表 步骤 2.在“频率(%)”的右侧加入一列“分组上限”,因统计分组采用“上限不在内”,故每组数据的上限都比真正的上限值小0.1,例如:“140-150”该组的上限实际值应为“150”,但我们为了计算接下来的频数取“149.9”. 步骤3.选定C20:C29,再选择“插入函数”按钮 3 步骤 4.选择类别“统计”—选择函数“FREQUENCY”

步骤5.在“data_array”对话框中输入“A2:I13”,在“bins_array”对话框中输入“E20:E29 该函数的第一个参数指定用于编制分布数列的原始数据,第二个参数指定每一组的上限. 步骤6.选定C20:C30区域,再按“自动求和” 按钮,即可得到频数的合计

步骤7.在D20中输入“=(C20/$C$30)*1OO” 步骤8:再将该公式复制到D21:D29中,并按“自动求和”按钮计算得出所有频率的合计。

Lab1_体系结构实验报告

2012年3月1日 一、实验目的和要求 1.understand the principles of ALU and master methods of ALU design 2.understand the principles of ALU controller and master methods of ALU controller design 3.understand the principles of register file and master methods of register file design so the task is first, design a ALU with ALU controller then, design a register file 二、实验内容和原理 2.1 ALU with ALU controller We input the operand r, s; both are 32 bit integer, and aluc is the control code that defines the operation. So we just make the code block, totally as ALU block, ALUC block, display block.

Figure 1 the input and output diagram Figure 2 ALU operations Figure 3 the truth table of operation cod e

Figure 4 principle of ALU 2.2 register file The process is similar to the 2.1, when we get the principle of register file , it can be easily coding. Figure 5 the input and output

概率统计实验报告

概率统计实验报告 班级16030 学号16030 姓名 2018 年1 月3 日

1、 问题概述和分析 (1) 实验内容说明: 题目12、(综合性实验)分析验证中心极限定理的基本结论: “大量独立同分布随机变量的和的分布近似服从正态分布”。 (2) 本门课程与实验的相关内容 大数定理及中心极限定理; 二项分布。 (3) 实验目的 分析验证中心极限定理的基本结论。 2、实验设计总体思路 2.1、引论 在很多实际问题中,我们会常遇到这样的随机变量,它是由大量的相互独立的随机 因素的综合影响而形成的,而其中每一个个别因素在总的影响中所起的作用是微小的,这种随机变量往往近似的服从正态分布。 2.2、 实验主题部分 2.2.1、实验设计思路 1、 理论分析 设随机变量X1,X2,......Xn ,......独立同分布,并且具有有限的数学期望和方差:E(Xi)=μ,D(Xi)=σ2(k=1,2....),则对任意x ,分布函数 满足 该定理说明,当n 很大时,随机变量 近似地服从标准正 态分布N(0,1)。因此,当n 很大时, 近似地服从正 态分布N(n μ,n σ2). 2、实现方法(写清具体实施步骤及其依据) (1) 产生服从二项分布),10(p b 的n 个随机数, 取2.0=p , 50=n , 计算n 个随 机数之和y 以及 ) 1(1010p np np y --; 依据:n 足够大,且该二项分布具有有限的数学期望和方差。 (2) 将(1)重复1000=m 组, 并用这m 组 ) 1(1010p np np y --的数据作频率直方图进 行观察. 依据:通过大量数据验证随机变量的分布,且符合极限中心定理。

实验报告题目

实验一顺序结构的程序设计1.输入x的值,根据下面的多项表达式求y的值: y=3 4 x5+12 8 3 +2x-4 (1)编程,注意要有输入数据的提示语句。 (2)x取下列值时,分别运行此程序 2.任意输入一个三位整数,然后逆序输出。如输入为123,则输出为321。 (1) 编程,注意要有输入数据的提示语句 (2) 用八进制的形式输出各位数字的ASCII码。 (3) 输入取下列值时,分别运行此程序

实验二选择结构的程序设计 1.编程计算下面的分段函数。 4x-8 -1≤x<0 y= 3x2+10x-1 0≤x<1 3-3x2+2x-1 1≤x<2 (1)事先编好程序和流程图。要求用if语句结构实现,注意数据类型和输入提示语句。 (2)将程序运行六遍,分别从键盘上输入-1,,0,,1,这六个数,记录下运行结果并核对结果的正确性。 (3)再将程序运行二遍,分别从键盘上输入和2二个数,记录下运行结果并核对结果的正确性。 ④修改程序,使之能正确处理任何数据。当输入数据大于等于2或小于-1时,通知用户“Data Error”,程序结束。

4.水果店有苹果,一级元/kg,二级元/kg,三级元 /kg,四级kg,输入苹果的等级、数量以及顾客的付款数,显示出苹果的等级、数量、应付款数以及找给顾客的钱数。 (1)事先编好程序,分别用if语句和用switch语句结构实现,要求程序能正确处理任何数据。当输入苹果的等级、数量以及顾客的付款数不合要求时,通知用户“Data Error”,程序结束。 注意苹果等级、数量以及顾客付款数数据的类型和输入数据的提示语句。 (2)将程序运行六遍,分别从键盘上输入六组数,记录运行步骤、过程和结果,并核对结果的正确性。

统计学实验报告

统计学实验报告 一.实验步骤总结数据的搜集与整理 一.数据的搜集 ●间接数据的搜集 方法一:直接通过进入专业的数据库网站查询数据 方法二:使用搜索引擎进行数据的搜索 ●直接数据的搜集 抽样调查: 1.调查方案设计 2.调查问卷设计 3.问卷发放 4.问卷回收 二.数据的整理 ●数据编码 1.在Excel中选择三列,将三列分别命名,后两列为:编码符号、代表含义 2.数据搜集好后,按照他们的特征进行分类,并依次放入第一列 3.在“编码符号”列为每一个列别编码,并在“代表含义”列说明编码的含义 ●数据的录入 转置(行与列换位): 1.激活数据所在单元格 2.单击鼠标右键,选中“复制” 3.在空白处激活另一单元格,点击鼠标右键,选中“选择性粘贴”项。 4.在弹出的“选择性粘贴”对话框中,粘贴项选中“全部”,运算选中“无”,选中“转置” 复选框,点击确定按钮既得转置的结果。 单元格内部换行:“Alt+Enter”组合键 ●数据的导入 方法一:1.单击菜单栏“文件—打开”,在弹出的的“打开”对话框中找到要导入的文件。 2.双击鼠标左键或者单击打开按钮,所需要的文件就被导入了。 方法二:1.单击菜单栏“数据—导入外部数据—导入数据”,在弹出的“选取数据源”的对话框中找到要导入的文件。 2.双击鼠标左键或者单击打开按钮,所需要的文件就被导入了。 ●数据的筛选 自动筛选: 1.选中要筛选的数据区域 2.使用菜单栏中的“数据—筛选—自动筛选”,这时每列的第一个单元格的右边都会出现 一个下拉箭头,我们就可以通过下拉菜单中的选择实现筛选。 3.如果选择了下拉菜单中的“自定义”,就会弹出一个“自定义自动筛选方式”对话框, 在对话框中可自己选择筛选条件,然后点击确定按钮。 高级筛选: 1. 将要筛选数据区域的列标题复制粘贴在空白区域,并在他们对应下的单元格中输入所要

实验报告

实验报告 实验题目:二叉树 实验目的: 1、熟悉二叉树的结点类型和二叉树的基本操作。 2、掌握二叉树的前序、中序和后序遍历的算法。 3、加深对二叉树的理解,逐步培养解决实际问题的编程能力。 基本要求: 1.编写程序bitree.cpp实现ADTBiTree,要求使用二叉链表存储。实现基本操作:InitBiTree(&T); DestroyBiTree(&T); PreOrder(T,visit()); InOrder(T,visit()); PostOrder(T,visit()); 2.编码实现以下算法: 1)创建二叉树。(以先序扩展序列给出) 2)输出先序、中序和后序序列。 3)计算二叉树结点数、叶子结点数、高度。 测试数据:先序扩展序列:ABDF##G##E#H##C##输出:先序ABDFGEHC中序FDGBEHAC后序FGDHEBCA结点数:8叶子结点数:4高度:4。

实验拓展 1)实现层次遍历。 2)查找:查值为X的结点、双亲结点、孩子结点、兄弟结点 3)判断:判断一个二叉树是否为二叉排序树、完全二叉树、平衡和二叉树 4)处理:左右子树互换、复制、删除子树、插入子树 设计思路: 1.在二叉树的存储结构为链式存储结构。 2.在具体实现的时候建立不同函数,在主程序中用循环菜单的形式调用函数提高了效率。 概要分析: 二叉链表结构定义: typedef struct BiNode{ ElemType data; struct BiNode *lchild,*rchild; }BiNode,*BiTree; CreatBiTree(BiTree &T);先序建立二叉树。 DestroyBiTree(BiTree &T);销毁二叉树; PreOrder(BiTree &T);先序遍历二叉树 InOrder(BiTree &T);中序遍历二叉树 PostOrder (BiTree &T);后序遍历二叉树 PrintbyLev(BiTree &T);按层次遍历二叉树,利用队列的思想,从根结点开始将其放入一

Lab4实验报告

2012 简单的类MIPS 单 周期处理器实现– 寄存器与内存 LAB4实验报告 王红宾5090519061 SJTU | F0905103

1实验概述 1.1实验名称 简单的类MIPS 单周期处理器实现–寄存器与内存 1.2 实验目的 1.理解CPU 的寄存器与内存 1.3实验范围 本次实验将覆盖以下范围 1.ISE的使用 2.Spartan-3E实验板的使用 3.使用Verilog HDL进行逻辑设计 4.Register 的实现 5.Data Memory 的实现 6.有符号扩展的实现 1.4注意事项 1. 本实验的逻辑设计工具为Xilinx ISE11.1。 2实验内容 2.1实验步骤 1.启动ISE 11.1。 2.选择File > New Project… 出现New Project Wizard。 3.Project Name填写lab5,选择工程Project Location,Top-level Source Type选择HDL。点击Next。

4. Device Properties 中各属性填写如下: Product Category: ALL Family: Spartan3E Device: XC3S500E Package: FG320 Speed: -4 Synthesis Tool: XST(VHDL/Verilog) Simulator: ISim(VHDL/Verilog) ,也可用Modelsim仿真。Preferred Language: Verilog 确认Enable Enhanced Design Summary 已勾选

统计学实验报告

实验1:数据整理 一、实验目的 1)掌握Excel中基本的数据处理方法; 2)学会使用Excel进行统计分组,能以此方式独立完成相关作业 二、实验时间及地点 试验时间:2014年9月23日实验地点:计算机房 三、实验内容和操作步骤 (一)问题与数据 某百货公司连续40天的商品销售额如下(单位:万元): 41 25 29 47 38 34 30 38 43 40 46 36 45 37 37 36 45 43 33 44 35 28 46 34 30 37 44 26 38 44 42 36 37 37 49 39 42 32 36 35 根据上面的数据进行适当的分组,编制频数分布表,并绘制直方图。 (二)实验内容:使用FREQUENCY函数绘制频数分布表(图) (三)实验步骤: 1.在A1输入:某百货公司连续40天的商品销售额如下。选中A1:D1选 择合并单元格。 2.在单元区域A2:D11中输入原始数据。 3.并计算原始数据的最大值(在单元格B12中)与最小值(在单元格D12 中)。 4.根据Sturges经验公式计算经验组距(在单元格B13)和(经验数据D13 中)。 5.根据步骤3的计算结果,计算并确定各组上限、下限(在单元区域E2: F7). 步骤1~5如图所示:

6.绘制频数分布表框架,如图所示: 7.计算各组频数: 1)选定i7:i12作为存放计算结果的区域。 2)从“插入”菜单中选择“函数”项。 3)在弹出的“插入函数”对话框中选择“统计”函数FREQUENCY。 步骤(1)~(3)如图所示:

4)单击“插入函数”对话框中的“确定”按钮,弹出 “FREQUENCY”对话框。 5)确定FREQUENCY函数的两个参数的值。其中: Data-array:原始数据或其所在单元格区域(A2:D11) Bins-array:分组各组的上限值或其所在的单元格区域 (F2:F7). 步骤(4)~(5)如图所示: 6)按Shift+Ctrl+Enter组合键,如图所示 7)用公式:频数密度=频数/组距选定G7输入=i7:i12/4按 Shift+Ctrl+Enter组合键 频率=频数/总数 如图所示:

实验报告题目

实验一顺序结构的程序设计 1. 输入x的值,根据下面的多项表达式求y的值: 3 5 4 3 8 2 y= X5+12 X4-7.3X3- X2+2X-4 4 3 (1) 编程,注意要有输入数据的提示语句。 (2) X取下列值时,分别运行此程序 2. 任意输入一个三位整数,然后逆序输出。如输入为123,则输出为321。 (1) 编程,注意要有输入数据的提示语句 (2) 用八进制的形式输出各位数字的ASCII码。 (3) 输入取下列值时,分别运行此程序

实验二选择结构的程序设计1 ?编程计算下面的分段函数。 4x-8 y= 3x -8x -1 w x v 0 2+10x-1 0 w x v 1 L 3 2 -3x +2x-1 1 w x v 2 (1)事先编好程序和流程图。要求用if语句结构实现,注意数据类型和输入提示语句。 (2)将程序运行六遍,分别从键盘上输入-1,-0.5,0,0.5,1,1.5这六个数,记录下运行结果并核对结果的正确性。 (3)再将程序运行二遍,分别从键盘上输入-3.5和2二个数,记录下运行结果并核对 Data Error ” ,程序结束。

4.水果店有苹果,一级 5.50元/kg,二级4.20元/kg,三级3.00元/kg,四级2.50/kg, 输入苹果的等级、数量以及顾客的付款数,显示出苹果的等级、数量、应付款数以及找给顾 客的钱数。 (1)事先编好程序,分别用if语句和用switch语句结构实现,要求程序能正确处理 任何数据。当输入苹果的等级、数量以及顾客的付款数不合要求时,通知用户“Data Error' 程序结束。 注意苹果等级、数量以及顾客付款数数据的类型和输入数据的提示语句。 (2)将程序运行六遍,分别从键盘上输入六组数,记录运行步骤、过程和结果,并核对结果的正确性。

Bomblab实验报告

课程实验报告 课程名称: 计算机系统原理实验 实验项目名称: BombLab 专业班级: 计科1501 姓名: 马子垚 学号: 2 完成时间: 2017 年 4 月 19 日 实验目的 理解汇编语言,学会使用调试器 实验原理 二进制炸弹就是作为一个目标代码文件提供给学生们的程序,运行时,它提示用户输入6个不同的字符串。如果其中任何一个不正确,炸弹就会“爆炸”:打印出一条错误信息。学生通过反汇编与逆向工程来确定就是哪六个字符串,从而解除她们各自炸弹的雷管。

实验步骤及体会 一、实验准备 1、首先,由于虚拟机操作系统与windows系统相互独立,所以 首先将Bomb、c及其相关文件存至百度云盘,然后在 ubantu操作系统内下载至文件系统目录下的下载文件夹 里面: 2、输入、/bomb试运行bomb、c文件时会提示权限不够: 所以需要输入chmod+x+文件名的命令于改变文件或目录 的访问权限。用它控制文件或目录的访问权限。在经过操 作之后,获得了权限,程序可以正常运行了: 3、由于bomb、c文件并没有蕴含许多能破解的信息,所以需要 将其进行反汇编,详细操作如下: 输入objdump –d bomb >bomb、txt将汇编代码输出到自 动生成一个bomb、txt的文件里面,方便我们查瞧与分析 代码:

二、具体实验步骤及其分析 试查瞧导出的bomb、txt,我发现总的文本里面分为很多段,其中就有Phase_1~Phase_6、Phase_defuse、Phase_secret以及其她相关函数的代码,所以我猜测每一段Phase代码就就是我们需要破解的关卡,所以我将它们分别导出新建text文件,逐段分析。 Phase_1及其破解过程: 知识点:string,函数调用,栈 反汇编代码及其分析: 08048f61 : 8048f61: 55 push %ebp //压栈 ebp为栈指针 esp为栈指针。 push指令可以理解为两个步骤: 1、 subl $4 , %esp –栈底向下移一位 2、 movl %ebp ,(%esp) 将ebp的值存入esp中 8048f62: 89 e5 mov %esp,%ebp //把esp赋值给ebp 8048f64: 83 ec 18 sub $0x18,%esp //esp指针下移0x18个字节 8048f67: c7 44 24 04 5c a1 04 movl $0x804a15c,0x4(%esp) //取0x804a15c处的内容存入*(%esp+4) //前一段总的分析:初始化栈,push就是压栈指令,ebp寄存器中的内容就是栈底指针。esp寄存器里面存的就是栈顶地址。通过sub指令,将栈顶固定在第十八个存储单元里面。字符串的内存地址为0804a15c,四个字节。一个存储单元存放8个bit 两个十六进制数字,栈顶及后三个单元存栈顶地址。故用mov指令将字符串地址存在栈顶后的第四个字节处。 8048f6e: 08 8048f6f: 8b 45 08 mov 0x8(%ebp),%eax //取用户输入的内容存入%ebp 8048f72: 89 04 24 mov %eax,(%esp) //eax的值赋值给*esp

统计学实验报告一

《统计学》实验报告(一) 姓名:专业:学号: 日期:2012 年4 月6 日上机地点:实验中心606 EXCEL里的实现实验项目一描述性统计、区间估计在一、实验目的菜单进行数据的预处理;、掌握利用1EXCEL进行描述性统计;2、掌握利用EXCEL进行区间估计。、掌握利用EXCEL3二、实验要求EXCEL环境与数据预处理的操作;1、集中趋势描述、离散程度描述、数据分组处理;包括统计图表的绘制;2、描述性统计,分布形状描述。、区间估计,包括总体均值、总体比例、总体方差的区间估计计算。3三、实验内容(一)分类数据的描述性统计.XLS实验数据:餐厅服务质量和价位评价、条形图、饼图、帕累托图顾客服务质量评价的频数表(按性别分) (二)数值性数据的描述性统计.XLS实验数据:城乡居民储蓄数据 随着生活水平的逐渐提高,居民的储蓄存款也在日益增加,数据是自1990年~2006年城乡居民人民币储蓄存款额,储蓄存款包括定期和活期(单位:元)。利用EXCEL,对数据作如下分析: 1、城乡居民人民币活期存款的众数、中位数和均值是多少 2、城乡居民人民币定期存款的方差和标准差是多少 3、定期存款和活期存款相比,哪种数据的变动性更大 (三)总体参数的区间估计 1、成绩分析。实验数据:期末成绩.XLS 假设学生的各门期末考试成绩均服从正态分布,选定一门课程,并给出该门课程平均成绩的置信水平为95%的区间估计。 2、顾客满意度分析。 某超市为了了解顾客对其服务的满意度,随机抽取了其会员中的50个样品进行电话调查,如果有38个顾客对此超市的服务表示满意,试求对该超市服务满意的顾客比例的95%置信区间。 四、实验结果 (一) 1, 顾客服务质量评价的频数表(按性别分) Female Male 49Good35 9852Very Good 45Excellent21 条形图2,

网络安全实验报告 (1)

《网络安全与网络管理》课程 实验报告 学院年级2012专业网络工程 姓名学号 任课教师上机地点 实验教师

《网络安全》课程实验报告一 实验题目Sniffer网络抓包分析 一、实验时间2015年 3月 18日周三上午4-5节 二、实验目的: 掌握1-2种Sniffer软件的使用;能利用相关软件进行网络抓包并进行网络协议分析;进而理解相关的网络安全威胁 三、实验要求 1.查看PING包的构成(默认32Byte内容),若用64Byte来ping,内容是什么? 2.登录校园网,查看捕捉到的用户名和密码 3.查看TCP三次握手的包的序列号规律 4.登录校园网的邮箱,查看所用的协议及其工作过程 实验报告要求: 注明以上实验结果(附实验截图) 四、实验内容、过程和结果(实验主要内容的介绍、主要的操作步骤和结果) 1.使用ping命令进行测试,截取数据包抓取ping包: 2.登陆校园网,查看捕捉到的用户名和密码:打开校园网登陆页面,输入用户名yankun,密码123456,然后启动抓包软件抓取到如下截图的包,在包中找到了之前输入的用户名和密码,如下框中所示;

3.查看TCP三次握手的包的序列号规律,对打开浏览器着一过程进行抓包分析:如下截图,通过下面的抓包可以清楚的了解到三次握手的建立过程;

分析:TCP报文的首部如下图所示,序号字段的值则指的是本报文段所发送的数据的第一个字节的序号 确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 确认比特 ACK ——只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。 在上面的两个截图中,第一个图的seq=79780372,Ack=171311206,在第二个截图中可以看到seq=171311206, Ack=79780373,接收到的确认号是之前对方发过来的序列号加1,三次握手的过程就是靠双方发送先关序列号进行确认联系,从而建立安全的通道进行数据传输。 4.登录校园网的邮箱,查看所用的协议及其工作过程 此截图是登陆校园邮箱过程的包,可以在包中发现有TLS协议,用来加密数据,以保障数据的安全性;

相关文档
最新文档