实验六 输入输出流与文件
- 格式:doc
- 大小:82.50 KB
- 文档页数:8
JAVA语言实验指导《Java程序设计》课程实验指导书实验一熟悉Java编程环境和Java程序结构一、实验目的:通过简单的输入输出程序熟悉Java编程环境,认识Java程序结构。
二、实验内容:在JDK或者V isual J++环境下编写简单的输入输出程序。
三、实验要求:1. 接收一个键盘输入的字符;2. 输出一条简单的问候信息;3. 写出实验报告,要求对程序结构做出详细的解释。
四、实验学时:2学时五、实验步骤:1.进入Java编程环境;2. 新建一个Java文件,命名为inOut.java;3. 定义主方法static public void main(String[ ] args);在方法体中调用System.in.read方法接收一个键盘输入的字符;调用System.out.println()方法,使程序输出一条问候信息;4. 编译运行程序,观察运行情况和输出结果。
(如果使用JDK环境,调用javac.exe和java.exe编译和执行程序)六、选作实验编写Java Applet程序实现上述功能。
实验二 Java语言基础训练一、实验目的:熟悉Java基本语法,练习使用Java的数据类型和控制结构,实现简单的数据和字符串操作。
二、实验内容:编写Java程序,输出1900年到2000年之间的所有润年。
三、实验要求:1. 正确使用Java语言的控制结构;2. 从屏幕输出1900年到2000年之间的所有润年;3. 写出实验报告。
四、实验学时:2学时五、实验步骤:1.进入Java编程环境;2. 新建一个Java文件,命名为runY ear.java;3. 定义主方法,查找1900到2000年之间的润年,并输出它们;4. 编译运行程序,观察输出结果是否正确。
六、选作实验编写程序,查找一个字符串中是否包含指定的字符。
实验三面向对象基础熟悉Java类的结构,掌握类的定义、方法和属性的定义以及对象的实现,掌握类的继承。
.实验一P1口输入输出一.实验目的1)进一步熟习51单片机外面引脚线路连结;2)考证常用的51指令;3)学习简单的编程方法;4)掌握单片机全系统调试的过程及方法;5)学习P1口的相关功能作用以及使用方法。
二.实验说明P1口因为有内部上拉电阻,没有高阻抗输入状态,称为准双向口。
作为输出口时,不需要在片外接上拉电阻,P1口“读引脚”输入时,一定先向锁存器写1;三.实验内容P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
、作输进口接两个拨动开关,、作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来四.实验原理以实验机上74LS273做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
循环时间由准时器控制。
五.实验流程六.实验源程序ORG0000H;程序进口AJMP RIGHT ;跳向标号RIGHT处ORG0030H;程序RIGHT:MOVR0,#08H;置移位次数.MOV A,#0FFH ;置全1CLRC;将Cy清零RIGHT1:RRC A;因为进位Cy=0,因此带进位的循环右移会出现灯的亮灭MOV P1,A;输出至P1口,控制LEDCALL DELAY;调用延时子程序DJNZ R0,RIGHT1 ;R0-1,不为0则转移到标号 RIGHT1处AJMP RIGHT ;绝对转移至RIGHT处;*****************************************************************************;/*延时子程序*/;*****************************************************************************;使用不断的跳转来实现延时,DELAY:MOV R5,#10DELAY1:MOV R6,#50DELAY2:MOV R7,#250DJNZ R7,$DJNZ R6,DELAY2;R6-1,不为0则转移至DELAY2,履行2*200*10us DJNZR5,DELAY1 ;R5-1,不为0则转移至DELAY1,履行2*10usRET;退出子程序履行END七.硬件设计(1)P1口某一I/O口线反转输出电路P1口输出电路八.实验连结图.九.原理:十.仿真器的置步:仿真模式置:8752模式。
面向对象的程序设计(C++)教学大纲教学目的本课程为高级语言程序设计的入门课程,完全针对零起点的学生,可作为其他信息类相关课程的基础课。
目标是使学生通过本课程的学习,掌握面向对象程序设计的基本概念和方法、C++的基本语法和编程方法;学会使用集成开发环境;掌握程序调试方法;初步了解常用数据结构和非数值算法;初步了解C++标准模板库的使用方法。
教学任务完成《C++语言程序设计(第4版)》教材内容,及《C++语言程序设计(第4版)学生用书》中的实验内容,另有学生自主选题的大作业、选作的论文回报告。
学时:大课30、实验30、课外30、课外讨论10学时。
教学内容的结构课程由4个模块共12个教学单元组成,对应于《C++语言程序设计(第4版)》的十二章内容。
教学活动以及教学方法上的基本要求大课、实验、课外作业、自选题目的大作业、论文和报告结合,学时大课30、实验30、课外30。
另有课外讨论环节。
通过大课讲解基本原理和方法;通过实验课巩固大课内容,并在助教辅导下完成基础实验,当堂由助教验收;课外作业由学生独立完成,并提交清橙考试系统进行评分。
自选题目的大作业要在期中提交选题报告,逐一批改并给出评语,期末提交全部文档及程序并且逐一答辩。
答辩形式为:学生演示5分钟,教师提问5分钟,当即给出成绩。
论文和报告属于加分因素。
课外讨论安排在每次大课之后,加1学时,自愿参加,每人每学期至少参加一次。
内容为:教师对难点进行复习、讲解补充例题,学生提问和讨论。
模块及单元教学目标与任务模块1:程序设计基础单元1 绪论要点:●面向对象程序设计语言的产生和特点,面向对象方法的由来及其基本概念,面向对象的软件工程简介;●信息在计算机中的表示和存储,程序的开发过程。
教学任务:1.1计算机程序设计语言的发展1.2面向对象的方法1.3面向对象的软件开发1.4信息的表示与存储1.5程序的开发过程作业及实验:作业1、实验一单元2 C++简单程序设计要点:●C++语言的发展历史及其特点;●构成C++语句的基本部分—字符集、关键字、标识符、操作等;●C++的基本数据类型和自定义数据类型;●顺序、选择和循环结构。
《汇编语言程序设计教程》之输入输出程序设计指导老师:XXX制作人:XXX一、实验目的通过学习《汇编语言程序设计教程》的相关知识完成输入输出程序的相关操作,理解有关改程序的理论知识,掌握设计报告的流程以及解决问题的方法,并且提高利用计算机分析解决综合性实际问题的基本能力,将理论与实践相结合,实现对知识的升华以及灵活运用,具体步骤如下:1)掌握输入输出指令的使用;2)了解对CMOS RAM的读写3)访问CMOS RAM,编程,以“年/月/日时:分:秒”的格式,显示当前的日期、时间。
观察并记录运行结果。
二、实验原理及基本技术路线图(方框原理图)程序源代码:assume cs:code,ds:datadata segmenttime db 'yy/mm/dd hh:mm:ss',0dh,0ah,'$'cmos db 9,8,7,4,2,0data endscode segmentstart:mov ax,datamov ds,axmov bx,0mov si,0mov cx,6a: push cxmov al,cmos[bx]out 70h,alin al,71hmov ah,almov cl,4shr al,cland ah,0fhadd ax,3030hmov word ptr time[si],axinc bxadd si,3pop cxloop amov ah,6mov al,0mov bh,1fhmov cx,0mov dx,184fhint 10hmov ah,2mov bh,0mov dh,13mov dl,32int 10hmov dx,offset timemov ah,9int 21hmov ax,4c00hint 21hcode endsend start三、所用仪器、材料(设备名称、型号、规格等)Masm 6.0,debug。
四、实验方法、步骤1.使用masm6.0将所写的程序进行编译,生成exe文件,运行。
科学计算与Matlab语言一、课程说明课程编号:010631Z10课程名称:科学计算与Matlab语言/ Scientific computing with Matlab language 课程类别:专业教育课程学时/学分:32/2先修课程:程序设计设计基础、高等数学、线性代数适用专业:生物医学工程教材、教学参考书:1.(美)穆尔著,高会生等译. MATLAB实用教程(第二版),电子工业出版社,2010.2.孙蓬主编,曾雷杰等编著. MATLAB基础教程,清华大学出版社,20113.薛山. MATLAB基础教程,清华大学出版社,2011.4.占海明.基于MATLAB的高等数学问题求解,清华大学出版社,2013.5.薛定宇,陈阳泉.高等应用数学问题的MATLAB求解(第三版),清华大学出版社,2013.二、课程设置的目的意义该课程是生物医学工程专业的计算机应用技术课程。
目的是使学生掌握Matlab的基本使用方法,具备利用matlab程序解决工程技术问题的基本能力。
为后续《数字信号处理》、《数字图像处理》、《医学信号处理》、《医学图像处理》等课程,以及编程实践和毕业设计等提供程序设计知识与能力。
三、课程的基本要求知识:掌握MATLAB的数据类型、矩阵输入和操作方法、语法结构、函数的使用以及二维、三维绘图功能,符号代数基本方法,并能够熟练地将MATLAB 应用于学习中,解决相关课程中较为复杂的数学计算问题;能力:注重提高学生解决问题的能力、软件应用能力,尤其是工程技术问题的Matlab解决能力;培养较强的自主学习能力、科技创新能力、工程实践能力;素质:培养学生严谨、规范、理论联系实际的科学态度。
积培养坚持不懈,细心谨慎,实事求是的科研精神。
四、教学内容、重点难点及教学设计五、实践教学内容和基本要求注:要求学生每次实验前完成初步的设计,实验期间进行调试与共性问题讲解。
六、考核方式及成绩评定教学过程中采取讲授、讨论、分析、作业、实验、课前导学的方式进行,注重过程考核,考核方式包括:笔试、作业、讨论、课内互动、实验等;过程考核占总评成绩的50%,期末考试点50%。
C语言程序设计实验总结摘要该文档总结了我在C语言程序设计实验中的经验和教训。
通过这些实验,我对C语言编程的基本概念和技巧有了更深入的理解和掌握。
本文将综合分析每个实验的目标、方法和结果,并总结了我在实验中遇到的问题以及解决方法。
引言C语言是一种通用的高级程序设计语言,广泛应用于各个领域。
通过进行C语言程序设计实验,我们可以更好地了解C语言的语法和用法,提高我们的编程能力和问题解决能力。
本文将基于我在实验中的经验,对每个实验进行详细描述和总结。
实验一:基本输入输出程序设计实验一旨在加深对C语言程序设计的理解,熟悉基本的输入输出操作。
我们需要编写程序,实现基本的数据输入和输出,并进行简单的运算。
这个实验让我对C语言中的输入输出和基本数据类型有了更深入的理解。
实验二:条件语句和循环语句的应用实验二要求我们掌握条件语句和循环语句的使用方法,并能够通过这些语句解决实际问题。
我学会了使用if语句进行条件判断,以及使用for和while循环进行迭代操作。
通过这个实验,我可以更好地掌握程序流程控制和代码逻辑。
实验三:一维数组的应用实验三着重让我们学会使用一维数组来存储和处理大量的数据。
在这个实验中,我学会了声明和初始化数组,以及使用循环结构遍历数组元素。
这个实验对我后续的数据处理有了很大的帮助。
实验四:字符串处理实验四主要教我们如何处理字符串和字符数组。
在实验中,我学会了使用字符数组来存储和操作字符串,同时,了解了一些常见的字符串处理函数,如strlen、strcpy等。
这个实验让我更加熟悉字符串的处理方法。
实验五:结构体的应用实验五要求我们学会使用结构体类型来定义自定义数据类型,并通过结构体变量来访问结构体成员。
在实验中,我学会了如何定义和使用结构体类型,并能够通过结构体变量操作结构体成员。
结构体的灵活性和可扩展性让我在实际编程中受益匪浅。
实验六:指针的应用实验六是C语言程序设计实验中最重要的一部分。
通过实验,我对指针的概念和用法有了更深入的理解。
实验一java开发环境及语言基础实验目的(1)确保正确配置java开发环境。
(2)了解javac和java命令的使用。
(3)熟悉java中的运算符。
(4)掌握条件语句和循环语句的使用。
(5)掌握通过命令行参数接受数据。
(6)掌握用Scanner类接受数据。
实验内容(1)在控制台中输入java命令,查看输入结果。
(2)编写一个java程序,计算半径为3.0的圆周长和面积并输出结果。
(3)求a+aa+aaa+...+a...a(n个)的和,其中a为1~9之间的整数。
例如,当a=3、n=4时,求3+33+333+3333的和。
(4)给定一个正整数m,统计其位数,分别打印每一位数字,再按照逆序打印出各位数字。
(5)用Scanner类方法输入三角形三边求三角形面积。
实验要求(1)JDK的安装及配置。
(2)在DOS及eclipse下编辑、编译运行第一个java程序:hello world。
(3)求圆周长和面积用方法实现,主函数调用。
(4)从命令行输入1~9之间的整数a,当所求的和大与106时,输出相应的a值及所求的和值。
(5)用Scanner类的方法输入正整数m,m的值不应该超过99999,否则给出错误信息。
应引入包:import java.util.Scanner,然后在需要的方法中实例化对象:Scanner sc = new Scanner(System.in),最后调用对象的next方法,如int n=nextInt(),接受整数。
实验二数组实验目的(1)掌握数组的定义和使用方法。
(2)熟悉数组的排序、查找的方法。
(3)巩固循环的使用。
实验内容(1)使用for循环,将二维数组的行与列互换,即完成矩阵的转置。
(2)编写数组的排序程序。
(3)编写杨辉三角。
实验要求(1)编写一个界面1 选择排序2 冒泡排序3插入排序4 快速排序5 退出当选择1、2、3、4、5的时候完成相应的功能。
(2)杨辉三角形状为等腰三角形实验三字符串实验目的(1)掌握正则表达式的使用。
实验六:P3.0口输入、P1.0口输出实验一、实验目的:1、掌握P3口、P1口的简单使用。
2、了解并掌握80C51单片机I/O口的基本输入、输出功能。
二、实验器材:1、计算机一台2、Keil Uvision4软件一套三、实验内容:1、P1作为输出口,接8个发光二极管,P3.0口输入一脉冲,控制P1口按16进制加一方式点亮发光二极管。
2、P0作为输出口,接8个发光二极管,P1口作为输入口,接8个开关,通过任意组合开关的输入状态,得到不同的输出状态。
四、实验原理:1、由80C51组成的单片机系统在通常情况下,P0口分时复用作为低8位地址、数据总线,P2口提供高8位地址,P3口用作第二功能,只有P1口通常用作I/O口。
P1口是8位准双向口,它的每一位都可独立的定义为输入或输出,因此,既可以作为8位的并行I/O口,也可作为8位的输入输出端。
2、当某一口工作在输入方式时,对应位的锁存器必须先置1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读的结果永远为0。
五、程序框图:(b)实验2参考流程图(a)实验1参考流程图六、实验步骤:1、打开Keil程序,执行菜单命令“Project”“New Project”,创建一个项目(基本输入输出),并选择单片机型号为AT89C51 。
2、执行菜单命令“File”“New”创建文件,输入源程序,保存为“基本输入输出.ASM”。
在“Project”栏的文件项目管理窗口中右击文件组,选择“Add Files to Group ‘Source Group1’”将源程序“基本输入输出.ASM”添加到项目中。
3、执行菜单命令“Project”“Options for Target ‘Target1’”,在弹出的对话框中选择“Output”选项卡,选中“Creat HEX File”。
4、执行菜单命令“Project”。
“Build Target”,编译源程序,如果编译成功,则在“Output Window”窗口中显示没有错误,并创建了“基本输入输出.HEX”文件;如果有错误,双击该窗口中的错误信息,则在源程序窗口中指示错误语句。
电路实验六实验报告_受控源的研究电路实验六实验报告实验题⽬:受控源的研究实验内容:1.受控源的种类;2.⽤运算放⼤器组成受控源,运算放⼤器芯⽚型号是µA741,有四种结构,在⾯包板上搭接电压控制电压源和电压控制电流源;3.测试电压控制电压源(VCVS)特性;4.测试电压控制电流源(VCCS)特性。
实验环境:数字万⽤表、学⽣实验箱、导线。
实验原理:受控源是⼀种⾮独⽴电源,它对外也可提供电压或电流,但它与独⽴源不同,这种电源的电压或电流受电路其它部分的电流或电压的控制。
根据控制量的不同,受控源可分为四类种:电压控制电压源VCVS;电压控制电流源VCCS;电流控制电压源CCVS;电流控制电流源CCCS。
当受控源的电压和电流(称为受控量)与控制⽀路的电压或电流(称为控制量)成正⽐变化时,受控源是线性的。
1.利⽤µA741芯⽚搭接电压控制电压源VCVS的电路图如下:Uo受控源转移电导为:1+R2/R1=2,输⼊输出电压关系为:U o=2U i。
2.利⽤µA741芯⽚搭接电压控制电流源VCCS的电路图如下:受控源转移电导为:1/R1=1/10000,R2的阻值变化不能引起输出电流i o的变化。
输⼊电压和输出电流的关系为i o=Ui/10000。
实验记录及结果分析:1.当电压控制电压源VCVS电路的输⼊电压U i在0-0.5V之间变化时,测得输出电压数据如数据分析:输出电压U o随着输⼊电压U i的变化⽽变化,且其电压值保持在输⼊电压的2倍左右,符合转移电导的值。
输出端是否有负载不会对输出电压的⼤⼩造成影响,符合受控源的性质。
电压控制电压源VCVS电路搭接成功。
2.当电压控制电流源VCCS电路的输⼊电压U i在0-0.5V之间变化时,测得输出电流数据如下:当输⼊电压保持在0.4V,电阻器R的阻值不断变化时,测得输出电流数据如下:o i(1/10000)左右,符合转移电导的值。
输出端的负载R2的变化不能改变输出电流的⼤⼩,符合受控源的性质。
实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。
二、预习内容安装工具软件的基本方法。
三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。
1、打开Eclipse的安装盘安装Eclipse。
2、在相同目录下安装J2SDK。
3、打开Eclipse软件对J2SDK文件进行配置。
4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。
Pulic class Hello{public static void main(String args[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。
实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。
应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。
(1)编辑A verage.java。
class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。
实验二 P1、P3口输入输出实验一、实验目的进一步熟悉keil仿真软件、proteus仿真软件的使用。
了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。
掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
二、实验原理MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。
每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。
四组并行I/O端口即可以按字节操作,又可以按位操作。
当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。
P1口的位结构如图1所示。
P1口用作双向输入输出端口。
这时图中多路开关的控制信号为低电平,输出与锁存器的反向输出端相连,同时上面的场效应管由于与门输出为低电平而截止。
三、实验设备与器件硬件:微机、单片机仿真器、单片机实验板、连线若干软件:KEIL C51单片机仿真调试软件,Proteus系列仿真调试软件四、实验内容及结果分析用Proteus仿真软件设计流水灯电路,分别实现下列功能:P3口作为输入口读取开关状态,P1口作为输出口,连续运行程序,发光二极管显示开关状态。
如果是下载式实验仪,在程序装载前,必须使P3口的拨动开关处于高电平状态。
并且不能单步调试,只能连续执行。
完整的电路图如图所示。
2)利用keil软件编写相应的程序:a、运行keil 2软件,启动后,点击Project菜单新建项目,如图6所示。
b 、新建项目后,选择仿真单片机的型号,如图7所示:c、单击File菜单的“New”新建程序文件,再右击“Source Group1”添加文件,如图 8、图9所示:d、在软件的程序编写界面编写相应的程序。
点击按钮运行程序,确认无误后,点击,图5 完整电路图图6 新建项目界面图7 单片机型号选择图8 新建程序文件图9 添加文件在弹出的窗口中选择Output 选项卡,勾选选项,之后点击按钮,最后再点击按钮,生成hex 文件。
实验六 运算器数据通路一、实验目的1、熟悉74LS181函数功能发生器的功能,提高器件在系统中应用的能力2、熟悉运算器的数据传送通路3、完成几种算逻运算操作,加深对运算器工作原理的理解 二、实验内容按图6-1所示参考框图自行设计一个能完成表6-1所列补码运算指令的运算器(为简单化电路,进位和结果触发器可以不设置)。
选择适当元件,画出详细实验电路逻辑图(包括对开关的定义),并组装成电路。
表6-1:在电路上进行表6-1中指令的手动单指令操作(操作数、指令码由数据开关输入)。
设计提示:1、运算器的输入缓存器A S 、B S 分别用一片74LS161来实现,但只用到74LS161的置数功能,禁止其计数功能。
2、用一片74LS273作为运算器操作指令寄存器,只用到6位。
3、用一片74LS244控制运算器的运算结果能否送总线。
三、实验仪器及器材1、实验台和+5V 直流稳压电源各一台。
2、器件由附录A “集成电路清单”内选用。
四、实验电路原理(实验电路原理图)1、四位函数功能发生器(ALU )74LS181的功能74LS181通过“控制参数”3S ~0S 和“模式控制”M ,可对两个输入操作数完成32种算、逻运算,并可以工作于正逻辑输入输出或负逻辑输入输出方式(本实验为正逻辑方式)。
控制端0M =时,属算术运算;1M =时,属逻辑运算。
进位采用补码形式输入输出,电路亦可进行数的比较运算。
其操作功能可查阅实验五中的功能表。
2、数据传送通路实验电路方案运算器是计算机对数据进行运算的重要部件,它的核心是ALU 函数功能发生器,其次还要有存放操作数和运算中间结果的寄存器、移位门、传送数据的总线等部件,在不同的控制信号下,运算器完成不同的运算功能。
如图6-1所示。
图6-1 运算器数据通路框图在图6-1中,A S 、B S 为存放两个现行操作数的缓冲寄存器。
其中A S 兼作存放中间结果的累加器,并给予显示。
它们仅接收来自总线的数据信息,送入ALU 进行算、逻运算。
东南大学《微机实验及课程设计》实验报告实验五8253 计数器/定时器实验六8255 并行输入输出姓名:学号:08011专业:自动化实验室:计算机硬件技术实验时间:2012年04月27日报告时间:2013年05月15日评定成绩:审阅教师:一. 实验目的实验五:1)掌握计数器/定时器8253 的基本工作原理和编程应用方法;2)了解掌握8253 的计数器/定时器典型应用方法实验六:1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示;2)掌握8段数码管的动态刷新显示控制;3)分析掌握8255工作方式1时的使用及编程,进一步掌握中断处理程序的编写。
二. 实验内容实验五:必做:5-1 将计数器0设置为方式0,计数初值为N(小于等于0FH),用手动的方式逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化。
(参考程序p63)5-2 将计数器0、1分别设置在方式3,计数初值设为1000,用逻辑笔观察OUT0电平的变化。
(参考程序p64)实验六:(1)8255方式 0:简单输入输出实验电路如图一,8255C口输入接逻辑电平开关K0~K7,编程A口输出接 LED显示电路L0~L7;用指令从 C口输入数据,再从A口输出。
图一 8255简单输入输出(2)编程将A口 L0-L7控制成流水灯,流水间隔时间由软件产生;流水方向由K0键在线控制,随时可切换;流水间隔时间也可由K4~K7键编码控制,如 0000对应停止,0001对应 1秒,1111对应 15秒,大键盘输入 ESC键退出。
(3)8段数码管静态显示:按图二连接好电路,将 8255的 A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端 S1接+5V(选中),S0、dp接地(关闭)。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
图二单管静态显示(4) 8段数码管动态显示:按图三连接好电路,七段数码管段码连接不变,位码驱动输入端S1、S0 接8255 C口的PC1、PC0。
7段数码显示译码器设计1、实验目的熟悉ISE系列软件的设计流程和基本工具使用,学习7段数码显示译码器设计,学习VHDL的CASE语句应用。
2、实验内容7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中实现。
本实验中,7段译码器的数码管采用共阴数码管,而且不考虑小数点的发光管。
其输出信号LED7S的7位分别接数码管的7个段,高电平有效。
例如,当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
3、实验器材Spartan 3E开发板。
4、实验说明实验中所需要的源文件在本报告附录中。
5、实验步骤步骤1:创建ISE工程(1)启动桌面上的ISE9.1图标,在Project Navigator中选择File→New Project。
(2)在弹出的对话框(见图1)中,设置工程名为ymq7s,工程存放路径为E:\work\,顶层模块类型选择HDL,并单击Next按钮。
图1 ISE工程属性对话框(3)出现图2所示对话框,目标器件选择spartan3E,具体设计如下图。
图2 ISE工程属性对话框(4)一直点击Next,直到出现图3(即是刚才所设定的),最后点击Finish。
图3 工程设计总表出现图4,这就是所建立的工程,现在我们需要在里面完成我们的设计。
图4 ISE工程属性对话框步骤2:创建新的VHDL设计文件(1)在ISE用户界面中,选择Project→New Source。
(2)在弹出的对话框(见图5)中,选择VHDL Module作为源程序类型,设置文件名为ymq7s,并单击“下一步”按钮。
图5 VHDL的New Source Wizard(3)点击Next,直到出现图6,直到Finish。
《⾯向对象程序设计》实验指导书《⾯向对象程序设计》实验指导书郭⽟柱⼴东商学院信息学院⼆0⼀0 年⼗⼆⽉⽬录实验⼀ Java基础实验实验⼆ Java⾯向对象特性试验--Java中的类、对象和⽅法实验三类的继承、多态、接⼝、访问控制符与修饰符实验四 Java资源及其利⽤实验五 Java 语⾔的异常处理实验六输⼊输出流实验七图形⽤户界⾯设计实验⼋ Java Applet及多线程试验附录1 实验报告格式实验⼀ Java 基础实验⼀、实验⽬的与要求1. 学习编写简单的Java 程序。
2. 学习掌握Java 基本数据类型及其基本运算。
3. 学习掌握Java 的基本流程控制语句。
⼆、相关知识1. 了解JDK 的⼯作环境,以及如何使⽤JDK 进⾏编程。
2. 熟悉集成软件 eclipse3.5及其使⽤。
⼆、实验内容1. 编写Hello.java 程序并运⾏。
2. ⽤Java 语⾔编写⼀个应⽤程序在屏幕上输出1000之内的素数。
3. ⼀个数如果恰好等于它的因⼦之和,这个数就称为“完数”,⽐如28=1+2+4+7+14。
编写⼀个应⽤程序在屏幕上输出1000之内的完数。
4. 求满⾜1!+2!+3!+ …+n!≤9999的最⼤整数n 。
5. ⼀个三位的整数如果它的各位数字的⽴⽅之和等于这个三位数,就称此数为⽔仙花数,⽐如 333173371++=,编写⼀个应⽤程序在屏幕上输出所有⽔仙花数。
6. 下⾯程序的输出结果是什么?实验⼆ Java⾯向对象特性试验-Java中的类、对象和⽅法⼀、实验⽬的与要求1. 掌握类的定义和使⽤。
2. 掌握对象的声明、创建和使⽤。
3. 掌握构造⽅法的定义和使⽤。
4. 掌握类⽅法(静态⽅法)和⾮类⽅法(⾮静态⽅法)的区别和使⽤。
5. 掌握成员变量和局部变量的区别和使⽤。
⼆、实验内容1. 编写⼀个Java程序,定义⼀个表⽰学⽣的类,类名Student,其成员变量有:学号、班级姓名、性别、年龄;成员⽅法:(1)获得班号(2)获得姓名(3)获得年龄(4)修改年龄;创建⼀个Student的对象,修改该对象的年龄,并输出该对象的年龄。
C++程序设计实验指导书实验一C++程序的运行环境和运行(2学时)实验名称:C++程序的运行环境和运行实验目的:1、熟悉C与C++的编程区别;2、熟悉C++的函数重载。
实验要求:求两个数的平方和。
要求如下:1、有int,float和long型的数据各3个;2、重载SumSqure函数求两个相同类型变量的平方和。
实验步骤:1、添加头文件#include <iostream>和名字空间using namespace std。
若要使用cin和cout标准输入输出流,则必须添加上述两个内容。
2、构建重载SumSqure函数。
SumSqure函数的功能是对输入的两个同类型形参a,b求其平方和,并将结果返回。
对于输入和返回的不同类型int,float,long,其函数内部实现代码是一样的,所以可利用函数的重载写出三个SumSqure函数。
3、main函数中的赋值。
定义int,float,long三种类型的数据,分别调用SumSqure函数,测试其结果。
4、调用SumSqure函数。
注意SumSqure函数重载的调用,根据SumSqure函数的定义可知:实参必须是同一种类型的变量才能调用不同的SumSqure,针对不同类型求平方和。
实验名称:类与对象(一)实验目的:1、掌握类的设计;2、掌握对象的创建;3、实现一个简单的成员函数设计。
实验要求:求3个长方体的体积,编写一个基于对象的程序,数据成员包括lenth,width,height。
要求用成员函数实现以下功能:1、由键盘分别输入3个长方体的长、宽、高;2、计算长方体的体积;3、输出3个长方体的体积。
实验步骤:1、建立三个文件,分别存储长方体类的声明头文件,长方体类的定义文件和main函数测试文件。
注意:类的头文件和类的定义实现文件的命名要一致!2、头文件信息:头文件长方体类的声明中,类成员变量有:lenth,width,height;类成员函数有:V olumeCalculation(), InputData()。
C程序设计实验教案一、实验目的1. 掌握C程序的基本结构。
2. 学会使用C语言编写简单的输入输出程序。
3. 熟悉集成开发环境(如Visual Studio、Code::Blocks等)的使用。
二、实验内容1. C程序的基本结构(1)编写一个简单的C程序,输出“Hello, World!”。
(2)理解主函数、变量声明、函数体等基本概念。
2. 输入输出语句(1)使用scanf()函数输入用户输入的数字,并输出该数字的平方。
(2)使用printf()函数输出学生的姓名、成绩和等级。
三、实验步骤1. 打开集成开发环境,创建一个新的C项目。
2. 在主函数中编写输出“Hello, World!”的代码。
3. 编写输入用户输入的数字,并输出该数字的平方的代码。
4. 编写输出学生姓名、成绩和等级的代码。
5. 保存并运行程序,观察输出结果。
四、实验要求1. 每位同学独立完成实验,不抄袭他人代码。
2. 实验过程中,遇到问题要积极思考,可以请教同学或老师。
3. 实验完成后,对照实验目的,检查自己是否达到了预期目标。
五、实验评价1. 代码是否规范、可读性强。
2. 是否能熟练使用C语言的基本语法。
3. 是否能正确使用输入输出语句。
4. 是否能独立完成实验,解决问题。
六、实验六:控制流程(条件判断与循环)1. 实验目的理解C语言中的条件判断语句(if-else)。
掌握C语言中的循环结构(while、do-while)。
2. 实验内容编写程序实现成绩判断,根据分数输出等级(优秀、良好、及格、不及格)。
编写程序计算从1加到指定数字的和。
3. 实验步骤创建新项目,编写判断成绩的程序。
编写一个循环,用于输入分数,并判断等级。
编写另一个循环,用于计算1到指定数字的和。
运行程序,验证结果。
4. 实验要求代码应包含清晰的逻辑判断和循环控制。
要求程序能够处理用户输入的无效数据。
5. 实验评价判断语句和循环结构的正确使用。
程序对于不同输入的适应性和鲁棒性。
实验六输入输出流与文件一、实验目的1.理解数据流的概念2.理解Java流的层次结构3.理解文件的概念二、实验要求1.掌握字节流的基本使用方法2.掌握字符流的基本使用方法3.能够创建、读写、更新文件三、实验内容(一)运行以下程序1.使用标准数据流的应用程序标准数据流指在字符方式下(如DOS 提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。
1.程序功能:将键盘上输入的字符在屏幕上显示出来2.编写KY10_1.java 程序文件,源代码如下。
class KY10_1{public static void main(String[] args) throws java.io.IOException {byte buffer[]=new byte[10];System.out.println("从键盘输入不超过10 个字符,按回车键结束输入:");int count =System.in.read(buffer);//读取输入的字符并存放在缓冲区buffer 中System.out.println("保存在缓冲区buffer 中元素的个数为:"+count);System.out.println("buffer 中各元素的值为:");for (int i=0;i<count;i++){System.out.print(" "+ buffer[i]);//在屏幕上显示buffer 元素的值}System.out.println();System.out.println("输出buffer 字符元素:");System.out.write(buffer, 0, buffer.length);}}3.编译、运行KY10_1.java 文件。
2. 使用文件输入输出流的应用程序1.程序功能:将保存在本地机当前文件夹中的KY10_2.HTML 文本文件的内容在屏幕上显示出来,然后将其另存为KY10_2.txt 文件。
2.编写KY10_2.java 程序文件,源代码如下import java.io.*;public class KY10_2 {public static void main(String[] args) throws IOException {FileReader in=new FileReader("KY10_2.HTML");//建立文件输入流BufferedReader bin=new BufferedReader(in);//建立缓冲输入流FileWriter out=new FileWriter(" KY10_2.txt",true);//建立文件输出流String str;while ((str=bin.readLine())!=null) {//将缓冲区内容通过循环方式逐行赋值给字符串strSystem.out.println(str);//在屏幕上显示字符串strout.write(str+"\n");//将字符串str 通过输出流写入KY10_2.txt 中}in.close();out.close();}}3.编译、运行程序3. 使用随机文件类的应用程序使用文件输入类FileReader 只能将文件内容全部读入。
如果要选择读入文件的内容,可使用随机文件类RandomAccessFile。
1.程序功能:建立数据流,通过指针有选择的读入文件内容。
2.编写KY10_3.java 程序文件,源代码如下。
import java.io.*;class KY10_3 {public static void main(String args[]) {String str[]={"First line\n","Second line\n","Last line\n"};try {RandomAccessFile rf=new RandomAccessFile("KY10_3.txt", "rw");System.out.println("\n 文件指针位置为:"+rf.getFilePointer());System.out.println("文件的长度为:"+rf.length());rf.seek(rf.length());System.out.println("文件指针现在的位置为:"+rf.getFilePointer());for (int i=0; i<3; i++)rf.writeChars(str[i]); // 字符串转为字节串添加到文件末尾rf.seek(10);System.out.println("\n 选择显示的文件内容:");String s;while ((s=rf.readLine())!=null)System.out.println(s);rf.close();}catch (FileNotFoundException fnoe) {}catch (IOException ioe) {}}}3.编译并运行程序4.使用数据输入输出流与文件输入输出流类的应用程序使用数据输入流DataOutputStream 和数据输出流DataInputStream 可以读取或写入任何Java 类型的数据,不用关心它们的实际长度是多少字节。
一般与文件输入流FileInputStream 和输出流类FileOutputStream 一起使用。
1.程序功能:将整型数据和字符串对象通过数据输出流写到文件中。
将文件中的整型数据和字符串对象通过数据输出流读出,并在屏幕上显示文件中的内容。
2.编写KY10_4.java 程序文件,源代码如下。
import java.io.*;public class KY10_4{public static void main(String arg[]){try{ //添加方式创建文件输出流FileOutputStream fout = new FileOutputStream("KY10_4.txt",true);DataOutputStream dout = new DataOutputStream(fout);dout.writeInt(1);dout.writeChars("罗马"+"\n");dout.writeInt(2);dout.writeChars("北京"+"\n");dout.close();}catch (IOException ioe){}try{FileInputStream fin = new FileInputStream("KY10_4.txt");DataInputStream din = new DataInputStream(fin);int i = din.readInt();while (i!=-1) //输入流未结束时,输入流结束时i 为-1{System.out.print(i+" ");char ch ;while ((ch=din.readChar())!='\n') //字符串未结束时System.out.print(ch);System.out.println();i = din.readInt();}din.close();}catch (IOException ioe){}}}3.编译并运行程序(二)补全填空1.文件加密程序模板SecretExample.javaimport java.io.*;public class SecretExample{public static void main(String args[ ]){File fileOne=new File("hello.txt"),fileTwo=new File("hello.secret");char b[]=new char[100];try{FileReader in=【代码1】//创建指向fileOne的字符输入流FileWriter out=【代码2】//创建指向fileTwo字符输出流。
int n=-1;while((n=in.read(b))!=-1){for(int i=0;i<n;i++){b[i]=(char)(b[i]^'a');}【代码3】// out将数组b的前n单元写到文件。
}【代码4】//out关闭。
in=【代码5】//创建指向fileTwo的字符输入流。
System.out.println("加密后的文件内容:");while((n=in.read(b))!=-1){String str=new String(b,0,n);System.out.println(str);}in=【代码6】//创建指向fileTwo的字符输入流。
System.out.println("解密后的文件内容:");while((n=in.read(b))!=-1){for(int i=0;i<n;i++){b[i]=(char)(b[i]^'a');}System.out.printf(new String(b,0,n));}【代码7】//in关闭。
7}catch(IOException e){System.out.println(e);}}}2.给文件的内容添加行号程序模板ReadExample.javaimport java.io.*;public class ReadExample{public static void main(String args[ ]){File file=new File("c:/1000","hello.txt");File tempFile=new File("temp.text");try{FileReader inOne=【代码1】// 创建指向文件file的输入流。