实验的报告集锦(通用32篇)
1.端口的基础知识
端口是TCP协议中所定义的,TCP协议通过套接字(socket)建立起两台计算机之间的网络连接。 TCP/UDP的端口号在0~65535范围之内,其中1024以下的端口保留给常用的网络服务。例如,21端口为FTP服务,23端口为TELNET服务,25端口为SMTP服务,80端口为HTTP服务,110端口为POP3服务等。
2.扫描的原理
扫描的方式有多种,为了理解扫描原理,需要对TCP协议简要介绍一下。
一个TCP头的数据包格式如图2-1所示。它包括6个标志位,其中:
图2-1 TCP数据包格式
扫描往往是入侵的前奏,所以如何有效的屏蔽计算机的端口,保护自身计算机的安全,成为计算机管理人员首要考虑的问题。为了防止对计算机网络端口的扫描,我们可以采用端口扫描监测工具来监测对端口的扫描,防止端口信息外露。常用的端口扫描监测工具包括ProtectX、PortSentry等。此外,安装防火墙也是防止端口扫描的有效方法。
三、实验环境
两台预装Windows 20xx/XP的计算机,通过网络相连。SuperScan和流光Fluxay软件。
四、实验内容和步骤
任务一 使用SuperScan扫描
SuperScan具有端口扫描、主机名解析、Ping扫描的功能,其界面如图2-2所示。
1.主机名解析功能
在Hostname Lookup栏中,可以输入IP地址或者需要转换的域名,单击Lookup按钮就可以获得转换后的结果;单击Me按钮可以获得本地计算机的IP地址;单击Interfaces按钮可以获得本地计算机IP地址的详细设置。
2.端口扫描功能
实验的报告集锦 篇19
《数据结构与算法》实验报告
专业 班级 姓名 学号
实验项目
实验一 二叉树的应用
实验目的
1、进一步掌握指针变量的含义及应用。
2、掌握二叉树的结构特征,以及各种存储结构的特点及使用范围。
3、掌握用指针类型描述、访问和处理二叉树的运算。
实验内容
题目1:编写一个程序,采用一棵二叉树表示一个家谱关系。要求程序具有如下功能:
(1)用括号表示法输出家谱二叉树,
(2)查找某人的所有儿子,
(3)查找某人的所有祖先。
算法设计分析
(一)数据结构的定义
为了能够用二叉树表示配偶、子女、兄弟三种关系,特采用以下存储关系,则能在二叉树上实现家谱的各项运算。
二叉树型存储结构定义为:
typedef struct SNODE
{char name[MAX]; //人名
struct SNODE *left;//指向配偶结点
struct SNODE *right; //指向兄弟或子女结点
}FNODE;
(二)总体设计
实验由主函数、家谱建立函数、家谱输出函数、儿子查找函数、祖先查找函数、结点定位函数、选择界面函数七个函数共同组成。其功能描述如下:
(1)主函数:统筹调用各个函数以实现相应功能
void main
(2)家谱建立函数:与用户交互建立家族成员对应关系
void InitialFamily(FNODE *&head) //家谱建立函数
(3)家谱输出函数:用括号表示法输出家谱
输出形式为:父和母(子1和子妻1(孙1),子2和子妻2(孙2))
void PrintFamily(FNODE *head) //家谱输出函数
(4)儿子查找函数:在家谱中查找到某人所有的'子女并输出,同时也能辨别出其是否为家族成员与是否有子女
void FindSon(FNODE *b,char p) //儿子查找函数
(5)祖先查找函数:在家谱中查找到某人所有的祖先并输出,同时也能辨别出其是否为家族中成员。
int FindAncestor(FNODE *head,char son[ ]) //祖先查找函数
(6)结点定位函数:在家谱中找到用户输入人名所对应的结点。
FNODE *findnode(FNODE *b,char p) //结点定位函数
(7)选择界面函数:为便于编写程序,将用户选择部分独立为此函数。
void PRINT(int &n)
(三)各函数的详细设计:
void InitialFamily(FNODE *&head) //家谱建立函数
1:首先建立当前人的信息,将其左右结点置为空,
2:然后让用户确定其是否有配偶,如果没有配偶,则当前程序结束,
3:如果有则建立其配偶信息,并将配偶结点赋给当前人的左结点;
4:再让用户确定其是否有子女,如果有则递归调用家谱建立函数建立子女结点,并将其赋给配偶结点的下一个右结点。
5:如无,则程序结束
void PrintFamily(FNODE *head) //家谱输出函数
1:首先判断当前结点是否为空,如果为空则结束程序;
2:如果不为空,则输出当前结点信息,
3:然后判断其左结点(配偶结点)是否为空,如不为空则输出“和配偶信息。
4:再判断配偶结点的右结点是否为空,如不为空则递归调用输出其子女信息,最后输出“)”;
5:当配偶结点为空时,则判断其右结点(兄弟结点)是否为空
6:如果不为空,则输出“,”,并递归调用输出兄弟信息
7程序结束
FNODE *findnode(FNODE *b,char p) //结点定位函数
1:当前结点是否为空,为空则返回空;
2:如果和查找信息相同,则返回当前结点;
3:如不然,则先后递归访问其左结点,再不是则递归访问右结点
void FindSon(FNODE *b,char p) //儿子查找函数
1:在家谱中定位到要查找的结点,如无则输出“查找不到此人”
2:判断其配偶结点与子女结点是否为空,为空则输出“无子女”
3:不为空则输出其配偶结点的所有右结点(子女结点)。
int FindAncestor(FNODE *head,char son[ ]) //祖先查找函数
1:先在家谱中定位到要查找的结点,如为空输出“不存在此人”,程序结束
2:先将父母结点入栈,当栈为空时程序结束,
3:栈不为空时,判断栈顶元素是否已访问过,
4:访问过,再判断是否为查找结点,如是则输出栈中保存的其祖先结点,并滤过其兄弟结点不输出;不是查找结点,则退栈一个元素
5:未访问过,则取当前栈顶元素,置访问标志——1,同时取其右结点
6:栈不为空或当前所取结点不为空时,转到2;
实验测试结果及结果分析
(一)测试结果
(二)结果分析
(略)
实验总结
(略)
实验的报告集锦 篇20
一、实验目的
1、学习环己醇氧化制备己二酸的原理和方法; 2、掌握浓缩、过滤及重结晶等操作技能
二、实验原理
三、实验药品及其物理常数
环己醇:2g 2.1ml (0.02mol);高锰酸钾 6g (0.038mol);0.3N氢氧化钠溶液 50ml;亚硫酸氢钠;浓盐酸
四、主要仪器和材料
水浴锅 三口烧瓶(100 mL、19#×3) 恒压滴液漏斗 空心塞(14#) 球形冷凝管(19#) 螺帽接头(19#,2只) 温度计(100℃) 布氏漏斗 吸滤瓶 烧杯 冰 滤纸 水泵等.
氧化剂可用浓硝酸、碱性高锰酸钾或酸性高锰酸钾。本实验采用碱性高锰酸钾作氧化剂
五、操作步骤
(1)向250ml烧杯内加入50ml 0.3N氢氧化钠溶液,置于磁力搅拌上; (2)边搅拌边将6g 高锰酸钾溶解到氢氧化钠溶液中;
(3)用滴管滴加2.1ml 环己醇到上述溶液中,维持反应物温度为43~47 ℃。 (4)当醇滴加完毕且反应混合物温度降低至43 ℃左右时,沸水浴将混合物加热,使二氧化锰凝聚。
(5)在一张平整的滤纸上点一小滴混合物以试验反应是否完成,如果观察到试液的紫色存在,那么可以用少量固体亚硫酸氢钠来除掉过量的高锰酸钾。
(6)趁热抽滤,滤渣二氧化锰用少量热水洗涤3次(每次2 mL),每次尽量挤压掉滤渣中的水分;
(7) 合并滤液和洗涤液,用4ml浓盐酸酸化至pH2.0;
(8) 小心地加热蒸发使溶液的体积减少到10ml左右,冷却,分离析出的己二酸。 (9) 抽滤、洗涤、烘干、称重、计算产率。
(10)测量产品的熔点和红外光谱,并与标准光谱比较。
六、操作要点及注意事项
1.KMnO4要研细,以利于KMnO4充分反应。
2. 滴加:本实验为强烈放热反应,所以滴加环己醇的速度不宜过快(1-2滴/秒),否则,因反应强烈放热,使温度急剧升高而引起爆炸。 3.严格控制反应温度,稳定在43~47℃之间。 4.反应终点的判断:
(1)反应温度降至43℃以下。
(2)用玻璃棒蘸一滴混合物点在平铺的滤纸上,若无紫色存在表明已没有KMnO4。 5.用热水洗涤MnO2滤饼时,每次加水量约5~10 ml,不可太多。 6.用浓盐酸酸化时,要慢慢滴加,酸化至pH=1~3。