实验六 实验报告

合集下载

实验六:遗传算法求解TSP问题实验3篇

实验六:遗传算法求解TSP问题实验3篇

实验六:遗传算法求解TSP问题实验3篇以下是关于遗传算法求解TSP问题的实验报告,分为三个部分,总计超过3000字。

一、实验背景与原理1.1 实验背景旅行商问题(Traveling Salesman Problem,TSP)是组合优化中的经典问题。

给定一组城市和每两个城市之间的距离,求解访问每个城市一次并返回出发城市的最短路径。

TSP 问题具有很高的研究价值,广泛应用于物流、交通运输、路径规划等领域。

1.2 遗传算法原理遗传算法(Genetic Algorithm,GA)是一种模拟自然选择和遗传机制的搜索算法。

它通过选择、交叉和变异操作生成新一代解,逐步优化问题的解。

遗传算法具有全局搜索能力强、适用于多种优化问题等优点。

二、实验设计与实现2.1 实验设计本实验使用遗传算法求解TSP问题,主要包括以下步骤:(1)初始化种群:随机生成一定数量的个体(路径),每个个体代表一条访问城市的路径。

(2)计算适应度:根据路径长度计算每个个体的适应度,适应度越高,路径越短。

(3)选择操作:根据适应度选择优秀的个体进入下一代。

(4)交叉操作:随机选择两个个体进行交叉,生成新的个体。

(5)变异操作:对交叉后的个体进行变异,增加解的多样性。

(6)更新种群:将新生成的个体替换掉上一代适应度较低的个体。

(7)迭代:重复步骤(2)至(6),直至满足终止条件。

2.2 实验实现本实验使用Python语言实现遗传算法求解TSP问题。

以下为实现过程中的关键代码:(1)初始化种群```pythondef initialize_population(city_num, population_size): population = []for _ in range(population_size):individual = list(range(city_num))random.shuffle(individual)population.append(individual)return population```(2)计算适应度```pythondef calculate_fitness(population, distance_matrix): fitness = []for individual in population:path_length =sum([distance_matrix[individual[i]][individual[i+1]] for i in range(len(individual) 1)])fitness.append(1 / path_length)return fitness```(3)选择操作```pythondef selection(population, fitness, population_size): selected_population = []fitness_sum = sum(fitness)fitness_probability = [f / fitness_sum for f in fitness]for _ in range(population_size):individual = random.choices(population, fitness_probability)[0]selected_population.append(individual)return selected_population```(4)交叉操作```pythondef crossover(parent1, parent2):index1 = random.randint(0, len(parent1) 2)index2 = random.randint(index1 + 1, len(parent1) 1)child1 = parent1[:index1] +parent2[index1:index2] + parent1[index2:]child2 = parent2[:index1] +parent1[index1:index2] + parent2[index2:]return child1, child2```(5)变异操作```pythondef mutation(individual, mutation_rate):for i in range(len(individual)):if random.random() < mutation_rate:j = random.randint(0, len(individual) 1) individual[i], individual[j] = individual[j], individual[i]return individual```(6)更新种群```pythondef update_population(parent_population, child_population, fitness):fitness_sum = sum(fitness)fitness_probability = [f / fitness_sum for f in fitness]new_population =random.choices(parent_population + child_population, fitness_probability, k=len(parent_population)) return new_population```(7)迭代```pythondef genetic_algorithm(city_num, population_size, crossover_rate, mutation_rate, max_iterations): distance_matrix =create_distance_matrix(city_num)population = initialize_population(city_num, population_size)for _ in range(max_iterations):fitness = calculate_fitness(population, distance_matrix)selected_population = selection(population, fitness, population_size)parent_population = []child_population = []for i in range(0, population_size, 2):parent1, parent2 = selected_population[i], selected_population[i+1]child1, child2 = crossover(parent1, parent2)child1 = mutation(child1, mutation_rate)child2 = mutation(child2, mutation_rate)parent_population.extend([parent1, parent2]) child_population.extend([child1, child2])population =update_population(parent_population, child_population, fitness)best_individual =population[fitness.index(max(fitness))]best_path_length =sum([distance_matrix[best_individual[i]][best_individual[i +1]] for i in range(len(best_individual) 1)])return best_individual, best_path_length```三、实验结果与分析3.1 实验结果本实验选取了10个城市进行测试,遗传算法参数设置如下:种群大小:50交叉率:0.8变异率:0.1最大迭代次数:100实验得到的最佳路径长度为:1953.53.2 实验分析(1)参数设置对算法性能的影响种群大小:种群大小会影响算法的搜索能力和收敛速度。

实验6-实验六 二元合金显微组织分析

实验6-实验六 二元合金显微组织分析

序号: 1200134000101组别: 5深圳大学实验报告课程名称:材料科学基础实验实验项目名称:二元合金显微组织分析学院:材料学院专业:材料科学与工程指导教师:钱海霞报告人:叶淳懿学号:2016200084 班级:实验时间:2018.12.19实验报告提交时间:教务部制数据处理分析纯铁,退火态,4%硝酸酒精腐蚀,物镜10倍,铁素体(α相)由图可知,经过4%硝酸酒精腐蚀的退火态纯铁拥有大小较为明显和均匀的晶粒,且均为铁素体(α相)。

由熔融态纯铁随着温度下降,先析出δ相铁;随着温度继续下降,δ相铁发生转变变成γ相铁。

当温度降至912℃时,γ相铁开始转变为α相铁,即图中铁素体。

20钢,退火态,4%硝酸酒精腐蚀,物镜10倍,铁素体,珠光体经过4%硝酸酒精腐蚀的退火态20钢图中有浅色与黑色两种晶粒分散分布,其中浅色为铁素体,黑色为珠光体。

为亚共析钢。

20钢冷却时先匀晶转变析出δ相固溶体,之后发生包晶转变析出γ相,此时仍有δ相,但随着温度降低全部转变为奥氏体。

温度继续冷却,开始析出铁素体,并逐渐增多。

在770℃发生共析转变形成珠光体(α+FeC)。

345钢,退火态, 4%硝酸酒精腐蚀,物镜10倍,铁素体,珠光体45钢也是亚共析钢,由图可知,相比起20钢,黑色的珠光体含量更加多,且珠光体的晶粒更大。

45钢冷却时先匀晶转变析出δ相固溶体,之后发生包晶转变析出γ相,此时仍有液相,但随着温度降低全部转变为奥氏体。

其余过程与20钢相比并无太大差异,不再赘述。

60钢,退火态,4%硝酸酒精腐蚀,物镜10倍,铁素体,珠光体由图可知60钢仍是亚共析钢,但绝大部分已经是珠光体了,浅色的铁素体只占其中很小的一部分。

45钢冷却时直接匀晶转变析出γ相,无δ相析出。

其余过程与20钢相似,不再赘述。

T8钢,退火态,4%硝酸酒精腐蚀,物镜40倍,铁素体,渗碳体,珠光体T8钢为共析钢,从图中可看到黑绿色为渗碳体,浅色为铁素体。

他们共同构成了珠光体。

实验六

实验六

(2)悬滴法 (a)在洁净凹载玻片周围涂少许凡士林。 (b)在盖玻片中央滴一小滴菌液,或用接种环取 1—2环菌液置于中央。 (c)将凹玻片反转,使凹窝中心对准盖玻片上的 菌液滴,液滴不得与凹玻片接触,以接种环柄轻压 使盖玻片与凹玻片粘在一起,液滴处于封闭的小室 中,防止液滴干燥和气流的影响。 (d)小心将凹玻片翻转过来,使菌滴仍悬浮在盖 玻片下和凹窝中心。 (e)先用低倍镜找到悬滴边缘,再用高倍镜观察。 观察时光线要调得暗一些。
五、实验报告
接物镜 接物镜倍 目镜测微尺 镜台测微尺 数 格数 格数 低倍镜 高倍镜 油 镜
接目镜放大倍数: 接目镜放大倍数:_______________
1.结果 (1)将目镜测微尺校正结果填人下表:
目镜测微尺每 格代表的长 度/pm
五、实验报告
宽 长 微生物 目镜测微 名称 尺每格 (2)将各菌测定结果填人 下表: 代表的 长度 /µm 目镜测 宽度/ 目镜测 长度 µm /µm 微尺 微尺 格数 格数 大肠杆 菌 酿酒酵 母 金葡球 菌 菌体大 小范 围 /µm
三、实验器材 菌种:大ห้องสมุดไป่ตู้杆菌。 仪器或其他用具 、凡士林、凹载玻片、 盖玻片、镊子、显微镜等。
四、操作步骤 (1)压滴法 (A)制片:在载玻片上加一滴生理盐水,挑取一环 菌液与水混合,加一环万分之一的美蓝水溶液混匀。 用镊子夹一洁净的盖玻片,使其一边先接触菌液, 然后将整个盖玻片慢慢放下,注意不要产生气泡。 (B)镜检:先以低倍镜找到标本,再用高倍镜观察, 观察时光线要调得暗些。 有鞭毛细菌可做直线、波浪式或翻滚运动,两个细 胞之间出现明显的位移,区别与布朗运动。
细菌的运动性观察
一、目的要求 学习用压滴法和悬滴法观察细菌的运动性 二、实验原理

有机化学实验报告分馏

有机化学实验报告分馏

有机化学实验报告分馏有机化学实验六简单分馏有机化学实验六简单分馏实验六简单分馏一.实验目的:1. 了解分馏的原理和意义,分馏柱的种类和选用的方法。

2. 学习实验室里常用分馏的操作方法。

二.实验重点和难点:1. 简单分馏原理;2. 分馏的操作方法;实验类型:基础性实验学时:4学时三.实验装置和药品:主要实验仪器:酒精灯圆底烧瓶分馏柱冷凝管接液器温度计量筒锥形瓶(3个)主要化学试剂:甲醇和水的混合物(1:1) 50mL沸石四.实验装置图:五.实验原理:1. 分馏:是应用分馏柱将几种沸点相近的混合物进行分离的方法。

它在化学工业和实验室中分离液态的有机化合物的常用方法之一。

普通的蒸馏技术要求其组分的沸点至少要相差30℃,才能用蒸馏法分离。

但对沸点相近的混合物,用蒸馏法不可能将它们分开。

若要获得良好的分离效果,就非得采用分馏不可。

现在最精密的分馏设备巳能将沸点相差仅1--2℃的混合物分开,利用蒸馏或分馏来分离混合物的原理是一样,实际上,分馏就是多次蒸馏。

基本原理:2. 蒸馏是提纯液体物质和分离混合物的一种常用方法。

蒸馏时混合液体中各组分的沸点要相差30℃以上,才可以进行分离。

应用分馏柱将几种沸点相近的混合物进行分离的方法称为分馏。

它在化学工业和实验室中被广泛应用。

现在最精密的分馏设备已能将沸点相差仅1-2℃的混合物分开。

利用分馏来分离混合物的原理与蒸馏是一样的,实际上分馏就是多次蒸馏。

有机化学实验六简单分馏将几种具有不同沸点而又可以完全互溶的液体混合物加热,当其总蒸气压等于外界压力时,就开始沸腾气化,蒸气中易挥发液体的成分较在原混合液中为多。

为了简化,我们仅讨沦混合物是二组分理想溶液的情况,所谓理想溶液即是指在这种溶液中,相同分子间的相互作用与不同分子间的相互作用是一样的。

也就是各组分在混合时无热效应产生,体积没有改变。

只有理想溶液才遵守拉乌尔定律。

拉乌尔定律溶液中每一组分的蒸气压等于此纯物质的蒸气压和它在溶液中的摩尔分数的乘积。

实验六_网络攻击与防范

实验六_网络攻击与防范

《网络攻击与防范》实验报告(2)单击“下一步”按钮·进人如图 4-2 所示的“禁止功能选项”设定界面.根据需要进行设定。

例如。

如果选中“禁止右键菜单”复选框.当运行了该病毒后.右击时将无法弹出快捷菜单。

图 4-2 设置“禁止功能选项”(3)单击“下一步”按钮.进入如图 4-3 所示的“病毒提示对话框”设定界面时。

根据需要设置有关开机时病毒的执行情况。

当选中“设置开机提示对话框”复选框.并设置了提示框标题和内容等后,相关信息将以对话框方式在开机时自动显示图4-3 设置开机时病毒的执行情况(4)单击“下一步”按钮,进入如图 4-4 所示的“病毒传播选项”设定界面,根据需要进行设定。

当选中“通过电子邮件进行自动传播(蠕虫)”复选框时.病毒可以向指定数量的用户发送垃圾邮件。

图4-3 设置开机时病毒的执行情况下一步夏上一步图4-4“病毒传播选项”设定界面(5)单击“下一步”按钮,进入“IE 修改选项”设定界面,根据需要进行设定。

注意.当选中“设置默认主页”复选框后,会弹出“设置主页”对话框,需要读者输人要修改的IE 浏览器主页地址(即每次打开IE 浏览器时默认打开的主页地址).如图 4-5 所示图4-5设置IE浏览器修改选项(6)单击“下一步”按钮,在出现的如图 4-6 所示的对话框中选择所生成的脚本病毒存放的位置,单击“开始制造”按钮,生成病毒文件。

图4-6选择所生成的脚本病毒存放的位置此时,可看到相应路径下,已经生成了脚本病毒文件3.2感染病毒并观察感染后的系统变化情况(1)将生成的脚本病毒文件置于虚拟机中,在其上双击使之运行。

为保证完整准确地查看病毒的感染效果.可重启已经感染了病毒的虚拟机系统。

然后,根据病毒文件生成时的设置,观察系统感染了病毒后的表现情况。

主要操作步骤如下。

(2)观察系统文件夹下的异常变化,可以发现,在 C:\ Windows,C:\Windows\system32下多了不明来源的脚本文件。

最新实验六(实验报告)

最新实验六(实验报告)

最新实验六(实验报告)实验目的:本次实验旨在探究特定物质在不同条件下的反应特性,以及通过实验数据分析物质的性质和变化规律。

通过对实验过程的观察和结果的记录,加深对理论知识的理解,并提高实验操作技能。

实验材料:1. 试样:待测物质样品2. 试剂:所需的化学反应试剂3. 仪器:天平、烧杯、量筒、滴定管、温度计、pH计、光谱仪等实验步骤:1. 准备阶段:根据实验要求,准确称取适量的试样和试剂,准备好所有实验仪器。

2. 实验操作:按照实验指导书的步骤,进行化学反应操作,记录下每个步骤的具体条件,如温度、pH值、反应时间等。

3. 数据收集:对反应过程中产生的数据进行收集,包括但不限于颜色变化、沉淀形成、气泡产生等。

4. 结果分析:根据收集到的数据,分析反应过程中物质的变化,以及反应的动力学特征。

5. 结论撰写:根据实验结果,撰写实验结论,总结物质的性质和反应特点。

实验结果:1. 反应速率:通过观察和记录,发现在特定条件下,反应速率与预期相符,具体数据见附录。

2. 产物分析:实验中产生的主要产物为X和Y,通过光谱分析确认了其结构。

3. 副反应:在实验过程中,未观察到明显的副反应现象。

4. 影响因素:实验中发现温度和pH值对反应速率有显著影响。

实验讨论:本次实验中,反应的速率和产物与理论预测基本一致,但在实际操作中存在一定的误差,可能的原因包括实验操作的不精确、环境条件的波动等。

未来可以通过改进实验方法和控制实验条件来减少误差。

结论:通过本次实验,我们成功地研究了特定物质在不同条件下的反应特性,并通过数据分析得到了物质的性质和反应规律。

实验结果对理解相关化学反应机制具有重要意义,并为进一步的实验研究提供了基础。

计算机网络课程实验6

计算机网络课程实验6

计算机网络课程实验报告《用户数据报协议(UDP)》一、实验内容IPV4协议实验六:用户数据报协议UDP二、实验原理一. 进程到进程的通信在学习UDP协议之前,首先应该了解主机到主机的通信和进程到进程的通信,以及这两种通信之间的区别。

IP协议负责主机到主机的通信。

作为一个网络层协议,IP协议只能把报文交付给目的主机。

这是一种不完整的交付,因为这个报文还没有送交到正确的进程。

像UDP这样的传输层协议负责进程到进程的通信。

UDP协议负责把报文交付到正确的进程。

下图描绘了IP协议和UDP协议的作用范围。

图6-1 UDP与IP的区别1. 端口号在网络中,主机是用IP地址来标识的。

而要标识主机中的进程,就需要第二个标识符,这就是端口号。

在TCP/IP协议族中,端口号是在0~65535之间的整数。

在客户/服务器模型中,客户程序使用端口号标识自己,这种端口号叫做短暂端口号,短暂的意思是生存时间比较短。

一般把短暂端口取为大于1023的数,这样可以保证客户程序工作得比较正常。

服务器进程也必须用一个端口号标识自己。

但是这个端口号不能随机选取。

如果服务器随机选取端口号,那么客户端在想连接到这个服务器并使用其服务的时候就会因为不知道这个端口号而无法连接。

TCP/IP协议族采用熟知端口号的办法解决这个问题。

每一个客户进程都必须知道相应的服务器进程熟知端口号。

UDP的熟知端口号如下表所示:表6-1 UDP的熟知端口号在一个IP数据包中,目的IP地址和端口号起着不同的寻址作用。

目的IP地址定义了在世界范围内惟一的一台主机。

当主机被选定后,端口号定义了在这台主机上运行的多个进程中的一个。

2. 套接字地址一个IP地址与一个端口号结合起来就叫做一个套接字地址。

客户套接字地址惟一地定义了客户进程,而服务器套接字地址惟一地定义了服务器进程。

要使用UDP的服务,就需要一对套接字地址:客户套接字地址和服务器套接字地址。

客户套接字地址指定了客户端的IP地址和客户进程,服务器套接字地址指定了服务器的IP地址和服务器进程。

实验六二叉树实验报告

实验六二叉树实验报告

实验四二叉树的操作班级:计算机1002班姓名:唐自鸿学号:201003010207 完成日期:2010.6.14 题目:对于给定的一二叉树,实现各种约定的遍历。

一、实验目的:(1)掌握二叉树的定义和存储表示,学会建立一棵特定二叉树的方法;(2)掌握二叉树的遍历算法(先序、中序、后序遍历算法)的思想,并学会遍历算法的递归实现和非递归实现。

二、实验内容:构造二叉树,再实现二叉树的先序、中序、后序遍历,最后统计二叉树的深度。

三、实验步骤:(一) 需求分析1. 二叉树的建立首先要建立一个二叉链表的结构体,包含根节点和左右子树。

因为树的每一个左右子树又是一颗二叉树,所以用递归的方法来建立其左右子树。

二叉树的遍历是一种把二叉树的每一个节点访问并输出的过程,遍历时根结点与左右孩子的输出顺序构成了不同的遍历方法,这个过程需要按照不同的遍历的方法,先输出根结点还是先输出左右孩子,可以用选择语句来实现。

2.程序的执行命令为:1)构造结点类型,然后创建二叉树。

2)根据提示,从键盘输入各个结点。

3)通过选择一种方式(先序、中序或者后序)遍历。

4)输出结果,结束。

(二)概要设计1.二叉树的二叉链表结点存储类型定义typedef struct Node{DataType data;struct Node *LChild;struct Node *RChild;}BitNode,*BitTree;2.建立如下图所示二叉树:void CreatBiTree(BitTree *bt)用扩展先序遍历序列创建二叉树,如果是当前树根置为空,否则申请一个新节点。

3.本程序包含四个模块1) 主程序模块:2)先序遍历模块3)中序遍历模块4)后序遍历模块4.模块调用关系:主程序模块(三)详细设计1.建立二叉树存储类型//==========构造二叉树=======void CreatBiTree(BitTree *bt)//用扩展先序遍历序列创建二叉树,如果是当前树根置为空,否则申请一个新节点//{char ch;ch=getchar();if(ch=='.')*bt=NULL;else{*bt=(BitTree)malloc(sizeof(BitNode));//申请一段关于该节点类型的存储空间(*bt)->data=ch; //生成根结点CreatBiTree(&((*bt)->LChild)); //构造左子树CreatBiTree(&((*bt)->RChild)); //构造右子树}}2. 编程实现以上二叉树的前序、中序和后序遍历操作,输出遍历序列1)先序遍历二叉树的递归算法如下:void PreOrder(BitTree root){if (root!=NULL){Visit(root ->data);PreOrder(root ->LChild); //递归调用核心PreOrder(root ->RChild);}}2)中序遍历二叉树的递归算法如下:void InOrder(BitTree root){if (root!=NULL){InOrder(root ->LChild);Visit(root ->data);InOrder(root ->RChild);}}3)后序遍历二叉树的递归算法如下:void PostOrder(BitTree root){if(root!=NULL){PostOrder(root ->LChild);PostOrder(root ->RChild);Visit(root ->data);}}4)计算二叉树的深度算法如下:int PostTreeDepth(BitTree bt) //求二叉树的深度{int hl,hr,max;if(bt!=NULL){hl=PostTreeDepth(bt->LChild); //求左子树的深度hr=PostTreeDepth(bt->RChild); //求右子树的深度max=hl>hr?hl:hr; //得到左、右子树深度较大者return(max+1); //返回树的深度}else return(0); //如果是空树,则返回0}四、调试分析及测试结果1. 进入演示程序后的显示主界面:请输入二叉树中的元素;先序、中序和后序遍历分别输出结果。

分析化学实验报告6

分析化学实验报告6

实验报告要求
一、实验名称 二、仪器试剂 三、基本原理 四、实验步骤 五、实验结果 六、问题解答 七、总结与反思
实验一、酸碱滴定基本操作练习
一、配液
1. 0.1mol/L NaOH溶液400ml
称NaOH (
)克
2. 0.1mol/L HCl溶液400ml 量取12mol/L 的HCl (
)ml
二、练习
铬黑T pH=10
M + In = MIn 颜色A 颜色B
蓝色
红色
当达到反应的化学计量点时
MIn + Y = MY + In
颜色B
颜色A
铬黑T
红色
蓝色
Kf:CaY > MgY > MgIn > CaIn
铬黑T 铬黑T
在滴定开始时 pH=10
Mg + In = MgIn 颜色A 颜色B
蓝色
红色
当达到反应的化学计量点时
Kb1=10-9,
Kb2=6.40 × 10-12
答:不能。 Kb1/Kb2 < 104 。
Kb2Ө<10-7,不能被准确滴定。
4. 称取0.4g邻苯二甲酸氢钾溶于50mL水中,问此时溶液pH 为多少?
两性物质水溶液的酸碱性:
c(H ) Ka (B) Ka (A)
Ka (B)
是B的共轭酸的酸解离常数
Ka2=1.8 × 10-5 , Ka3=4.0 × 10-7
Ka2=4.3 × 10-5
不能
不能
答:不能。用分步滴定的公式判断可知。
多元酸能够分步滴定的条件为: Ka1/Ka2≥ 104 。
3. Na2C2O4能否作为酸碱滴定的基准物质? 为什么?
草 酸: Ka1=5.90×10-2, Ka2=6.40 × 10-5

实验六 触发器实验报告

实验六 触发器实验报告

实验六触发器实验报告一、实验目的本次实验的主要目的是深入理解触发器的工作原理和应用,通过实际操作和观察,掌握触发器在数字电路中的功能和特性。

二、实验原理触发器是一种具有记忆功能的基本逻辑单元,能够存储一位二进制信息。

常见的触发器类型有 SR 触发器、JK 触发器、D 触发器和 T 触发器等。

以 D 触发器为例,其工作原理是在时钟脉冲的上升沿或下降沿,将输入数据D 传递到输出端Q。

在没有时钟脉冲时,输出状态保持不变。

三、实验设备与材料1、数字电路实验箱2、 74LS74 双 D 触发器芯片3、示波器4、导线若干四、实验内容与步骤1、用 74LS74 芯片搭建 D 触发器电路将芯片插入实验箱的插座中,按照芯片引脚功能连接电源、地和输入输出引脚。

使用导线将 D 输入端连接到逻辑电平开关,将时钟输入端连接到脉冲信号源,将 Q 和 Q'输出端连接到发光二极管或逻辑电平指示器。

2、测试 D 触发器的功能置 D 输入端为高电平(1),观察在时钟脉冲作用下 Q 输出端的变化。

置 D 输入端为低电平(0),再次观察时钟脉冲作用下 Q 输出端的变化。

3、观察 D 触发器的异步置位和复位功能将异步置位端(PRE)和异步复位端(CLR)分别连接到逻辑电平开关,测试在置位和复位信号作用下触发器的状态。

4、用示波器观察时钟脉冲和 Q 输出端的波形将示波器的探头分别连接到时钟脉冲输入端和 Q 输出端,调整示波器的设置,观察并记录波形。

五、实验结果与分析1、在 D 输入端为高电平时,每当时钟脉冲的上升沿到来,Q 输出端变为高电平;在D 输入端为低电平时,每当时钟脉冲的上升沿到来,Q 输出端变为低电平,验证了 D 触发器的正常功能。

2、当异步置位端(PRE)为低电平时,无论其他输入如何,Q 输出端立即变为高电平;当异步复位端(CLR)为低电平时,Q 输出端立即变为低电平,表明异步置位和复位功能有效。

3、从示波器观察到的波形可以清晰地看到时钟脉冲与 Q 输出端的关系,进一步验证了触发器的工作特性。

实验六胶体溶液的制备与性质

实验六胶体溶液的制备与性质

韩山师院化学系化学专业物理化学实验课实验报告实验六胶体溶液的制备与性质实验目的:了解水溶胶的制备方法及胶体溶液的一些性质。

实验原理:分散相的粒子直径在10-9~10-7m之间的分散物系叫做胶体。

胶体物系的制备方法有两种:一种是分散法,使粒子较大的物质分散成胶体物系;另一种是凝聚法,使溶质分子原子或者离子自行结合成胶粒大小而形成溶胶。

本实验利用凝聚法制备Fe(OH)3溶胶和MnO2溶胶。

通常溶胶都具有比较稳定性质,如可以在密闭条件下保持比较长的时间而不会产生沉淀,原因在于胶粒具有一定的ζ电位和溶剂化膜,故当加入一定的电解质时,胶粒电性相反的溶胶或其它物质使ζ电位降低,溶剂化膜变薄时,胶体变得不稳定并发生聚沉。

本实验研究正溶胶Fe(OH)3和负溶胶MnO2的这些性质及渗析作用。

实验用品:仪器:酸式滴定管(50mL)、试管15支、烧杯(25mL×2,100mL×1)、量筒(100mL×1,50mL×1,10mL×1)丁达尔现象观察筒、试管架、锥形瓶(250mL×6)、移液管(25mL×1,2mL×2,1mL×4)玻璃棒、吸量管(10mL×1、2mL×2,1mL×1)、酒精灯、三脚架。

试剂:1mol/L盐酸、0.1mol/L KMnO4溶液、2.5mol/L KCl溶液、5% 氨水、0.01mol/L K2CrO4溶液、10% FeCl3溶液、1% H2O2溶液、0.001mol/L K3[Fe(CN)6]溶液、1mol/L Na2S2O3溶液实验内容及其现象记录:问题与讨论:1、用量筒量取190mL蒸馏水进行加热一定要沸腾后才能逐滴加入10mL10% FeCl3溶液。

2、在制取MnO2溶胶时,滴加H2O2时一定要慢慢滴加,充分搅拌,否则会产生沉淀,当用玻棒醮取该溶液点于滤纸时把滤纸染为粉红色,应注意要求外围的一小圈为粉红色,中间大部分是黄褐色,否则还得继续滴加1% H2O2溶液。

实验六:文件操作

实验六:文件操作

西华大学实验报告(理工类)开课学院及实验室: 实验时间 : 年 月 日一、实验目的1、了解C#对于不同类型文件的读写方式。

2、学会使用System.IO.File 和System.IO.FileInfo 两个类用来对文件进行操作。

3、学会使用C#进行常用的文件操作。

4、学会使用System.IO.Directory 和System.IO.DirectoryInfo 两个类来对目录进行操作。

5、掌握C#对XML 的操作方法。

二、实验原理1、文件与目录管理是操作系统的一个重要组成部分,包括文件和目录的创建、移动、删除、复制以及对文件的读写等操作。

对于不同类型的文件C#提供了不同的读写方式。

2、System.IO.File 类的成员都是静态的,多用于对文件的一次性操作,System.IO.FileInfo 类是实例化类,多用于对文件的重复操作,可根据实际情况合理选用适合的文件操作类。

3、C#提供多种方式用于实现某一特定文件操作,包括:创建文件、读取文件、追加内容、复制文件、删除文件、移动文件等。

4、Directory 类提供用于创建、移动和枚举目录和子目录的静态方法,在使用时需要引用System.IO 命名空间。

5、DirectoryInfo 类提供用于创建、移动和枚举目录和子目录的实例方法。

6、C#提供多种方式用于实现某一特定目录操作,包括:创建目录、删除目录、移动目录、创建子目录、枚举目录中的目录名、枚举目录中的文件名、判断目录是否存在等。

7、XML (可扩展标记语言)可以对文档和数据进行结构化处理,被广泛应用于在网络上传输和存储数据。

8、序列化就是将对象的状态信息转换为可以存储或传输形式的过程,就是将对象持久化比如把对象保存为二进制或者XML 的方式。

三、实验设备、仪器及材料Windows环境计算机、Visual Studio 2012软件四、实验步骤(按照实际操作过程)1、要求:将来自于网络上的水浒 108 个人物的信息从一个文本文件中抽取出任务信息字段,包括每个人物的“所属星”、“绰号”、“姓名”、“说明”,将抽取出来的信息字段按人物逐条写入形成一个 Excel 文件,实现对水浒 108 个人物信息的整理。

《计算机网络》实验六 静态路由配置 实验报告

《计算机网络》实验六 静态路由配置 实验报告

实验报告六班级:07东方信息姓名:学号:实验时间:10年5月17日机房:9#205 组号:机号:A一、实验题目静态路由配置二、实验设备CISCO路由器、专用电缆、网线、CONSOLE线、PC机三、实验内容1了解路由器的功能2在CISCO路由器上设置和验证静态路由3配置缺省路由四、原理实现网络的互连互通,从而实现信息的共享和传输。

静态路由实验网络拓扑结构图:五、实际步骤步骤1:初始化设置(1)按照图4-1的网络拓扑结构,连接好PC与路由器的网线、PC与路由器Console端口的调试电缆、路由器与路由器之间的V.35电缆。

(2)按照图4-1要求,在PC1、PC2计算机中设置好IP地址、子网掩码、默认网关。

然后利用Ping命令测试两台PC机之间的连通性。

模拟器也按以上配置。

(3)在PC机上启动“超级终端”。

步骤2:路由器 Route A 的基础配置7-A#show runBuilding configuration...Current configuration : 826 bytes!version 12.3service timestamps debug datetime msecservice timestamps log datetime msecno service password-encryption!hostname 7-A!boot-start-markerboot-end-marker!enable password cisco!no network-clock-participate aim 0no network-clock-participate aim 1no aaa new-modelip subnet-zero!!ip cef!!no ftp-server write-enable!!!!interface FastEthernet0/0ip address 10.7.3.1 255.255.255.0duplex autospeed auto!interface FastEthernet0/1ip address 10.7.1.1 255.255.255.0 duplex autospeed auto!interface Serial0/3/0ip address 172.17.200.5 255.255.255.252 no fair-queue!interface Serial0/3/1no ip addressshutdownclockrate 2000000!ip classlessip http server!!!control-plane!!line con 0line aux 0line vty 0 4password ciscologin!scheduler allocate 20000 1000!End步骤3:路由器Route B 的基础配置7-B#show runBuilding configuration...Current configuration : 868 bytes!version 12.3service timestamps debug datetime msec service timestamps log datetime msecno service password-encryption!hostname 7-B!boot-start-markerboot-end-marker!enable password cisco!no network-clock-participate aim 0no network-clock-participate aim 1no aaa new-modelip subnet-zero!!ip cef!!no ftp-server write-enable!!!!interface FastEthernet0/0ip address 10.7.3.1 255.255.255.0 shutdownduplex autospeed auto!interface FastEthernet0/1ip address 10.7.2.1 255.255.255.0 duplex autospeed auto!interface Serial0/3/0ip address 172.17.200.6 255.255.255.252 no fair-queueclockrate 128000!interface Serial0/3/1bandwidth 64no ip addressshutdownclockrate 2000000!ip classlessip http server!!!control-plane!!line con 0line aux 0line vty 0 4password ciscologin!scheduler allocate 20000 1000!end步骤4:在 Route A 上配置静态路由7-A(config)#ip route 10.7.2.0 255.255.255.0 172.17.200.67-A(config)#10.7.4.0 255.255.255.0 172.17.200.6步骤5:检查9-A上的路由表7-A#show ip routeCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is not set172.17.0.0/30 is subnetted, 1 subnetsC 172.17.200.4 is directly connected, Serial0/3/010.0.0.0/24 is subnetted, 4 subnetsS 10.7.4.0 [1/0] via 172.17.200.6C 10.7.1.0 is directly connected, FastEthernet0/1C 10.7.3.0 is directly connected, FastEthernet0/0S 10.7.2.0 [1/0] via 172.17.200.6步骤6:Ping 7-B的FastEthernet端口的地址。

实验六鉴频器实验报告

实验六鉴频器实验报告

5. 鉴频电路 ①斜率鉴频器Fra bibliotek风 优点:电路简单 缺点:鉴频特性受回路 Q 值影响 Q 值大,灵敏度高,线性范围窄; Q 值小,线性范围宽,但灵敏度低。
②相位鉴频器
耦合回路有电感耦合和电容耦合两种,本实验采用电容耦合方式。 鉴相器有叠加型和乘积型两种 , 本实验采用两个并联二极管构成的叠加型鉴相电
路。
实验六 鉴频器
——PB12210187 魏劲松,PB12210235 李炎
一、实验目的
1、了解鉴频器的基本原理。 2、掌握用频谱仪测量鉴频特性曲线的方法。
二、实验仪器、设备
1. 《ZKDFXD-Ⅰ》条幅与调频接收模块 2.GPD-3303D 直流稳压源 3.SDG5112 函数/任意波形发生器 4.DSO-X 2014A 数字存储示波器 5.SA1010 频谱分析仪
2、分析鉴频器输出波形出现失真的原因,实验中应如何保证鉴频输出不失 真?
答: 频率偏移超过了鉴频带宽时会发生波形失真。 在实验中要先测量鉴频带宽和中 心频率,然后合理的选择鉴频带宽
uo K d (U R1 U R 2 ) 0
I jC 3 U 1
U R 1 K r U1 U 2 / 2

f > fc 时,
uo K d (U R1 U R 2 ) 0
U R 2 K r U1 U 2 / 2


f < fc 时:
uo K d (U R1 U R 2 ) 0
从上倒下看图: 第一条为限幅放大输出波形 第二条为 分频输出波形
第三条为整型输出波形
/KHz /
50 0.28
100 0.51
150 0.77

java实验报告:实验六

java实验报告:实验六

java实验报告:实验六一、实验目的本次实验的主要目的是深入理解和掌握 Java 中的一些关键概念和技术,包括面向对象编程的特性、异常处理机制以及文件操作等。

通过实际的编程实践,提高我们运用 Java 解决实际问题的能力。

二、实验环境本次实验使用的开发工具是 IntelliJ IDEA,操作系统为 Windows 10。

三、实验内容(一)面向对象编程实践1、定义一个名为“Student”的类,包含学生的姓名、学号和成绩等属性,并实现相应的 getter 和 setter 方法。

2、在主函数中创建“Student”类的对象,并对其属性进行赋值和输出。

(二)异常处理1、编写一个方法,实现两数相除的运算。

如果除数为 0,抛出“ArithmeticException”异常。

2、在主函数中调用该方法,并使用trycatch 语句捕获并处理异常。

(三)文件操作1、创建一个文本文件,并向其中写入一些数据。

2、读取该文件中的数据,并将其输出到控制台。

四、实验步骤(一)面向对象编程实践1、首先,在 IntelliJ IDEA 中创建一个新的 Java 项目。

2、然后,创建“Student”类,代码如下:```javapublic class Student {private String name;private int studentId;private double score;public String getName(){return name;}public void setName(String name) {thisname = name;}public int getStudentId(){return studentId;}public void setStudentId(int studentId) {thisstudentId = studentId;}public double getScore(){return score;}public void setScore(double score) {thisscore = score;}}```3、在主函数中创建“Student”类的对象,并对其属性进行赋值和输出,代码如下:```javapublic class Main {public static void main(String args) {Student student = new Student();studentsetName("张三");studentsetStudentId(1001);studentsetScore(905);Systemoutprintln("学生姓名:"+ studentgetName());Systemoutprintln("学生学号:"+ studentgetStudentId());Systemoutprintln("学生成绩:"+ studentgetScore());}}```(二)异常处理1、编写一个名为“divide”的方法,实现两数相除的运算,代码如下:```javapublic class ExceptionHandling {public static double divide(double num1, double num2) {if (num2 == 0) {throw new ArithmeticException("除数不能为 0");}return num1 / num2;}public static void main(String args) {try {double result = divide(10, 0);Systemoutprintln("结果:"+ result);} catch (ArithmeticException e) {Systemoutprintln("捕获到异常:"+ egetMessage());}}}```(三)文件操作1、创建一个名为“FileOperation”的类,用于实现文件的写入和读取操作,代码如下:```javaimport javaioBufferedWriter;import javaioFileWriter;import javaioIOException;import javaioBufferedReader;import javaioFileReader;public class FileOperation {public static void writeToFile(String filePath, String content) {try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))){writerwrite(content);} catch (IOException e) {eprintStackTrace();}}public static String readFromFile(String filePath) {StringBuilder content = new StringBuilder();try (BufferedReader reader = new BufferedReader(new FileReader(filePath))){String line;while ((line = readerreadLine())!= null) {contentappend(line)append("\n");}} catch (IOException e) {eprintStackTrace();}return contenttoString();}public static void main(String args) {String filePath ="testtxt";String data ="这是写入文件的内容";writeToFile(filePath, data);String readData = readFromFile(filePath);Systemoutprintln("读取到的文件内容:\n" + readData);}}```五、实验结果(一)面向对象编程实践成功创建了“Student”类的对象,并正确地对其属性进行了赋值和输出。

数值分析实验报告--实验6--解线性方程组的迭代法

数值分析实验报告--实验6--解线性方程组的迭代法

1 / 8数值分析实验六:解线性方程组的迭代法2016113 张威震1 病态线性方程组的求解1.1 问题描述理论的分析表明,求解病态的线性方程组是困难的。

实际情况是否如此,会出现怎样的现象呢?实验内容:考虑方程组Hx=b 的求解,其中系数矩阵H 为Hilbert 矩阵,,,1(),,,1,2,,1i j n n i j H h h i j n i j ⨯===+-这是一个著名的病态问题。

通过首先给定解(例如取为各个分量均为1)再计算出右端b 的办法给出确定的问题。

实验要求:(1)选择问题的维数为6,分别用Gauss 消去法、列主元Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法求解方程组,其各自的结果如何?将计算结果与问题的解比较,结论如何?(2)逐步增大问题的维数(至少到100),仍然用上述的方法来解它们,计算的结果如何?计算的结果说明了什么?(3)讨论病态问题求解的算法1.2 算法设计首先编写各种求解方法的函数,Gauss 消去法和列主元高斯消去法使用实验5中编写的函数myGauss.m 即可,Jacobi 迭代法函数文件为myJacobi.m ,GS 迭代法函数文件为myGS.m ,SOR 方法的函数文件为mySOR.m 。

1.3 实验结果1.3.1 不同迭代法球求解方程组的结果比较选择H 为6*6方阵,方程组的精确解为x* = (1, 1, 1, 1, 1, 1)T ,然后用矩阵乘法计算得到b ,再使用Gauss 顺序消去法、Gauss 列主元消去法、Jacobi 迭代法、G-S 迭代法和SOR 方法分别计算得到数值解x1、x2、x3、x4,并计算出各数值解与精确解之间的无穷范数。

Matlab 脚本文件为Experiment6_1.m 。

迭代法的初始解x 0 = (0, 0, 0, 0, 0, 0)T ,收敛准则为||x(k+1)-x(k)||∞<eps=1e-6,SOR方法的松弛因子选择为w=1.3,计算结果如表1。

rfid原理的六个实验报告

rfid原理的六个实验报告

rfid原理的六个实验报告RFID 原理的六个实验报告一、实验目的本次实验的主要目的是深入探究射频识别(RFID)技术的工作原理,通过六个具体的实验,亲身体验和理解 RFID 系统中信号的传输、数据的编码与解码、读写器与标签之间的通信协议等关键知识点,为进一步掌握和应用该技术打下坚实的基础。

二、实验设备与材料1、 RFID 读写器及配套天线2、多种类型的 RFID 标签(包括无源标签、有源标签等)3、计算机及相关软件4、示波器5、电源供应器三、实验一:RFID 信号频率测量实验步骤1、将 RFID 读写器与天线正确连接,并接通电源。

2、将示波器探头连接到读写器的信号输出端口。

3、启动读写器,使其发送射频信号。

4、通过示波器观察并测量信号的频率。

实验结果经过多次测量和记录,发现读写器发送的射频信号频率稳定在_____MHz 左右,与预期的工作频率相符。

实验分析RFID 系统通常工作在特定的频率范围内,如低频(LF)、高频(HF)、超高频(UHF)等。

本次实验测量得到的频率结果验证了所使用的读写器工作在设定的频率上,这是保证系统正常通信的基础。

四、实验二:RFID 标签读取距离测试实验步骤1、将一个无源 RFID 标签固定在一个位置。

2、手持读写器,逐渐远离标签,同时尝试读取标签的信息。

3、记录每次能够成功读取标签信息时读写器与标签之间的距离。

实验结果在不同的环境条件下,读取距离有所差异。

在空旷、无干扰的环境中,最大读取距离达到了_____米;而在有金属障碍物和电磁干扰的环境中,读取距离明显缩短,约为_____米。

实验分析RFID 标签的读取距离受到多种因素的影响,如标签的类型(无源或有源)、工作频率、环境中的障碍物、电磁干扰等。

无源标签依靠读写器发送的电磁场获取能量,因此其读取距离相对较短;而有源标签自身带有电源,读取距离通常较远。

环境中的障碍物和电磁干扰会削弱射频信号的强度,从而影响读取距离。

五、实验三:RFID 数据编码与解码实验步骤1、使用读写器向标签写入一段特定编码格式的数据。

实验六 传热实验

实验六 传热实验

实验六 传热实验一、实验目的:⒈ 通过对空气-水蒸气简单套管换热器的实验研究,掌握对流传热系数i α的测定方法,加深对其概念和影响因素的理解。

并应用线性回归分析方法,确定关联式Nu=ARe m Pr 0.4中常数A 、m 的值。

⒉ 通过对管程内部插有螺旋线圈的空气—水蒸气强化套管换热器的实验研究,测定其准数关联式Nu=BRe m中常数B 、m 的值和强化比Nu/Nu 0,了解强化传热的基本理论和基本方式。

3. 求取简单套管换热器、强化套管换热器的总传热系数Ko 。

4. 了解热电偶温度计的使用。

二、 实验内容:⒈ 测定5~6个不同空气流速下简单套管换热器的对流传热系数i α。

⒉ 对i α的实验数据进行线性回归,求关联式Nu=ARe m Pr 0.4中常数A 、m 的值。

⒊ 测定5~6个不同空气流速下强化套管换热器的对流传热系数i α。

⒋ 对i α的实验数据进行线性回归,求关联式Nu=BRe m中常数B 、m 的值。

⒌ 同一流量下,按实验一所得准数关联式求得Nu 0,计算传热强化比Nu/Nu 0。

6. 在同一流量下分别求取一次简单套管换热器、强化套管换热器的总传热系数Ko 。

三、实验原理:1.对流传热系数i α的测定对流传热系数i α可以根据牛顿冷却定律,用实验来测定ii m ii S t Q ⨯∆=α (6-1)式中:i α—管内流体对流传热系数,W/(m 2·℃); Q i —管内传热速率,W ;S i —管内换热面积:m 2;mi t ∆—管内流体空气与管内壁面的平均温差,℃。

平均温差由下式确定:)2(21i i w mi t t t t +-=∆ (6-2) 式中:t i1,t i2—冷流体空气的入口、出口温度,℃;t w —壁面平均温度,℃。

因为传热管为紫铜管,其导热系数很大,而管壁又薄,故认为内壁温度、外壁温度和壁面平均温度近似相等,用t w 来表示。

管内换热面积: i i iL d S ⋅⋅π= (6-3)式中:d i —传热管内径,m ;L i —传热管测量段的实际长度,m 。

实验六SDS实验报告

实验六SDS实验报告

实验六SDS实验报告1. 实验目的本实验旨在通过测定表面活性剂十二烷基硫酸钠(SDS)的临界胶束浓度和表面张力,探究SDS在水溶液中的表面活性行为,并了解其对化学反应的影响。

2. 实验器材与试剂- 器材:电子天平、试剂瓶、磁力搅拌器、扩散管、毛细管- 试剂:SDS、高纯水、乙醇3. 实验原理SDS是一种阴离子表面活性剂,可降低液体表面的表面张力。

在水溶液中,SDS分子会聚合形成胶束,当胶束的浓度达到一定程度时,称为临界胶束浓度(CMC)。

4. 实验步骤4.1 测定临界胶束浓度(CMC)4.1.1 预处理检测毛细管- 用高纯水冲洗毛细管,确保其内外无气泡。

- 用乙醇洗净毛细管,提高其润湿性能。

4.1.2 制备一系列浓度的SDS溶液- 分别称取不同质量的SDS,溶解于一定体积的高纯水中,得到不同浓度的SDS溶液。

4.1.3 填充扩散管- 将预处理好的毛细管插入扩散管中,通过磁力搅拌器搅拌,保持溶液的均匀性。

- 用一定质量的SDS溶液填充扩散管。

4.1.4 扩散实验- 在一个固定温度下,记录SDS溶液从毛细管开始扩散到溶液终点的时间。

- 重复实验,取平均值。

4.1.5 绘制扩散时间与SDS浓度的曲线- 将浓度作为横坐标,扩散时间作为纵坐标。

- 根据曲线的拐点,确定临界胶束浓度。

4.2 测定表面张力4.2.1 准备SDS溶液- 用高纯水配制一定浓度的SDS溶液。

4.2.2 表面张力计测定- 将表面张力计的叶片浸入SDS溶液中。

- 阅读并记录表面张力计上的数值。

5. 实验结果与分析5.1 CMC的确定- 根据实验数据,绘制SDS浓度与扩散时间的曲线。

- 通过拐点的位置确定CMC的值。

5.2 表面张力的测定- 通过实验测得的表面张力值,分析SDS溶液的表面活性。

6. 结论- 经过实验测定,确定了SDS的临界胶束浓度。

- 测定了SDS溶液的表面张力,了解了SDS在溶液中的表面活性行为。

7. 实验中的注意事项- 实验过程中应注意安全,避免有害物质的接触。

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

云南大学软件学院
实验报告
课程:数据库原理与实用技术实验任课教师:包崇明
姓名:匿名学号:2013…….专业:软件工程成绩:
实验6 数据库完整性
实验6-1 完整性约束
1、在学生表上面创建下列CHECK约束
【注】:因为学生表已经存在,所以这里使用添加check约束的方法实现:
(1)创建入学日期约束“Enter_University_date_rule”,假定该学校于1923年4月30日创建。

要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期
测试语句:
结果(添加的check约束起作用了),如图:
(2)创建学生年龄约束“Age_rule”。

要求:学生年龄必须在15~30岁之间
测试语句
结果(添加”Age_rule”成功,并且年龄为’2015/4/27’没有违反”Enter_University_date_rule”
约束,进一步说明了(1)中的check约束添加成功,如图:
【注】:考虑到时间关系,下面的部分解答中将会省略测试约束的步骤。

(3)创建学生性别约束“Sex_rule”。

要求:性别只能为“男”或“女”
(4)创建学生成绩约束“Score_rule”。

要求:学生成绩只能在0~100之间
(5)用图形方法查看学生成绩约束“Score_rule”,截图为:
2、删除约束Enter_University_date_rule
测试语句:
结果:(更新成功)
3、创建声明式默认约束:在创建表的过程中创建默认约束
(1)创建表“default_example”,表中包含字段pid、name、sex、age。

要求设定sex的默认值为“男”、age的默认值为18。

创建default_example表语句:
采用SQL语句进行插入元祖:
执行结果为:(默认值起作用了!!)
(2)插入一条编号为100 的记录,执行结果为:
(3)修改默认值
一般先删除老的默认约束,再新建一个默认约束方法如下:
删除约束:alter TABLE default_example drop 约束名
新建默认约束:alter TABLE default_example add constraint df_age default(20) for age
①删除老的默认约束:
②新建默认约束:
请将年龄默认值更改为19,执行结果为:
测试语句:
结果(默认年龄被修改为19),如图:
3、在“学生管理数据库”各个数据表中建立相应的主键、外键、惟一值、以及check约束,
要求:学生的年龄必须是两位数,其中第一位是1或2:
(1)学生表【添加主键和年龄约束】:
(2)授课表【添加主键和外键】:
(3)课程表【添加主键】:
(4)成绩表【添加主键和外键】:
第一次添加外键失败,因为两个表中的学号长度不等,所以我需要修改使其相等再添加。

修改后添加外键约束:
我将成绩表中学号的长度由char(20)修改为char(10),这样添加外键约束就能成功:
删除check 约束:
删除学生表中的年龄约束:Age_rule:
5、完成教科书456页如下习题:
[7.1]a:
实验6-2 触发器
1、使用触发器
(1)创建一个触发器trig_update,返回对“学生表”进行更新操作后,被更新的记录条数
(2)执行触发器
①测试触发器:
②测试结果:
(3)修改触发器trig_update,除返回被更新的记录条数外,再返回学生的所有基本信息
测试:
结果:
2、使用触发器的两个特殊表:插入表(inserted)和删除表(deleted)。

(1)在“学生表”上创建触发器ins_del_sample,在对学生表进行插入、删除或更新操作后,分别从inserted表和deleted表中查询学生学号、姓名、性别、年龄和所在院系。

(请同学们在做删除操作时,注意备份)
(2)执行插入、删除和更新操作后返回的表有什么区别?
3、使用系统存储过程查看触发器
(1)显示触发器trig_update的一般信息
(2)显示触发器trig_update的源代码
(3)显示“学生表”上所有的依赖关系
(4)显示触发器trig_update所引用的对象
4、难题(注意inserted表和deleted表的使用,并请自己修改数据表)
(1)为“成绩表”创建一个触发器,当向表中插入数据时,如果成绩大于等于60分,该学生就能得到相应的学分,否则,该学生不能得到学分。

(2)为“学生表”创建一个触发器,当删除表中的一个学生资料时,将“成绩表”中的相应记录也删除掉
(3)为“成绩表”创建一个触发器,如果成绩由原来的小于60分更改为大于等于60分时,该学生就得到相应的学分,如果成绩由原来的大于等于60分更改为小于60分,则该学生的相应学分更改为0。

5、完成教科书456页如下习题:
[7.11]a:
[7.11]b:。

相关文档
最新文档