实验一代码及截图
JSP实验报告 截图

燕山大学里仁学院JSP实验报告10级电子商务(1)班李俊敏101405071019里仁学院经济管理系2013年5月实验一1.实验目的(1)掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP页面。
(2)掌握怎样在JSP页面中使用成员变量、怎样使用Java程序片、Java表达式。
2.实验内容1.输出所有1到1000内的完数。
(perfect.jsp)一个数如果恰好等于除它本身外的因子之和,这个数就称为"完数",也叫“完美数”。
例如6=1+2+3.(6的因子是1,2,3),因此,6 就是一个完数。
2.输出乘法口诀表。
(multi.jsp)3.编写两个JSP 页面,名字分别为inputName.jsp和people.jsp。
3.实验要求1)在硬盘分区D下新建一个目录,名字为:student,将student设置为Web服务目录,并为该Web服务目录指定名字为practice的虚拟目录。
在tomcat的安装目录中的\conf\Catalina\localhost下新建一个xml文件,通过文件来设置新的web服务目录。
必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,并通过虚拟目录practice访问Web服务目录student下的JSP页面。
2)启动Tomcat服务器(如果已经启动,必须关闭Tomcat服务器,并重新启动)。
3)用文本编辑器ultraedit编写JSP页,并保存到Web服务目录student中。
4)用浏览器访问Web服务目录student中的JSP页面。
5)inputName.jsp的具体要求该页面有一个表单,用户通过该表单输入自己的姓名并提交给people.jsp页面。
6)people.jsp的具体要求(1) JSP页面有名字为person、类型是StringBuffer以及名字是count,类型为int 的成员变量。
(2) JSP有public void judge ()方法。
铜陵学院c语言实验报告

《C语言程序设计》实验报告2016~2017学年第二学期班级 2016级学号姓名指导教师黄永青实验一 Visual C++ 6.0编程环境与C语言程序的调试过程一、实验学时2 学时。
二、实验目的1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。
三、预习内容教材《C语言程序设计》第1章。
四、实验内容1.请调试、运行下面的程序一。
#include <stdio.h>int main( ){printf("Hello,World!\n");return 0;}给出以上程序的运行结果(或其截图):2.请调试、运行下面的程序二。
#include <stdio.h>int main( ){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%1d*%1d=%2d ",j,i,j*i);printf("\n");}return 0;}给出以上程序运行结果的截图:3.请改正下面程序三中的语法错误,然后调试、运行该程序,观察分析运行结果。
#include <stdio.h>int main( ){int a,b,sum;a=3b=4;sun=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(1)改正后的程序#include <stdio.h>int main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2)以上程序的运行结果(或其截图):五、思考题1.调试C语言程序的步骤有哪些?答:1. 编辑2. 编译3. 连接4. 运行2.程序的基本结构有哪三种?答:顺序结构,选择结构,循环结构指导教师成绩年月日实验二数据类型、运算符和表达式一、实验学时2 学时。
单片机控制发光二极管实验报告

单片机控制发光二极管实验报告发光二极管广东石油化工学院单片机实验一实验报告实验报告实验一发光二极管实验学院: 电信学院专业:班级学生学号:实验时间一、实验目的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();}}截图与题一相同,增加由下至上。
实验一查看CPU和内存,用机器指令和汇编指令编程

实验⼀查看CPU和内存,⽤机器指令和汇编指令编程⼀.实验准备前⾔:由于⼤家的电脑⼤多使⽤的是64位的操作系统,不能在系统⾃带的MS-DOS环境下编写汇编源程序,所以我们需要DOSBox这个软件,以便在64位环境下编写汇编源程序。
下载完成后进⾏挂载,进⼊挂载虚拟盘进⼊debug环境即可⼆.使⽤debug将书中事例程序段写⼊内存,逐条执⾏,观察每条指令执⾏后CPU相关寄存器中内容的变化(可⽤E命令和A命令以两种⽅式将指令写⼊内存)1.使⽤e命令将指令机器码写⼊指定1000:0地址的内存2.使⽤u命令进⾏反汇编查看是否与对应的汇编指令相符合经过核对与相应的汇编指令符合3.使⽤t命令单步执⾏由于指令⾏数过多,这⾥只列出了部分代码截图。
经核对,其符合汇编指令的执⾏第⼀步,将寄存器ax的值设为4e20h第⼆步,将寄存器ax的值加上1416h变为6236h第三步,将寄存器bx的值设为2000h第四步,将寄存器ax的值与bx的值想加并赋给ax......步骤过多就不在此⼀⼀列举了,总之可以发现⽤e指令通过机器码修改内存的内容可以达到汇编指令的作⽤4.使⽤a命令以汇编指令的形式在内存中写⼊机器指令5.使⽤u反汇编指令检查汇编指令与机器码是否对应可以发现将汇编指令反汇编后的机器码与之前所列机器码⼀致6.使⽤t命令进⾏单步执⾏通过汇编指令与单步执⾏的结果与机器码单步执⾏的结果⼀致三.将下⾯三条指令写⼊从2000:0开始的内存单元中,使⽤下⾯三条指令计算2的8次⽅1.代码分析---恢复内容结束---实验结论⼀.实验准备前⾔:由于⼤家的电脑⼤多使⽤的是64位的操作系统,不能在系统⾃带的MS-DOS环境下编写汇编源程序,所以我们需要DOSBox这个软件,以便在64位环境下编写汇编源程序。
下载完成后进⾏挂载,进⼊挂载虚拟盘进⼊debug环境即可⼆.使⽤debug将书中事例程序段写⼊内存,逐条执⾏,观察每条指令执⾏后CPU相关寄存器中内容的变化(可⽤E命令和A命令以两种⽅式将指令写⼊内存)1.使⽤e命令将指令机器码写⼊指定1000:0地址的内存2.使⽤u命令进⾏反汇编查看是否与对应的汇编指令相符合经过核对与相应的汇编指令符合3.使⽤t命令单步执⾏由于指令⾏数过多,这⾥只列出了部分代码截图。
Java实验一实验报告

Java实验⼀实验报告实验⼀ Java开发环境的熟悉⼀、实验内容1. 使⽤JDK编译、运⾏简单的Java程序2.使⽤Eclipse 编辑、编译、运⾏、调试Java程序⼆、实验要求1.没有Linux基础的同学建议先学习《》《》课程2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运⾏结果,遇到的问题(⼯具查找,安装,使⽤,程序的编辑,调试,运⾏等)、解决办法(空洞的⽅法如“查⽹络”、“问同学”、“看书”等⼀律得0分)以及分析(从中可以得到什么启⽰,有什么收获,教训等)。
3.实验报告中统计⾃⼰的时间步骤耗时百分⽐需求分析 40min20%设计 40min20%代码实现 60min30%测试 30min15%分析总结 30min 15%4. 严禁抄袭。
三、实验步骤(⼀)命令⾏下Java程序开发1.⾸先双击桌⾯上的Xface终端图标。
2.打开终端(类似Windows下的cmd),之后会⾃动运⾏shell程序。
3.输⼊cd Code命令进⼊Code(注意C要⼤写)⽬录。
4.输⼊mkdir 20135109 命令建⽴实验⽬录,注意⽬录名⼀定是⾃⼰的学号(学号要体现在实验报告截图中),可以使⽤ls命令或dir命令查看建⽴的⽬录情况。
5.输⼊cd 20135109命令进⼊实验⽬录,再输⼊类似mkdir exp1建⽴第⼀个实验⽬录,然后输⼊cd exp1进⼊实验⼀⽬录,可以输⼊pwd命令查看当前⼯作路径。
6.输⼊gedit Hello.java(注意把代码保存到exp1⽬录中)或vim Hello.java 编辑Hello.java。
7.输⼊javac -d . Hello.java命令编译代码,输⼊java ljp.Hello命令运⾏程序。
(⼆)Eclipse下Java程序开发、调试1.在命令⾏中输⼊eclipse命令并回车或单击桌⾯上的Eclipse EE图标打开Eclipse。
2.在Eclipse中单击File->New-> Java Project新建Java项⽬。
《数据结构》实验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值。
操作系统实验指导书及代码

操作系统实验指导书及代码《操作系统》实验指导书目录实验环境 ................................................. 1 实验报告要求 ............................................. 1 实验一进程控制与处理机调度综合实验 ..................... 2 实验二存储管理与页面置换算法 (7)实验环境本课程实验硬件环境为PⅢ以上的处理器,带有显示器。
操作系统使用windows98以上操作系统,基本编程环境为Turbo C。
实验报告要求实验报告应包含以下内容:(1)实验题目(2)实验目的(3)实验环境(4)算法描述(5)程序源代码(6)出现的问题(7)对问题的解决方案(8)实验结果与结果分析(9)实验思考(学生对本次实验的收获的总结)实验一进程控制与处理机调度综合实验一、实验目的通过模拟进程控制方法及单处理机系统的进程调度,了解进程的结构,进程的创建与撤消,进程的组织及进程的状态及其转换,掌握进程调度策略。
二、实验学时4学时三、实验内容本实验为单机模拟进程调度算法,在程序设计时不需真正地建立线程或者进程。
实验模拟创建若干进程(人为输入或随机数产生),选择一种或几种单处理机的进程调度算法,如FCFS(先来先服务),SPF(短进程优先),RR(时间片轮转法),优先级算法等,模拟进行进程调度。
每进行一次调度,都打印一次运行进程、就绪队列、以及各个进程的PCB,并能在进程完成后及时撤消该进程。
四、算法描述1 进程及进程的运行状态进程是现代计算机中的基本要素,是系统分配资源和调度的基本单位。
进程与程序不同,进程是系统中动态的实体,有它的创建、运行和撤销的过程。
PCB块是系统感知进程存在的唯一实体。
进程的创建必须首先创建进程的PCB块,而进程的运行也伴随着PCB块的变化,进城撤销也要同时撤销它的PCB块。
所以本实验的任务就是通过模拟调度进程的PCB块来调度进程。
《C语言程序设计》实验报告(实验1-12)

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

上海理工大学光电信息与计算机工程学院《数据结构》实验报告专业学生姓名学号年级指导教师成绩:教师签字:报告格式要求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图形展示:实验总结:通过这些课时的实验,了解了一些软件测试的基本含义,学会了一些基本测试步骤的设计和用例的构造。
实验1:编写COM组件并调用

实验1. 编写COM组件并调用实验内容在VS2010环境中,使用C#语言编写一个简单的COM组件,然后在 中调用COM组件。
实验目的◆掌握COM组件的编写◆学会调用COM组件环境要求VS2010实验指导(一)C#编写COM组件步骤1:创建C#类库,名称为CLCOMTestInCSharp,如下图:注意:如果在win7下,VS2010要以管理员的身份运行步骤2:在“解决方案资源管理器”中,类“Class1.cs”更名为“CAdd.cs”,并在弹出的对话框选项中选择“是”。
如下图:步骤3:添加接口“IAdd”,并使类“CAdd”继承接口“IAdd”,代码如下:步骤4:在文档最上方添加命名空间“using System.Runtime.InteropServices ”的引用语句。
步骤5:通过菜单“工具”、“创建GUID”创建GUID,如下图:步骤6:“IAdd”接口上方使用该GUID步骤7:同样的方法在类“CAdd”的上方再生成添加一个GUID步骤8:完整代码如下:步骤9:打开“解决方案资源管理器”,打开“AssemblyInfo.cs”,将[assembly: ComVisible(false)]设为true。
步骤10:右击该类库项目,选择“属性”“生成”,将“为COM互操作注册”选中。
如图:步骤11:右击项目,“生成”。
将生成“CLCOMTestInCSharp.dll”、“CLCOMTestInCSharp.tlb”、“CLCOMTestInCSharp.pdb”三个文件(二)中调用C#编写的COM组件步骤1:使用创建“Windows窗体应用程序”项目,命名为“COMTest”。
如下图:步骤2:在窗体上添加一个Button,并将其Text属性设为“使用 调用C#创建的COM组件”步骤3:将“CLCOMTestInCSharp.dll”复制到程序目录,添加引用,选择“浏览”,如下图:步骤4:双击“Button”按钮,添加如下代码:步骤5:执行程序,结果如下图所示:实验报告●简述:COM组件开发步骤记录各个步骤,并截图(注意:各种命名要不同于本实验指导中的命名,以示区别)●实习过程中的技术问题及解决方法。
数据库实验1-5

数据库原理实验报告实验__一__题目__ 数据库及根本表的建立__实验__二__题目__ 查询数据库_ 实验__三__题目_创立和使用视图,索引,存储过程实验__四__题目__ 小型数据库规划设计____学院计算机学院专业计算机科学与技术班级级班学号姓名指导教师〔2021年12 月〕计算机学院计算机科学与技术专业班学号:姓名:协________ 教师评定:实验题目数据库及根本表的建立一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创立数据库和表的操作;二、实验内容和要求1、分别使用SQL语句、企业管理器〔Enterprise Manager〕创立数据库;2、使用SQL语句、企业管理器〔Enterprise Manager〕创立数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2000/2003/2005;四、实验方法、步骤及结果测试创立一个教学管理数据库SC,其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。
创立:student表(学生信息表)、course表〔课程信息表)、teacher表〔教师信息表)、student _course表〔学生选课成绩表)、teacher_course表〔教师上课课表〕等。
1、创立数据库:确定数据库名称;数据库用于学生管理,命名为SC确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。
确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。
确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。
〔1〕、利用查询分析器〔Query Analyzer〕,使用SQL语句指定参数创立数据库;SQL语句:CREATE DATABASE SC ON(NAME=SC_DAT, FILENAME='E:\SC.mdf', SIZE=30MB, FILEGROWTH=20%)LOG ON(NAME=SC_LOG, 查询分析器执行情况:SQL语句及执行结果截图显示FILENAME='E:\SC.ldf',SIZE=2MB,FILEGROWTH=1MB)2、创立根本表利用查询分析器,使用SQL语句方式创立方式将下面各表建立到教学管理数据库中。
操作系统课内实验报告

.. 西安交通大学实验报告操作系统实验报告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()”和“编程调用自己创建的系统调用”进一步掌握创建和调用系统调用的方法。
合肥工业大学编译原理实验报告 完整代码版

cout<<"(5,"<<m<<") 常数 ("<<rowy<<","<<rowx<<")"<<endl; ci[cipointer]=m; cipointer++; } } if(i==2)//识别 分界符 算数运算符 关系运算符 { // cout<<" a signal!!"<<endl; for(x=0;x<max;x++) { if(s[x]==m)
同时
进行标识符登记符号表的管理。
以下是实现词法分析设计的主要工作: (1)从源程序文件中读入字符。 (2)统计行数和列数用于错误单词的定位。 (3)删除空格类字符,包括回车、制表符空格。 (4)按拼写单词,并用(内码,属性)二元式表示。(属性值——token 的机内 表示) (5)如果发现错误则报告出错 7 (6)根据需要是否填写标识符表供以后各阶段使用。
}
else sign=0; }
} i++; if(x==(s.length()-1)) { sn=s.substr(x-i+1,i);
if(i>0)
{
// cout<<sn<<" i="<<i<<endl;
cout<<sn<<" ";
if(sign==0)//数字后有字母的情况
cout<<"
("<<rowy<<","<<rowx<<")"<<endl;
实验1简单程序应用

实验1简单程序开发班级学号姓名成绩一、实验目的1.掌握C++的基本语法及程序基本结构,了解C++中的数据类型,常量与变量。
2.了解基本数据输入与输出方法。
3.初步掌握变量的引用。
4.掌握C++中函数的定义、调用以及主调函数和被调函数之间的数据传递规则。
5.掌握结构成员的访问、结构赋值的含义以及结构与指针、函数的关系。
6.掌握程序设计方法和应用。
二、实验内容1. 编写函数将字符串按逆序存放。
2.编写函数实现字符串拷贝功能。
3.编写函数将用户输入的一个十进制数转换成二、八、十六进制数。
4.利用重载编写求整数绝对值和求实数绝对值两个函数。
5.用条件编译方法实现下列功能:输入一行电报文字,可以任意选择两种输出,按原文输出或将字母变成其下一个字母(例’a’变成’b’……’z’变成’a’,其他字符不变)。
用#define命令来控制是否要译成密码。
例如,#define READ 1则输出密码。
#define READ 0则不输出密码,按原字符输出。
6.定义学生成绩结构体,含有学号,英语,数学,物理,总分。
要求:1) 编写input函数,输入全班学号,英语,数学,物理成绩,并计算总分。
2) 编写sort函数,按全班同学总分从高到低排序。
3) 编写out函数, 输出全班同学学号,总分。
主函数中声明学生成绩数组,调用上述三个函数。
7. 编写将两个已知的有序链表合并为一个有序链表的函数。
8.编写从无序的整数链表中找出最大元素,并将此最大元素从链表中删除的函数。
三、实验源程序、测试与结论1.源代码:#include<iostream>#include<string>using namespace std;int main(){charstr[80];inti;cout<<"请输入一个字符串:";cin>>str;int k=0;k=strlen(str);cout<<"逆序存放为:";for(;k>=0;k--)cout<<str[k];cout<<endl;return 0;}截图2.源代码#include<iostream>#include<string>using namespace std;char *stringCopy(char*str1,char*str){strcpy(str1,str);returnstr;}int main(){char*str,s[100];str=new char[100];cout<<"please input a string:";cin>>str;stringCopy(s,str);cout<<"输入的字符串为:"<<str<<endl;stringCopy(s,str);cout<<"拷贝的字符串为:"<<s<<endl;return 0;}截图3.源代码:#include<iostream>#include<iomanip>using namespace std;void two(int);void eight(int);void six(int);int t[1000];void main(){ inta,i,j=0;cout<<"请输入一个十进制的数:"<<endl;cin>>a;i=a;two(i);eight(i);six(i);}void two(int b){int j=0;while(b){t[j]=b%2;b=b/2;j++;}cout<<"\n转化为二进制是:";for(b=j-1;b>=0;b--)cout<<t[b];}void eight(int b){int j=0;while(b){t[j]=b%8;b=b/8;j++;}cout<<"\n转化为8进制是:";for(b=j-1;b>=0;b--)cout<<oct<<t[b];void six(int b){int j=0;while(b){t[j]=b%16;b=b/16;j++;}cout<<"\n转化为16进制是:";for(b=j-1;b>=0;b--)cout<<hex<<t[b];cout<<endl;}截图4.#include<iostream>using namespace std;int abs_1(int);double abs_1(double);int main(){int a;double b;cout<<"请输入一个整数:";cin>>a;cout<<"请输入一个实数:";cin>>b;cout<<abs_1(a)<<endl<<abs_1(b)<<endl; }int abs_1(int x){if(x>=0) return x;else return (-1)*x;double abs_1(double x){if(x>=0) return x;else return (-1)*x;}截图5.#include<iostream>using namespace std;#define CHANGE 1void main(){charstr[80];inti=0;gets(str);while(str[i]!='\0'){#if CHANGEif(str[i]==90||str[i]==122) str[i]=str[i]-25;else if(str[i]>=65&&str[i]<90||str[i]>=97&&str[i]<122) str[i]=str[i]+1; #endifi++;}puts(str);}截图6.#include<iostream>#define MAX 80using namespace std;struct student{intnum;doublescore_eng;doublescore_math;doublescore_phy;doublescore_total;};studentstu[MAX],cstu;void input(int j){inti;for(i=0;i<j;i++){cout<<"请输入第"<<i+1<<"个学生的学号:";cin>>stu[i].num;cout<<"请输入第"<<i+1<<"个学生的英语成绩:";cin>>stu[i].score_eng;cout<<"请输入第"<<i+1<<"个学生的数学成绩:";cin>>stu[i].score_math;cout<<"请输入第"<<i+1<<"个学生的物理成绩: ";cin>>stu[i].score_phy;stu[i].score_total=stu[i].score_eng+stu[i].score_math+stu[i].score_phy;}}int sort(int j){inti,m;for(i=j-1;i>0;i--)for(int m=0;m<i;m++){if(stu[m].score_total<stu[i].score_total){cstu=stu[m];stu[m]=stu[i];stu[i]=cstu;}}return 1;}void out(int j){inti;cout<<"学号\t总分"<<endl;for(i=0;i<j;i++)cout<<stu[i].num<<'\t'<<stu[i].score_total<<endl;}int main(){int a;cout<<"请输入学生人数:";cin>>a;input(a);sort(a);out(a);}截图7,#include<iostream>using namespace std;structLNode{intdata;LNode *next;};LNode*LNodeCreate(){LNode *a,*b,*c;inti,m,n;cout<<"请输入链式线性表元素的个数:";cin>>n;a=c=new LNode;cout<<"请按从小到大输入线性表的"<<n<<"个元素:";for(i=0;i<n;i++){b=new LNode;cin>>m;b->data=m;c->next=b;c=b;}c->next=NULL;c=a;return c;}voidLNodeSort(LNode *L1,LNode *L2){LNode *L3;LNode*pa,*pb,*pc;pa=L1->next;pb=L2->next;L3=pc=L1;while(pa&&pb){if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}else{pc->next=pb;pc=pb;pb=pb->next;}}if(pc->next=pa)pc->next=pa;elsepc->next=pb;delete(L2);cout<<"排列后的线性表为:";for(pc=L3->next;pc!=NULL;pc=pc->next) cout<<pc->data<<" ";cout<<endl<<endl;}void main(){LNode *L1,*L2;L1=LNodeCreate();L2=LNodeCreate();LNodeSort(L1,L2);}截图8,#include<iostream>using namespace std; typedefstructLNode{int data;structLNode *next;} LNode;LNode *head;voidMaxDel(LNode *head) {LNode *p,*a[2];int b;p=head;b=p->next->data;a[0]=p;a[1]=p->next;for(p;p->next!=NULL;p=p->next){if(p->next->data>b){b=p->next->data;a[0]=p;a[1]=p->next;}}cout<<"该链表中最大值为:"<<b<<endl;a[0]->next=a[1]->next;delete(a[1]);p=head;cout<<"删除该链表中最大值后,该链表为:"<<endl;while(p->next!=NULL){cout<<p->next->data<<' ';p=p->next;}cout<<endl;}int main(){LNode *s,*p;inti,n;head=new LNode;head->next=NULL;p=head;cout<<"请输入链式线性表元素的个数:";cin>>n;cout<<"请随意输入线性表的"<<n<<"个元素:";for(i=0;i<n;i++){s=new LNode;cin>>s->data;p->next=s;s->next=NULL;p=s;}cout<<"该链表为:"<<endl;p=head;while(p->next!=NULL){cout<<p->next->data<<' ';p=p->next;}cout<<endl;MaxDel(head);}截图四,实验小结通过这次试验,我知道了基本数据输入与输出方法,函数的定义、调用以及主调函数和被调函数之间的数据传递规则。
计算机图形学实验代码及截图

目录实验一:OpenGL基础知识 0实验二 OpenGL中的建模与变换 (1)实验三 OpenGL中的光照 (4)实验四 OpenGL中的拾取 (7)实验五 OpenGL中的纹理映射 (10)实验一:OpenGL基础知识一、实验目的1、建立Windows系统下的OpenGL实验框架。
2、学习理解OpenGL工作流程。
二、实验环境⒈硬件:每个学生需配备计算机一台。
⒉软件:Visual C++;三、实验内容1、建立非控制台的Windows程序框架。
2、建立OpenGL框架。
3、建立OpenGL框架的类文件。
4、完善Windows框架。
5、理解程序间的相互关系。
四、实验要求1、学习教材第2章的内容。
2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。
3、运行结果应该与教材中的相关实例相符。
4、编译第2章的框架代码,修改背景色、窗口标题。
五、程序设计提示(略)六、报告要求1.认真书写实验报告,字迹清晰,格式规范。
报告中应写清姓名、学号、实验日期、实验题目、实验目的、实验原理。
2.报告中应书写主要源程序,且源程序中要有注释。
3.报告中应包含运行结果及结果分析。
如调试通过并得到预期的效果,请注明‘通过’并粘贴运行效果图;如未调试通过或结果不正确,试分析原因。
4.报告最后包含实验总结和体会。
实验二 OpenGL中的建模与变换一、实验目的1.学习配置OpenGL环境。
2.掌握在OpenGL中指定几何模型的方法。
3. 掌握OpenGL中的透视投影和正投影的设置方法,学会诊断投影问题导致的显示异常。
二、实验环境⒈ 硬件:每个学生需配备计算机一台。
⒉ 软件:Visual C++;三、实验内容1.建立OpenGL编程环境(注:Windows自带gl和glu,还需要安装glut库文件。
)(a)查看Windows自带的OpenGL文件。
在文件夹c:\windows\system32下查看是否存在文件opengl32.dll和glu32.dll;在Visual Studio的安装目录Vc7\PlatformSDK\Include\gl下查看是否存在gl.h和glu.h;在Vc7\PlatformSDK\Lib 下是否存在opengl32.lib和glu32.lib。
棋盘覆盖(算法实验代码)

实验一、棋盘覆盖代码及截图代码:#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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一基础
实验目的
1、掌握Visual Studio运行环境的配置方法。
2、通过编写简单的页面,掌握网页的编写和运
行方法。
实验内容
一、创建文件系统网站;
1. 在D盘新建文件夹03soft,作为网站目录;
2. 在网站的默认的主页上添加控件Button,双击该控件添加如下代码:
protected void Button1_Click(object sender, EventArgs e) {
Response.Write("欢迎光临学习天地!");
}
3. 运行这个页面,写出这个页面运行时的页面地址。
实验截图:
二、创建HTTP网站
1、打开IIS管理器,进入管理页面,添加网站名称mysite,并设置物理路径;
2、创建HTTP网站,并选取mysite作为网站目录;
3、在的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("欢迎光临学习天地!");
}
4、运行这个页面,写出这个页面运行时的页面地址。
实验截图:
三、创建单一文件模式网页
1、打开第一题中的文件系统网站,新建一个名为Default2.aspx的单一文件模式的网页,并在网页中添加Label控件和Button控件,双击Button控件,添加如下代码:
Label1.Text = "Clicked at " + DateTime.Now.ToString();
2、运行这个页面,写出单击Button时的运行结果
实验截图:
四、打开第一题中的文件系统网站,在Default.aspx网页的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/Default.aspx
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网站时,新建未按步骤,新建的不正确。
之后经由老师的讲解演示,之后的实验进行的很顺利。
写代码要多看多练。
(注:可编辑下载,若有不当之处,请指正,谢谢!)。