实验一代码及截图
单片机控制发光二极管实验报告

单片机控制发光二极管实验报告发光二极管广东石油化工学院单片机实验一实验报告实验报告实验一发光二极管实验学院: 电信学院专业:班级学生学号:实验时间一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。
2、掌握用查表方式实现AT89C51 单片机IO 口的控制。
3、练习单片机简单延时子程序的编写。
4、熟练运用Proteus 设计、仿真AT89C51 系统。
二、实验内容1、编写延时子程序,延时时间为0.1S。
代码:void delay(){int i, j;for (i = 0; i 100; i++)for (j = 0; j 125; j++);}2、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。
代码:#includereg51.h#includeintrins.hvoid delay(){int i, j;for(i = 0; i 100; i++)for(j = 0; j 125; j++);}void main(){P1 = 0xFE;while(1){P1 (转载于: 写论文网:单片机控制发光二极管实验报告)= _crol_(P1,1);delay();}}运行结果截图:图一3、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。
代码:#includereg51.h#define uchar unsigned char#define uint unsigned intvoid delay(){uint i, j;for (i = 0; i 100; i++){for (j = 0; j 128; j++){//delay 100ms, do nothing.}}}void shangXia(){uchar k;P1 = 0xFE;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,1);}}void xiaShang(){uchar k;P1 = 0x7F;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,-1);}}void main(){while(1){shangXia();xiaShang();}}截图与题一相同,增加由下至上。
计算机图形学-3D机器人实验代码和截图

学院名称 课程名称
年级、专 业、班 实验项目 计算机图形学 名称
学 号3D ຫໍສະໝຸດ 器人姓 同组姓名名 指导 教师
实验类型
验证 √
综合 □
设计 □
创新 □ 成绩
教师 评语
教师签名:
年月日
实验报告内容一般包括以下几个内容:1、目的要求 2、仪器用具及材料(仪器名称及主要规格、用具名称) 3、实验内容及原理(简 单但要抓住要点,写出依据原理) 4、操作方法与实验步骤 5、数据图表格(照片) 6、实验过程原始记录 7 数据处理及结果(按 实验要求处理数据、结论) 8、作业题 9、讨论(对实验中存在的问题、进一步的想法等进行讨论)
}
int main(int argc, char** argv) {
//初始化 glutInit(&argc, argv); //设置显示模式 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); //初始化窗口大小 glutInitWindowSize(500, 500); //定义左上角窗口位置 glutInitWindowPosition(100, 100); //创建窗口 glutCreateWindow(argv[0]); //初始化 init(); //显示函数 glutDisplayFunc(display); //窗口大小改变时的响应 glutReshapeFunc(reshape); //鼠标点击事件,鼠标点击或者松开时调用 glutMouseFunc(mouseClick); //鼠标移动事件,鼠标按下并移动时调用 glutMotionFunc(mouseMove); //键盘事件 glutKeyboardFunc(keyPressed); //循环 glutMainLoop(); return 0; } (2)实验截图:
《数据结构》实验1实验报告

南京工程学院实验报告<班级>_<学号>_<实验X>.RAR文件形式交付指导老师。
一、实验目的1.熟悉上机环境,进一步掌握语言的结构特点。
2.掌握线性表的顺序存储结构的定义及实现。
3.掌握线性表的链式存储结构——单链表的定义及实现。
4.掌握线性表在顺序存储结构即顺序表中的各种基本操作。
5.掌握线性表在链式存储结构——单链表中的各种基本操作。
二、实验内容1.顺序线性表的建立、插入及删除。
2.链式线性表的建立、插入及删除。
三、实验步骤1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。
2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68。
3.建立一个带头结点的单链表,结点的值域为整型数据。
要求将用户输入的数据按尾插入法来建立相应单链表。
四、程序主要语句及作用程序1的主要代码(附简要注释)public struct sequenlist{public const int MAXSIZE=1024; /*最大值为1024*/public elemtype[] vec;public int len; /* 顺序表的长度 */public sequenlist( int n){vec=new elemtype[MAXSIZE ];len = n;}};class Program{static void Main(string[] args){sequenlist list1 = new sequenlist(5);for (int i = 0; i < 5; i++){list1.vec[i] = i;}for (int i = 0; i < 5; i++){Console.Write("{0}---", list1.vec[i]) ;}Console.WriteLine("\n");Console.WriteLine("表长:{0}\n",list1.len );Console.ReadKey();}}程序2的主要代码(附简要注释)public void insertlist(int i, int x){if (len >= MAXSIZE)throw new Exception("上溢"); /*长度大于最大值则抛出异常*/if (i < 1 || i > len + 1)throw new Exception("位置");/插入位置小于1或大于len+1则抛出插入位置错误的异常for (int j = len; j >= i; j--)vec[j] = vec[j - 1]; //注意第j个元素存在数组下标为j-1处vec[i - 1] = x;len++;}};class Program{static void Main(string[] args){sequenlist list2 = new sequenlist(7);list2.vec[0] = 21;list2.vec[1] = 23;list2.vec[2] = 14;list2.vec[3] = 5;list2.vec[4] = 56;list2.vec[5] = 17;list2.vec[6] = 31;Console.Write("请输入第i个位置插入元素:");int loc =Convert.ToInt32( Console.ReadLine());Console.Write("请输入第{0}个位置插入的元素:", loc);int ele = Convert.ToInt32(Console.ReadLine());Console.WriteLine("插入前的线性表:");for (int i = 0; i < list2.len ; i++){Console.Write("{0}---", list2.vec[i]);}Console.WriteLine("\n");list2.insertlist(loc, ele);Console.WriteLine("插入后的线性表:");for (int i = 0; i < list2.len ; i++){Console.Write("{0}---", list2.vec[i]);}Console.WriteLine("\n");Console.ReadKey();}}程序3的主要代码(附简要注释)class Node{private int num;public int Num{set { num = value; }/输入值get { return num; }/获得值}private Node next;public Node Next{set { next = value; }get { return next; }}}class Pp{static void Main(string[] args){Node head;Node tempNode, tempNode1;int i;head = new Node();Console.WriteLine("输入六项数据:\n");Console.Write("输入第1项数据:");head.Num = Convert.ToInt32(Console.ReadLine());head.Next = null;tempNode = head;for (i = 1; i < 6; i++){tempNode1 = new Node();Console.Write("输入第{0}项数据:",i+1);tempNode1.Num = Convert.ToInt32(Console.ReadLine());/插入项转换为整形数值 tempNode1.Next = null;tempNode.Next = tempNode1;tempNode = tempNode.Next;}Console.WriteLine("线性表:");tempNode = head;for (i = 0; i < 6; i++){Console.Write("{0}", tempNode.Num);if (i < 5){Console.Write("--");}tempNode = tempNode.Next;}Console.ReadKey();}}五、程序运行结果截图程序1程序2程序3六、收获,体会及问题(写得越详细、越个性化、越真实越好,否则我不知道你做这个实验的心路历程,也就无法充分地判断你是否是独立完成的这个实验、你是否在做这个实验时进行了认真仔细地思考、通过这个实验你是否在实践能力上得到了提高)这次试验刚开始做时完全不知道从哪下手,才刚上了几节课,对于线性表、链式表都不是理解的很透彻,不知道用哪个软件编写程序。
51系列单片机实验一LED等全亮全灭汇编代码及注释

实验一汇编代码及注释ORG 0000H伪指令ORG 指定0000H 作为AJMP MAIN的地址,也就是单片机上电后CPU取指的初始地址;AJMP MAIN无条件跳转到主程序MAIN;ORG 0030H伪指令ORG指定030H作为主程序MAIN的第一个地址,也就是MOV P1,#00H的地址;MAIN: 主程序MAIN;MOV P1,#00H将立即数00H赋值给P1口,使P1口对应的8个LED的阴极置0,点亮;ACALL DELAY02调用延迟程序DELAY02,延迟2秒;MOV P1,#0FFH将立即数0FFH赋值给P1口,使P1口对应的8个LED的阴极置1,点熄灭;ACALL DELAY02调用延迟程序DELAY02,延迟2秒;AJMP MAIN无条件跳转到主程序MAIN;DELAY02:延迟子程序DELAY02MOV R5,#2将立即数2赋值给寄存器R5;D1: 延迟子程序D1MOV R6,#200将立即数200赋值给寄存器R6;D2: 延迟子程序D1MOV R7,#250将立即数250赋值给寄存器R6;D3:DJNZ R7,D3条件转移指令,若R7-1≠0,则跳转到D3,否则执行下一条指令;因为R7初始值为250,每执行一次DJNZ R7,D3需要2个机器周期,所以这个循环结束后需要2*250T(T为机器周期);DJNZ R6,D2;条件转移指令,若R6-1≠0,则跳转到D2,否则执行下一条指令;因为R7初始值为200,每执行一次本指令需要2个机器周期。
每延迟1 D3 执行一次本指令,所以这个循环结束后需要200*(2*250+2)T DJNZ R5,D1;条件转移指令,若R5-1≠0,则跳转到D1,否则执行下一条指令;因为R5初始值为2,每执行一次本指令需要2个机器周期。
每延迟1 D2执行一次本指令,所以这个循环结束需要2*((200*(2*250+2)+2)T≈200000T;每个T为1微秒。
C语言实验学生版(最新版)

实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的编译环境和编写过程。
2、掌握C语言程序在Visual C++ 6.0环境下的调试过程。
3、初步了解C语言程序的特点。
4、掌握C语言的数据类型。
三、实验内容:1、计算两个数x和y的和。
(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。
(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。
(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。
(实验教材P21)5、输入并运行以下程序,分析运行结果。
(实验教材P27)#include <stdio.h>void main( ){int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}四、实验程序代码:五、实验运行结果(截图):实验二:顺序结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、掌握标识符、常量、变量的定义及使用。
2、掌握C语言的常用运算符及表达式。
3、掌握单分支if语句的使用方法。
4、掌握双分支if-else语句的使用方法。
三、实验内容:1、从键盘输入一个3位整数,请输出该数的逆序数。
(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
(实验教材P27)3、判断箱子是正方体还是长方体。
(实验教材P33)4、有一函数: x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10) 编写程序,输入x值,输出y值。
实验一:MIPS指令集实验

深圳大学实验报告课程名称:计算机系统(3)实验项目名称:MIPS指令集实验学院:计算机与软件学院专业:计算机与软件学院所有专业指导教师:*****报告人:******* 学号:********** 班级:******* 实验时间:2017年10月16日星期一实验报告提交时间:2017年10月19日星期四教务处制一、实验目标:了解WinMIPS64的基本功能和作用;熟悉MIPS指令、初步建立指令流水执行的感性认识;掌握该工具的基本命令和操作,为流水线实验作准备。
二、实验内容按照下面的实验步骤及说明,完成相关操作记录实验过程的截图:1)下载WinMIPS64;运行样例代码并观察软件各个观察窗口的内容和作用,掌握软件的使用方法。
(80分)2)学会正确使用WinMIPS64的IO方法;(10分)3)编写完整的排序程序;(10分)三、实验环境硬件:桌面PC软件:Windows,WinMIPS64仿真器四、实验步骤及说明WinMIPS64是一款指令集模拟器,它是基于WinDLX设计的,如果你对于WinDLX这款软件十分熟悉的话,那么对于WinMIPS64也会十分的容易上手。
DLX 处理器(发音为"DeLuXe")是Hennessy 和Patterson合著一书《Computer Architecture - A Quantitative Approach》中流水线处理器的例子。
WinDLX是一个基于Windows的模拟器。
本教程通过一个实例介绍WinMIPS64的使用方法。
WinMIPS64模拟器能够演示MIPS64流水线是如何工作的。
本教程使用的例子非常简单,它并没有囊括WinMIPS64的各个方面,仅仅作为使用WinMIPS64的入门级介绍。
如果你想自己了解更多的资料,在给出的winmips64.zip中,有WinMIPS64 — Documentation Summary.html和winmipstut.docx两个文件可以供你随时参考,其中涵盖了WinMIPS64的指令集和模拟器的组成与使用方法。
《C语言程序设计》实验报告(实验1-11) 2013.3

《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
二、预习内容:教材《C语言程序设计教程》第2章。
三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。
实验一数据库及基本表的建立

实验一数据库及基本表的建立一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创建数据库和表的操作;二、实验内容和要求1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库;2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2005;四、实验方法、步骤及结果测试题目1、创建数据库“学生情况”:SQL语句Create database 学生情况查询分析器执行情况:SQL语句及执行结果截图显示找到主数据文件和日志文件,观察大小,并给出截图。
SQL语句EXEC sp_renamedb学生情况, student查询分析器执行情况:SQL语句及执行结果截图显示题目3、创建基本表含义字段名字段类型字段说明宽度学号Sno Char 10 主键,不允许为空姓名Sname char 10 不允许为空性别Ssex char 2 取值为男或女专业Ssp char 20系别Sdept char 20出生日期Sbirth datetime地区来源Sfrom varchar 30变动情况Schg char 10政治面貌Spa char 8 默认团员民族Snation char 8 默认为汉族含义字段名字段类型字段宽度说明课程编号Cno Char 10 主键课程名称Cname Char 10 唯一约束任课教师Tname Char 8Cdept Char 20开课系别学分CCredit Real 0-20含义字段名字段类型字段宽度说明学号Sno Char 10 外键,与cno共同构成主键课程编号Cno Char 10 外键,与sno共同构成主键成绩Grade real 检查约束0-100 备注Remark varchar 50SQL语句create table S(Sno char(10)primary key,Sname char(10)not null,Ssex char(2)check(Ssex='男'or Ssex='女'),Ssp char(20),Sdept char(20),Sbirth datetime,Sfrom varchar(30),Schg char(10),Spa char(8)default'团员',Snation char(8)default'汉族');create table C(Cno char(10)primary key,Cname Char(10)unique,Tname char(8),Cdept char(20),CCredit real check(CCredit>=0 and CCredit<=20));create table Sc(Sno char(10)References C(Cno),Cno char(10)References s(sno),Grade real check(Grade>=0 and Grade<=100))忘记了一个字段,加上:alter table Sc add Remake varchar(50)查询分析器执行情况:SQL语句及执行结果截图显示题目4*、用sql语句将C表中的ccredit改为整型,同样约束为0-20之间题目5、用sql语句在S表中添加一格“备注”字段remark,变长字符型,长度30,并保存结果题目6. 用sql语句将S表中“专业”字段数据类型改为varchar,长度为30并保存结果题目7. 用sql语句删除SC表中的“备注”字段并保存结果生成数据库关系图截图显示题目9*.用sql语句在S中增加约束,要求学号要用S开头,后接4位数字组成的字符串试着插入学号为0001,姓名为张三的学生,给出提示结果的截图alter table sc drop FK__Sc__Sno;update sc set sno='s'+sno;update s set sno='s'+sno;alter table s add constraint ck_s_sno check(sno like's____');alter table sc add constraint fk_sc_sno foreign key(sno)references s(sno);通过sql语句Sno Sname Ssex Ssp Sdept Sbirth Sfrom Schg Spa SnationRemarkS0001 高明男计算机科学与技术CS 1994-03-14 大连团员汉S 0002 东学婷女计算机应用CS 1986-10-24 包头转系团员蒙S 0003 张五男男电子商务MA 1984-2-17 上海退学团员汉S 0004 刘% 男电子商务MA 1985-4-24 巴盟团员汉S 0005 吴惠女软件开发CS 1985-2-10 通辽团员汉S 0006 王涛男软件开发CS 1984-9-8 赤峰团员满S 0007 郭凤丽男应用电子IS 1984-3-2 广州团员蒙S 0008 贾惠男应用电子IS 1983-2-2 深圳团员汉S 0009 刘一% 男软件开发CS 1985-9-9 东莞团员满S 0010 李春刚男计算机应用CS 1985-2-10 河源团员汉李春刚insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0001','高明','计算机科学与技术','CS','1994-03-14','大连',null,default,'汉)'insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0002','东学婷','女','计算机应用','CS','1986-10-24','包头','转系',default,'蒙',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0003','张五男','男’,'电子商务','MA','1984-2-17','上海','退学',default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0004','刘%','男','电子商务','MA','1985-4-24','巴盟',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0005','吴惠','女','软件开发','CS','1985-2-10','通辽',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0006','王涛','男','软件开发','CS','1984-9-8','赤峰',null,default,'满',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0007','郭凤丽','男','应用电子','IS','1984-3-2','广州',null,default,'蒙',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0008','贾惠','男','应用电子','IS','1983-2-2','深圳',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0009','刘一%','软件开发','CS','1985-9-9','东莞',null,default,'满',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0010','李春刚','男','计算机应用','CS','1985-2-10','河源',null,default,default,'李春刚'');.通过sql语句向C表中添加数据,并保存结果Cno Cname Tname Cdept Ccredit01 计算机应用王晓梅IS 402 高等数学李一MA 603 网页制作张铁柱CS 604 软件工程付大鹏CS 405 数据库白一格CS 6INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('01','计算机应用','王晓梅','IS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('02','高等数学','李一','MA',6)INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('03','网页制作','张铁柱','CS',6) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('04','软件工程','付大鹏','CS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('05','数据库','白一格','CS',6)截图:Sno Cno Grade 0001 02 85 000103 75 000104 90 0002 05 50 0003 01 85 0003 02 75 0004 03 60 0004 02 92 0005 01 85 0005 04 46 0006 05 95 0006 03 52 0007 04 96 0007 05 85 0008 04 76 0008 05 68INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','02',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','03',75) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','04',90) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('002','05',50) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('003','01',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('003','02',75) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('004','03',60) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('004','02',92) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('005','01',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('005','04',46) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('006','05',95) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('006','03',52) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('007','04',96)五、实验中出现的问题及解决方案1.创建数据库时常出错,可不删除原数据库,再修改字段,然后再重新定义数据库2.要去除强制外键约束,才能在中间插入值六、思考题1、说明数据库中的表和数据文件的关系。
实验-实验报告模板

上海理工大学光电信息与计算机工程学院《数据结构》实验报告专业学生姓名学号年级指导教师成绩:教师签字:报告格式要求1、正文字体中文为宋体,五号,行距为固定值18磅,西文为Times New Rome, 五号,行距为固定值18磅。
2、章节标题为加粗宋体,小三号,段前段后各18磅,行距为单倍行距。
3、打印时需双面打印。
目录实验1 顺序表的基本操作 (4)实验2 单链表的基本操作 (5)实验3 栈和队列的基本操作 (6)实验4 二叉树的基本操作 (7)实验5 图的基本操作 (8)实验6 查找 (9)实验7 排序 (10)实验1 顺序表的基本操作一、实验目的编程实现顺序表的创建、插入和删除。
(为方便测试,其中元素定义为:typedef int Elemtype)二、实验软硬件要求硬件:一台安装了windows操作系统的计算机。
软件:三、实验内容实验一:题目名称1、算法描述2、算法的框架结构3、主要源程序代码实验二:题目名称四、实验结果(写出运行程序后的结果截图)实验一的结果截图实验二的结果截图实验2 单链表的基本操作一、实验目的编程实现单链表的创建、插入和删除。
(为方便测试,其中元素定义为:typedef int Elemtype)二、实验软硬件要求硬件:一台安装了windows操作系统的计算机。
软件:三、实验内容(需写出源程序)四、实验结果(写出运行程序后的结果截图)实验3 栈和队列的基本操作一、实验目的编程实现顺序栈和顺序队列的创建,并能实现入栈、出栈、入队和出队等算法。
(为方便测试,其中元素定义为:typedef int Elemtype)二、实验软硬件要求硬件:一台安装了windows操作系统的计算机。
软件:三、实验内容(需写出源程序)四、实验结果(写出运行程序后的结果截图)实验4 二叉树的基本操作一、实验目的利用二叉链表方法编程实现建立二叉树,以及二叉树的前序和中序遍历算法。
(为方便测试,其中元素定义为:typedef int Elemtype)二、实验软硬件要求硬件:一台安装了windows操作系统的计算机。
C++上机实验报告

成绩辽宁工程技术大学上机实验报告课程名称嵌入式程序设计(C++)学院软件学院专业嵌入式软件班级嵌软12-1学号姓名日期2015.01.17-2015.01.18目录实验一熟悉VC++编程环境 (1)实验二带有循环语句的C++程序 (5)实验三熟悉VC++编程环境 (9)实验四类与对象 (14)实验五继承与派生 (19)实验六友元函数与运算符重载 (22)实验七指针数组 (26)实验八函数的定义与调用 (30)实验一熟悉VC++编程环境实验目的(1)熟悉VC++编程开发环境。
(2)掌握在VC++集成开发环境中编译、调试与运行程序的方法。
(3)掌握简单的出入输出程序编写,调试,运行。
实验准备(1)准备下载安装一个VC++编程软件。
(2)复习书本前三章,回顾C++编程基本原理及程序格式。
(3)从书上挑选源程序作为实验程序。
(4)准备好新建工程,设置文件保存地址。
实验过程一、程序一1.实验内容:新建c++源程序,使之输出一个字符串。
2.程序代码:# include <iostream.h>void main(){ cout<<" ***************"<<'\n';cout<<" Hello!"<<'\n';cout<<" ***************"<<'\n';}3.调试,运行,分析结果。
二、程序二1.实验内容:编写一个C++程序,要求输入一个矩形的长和宽,输出面积和周长。
2.程序代码:# include <iostream.h>void main(){ float a,b ,L,S;cout<<"请输入一个矩形的长与宽:"<<endl;cin>>a>>b;L=(a+b)*2;S=a*b;cout<<"矩形的长与宽: " <<a<<"和"<<b<<endl;cout<<"矩形的周长: " <<L<<endl;cout<<"矩形的面积: " <<S<<endl;}3.调试,运行,分析结果。
软件测试实验报告(测试用例 代码 截图)

软件测试实验报告(测试用例代码截图)计算机软件测试技术实验报告系别电子信息系专业计算机科学与技术班级学号姓名指导教师万聪2010年12月19月实验一黑盒测试用例设计一(实验内容:1( 三角形问题的等价类测试和边界值分析测试2( NextDate()函数决策表法测试二(实验要求:给出测试用例和测试结果三(实验步骤及结果:3.1(三角形)实验代码(c)#include<stdio.h> #include<stdlib.h>int a=0,b=0,c=0;void shuru();void panduan(int a1,int b1,int c1);void main(){char se;shuru();panduan(a,b,c);while(1){printf("是否要继续y or n :");scanf("%c",&se);if(se=='\n') scanf("%c",&se);switch(se){case 'y':shuru();panduan(a,b,c);break;case 'n':return;}}}void shuru(){printf("Please enter 三角形三边 (a,b,c)\n"); scanf("%d,%d,%d",&a,&b,&c);while((a<1||a>100)||(b<1||b>100)||(c<1||c>100)){if(a==0||b==0||c==0) printf("边长不能为0\n");else if(a<0||b<0||c<0) printf("边长不能为负\n");else printf("Please enter 1-100之间的整数\n");scanf("%d,%d,%d",&a,&b,&c);}}void panduan(int a1,int b1,int c1) {int m1=a1+b1;int m2=a1+c1;int m3=b1+c1;if(a1>=m3||b1>=m2||c1>=m1) printf("非三角形\n");else if(a1!=b1&&a1!=c1&&b1!=c1) printf("一般三角形\n");else if((a1==b1&&b1!=c1)||(a1==c1&&a1!=b1)||(c1==b1&&a1!=c1)) printf("等腰三角形\n");else if(a1==b1&&b1==c1) printf("等边三角形\n"); }3.2测试用例和结果(反映在图中)测试用例输入a,b,c 输出1 4,5,6 一般三角形2 2,3,6 非三角形3 4,4,7 等腰三角形4 6,6,6 等边三角形5 4,0,6 边长不能为06 4,-5,6 边长不能为负7 101,101,101 请输入1-100之间的整数图形结果:3.3(NextDate())实验代码(c)#include<stdio.h>#include<stdlib.h>#include<time.h>void main(){int year;int month,day;int leap;//标志是闰年还是平年,为1时是闰年,为2时是平年time_t t;//本来以下是用来判断格式输入是否正确的,但是结果不理想struct tm stm;//Awhile(1){//循环测试printf("请输入年(yyyy)/月(mm)/日(dd)\n");scanf("%d/%d/%d",&stm.tm_year,&stm.tm_mon,&stm.tm_mday);//B year=stm.tm_year;month=stm.tm_mon;day=stm.tm_mday;//Ct=mktime(&stm);//Dprintf("*****输出结果*****\n");if(t!=-1)//E有问题,不管输入格式是什么,t永远是-1{printf("输入的日期时间格式出错!\n");continue;}if(year%4==0)//年份判断{if(year%100==0){if(year%400==0){leap=1;printf("%ld年%d月%d日是闰年\n",year,month,day);}else{leap=2;printf("%ld年%d月%d日是平年\n",year,month,day); }}else{leap=1;printf("%ld年%d月%d日是闰年\n",year,month,day); }}else{leap=2;printf("%ld年%d月%d日是平年\n",year,month,day); }if(month==2){if(leap==1){printf("该月有29天\n");if(day>29){printf("对不起!您输入的日期超出该月范围\n"); continue;}else if(day==29){month=month+1;day=1;}else day=day+1;}if(leap==2){printf("该月有28天\n");if(day>28){printf("对不起!您输入的日期超出该月范围\n"); continue;}else if(day==28){month=month+1;day=1;}else day=day+1;}}else if(month==4||month==6||month==9||month==11){printf("该月有30天\n");if(day>30){printf("对不起!您输入的日期超出该月范围\n"); continue;}else if(day==30){month=month+1;day=1;}else day=day+1;}else{printf("该月有31天\n");if(day>31){printf("对不起~超出该月范围\n");continue;}else if(day==31){if(month==12&&day==31){year=year+1;month=1;day=1;}else{month=month+1;day=1;}}else day=day+1;}printf("NEXT日期:%ld年%d月%d日\n",year,month,day); }}3.4测试用例和结果(反映在图中)决策表测试用例 month day year 预期输出Test1~3 6 16 2001 2001/6/17Test4 6 30 2001 2001/7/1Test5 6 31 2001 对不起~超出该月范围Test6~9 1 17 2010 2010/1/18Test10 1 31 2013 2013/2/1Test 11~14 12 31 2010 2010/1/1Test15 2 28 2004 2004/2/29Test16 2 29 2004 2004/3/1Test17 2 28 2001 2001/3/1Test18 2 30 2001 对不起~超出该月范围界面效果:实验二白盒测试用例设计一(实验内容:求解一元二次方程程序控制流测试二(实验要求:给出控制流测试用例和测试结果三(实验步骤及结果:3.1实验代码(c)#include<stdio.h>#include<stdlib.h>#include<math.h>void main(){float a,b,c,x,y;float mid,x1,x2;y=a*x*x+b*x+c;printf("*************************************\n"); printf("二元一次方程的求解问题\n");printf("**************************************\n"); while(1){printf("请输入y方程中参数a,b,c: \n");scanf("%f,%f,%f",&a,&b,&c);if(a!=0){mid=b*b-4*a*c;if(mid>0){x1=(-b+sqrt(mid))/(2*a);x1=(-b-sqrt(mid))/(2*a);printf("该方程有两个解:x1=%f,x2=%f\n",x1,x2);//printf("y=(%f*%f*%f)+(%f*%f)+(%f)\n",a,x1,x1,b,x1,c);//printf("y=(%f*%f*%f)+(%f*%f)+(%f)\n",a,x2,x2,b,x1,c);}if(mid==0){x1=-b/(2*a);x2=x1;printf("该方程两个解相同:x1=x2=%f\n",x2);printf("y=(%f*%f*%f)+(%f*%f)+(%f)\n",a,x1,x1,b,x1,c);}if(mid<0){printf("该方程没有解\n");}}else printf("该方程不是二元方程,可能是一元一次方程\n");}}3.2测试用例和结果(反映在图中)测试用例 x,y,z a!=0 mid>0 mid==0 输出结果1 2,5,3 真真假该方程有两个解2 1,2,1 真假真该方程有两个相同解3 4,2,1 真假假该方程没有解4 0,2,1 假该方程不是二元方程,可能是一元一次方程图形结果:实验三基于缺陷模式的软件测试一(实验内容:C++语言、Java语言缺陷模式测试 (2学时) 二(实验要求:给出测试用例和测试结果三(实验步骤及结果:3.1实验代码(java)package hl.fengye.tt;public class base{//没必要的方法调用,System.exit()是没有必要的,应该抛出异常public String square(String x){try{int y=Integer.parseInt(x.toLowerCase());return y*y+"";}catch(NumberFormatException e){e.printStackTrace();System.exit(1);return "";}}//显示垃圾回收(缺陷)public String multiply(String x,int n){if(n<=0) return "";StringBuffer buf=new StringBuffer();while(n-->0){buf.append(x);}return buf.toString();}public String multiplyGc(String x,int n){ System.gc();//显示运行结果return multiply(x,n);}//字符串的低效操作(连接)public void connection(){String filed="东北大学秦皇岛分校 4080420 黄磊"; //this is badString s="";//System.out.print(s);//Startfor(int i=0;i<filed.length();++i){s=s+filed.charAt(i);//追加}System.out.print(s+'\n');//Stop1}public void connection2(){String filed="东北大学秦皇岛分校 4080420 黄磊";//this is betterString s="";StringBuffer buf=new StringBuffer();for(int i=0;i<filed.length();++i){buf.append(filed.charAt(i));}String ss=buf.toString();System.out.print(ss+'\n');//Stop2}public static void main(String[] args) {String h;base pp=new base();h=pp.square("100");System.out.print(h+"\n");String s="hello word!";h=pp.multiply(s, 2);//System.out.print(h+"\n");h=pp.multiplyGc(s,2);System.out.print(h+"\n");//以纳秒为单位计算的:long startTime = System.nanoTime();//获取当前时间pp.connection();long endTime = System.nanoTime();System.out.println("程序运行时间:"+(endTime-startTime)+"ms");long startTime2 = System.nanoTime();//获取当前时间pp.connection2();long endTime2 = System.nanoTime();System.out.println("程序运行时间:"+(endTime2-startTime2)+"ms"); }}3.2测试用例和结果(反映在图中)显示垃圾回收部分:测试用例输入String s ,int n 输出结果1 hello word !,2 hello word! hello word!2 ni hao ,1 ni hao3 love you ,0 (null)图形显示:低效字符串操作部分:测试用例输入String s 输出时间bad(ms) good(ms)1 hl 441694 271302 hello word 477785 378673 东北大学秦皇岛分校 4080420 黄磊 456245 392444 (空格) 313135 51604部分图形展示:实验四系统测试一(实验内容:数据库应用系统性能测试二(实验要求:给出响应时间、吞吐量测试用例和结果三(实验步骤及结果:3.1实验代码(java)import java.sql.Connection;import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;public class huanglei {/*** @param args* @throws Exception*/public void execute() throws Exception{Class.forName("com.mysql.jdbc.Driver");Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");con.setAutoCommit(false);Statement st = con.createStatement();//st.execute("create table city (name varchar(20) not null)");for(int i = 100;i>0;i--){String str = "insert into city values('city"+i+"','huangeli','hebei')";System.out.println(str);st.addBatch(str);}//rs='select * from city';st.executeBatch();mit();}public static void main(String[] args) {// TODO Auto-generated method stubtry {new Luncher().execute();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}3.2测试用例和结果(反映在图中)测试用例线程数循环次数响应时间(seconds)吞吐结果1 100 10 1 592.002/minute2 50 5 1 293.232/minute1 100 102 586.61/minute图形展示:实验总结:通过这些课时的实验,了解了一些软件测试的基本含义,学会了一些基本测试步骤的设计和用例的构造。
可编程式逻辑器件设计试验报告实验LED流水灯的控制实验

课程名称:可编程逻辑器件开课实验室:504 2013年5月31日一、实验目的1. 继续熟悉FPGA开发流程2.熟悉管脚分配,熟悉编程二、实验内容通过代码实现对LED流水灯的控制,使流水灯从左到右依次执行,完成后并循环执行.三、实验代码module led_water(clk,led)。
input clk。
output[7:0] led。
reg[7:0] led。
reg[50:0] cnt。
reg[3:0] cntm。
always@(posedge clk)beginif(cnt>=50000000)begincntm<=cntm+1。
cnt<=0。
endelsebegincnt<=cnt+1。
endif(cntm>=7)begincntm<=0。
endendalways@(posedge clk)begincase(cntm)0:led<=8'b10000000。
//01:led<=8'b01000000。
//12:led<=8'b00100000。
//23:led<=8'b00010000。
//34:led<=8'b00001000。
//45:led<=8'b00000100。
//56:led<=8'b00000010。
//67:led<=8'b00000001。
//7default:led<=7'b00000000。
endcaseendendmodule//更改代码后使流水灯从左到右,走完后在从右到左的走,依次循环. module led_water(clk,led)。
input clk。
output[7:0] led。
reg[7:0] led。
reg[50:0] cnt。
reg[4:0] cntm。
always@(posedge clk)beginif(cnt>=50000000)begincntm<=cntm+1。
操作系统课内实验报告

.. 西安交通大学实验报告操作系统实验报告2130505133计算机36班操作系统实验实验一:用户接口实验实验目的1)理解面向操作命令的接口Shell。
2)学会简单的shell编码。
3)理解操作系统调用的运行机制。
4)掌握创建系统调用的方法。
操作系统给用户提供了命令接口和程序接口(系统调用)两种操作方式。
用户接口实验也因此而分为两大部分。
首先要熟悉Linux的基本操作命令,并在此基础上学会简单的shell 编程方法。
然后通过想Linux内核添加一个自己设计的系统调用,来理解系统调用的实现方法和运行机制。
在本次实验中,最具有吸引力的地方是:通过内核编译,将一组源代码变成操作系统的内核,并由此重新引导系统,这对我们初步了解操作系统的生成过程极为有利。
实验内容1)控制台命令接口实验该实验是通过“几种操作系统的控制台命令”、“终端处理程序”、“命令解释程序”和“Linux操作系统的bash”来让实验者理解面向操作命令的接口shell和进行简单的shell编程。
➢查看bash版本。
在shell 提示符下输入:$echo $BASH_VERSION我们的版本是4.3.42(1)-release(2)建立bash 脚本,输出Hello word在编辑器中输入以下内容#!/bin/bashecho Hello World!执行脚本使用指令:$./script➢编写bash脚本,统计/my目录下c语言文件的个数通过bash 脚本,可以有多种方式实现这个功能,而使用函数是其中个一个选择。
在使用函数之前,必须先定义函数。
进入自己的工作目录,编写名为count 的文件脚本程序:#! /bin/bashfunction count{echo –n " Number of matches for $1: " #接收程序的第一个参数ls $1|wc –l #对子程序的第一个参数所在的目录进行操作}将count 文件复制到当前目录下,然后在当前目录下建立文件夹,在my 目录下建立几个c 文件,以便用来进行测试2)系统调用实验该实验是通过实验者对“Linux操作系统的系统调用机制”的进一步了解来理解操作系统调用的运行机制;同时通过“自己创建一个系统调用mycall()”和“编程调用自己创建的系统调用”进一步掌握创建和调用系统调用的方法。
广工数据库实验报告

⼴⼯数据库实验报告实验平台:SQL Sever 2005实验⼀数据库及基本表的建⽴⼀、实验⽬的1、掌握SQL SERVER的查询分析器和企业管理器的使⽤;2、掌握创建数据库和表的操作;⼆、实验内容和要求1、分别使⽤SQL语句、企业管理器(Enterprise Manager)创建数据库;2、使⽤SQL语句、企业管理器(Enterprise Manager)创建数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2000/2005;四、实验⽅法、步骤及结果测试创建⼀个教学管理数据库SC,其描述的信息有:学⽣信息、课程信息、教师信息、学⽣选课成绩、授课信息、班级信息、系部信息、专业信息。
创建:student表(学⽣信息表)、course表(课程信息表)、teacher表(教师信息表)、student _course表(学⽣选课成绩表)、teacher_course表(教师上课课表)等。
题⽬1、创建数据库:1、创建数据库:·确定数据库名称;数据库⽤于学⽣管理,命名为SC·确定数据库的位置;要求:数据⽂件和⽇志⽂件分别存储在E盘⾃⼰的⽬录下。
·确定数据库的⼤⼩;根据实际的数据量确定数据⽂件的初始⼤⼩为30MB,⽇志⽂件的初始⼤⼩为3MB。
·确定数据库的增长;根据实际情况,确定数据⽂件按20%增长,⽇志⽂件按1MB增长。
实现代码及截图:题⽬2、创建基本表题⽬4、利⽤查询分析器修改上述各表。
(1)、⽤INSERT语句向各个表中插⼊数据录⼊5 条记录。
录⼊时注意体会外键约束。
实现代码及截图:(2)、⽤UPDATE语句更改student表中数据;实现代码:(3)、⽤DELETE语句删除student表中数据;实现代码:五、实验中出现的问题及解决⽅案初次使⽤SQL插⼊数据的时候发现会出现重复插⼊的情况,这是需要检查代码是否有重复插⼊相同的主键信息。
中山学院EDA综合实验报告-ADC采样控制电路设计

学生实验报告
3、ADC控制电路的仿真分析
结合代码分析,如图所示,每一个时钟上升沿都使状态机进入下一个状态,刚开始的ALE和START高电位表明状态机经过了状态s1,在给EOC输入高电位前,给D所写的值121并没有送进电路,因而Q输出为0,这是因为从状态s2到s3需要EOC信号为高电位才能
结合代码分析,如图所示,在s0状态之时,当CLK信号处于上升沿,则进入s1状态;在s1状态之时,当CLK信号处于上升沿,ALE、START输出为1,则进入s2状态;在s2状态之时,当CLK信号处于上升沿,ALE、START下拉为0,如果EOC输入为1则进入s3状态,否则仍然处于s2状态;在s3状态之时,OE输出为1,同时进入s4状态;在s4状态之时,OE、LOCK输出为1,并且重新回到s0状态;如果执行RST复位操作,无论当前。
单片机实验代码

单片机实验代码文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]单片机实验代码实验一ORG 0000hAJMP HA1SORG 0030HHA1S: MOV A,#00HHA1S1: JB P3.3,HA1S1MOV R2,#20HLCALL DELAYJB P3.3,HA1S1HA1S2: JNB P3.3,HA1S2MOV R2,#20HLCALL DELAYJNB P3.3,HA1S2INC APUSH ACCMOV P1,APOP ACCAJMP HA1S1DELAY: PUSH 02HDELAY1: PUSH 02HDELAY2: PUSH 02HDELAY3: DJNZ R2,DELAY3POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETEND实验二ORG 0000HAJMP 0030HORG 0013HLJMP HA2S3ORG 0030HHA2S: MOV P1,#0fFH ORL P3,#00HHA2S1: JB P3.4,HA2S1 ORL IE,#84HORL IP,#04HMOV PSW,#00HMOV SP,#53HHA2S2: MOV P1,#081H ACALL HA2S7MOV P1,#082HACALL HA2S7MOV P1,#084HACALL HA2S7MOV P1,#088HACALL HA2S7MOV P1,#090HACALL HA2S7MOV P1,#0A0HACALL HA2S7MOV P1,#0C0HACALL HA2S7SJMP HA2S2HA2S3: MOV B,R2HA2S5: SETB P1.7ACALL HA2S6CLR P1.7ACALL HA2S6JNB P3.3,HA2S5MOV R2,BRETIHA2S6: MOV R2,#06H ACALL DELAYRETHA2S7: MOV R2,#30HACALL DELAYRETDELAY: PUSH 02H DELAY1: PUSH 02H DELAY2: PUSH 02H DELAY3: DJNZ R2,DELAY3 POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETEND实验10org 0000hSjmp MAINorg 000bhmov th0,r1mov tl0,r0cpl p1.0RETIMAIN:MOV TMOD,#01H MOV IE,#82HMOV DPTR,#TABLOOP: CLR AMOVC A,@A+DPTRMOV R1,AINC DPTRCLR AMOVC A,@A+DPTRMOV R0,AORL A,R1JZ NEXT0MOV A,R0ANL A,R1CJNE A,#0FFH,NEXTSJMP MAINNEXT : MOV TH0,R1MOV TL0,R0SETB TR0SJMP NEXT1NEXT0:CLR TR0NEXT1: CLR AINC DPTRMOVC A,@A+DPTRMOV R2,ALOOP1: ACALL D200CDJNZ R2,LOOP1INC DPTRAJMP LOOPD200C:MOV R3,#81HD200B:MOV A,#0FFHD200A:DEC AJNZ D200ADEC R3CJNE R3,#00H,D200BRETTAB: DB 0FEH,25H,04H,0FEH,25H,02H ;11 1 5 DB 0FEH,25H,02H,0FDH,80H,04HDB 0FEH,84H,02H,0FEH,84H,02H;33 3 1DB 0FEH,84H,04H,0FEH,25H,04HDB 0FEH,25H,02H,0FEH,84H,02H;13 5 5DB 0FEH,0C0H,04H,0FEH,84H,02HDB 0FEH,98H,02H,0FEH,84H,02H;43 2 -DB 0FEH,57H,08H,00H,00H,04HDB 0FFH,0FFHEND;1=131 262 523 1047;2=147 294 587 1175;3=165 330 659 1319;4=175 349 698 1397;5=196 392 784 1568;6=220 440 880 1760;7=247 494 988 1976实验十一ORG 0000HAJMP STARTORG 0030HSTART: SETB P1.0 LCALL DELAYCLR P1.0LCALL DELAYSJMP STARTDELAY: MOV R7,#0FFH DELAY1: MOV R6,#0FFH DELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1RETEND实验六ORG 0000HAJMP HA6SORG 0030HHA6S: MOV SP,#53HHA6S1: MOV R6,#00HHA6S2: MOV DPTR,#8000H MOV A,R6MOVX @DPTR,AMOV R2,#30HLCALL DELAY;INC R6;CJNE R6,#0FFH,HA6S2 HA6S3: MOV R6,#0FFH MOV DPTR,#8000H; DEC R6MOV A,R6MOVX @DPTR,AMOV R2,#30HLCALL DELAY;CJNE R6,#00H,HA6S3 SJMP HA6S1DELAY: PUSH 02HDELAY1: PUSH 02H DELAY2: PUSH 02H DELAY3: DJNZ R2,DELAY3 POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETEND实验29TIMER EQU 01Horg 0000hajmp STARTORG 000BHAJMP INT_T0ORG 070HSTART: MOV SP,#53H MOV TMOD,#01HMOV TL0,#00HMOV TH0,#4BHMOV R0,#0HMOV TIMER,#20MOV SCON,#00HCLR TICLR RISETB TR0SETB ET0SETB EASJMP $INT_T0: PUSH ACCPUSH PSWCLR EACLR TR0MOV TL0,#0HMOV TH0,#4BHSETB TR0DJNZ TIMER,EXITMOV TIMER,#20MOV DPTR,#CDATAMOV A,R0MOVC A,@A+DPTRCLR TICPL AMOV SBUF,AINC R0CJNE R0,#0AH,EXITMOV R0,#0HEXIT: SETB EAPOP PSWPOP ACCRETICDATA: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H END相关文档:更多相关文档请访问:。
棋盘覆盖(算法实验代码)

实验一、棋盘覆盖代码及截图代码:#include <stdio.h>int tile=1;int Board[32][32];void ChessBoard(int tr,int tc,int dr,int dc,int size){if(size==1) return;int t=tile++;int s=size/2;if(dr<tr+s&&dc<tc+s)ChessBoard(tr,tc,dr,dc,s);else{Board[tr+s-1][tc+s-1]=t;ChessBoard(tr,tc,tr+s-1,tc+s-1,s);}if(dr<tr+s&&dc>=tc+s)ChessBoard(tr,tc+s,dr,dc,s);else{Board[tr+s-1][tc+s]=t;ChessBoard(tr,tc+s,tr+s-1,tc+s,s);}if(dr>=tr+s&&dc<tc+s)ChessBoard(tr+s,tc,dr,dc,s);else{Board[tr+s][tc+s-1]=t;ChessBoard(tr+s,tc,tr+s,tc+s-1,s);}if(dr>=tr+s&&dc>=tc+s)ChessBoard(tr+s,tc+s,dr,dc,s);else{Board[tr+s][tc+s]=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);}}void main(){int size;printf("请输入棋盘的大小(大小为2的N次方):");scanf("%d",&size);int x,y;printf("请输入特殊方格的坐标:");scanf("%d %d",&x,&y);ChessBoard(0,0,x,y,size);for(int i=0;i<size;i++){for(int j=0;j<size;j++)printf("%2d ",Board[i][j]);printf("\n");}}截图:。
基于卷积神经网络的手势识别实验

“剪刀石头布”手势识别——基于卷积神经网络一、实验目的与要求1.上网查询人工智能卷积神经网络相关知识,掌握卷积神经网路CNN的基本原理2.利用CNN实现“剪刀石头布”的手势识别二、实验环境本次实验用的是python+TensorFlow的方式实现的CNN识别器。
实验环境包括:TensorFlow1.5.0、CUDAv11.3、Cudnn-11.2,python3.6版本三、实验代码源程序:CallFrame.py# 单独给CloseButton添加标签self.CloseButton.setProperty('color', 'gray') # 自定义标签self.GetGestureButton.setProperty('color', 'same')self.JudgeButton.setProperty('color', 'same')self.HelpButton.setProperty('color', 'same')# 定义槽函数def GetGesture(self):self.LitResultlabel.setText("")self.ImaResultlabel.setPixmap(QPixmap('./ges_ico/white.ico'))self.LitResultlabel.setAutoFillBackground(False)saveGesture()self.LitResultlabel.setText("已经将该图像保存在电脑本地")self.LitResultlabel.setAlignment(Qt.AlignCenter)def JudgeGesture(self):global gesture_action # 要修改全局变量需要先在函数里面声明一下self.LitResultlabel.setText("正在调用卷积神经网络识别图像")self.LitResultlabel.setAlignment(Qt.AlignCenter)QApplication.processEvents() # 这里需要刷新一下,否则上面的文字不显示gesture_num = evaluate_one_image()if gesture_num == 1:gesture_action = "1"self.result_show_1()elif gesture_num == 2:gesture_action = "2"self.result_show_2()elif gesture_num == 3:gesture_action = "3"self.result_show_3()elif gesture_num == 4:gesture_action = "4"self.result_show_4()elif gesture_num == 5:gesture_action = "5"self.result_show_5()def ExcuteGesture(self):self.serial_communicate()def Help(self):rmation(self, "操作提示框", "获取手势:通过OpenCV和摄像头获取一张即时照片。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一基础
实验目的
1、掌握Visual Studio运行环境的配置方法。
2、通过编写简单的页面,掌握网页的编写和运行方法。
实验内容
一、创建文件系统网站;
1. 在D盘新建文件夹03soft,作为网站目录;
2. 在网站的默认的主页上添加控件Button,双击该控件添加如下代码:
protected void Button1_Click(object sender, EventArgs e) {
("欢迎光临学习天地!");
}
3. 运行这个页面,写出这个页面运行时的页面地址。
实验截图:
二、创建HTTP网站
1、打开IIS管理器,进入管理页面,添加网站名称mysite,并设置物理路径;
2、创建HTTP网站,并选取mysite作为网站目录;
3、在的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e) {
("欢迎光临学习天地!");
}
4、运行这个页面,写出这个页面运行时的页面地址。
实验截图:
三、创建单一文件模式网页
1、打开第一题中的文件系统网站,新建一个名为的单一文件模式的网页,并在网页中添加Label控件和Button控件,双击Button控件,添加如下代码:
= "Clicked at " + 、运行这个页面,写出单击Button时的运行结果
实验截图:
四、打开第一题中的文件系统网站,在网页的Page_Load事件中编写代码,实现在ListBox1中填充选项,并且单击按钮时不重复加载。
实验截图:
五、思考题
1、文件系统网站由什么服务器支持它运行HTTP网站由什么服务器支持它运行两种类型的网站在调试运行时显示的网址有什么不同
答:文件系统网站由 Development Server支持其运行,HTTP网站由IIS服务器支持它运行。
文件系统显示的是localhost:端口号/文件夹名/网站名,HTTP网站显示的是:localhost:端口号/网站名。
2、IIS管理器中的Default Web Site的物理目录是什么绑定的端口号是什么如果在这个网站中创建虚拟目录并指定为一个HTTP网站的目录,则该网站在运行时网址是什么举例说明。
答:IIS管理器中的Default Web Site的物理目录是程序映射的地址,绑定的端口号80,该网站运行的物理地址是localhost:端口号/网站名。
例如localhost:8010/
3、单一文件模式网页中的程序代码包含在什么标记中
答:.aspx文件中
4、如何解决出现“无法在Web服务器上启动调试”的问题并分析出现该错误的原因。
开始---程序---Visual Studio 2010--- Visual Studio Tools---VS 命令提示
---输入aspnet_regiis -i
出现“开始安装IIS……”
或者输入aspnet_regiis -r
原因是:正确的安装顺序应该先装IIs ,再装.NET,如果顺序反了,就会出现这样的错误。
5、如果将第四题中的IsPostBack属性语句去掉,再次运行程序,会出现什么结果能否找到其他方法实现页面首次加载时,在ListBox1中填充选项,并且回发刷新时不重复加载。
会出现listbox中的文字重复加载。
其他方法是,直接在Page_init 中编辑
实验小结
本次实验第一次运行的网站,有很多步骤操作不是很熟练,比如新建一个HTTP 网站时,新建未按步骤,新建的不正确。
之后经由老师的讲解演示,之后的实验进行的很顺利。
写代码要多看多练。