Java_2实用教程实验指导模版代码

Java_2实用教程实验指导模版代码
Java_2实用教程实验指导模版代码

上机实践1 初识JA V A (3)

实验1一个简单的应用程序 (3)

实验2一个简单的J A V A A PPLET程序 (3)

实验3联合编译 (4)

上机实践2 基本数据类型与控制语句 (6)

实验1输出希腊字母表 (6)

实验2回文数 (6)

实验3猜数字游戏 (9)

上机实践3 类与对象 (10)

实验1三角形、梯形和圆形的类封装 (10)

实验2实例成员与类成员 (13)

实验3使用PACKAGE语句与IMPORT语句 (14)

上机实践4 继承与接口 (17)

实验1继承 (17)

实验2上转型对象 (19)

实验3接口回调 (20)

上机实践5 字符串、时间与数字 (22)

实验1S TRING类的常用方法 (22)

实验2比较日期的大小 (23)

实验3处理大整数 (25)

上机实践6 图形用户界面设计(1) (27)

实验2信号灯 (28)

实验3布局与日历 (31)

上机实践7 图形用户界面设计(2) (35)

实验2字体对话框 (36)

实验3华容道游戏 (39)

上机实践8 多线程 (47)

实验1线程的4种状态 (47)

实验2线程之间共享数据 (49)

实验3挂起、恢复和终止线程 (51)

上机实践9 输入输出流 (55)

实验1文件加密 (55)

实验2给文件的内容添加行号 (56)

实验3使用R ANDOM A CESS F ILE类处理文件 (58)

实验4对象的写入与读取 (60)

上机实践10 JA V A 中的网络编程 (61)

实验1读取服务器端文件 (61)

实验2使用套接字读取服务器端对象 (63)

实验3基于UDP的图像传输 (67)

上机实践11 JA V A SWING (72)

实验1JL AYERED P ANE分层窗格 (72)

实验2进度条 (73)

实验3使用表格显示日历 (75)

实验4多文档界面(MDI) (80)

上机实践12 数据结构 (84)

实验1随机布雷 (84)

实验2使用T REE S ET排序 (86)

上机实践1 初识Java

实验1 一个简单的应用程序

程序模板

Hello.java

public class Hello

{

public static void main (String args[ ])

{

【代码1】//命令行窗口输出"你好,很高兴学习Java"。

A a=new A();

a.fA();

}

}

class A

{

void fA()

{

【代码2】//命令行窗口输出"We are students"。

}

}

实验2 一个简单的Java Applet程序程序模板

FirstApplet.java

import java.applet.*;

import java.awt.*;

public class FirstApplet extends Applet

{

public void paint(Graphics g)

{

g.setColor(Color.blue);

【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”。

g.setColor(Color.red);

g.setFont(new Font("宋体",Font.BOLD,36));

【代码2】//在Java Applet中绘制一行文字:“我改变了字体”。

}

}

实验3 联合编译

程序模板

模板1:Hello.java

public class Hello

{

public static void main (String args[ ])

{

【代码】//命令行窗口输出"你好,只需编译我"。

A a=new A();

a.fA();

B b=new B();

b.fB();

}

}

模板2 :A.java

public class A

{

void fA()

{

【代码】//命令行窗口输出"I am A"。

}

}

模板3 :B.java

public class B

{

void fB()

{

【代码】//命令行窗口输出"I am B"。

}

}

模板4 :C.java

public class C

{

void fC()

{

【代码】//命令行窗口输出"I am C"。

}

}

上机实践2 基本数据类型与控制语句实验1 输出希腊字母表

程序模板

GreekAlphabet.java

public class GreekAlphabet

{

public static void main (String args[ ])

{

int startPosition=0,endPosition=0;

char cStart='α',cEnd='ω';

【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition。

【代码2】//cEnd做int型转换运算,并将结果赋值给endPosition。

System.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);

System.out.println("希腊字母表:");

for(int i=startPosition;i<=endPosition;i++)

{

char c='\0';

【代码3】//i做int型转换运算,并将结果赋值给c。

System.out.print(" "+c);

}

}

}

实验2 回文数

程序模板

Number.java

import javax.swing.JOptionPane;

public class Number

{

public static void main(String args[])

{

int number=0,d5,d4,d3,d2,d1;

String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");

number=Integer.parseInt(str);

if(【代码1】) //判断number在1至99999之间的条件。

{

【代码2】//计算number的最高位(万位)d5。

【代码3】//计算number的千位d4。

【代码4】//计算number的百位d3。

d2=number%100/10;

d1=number%10;

if(【代码5】) //判断number是5位数的条件。

{

System.out.println(number+"是5位数");

if(【代码6】) //判断number是回文数的条件。

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(【代码7】) //判断number是4位数的条件。

{

System.out.println(number+"是4位数");

if(【代码8】) //判断number是回文数的条件码。

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(【代码9】) //判断number是3位数的条件。

{

System.out.println(number+"是3位数");

if(【代码10】) //判断number是回文数的条件。

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(d2!=0)

{

System.out.println(number+"是2位数");

if(d1==d2)

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(d1!=0)

{

System.out.println(number+"是1位数");

System.out.println(number+"是回文数");

}

}

else

{

System.out.println(number +"不在1至99999之间");

}

}

}

实验3 猜数字游戏

程序模板

GuessNumber.java

import javax.swing.JOptionPane;

public class GuessNumber

{

public static void main (String args[ ])

{

System.out.println("给你一个1至100之间的整数,请猜测这个数");

int realNumber=(int)(Math.random()*100)+1;

int yourGuess=0;

String str=JOptionPane.showInputDialog("输入您的猜测:");

yourGuess=Integer.parseInt(str);

while(【代码1】) //循环条件。

{

if(【代码2】) //条件代码。

{

str=JOptionPane.showInputDialog("猜大了,在再输入你的猜测:");

yourGuess=Integer.parseInt(str);

}

else if(【代码3】) //条件代码。

{

str=JOptionPane.showInputDialog("猜小了,在再输入你的猜测:");

yourGuess=Integer.parseInt(str);

}

}

System.out.println("猜对了!");

}

}

上机实践3 类与对象

实验1 三角形、梯形和圆形的类封装程序模板

AreaAndLength.java

class Trangle

{

double sideA,sideB,sideC,area,length;

boolean boo;

public Trangle(double a,double b,double c)

{

【代码1】//参数a,b,c分别赋值给sideA,sideB,sideC。

if(【代码2】) //a,b,c构成三角形的条件表达式。

{

【代码3】//给boo赋值。

}

else

{

【代码4】//给boo赋值。

}

}

double getLength()

{

【代码5】//方法体,要求计算出length的值并返回。

}

public double getArea()

{

if(boo)

{

double p=(sideA+sideB+sideC)/2.0;

area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;

return area;

}

else

{

System.out.println("不是一个三角形,不能计算面积");

return 0;

}

}

public void setABC(double a,double b,double c)

{

【代码6】//参数a,b,c分别赋值给sideA,sideB,sideC。

if(【代码7】) //a,b,c构成三角形的条件表达式。

{

【代码8】//给boo赋值。

}

else

{

【代码9】//给boo赋值。

}

}

}

class Lader

{

double above,bottom,height,area;

Lader(double a,double b,double h)

{

【代码10】//方法体。

}

double getArea()

{

【代码11】//方法体,,要求计算出area返回。

}

}

class Circle

{

double radius,area;

Circle(double r)

{

【代码12】//方法体。

}

double getArea()

{

【代码13】//方法体,要求计算出area返回。

}

double getLength()

{

【代码14】//方法体,要求计算出length返回。

}

void setRadius(double newRadius)

{

radius=newRadius;

}

double getRadius()

{

return radius;

}

}

public class AreaAndLength

{

public static void main(String args[])

{

double length,area;

Circle circle=null;

Trangle trangle;

Lader lader;

【代码15】//创建对象circle。

【代码16】//创建对象trangle。

【代码17】//创建对象lader。

【代码18】// circle调用方法返回周长并赋值给length。

System.out.println("圆的周长:"+length);

【代码19】// circle调用方法返回面积并赋值给area。

System.out.println("圆的面积:"+area);

【代码20】// trangle调用方法返回周长并赋值给length。

System.out.println("三角形的周长:"+length);

【代码21】// trangle调用方法返回面积并赋值给area。

System.out.println("三角形的面积:"+area);

【代码22】// lader调用方法返回面积并赋值给area。

System.out.println("梯形的面积:"+area);

【代码23】// trangle调用方法返修改三个边的代码,要求将三个边修改为12,34,1。

【代码24】// trangle调用方法返回面积并赋值给area。

System.out.println("三角形的面积:"+area);

【代码25】// trangle调用方法返回周长并赋值给length。

System.out.println("三角形的周长:"+length);

}

}

实验2 实例成员与类成员

程序模板

Example.java

class A

{

【代码1】//声明一个float型实例变量:a。

【代码2】//声明一个float型类变量:b。

void setA(float a)

{

【代码3】//将参数a的值赋值给成员变量a。

}

void setB(float b)

{

【代码4】//将参数b的值赋值给成员变量b。

}

float getA()

{

return a;

}

float getB()

{

return b;

}

void inputA()

{

System.out.println(a);

}

static void inputB()

{

System.out.println(b);

}

}

public class Example

{

public static void main(String args[])

{

【代码5】//通过类名操作类变量b,并赋值100。

【代码6】//通过类名调用方法inputB()。

A cat=new A();

A dog=new A();

【代码7】//cat象调用方法setA(int a)将cat的成员a的值设置为200。

【代码8】//cat调用方法setB(int b)将cat的成员b的值设置为400。

【代码9】//dog象调用方法setA(int a)将dog的成员a的值设置为200。

【代码10】//dog调用方法setB(int b)将dog的成员b的值设置为400。

【代码11】//cat调用inputA()。

【代码12】//cat调用inputB()。

【代码13】//dog调用inputA()。

【代码14】//dog调用inputB()。

}

}

实验3 使用package语句与import语句程序模板

模板1

SquareEquation.java

package tom.jiafei;

public class SquareEquation

{

double a,b,c;

double root1,root2;

boolean boo;

public SquareEquation(double a,double b,double c)

{

this.b=b;

this.c=c;

if(a!=0)

{

boo=true;

}

else

{

boo=false;

}

}

public void getRoots()

{

if(boo)

{

System.out.println("是一元2次方程");

double disk=b*b-4*a*c;

if(disk>=0)

{

root1=(-b+Math.sqrt(disk))/(2*a);

root2=(-b-Math.sqrt(disk))/(2*a);

System.out.println("方程的根:”+root1+”,”+root2);

}

else

{

System.out.println("方程没有实根");

}

}

else

{

System.out.println("不是一元2次方程");

}

}

public void setCoefficient(double a,double b,double c)

{

this.a=a;

this.b=b;

this.c=c;

{

boo=true;

}

else

{

boo=false;

}

}

}

模板2

SunRise.java

import tom.jiafei.*;

class SunRise

{

public static void main(String args[ ])

{

SquareEquation equation=new SquareEquation(4,5,1);

equation.getRoots();

equation.setCoefficient(-3,4,5);

equation.getRoots();

}

}

上机实践4 继承与接口

实验1 继承

程序模板

Example.java

class People

{

protected double weight,height;

public void speakHello()

{

System.out.println("yayawawa");

}

public void averageHeight()

{

height=173;

System.out.println("average height:"+height);

}

public void averageWeight()

{

weight=70;

System.out.println("average weight:"+weight);

}

}

class ChinaPeople extends People

{

【代码1】//重写public void speakHello()方法,要求输出类似“你好,吃了吗”这样的//汉语信息。

【代码2】//重写public void averageHeight()方法,要求输出类似

//“中国人的平均身高:168.78厘米”这样的汉语信息。

【代码3】//重写public void averageWeight()方法,

//要求输出类似“中国人的平均体重:65公斤”这样的汉语信息。

public void chinaGongfu()

{

【代码4】//输出中国武术的信息,例如:"坐如钟,站如松,睡如弓"等。

}

}

class AmericanPeople extends People

{

【代码5】//重写public void speakHello()方法,要求输出类似

//“How do you do”这样的英语信息。

【代码6】//重写public void averageHeight()方法。

【代码7】//重写public void averageWeight()方法。

public void americanBoxing()

{

【代码8】//输出拳击的信息,例如,“直拳”、“钩拳”等。

}

}

class BeijingPeople extends ChinaPeople

{

【代码9】//重写public void speakHello()方法,要求输出类似“您好”这样的汉语信息。

【代码10】//重写public void averageHeight()方法。

【代码11】//重写public void averageWeight()方法。

public void beijingOpera()

{

【代码12】//输出京剧的信息。

}

}

public class Example

{

public static void main(String args[])

{

ChinaPeople chinaPeople=new ChinaPeople();

AmericanPeople americanPeople=new AmericanPeople();

BeijingPeople beijingPeople=new BeijingPeople();

chinaPeople.speakHello();

americanPeople.speakHello();

beijingPeople.speakHello();

chinaPeople.averageHeight();

americanPeople.averageHeight();

beijingPeople.averageHeight();

chinaPeople.averageWeight();

americanPeople.averageWeight();

beijingPeople.averageWeight();

chinaPeople.chinaGongfu();

americanPeople.americanBoxing();

beijingPeople.beijingOpera() ;

beijingPeople.chinaGongfu();

}

}

实验2 上转型对象

程序模板

HardWork.java

abstract class Employee

{

public abstract double earnings();

}

class YearWorker extends Employee

{

【代码1】//重写earnings()方法。

}

class MonthWorker extends Employee

{

【代码2】//重写earnings()方法。

}

class WeekWorker extends Employee

{

【代码3】//重写earnings()方法。

}

class Company

{

Employee[] employee;

double salaries=0;

Company(Employee[] employee)

{

this.employee=employee;

}

public double salariesPay()

{

salaries=0;

【代码4】//计算salaries。

return salaries;

}

}

public class HardWork

{

public static void main(String args[])

{

Employee[] employee=new Employee[20];

for(int i=0;i

{

if(i%3==0)

employee[i]=new WeekWorker();

else if(i%3==1)

employee[i]=new MonthWorker();

else if(i%3==2)

employee[i]=new YearWorker();

}

Company company=new Company(employee);

System.out.println("公司年工资总额:"+company.salariesPay());

}

}

实验3接口回调

程序模板

HappySale.java

interface ComputeTotalSales

{

public double totalSalesByYear();

}

class Television implements ComputeTotalSales

课程设计实验报告

竭诚为您提供优质文档/双击可除 课程设计实验报告 篇一:课程设计(综合实验)报告格式 课程设计报告 (20XX--20XX年度第一学期) 名称:题目:院系:班级:学号:学生姓名:指导教师:设计周数: 成绩:日期:《软件设计与实践》课程设计计算机系软件设计与实践教学组 20XX年1月14 日 《软件设计与实践》课程设计 任务书 一、目的与要求 1.了解网络爬虫的架构和工作原理,实现网络爬虫的基本框架;2.开发平台采用JDK1.60eclipse集成开发环境。 二、主要内容 1.了解网络爬虫的构架,熟悉网页抓取的整个流程。

2.学习宽度优先和深度优先算法,实现宽度crawler应用程序的编写、调试和运行。 3.学习主题爬行及内容分析技术。 4.实现网络爬虫的基本框架。 三、进度计划 四、设计成果要求 1.要求按时按量完成所规定的实验内容; 2.界面设计要求友好、灵活、易操作、通用性强、具有实用性; 3.基本掌握所采用的开发平台。五、考核方式 平时成绩+验收+实验报告。 学生姓名:于兴隆指导教师:王蓝婧20XX年1月2日 一、课程设计的目的与要求1.目的: 1.1掌握crawler的工作原理及实现方法;1.2了解爬虫架构; 1.3熟悉网页抓取的整个流程及操作步骤; 1.4掌握宽度优先,深度优先算法,并实现宽度crawler 应用程序的编写、调试和运行;1.5掌握主题爬行及内容分析技术;1.6实现一个最基础的主题爬虫的过程;1.7理解pageRank算法,并编程验证;二、设计正文 网络爬虫研究与应用 [摘要]:本文通过对网络爬虫研究的逐步展开,讨论了爬虫的相关概念与技术,并通过实验设计了简单的基于宽度

python实验指导书模板

实验1 开始python编程 目的和要求 (1)了解什么是python? (2)了解python的特性 (3)学习下载和安装python (4)学习执行python命令和脚本文件的方法 (5)学习python语音的基本语法 (6)下载和安装Anaconda的方法 (7)学习使用python的集成开发环境Anaconda&spyder的方法 实验准备 了解python (1)简单易学 (2)Python是开源的、免费的 (3)Python是高级语言 (4)高可移植性 (5)Python是解释型语言 (6)Python全面支持面向对象的程序设计思想 (7)高可扩展性 (8)支持嵌入式编程 (9)功能强大的开发库 实验内容 本实验主要包含以下内容 (1)练习下载python (2)练习安装python (3)练习执行python命令和脚本文件 (4)练习下载和安装pywin32 (5)练习使用python的文本编辑juper Notebook (6)练习使用python的集成开发环境spyder 1.下载python 访问如下网址:https://https://www.360docs.net/doc/9d679938.html,/downloads/ 选择下载python3.4系列最新版本 2.安装python

?在Windows 7中安装后,在开始菜单的所有程序中会出现一个Python2.7分组。单击其下面的Python 2.7 (command line - 32 bit)菜单项,就可以打开python命令窗口,如图1-5所示。也可以打开Windows命令窗口,然后运行python命令,来打开python命令窗口。 3.执行python命令和脚本 ?创建一个文件MyfirstPython.py,使用记事本编辑它的内容如下: # My first Python program print('I am Python') ?保存后,打开命令窗口。切换到MyfirstPython.py所在的目录,然后执行下面的命令: python MyfirstPython.py ?运行结果如下: I am Python 4.下载和安装Pywin32 ?访问下面的网址可以下载Pywin32安装包。 ?https://www.360docs.net/doc/9d679938.html,/projects/pywin32/ 5.使用python文本编辑juper Notebook 输入以下脚本:

《操作系统原理》信管专业实验指导书资料

《操作系统原理》实验指导书 班级:_______________ 学号:_______________ 姓名:_______________ 山东建筑大学管理工程学院 信息管理与信息系统教研室

目录 引言 (1) 实验题目一 (2) 实验题目二 (4) 实验题目三 (6) 实验题目四 (8) 实验题目五 (10) 实验题目六 (12)

引言 操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。 操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。 本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。

实验题目一:模拟进程创建、终止、阻塞、唤醒原语 一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进 程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:PC 机及其兼容机。 2、软件:Windows OS ,Turbo C 或C++、VC++、https://www.360docs.net/doc/9d679938.html, 、Java 等。 四、实验内容: 1、设计创建、终止、阻塞、唤醒原语功能函数。 2、设计主函数,采用菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供 随时查看各队列中进程的变化情况。 五、实验要求: 1、进程PCB 中应包含以下内容: 2、系统总体结构: 其中: 进程名用P1,P2标识。 优先级及运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。

操作系统实验报告

操作系统实验报告 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

实验二进程调度1.目的和要求 通过这次实验,理解进程调度的过程,进一步掌握进程状态的转变、进程调度的策略,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对系统性能的评价方法。 2.实验内容 阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。 编写程序模拟实现进程的轮转法调度过程,模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。假设初始状态为:有n个进程处于就绪状态,有m个进程处于阻塞状态。采用轮转法进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过t个时间片系统释放资源,唤醒处于阻塞队列队首的进程。 程序要求如下: 1)输出系统中进程的调度次序; 2)计算CPU利用率。 3.实验环境 Windows操作系统、VC++6.0 C语言 4设计思想: (1)程序中进程可用PCB表示,其类型描述如下:

structPCB_type { intpid;//进程名 intstate;//进程状态 2——表示“执行”状态 1——表示“就绪”状态 0——表示“阻塞”状态 intcpu_time;//运行需要的CPU时间(需运行的时间片个数) } 用PCB来模拟进程; (2)设置两个队列,将处于“就绪”状态的进程PCB挂在队列ready中;将处于“阻塞”状态的进程PCB挂在队列blocked中。队列类型描述如下: structQueueNode{ structPCB_typePCB; StructQueueNode*next; } 并设全程量: structQueueNode*ready_head=NULL,//ready队列队首指针 *ready_tail=NULL,//ready队列队尾指 针

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

高级语言实验指导书级模板

高级C语言及其应用实验指导书 电信13级使用 李丽张承云秦剑编 机械与电气工程学院 -3 目录 实验一指针的应用( 4学时) (3) 实验二位运算的应用( 2学时) (5) 实验三界面处理的应用( 4学时) (6) 实验四外设的应用( 2学时) (8) 实验五模块化的程序设计( 4学时) (9) 实验一指针的应用( 4学时) 一、实验目的 1.掌握C语言指针变量的定义、声明和赋值 2.学会使用指针变量的程序设计 3.掌握指针作为函数参数的用法

二、实验设备 计算机、VC++6.0 三、实验原理( 以下内容需自己写) 1、指针的概念 2、指针变量的定义、引用和赋值方法 3、指针的基本运算( 比较、加减) 4、指针与数组的关系 5、指针作为函数参数的方法 ( 1) 基本数据类型指针、数组名作为输入参数 ( 2) 指针作为函数返回值 6、结构体指针的定义与结构体成员引用 四、实验内容 1、已知两个整型变量a和b,它们的值分别为6和9。请定义两个 指针变量, 经过指针变量访问整型变量a和b,并经过类似printf(”%d,%d\n”,*pointer_1,*poin ter_2)这样的语句打印出a和b 的值。 2、有一个数组的值为{1, 2, 3, 4, 5, 6}, 希望对这个数组的数据都乘 以2。请用”指针+下标”访问数组的方法来实现。( 提示: 用*(pointer+i)这样的方法来访问数组) 3、已知二维数组:inta[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},用 指针的方法访问数组, 并按以下格式打印数据。 12345 678910 4、已知下面一些字符串: charstr[20]="Guangzhouuniversity";

开发环境实验实验指导书模板

开发环境实验实验 指导书 大连东软信息学院 JAVA 语言程序设计》 实验指导书 1

编写者: 邵欣欣信息技术与商务管理系

目录 实验一: 开发环境实验................................. 错误! 未定义书 签 1 学时.............................................. 错误! 未定义书 签 2 实验目的与要求.................................. 错误! 未定义书 签 3 实验环境 4 准备工作 5 实验内容 6 实验步骤错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签 7 思考题............................................ 错误! 未定义书 签

实验一: 开发环境实验 1 学时 2 学时 2 实验目的与要求 学会安装JDK、Eclipse 软件, 学会配置环境变量 3 实验环境 windows 操作系统能正常运行 4 准备工作 将JDK 、Eclipse 软件下载到本地机 5 实验内容 安装JDK、Eclipse软件,配置环境变量,Eclipse软件的使用 6 实验步骤 一、JDK 安装

Java 2 SUE, SE vl. 4. 2 - License License Agreement Please read the Folio海ng license agreement carefully. Sim Miciosystcms, Iiix. Biriaiy Cade License A^i eemcnt for the JAX A? 2 SOFTWARE DEVELOPMENT KIT (J2SDK)? STANDARD EDITION, VERSION 1.4.2_X SUN MICROSYSTEMS, INC. fSUN") IS WILLING TO LICENSE ITTF mKNTTFTFB RPTnW TO YOTI ONT.Y TTPON ? t^cept the terms in the iicense agreernentj {开山not m 穴屮ths wnns n i tfw 仪訓泻 Next >Cancel

操作系统原理实验指导

操作系统实验指导 操作系统是计算机的最重要的系统软件,它在计算机中具有核心地位,其作用是对计算机系统资源进行统一的调度和管理,提供各种强有力的系统服务,为用户创造灵活而又方便的使用环境。一个精心设计的操作系统能极大地扩充计算机系统的功能,充分地发挥系统中各种资源的使用效率,提高系统工作的可靠性。 操作系统原理是计算机科学与技术专业的一门主要专业课程,它涉及计算机系统中各种软、硬资源管理的实现原理与方法,内容非常丰富,综合性非常强,并且还具有很强的实践性。只有把理论与实践紧密地结合起来,才能取得较好地学习效果。 培养计算机专业学生的系统程序设计能力,也是本课程的重要环节。系统程序要求结构清晰、合理、可读性好,有准确而简明的注释。通过实验可以培养学生正规系统程序设计能力。 本实验包括下列六个方面: 实验一几种操作系统的界面 实验二进程调度 实验三存储器管理 实验四存储器管理 实验五磁盘驱动调度 实验六文件管理系统 上述每个实验约需要10个学时。可根据实际情况选用。最好学生自己独立完成,如有困难,可参考一些示例,弄清每个实验的思想和实现方法,上机调试通过,不能完全照搬示例。 实验一几种操作系统的界面 1、目的与要求 目的:通过本实验,学生应熟悉1~2种操作系统的界面。在熟练使用的基础上,能了解各种命令和调用在系统中的大致工作过程,也就是通过操作系统的外部特性,逐步深入到操作系统的内在实质内容中去。 要求:能熟练地在1~2种操作系统环境下工作。学会使用各种命令,熟悉系统提供的各种功能。主动而有效地使用计算机。 熟悉系统实用程序的调用方法和各种系统调用模块的功能和用法。 2、示例 用1~2种操作系统提供的各种手段,建立、修改、编辑、编译和运行程序,最后撤消一个简单程序。要尽可能多地使用系统提供的各种命令和功能。 操作系统可为如下两种序列: (1)Windows 98或Windows 2000或Windows XP。 (2)Linux或Unix。 下面简要介绍一下Unix操作系统。 Unix是一个分时操作系统,面向用户的界面shell是一种命令程序设计语言,这种语言向用户提供了从低到高,从简单到复杂的三个层次的使用方式。它们是简单命令、组合命令和shell过程。 简单命令:Unix命令一律使用小写字母。 例如:ls -l 显示文件目录(长格式) rm 删除一个文件 cat 合并和传送文件、 cp 复制文件 mv 文件改名 cc 编译C语言源程序 组合命令:shell简单命令可以用管道算符|组合构成功能更强的命令。

操作系统实验指导_源码参考资料

华东交通大学 软件学院 操作系统实验报告 专业: 计算机科学与技术 姓名: 林庆达 学号: 3103005138 2005-6

试验一进程调度 一、实验目的: 编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容:以两种典型算法为例说明实现的算法 (一)、最高优先数优先的调度算法 1、实验原理 进程调度算法:采用最高优先数优先 的调度算法(即把处理机分配给优先数最 高的进程)和先来先服务算法。 每个进程有一个进程控制块(PCB) 表示。进程控制块可以包含如下信息:进 程名、优先数、到达时间、需要运行时间、 已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以 事先人为地指定(也可以由随机数产生)。 进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进 行计算。 每个进程的状态可以是就绪W (Wait)、运行R(Run)、或完成F(Finish) 三种状态之一。 就绪进程获得CPU后都只能运行一 个时间片。用已占用CPU时间加1来表示。 如果运行一个时间片后,进程的已占 用CPU时间已达到所需要的运行时间, 则撤消该进程,如果运行一个时间片后进 程的已占用CPU时间还未达所需要的运 行时间,也就是进程还需要继续运行,此 时应将进程的优先数减1(即降低一级), 然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运 行进程、就绪队列、以及各个进程的PCB, 以便进行检查。 重复以上过程,直到所有进程都完成为止。 2、源代码: #include "stdio.h" #include #include #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

数字图像处理实验指导书模板

《数字图像处理》实验指导书 编写: 罗建军 海南大学三亚学院 10月

目录 一、概述 ....................................................................... 错误!未定义书签。 二、建立程序框架 ....................................................... 错误!未定义书签。 三、建立图像类 ........................................................... 错误!未定义书签。 四、定义图像文档实现图像读/写.............................. 错误!未定义书签。 五、实现图像显示 ....................................................... 错误!未定义书签。 六、建立图像处理类................................................... 错误!未定义书签。 七、实现颜色处理功能............................................... 错误!未定义书签。 (一) 亮度处理................................................................. 错误!未定义书签。 (二) 对比度处理............................................................. 错误!未定义书签。 (三) 色阶处理................................................................. 错误!未定义书签。 (四) 伽马变换................................................................. 错误!未定义书签。 (五) 饱和度处理............................................................. 错误!未定义书签。 (六) 色调处理................................................................. 错误!未定义书签。 八、实现几何变换功能............................................... 错误!未定义书签。 (一) 图像缩放................................................................. 错误!未定义书签。 (二) 旋转......................................................................... 错误!未定义书签。 (三) 水平镜像................................................................. 错误!未定义书签。 (四) 垂直镜像................................................................. 错误!未定义书签。 (五) 右转90度................................................................. 错误!未定义书签。 (六) 左转90度................................................................. 错误!未定义书签。 (七) 旋转180度............................................................... 错误!未定义书签。 九、实现平滑锐化功能............................................... 错误!未定义书签。 十、图像处理扩展编程............................................... 错误!未定义书签。

实验指导(2015完全版)

操作系统上机实验指导书 (第一版) 闫大顺李晟编著 吴家培主审 计算机科学与工程学院 2014.8

操作系统实验指导 本课程是为《计算机操作系统》课所开的实验。计算机操作系统课程是一门实践性很强的技术课程,本课程实验的目的在于培养学生的实践能力,促进理论与实践的结合。要求学生通过上机编程,熟悉对操作系统原理,并熟练使用程序接口,并了解如何模拟操作系统原理的实现,从而加深对操作系统原理的领会,加深对操作系统实现方法的理解,与此同时使学生在程序设计方面也能够得到很大程度的提高。 实验的目的是使学生理论联系实际,提高学生系统理解与开发能力。这里所列的实验分为必做和选做。具体实验题的选择,不仅要考虑课程内容,而且要考虑学生目前的编程能力,要由浅入深。教师可通过运行示例或动画,帮助学生理解实验要求。学生应选择自己熟悉的语言与开发环境去完成实验。根据以往的教学经验,Delphi、C++ Builder,JBuilder由于提供了许多可重用的构件,易于学习、使用,VC++学习、使用困难较多。实验要求尽量在windows操作系统下,也可以在Linux下完成,由于多数没有专门学习Linux,在其平台下做试验比较困难。实验的硬件要求是能够支持VC++、Delphi、C++ Builder,JBuilder的微机即可。每个学生都独立在一台计算机上完成自己的实验内容,杜绝学生的抄袭。 实验报告的要求 1. 每位同学准备实验报告本,上机前作好充分的准备工作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境。 2. 实验时遵守实验室的规章制度,爱护实验设备,对于实验设备出现的问题,要及时向指导老师汇报。 3. 提交实验文件格式:[班级][学号]_[实验题号].[扩展名] 例:计051班学号为03的学生第四个实验的文件名为:j05103_4.c 4. 最终的实验报告按照实验名称、实验目的、实验内容,实验过程(程序设计、实现与调试)、实验总结五部分书写,按时上交。实验总结是对于实验过程中出现的问题或疑惑的分析与思考。认真按照要求填写到实验报告纸上。

操作系统实验报告

操作系统实验报告 实验名称: 系统的引导 所在班级: 指导老师: 老师 实验日期: 2014年3 月29 日

一、实验目的 ◆熟悉hit-oslab实验环境; ◆建立对操作系统引导过程的深入认识; ◆掌握操作系统的基本开发过程; ◆能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。 二、实验容 1. 阅读《Linux核完全注释》的第6章引导启动程序,对计算机和Linux 0.11的引导过程进行初步的了解。 2. 按照下面的要求改写0.11的引导程序bootsect.s。 3. 有兴趣同学可以做做进入保护模式前的设置程序setup.s。 4. 修改build.c,以便可以使用make BootImage命令 5. 改写bootsect.s主要完成如下功能: bootsect.s能在屏幕上打印一段提示信息XXX is booting...,其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等。 6. 改写setup.s主要完成如下功能: bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。而setup.s 向屏幕输出一行"Now we are in SETUP"。setup.s能获取至少一个基本的硬件参数(如存参数、显卡参数、硬盘参数等),将其存放在存的特定地址,并输出到屏幕上。setup.s不再加载Linux核,保持上述信息显示在屏幕上即可。 三、实验环境

本实验使用的系统是windows系统或者是Linux系统,需要的材料是osexp。 四、实验步骤 1. 修改bootsect.s中的提示信息及相关代码; 到osexp\Linux-0.11\boot目录下会看到图1所示的三个文件夹,使用UtraEdit 打开该文件。将文档中的98行的mov cx,#24修改为mov cx,#80。同时修改文档中的第246行为图2所示的情形。 图1图2 图3 2. 在目录linux-0.11\boot下,分别用命令as86 -0 -a -o bootsect.obootsect.s和 ld86 -0 -s -obootsectbootsect.o编译和bootsect.s,生成bootsect文件; 在\osexp目录下点击MinGW32.bat依此输入下面的命令: cd linux-0.11 cd boot as86 -0 -a -o bootsect.obootsect.s ld86 -0 -s -o bootsectbootsect.o

个人信息管理系统毕业课程设计实验报告

(此文档为word格式,下载后您可任意编辑修改!) 山东交通学院 目录 1.系统分析 (2) 1.1系统需求分析 (2) 1.2项目规划 (2) 1.3系统功能结构分析 (3) 1.4设计目的分析 (3) 2.数据库系统设计 (4) 2.1数据表概要设计 (4) 2.2数据库逻辑结构设计 (4) 3.应用程序设计 (5) 3.1界面设置 (5) 3.2关键技术 (15) 4.系统安装 (20) 建立数据源 (20) 5.设计体会 (21) 参考文献 (22)

摘要 随着经济社会的发展,计算机已被应用到社会生活的各个领域。与此同时,互联网作为信息技术的通信桥梁连接着全球的计算机,而网站作为网络信息主要的表现形式而且还是互联网信息的主要承载者,在网络上表现出其及其重要的地位,并发挥着极其重要的作用。无论是在国内还是国外都得以迅速的发展和壮大,并被人们重视和关注。互联网已经彻底的改变了世界,互联网的世界里蕴藏着无限的可能,在这种情况下,各行各业及其个人、单位、工厂、企事业等等在网上构筑属于自己的网络信息平台,保护自己的网络资源并在互联网上开辟自己的市场和消费群体,以及构造自己的数字化世界和加强全球范围内不同地域的人们联系交流等等活动也就显的日益重要。于是各种各样的网站便如雨后春笋般地出现鱼龙混杂且良莠不齐。因此,个人信息的管理就显得尤为重要了。不仅可以更好的保护个人信息,对日常的使用也会提供很大的方便。关键词:个人信息管理系统;数据集;数据库;Visual C++6.0。 1.系统分析 1.1系统需求分析 在做本系统前,我对系统的需求做了如下分析: 1)登录权限:在登录权限的分析上我们规定必须凭借用户名和密码才可登陆,进行管理。 2)使用者功能:首先说明一下,我们的系统用户对象是个人。关于其本系统的功能,大致可分为日记管理,通讯录管理,备忘录管理,以及个人财务管理;日记管理,其中包括用户对日记编号,时间,地点,事件、人物的查询、

普通化学实验指导书【模板】

普通化学实验指导书 齐鲁理工学院

目录 实验一酸碱比较滴定 (1) 实验二水中钙、镁离子的测定 (4)

实验一酸碱比较滴定 一、实验目的 1.掌握酸碱溶液的配制和比较滴定方法。 2.练习滴定操作技术和滴定终点的判断。 3.掌握滴定结果的数据记录和数据处理方法。 二、实验原理 在酸碱滴定中,酸标准溶液通常是用HCl或H2SO4来配制,其中用得较多的是HCl。如果试样要和过量的酸标准溶液共同煮沸时,则选用H2SO4。HNO3有氧化性并且稳定性较差,故不宜选用。 碱标准溶液一般都用NaOH配制。KOH较贵,应用不普遍。Ba(OH)2可以用来配制不含碳酸盐的碱标准溶液。 市售的酸浓度不定,碱的纯度也不够,而且常吸收CO2和水蒸气,因此都不能直接配制准确浓度的溶液,通常是先将它们配成近似浓度,然后通过比较滴定和标定来确定它们的准确浓度,其浓度一般是在0.01~1 mol·L-1之间,具体浓度可以根据需要选择。 酸碱比较滴定一般是指用酸标准溶液滴定碱标准溶液的操作过程。当HCl和NaOH溶液反应达到等量点时,根据等物质的量规则有: 即 因此,只要标定其中任何一种溶液的浓度,就可以通过比较滴定的结果(体积比),算出另一种溶液的准确浓度。 三、仪器和试剂 (一)仪器 10mL量筒、500mL量杯、1000mL小口试剂瓶(2只)、酸式和碱式滴定管、锥形瓶(3只)。 (二)试剂 浓HCl、50%NaOH、0.2%甲基红乙醇溶液。

四、实验内容 (-)0.05 mol·L-1(HCl)溶液的配制 用干净的量筒量取浓HCl 4.5mL,倒入1000mL试剂瓶中,用蒸馏水稀释至1000mL,盖上瓶塞,摇匀。 (二)0.05 mol·L-1(NaOH)溶液的配制 用干净的量筒量取澄清的50%NaOH 2.8mL,倒入1000mL试剂瓶中,用无CO2蒸馏水稀释至1000mL,用橡皮塞塞紧,摇匀。 溶液配好后,贴上标签,标签上应注明试剂名称、专业、班级、姓名和配制日期,留待以后实验用(以上酸、碱标准溶液,由两个同学共同配制)。 (三)比较滴定 将酸、碱标准溶液分别装入酸式和碱式滴定管中(注意赶气饱和除去管尖悬挂的液滴),记录初读数,由碱式滴定管放出约20mLNaOH溶液于锥形瓶中,加入甲基红指示剂1~2滴,用HCl溶液滴至溶液由黄色变为橙色,即为终点。若滴定过量,溶液已经变红,可以用NaOH溶液回滴至溶液变为黄色,再用HCl溶液滴至橙色。准确记录酸式、碱式滴定管的终读数,计算酸碱溶液的体积比(或)。 平行测定三次,每次滴定前,都要把酸式、碱式滴定管装到“0” 刻度或“0”刻度稍下的位置。要求三次测定结果的相对均差小于0.2%。 五、数据记录及计算结果

操作系统实验报告

操作系统实验报告 学生学院计算机学院 专业班级计算机科学与技术3班学号3213005910 学生姓名林虹 指导教师丁国芳 2015 年12月15 日

目录 1 实验一进程调度 (1) 2 实验二银行家算法 (16) 3 实验三动态分区分配方式的模拟 (20) 4 实验四仿真各种磁盘调度算法 (26)

实验一进程调度 1. 实验目的 编写并调试一个模拟的进程调度程序,分别采用“短进程优先”、“时间片轮转”、“高响应比优先”调度算法对随机产生的五个进程进行调度,并比较算法的平均周转时间。以加深对进程的概念及进程调度算法的理解。 2. 实验要求 1.每个进程由一个进程控制块(PCB)表示,进程控制块可以包含如下信息:进程 名、优先数(响应比)、到达时间、需要运行时间(进程的长度)、已运行时间、进 程状态等等(可以根据需要自己设定)。 2.由程序自动生成进程(包括需要的数据,要注意数据的合理范围),第一个进程到 达时间从0开始,其余进程到达时间随机产生。 3.采用时间片轮转调度算法时,进程的运行时间以时间片为单位进行计算。 4.每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种 状态之一。 5.每进行一次调度,程序都要输出一次运行结果:正在运行的进程、就绪队列中的进 程、完成的进程以及各个进程的PCB,以便进行检查。 6.最后计算各调度算法的平均周转时间,并进行比较、分析。 3. 实验内容 a.算法原理 (1)短进程优先调度算法 “短进程优先”调度算法的基本思想是把CPU分配给就绪队列中需要时间最短的进程。 (2)时间片轮转算法 将系统中所有的就绪进程按照FCFS原则,排成一个队列。每次调度时将CPU 分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。在一个时间片结束时,发生时钟中断。调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。进程可以未使用完一个时间片,就出让CPU。 (3)高响应比优先算法 HRRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。 每个作业完成后要打印该作业的开始运行时刻、完成时刻、周转时间和带权周转时间,这一组作业完成后要计算并打印这组作业的平均周转时间、带权平均周转时间。

计算机网络课程设计实验报告

中南大学课程设计报告 课程:计算机网络课程设计 题目:基于Winpcap的网络流量统计分析 指导教师:张伟 目录 第一章总体设计 一、实体类设计 --------P3 二、功能类设计 --------P3 三、界面设计 --------P3

第二章详细设计 一、实体类实现 --------P4 二、功能类实现 --------P4 三、界面实现 --------P5 第三章源代码清单及说明 一、CaptureUtil.java --------P7 二、MyPcapPacketHandler.java --------P9 三、PacketMatch.java --------P9 四、Windows.java --------P13 第四章运行结果 --------P19 第五章心得体会 --------P21 第一章总体设计 一、实体类设计 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计 二、功能类设计 (1)网卡获取 (2)包的抓捕

(3)包的处理 三、界面设计 (1)布局 (2)按钮功能连接 第二章第二章详细设计 一、实体类实现 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计。 本程序采用Java编写,基于win10pcap。Win10pcap是winpcap在win10系统上的适用版本。Java对于winpcap使用jnetpcap进行支持。对于TCP、UPD、ICMP、ARP、广播数据包五种类型的包,在jnetpcap的jar包中大部分已经封装好了相关的实体类型。对应如下:ARP 实体类:https://www.360docs.net/doc/9d679938.html,work.Arp; UPD 实体类:https://www.360docs.net/doc/9d679938.html,work.Icmp;

土工实验指导书及实验报告

土工实验指导书及实验报告编写毕守一 安徽水利水电职业技术学院 二OO九年五月

目录 实验一试样制备 实验二含水率试验 实验三密度试验 实验四液限和塑限试验 实验五颗粒分析试验 实验六固结试验 实验七直接剪切试验 实验八击实试验 土工试验复习题

实验一试样制备 一、概述 试样的制备是获得正确的试验成果的前提,为保证试验成果的可靠性以及试验数据的可比性,应具备一个统一的试样制备方法和程序。 试样的制备可分为原状土的试样制备和扰动土的试样制备。对于原状土的试样制备主要包括土样的开启、描述、切取等程序;而扰动土的制备程序则主要包括风干、碾散、过筛、分样和贮存等预备程序以及击实等制备程序,这些程序步骤的正确与否,都会直接影响到试验成果的可靠性,因此,试样的制备是土工试验工作的首要质量要素。 二、仪器设备 试样制备所需的主要仪器设备,包括: (1)孔径0.5mm、2mm和5mm的细筛; (2)孔径0.075mm的洗筛; (3)称量10kg、最小分度值5g的台秤; (4)称量5000g、最小分度值1g和称量200g、最小分度值0.01g的天平;

(5)不锈钢环刀(内径61.8mm、高20mm;内径79.8mm、高20mm或内径61.8mm、高40mm); (6)击样器:包括活塞、导筒和环刀; (7)其他:切土刀、钢丝锯、碎土工具、烘箱、保湿器、喷水设备、凡士林等。 三、试样制备 (一)原状土试样的制备步骤 1、将土样筒按标明的上下方向放置,剥去蜡封和胶带,开启土样筒取土样。 2、检查土样结构,若土样已扰动,则不应作为制备力学性质试验的试样。 3、根据试验要求确定环刀尺寸,并在环刀内壁涂一薄层凡士林,然后刃口向下放在土样上,将环刀垂直下压,同时用切土刀沿环刀外侧切削土样,边压边削直至土样高出环刀,制样时不得扰动土样。 4、采用钢丝锯或切土刀平整环刀两端土样,然后擦净环刀外壁,称环刀和土的总质量。 5、切削试样时,应对土样的层次、气味、颜色、夹杂物、裂缝和均匀性进行描述。 6、从切削的余土中取代表性试样,供测定含水率以及颗粒分析、界限含水率等试验之用。

操作系统原理实验报告(终版)

操作系统原理实验报告(终版)

————————————————————————————————作者:————————————————————————————————日期:

[键入文字] XX学校 实验报告 课程名称: 学院: 专业班: 姓名: 学号: 指导教师: 2011 年3 月

目录 实验1 进程管理 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验要求 (3) 四、程序说明和程序流程图 (4) 五、程序代码 (5) 六、程序运行结果及分析 (7) 七.指导教师评议 (8) 实验2 进程通信 (9) 一、实验目的 (9) 二、实验内容 (9) 三、实验要求 (9) 四、程序说明和程序流程图 (9) 五、程序代码 (11) 七.指导教师评议 (14) 实验3 存储管理 (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验要求 (15) 四、程序说明和程序流程图 (16) 六、程序运行结果及分析 (23)

七.指导教师评议 (23) 实验4 文件系统 (24) 一、实验目的 (24) 二、实验内容 (24) 三、实验要求 (24) 四、程序说明和程序流程图 (24) 五、程序代码 (26) 六、程序运行结果及分析 (26) 七.指导教师评议 (27)

实验1 进程管理 一、实验目的 1. 弄清进程和程序的区别,加深对进程概念的理解。 2. 了解并发进程的执行过程,进一步认识并发执行的实质。 3. 掌握解决进程互斥使用资源的方法。 二、实验内容 1. 管道通信 使用系统调用pipe( )建立一个管道,然后使用系统调用fork( )创建2个子进程p1和p2。这2个子进程分别向管道中写入字符串:“Child process p1 is sending message!”和“Child process p2 is sending message!”,而父进程则从管道中读出来自两个子进程的信息,并显示在屏幕上。 2. 软中断通信 使用系统调用fork( )创建2个子进程p1和p2,在父进程中使用系统调用signal( )捕捉来自键盘上的软中断信号SIGINT(即按Ctrl-C),当捕捉到软中断信号SIGINT后,父进程使用系统调用kill( )分别向2个子进程发出软中断信号SIGUSR1和SIGUSR2,子进程捕捉到信号后分别输出信息“Child process p1 is killed by parent!”和“Child process p2 is killed by parent!”后终止。而父进程等待2个子进程终止后,输出信息“Parent process is killed!”后终止。 三、实验要求 1. 根据实验内容编写C程序。 2. 上机调试程序。 3. 记录并分析程序运行结果。

相关文档
最新文档