实验二 计算机中的数据表示与计算

合集下载

数据结构表达式求值实验报告

数据结构表达式求值实验报告

竭诚为您提供优质文档/双击可除数据结构表达式求值实验报告篇一:数据结构实验二——算术表达式求值实验报告《数据结构与数据库》实验报告实验题目算术表达式求值学院:化学与材料科学学院专业班级:09级材料科学与工程系pb0920603姓学邮名:李维谷号:pb09206285箱:指导教师:贾伯琪实验时间:20XX年10月10日一、需要分析问题描述:表达式计算是实现程序设计语言的基本问题之一,它的实现是栈的应用的一个典型例子。

设计一个程序,演示通过将数学表达式字符串转化为后缀表达式,并通过后缀表达式结合栈的应用实现对算术表达式进行四则混合运算。

问题分析:在计算机中,算术表达式由常量、变量、运算符和括号组成。

由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。

因而在程序设计时,借助栈实现。

设置运算符栈(字符型)和运算数栈(浮点型)辅助分析算符优先关系。

在读入表达式的字符序列的同时完成运算符和运算数的识别处理,然后进行运算数的数值转换在进行四则运算。

在运算之后输出正确运算结果,输入表达式后演示在求值中运算数栈内的栈顶数据变化过程,最后得到运算结果。

算法规定:输入形式:一个(:数据结构表达式求值实验报告)算术表达式,由常量、变量、运算符和括号组成(以字符串形式输入)。

为使实验更完善,允许操作数为实数,操作符为(、)、.(表示小数点)、+、-、*、/、^(表示乘方),用#表示结束。

输出形式:演示表达式运算的中间结果和整个表达式的最终结果,以浮点型输出。

程序功能:对实数内的加减乘除乘方运算能正确的运算出结果,并能正确对错误输入和无定义的运算报错,能连续测试多组数据。

测试数据:正确输入:12*(3.6/3+4^2-1)#输出结果:194.4无定义运算:12*(3.6/(2^2-4)+1)#输出结果:表达式出错,除数为0,无意义错误输入:12+s#输出结果:eRRoR!二、概要设计拟采用两种类型的展分别对操作数和操作符进行操作。

实验二 算术运算类操作实验 (基础与设计)

实验二 算术运算类操作实验 (基础与设计)

实验二算术运算类操作实验 (基础与设计)一、实验要求和目的1、了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式;2、掌握各类运算类指令对各状态标志位的影响及测试方法;3、熟悉汇编语言二进制多字节加减法基本指令的使用方法;4、熟悉无符号数和有符号数乘法和除法指令的使用;5、掌握符号位扩展指令的使用。

6、掌握BCD 码调整指令的使用方法二、软硬件环境1、硬件环境:计算机系统 windows;2、软件环境:装有MASM、DEBUG、LINK、等应用程序。

三、实验涉及的主要知识本实验主要进行算术运算程序设计和调试,涉及到的知识点包括:1.加减法处理指令主要有加法指令ADD,带进位加法ADC,减法指令SUB,带进位减法指令SBB。

2.乘除法指令和符号位扩展指令主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令IDIV,以及符号位从字节扩展到字的指令CBW 和从字扩展到双字的指令CWD。

3.BCD 码的调整指令主要有非压缩的BCD 码加法调整指令DAA,压缩的BCD 码减法调整指令DAS,非压缩的BCD 码加法调整指令AAA,非压缩的BCD 码减法调整指令AAS,乘法的非压缩BCD码调整指令AAM,除法的非压缩BCD 码调整指令AAD。

8088/8086 指令系统提供了实现加、减、乘、除运算的上述基本指令,可对下表所示的数据类型进行数据运算。

四、实验内容与步骤1、对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响。

设计流程:源代码:DATAS SEGMENTARRAY DW 087H,034H,0C2H,05FHJIA DW 2 DUP(?) ;储存两组加法结果JIAN DW 2 DUP(?) ;储存两组减法结果CHENG DW 2 DUP(?) ;储存两组乘法结果CHU DW 2 DUP(?) ;储存两组除法结果DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV SI,0MOV BX,0SUB BX,2SUB SI,4L1:ADD SI,4ADD BX,2MOV AX,ARRAY[SI] ;第一个运算数ADD AX,ARRAY[SI+2] ;加法运算MOV JIA[BX],AX ;储存加法结果MOV AX,ARRAY[SI]SUB AX,ARRAY[SI+2] ;减法运算MOV JIAN[BX],AX ;储存减法结果MOV AX,ARRAY[SI]MUL ARRAY[SI+2] ;乘法运算MOV CHENG[BX],AX ;储存乘法结果MOV AX,ARRAY[SI]MOV CX,ARRAY[SI+2]DIV CL ;除法运算MOV CHU[BX],AX ;储存除法结果CMP BX,2JNZ L1MOV AH,4CHINT 21HCODES ENDSEND START程序结果:通过-t逐步运行程序,逐步查看每次运算后标志位的状态,结果如下:2、在数据段定义了两个多精度的有符号16 进制数,FIRST 和SECOND ,1)求两数的和与差,并将结果存放在THIRD 为首地址的缓冲区中;2)如果把两组数据当作十进制数据来处理,再次求两数的和与差,并将结果存放在FORTH 为首地址的缓冲区中。

实验二 运算器实验

实验二  运算器实验

南京工程学院计算机工程学院计算机组成与结构实验报告书实验学生班级 K网络工程121实验学生姓名王云峰学号 240121525实验地点信息楼A115实验二运算器实验同组同学李翔240121515(合作小组朱赛杰240121533)实验日期 11月27日实验仪器号 TEC-XP+14S022一、实验目的1.加深对Am2901运算器内部组成的了解, 掌握四片Am2901芯片间的连接关系, 以及它与有关外部逻辑电路的连接关系。

2.准确把握该运算器的控制与使用, 即掌握其运算与操作功能, 以及正确地为其提供全部控制信号及有关数据的手段与技术。

3.初步了解运算器在计算机整机中的作用。

二、实验内容1.脱机方式下运算器的控制及运行设计控制信号序列,在脱机方式实现给定程序段的功能。

记录按压START 前后的ALU的运算结果和状态标志。

2.联机方式下运算器的控制及运行在联机方式下,汇编并单步执行给定程序段,查看并记录每条指令执行后的运行结果。

使用指令的单步骤执行方式,观察与运算器相关的控制信号的状态。

三、实验步骤与结果脱机的运算器实验,在教学实验中实现如下7项操作功能:预期功能实现方案R0 ←1234 数据开关拨1234,B地址给0,D+0,结果送B口选的R0R9 ←789F 数据开关拨789F,B地址给9,D+0,结果送B口选的R9 R9 ←R9-R0 B地址9,A地址给0,最低位进位给1,B-A,结果送B 口选的R9R0 ←R0+1 B地址给0,最低位进位给1,B+0,结果送B口选的R0 R10←R0 B地址给A,A地址给0,A+0,结果送B口选的R10逻辑右移在有了预期功能和实现方案之后,要解决的具体问题,就是依据教学计算机的简明操作卡中的有关表格中规定的内容,找出实现每一操作功能要用到的控制码。

请把表2-3中各组控制信号的正确的取值填写在相应位置,然后把运行结果的状态信息填入表2-4。

思考题:执行R0+1时,为什么输出Y15-Y0为1234,而不是1235?左右移位时,是通用寄存器本身移位,还是它与Q寄存器联合移位是怎么区分的?最高、最低位的移位输入信号是怎么给出的?C在移位中有什么作用?联机的运算器实验,改用教学计算机的指令实现上述脱机运算器实验完成的功能。

第3章计算机基础知识、计算机中数据的表示

第3章计算机基础知识、计算机中数据的表示





我知

进步
❖大一:大学计算机基础 ❖大二:VB、C、Athorware、
Access、Photoshop
课程定位
基本技能
中英文录入(50字/分) 计算机基础知识 Windows XP 网络应用 Word 2019 文字处理软件 Excel 2019 电子表格处理软件 PowerPoint 2019 演示软件
【方法】除基逆取余
【例】将十进制数253转换成二进制数
十进制数(D)
余数
2 253
└2 126 └2 63 └2 31 └2 15 └2 7 └2 3 └2 1 └0
1
转换结果的最低位
0
1
1
1
1
1
1
转换结果的最高位
转换结果: (253)10=(11111101)2
【例】将十进制数253转换成八进制数转换结果的最低位
集成电路
Integrated
大规模集成电路
Large Scale Integration
计算机各个发展阶段的比较
发展对象
比较 特点 对象
第一代
第二代
(1946~1957) (1958~1964)
第三代 (1965~1970)
第四代 (1971至今)
电子器件
电子管
晶体管
中、小规模集成电 路
主存储器
磁芯、磁鼓
6 0 3.2 5
6×102 3×100
2×10-1
5×10-2
计算机中常用的几种计数制
十进制 二进制 八进制
数码
0~9
0,1
0~7
基数
10

计算机组成与基本操作实验数据与结论

计算机组成与基本操作实验数据与结论

计算机组成与基本操作实验数据与结论
实验目的:通过实际操作,了解计算机的基本组成和工作原理,掌握计算机的基本操作技能。

实验内容:
1. 计算机硬件组成:通过实物展示和讲解,了解计算机的各个组成部分,包括中央处理器(CPU)、内存、硬盘、显卡、声卡、网卡、电源等。

2. 计算机软件操作:学习操作系统的基本功能,如文件管理、程序安装与卸载、系统设置等。

3. 办公软件操作:学习使用Word、Excel、PowerPoint等办公软件,掌握文字编辑、表格制作、幻灯片制作等基本技能。

4. 网络操作:学习浏览器的使用、网络搜索、电子邮件收发等网络操作技能。

实验数据:
在实验过程中,我们通过实际操作记录了以下数据:
1. 计算机硬件组成:记录了各个硬件部分的作用和工作原理,
如CPU负责处理数据和指令,内存储器负责存储临时数据等。

2. 计算机软件操作:记录了操作系统的主要功能和操作方法,如文件管理可以通过鼠标右键菜单实现,程序安装与卸载可以通过软件自带工具实现等。

3. 办公软件操作:记录了Word、Excel、PowerPoint等办公软件的基本功能和操作技巧,如Word中的段落格式设置、Excel 中的公式使用等。

4. 网络操作:记录了浏览器的基本功能和网络搜索技巧,如使用搜索引擎查找资料、使用电子邮件发送文件等。

实验结论:
通过本次实验,我们深入了解了计算机的基本组成和工作原理,掌握了计算机的基本操作技能。

同时,我们也认识到计算机在实际工作和生活中的应用价值,提高了自身的信息素养和计算机应用能力。

在未来的学习和工作中,我们将继续学习和掌握更多的计算机知识和技能,为将来的发展打下坚实的基础。

计算机基础实验报告

计算机基础实验报告

计算机基础实验报告计算机基础实验报告引言:计算机科学作为一门重要的学科,为我们的现代社会带来了巨大的变革和进步。

而计算机基础实验则是我们学习计算机科学的重要环节之一。

本实验报告将介绍我在计算机基础实验中所学到的知识和经验,并总结实验的结果和收获。

实验一:计算机硬件组装与调试在这个实验中,我们学习了计算机硬件的基本组成和组装方法。

通过实际操作,我了解了主板、CPU、内存、硬盘等硬件设备的功能和相互连接方式。

同时,我们还学习了如何调试计算机硬件故障,提高了我们的问题解决能力。

实验二:操作系统安装与配置在这个实验中,我们学习了操作系统的安装和配置。

通过实际操作,我掌握了Windows和Linux操作系统的安装方法和步骤,并学会了对操作系统进行基本的配置和优化。

这不仅提高了我对操作系统的理解,还为我以后的计算机使用提供了便利。

实验三:计算机网络配置与管理在这个实验中,我们学习了计算机网络的基本概念和配置方法。

通过实际操作,我了解了网络的组成和工作原理,并学会了对局域网进行基本的配置和管理。

这对于我们理解互联网的工作原理和提高网络安全意识都具有重要意义。

实验四:数据库设计与管理在这个实验中,我们学习了数据库的设计和管理。

通过实际操作,我了解了数据库的基本概念和常用的数据库管理系统,如MySQL和Oracle。

同时,我们还学习了如何设计和优化数据库结构,提高数据库的性能和安全性。

实验五:程序设计与开发在这个实验中,我们学习了程序设计和开发的基本原理和方法。

通过实际操作,我学会了使用编程语言进行程序设计,并学习了常用的开发工具和技术,如IDE和版本控制系统。

这为我以后的软件开发工作奠定了基础。

实验六:计算机安全与防护在这个实验中,我们学习了计算机安全和防护的基本知识和方法。

通过实际操作,我了解了计算机系统的安全威胁和攻击方式,并学会了如何使用防火墙和杀毒软件等工具进行计算机安全防护。

这对于保护个人隐私和防止计算机病毒的侵害具有重要意义。

计算机组成原理 实验报告

计算机组成原理 实验报告

计算机组成原理实验报告计算机组成原理实验报告引言计算机组成原理是计算机科学与技术专业中的一门重要课程,通过实验学习可以更好地理解和掌握计算机的基本原理和结构。

本实验报告将介绍我在学习计算机组成原理课程中进行的实验内容和实验结果。

实验一:二进制与十进制转换在计算机中,数据以二进制形式存储和处理。

通过这个实验,我们学习了如何将二进制数转换为十进制数,以及如何将十进制数转换为二进制数。

通过实际操作,我更深入地了解了二进制与十进制之间的转换原理,并且掌握了转换的方法和技巧。

实验二:逻辑门电路设计逻辑门电路是计算机中的基本组成部分,用于实现不同的逻辑运算。

在这个实验中,我们学习了逻辑门的基本原理和功能,并通过电路设计软件进行了实际的电路设计和模拟。

通过这个实验,我深入理解了逻辑门电路的工作原理,并且掌握了电路设计的基本方法。

实验三:组合逻辑电路设计组合逻辑电路是由多个逻辑门组合而成的电路,用于实现复杂的逻辑功能。

在这个实验中,我们学习了组合逻辑电路的设计原理和方法,并通过实际的电路设计和模拟,实现了多个逻辑门的组合。

通过这个实验,我进一步掌握了逻辑电路设计的技巧,并且了解了组合逻辑电路在计算机中的应用。

实验四:时序逻辑电路设计时序逻辑电路是由组合逻辑电路和触发器组合而成的电路,用于实现存储和控制功能。

在这个实验中,我们学习了时序逻辑电路的设计原理和方法,并通过实际的电路设计和模拟,实现了存储和控制功能。

通过这个实验,我进一步了解了时序逻辑电路的工作原理,并且掌握了时序逻辑电路的设计和调试技巧。

实验五:计算机指令系统设计计算机指令系统是计算机的核心部分,用于控制计算机的操作和运行。

在这个实验中,我们学习了计算机指令系统的设计原理和方法,并通过实际的指令系统设计和模拟,实现了基本的指令功能。

通过这个实验,我深入了解了计算机指令系统的工作原理,并且掌握了指令系统设计的基本技巧。

实验六:计算机硬件系统设计计算机硬件系统是由多个模块组成的,包括中央处理器、存储器、输入输出设备等。

计算机应用基础课程标准与实训大纲

计算机应用基础课程标准与实训大纲

《计算机应用基础》课程标准一、课程概述《计算机应用基础》是根据社会经济、科学技术以及中等职业技术教育发展的需求所开设的计算机类基础课程。

其教学应以就业为导向,以学生职业能力发展为本,应为学生在后续专业课程的学习打好操作基础。

其授课对象为非计算机专业一年级学生。

1、参考课时总课时为72课时,理论教学课36时,实践教学36课时。

2、教材编写思路根据国家教育部中等职业教育人才培养的目标要求,结合社会行业对计算机技术操作型人才的需要,进一步突出专业教学内容的针对性和实效性,着重培养学生对计算机技术操作能力的培养,因此,教材编写应采用新的教育思想、教学观念,遵循的编写原则是:“突出实用、注重发展”。

为满足学生对计算机技术学习的需要,力求使教材更加突出以下主要特点:1)体现以学生为本,针对目前学校学生学习的实际情况,以任务驱动的方式组织教材内容,突出学生对知识和技能学习的主体性。

2)强调教材的互动性,根据学生对知识接受的过程特点,重视对学生探究能力的的培养,把学与教有机结合,增加学生的学习兴趣,教材编写应采用以活动为主线的方式进行,通过对活动的学习而掌握计算机技术的知识和操作的能力。

二、课程目标本课程的教学应使学生了解、掌握计算机应用基础知识,提高学生计算机基本操作能力、管理和维护计算机的能力、熟练使用办公自动化软件的操作能力及网络应用能力,使学生具有利用计算机解决学习、工作、生活中常见问题的能力,初步具有应用计算机学习的能力,为其职业生涯的发展和终身学习奠定基础。

具体目标如下:1、知识教学目标使学生掌握必备的计算机应用基础知识,熟练掌握Windows xp操作系统的基本操作,运用Windows xp管理计算机系统,熟练掌握office办公自动化软件的操作方法,熟悉因特网的基础应用与网络信息安全常识,培养学生应用计算机解决工作与生活中实际问题的能力。

2、能力培养目标使学生深入掌握计算机有关知识和技能,养成用多种方法解决问题的习惯。

沪教版(2019)高中信息技术 必修1 项目二 探究计算机中的数据表示——认识数据编码 教案(4课时)

沪教版(2019)高中信息技术 必修1 项目二 探究计算机中的数据表示——认识数据编码 教案(4课时)

项目二探究计算机中的数据表示——认识数据编码
■学习目标
(1)了解数据编码的意义和作用,体会数据编码的基本思想与方法。

(2)经历数值数据编码的过程,掌握数值数据编码的基本方法。

(3)了解计算机处理文本数据的基本过程,知道常用的文本数据编码方式。

(4)经历声音数据数字化的过程,掌握声音数据数字化的基本方法,了解声音数字化的基本原理,知道采样频率、量化位数和声道数对数字化音频文件大小及效果的影响。

(5)经历图像数字化的过程,掌握图像数字化的基本方法,了解图像数字化的基本原理,知道分辨率和量化位数对位图的影响。

(6)亲历方案设计、对比分析、探究实验等学习活动,体会运用信息技术开展学习、解决问题的思想与方法。

(7)在数字化学习过程中掌握数字化学习的策略和方法,能够根据需要选用恰当的方法及合适的数字化工具和资源开展有效学习。

■教学准备
(1)软硬件环境:机房,音频编辑软件,图像处理软件。

(2)教学素材:各类数据编码实例和编码表,用于体验活动的声音文件和图像文件。

■教学重点和难点
(1)重点:编码的意义与作用,数值、文本声音、图像等类型数据的基本编码方式。

(2)难点:声音数字化和图像数字化。

C语言程序设计 上机实验指导与习题 参考答案

C语言程序设计 上机实验指导与习题 参考答案

C 语言程序设计上机实验指导与习题参考答案仅供教师内部参考华南农业大学目录上机实验1实验1 C 语言程序初步1一实验目的1二实验内容1实验2 基本数据类型运算和表达式3一实验目的3二实验内容3实验3 基本输入与输出5一实验目的5二实验内容5实验4 选择结构程序设计4一实验目的4二实验内容4实验5 循环结构程序设计一9一实验目的9二实验内容9实验6 循环结构程序设计二15一实验目的15二实验内容15实验7 数组17一实验目的17二实验内容17实验8 字符数组的应用22一实验目的22二实验内容22实验9 函数的基本应用24 一实验目的24二实验内容24实验10 指针与结构体26一实验目的26二实验内容26*实验11 链表29一实验目的29二实验内容29*实验12 文件32一实验目的32二实验内容32上机实验实验1 C 语言程序初步一实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2 了解在该系统上如何编辑编译连接和运行一个C 程序3 通过运行简单的C 程序初步了解C 程序的特点4 在教师的指导下学会使用JudgeOnline 实验系统二实验内容1 运行第一个C 程序[题目The first C Program]将下列程序输入TC 或VC编译连接和运行该程序void mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。

南昌大学计算机数据库实验二 数据库和表的操作

南昌大学计算机数据库实验二  数据库和表的操作

SQL Server2005实验指导书实验二数据库和表的操作一.实验目的:1.了解数据库的结构特点、领会数据库中三种类型的文件特点2.学会创建和管理数据库的方法3.了解SQL SERVER的基本数据类型4.了解表结构的特点,学会创建和管理表的方法5.学会使用T-SQL语句创建和管理表二、实验学时2学时三、实验要求1.了解SQL Server数据库结构;2.熟练使用Management Studio或者2000系统下的企业管理器多种方式设计和创建及编辑数据库;3.熟练进行数据库分离附加操作;4.独立完成实验内容,并提交书面实验报告。

四、实验内容1.设计和创建数据库,及管理数据库2.设计和创建数据表,及表基本操作一插入数据。

五、实验步骤内容一:数据库的设计与创建数据库分析1.创建用于学生信息分析的数据库,名称为“学生信息”。

2.主数据文件“学生信息_data”,物理存储路径为”e:\个人目录\学生信息_data.mdf”,初始大小为3mb,最大容量为10mb,递增量为1mb,文件组为primary 文件组。

3.事物日志文件“学生信息_log”,物理存储路径为”e:\个人目录\学生信息_log.ldf”,初始大小为2mb,最大容量为5mb,递增量为10%。

内容二:数据库的管理1.利用sp_helpdb查看数据库“学生信息”的信息。

2.将创建的数据库改名为“学生情况”。

3.通过sql语句做如下修改:(1)主数据文件的容量为4mb,最大容量为20mb,递增量为2mb (2)事务日志文件容量为2mb,最大容量为10mb,递增量为1mb. 4.收缩数据库“学生情况”的容量内容三:设计与管理表1.通过sql语句创建表1“学生”,并保存结果。

表结构如下:2.通过sql语句创建表2“学期成绩”,标结构如下:3.创建表3“课程注册”,表结构如下:4.用sql语句在“学生”表中添加一格“备注”字段并保存结果5. 用sql语句将“学生”表中“专业”字段数据类型改为varchar,长度为30并保存结果6. 用sql语句删除“学生成绩”表中的“备注”字段并保存结果内容四:表的基本操作1.向学生表中添加信息。

大学计算机实验二(合工大)

大学计算机实验二(合工大)

实验二实验报告表
实验名称:计算机中的数据表示与计算
学号2姓名班级:班实验时间:2020年10月14日
实验报告表2-1 数值型数据在计算机中的二进制实验记录表
说明:本实验对计算机内存数据的存放拟定为:①整数用两个字节存储,并负数只考虑原码;②实数用4个字节存储,其中阶码部分占一个字节。

实验报告表2-2 其他进制数据与二进制转化实验记录表
实验报告表2-3 数据的原码、补码和反码表示实验记录表
实验报告表2-4 二进制算术运算实验记录表
实验报告表2-5溢出实验记录表
实验报告表2-6浮点数的小数点浮动实验记录表
实验报考表2-7 表示浮点数的二进制串中阶码位数改变实验记录表。

计算机实验报告

计算机实验报告

计算机实验报告C语言程序设计实验实验指导实验一 Visual C++6.0开发环境使用大气科学专业实验日期 4月 18日姓名:学号1(实验目的(1)熟悉Visual C++6.0集成开发环境。

(2)掌握C语言程序的书写格式和,语言程序的结构。

(3)掌握C语言上机步骤,了解C程序的运行方法。

(4)能够熟练地掌握C语言程序的调试方法和步骤2. 实验内容输入如下程序,实现两个数的乘积。

#include (stdio.h);int main(){x=10,y=20p=prodct(x,t)printf("The product is : ",p)int prodct(int a ,int b )int cc=a*breturn c}(1)在编辑状态下照原样键入上述程序。

C语言程序设计实验(2)编译并运行上述程序,记下所给出的出错信息。

(3)再编译执行纠错后的程序。

如还有错误,再编辑改正,直到不出现语法错误为止。

C语言程序设计实验3(分析与讨论(1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。

分析讨论成功或失败的原因。

(2)总结,程序的结构和书写规则。

实验心得:通过本次实验,我了解到C语言的特点,初步认识程序设计方法和程序设计一般步骤,掌握C语言程序编译、链接和运行过程,为我进一步学好C语言打下了基础。

C语言程序设计实验实验二数据类型、运算符和表达式大气科学专业实验日期4 月 25日姓名:刘园园学号201513013271(实验目的(1)理解常用运行符的功能、优先级和结合性。

(2)熟练掌握算术表达式的求值规则。

(3)熟练使用赋值表达式。

(4)理解自加、自减运算符和逗号运算符(5)掌握关系表达式和逻辑表达式的求值2(实验内容(1)整数相除#include<stdio.h>int main(){int a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/b;f=c/b*a;printf("d=%d , e=%d ,f=%d\n",d,e,f);return 0;}(2)自加、自减运算#include<stdio.h>int main(){int a=5,b=8;printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0;}C语言程序设计实验(3)关系运算和逻辑运算#include<stdio.h>int main(){int a=5,b=8,c=8;printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c);printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b));return 0;}C语言程序设计实验(1)在编辑状态下输入上述程序。

计算机组成原理实验二

计算机组成原理实验二
实验二:R0-R3、MAR、ST、OUT实验


一、R0-R3寄存器实验:
实验要求:
利用DICE-CP226实验仪上的K16..K23开关做为DBUS的数据,其它开关 做为控制信号,对数据寄存器组R0..R3进行读写。
实验目的:
了解模型机中寄存器组R0..R3结构、工作原理及其控制方法。

实验电路:
『寄存器读出操作:』
3、通过SB\SA,选择操作寄存器。 4、通过控制信号RRD(读),选择寄存器读操作。 5、通过D0-D7连接L0-L7观察输出数据。

实验工作波形图分析:
ቤተ መጻሕፍቲ ባይዱ

R0-R3写入波形图

实验工作波形图分析:

R0-R3读出波形图


二、MAR、ST、OUT寄存器实验:
实验要求:
利用DICE-CP226实验仪上的K16..K23开关做为DBUS的数据,其它开关 做为控制信号,将数据写入地址寄存器MAR,堆栈寄存器ST,输出寄存器 OUT。
连接 1 2 3 4 5 6 7 信号孔 J1座 RRD RWR SB SA CK D7..D0 接入孔 J3座 K11 K10 K1 K0 已连 L7..L0 作用 将K23-K16接入DBUS[7:0] 寄存器组读使能 寄存器组写使能 寄存器选择B 寄存器选择A 寄存器工作脉冲 观察寄存器数据输出 上升沿打入 状态说明 实验模式:手动 低电平有效 低电平有效

实验原理分析:
1、如何选择对应的寄存器进行操作? 2、如何控制寄存器进行‘读\写’操作?

结合电路图分析所得:
1、通过SB,SA控制信号,组合选择寄存器。
SB
0 0 1 1

实验二 数码转换程序实验

实验二 数码转换程序实验

数码转换程序实验实验目的掌握不同进制数及编码相互转换的程序设计方法。

实验内容及说明计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其他信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。

因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。

计算机与外设间的数码转换关系如图1所示,数码对应关系如表1所示。

图1表11.将ASCII码表示的十进制数转换为二进制数十进制数可以表示为:D n×10n+D n-1×10n-1+…+D0×100=D i×10i其中D i代表十进制数1、2、3…9、0。

上式可以转换为:∑D i×10i=((…(D n×10+D n-1)×10)+D n-2)×10+…+D1)×10+D0由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位D n开始作乘10加次位的操作,依次类推,则可求出二进制数结果。

本实验要求将缓冲区中的一个五位十进制数00012的ASCII码转换成二进制数,并将转换结果按位显示在屏幕上。

转换过程的参考流程如图2所示。

The ascii code of decimal code are:000C。

执行了几步单步之后才有结果的。

图22.将十进制数的ASCII码转换为BCD码本实验要求将键盘输入的一个五位十进制数54321的ASCⅡ码存放在数据区中,转换为 BCD 码后,并将转换结果按位分别显示于屏幕上。

若输入的不是十进制数的ASCⅡ码,则输出“FF”。

提示:一字节ASCⅡ码取其低四位即变为BCD码。

转换部分的实验流程参见图3。

The BCD code of decimal are:01 02 03 04 05.图33.将十六进制数的ASCII码转换为十进制数十六位二进制数的值域为0-65535,最大可转换为五位十进制数。

实验二-算术逻辑单元实验

实验二-算术逻辑单元实验

实验二算术逻辑单元(ALU)的设计与实现实验目的1.认识算术逻辑单元的功能及意义2.掌握算术逻辑单元的结构与实现3.进一步熟练Modelsim、Vivado软件和Verilog硬件描述语言的使用4.理解Digilent N4 DDR FPGA开发板上数码管显示原理实验原理1.ALU算术逻辑单元(Arithmetic/Logic Unit , ALU)是现代计算机的核心部件之一。

其内部由算术和逻辑操作部件组合而成,可以实现整数加、减等算术运算和与、或等逻辑运算。

一个典型的算术逻辑单元由两路N位输入、一路N位输出、一组功能选择信号和一些标志位(flag)组成。

两路N位输入数据作为参与运算的两个操作数,输入到ALU中,通过改变功能选择信号,控制ALU对两操作数进行不同的算术或逻辑运算操作,并将N位的结果输出,与结果一同输出的还有运算产生的标志位,例如运算结果为零的标记信号Z(zero)与运算结果溢出的标记信号O(over)、进位标志C(CY)、符号位S(SF)等,如图2-1所示。

图2- 1ALU模块示意图在本次实验中,我们把输入和输出的数据长度定为4位,数据输入命名为A、B,数据输出为F,功能控制信号输入为opcode,进位输入为C n,只产生结果为零的zero标志位。

功能控制信号opcode的定义如表2-1所示。

例如:opcode=0001,运算器实现加法运算。

2.数码管显示关于N4 DDR开发板上数码管的显示原理,参见前面的实验准备部分内容。

实验内容1.基础实验。

用实验调试软件验证ALU的功能,并操作分析、记录结果。

图2- 2 ALU虚拟实验示意图(1)运算功能和控制信号①输入输出对于的开关指示灯分配如下:输入信号A:SW(4-7) B:SW(3-0) Cn:SW8 opcode:SW(12-9)输出信号F:LD(12-15) 标志位S :LD(3) Z LD(2) O: LD(1) C: LD(0)②各种运算对应的控制信号及功能,如下表。

实验2--计算机中的数据表示与计算-实验报告-

实验2--计算机中的数据表示与计算-实验报告-

实验2--计算机中的数据表⽰与计算-实验报告-
(本⽂档包含:实验2 实验报告与第2周作业题)
实验2 计算机中的数据表⽰与计算实验报告
学号姓名班级:实验时间:年⽉⽇
实验报告表2-1 数值型数据在计算机中的⼆进制实验记录表
说明:本实验对计算机内存数据的存放拟定为:①整数⽤两个字节存储,并负数只考虑原码;②实数⽤4个字节存储,其中阶码部分占⼀个字节。

实验报告表2-2 其他进制数据与⼆进制转化实验记录表
实验报告表2-3 数据的原码、补码和反码表⽰实验记录表
实验报告表2-4 ⼆进制算术运算实验记录表
实验报告表2-5溢出实验记录表
实验报告表2-6浮点数的⼩数点浮动实验记录表
实验报考表2-7 表⽰浮点数的⼆进制串中阶码位数改变实验记录表
实验⼩结:
在本次实验中,你有哪些收获?遇到哪些问题?这些问题是否已经解决?如果已经解决了,请说说你是如何解决的。

也可谈谈你的其它想法。

第2周作业题:(请认真查阅教材及相关资料,回答以下问题,并把答案附在问题之后)
1.为什么要使⽤原码,反码和补码?
答:
2.什么是溢出?溢出对⼆进制的运算有什么影响?
答:
3.计算机中的数据⼀定是精确的吗?为什么?
答:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二计算机中的数据表示与计算
学号:1120161816 姓名:田雄辉班级:07011606 实验时间:2016年9月29日实验报告表2-1 数值型数据在计算机中的二进制表示实验记录表
实验报告表2-2 不同进制数据与二进制数据转换实验记录表
实验报告表2-3 数据的原码,补码和反码表示实验记录表
实验报告表2-4 二进制算术运算实验记录表
实验报告表2-5 溢出实验记录表
实验报告表2-6 浮点数的小数点浮动实验记录表
实验报告表2-7 表示浮点数的二进制串中阶码位数改变实验记录表
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考。

相关文档
最新文档