太原理工数据实验报告二
- 格式:docx
- 大小:87.42 KB
- 文档页数:5
太原理工大学现代科技学院实验报告实验一:LED灯控制系统设计一、实验目的学习掌握LED灯控制系统的设计方法二、实验要求利用89C51单片机来控制实验板上的8个LED灯,让这8个LED灯分成两组(高4位与低4位)交替闪烁。
三、请画出硬件电路原理图根据实验要求和实验板现有电路画出LED灯控制系统的硬件电路原理图。
将硬件电路原理图画在下面的空白处,可手画,也可用软件画。
太原理工大学现代科技学院实验报告四、画出程序的流程图 五、按照流程图编写程序(C 语言) …………………………………装……………………………………订………………………………………线……………………………………………太原理工大学现代科技学院实验报告六、验证所设计的系统通过实验板验证所设计的系统是否达到要求1.所设计的硬件电路是否符合设计要求?2.所设计的程序是否符合设计要求?3.如果所设计的系统没有达到要求,存在的问题是什么?是如何改正的?七、你对本课程的实验有何好的建议?太原理工大学现代科技学院实验报告实验二:数码管显示控制系统设计一、实验目的1.了解按钮开关的原理;了解按钮开关输入电路的设计方法;掌握按钮开关的输入方法和编程方法。
2.了解七段数码管的原理;了解七段数码管输出电路的设计方法;二、实验原理1.按钮开关和按钮开关输入电路的原理按钮开关的特点就是具有自动恢复的功能:按下按钮,电路接通;松开按钮,恢复电路的切断状态当把按钮作为电路的输入器件时,一般是将其连接到电源或地,如图1所示。
图1 按钮开关输入电路设计按钮开关一般为开路状态,图(a)中按钮开关通过上拉电阻连接电源,使单片机的输入引脚保持高电平;若按下按钮,单片机的输入引脚将变成低电平,松开按钮单片机的输入引脚将恢复高电平,此操作可产生一个负脉冲信号。
反之,如图(b)所示,单片机的输入引脚保持为低电平。
若按下按钮,单片机的输入引脚变成高电平;松开按钮,单片机的输入引脚恢复低电平,此操作可产生一个正脉冲信号。
课程名称:操作系统B 实验项目:操作系统实验实验地点:实验楼209 专业班级:软件学生姓名:学号:指导教师:方昀2015 年 11 月 30目录实验一几种操作系统的界面 (3)一、目的和要求 (3)二、内容 (3)实验二进程调度程序设计 (6)一、目的和要求 (6)二、示例 (6)实验三存储管理程序设计 (14)一、目的和要求 (14)二、提示 (14)实验一几种操作系统的界面一、目的和要求(一)目的本实验的目的是使学生熟悉1—2种操作系统的界面,在熟练使用机器的基础上,能了解各种操作命令和系统调用在系统中的大致工作过程。
也就是通过操作系统的外部特征,逐步深入到操作系统的内部实质内容中去。
(二)要求1.能熟练的在1—2种操作系统的环境下工作,学会使用各种命令,熟悉系统提供的各种功能,主动而有效地使用计算机。
2.熟悉系统实用程序的调用方法和各种系统调用模块的功能和作用二、内容在某种操作系统的环境下建立、修改、运行、打印源程序和结果,最后撤消一个完整的程序。
提示:可按下述步骤进行1.编写一个完整的源程序,通过编辑命令送入机器,建立源程序文件;2.编译该源文件,建立相应的目标文件;3.编译有错时,再用编辑命令修改源文件,消除全部词法和语法错误;4.连接目标文件,形成可执行文件;5.执行该文件,得到结果;6.打印输出源程序和运行结果;7.撤消本次实验中形成的所有文件。
三、实验步骤及程序流程图1)Dos命令行。
1.按住Windows键+R输入notepad回车调出记事本。
2.编辑一个java程序选择另存为d:。
3.按住Windows键+R输入cmd回车。
4.进入Dos界面键入d:。
5.输入dir查看java文件,使用javac命令进行编辑四、程序清单(据情况而定)class demo{public static void main(String [] args){System.out.print("这是一个java例子");}}五、讨论、心得本次实验是在Windows10系统下进行的,通过对一个Java小程序的编译连接熟悉对Win10的操作以及DOS命令的使用。
太原理工大学学生实验报告图1-1太原理工大学学生实验报告图2-2 应变式传感器安装示意图金属丝在外力作用下发生机械形变时,其电阻值会发生变化,这就是金属的电阻应变效应。
金属的电阻表达式为:lSρ= (1) 当金属电阻丝受到轴向拉力F 作用时,将伸长l ∆,横截面积相应减小S ∆,电阻率因晶格变化等因素的影响而改变ρ∆,故引起电阻值变化R ∆。
对式(1)全微分,并用相对变化量来表示,图2-1应变式传感器信号调理实验电路图图2-3 应变式传感器单臂电桥实验接线图计算系统灵敏度W∆=/(US∆U∆输出电压的变化量,∆(多次测量时为平均值)为输出值与拟合直线的最大×100%式中m满量程输出平均值,此处为200g。
要在砝码盘上放置超过1kg的物体,否则容易损坏传感器。
,绝不可错接成±15V,否则可能烧毁应变片。
太原理工大学学生实验报告图3-1 应变式传感器半桥实验接线图太原理工大学学生实验报告图4-1 应变式传感器全桥实验接线图五、实验注意事项要在砝码盘上放置超过1kg的物体,否则容易损坏传感器。
桥的电压为±5V,绝不可错接成±15V。
六、实验数据太原理工大学学生实验报告图5-2图5-1圆柱形差动式电容传感器示意图图5-2圆柱形差动式电容传感器实验装置安装示意图。
电容式传感器调理模块的电路图如图5-3所示图5-3三、实验设备THVZ-1型传感器实验箱、电容传感器、测微头、万用表(自备)、信号调理挂箱、电容式传感器调理模块。
四、实验步骤1.将“电容传感器调理模块电路图”插放到相应的实验挂箱上,在确保上述模块插放无误后,从实验屏上接入实验挂箱所需的工作电源(电源的大小及正负极性不能接错);2.将电容式传感器引线插头插入信号调理挂箱“电容式传感器调理模块”旁边的黑色九芯插孔中;3.调节“电容式传感器调理模块”上的电位器Rw1,逆时针调节Rw1使旋到底。
用万用表测量此模块上输出两端的电压Uo;本科实验报告课程名称:传感器原理与检测技术实验项目:实验地点:北区多学科楼406专业班级:信息08-2 学号:2008100780 学生姓名:刘洁琼指导教师:乔铁柱沈慧钧李槐生2011年11 月14 日。
实验名称:线性表一.目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。
要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。
二.例题[问题描述]用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。
[输入]初始字符串,插入位置,插入字符,删除字符。
[输出]已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。
[存储结构]采用链式存储结构[算法的基本思想]建立链表:当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。
[参考源程序]#define NULL 0typedef struct node{char a;struct node *link;}node,*nodelink;void readlink(nodelink head){nodelink p,q;char c;p=head;printf("Input a linktable(a string):");scanf("%c",&c);if (c=='\n') printf("This string is empty。
");while(c!='\n'){q=(nodelink)malloc(sizeof(node));q->a=c;p->link=q;p=q;scanf("%c",&c);}p->link=NULL;}void writelink(nodelink head){nodelink q;if (head->link==NULL) printf(" This link is empty。
printf("%lf ",x[i]);printf("\n");}int _tmain(int argc, _TCHAR* argv[]){double a[3][4],x[3]={0,0,0},d[3];for(int i=0;i<3;i++)for(int j=0;j<4;j++)scanf("%lf",&a[i][j]);shuchu(x);do{x[0]=(a[0][3]-a[0][1]*x[1]-a[0][2]*x[2])/a[0][0];x[1]=(a[1][3]-a[1][0]*x[0]-a[1][2]*x[2])/a[1][1];x[2]=(a[2][3]-a[2][0]*x[0]-a[2][1]*x[1])/a[2][2];d[0]=abs((a[0][3]-a[0][1]*x[1]-a[0][2]*x[2])/a[0][0]-x[0]);d[1]=abs((a[1][3]-a[1][0]*(a[0][3]-a[0][1]*x[1]-a[0][2]*x[2])/a[0][0]-a[1][2]*x[2]) /a[1][1]-x[1]);d[2]=abs((a[2][3]-a[2][0]*(a[0][3]-a[0][1]*x[1]-a[0][2]*x[2])/a[0][0]-a[2][1]*(a[1] [3]-a[1][0]*(a[0][3]-a[0][1]*x[1]-a[0][2]*x[2])/a[0][0]-a[1][2]*x[2])/a[1][1])/a[2][2]-x[2]);shuchu(x);}while(d[0]>0.5e-5&&d[1]>0.5e-5&&d[2]>0.5e-5);system("pause");return 0;}实验结果与分析1.列主元素消元法2.完全组元素消元法3.LU分解法4.高斯-赛德尔迭代法讨论、心得(可选):了解Gauss消元法、LU分解法、追赶法等线性方程组直接求解的基本方法、基本原理;能够按照工程实际要求,选择适当的算法;通过编写程序,进行算法设计和数值求解,了解雅可比迭代法、高斯-赛德尔迭代法等线性方程组迭代求解的基本方法、基本原理,能够按照工程实际要求,选择适当的算法,通过编写程序,进行算法设计和数值求解。
本科实验报告课程名称:ORACLE大型数据库系统实验项目:创建数据库和表实验地点:迎西校区4506机房专业班级:软件工程学号:学生姓名:指导教师:2012年5月实验一创建数据库和表目的与要求(1)了解数据可的结构以及一些基本概念。
(2)了解表的结构特点。
(3)了解Oracle 10g的基本数据类型。
(4)学会使用DBCA创建数据库。
(5)学会使用界面方式创建表。
(6)学会使用SQL语句手工穿件数据库。
(7)学会使用SQL语句创建表。
实验准备首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
其次创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小、SGA分配和存储数据库的文件。
然后,确定数据库包含哪些表以及所包含的各表的结构,还要了解Oracle 10g的常用数据类型,以创建数据库的表。
此外还要了解两种常用的创建数据库、表的方法,即利用DBCA创建和使用PL/SQL的CREATE DATABASE语句创建。
实验内容创建企业管理的员工管理数据库YGGL,包含Employees(员工自然信息)表、Department (部门信息)表和Salary(员工薪水情况)表。
使用OEM创建表图1-1创建Employees表图1-2成功创建Employees表图1-3成功删除Employees表图1-4创建Departments表图1-5成功创建Departments表图1-6 成功删除Departments表图1-7创建Salary表图1-8成功创建Salary表图1-9成功删除Salary表在PL/SQL语句创建表1.创建Employees表create table Employee(EmployeeID char(6) NOT NULL PRIMARY KEY,Name char(10) NOT NULL,Bithday date NOT NULL,Sex number(1) NOT NULL,Address char(20) NULL,Zip char(6) NULL,PhoneNumber char(12) NULL,DepartmentID char(3) NOT NULL REFERENCES Departments(DepartmentID))tablespace users;图1-10 使用SQL语句创建Employees表2.创建Departments表create table Departments(DepartmentID char(3) NOT NULL PRIMARY KEY, Departmentname char(20) NOT NULL,Note varchar2(100) NULL)tablespace users;图1-11 使用SQL语句创建Departments表3.创建Salary表create table Salary(EmployeeID char(6) NOT NULL PRIMARY KEY, InCome number(8,2) NOT NULL,OutCome number(8,2) NOT NULL)tablespace users;图1-11 使用SQL语句创建Salary表本科实验报告课程名称:ORACLE大型数据库系统实验项目:表数据插入、修改和删除实验地点:迎西校区4506机房专业班级:软件工程学号:学生姓名:指导教师:2012年5月实验二表数据插入、修改和删除目的与要求(1)学会使用PL/SQL语句对数据表进行插入、修改和删除数据的操作。
本科实验报告课程名称:数据库系统概论实验项目:交互式SQL、数据完整性、用户鉴别与数据控制实验地点:致远楼B503专业班级:软件1229班学号:29学生姓名:***指导教师:***2014年3 月18 日一、实验目的和要求熟悉通过SQL 对数据库进行操作。
二、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。
2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。
数据定义:基本表的创建、修改及删除;索引的创建和删除。
数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。
视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。
三、主要仪器设备操作系统:Windows 7。
数据库管理系统:SQL Server2008。
四、操作方法与实验步骤实验数据记录实验结果(一)数据定义:一.基本表的操作1.建立基本表1)创建学生表Student,由以下属性组成:学号Sno(char 型,长度为9,主码),姓名Sname(char 型,长度为20,唯一),性别Ssex(char 型,长度为2),年龄(smallint),所在系(char 型,长度为20)。
create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));2)创建课程表Course,由以下属性组成:课程号Cno(char 型,主码,长度为4),课程名Cname(char 型,长度为40),先行课Cpno(char型,长度为4,外码),学分Ccredit(smallint)。
create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint);若设置Cpno 外码,插入数据时会提示违反外码约束。
本科实验报告课程名称:数据库系统原理B 实验项目:数据的完整性实验地点:专业班级:学号:学生姓名:指导教师:201 年月日一目的与要求(1)了解SQL Serer数据库系统中数据完整性控制的基本方法(2)熟练掌握常用CREATE 或ALTER 在创建或修改表时设置约束(3)了解触发器的机制和使用(4)验证数据库系统数据完整性控制二实验设备与环境使用SQL Server数据库管理系统提供的SSMS和查询编辑器三实验内容、实验记录及实验结果与分析结合ST数据库中的各个表,设置相关的约束,要求包括主键约束、外键约束、唯一约束、检查约束、非空约束等,掌握各约束的定义方法。
设置一个触发器,实现学生选课总学分的完整性控制,了解触发器的工作机制。
设计一些示例数据,验证完整性检查机制。
要求包括如下方面的内容:1.创建基本表及约束Student表Course表SC表如下图所示表创建成功:2.插入数据(1)插入学生信息到Student表(2).插入课程信息到Course表(3)插入到SC表(4)检查插入表中的数据二、检查完整性约束1.检查主键约束(1)INSERT INTO Student VALUES('','李斌','男',20,'CS','1001',0) INSERT INTO Student VALUES('','李斌','男',20,'CS','1001',0)UPDATE Student SET Sno='' WHERE Sname = '张立'无法正确运行因为:违反了PRIMARY KEY 约束'PK__Student__CA1FE4647F60ED59'。
不能在对象'dbo.Student' 中插入重复键。
实验报告二
课程名称:数据结构
实验名称:数据结构
实验地点:计算机110机房
专业班级:计科Z1501 学号:2015001909 学生姓名:刘元瑞
指导教师:孟亮
2016年12 月23 日
2.编写递归算法,计算二叉树中叶子结点的数目。
#include <stdio.h>
#include<malloc.h>
struct node{
char info;
struct node *llink, *rlink;
};
typedef struct node NODE;
NODE *create(){ //构造二叉树
char x;
NODE *p;
scanf("%c", &x);
printf("%c", x); //打印出已输入的二叉树
if(x!='.'){
p=(NODE *)malloc(sizeof(NODE));
p->info=x;
p->llink=create();
p->rlink=create();
}
else p=NULL;
return p;
}
int run(NODE *t){
static int count=0;
if(t){
run(t->llink); //递归遍历左子树,直到叶子处
run(t->rlink); //递归遍历右子树,直到叶子处
if(t->llink ==NULL && t->rlink == NULL) {
count++;
}
}
return count;
}
main()
{ NODE *T;
int left_number;
printf("请输入一棵树:\n" );
T=create();
printf("\n");
if(!T) printf("This is a empty binary tree.");
else{
left_number=run(T);
printf("\n这棵树共有%d 个子叶. \n", left_number);
}
printf("\n");}
3.编写递归算法,在二叉树中求位于先序序列中第K个位置的结点。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct BiTNode{
char info;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
BiTNode *creat(){
char x;
BiTNode *p; /*BiTree p;*/
scanf("%c",&x);
printf("%c",x);
if(x!='.'){
p=(BiTree)malloc(sizeof(BiTNode));
p->info=x p->lchild=creat();
p->rchild=creat();
}
else p=NULL; return p;}
int a,k;
void preposition(BiTree T){
if(T){a++;
if(a==k) printf("BiTNode is %c\n",T->info);
else {preposition(T->lchild); preposition(T->rchild); }
}}
main(){
BiTree T;
printf("Please input a tree(pre)\n");T=creat();
printf("k=");scanf("%d",&k);
a=0;preposition(T);getch();
4.将上述例题用非递归程序实现。