当前位置:文档之家› 文件的输入与输出实验报告

文件的输入与输出实验报告

文件的输入与输出实验报告
文件的输入与输出实验报告

《高级Java编程技术》课程实验报告

院(系)名称:计算机学院专业班级:09计科 3 班

学号:姓名:

实验题目:实验9文件的输入与输出

实验日期:2011/11/22实验(上机)学时:2

一、实验内容、要求

1.实验内容:保存一个AddressBook对象

2.要求:

编写一个类,管理AddressBook对象的输入与输出。编写一个类名为AddressBookStorage,此类只负责处理文件输入输出操作。我们将以下面的顺序实现这个类:

(1)实现构造方法和setFile方法。

(2)实现write方法。

(3)实现read方法。

(4)最后把类定下来。

二、所采用的数据结构

如:线性表,二叉树,树,图等。你在此用到了啥样的数据结构就写啥。无数据结构。

三、实验的主要模块(或函数)及其功能

函数分块及各块主要功能的文字描述

1、AddressBookStorage类。这个类只负责AddressBook对象的文件

输入输出,不执行处理用户界面的任何操作。此类支持两种公共方法对AddressBook对象进行读写——write和read方法,参数是要读写的AddressBook对象。为了使定义的类可靠,将不提供无参的构造方法。此类包含的方法几描述如下:

(1)将文件名传递给构造方法,并定义一个方法来设置文件:public AddressBookStorage(String filename)

{

setFile(filename);

}

(2)公共方法对AddressBook对象进行读:

public AddressBook read() throws IOException (3)公共方法对AddressBook对象进行写:

public void write(AddressBook book) throws IOException (4)此方法用来设置文件:

public void setFile(String filename)

2、AddressBookVer1类。允许我们存储AddressBookVer1类的实例,使

用表达式“an AddressBook object”表示实现了AddressBook接口的任何实例。

3、接口AddressBook。该接口包含了三个版本都必须支持的公有方法。这些公有方法定义都是实现类通用的行为。接口内的所有公有方法不能有任何方法体,只允许有方法原型,下面是AddressBook接口的定义:

interface AddressBook {

public void add(Person newPerson);

public boolean delete(String searchName);

public Person search(String searchName);

public Person[] sort(int attribute);

}

4、TestAddressBookWrite类。这是一个测试程序来验证数据是否保存

到文件中。验证文件是否被创建、并且文件中是否有内容。

5、TestAddressBookRead类。这是一个测试程序来验证能够从文件中

正确地读取数据。通过使用TestAddressBookWrite类,将此测试程序首先保存数据,然后再读取。

四、程序运行时的输入数据(随机产生的数据要求输出显示),输出结果

1、测试数据是否保存进文件中:

2、测试是否能够从文件中真确地读取数据:

3、最终测试,先写在读取文件,然后查找Ms. X0、Ms. X15、Ms. X24和Ms. X50,如果存在则打印出来,否则打印object not found:

Java 输入输出流及文件读写详解

I/O类体系 在JDK API中,基础的IO类都位于java.io包,而新实现的IO类则位于一系列以java.nio开头的包名中,这里首先介绍java.io包中类的体系结构。 按照前面的说明,流是有方向的,则整个流的结构按照流的方向可以划分为两类: 1、输入流: 该类流将外部数据源的数据转换为流,程序通过读取该类流中的数据,完成对于外部数据源中数据的读入。 2、输出流: 该类流完成将流中的数据转换到对应的数据源中,程序通过向该类流中写入数据,完成将数据写入到对应的外部数据源中。 而在实际实现时,由于JDK API历史的原因,在java.io包中又实现了两类流:字节流(byte stream)和字符流(char stream)。这两种流实现的是流中数据序列的单位,在字节流中,数据序列以byte为单位,也就是流中的数据按照一个byte一个byte的顺序实现成流,对于该类流操作的基本单位是一个byte,而对于字节流,数据序列以char为单位,也就是流中的数据按照一个char一个插入的顺序实现成流,对于该类流操作的基本单位是一个char。 另外字节流是从JDK1.0开始加入到API中的,而字符流则是从JDK1.1开始才加入到API中的,对于现在使用的JDK版本来说,这两类流都包含在API的内部。在实际使用时,字符流的效率要比字节流高一些。 在实际使用时,字符流中的类基本上和字节流中的类对应,所以在开始学习IO类时,可以从最基础的字节流开始学习。 在SUN设计JDK的IO类时,按照以上的分类,为每个系列的类设计了一个父类,而实现具体操作的类都作为该系列类的子类,则IO类设计时的四个体系中每个体系中对应的父类分别是: 字节输入流InputStream 该类是IO编程中所有字节输入流的父类,熟悉该类的使用将对使用字节输入流产生很大的帮助,下面做一下详细的介绍。 按照前面介绍的流的概念,字节输入流完成的是按照字节形式构造读取数据的输入流的结构,每个该类的对象就是一个实际的输入流,在构造时由API完成将外部数据源转换为流对象的操作,这种转换对程序员来说是透明的。在程序使用时,程序员只需要读取该流对象,就可以完成对于外部数据的读取了。

C++文件的输入输出(讲解非常清晰)

C++中的文件输入/输出(1) 原作:Ilia Yordanov, loobian@https://www.doczj.com/doc/e57395638.html, 简介 本教程将以C++最基本的文件I/O(输出/输出)开始。此后,我将从更深入的方面,为你展示一些技巧,并分析给出一些有用的函数。 你需要对C++有一个较好的理解,否则这个教程于你而言将是陌生而毫无用处。 你的第一个程序 首先我将给出一段代码,接着再逐行进行解释。我们的第一个程序将建立一个文件,并写入一些字符: #include void main() // 程序从这里开始运行 { ofstream SaveFile(“cpp-home.txt”); SaveFile << “Hello World, from https://www.doczj.com/doc/e57395638.html, and Loobian!”; SaveFile.close(); } 仅仅如此吗?没错!这个程序将在当前运行目录下建立一个名为 cpp-home.txt的文件,并向它写入“Hello World, from https://www.doczj.com/doc/e57395638.html, and Loobian!”。 下面给出各行的含义: #include ——你需要包含此文件以使用C++的文件输入/输出函数。注意:一旦包含了这个文件,你不再需要(为了使用cout/cin)包含iostream.h,因为fstream.h已经自动包含了它。 在这个头文件中声明了若干个类,包括ifstream,ofstream及fstream,它们都继承自istream和ostream类。 ofstream SaveFile(“cpp-home.txt”); 1)ofstream即“output file stream(输出文件流)”。它将建立一个句柄(handle),以便我们以后能以一个文件流的形式写入文件。 2)SaveFile ——这是文件句柄的名字,当然,你还可以换用任何一个你想要的名称。

单片机实验报告

仲恺农业工程学院实验报告纸 自动化学院(院、系)工业自动化专业144班组单片机与嵌入式系统实验课学号201421714406姓名黄国盛实验日期2016年11月05日教师评定 实验一Keil C51集成开发环境的使用练习 一、实验目的 熟悉Keil C51集成开发环境的使用方法。 二、实验设备及器件 IBM PC机一台 三、实验内容 按照Keil C51软件的使用说明进行Keil C51集成开发环境的安装和使用练习,然后按照以下内容建立并编译产生HEX文件。 ORG0000H LJMP Main ORG00F0H Main: MOV R7,#0 Loop: MOV R6,#0 DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R7,Loop;延时 CPL P1.0;P1.0取反 CPL P1.1;P1.1取反 CPL P1.2;P1.2取反 CPL P1.3;P1.3取反 CPL P1.4;P1.4取反

CPL P1.5;P1.5取反 CPL P1.6;P1.6取反 CPL P1.7;P1.7取反 SJMP Main END 四、实验要求 熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。 五、实验预习要求 认真阅读Keil C51软件的使用说明。 六、实验思考题 试写一条把片内RAM50H~59H单元清零的程序。 实现程序如下: ORG0000h LJMP Main ORG0100H Main:MOV R0,#50H;立即数50H(内部RAM地址)传送到R0中 MOV R1,#10;立即数10(循环次数为10次)传送到R1中 MOV A,#0;立即数0传送到A,中将累加器A的值清0 LOOP:MOV@R0,A;将R0内容所指向的单元清0 INC R0;R0内容加1,修改地址指针 DJNZ R1,LOOP;减1不为0判断,若为真跳回循环,否,则运行下一语句 END;结束 七、实验总结 通过实验,熟悉80C51指令系统,熟悉Keil C51集成开发环境的使用方法,熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。加深对内部存储器读写的认识。

数据分析实验报告

数据分析实验报告 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出: 统计量 全国居民 农村居民 城镇居民 N 有效 22 22 22 缺失 均值 1116.82 747.86 2336.41 中值 727.50 530.50 1499.50 方差 1031026.918 399673.838 4536136.444 百分位数 25 304.25 239.75 596.25 50 727.50 530.50 1499.50 75 1893.50 1197.00 4136.75 3画直方图,茎叶图,QQ 图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民 Stem-and-Leaf Plot Frequency Stem & Leaf 5.00 0 . 56788 数据分析实验报告 【最新资料,WORD 文档,可编辑修改】

2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689 1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验

结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。 (2 )W 检验 结果:在Shapiro-Wilk 检验结果972.00 w ,p=0.174大于0.05 接受原假设,即数据来自正太总体。 习题1.5 5 多维正态数据的统计量 数据:

第9章输入输出流与文件操作

什么是流?流有什么用?面向对象语言为什么需要流?哪些场合需要流? 答:流是指一组有顺序、有起点和终点地字节集合,是对数据传输地总称或抽象(也就是数据在两个对象之间地传输称为流).个人收集整理勿做商业用途 流地作用就是使数据传输操作独立于相关设备. 在面向对象地程序设计中,数据地传输和流动具有广泛性,可以在内存与外部设备之间传输,还可以从内存到内存,甚至可以从一台计算机通过网络流向另一台计算机等,故面向对象语言采用流机制.个人收集整理勿做商业用途 在标准输入输出、在文件地读写等操作中都需要流. 提供了哪些流类?各种流类之间地关系是怎样地?什么场合需要使用什么流类? 答:中按照流地方向性,流分为输入流和输出流两大类.按照流中元素地基本类型,流分为字节流和字符流两大类.字节流类按照流地方向分为字节输入流类和字节输出流类,字符流类方向性分为字符输入流类和字符输出流类.以及文件操作类,随机存取文件类.个人收集整理勿做商业用途 其中类是所有字节输入流地根类,类是所有字节输出流地根类;类是所有字符输入流地根类,类是所有字符输出流地根类.个人收集整理勿做商业用途 操作系统中文件和目录概念是怎么样地?提供了哪些对文件和目录操作地类?程序中对文件和目录能够进行哪些操作?如何操作?个人收集整理勿做商业用途 答:文件是信息地一种组织形式,是存储在外部存储介质上地具有标识名地一组相关地信息集合.目录是文件系统组织和管理文件地基本单位,保存它所管理地每个文件地基本属性信息(称为文件目录项或文件控制块).个人收集整理勿做商业用途 直接对文件地顺序存取和随机存取操作,提供了类记载文件属性信息,对文件读写操作时以流地形式.类以随机存取方式进行文件读写操作.但在对文件操作过程中还需要使用文件过滤器接口和文件对话框类.在操作系统中,目录也是以文件地形式保存地,称为目录文件.故一个对象也可以表示一个目录.个人收集整理勿做商业用途 可以对文件进行读、写、删除、创建等操作,对目录可以读取、创建、删除等操作.应用程序通过调用操作系统提供地系统调用能够对文件及目录进行各种操作.个人收集整理勿做商业用途 再打开、保存、复制文件时,需要读写文件中地数据内容,这些操作由流实现,不同类型地文件需要使用不同地流泪.个人收集整理勿做商业用途 流与文件操作有什么关系?实际应用中将流类与文件操作结合起来能够实现哪些复杂问题?如何实现?个人收集整理勿做商业用途 答:对文件地操作时通过流这个工具进行地.再打开、保存、复制文件时,需要读写文件中地数据内容,这些操作由流实现,不同类型地文件需要使用不同地流泪.个人收集整理勿做商业用途 什么是输入输出?什么是标准输入输出?怎样实现标准输入输出功能? 答:数据由外部设备流向内存,这个过程称为输入;数据有内存流向外部设备,这个过程称为输出. 在计算机系统中,标准输入是从键盘等外部输入设备中获得数据,标准输出是向显示器或打印机等外部输出设备发送数据.个人收集整理勿做商业用途 在类中声明了个常量、和用于实现标准输入输出功能.个人收集整理勿做商业用途除了标准输入输出及文件操作之外,还有那些应用中需要使用流? 答:在面向对象地程序设计中,数据地传输和流动具有广泛性,不仅可以在内存与外部设备之间传输,还可以从内存流向内存,甚至可以从一台计算机通过网络流向另一台计算机,因此各种不同地数据源地传输都需要采取不同地流机制来实现.个人收集整理勿做商业用途

C语言中文件_数据的输入输出_读写

C语言中文件,数据的输入输出,读写. 文件是数据的集合体,对文件的处理过程就是对文件的读写过程,或输入输出过程。 所谓文件是指内存以外的媒体上以某种形式组织的一组相关数据的有序集合。文件分类: 顺序文件,随机文件。 文本文件和二进制文件。 文本文件也称为ASCII文件,在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。 文本文件可以在屏幕上按字符显示,源程序文件就是文本文件,由于是按字符显示,所以能读懂文件内容。 二进制文件是按二进制编码方式来存放的。这里主要讨论文件的打开,关闭,读,写,定位等操作。 文件的存取方法 C程序的输入输出(I/O)有两种方式:一种称为标准I/O或流式I/O,另一种称为低级I/O。流式I/O是依靠标准库函数中的输入输出函数实现的。低级I/O利用操作系统提供的接口函数(称为底层接口或系统调用)实现输入输出,低级I/O 主要提供系统软件使用。 在C语言中用一个FILE类型的指针变量指向一个文件,(FILE类型是系统在stdio.h中定义的描述已打开文件的一种结构类型),这个指针称为文件指针。FILE *指针变量标识符; 如 FILE *fp; 文件的打开与关闭 所谓打开文件,指的是建立文件的各种有关信息,并使文件指针指向该文件,以便对它进行操作。 关闭文件则是断开指针与文件之间的联系,也就禁止再对该文件进行操作。 1、fopen 函数原型:FILE *fopen(const char *filename,const char *mode); Fopen函数用来打开一个文件,前一部分用来说明文件路径及文件名,后一部分mode指出了打开文件的存取方式;返回值是被打开文件的FILE型指针,若打开失败,则返回NULL。打开文件的语法格式如下: 文件指针名=fopen(文件名,使用文件方式); 文件指针名必须被说明为FILE类型的指针变量。 FILE *fp; fp=fopen(“C:\\Windowss\\abc.txt”,”r”); 注意用两个反斜杠\\来表示目录间的间隔符。 存取文件的模式是一个字符串,可以由字母r,w,a,t,b及+组合而成,各字符的含

眼图实验报告的数据

实验五眼图 一、实验目的: 1、理解受限信道上的数据传输率; 2、观察眼图,分析不同参数设置对眼图的影响。 二、实验原理 当一个信号通过一个受限的信道时,它的波形将发生变化。如图5-1所示,当数据传输率提高时,波形的失真也增大,甚至使得数据不能传输。 图5-1 受限信道中的波形的前后变化 眼图通常用于实时观察一个数字数据序列,它能够表达出很多有关传输质量的信息,而做这些仅一个常用的示波器和一位时钟序列就可以了。通过观察眼图,可以测量出传输的质量及接收到的数据中发生错误的可能性。其原理图如图5-2所示: 图5-2 眼图产生的原理 一个典型的眼图通常是用来显示传输在一个受限信道上的二进制序列,而这个受限的信道是忽略了噪音的。如图5-3所示: 图5-3眼图

三、实验设备 1、主机TIMS-301F 2、TIMS基本插入模块 (1)TIMS-153序列产生器(Sequence generator) (2)TIMS-148音频振荡器(Audio Oscillator) (3)TIMS-153 可调低通滤波器(Tuneable LPF) 3、计算机 4、PICO虚拟设备 四、实验步骤: 1、将TIMS系统中的音频振荡器(Audio Oscillator)、序列产生器(Sequence generator)、可调低通滤波器(Tuneable LPF)三个模块按图5-4连接。 2、PICO软件的设置:打开PICO软件,设置眼图参数。在“Settings”菜单中选择“Options”选项,如下图所示: 在弹出的窗口菜单中,在“Sco pe options”里的“Data to display”项选择“Accumulate”。如下图所示:

数据分析实验报告

《数据分析》实验报告 班级:07信计0班学号:姓名:实验日期2010-3-11 实验地点:实验楼505 实验名称:样本数据的特征分析使用软件名称:MATLAB 实验目的1.熟练掌握利用Matlab软件计算均值、方差、协方差、相关系数、标准差与变异系数、偏度与峰度,中位数、分位数、三均值、四分位极差与极差; 2.熟练掌握jbtest与lillietest关于一元数据的正态性检验; 3.掌握统计作图方法; 4.掌握多元数据的数字特征与相关矩阵的处理方法; 实验内容安徽省1990-2004年万元工业GDP废气排放量、废水排放量、固体废物排放量以及用于污染治理的投入经费比重见表6.1.1,解决以下问题:表6.1.1废气、废水、固体废物排放量及污染治理的投入经费占GDP比重 年份 万元工业GDP 废气排放量 万元工业GDP 固体物排放量 万元工业GDP废 水排放量 环境污染治理投 资占GDP比重 (立方米)(千克)(吨)(%)1990 104254.40 519.48 441.65 0.18 1991 94415.00 476.97 398.19 0.26 1992 89317.41 119.45 332.14 0.23 1993 63012.42 67.93 203.91 0.20 1994 45435.04 7.86 128.20 0.17 1995 46383.42 12.45 113.39 0.22 1996 39874.19 13.24 87.12 0.15 1997 38412.85 37.97 76.98 0.21 1998 35270.79 45.36 59.68 0.11 1999 35200.76 34.93 60.82 0.15 2000 35848.97 1.82 57.35 0.19 2001 40348.43 1.17 53.06 0.11 2002 40392.96 0.16 50.96 0.12 2003 37237.13 0.05 43.94 0.15 2004 34176.27 0.06 36.90 0.13 1.计算各指标的均值、方差、标准差、变异系数以及相关系数矩阵; 2.计算各指标的偏度、峰度、三均值以及极差; 3.做出各指标数据直方图并检验该数据是否服从正态分布?若不服从正态分布,利用boxcox变换以后给出该数据的密度函数; 4.上网查找1990-2004江苏省万元工业GDP废气排放量,安徽省与江苏省是 否服从同样的分布?

java输入输出流和文件操作

Java IO流和文件操作Java流操作有关的类或接口: Java流类图结构:

1、File类 File类是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹。 File类保存文件或目录的各种元数据信息,包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名,判断指定文件是否存在、获得当前目录中的文件列表,创建、删除文件和目录等方法。 构造方法摘要 File(File parent, String child) File(String pathname) File(String parent, String child) 构造函数 创建方法 1.boolean createNewFile() 不存在返回true 存在返回false 2.boolean mkdir() 创建目录 3.boolean mkdirs() 创建多级目录 删除方法 1.boolean delete() 2.boolean deleteOnExit() 文件使用完成后删除 例子1:列出指定文件夹的文件或文件夹 public class FileDemo1 { public static void main(String[] args){ File[] files =File.listRoots(); for(File file:files){

System.out.println(file); if(file.length()>0){ String[] filenames =file.list(); for(String filename:filenames){ System.out.println(filename); } } } } } 例子2:文件过滤 import java.io.File; public class FileTest2 { public static void main(String[] args) { File file = new File("file"); String[] names = file.list(); for(String name : names) { if(name.endsWith(".java")) { System.out.println(name); }

微机原理上机实验(一)实验报告数据传输传送实验

微机原理上机实验(一)实验报告 主题:数据传送 一、实验目的 熟悉星研集成环境软件的使用方法。熟悉Borland公司的TASM编译器 熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。 二、实验内容 1、熟悉星研集成环境软件。 2、编写程序,实现数据段的传送、校验。 三、实验代码 _STACK SEGMENT STACK DW 100 DUP() _STACK ENDS DATA SEGMENT DATA ENDS CODE SEGMENT START PROC NEAR ASSUME CS:CODE, DS:DATA, SS:_STACK MOV AX, DATA ;将数据段的地址存入AX寄存器。AX=004DH MOV DS,AX ;对DS段寄存器赋值。DS=004DH MOV ES,AX ;对ES段寄存器赋值。ES=004DH NOP ;空指令

MOV CX,100H ;把100H送到CX寄存器。CX=0100H MOV SI,3000H ;把3000H送到SI寄存器。SI=3000H MOV DI,6000H ;把6000H送到DI寄存器。DI=6000H CALL Move ;调用Move子程序 MOV CX,100H ;把100H送到CX寄存器。CX=0100H MOV SI,3000H ;把3000H送到SI寄存器。SI=3000H MOV DI,6000H ;把6000H送到DI寄存器。DI=6000H CLD ;将DF标志位置0。设置SI、DI为递增移动,DF=0 REPE CMPSB ;比较[SI]和[DI],CX减1,ZF=0或CX=0跳出 ;若ZF=0或CX=0不成立,则继续比较。SI和DI持续递增 1 JNE ERROR ;若ZF=0,跳到ERROR子程序 TRUE: JMP $ ;跳到目前地址 ERROR: JMP $ ;跳到目前地址 Move PROC NEAR ;Move子程序 CLD ;将DF标志位置0。设置SI、DI为递增移动。DF=0 CMP SI,DI ;比较SI、DICF=SF=PF=1,仅有该三个标志位变化JZ Return ;如果相等,跳到Return JNB Move1 ;如果SI大于等于DI,跳到Move1 ADD SI,CX ;SI=SI+CX。SI=3100H DEC SI ;SI减1。SI=30FFH

数字电压表的设计实验报告

课程设计 ——基于51数字电压表设计 物理与电子信息学院 电子信息工程 1、课程设计要求 使用单片机AT89C52和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。 2、硬件单元电路设计 AT89S52单片机简介 AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存

储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 ADC0832模数转换器简介 ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。 图1 芯片接口说明: 〃 CS_ 片选使能,低电平芯片使能。 〃 CH0 模拟输入通道0,或作为IN+/-使用。

数据分析实验报告

数据分析实验报告 【最新资料,WORD文档,可编辑修改】 第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出:

方差1031026.918399673.8384536136.444百分位数25304.25239.75596.25 50727.50530.501499.50 751893.501197.004136.75 3画直方图,茎叶图,QQ图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民Stem-and-Leaf Plot Frequency Stem & Leaf 9.00 0 . 122223344 5.00 0 . 56788 2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689

1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验 单样本Kolmogorov-Smirnov 检验 身高N60正态参数a,,b均值139.00

标准差7.064 最极端差别绝对值.089 正.045 负-.089 Kolmogorov-Smirnov Z.686 渐近显着性(双侧).735 a. 检验分布为正态分布。 b. 根据数据计算得到。 结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。(2)W检验

数据采集系统实验报告

学院名称: 电气信息工程学院 专 业: 测控技术与仪器 班 级: 09测控1W 姓 名: 胡建兵 学 号: 09314111 指导教师姓名: 朱 雷 2012 年 11 月 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 数据采集系统实验报告

实验2——A/D采集模块设计 一.实验目的 学习用状态机实现对ADC0809,AD574A等A/D转换器的采样控制。 二.实验原理 图1和图2分别为ADC0809的引脚图,转换时序图和采样控制状态图。时序图中,START为转换启动控制信号,高电平有效;ALE为模拟信号输入选通端口地址锁存信号,上升沿有效;一旦START有效后,状态信号变EOC变为低电平,表示进入状态转换,转换时间约为100us。转换结束后,EOC将变为高电平。此外外部控制可使OE由低电平变为高电平(输出有效),此时,ADC0809的输出数据总线D【7...0】从原来的高阻态变为输出数据有效。由状态图也可以看到,状态st2中需要对ADC0809工作状态信号EOC进行测试,如果为低电平,表示转换没有结束,仍需要停留在st2状态中等待,直到变成高电平后才说明转换结束,在下一时钟脉冲到来时转向状态st3。在状态st3,由状态机向ADC0809发出转换好的8位数据输出允许命令,这一状态周期同时可作为数据输出稳定周期,以便能在下一状态中向锁存器锁入可靠的数据。在状态st4,由状态机向FPGA中的锁存器发出锁存信号(LOCK的上升沿),将ADC0809的输出数据进行锁存。 图2.1 ADC0809工作时序

图2.2 控制ADC0809采样状态图程序如图实例1所示,其结构框图如图3所示。 图2.3 采样状态机结构框图

实验6 输入输出流操作

实验6 输入输出流操作 一、实验目的 1. 理解数据流的概念 2. 理解Java流的层次结构 3. 理解文件的概念 二、实验要求 1. 掌握字节流的基本使用方法 2. 掌握字符流的基本使用方法 3. 能够创建、读写、更新文件 三、实验练习内容 1. Java的标准输入输出流System.in/System.out 知识点解析: 标准数据流指在字符方式下(如DOS 提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。 示例:课本例10.1 2. 文件字节输入输出流类FileInputStream/ FileOutputStream 知识点解析: 文件字节输入输出流主要负责完成对本地磁盘文件的顺序输入与输出操作。示例:课本例10.2 3. 数据字节输入输出流DataOutputStream/DataInputStream 知识点解析: 使用数据输入流DataOutputStream 和数据输出流DataInputStream 可以读取或写入8种基本数据类型的数据,不用关心它们的实际长度是多少字节。一般与文件输入流FileInputStream 和输出流类FileOutputStream 一起使用。 示例:课本例10.3 4. 对象字节输入输出流ObjectInputStream/ ObjectOutputStream 知识点解析: 使用对象流可以直接写入或读取一个对象。由于一个类的对象包含多种信

息,为了保证从对象流中能够读取到正确的对象,因此要求所有写入对象流的对象都必须是序列化的对象。一个类如果实现了Serializable 接口,那么这个类的对象就是序列化的对象。Serializable 接口没有方法,实现该接口的类不需要实现额外的方法。 示例:课本例10.4 5. 文件字符输入输出流FileReader/FileWriter和字符缓冲输入输出流 BufferedReader/BufferedWriter 知识点解析:文件字符输入输出流类与文件字节输入输出流类功能类似,但处理的基本单位是字符。字符缓冲输入输出流类用来对字符流进行成批的处理。 示例:课本例10.5 6. 文件类File 知识点解析: 文件类主要用来保存文件或目录的各种属性, 包括文件名、文件长度、最后修改时间、是否可读等;文件类还有以下功能:提供获得当前文件的路径名, 判断指定文件是否存在, 获得当前目录中所有文件列表, 创建文件、删除文件、创建目录、删除目录等操作的方法。 示例:课本例10.6 7. 文件过滤器接口FileFilter和FilenameFilter 知识点解析: 文件过滤器接口FileFilter和FilenameFilter用来实现对文件名字符串的过滤。两个接口中都声明accept()方法来实现过滤操作。 示例:课本例10.7 8. 随机文件类RandomAccessFile 知识点解析:随机文件类用于进行随意位置、任意类型的文件访问,并且在文件的读取方式中支持文件的任意读取而不只是顺序读取。 示例:课本例10.8 四、设计题(以下题目1、2题必做,第3题选做) 1. 利用文件字节输入输出流和数据字节输入输出流,将"九九乘法表"写入整数类型文件,并输出显示。 2. 将Java的关键字保存在一个文本文件中,判断一个字符串是否为Java的关键字。 3. 使用文件字节输入/输出流,合并两个指定文件;当文件中的数据已排序时,合并后的数据也要求是已排序的。

对文件的输入与输出

对文件的输入与输出 10.1 C文件的有关基本知识 什么是文件: 文件有不同的类型,在程序设计中,主要用到两种文件: (1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。 (2)数据文件。文件的内容不是程序,而是供程序运行时读写的数据,如在程序运行过程中输出到磁盘(或其他外部设备)的数据,或在程序中供读入的数据。 操作系统把各种设备都统一作为文件来处理。 所谓“文件”一般指存储在外部介质上数据的集合。 输入输出是数据传送的过程,称为流(stream),即数据流。 C语言把文件看作是一个字符(或字节)的序列,即由一个一个字符(或字节)的数据顺序组成。 文件名: 一个文件要有一个唯一的文件标识,以便用户识别和引用。 文件标识包括3部分: 1.文件路径 2.文件名主干 3.文件后缀 如下: D:\CC\temp\ file.dat 文件路径文件名主干文件后缀 文件名主干的命名规则遵循标识符的命名规则。 文件的分类: 根据数据的组织形式,数据文件可分为ASCII文件和二进制文件。

ASCII文件又称文本文件(text file),每一个字节放一个字符的ASCII代码。 ANSI C标准采用“缓冲文件系统”处理数据文件,所谓缓冲文件系统是指系统自动地在内存区为程序中第一个正在使用的文件开辟一个文件缓冲区。 定义一个指向文件类型数据的指针变量: FILE *fp; 定义fp是一个指向FILE类型数据的指针变量。可以使fp指向某一个文件的文件信息区(是一个结构体变量),通过该文件信息区中的信息就能够访问该文件。也就是说,通过文件指针变量能够找到与它相关联的文件。 注意:指向文件的指针变量并不是指向外部介质上的数据文件的开头,而是指向内存中的文件信息区的开头。 10.2 打开与关闭文件 所谓“打开”是指为文件建立相应的信息区(用来存放有关文件的信息)和文件缓冲区(用来暂时存放输入输出的数据)。 用fopen函数打开数据文件: ANSI C规定了用标准输入输出函数fopen来实现打开文件。fopen函数的调用格式: fopen(文件名,使用文件方式); 例如: fopen(“a1”,”r”); 用fclose函数关闭数据文件: “关闭”就是撤销文件信息区和文件缓冲区,使文件指针变量不再指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作,除非再次打开,使该指针变量重新指向该文件。 关闭文件用fclose函数。fclose函数调用的一般形式: fclose(文件指针);

实验二实验报告

PAM和PCM编译码器系统 一、实验目的 1.观察了解PAM信号形成的过程;验证抽样定理;了解混叠效应形 成的原因; 2.验证PCM编译码原理;熟悉PCM抽样时钟、编码数据和输入/输出 时钟之间的关系;了解PCM专用大规模集成电路的工作原理和应用。 二、实验内容和步骤 1.PAM编译码器系统 1.1自然抽样脉冲序列测量 (1)准备工作; (2)PAM脉冲抽样序列观察; (3)PAM脉冲抽样序列重建信号观测。 1.2平顶抽样脉冲序列测量 (1)准备工作; (2)PAM平顶抽样序列观察; (3)平顶抽样重建信号观测。 1.3信号混叠观测 (1)准备工作 (2)用示波器观测重建信号输出的波形。 2.PCM编译码器系统 2.1PCM串行接口时序观察 (1)输出时钟和帧同步时隙信号的观察; (2)抽样时钟信号与PCM编码数据测量; 2.2用示波器同时观察抽样时钟信号和编码输出数据信号端口 (TP502),观测时以TP504同步,分析掌握PCM编码输数据和抽样时钟信号(同步沿、脉冲宽度)及输出时钟的对应关系; 2.3PCM译码器输出模拟信号观测,定性观测解码信号与输入信号的 关系:质量,电平,延时。 2.4PCM频率响应测量:调整测试信号频率,定性观察解码恢复出的 模拟信号电平,观测输出信号电平相对变化随输入信号频率变化的相对关系;

2.5PCM动态范围测量:将测试信号频率固定在1000Hz,改变测试信 号电平,定性观测解码恢复出的模拟信号的质量。 三、实验数据处理与分析 1.PAM编译码器系统 (1)观察得到的抽样脉冲序列和正弦波输入信号如下所示: 上图中上方波形为输入的正弦波信号,下方为得到的抽样脉冲序列,可见抽样序列和正弦波信号基本同步。 (2)观测得到的重建信号和正弦波输入信号如下所示:

文件流是以外存文件为输入输出对象的数据流

文件流是以外存文件为输入输出对象的数据流,字符串流不是以外存文件为输入输出的对象,而以内存中用户定义的字符数组(字符串)为输入输出的对象,即将数据输出到内存中的字符数组,或者从字符数组(字符串)将数据读入。字符串流也称为内存流。 字符串流也有相应的缓冲区,开始时流缓冲区是空的。如果向字符数组存入数据,随着向流插入数据,流缓冲区中的数据不断增加,待缓冲区满了(或遇换行符),一起存入字符数组。如果是从字符数组读数据,先将字符数组中的数据送到流缓冲区,然后从缓冲区中提取数据赋给有关变量。 在字符数组中可以存放字符,也可以存放整数、浮点数以及其他类型的数据。在向字符数组存入数据之前,要先将数据从二进制形式转换为ASCII代码,然后存放在缓冲区,再从缓冲区送到字符数组。从字符数组读数据时,先将字符数组中的数据送到缓冲区,在赋给变量前要先将ASCII代码转换为二进制形式。总之,流缓冲区中的数据格式与字符数组相同。这种情况与以标准设备(键盘和显示器)为对象的输入输出是类似的,键盘和显示器都是按字符形式输入输出的设备,内存中的数据在输出到显示器之前,先要转换为ASCII码形式,并送到输出缓冲区中。从键盘输入的数据以ASCII码形式输入到输入缓冲区,在赋给变量前转换为相应变量类型的二进制形式,然后赋给变量。对于字符串流的输入输出的情况,如不清楚,可以从对标准设备的输入输出中得到启发。 文件流类有ifstream,ofstream和fstream,而字符串流类有istrstream,ostrstream和strstream。文件流类和字符串流类都是ostream,istream和iostream类的派生类,因此对它们的操作方法是基本相同的。向内存中的一个字符数组写数据就如同向文件写数据一样,但有3点不同: 1. 输出时数据不是流向外存文件,而是流向内存中的一个存储空间。输入时从内存中的存储空间读取数据。在严格的意义上 说,这不属于输入输出,称为读写比较合适。因为输入输出一般指的是在计算机内存与计算机外的文件(外部设备也视为文件)之间的数据传送。但由于C++的字符串流采用了C++的流输入输出机制,因此往往也用输入和输出来表述读写操作。 2. 字符串流对象关联的不是文件,而是内存中的一个字符数组,因此不需要打开和关闭文件。 3. 每个文件的最后都有一个文件结束符,表示文件的结束。而字符串流所关联的字符数组中没有相应的结束标志,用户要指定 一个特殊字符作为结束符,在向字符数组写入全部数据后要写入此字符。 字符串流类没有open成员函数,因此要在建立字符串流对象时通过给定参数来确立字符串流与字符数组的关联。即通过调用构造函数来解决此问题。建立字符串流对象的方法与含义如下。 建立输出字符串流对象 ostrstream类提供的构造函数的原型为: ostrstream::ostrstream(char *buffer,int n,int mode=ios::out); buffer是指向字符数组首元素的指针,n为指定的流缓冲区的大小(一般选与字符数组的大小相同,也可以不同),第3个参数是可选的,默认为ios::out方式。可以用以下语句建立输出字符串流对象并与字符数组建立关联: ostrstream strout(ch1,20); 作用是建立输出字符串流对象strout,并使strout与字符数组ch1关联(通过字符串流将数据输出到字符数组ch1),流缓冲区大小为20。 建立输入字符串流对象 istrstream类提供了两个带参的构造函数,原型为: istrstream::istrstream(char *buffer); istrstream::istrstream(char *buffer,int n); buffer是指向字符数组首元素的指针,用它来初始化流对象(使流对象与字符数组建立关联)。可以用以下语句建立输入字符串流对象: istrstream strin(ch2); 作用是建立输入字符串流对象strin,将字符数组ch2中的全部数据作为输入字符串流的内容。 istrstream strin(ch2,20); 流缓冲区大小为20,因此只将字符数组ch2中的,20个字符作为输入字符串流的内容。 建立输入输出字符串流对象 strstream类提供的构造函数的原型为: strstream::strstream(char *buffer,int n,int mode); 可以用以下语句建立输入输出字符串流对象:

数据分析与挖掘实验报告

数据分析与挖掘实验报告

《数据挖掘》实验报告 目录 1.关联规则的基本概念和方法 (1) 1.1数据挖掘 (1) 1.1.1数据挖掘的概念 (1) 1.1.2数据挖掘的方法与技术 (2) 1.2关联规则 (5) 1.2.1关联规则的概念 (5) 1.2.2关联规则的实现——Apriori算法 (7) 2.用Matlab实现关联规则 (12) 2.1Matlab概述 (12) 2.2基于Matlab的Apriori算法 (13) 3.用java实现关联规则 (19) 3.1java界面描述 (19) 3.2java关键代码描述 (23) 4、实验总结 (29) 4.1实验的不足和改进 (29) 4.2实验心得 (30)

1.关联规则的基本概念和方法 1.1数据挖掘 1.1.1数据挖掘的概念 计算机技术和通信技术的迅猛发展将人类社会带入到了信息时代。在最近十几年里,数据库中存储的数据急剧增大。数据挖掘就是信息技术自然进化的结果。数据挖掘可以从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的,人们事先不知道的但又是潜在有用的信息和知识的过程。 许多人将数据挖掘视为另一个流行词汇数据中的知识发现(KDD)的同义词,而另一些人只是把数据挖掘视为知识发现过程的一个基本步骤。知识发现过程如下: ·数据清理(消除噪声和删除不一致的数据)·数据集成(多种数据源可以组合在一起)·数据转换(从数据库中提取和分析任务相关的数据) ·数据变换(从汇总或聚集操作,把数据变换和统一成适合挖掘的形式) ·数据挖掘(基本步骤,使用智能方法提取数

据模式) ·模式评估(根据某种兴趣度度量,识别代表知识的真正有趣的模式) ·知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)。 1.1.2数据挖掘的方法与技术 数据挖掘吸纳了诸如数据库和数据仓库技术、统计学、机器学习、高性能计算、模式识别、神经网络、数据可视化、信息检索、图像和信号处理以及空间数据分析技术的集成等许多应用领域的大量技术。数据挖掘主要包括以下方法。神经网络方法:神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。典型的神经网络模型主要分3大类:以感知机、bp反向传播模型、函数型网络为代表的,用于分类、预测和模式识别的前馈式神经网络模型;以hopfield 的离散模型和连续模型为代表的,分别用于联想记忆和优化计算的反馈式神经网络模型;以art 模型、koholon模型为代表的,用于聚类的自组

相关主题
文本预览
相关文档 最新文档