实验报告11

实验报告11
实验报告11

实验报告

课程名称:高级语言程序设计

实验11、12:结构体与文件

班级:

学生姓名:

学号:201510

专业:计算机科学与技术

指导教师:

学期:2015-2016学年上学期

云南大学信息学院

一、实验目的

1、掌握结构体类型的定义方法

2、掌握定义和使用结构体变量、数组的方法

3、掌握访问结构体成员的方法

4、掌握结构体指针的定义与引用

5、掌握文件以及缓冲文件系统、文件指针的概念

6、学会使用文件打开、关闭、读、写等文件操作函数

二、知识要点

1、结构体类型与结构体变量的概念

2、结构体变量的定义、存储、引用方法

3、结构体数组的概念及使用

4、结构体指针的概念与使用

5、文件及文件操作的基本概念

6、文本文件与二进制文件的读写操作

三、实验预习(要求做实验前完成)

1、使用结构体类型数据的目的是什么?

2、结构体类型和结构体变量的区别为何?

3、结构体变量与简单变量的区别为何?

4、结构体数组与结构体变量有何关系?

5、教材“文件”章相关内容

四、实验内容

1、有N个学生(N值自定),每个学生的数据包括学号,姓名,三门课的成绩,编程

从键盘输入N个学生数据,要求打印出三门课每一门课的成绩,并输出三门课总分最高的学生。

2、定义一个结构体数组,存放12个月的信息,每个数组元素由3个成员组成:月份

的数字表示、月份的英文单词及该月的天数。编写一个输出一年12个月信息的程序。

3、编写一个程序,运用fputs函数,将5个字符串写入文件中。

4、新建一个文本文件,将整型数组中的所有数组元素写入文件。

五、实验结果(要求写出运行界面及输出的运行结果)

1.

#include

#include

int i=0,n=0;

struct Student

{

int num;

char name[20];

float score[3];

float sum;

};

struct Student *p;

void intput(struct Student *p);

int Max(struct Student *p);

void print(int t);

int main()

{

scanf("%d",&n);

p=(struct Student*)malloc(n*sizeof(struct Student));

intput(p);

print(Max(p));

free(p);

return 0;

}

void intput(struct Student *p)

{

for(; i

{

scanf("%d%s%f%f%f",&p[i].num,p[i].name,&p[i].score[0],&p[i].score[1],&p[i].score[2]);

p[i].sum=p[i].score[0]+p[i].score[1]+p[i].score[2];

}

}

int Max(struct Student *p)

int m=0;

for(; i

if(i==0)

m=i;

else if(p[i].sum>p[m].sum)

m=i;

return m;

}

void print(int r)

{

printf("%d %s %.2f %.2f %.2f %.2f",p[r].num,p[r].name,p[r].score[0],p[r].score[1],p[r].score[2] ,p[r].sum);

}

#include

#include

struct Month

{

char num[2];

char monwo[10];

int daynum;

int main()

{

struct Month a[12];

int i;

for(i=0;i<12;i++)

scanf("%s%s%d",a[i].num,a[i].monwo,&a[i].daynum); for(i=0;i<12;i++)

printf("%s%s%d\n",a[i].num,a[i].monwo,a[i].daynum);

return 0;

}

六、实验小结

操作系统实验报告一

重庆大学 学生实验报告 实验课程名称操作系统原理 开课实验室DS1501 学院软件学院年级2013专业班软件工程2 班学生姓名胡其友学号20131802 开课时间2015至2016学年第一学期 总成绩 教师签名洪明坚 软件学院制

《操作系统原理》实验报告 开课实验室:年月日学院软件学院年级、专业、班2013级软件工 程2班 姓名胡其友成绩 课程名称操作系统原理 实验项目 名称 指导教师洪明坚 教师 评语教师签名:洪明坚年月日 1.实验目的: ?进入实验环境 –双击expenv/setvars.bat ?检出(checkout)EPOS的源代码 –svn checkout /svn/epos ?编译及运行 –cd epos/app –make run ?清除所有的临时文件 –make clean ?调试 –make debug ?在“Bochs Enhanced Debugger”中,输入“quit”退出调试 –调试指令,请看附录A 2.实验内容: ?编写系统调用“time_t time(time_t *loc)” –功能描述 ?返回从格林尼治时间1970年1月1日午夜起所经过的秒数。如果指针loc 非NULL,则返回值也被填到loc所指向的内存位置 –数据类型time_t其实就是long ?typedef long time_t; 3.实验步骤: ?Kernel space –K1、在machdep.c中,编写系统调用的实现函数“time_t sys_time()”,计算用户秒数。需要用到 ?变量g_startup_time,它记录了EPOS启动时,距离格林尼治时间1970年1午夜的秒数 ?变量g_timer_ticks

大学生物实验报告三篇(完整版)

报告编号:YT-FS-9156-11 大学生物实验报告三篇 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

大学生物实验报告三篇(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 篇一:浙江大学生物传感器实验报告 实验报告 生物传感器与测试技术 课程名称生物传感器与测试技术姓名徐梦浙 学号专业生物系统工程指导老师王建平/叶尊忠 一热电偶传感器实验 一、实验目的: 了解热电偶测量温度的原理和调理电路,熟悉调 理电路工作方式。 二、实验内容: 本实验主要学习以下几方面的内容 1. 了解热电 偶特性曲线; 2.观察采集到的热信号的实时变化情况。 3. 熟

悉热电偶类传感器调理电路。 三、实验仪器、设备和材料: 所需仪器 四、 myDAQ、myboard、nextsense01热电偶实验模块、万用表 注意事项 五、在插拔实验模块时,尽量做到垂直插拔,避免因为插拔不当而引起的接插件插针弯 曲,影响模块使用。六、禁止弯折实验模块表面插针,防止焊锡脱落而影响使用。七、更换模块或插槽前应关闭平台电源。八、开始实验前,认真检查热电偶的连接,避免连接错误而导致的输出电压超量程,否 则会损坏数据采集卡。九、本实验仪采用的电偶为K型热电偶和J型热电偶。 十、实验原理: 热电偶是一种半导体感温元件,它是利用半导体

11级电路分析基础实验报告

11级电路分析基础实验报告 篇一:电路分析基础实验 实验一:基尔霍夫定理与电阻串并联 一、实验目的 学习使用workbench软件,学习组建简单直流电路并使用仿真测量仪 表测量电压、电流。 二、实验原理 1、基尔霍夫电流、电压定理的验证。 解决方案:自己设计一个电路,要求至少包括两个回路和两个节点, 测量节点的电流代数和与回路电压代数和,验证基尔霍夫电流和电压 定理并与理论计算值相比较。 2、电阻串并联分压和分流关系验证。 解决方案:自己设计一个电路,要求包括三个以上的电阻,有串联电 阻和并联电阻,测量电阻上的电压和电流,验证电阻串并联分压和分 流关系,并与理论计算值相比较。 三、实验数据分析 1、基尔霍夫电流、电压定理的验证。

测量值验证 (1)对于最左边的外围网孔,取逆时针为参考方向得:U1-U2-U3?20V-8.889V-11.111V?0故满足KVL。 (2)对于最大的外围网孔,取逆时针为参考方向得: U1?I5?R3-U2?20V?(-0.111?100)V-8.889V?0 (3)对于节点4,取流进节点的电流方向为正得: -I1?I2?I3?(--0.444)A?(-0.222)A?(-0.222)A?0 (4)对于节点7,取流进节点的电流方向为正得: -I3?I4?I5?(--0.222)A?(-0.111)A?(-0.111)A?0 理论计算值 U1?I1?(R1?R2//R3//R4) IU1204 1?(R?A?A 1?R2//R3//R4)459 I3//R4 2?R RR?I?1?4A?2 1A 2?R3//4299 I(I422 3?1-I2)?(9-9)A?9A IR1 312

操作系统实验报告4

《操作系统》实验报告 实验序号: 4 实验项目名称:进程控制

Printf(“child Complete”); CloseHandle(pi.hProcess); CloseHandle(pi hThread); ﹜ 修改后: #include #include int main(VOID) { STARTUPINFO si; PROCESS_INFORMA TION pi; ZeroMemory(&si,sizeof(si)); si.cb=sizeof(si); ZeroMemory(&pi,sizeof(pi)); if(!CreateProcess(NULL, "c:\\WINDOWS\\system32\\mspaint.exe", NULL, NULL, FALSE, 0, NULL, NULL, &si,&pi)) { fprintf(stderr,"Creat Process Failed"); return -1; } WaitForSingleObject(pi.hProcess,INFINITE); printf("child Complete"); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); } 在“命令提示符”窗口运行CL命令产生可执行程序4-1.exe:C:\ >CL 4-1.cpp

实验任务:写出程序的运行结果。 4.正在运行的进程 (2)、编程二下面给出了一个使用进程和操作系统版本信息应用程序(文件名为4-5.cpp)。它利用进程信息查询的API函数GetProcessVersion()与GetVersionEx()的共同作用。确定运行进程的操作系统版本号。阅读该程序并完成实验任务。 #include #include

操作系统实验报告

操作系统教程 实 验 指 导 书 姓名: 学号: 班级:软124班 指导老师:郭玉华 2014年12月10日

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序: E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 有可能是因为DOS下路径的问题 (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 因为程序是个死循环程序 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环: 屏蔽j循环: _______________________________________________________________________________调整循环变量i的循环次数:

数据库创建数据库和数据表实验报告

的方法。 二、实验环境 Windows7操作系统,SQL Server软件。 三、实验内容 在SQL Server中创建数据库的方法主要有两种:一是在SQL Server Management Studio窗口中使用可视化界面,通过方便的图形化向导创建,二是通过执行Transact-SQL语句创建。

应外码做CASCADE操作。 四、实验步骤 创建数据库 CREATE DATABASE teacher 创建数据表 sno char(10) not null primary key, sex char(2) check(sex in('男','女')) not null, canme varchar(8) not null , DOB datetime, dept varchar(10), telno char(11) not null, ) create table COURSE( con char(5) not null primary key, cname varchar(10) not null, Cpno char(5), teacher varchar(8) not null, credit smallint, ) create table SC( son char(10) not null primary key, con char(5) not null primary key, score decimal(6,2) check(score in(score<'100'||score>'0')), )

五、实验心得 在这次数据库实验中,我初步的了解到了SQL的一些基本的操作,例如查询分析器的界面用法,也明白了大写小写并不影响数据查询,也知道了如何去创建数据库和数据表。虽然在实验中出现了bug,不过通过书本都找解决了。

11级建筑《建筑工程测量》实验报告(学生) 2

建筑工程测量 实验报告 专业 年级 班级 学号 姓名 2013年月日 实验报告一

日期 20131013 班组学号姓名 ㈠完成下列填空 1.安置仪器后,转动脚螺旋使圆水准器气泡居中,转动 目镜看清十字丝,通过缺口和准星瞄准水准尺,转动微动螺旋精确照准水准尺,转动调焦镜消除视差,转动微倾螺旋使符合水准器气泡居中,最后读数。 2.消除视差的步骤是转动目镜使十字丝清晰,再转动 调焦镜使目标清晰。 ㈡实验记录和计算 1.记录水准尺上读数填入表1-1中。 表1-1 2.计算(注:依据[黑+(红-K)]/2的结果数据) ⑴ A点比B点(高、低)高 m。 ⑵ A点比C点(高、低)低 m。 ⑶ B点比C点(高、低)低 m。 ⑷假设C点的高程H C= 136.785 m,求A点和B点的高程,即:

A A= -265.715 m, H B= -471.715 m,水准仪的视线高程H I= 1019.785 m。 ㈢写出图1-1中水准仪各部件的名称 图1-1 1)目镜;2)望远镜物镜; 3)水准管;4)水平微动螺旋; 5)圆水准器;6)校正螺丝; 7)水平制动螺旋;8)准心; 9)脚螺旋;10)微倾螺旋; 11)水平微动螺旋;12)物镜对光螺旋; 13)缺口;14)三角架。 实验报告二水准测量 日期班组学号姓名 ㈠水准测量的外业记录及其高程计算 实验数据记入表2-1,进行高程的计算,并进行验算,以确保各项计算准确无误。 表2-1 水准测量的外业记录及其高程计算

续表

㈡水准测量的内业整理及待测点的高程计算将表2-1的计算结果填入表2-2,求各个待定点的高程 表2-2 各待定点高程的计算

操作系统实验报告

操作系统教程实验报告 专业班级 学号 姓名 指导教师

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows “命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环:

《数据库技术与应用》实验报告

《数据库技术与应用》上机实验报告 目录: 一、概述 二、主要上机实验内容 1.数据库的创建 2.表的创建 3.查询的创建 4.窗体的创建 5.报表的创建 6.宏的创建 三、总结 一、概述 (一)上机内容: 第七周:熟悉Access界面,数据库和表的创建,维护与操作 1. 熟悉Access的启动,推出,界面,菜单,工具栏等; 2. 练习使用向导创建数据库、创建空数据库; 3. 练习创建表结构的三种方法(向导、表设计器、数据表)、表中字段属性设置; 4. 练习向表中输入不同类型的数据; 5. 练习创建和编辑表之间的关系; 6. 练习表的维护(表结构、表内容、表外观) 7. 练习表的操作(查找、替换、排序、筛选等) 第八周:练习创建各种查询 1.选择查询(单表、多表、各种查询表达式) 2.参数查询 3.交叉表查询 4.操作查询(生成查询、删除查询、更新查询、追加查询) 第十周:练习创建各种类型的窗体 1.自动创建纵栏式窗体和表格式窗体; 2.向导创建主|子窗体

3.图表窗体的创建 4.练习通过设计器创建窗体 5.练习美化窗体 第十三周:练习创建各种类型的报表 1.自动创建纵栏式报表和表格式报表; 2.向导创建报表(多表报表、图表报表、标签报表) 3.练习通过设计视图创建报表(主|子报表、自定义报表) 4.练习在报表中添加计算字段和分组汇总数据 第十五周:综合应用 1.了解Access数据库系统开发的一般方法; 2.课程内容的综合练习; 3.编写上机实验报告、答疑 (二)上机完成情况 第七周:熟悉Access界面,数据库和表的创建,维护与操作 完成了创建表,向表中输入不同类型的数据,创建和编辑表之间的关系,进行了表的维护,修改了表的结构、内容、外观,最后进行了表的操作,查找、替换、排序、筛选等。 已完成 第八周:练习创建各种查询 练习选择查询、参数查询、交叉表查询,然后练习并操作查询,生成查询、删除查询、更新查询、追加查询等。 已完成 第十周:练习创建各种类型的窗体 自动创建纵栏式窗体和表格式窗体,向导创建主|子窗体和图表窗体,练习通过设计器创建窗体,美化窗体。 基本完成 第十三周:练习创建各种类型的报表 自动创建纵栏式报表和表格式报表,向导创建报表,练习通过设计视图创建报表,在报表中添加计算字段和分组汇总数据。 已完成 第十五周:综合应用

实验报告

北京邮电大学 思想政治理论课社会调查报告 题目: 姓名: 班级: 学院: 2012年8月20日

2、摘要 关于我国邮电通信,互联网发展和使用状况的调查关键字:

3、正文 3.1关于我国邮电通信的发展 “十一五”期间,我国邮电通信业以科学发展观为主导,围绕加快转变发展方式的主线,积极推动行业转型发展,3G建设和业务发展稳步推进,移动互联网业务蓬勃发展,快递业务快速增长,邮电通信业服务能力、服务水平和服务质量均有较大提高。 (一)邮政基础设施水平明显提升 “十一五”期间,国家安排专项资金,用于西部和农村地区邮政普遍服务网点改造,邮政网点建设取得明显成效。一是国家加大投资力度,计划在2010—2012年3年内,补建2500多个空白乡镇邮政局所,改造西部及农村地区网点7000多个,目前2500多个局所建设任务进入实施阶段,邮政基础网络得到强化。到2010年底,全国营业网点达到6.2万处,其中邮政局所和代办点约5万处;全国平均每一营业网点服务面积150平方公里,服务人口2万人。二是全国28个省(区、市)邮政管理局与当地建设行政主管部门联合发布政策文件,推进信报箱建设,全国新建住宅楼信报箱安装率明显提高。 5年间,邮政企业持续推进普邮和速递物流网络建设,完成350个重点城市的投递网改造,网络能力稳步提升。目前,我国邮政网络覆盖城乡,已经成为世界规模最大的邮政网络之一。到2010年末,全国邮路总条数为2.2万条,邮路总长度达到410万公里,比2005年增加69万公里。其中:航空邮路220万公里、铁路邮路25万公里、汽车邮路150万公里。 全国邮政行业信息化建设步伐加快。到2010年底,80%以上支局实现电子化,同时完成了名址信息库、电子商务信息平台和营业网运互联互通等一批重点信息化项目建设。【1】 3.2关于我国邮电通信的使用状况 “十一五”期间,随着通信能力的提高,传统邮政业务稳步发展,电信业务快速增长。2010年,全年完成邮电业务总量32940.2亿元,比2005年增长1.7倍,年均增长21.7%。 (一)传统邮政业务稳步发展 2010年,全国完成邮政业务总量1985.3亿元,比2005年增长1.2倍,年均增长16.9%。 近几年来,由于互联网的广泛应用,对邮政业务的冲击和影响较大,但邮政企业始终把做好邮政普遍服务和特殊服务作为重要的政治任务。尤其是在国家遇到重大自然灾害面前,在奥运会、世博会和亚运会等国家重大活动中,邮

10-11-2实验报告(答案)

《C程序设计》实验报告 学期:2010--2011学年第二学期 教师姓名: 教研室:

实验1 熟悉C语言程序的运行环境,掌握数据描述 实验目的 1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。 2.通过运行简单的C语言程序,初步了解C语言程序的结构特点。 3.掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。 实验预习 1.熟悉Visual C++的启动和退出及Visual C++中的编辑、编译、连接和运行命令。 2.了解下列命令及函数:include<>、main、printf、scanf。 3.熟悉Visual C++环境下每个菜单项的功能及相关命令对应的操作。 4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。 int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。 6.常量与变量的区别和联系。 运行环境: 1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始——>程序——> Microsoft Visual Studio ——> Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\"。 2.单击“文件”菜单的“新建”命令。 3.在打开的“新建”对话框中选择“文件”标签。 4.选择C++ Source File,在目录输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c (例如,单击确定按钮。如图所示:

操作系统实验一实验报告

操作系统实验一实验报告 基本信息 1.1 实验题目 进程控制实验 1.2完成人 王召德 1.3报告日期 2015-4-8 实验内容简要描述 2.1实验目标 加深对于进程并发执行概念的理解。实践并发进程的创建和控制方法。观察和 体验进程的动态特性。进一步理解进程生命期期间创建、变换、撤销状态变换的过 程。掌握进程控制的方法,了解父子进程间的控制和协作关系。练习Linux 系统中 进程创建与控制有关的系统调用的编程和调试技术。 2.2实验要求 参考以上示例程序中建立并发进程的方法,编写一个多进程并发执行程序。父进程首先创建一个执行ls命令的子进程然后再创建一个执行ps命令的子进程,并控制ps 命令总在ls 命令之前执行。 2.3实验的软硬件环境

Ubuntu14.04 intelPC 报告的主要内容 3.1实验的思路 按照上面的实例,先生成一个子进程让其等待,然后生成第二个子进程,父进程等待其执行ps命令后唤醒第一个子进程执行ls即可。 3.2实验模型的描述 无 3.3主要数据结构的分析说明 无 3.4主要算法代码的分析说明 无 3.5项目管理文件的说明 无 实验过程和结果 4.1实验投入的实际学时数 1学时 4.2调试排错过程的记录 曾尝试让第二个子进程激活第一个子进程,结果发现当运行ps后,后面的代码将不再执行,所以不可行。 4.3多种方式测试结果的记录

实验结果: 父进程启动 (12239) ls子进程启动 (12240) ps子进程启动 (12241) PID TTY TIME CMD 12239 pts/27 00:00:00 born 12240 pts/27 00:00:00 born 12241 pts/27 00:00:00 ps ps子进程结束 (12241) 唤醒ls子进程 (12240) 键盘中断信号产生... ls子进程被唤醒 (12240) . born born.c~ hello.c pctl pctl.c~ pctl.o .. born.c helelo.h~ hello.c~ pctl.c pctl.h ls子进程结束 (12240) 父进程结束 (12239) 4.4实验结果的分析综合 无 实验的总结 父进程可以通过fork()函数生成子进程,子进程会从fork()函数开始执行原来的代码,当

数据库上机实验报告

实验一:建立数据库及基本表 一、实验目的 1、了解SQL Server数据库的逻辑结构和物理结构; 2、了解SQL Server的基本数据类型; 3、学会在企业管理器中创建数据库和表; 4、使用SQL查询分析器用CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。 二、实验内容 1、创建数据库和查看数据库属性。 2、创建表。 3、查看和修改表结构。 4、熟悉企业管理器和查询分析器工具的使用方法 三、实验步骤 1、在企业管理器中创建数据库和数据表。 (1) 使用企业管理器建立图书管理数据库,数据库名为BM,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名均采用默认值。 详细步骤: (2) 在企业管理器中查看图书管理数据库的属性,并进行修改,使之符合要求。 (3) 通过企业管理器,在建好了图书管理数据库BM中建立图书(book)、读者(reader)和借阅(borrow)3个表,其结构为: 图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话); 借阅(书号,读者编号,借阅日期)。 (4) 利用企业管理器向表中输入数据。 2、在查询分析器中创建数据库和数据表 (1) 创建数据库S-C 的sql语句: create database s_c (2) 在数据库S-C下,创建基本表学生表student(sno,sname,ssex,sage,sdept)的sql语句: create table student( sno c(8),sname c(10),ssex c(2),sage(4),sdept c(8) ) 创建基本表课程表course(cno,cname, ccredit)的sql语句: create table course( cno c(4),cname c(10),ccredit c(2) ) 创建基本表成绩表sc(sno,cno,grade)的sql语句: create table sc( sno c(8),cno c(4),grade n(4) )

实验报告

电磁场与微波测量实验报告 学院:电子工程学院 班级:2011211205 组员:易轩许润琪蒋煜杨 撰写人:许润琪 学号:2011210934 序号:13

实验一微波测量系统的使用和 信号源波长功率的测量 一实验目的: (1)学习微波的基本知识; (2)了解微波在波导中传播的特点,掌握微波基本测量技术; (3)学习用微波作为观测手段来研究物理现象。 二实验原理: 本实验接触到的基本仪器室驻波测量线系统,用于驻波中电磁场分布情况的测量。该系统由以下十一个部分组成: 1.微波信号源 DH1121C型微波信号源由振荡器、可变衰减器、调制器、驱动电路、及电源电路组成。该信号源可在等幅波、窄带扫频、内方波调制方式下工作,并具有外调制功能。在教学方式下,可实时显示体效应管的工作电压和电流的关系。仪器输出功率不大,以数字形式直接显示工作频率,性能稳定可靠。 2.隔离器 位于磁场中的某些铁氧化体材料对于来自不同方向的电磁波有着不同吸收,经过适当调节,可使其对微波具有单方向传播的特性,隔离器常用于振荡器与负载之间,起隔离和单向传输的作用。 3.衰减器 把一片能吸微波能量的吸收片垂直于矩形波导的宽边,纵向插入波导管即成,用以部分衰减传输功率,沿着宽边移动吸收片可改变衰减量的大小。衰减器起调节系统中微波功率从以及去耦合的作用。 4.波长计 电磁波通过耦合孔从波导进入频率计的空腔中,当频率计的腔体失谐时,腔里的电磁场极为微弱,此时,它基本不影响波导中波的传输。当电磁波的频率计满足空腔的谐振条件时,发生谐振,反映到波导中的阻抗发生剧烈变化,相应地,通过波导中的电磁波信号强度将减弱,输出幅度将出现明显的跌落,从刻度套筒可读出输入微波谐振时的刻度,通过查表可得知输入微波谐振频率。

实验报告11

大连理工大学本科实验报告实验名称:输入阻抗测量及匹配技术 课程名称:电磁场与微波技术实验 学院(系):电子信息与电气工程学部 专业:电子信息工程 班级:电子1303班 学号:201383097 学生姓名:王英明 同组人:刘阳 完成日期:2016年5月26日

一、实验数据的整理与分析 见数据报告。 二、实验结果的分析 1、整理数据,算出在测量线上测得的器件的阻抗的测量值(归一化值),在smith圆图上标出。 测量H面喇叭天线输入阻抗 归一化阻抗为1.169-j0.55 点TP3即为该归一化值在smith圆图上 的位置 2、实验现象及存在的问题的讨论。 调匹配过程: 从调匹配过程的史密斯圆图(见下图)可以看出调匹配过程曲线逐渐接近匹配点。当 =1.026时,由于近乎匹配,实验精度无法测量,不能计算出其逆时针旋转的角度。但不管转多少角度,其依然是很接近匹配点。 归一化阻抗为1.3072-j0.4558 点TP3即为该归一化值在smith圆图上 的位置

归一化阻抗为1.204+j0.029 点TP3即为该归一化值在smith圆图上 的位置 归一化阻抗为1.0998+j0.0622 点TP3即为该归一化值在smith圆图上 的位置 三、问题与建议、体会 1、测量微波元件阻抗时,为什么首先在测量线上确定“等效负载参考面”? 当确定其相移时,需要有参考位置才能在换上喇叭天线导致行驻波相移之后确定其相移大小。 2、测量dmin时,为什么一定要知道节点的移动方向?如何决定dmin? 只有知道节点的移动方向,在利用smith圆图时才知道应该是往源转动还是往负载方向移动。 利用交叉读数取中值法确定dmin位置,所有的特征点都应该用交叉读数法以证明其正确性。 3、试说明滑动单螺调匹配时,造成匹配频率敏感性的原因,通过实验你能说明滑动单螺调匹配器有哪些特点吗? 正常工作时,工作模式在TE10模,若频率变化可能会出现别的工作模式或全部截止,导致结果有误。故匹配频率敏感性主要是多模传输造成的。 滑动单螺调匹配器是插入矩形波导中的一个穿深度可以调节的螺钉,并可沿矩形波导宽壁中心无辐射缝作纵向移动。 本实验需要耐心和细心,慢慢逼近匹配点。处理数据时学会了利用画smith圆图求归一化阻抗,验证发现smith圆图得出的结果与计算得出的结果一致。Smith圆图确实是很好用的方法。

操作系统实验报告 实验一 进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5));

数据库原理实验报告2012

《数据库原理》实验报告书 班级: 学号: 姓名: 指导教师: 实验成绩: 中南林业科技大学涉外学院理工系

目录 数据库原理实验安排 (3) 实验一数据库和表的建立、数据操作 (4) 实验二 SQL语言的使用 (9) 实验三完整性、安全性实现 (16) 实验四数据库编程 (18) 附录一SQL Server的安装 (20)

数据库原理实验安排 一、实验目的 通过实验,使学生熟悉并掌握数据库的基本概念、基本原理、和基本技术;能够应用这些理论和技术设计合理的数据库;更重要的是通过教学活动,使学生能够把与数据库相关的先修后继知识融会贯通,初步具有开发完整可用的数据库系统的能力。 二、实验安排 本门课程共分4个实验,8学时 实验一数据库和表的建立、数据操作 2学时 实验二 SQL语言的使用2学时 实验三完整性、安全性实现 2学时 实验四数据库编程 2学时 三、实验考核 实验成绩通过实验报告及每次实验后的验机给出,每次实验结束后都必须写出实验报告。

实验一数据库和表的建立、数据操作 一、实验目的: 掌握使用SQL语言进行数据定义和数据操纵的方法。 二、实验要求: 建立一个数据库stumanage,建立三个关系表students,course,grade。向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。 三、实验步骤: 1、在SQL Server中输入本机器的名字,选择“windows身份验证”。点击确定连接SQL Server数据库服务器。 2、新建查询分析器。 3、在查询分析器中输入SQL语句------建立数据库stumanage。然后单击上面的绿色三角形右箭头。下部的空白区显示该语句的运行情况。 4、选择数据库stumanage为当前数据库。 5、如下图建立表students: 列名数据类型允许空主键说明 (1) sno Char(8) 否是学号 (2) sname Varchar(20) 是否姓名 (3) sex Char(2) 是否性别 (4) dept Varchar(20) 是否所在系 如下图建立表:course 列名数据类型允许空主键说明 (1) cno Char(6) 否是课程号 (2) cname Varchar(20) 是否课程名 如下图建立表sc:(注:包括两个外键,sno和cno共同组成主键)列名数据类型允许空主键外键说明 (1) sno Char(8) 否是 students(sno) 学号 (2) cno Char(6) 否是 course(sno) 课程号 (3) grade int 否否否成绩 6、使用SQL语句完成建表操作并以截屏的方式将建表操作过程粘贴在下方表格中。

标准实验报告(1)

实验报告(一) 一、实验室名称:信息对抗系统专业实验室 二、实验项目名称:典型数字通信调制信号生成实验 三、实验学时:4学时 四、实验原理: MATLAB软件具有编程实现简单、使用方便等优点,是目前应用广泛的计算机仿真软件,并且提供各种常用数字通信信号源生成函数的使用帮助文件。因此让学生通过实际上机实验,熟悉MATLAB计算机仿真软件,可实现各种通信信号产生及分析仿真,从而加深对常规数字通信信号的理解。 五、实验目的: 利用MATLAB软件编程实现各种常用数字通信信号源的产生。让学生通过实际上机实验,熟悉MATLAB计算机仿真软件,并加深对通信信号的理解。六、实验内容: (1)产生比特率为200bits/s,载频为200Hz 的复BPSK信号,采样频率为2000Hz,时间长度为2s,成形滤波器用根升余弦滤波器实现,滤波器阶数为60,滚降因子为0.3。要求画出BPSK信号的时域波形与频谱图,并分别画出滤波前、滤波后、调制载频后的星座图,思考它们具有差异的原因。 (2)产生符号率为200symbol/s,载频为200Hz的复QPSK信号,采样频率为2000Hz,时间长度为2s,成形滤波器用根升余弦滤波器实现,滤波器阶数为60,滚降因子为0.3。要求画出QPSK信号的时域波形与频谱图,并分别画出滤波前、滤波后、调制载频后的星座图,思考它们具有差异的原因。 (3)产生比特率为200bits/s,调制指数为0.6,载频为400Hz的复2FSK信号,采样频率为1200Hz,时间长度为2s。成形滤波器用根升余弦滤波器实现,滤波器阶数为60,滚降因子为0.3。要求画出信号源的时域波形与频谱图,并分别画出滤波前、滤波后、调制载频后的星座图。改变调制指数大小,观察频谱变化情况。 (4)产生比特率为200bits/s,载频为300Hz 的2ASK信号,采样频率为

python实验报告

西安交通大学实验报告 课程名称:大学计算机基础 实验名称:实验8 数据查询 学 院:________理学院___ _ 实 验 日 期 2015 年 11 月 04日 班 级:________物理52________ 姓 名:______金诚挚__________ 学 号: 2150900044 诚信承诺:我保证本实验报告中的程序和本实验报告是我自己编写。 一、实验目的 (1)理解查询的概念; (2)掌握使用SQL语言查询数据库中数据的方法; (3)掌握使用SQL语句进行插入、删除和更新的方法。 二、实验环境 操作系统:Windows 应用软件:SQLite 三、实验内容与结果 (若是编程题,请写出题目、源程序和运行结果的截图) 题目 (1)创建borrow数据表,实施参照完整性,插入数据。 (2)完成实验指导书p97-p99的查询。 将实验指导书59-99页由“·”标记的查询语句(包括插入、修改和删除的)按顺序编号,共15个,标号(1)-(15),写出(6)-(15)号的查询语句,执行,将查询语句和查询结果截图粘贴到实验报告(实验报告使用标准模版)中。截图时,标明是哪个题目的图。 (3)完成实验4-2后的练习题(1)、(2)、(3)、(6)、(7)(写语句,对语句和结果截图)。 实验结果

(1)查询20岁以下读者的学号,姓名和年龄 (2)查询“孙嘉”所借书的ISBN号和借阅日期 (3)查询所有学生借书的ISBN和日期 (4)查询在2009年12月1日以后读者的学号和姓名 (5)统计学生人数,平均年龄,查询学生最大年龄最小年龄和年龄差 (6)在读者登记表中添加一个记录,修改一个记录,删除一个记录

操作系统实验报告1

操作系统 实验报告 班号:1303107 学号:1130310726 姓名:蔡鹏

1.请简述head.s 的工作原理。 head.s实在32位保护模式下运行的。我认为这段程序主要包括两个部分:1.初始化设置。2.任务执行与切换。 初始设置主要包括了:1.设置GDT表2.设置系统定时芯片3. 设置IDT表(0x08时钟中断和0x80系统调用中断)4.切换到任务0执行 任务切换和执行包括了:1.任务0和任务1 , 2.时钟中断, 3.系统中断 两个任务的在LDT中代码段和数据段描述符的内容都设置为:基地址0x0000;段限长值为0x03ff,实际段长度为4MB。因此在线性地址空间中这个?内核?的代码和数据段与任务的代码和数据段都从线性地址0开始并且由于没有采用分页机制,所以他们都直接对应物理地址0开始处。 为了每隔10毫秒切换运行的任务,head.s程序中把定时器芯片8253的通道0设置成每隔10毫秒就向中断控制芯片8259A发送一个时钟中断请求信号。PC机的ROM BIOS开机时已经在8259A中把时钟中断请求信号设置成中断向量8,因此我们需要在中断8的处理过程中执行任务切换操作。任务切换的实现是查看current变量中的当前运行的任务号,如果为0,就利用任务1的TSS选择符作为操作数执行远跳转指令,从而切换到任务1中,否则反之。

每个任务在执行时,会首先把一个字符的ASCII码放入寄存器AL中,然后调用系统中断调用int 0x80,而该系统调用处理过程则会调用一个简单的字符写屏子程序,把寄存器AL中的字符显示在屏幕上,同时把字符显示的屏幕的下一个位置记录下来,作为下一次显示字符用。在显示过一个字符后,任务代码会使用循环语句延迟一段时间,然后又跳转到任务代码开始处继续循环执行,直到运行了10毫秒而发生了定时中断,从而代码会切换到另一个任务执行。对于任务A,寄存器AL中始终存放字符‘A’,而任务B运行时AL中始终存放字符‘B’。因此程序运行时我们将看到一连串的‘A’和一连串的‘B’间隔的连续不断的显示在屏幕上。若出现了一个‘C’,是由于PC机偶然产生了一个不是时钟中断和系统调用中断的其他中断。因为我们已经在程序中给所有其他中断安装了一个默认中断处理程序。当出现一个其他中断时,系统就会运行这个中断处理程序,于是就会在屏幕上显示一个‘C’,然后退出中断。 4.请记录head.s 的内存分布状况,写明每个数据段,代码段,栈段 的起始与终止的内存地址。

相关文档
最新文档