文档库 最新最全的文档下载
当前位置:文档库 › TEC2000十六位机微程序设计

TEC2000十六位机微程序设计

TEC2000十六位机微程序设计
TEC2000十六位机微程序设计

课程设计

项目名称:TEC2000十六位机微程序设计课程名称:计算机组成原理

班级:计111 计111 计111 计111

姓名:李洋宇葛一波叶博兴米熙霖

学号:110773 110776 110768 110755

教师:马莉杜天苍秦彩云杨飞

信息工程学院计算机系

16位机微程序控制器指令系统的设计与实现

二、设计目的

通过看懂教学计算机组合逻辑控制器中已经设计好并正常运行的几条基本指令(例如ADD、MVRR、OUT、MVRD、JR、RET等指令)的功能、格式和执行流程,然后自己设计微程序控制器中的29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,达到以下目的:

1、深入理解计算机控制器的功能、组成知识和各类典型指令的执行过程;

2、对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;

3、学习微程序控制器的设计过程和相关技术。

三、设计说明

控制器设计是学习计算机总体组成和设计的重要的部分。要在TEC—2000教学计算机上完成这项设计,必须清楚懂得:

1、TEC—2000教学机的微程序控制器主要由作为选件的微程序控制器小板和教学机大

板上的7片GAL20V8组成。

2、TEC—2000教学机微程序控制器上要实现的全部基本指令和扩展指令的控制信号都

是由微程序小板上的7片控制存储器给出的。

3、应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到

相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行扩展指令。

4、要明白TEC—2000教学机支持的指令格式及指令执行流程分组情况;理解TEC—2000

教学机中已经设计好并正常运行的各类指令的功能、格式、执行流程和控制信号的组成。

5、明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。

6、为了完成扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的

实验内容,具体过程包括:

1)确定指令格式和功能,要受教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致;

2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的取值,应参照已实现指令的处理办法来完成,特别要注意的是,读取指令的节拍只能用原来已实现

的,其他节拍的节拍状态也应尽可能的与原用节拍的状态保持一致和相近;

3)在指令微程序表中填写每一个控制信号的状态值,注意要特别仔细,并有意识地体会这些信号的控制作用;

4)将设计好的微码,装入控制存储器的相应单元;

5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调

试,直到完全正确。

1、完成微程序控制器指令系统设计,主要内容是由学生自己设计29条基本指令和19

条扩展指令的功能、格式和执行流程,并在教学计算机上实现、运行、调试正确。

2、首先看懂TEC—2000教学计算机的功能部件组成和线路逻辑关系,然后分析教学计

算机组合逻辑控制器中已经设计好并正常运行的几条典型指令(例如ADD、MVRR、OUT、MVRD、JRC、RET等指令)的功能、格式和执行流程。

3、设计微程序控制器指令系统中各条指令的功能、格式和执行流程,并在教学计算机

上实现、调试正确,例如ADC、STC、JRS、JRNS、LDRX、STRX、JMPR、CALR、LDRA

等19条扩展指令。

4、单条运行指令,查看指令的功能、格式和执行流程。

5、用监控程序的A、E(扩展指令必须用E命令置入)命令编写一段小程序,观察运行

结果。

五、小组分工及任务分配

我们组成员为李洋宇(组长)、葛一波、叶博兴、米熙霖,任务分配为:

1、李洋宇:设计微程序控制器中基本指令的功能、格式和执行流程。并设计15条基本

指令的执行流程,画出15条基本指令的执行流程框图和微程序编码表

2、葛一波:设计14条基本指令和2条扩展指令的执行流程,画出14条基本指令和2

条扩展指令的执行流程框图和微程序编码表。

3、米熙霖:确定微码各字段与控制存储器各个芯片之间的关系,列表写出各控制存储

器芯片中存储单元的内容,将设计好的微码装入芯片。

4、叶博兴:编写包含所有指令的测试程序,通过运行这些程序检查指令设计是否正确。

六、进度安排

第1周周一上午经过课程设计动员,全组同学初步了解了课设的大体内容,并作

出具体分工。

下午到图书馆查资料,深刻理解了微程序控制的内容和意义,并且到

实验室熟悉了TEC—2000机开发环境,最后准备了一些汇编书籍。

周二---周五具体学习TEC-2000的基本指令并设计、扩展指令并设计、编写了

一些调试程序。在深刻理解这些指令的前提下,将指令编入芯片,

经过多次测试,多次修改,最终完成基本要求。

第2周周一--- 周五开始编写报告,运行测试程序,不间断调试指令。

七、课程设计环境

1、硬件环境:PC机一台、TEC—2000实验机一台、微程序控制器实验板一块。

2、软件环境:(1)Win2000、DOS

(2)TEC—2000仿真终端程序PCEC

(3)TEC—2000监控程序。

八、基本指令和扩展指令的执行流程框图

1.基本指令流程框图

2.扩展指令流程框图

3. TEC-2000 16位机扩展指令系统

4.微指令格式分析

(1)下址字段

8位的微下址

用于给出下一条将要执行的微指令的地址。微程序顺序执行,即把已增1后的微指令地址作为下地址

4位的测试控制码CI3~0

用于决定微程序中的微指令寻址方式(顺序寻址、跳跃寻址)。本实验中只使用到0000(初始化,使微下址=0)、0010(指令功能分支,做MAPROM映射)、0011(条件转移,由SCC 决定是否转移)、1110(顺序寻址,将当前微地址加1作为微下址)这四个命令码。

4位的转移条件编码SCC3~0

当CI3~0=0011时,由这四位编码决定转移判断测试的条件,若选中条件满足,则使用微下址寻址下一条微指令,否则做顺序寻址,同CI3~0=1110。

(2)操作控制字段 MIQ 、REQ 、WE

/MIO (0:有内存和串口读写,1:无) REQ (0:读写内存,1:读写串行口) /WE

I8-I6、I5-I3、I2-I0 、A 口和B 口、SST 2-0:

SST 2-0 : 用于控制状态标志位的状态变化

SCI1-0:用于控制产生运算器最低位的 SA (A 口)和SB (B 口):

进位输入信号

DC1:用于对CPU内部总线数据来源的控制,选择把哪一组数据发送到CPU内部总线上用于选择把哪一组数据发送到CPU的内部总线(IB)上。在微指令执行过程中,若不使用内部总线,则通常将其设置为000,可认为是无效状态。

DC2:用于对几个特定的寄存器接受输入的控制,选择允许哪一个寄存器接收送给它的一组数据

用于控制数据接收及相关的内部功能。

九.基本指令和扩展指令的微程序编码表

基本指令和扩展指令的微程序编码表(二进制)

八个控制存储器芯片中各存储单元的内容列表

1、将设计好的微码写入控制存储器。

一次只对一片28C64 控制存储器芯片进行读写,该芯片可插在扩展芯片的高位或低位,若插在高位,输入时信号编码为高八位,低八位补零;若插在低位,输入时信号编码为低八位,高位补零。若一次扩展两片28C64控制器芯片,要注意信号要与产生该信号的芯片相对。将扩展新片的内存单元地址置为4000~5FFF,将MAPROM 插入扩展芯片的位置,微程序入口地址对应的内存单元的地址为芯片的起始地址和该指令的编码值之和。具体操作如下:

(1)将端口地址写入芯片

E 4000

4000 00FF:04 00FF:05 00FF:06 00FF:09 00FF:08 00FF:0A 00FF:07 00FF:0B 00FF:0D 00FF:0C

00FF:0E 00FF:0F

E 4020

4020 00FF:50 00FF:51

E 402A

402A 00FF:54 00FF:55 00FF: 53 00FF:52

E 4041

4041 00FF:11

E 4044

4044 00FF:10 00FF:10 00FF:10 00FF:10

E4060

4060 00FF:5A 00FF: 0

E 406C

406C 00FF:56 00FF:57 00FF:58 00FF:59

E 4080

0FF: 00FF: 00FF:69

00FF:69

4080 00FF:1E 00FF:1B 00FF:12 00FF:19 00FF:15 00FF:12 00FF:17 00FF:1D

E 408C

408C 00FF:17 00FF: 00FF: 00FF: 23

E 40CE

40CE 00FF:1F

E 40E0

40E0 00FF:64

E 40E4

40E4 00FF:5B 00FF:5D 00FF:61 00FF:5F

E 40EF

40EF 00FF:67

编码截图如下:

(2)将MPROM1-MPROM7依次插入扩展芯片的位置对其编程,内存单元的地址为芯片的起始地址和该指令操作功能所对应的微址之和,操作如下:

MPROM1产生下址信号,MPROM2 产生CI3~0、SCC3~0 信号,

对MPROM1-2 的操作为:MPROM1 在高位 MPROM2 在低位

E 4000

4000 00FF:00E0 00FF:00E0 00FF:00E0 00FF:0020

00FF:3030 00FF:3030 00FF:3030 00FF:3030

00FF:3030 00FF:3030 00FF:3030 00FF:3030

00FF:3030 00FF:3030 00FF:3030 00FF:3030

00FF:3034 00FF:3030 00FF:1436 00FF:3030

00FF:3030 00FF:1A37 00FF:3030 00FF:1C37

00FF:3030 00FF:00E0 00FF:3030 00FF:00E0

00FF:3030 00FF:1C30 00FF:2430 00FF:00E0

00FF:00E0 00FF:00E0 00FF:3030 00FF:00E0

00FF:3030

E 4030

4030 00FF:3A32 00FF:0230

E 403A

403A 00FF:4010 00FF:4331 00FF:0410 00FF:4331

00FF:0210 00FF:4730

E 4050

4050 00FF:3030 00FF:3030 00FF:3030 00FF:3030

00FF:3030 00FF:3030 00FF:3030 00FF:3030

00FF:3030 00FF:3030 00FF:3030 00FF:00E0

00FF:1C30 00FF:00E0 00FF:1C30 00FF:00E0

00FF:1A30 00FF:00E0 00FF:00E0 00FF:3030

00FF:00E0 00FF:00E0 00FF:3030 00FF:00E0

00FF:2330 00FF:3035 00FF:3030

编码截图如下:

(3)MPROM3 产生0MRW、0I2~0 信号,MPROM4产生SAI8~I6、SBI5~I3信号,

对 MPROM3-4的操作为:MPROM3 在高位 MPROM4 在低位

E 4000

4000 00FF:4131 00FF:4320 00FF:1010 00FF:4010

00FF:41B8 00FF:41B9 00FF:41BC 00FF:41BB

00FF:4338 00FF:4339 00FF:4378 00FF:4358

00FF:4010 00FF:4530 00FF:4710 00FF:2310

00FF:3730 00FF:4331 00FF:0010 00FF:4320

00FF:1010 00FF:4318 00FF:0490 00FF:4490

00FF:1738 00FF:4320 00FF:4320 00FF:4320

00FF:1700 00FF:4331 00FF:0220 00FF:4320

00FF:1730

E 4030

4030 00FF:4700 00FF:4320

E 403A

403A

00FF:00E0 00FF:00E0 00FF:00E0 00FF:00E0

00FF:00E0 00FF:3130

E 4050

4050 00FF:41B8 00FF:41B9 00FF:433F 00FF:4358

00FF:4378 00FF:4358 00FF:4010 00FF:4010

00FF:4010 00FF:4010 00FF:44B0 00FF:4320

00FF:1710 00FF:4320 00FF:1590 00FF:4320

00FF:1710 00FF:4320 00FF:1590 00FF:0390

00FF:4331 00FF:0410 00FF:44B0 00FF:4320

00FF:1010 00FF:4010 00FF:4530

编码截图如下:

(4)MPROM5 产生B 口、A口信号,MPROM6 产生0SST、SSHSCI 信号,对 MPROM5-6的操作为:MPROM5 在高位 MPROM6 在低位

E 4000

4000 00FF:5501 00FF:5501 00FF:0000 00FF:0000

00FF:0010 00FF:0011 00FF:0010 00FF:0010

00FF:0010 00FF:0011 00FF:0010 00FF:0010

00FF:0011 00FF:0010 00FF:0060 00FF:0050

00FF:0000 00FF:5500 00FF:0000 00FF:0000

00FF:0000 00FF:4000 00FF:0000 00FF:4401

00FF:0000 00FF:5501 00FF:5501 00FF:5501

00FF:0000 00FF:4000 00FF:5500 00FF:4401

00FF:5000

E 4030

4030 00FF:0000 00FF:5501

E 403A

403A 00FF:0000 00FF:4000 00FF:0500 00FF:4000 00FF:0000 00FF:5000

E 4050

4050 00FF:0012 00FF:0012 00FF:0010 00FF:005C 00FF:0064 00FF:0054 00FF:0030 00FF:0040

00FF:0000 00FF:0000 00FF:5000 00FF:5501

00FF:0000 00FF:5501 00FF:0000 00FF:5501

00FF:0000 00FF:5501 00FF:0000 00FF:0000

00FF:4000 00FF:0500 00FF:5000 00FF:4401

00FF:0020 00FF:0000 00FF:5500

编码截图如下:

(5)MPROM7 产生DC2、DC1 信号,对MPROM7 的操作为:E 4000

4000 00FF:70 00FF:B0 00FF:10 00FF:00

00FF:00 00FF:00 00FF:00 00FF:00

00FF:00 00FF:00 00FF:00 00FF:00

00FF:00 00FF:00 00FF:00 00FF:00

00FF:00 00FF:02 00FF:32 00FF:01

00FF:00 00FF:30 00FF:03 00FF:30

00FF:00 00FF:30 00FF:01 00FF:30

00FF:00 00FF:30 00FF:30 00FF:30

00FF:00 00FF:30 00FF:01 00FF:30

00FF:00

E 4030

4030 00FF:03 00FF: 0B

E 403A

403A 00FF:70 00FF:30 00FF:51 00FF:30

00FF:01 00FF:05

E 4050

4050 00FF:00 00FF:00 00FF:00 00FF:00

00FF:00 00FF:00 00FF:00 00FF:00

00FF:60 00FF:70 00FF:00 00FF:30

00FF:30 00FF:30 00FF:30 00FF:30

00FF:30 00FF:30 00FF:30 00FF:01

00FF:30 00FF:01 00FF:00 00FF:30

00FF:40 00FF:00 00FF:02

编码截图如下:

十一、测试程序

1、在单步方式下,通过指示灯观察各类扩展指令ADC和JMPR的微码。(

<1>选择扩展指令的A组指令中的ADC 指令,观察其节拍流程

(1)置拨动开关SW=00100000 00000000;(表示指令ADC)

(2)按RESET 按键;小板指示灯Microp 亮(只要选择微程序,该灯在指令执行过程中一直亮),其他灯全灭;

(3)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址和下址的指示灯全灭;(4)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0000 0001,下址的指示灯全灭;

(5)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0000 0010,下址的指示灯全灭;

(6)以上三步为公共操作,其他指令同;

(7)按START 按键;小板指示灯CI3~0、SCC3~0 显示0010 0000,微址指示灯显示0000 0011,下址的指示灯显示0101 0000;

(8)按START按键;小板指示灯CI3~0、SCC3~0 显示0011 0000,微址指示灯显示0101 0000,下址的指示灯显示0011 0000;(本拍完成DR+SR+CF—>DR操作)(9)按START按键;小板指示灯CI3~0、SCC3~0 显示0011 0010,微址指示灯显示0011 0000,下址的指示灯显示0011 1010;(本拍完成STR—>Q、CC#=INT#操作)

(10)按START 按键;小板指示灯CI3~0、SCC3~0显示0011 0000,微址指示灯

显示0011 0001,下址的指示灯显示0000 0010;(本拍完成PC—>AR、PC+1

—>PC 操作)

<2>选择扩展指令的A组指令中的JMPR指令,观察其节拍流程

(1)置拨动开关SW=01100000 00000001;(表示指令JMPR)

(2)按RESET 按键;小板指示灯Microp 亮(只要选择微程序,该灯在指令执行过程中一直亮),其他灯全灭;

(3)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址和下址的指示灯全灭;(4)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0000 0001,下址的指示灯全灭;

(5)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0000 0010,下址的指示灯全灭;

(6)以上三步为公共操作,其他指令同;

(7)按START 按键;小板指示灯CI3~0、SCC3~0 显示0010 0000,微址指示灯显示0000 0011,下址的指示灯显示0101 1010;

(8)按START按键;小板指示灯CI3~0、SCC3~0 显示0011 0000,微址指示灯显示0101 1010,下址的指示灯显示0011 0000;(本拍完成SR—>PC操作)

(9)按START按键;小板指示灯CI3~0、SCC3~0 显示0011 0010,微址指示灯显示0011 0000,下址的指示灯显示0011 1010;(本拍完成STR—>Q、CC#=INT#

操作)

(10)按START 按键;小板指示灯CI3~0、SCC3~0显示0011 0000,微址指示灯显示0011 0001,下址的指示灯显示0000 0010;(本拍完成PC—>AR、PC+1—>PC 操作)

2、在单步方式下,通过指示灯观察各类基本指令的微码。(在此,仅在A组、C 组中各列举一条指令为例。)通过验证可知各指令的微码无误。

〈1〉置拨动开关SW=00000000 00000001;(表示指令ADD R0,R1 )

〈2〉按RESET 按键;指示灯Microp 亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;

〈3〉按START 按键;指示灯CI3~0、SCC3~0 显示1110 0000,微址和下址的指示灯全灭;(本拍完成公共操作0→PC、DI#=0)

〈4〉按START 按键;指示灯CI3~0、SCC3~0 显示1110 0000,微址指示灯显示0000 0001,下址的指示灯全灭;(本拍完成公共操作PC→AR、PC+1→PC)

〈5〉按START 按键;指示灯CI3~0、SCC3~0 显示1110 0000,微址指示灯显示0000 0010,下址的指示灯全灭;(本拍完成公共操作MEM→IR)

〈6〉以上三步为公共操作,其它指令同;

〈7〉按START 按键;指示灯CI3~0、SCC3~0 显示0010 0000,微址指示灯显示0000 0011,下址的指示灯显示0000 0100;(本拍完成/MAP 操作功能)

〈8〉按START 按键;指示灯CI3~0、SCC3~0 显示0011 0000,微址指示灯显示0000 0100,下址的指示灯显示0011 0000 (本拍执行ADD 指令,DR←DR+SR 操作)。

〈9〉按START 按键;指示灯CI3~0、SCC3~0 显示0011 0010,微址指示灯显示0011 0000,下址的指示灯显示0011 1010;(本拍完成STR→Q、CC#=INT#公共操作功能)

〈10〉按START 按键;指示灯CI3~0、SCC3~0 显示0011 0000,微址指示灯显示0011 0001,下址的指示灯显示0000 0010;(本拍完成PC→AR、PC+1→PC、CC#=0 的公共操作功能)

<2>选择基本指令的D组指令中的CALA指令,观察其节拍流程

(1)置拨动开关SW= 1100 1110 0000 0000;(表示指令CALA)

(2)按RESET按键;小板指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;

(3)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0000 0000,下址的指示灯显示0000 0000;

(4)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0000 0001,下址的指示灯显示0000 0000;

(5)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0000 0010,下址的指示灯显示0000 0000;

(6)以上三步为公共操作,其它指令同。

(7)按START按键;小板指示灯CI3~0、SCC3~0显示0010 0000,微址指示灯显示0000 0011,下址的指示灯显示0001 1111;

(8)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0001 1111,下址的指示灯显示0000 0000;(本拍完成PC→AR、PC+l→PC操作)(9)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000,微址指示灯显示0010 0000,下址的指示灯显示0000 0000;(本拍完成MEM→Q操作)

(10)按START按键;小板指示灯CI3~0、SCC3~0显示1110 0000 ,微址指示灯显示0010 0001,下址的指示灯显示0000 0000;(本拍完成SP-1→SP、PC→AR操作)

(11)按START按键;小板指示灯CI3~0、SCC3~0显示0011 0000,微址指示灯显示0010 0010,下址的指示灯显示0011 0000;(本拍完成PC→MEM、Q→PC、CC#=O操作)

(12)按START按键;小板指示灯CI3~0、SCC3~0显示0011 0010,微址指示灯显示0011 0000,下址的指示灯显示0011 1010;(本拍完成STR→Q、CC#=INT#操作)

(13)按START按键;小板指示灯CI3~0、SCC3~0显示0011 0000,微址指示灯显示0011 0001,下址的指示灯显示0000 0010;(本拍完成PC→AR、PC+l→PC、CC#=0操作)。

2.测试基本指令的程序:

(1)验证扩展指令ADC(实现简单的赋值并且调用简单的加法程序)

如上图所示整个程序的运行结果是运行结果为:R0=1111,R1=1010,R2=2100

这也与程序执行后的逻辑结果一致,因此程序所验证的指令是正确的。

(2)验证扩展指令JMPR(实现简单的赋值并且调用简单的加法程序)

如上图所示整个程序的运行结果是运行结果为:R0=0001,R1=2100

证明了程序完成了跳转功能。

这也与程序执行后的逻辑结果一致,因此程序所验证的指令是正确的。

(3)验证MVRD,ADD,SUB,INC,DEC,CMP.JNC,RET(实现简单的加减运算并且运用比较条件实现跳转指令,是最后结果能简单直接,主要注意的是标志位的变化)

以上程序主要简单验证一些指令的功能,并且根据结果可以看出来指令的正确性。

(4)验证指令MVRD,MVRR,ADD,SUB,XOR,OR,RET.

运行结果:R0=0064(R1+R0——〉R0);R1=0023;R3=FFF7(R3-R2——〉R3);R6=0070(R6与R7相异或);R7=FFF7(R7与R3相异或)

(5)验证指令IN,OUT,SHR, AND,CMP,JRC, JRNC,JMPA

功能:从键盘输入0~9个数字,遇到0~9个字符外后跳出程序。

(6)测试INC,JRNZ的程序

《MATLAB_程序设计与应用》刘卫国高等教育出版社-第4章课后答案

第四章 1. a=input('请输入一个4位数:'); while (a<1000|a>9999) a=input('输入错误,请重新输入一个4位数:'); end b=fix(a/1000); c=rem(fix(a/100),10); d=rem(fix(a/10),10); e=rem(a,10); b=b+7; c=c+7; d=d+7; e=e+7; b=rem(b,10); c=rem(c,10); d=rem(c,10); e=rem(e,10); g=b;b=d;d=g; g=c;c=e;e=g; a=1000*b+100*c+10*d+e; disp(['加密后:',num2str(a)])

2. 逻辑表达式法: a=input('请输入a: '); b=input('请输入b: '); c=input('请输入c: '); x=0.5:1:5.5; x1=(x>=0.5&x<1.5); x2=(x>=1.5&x<3.5); x3=(x>=3.5&x<=5.5); y1=a.*(x.^2)+b.*x+c; y2=a*(sin(b)^c)+x; y3=log(abs(b+c./x)); y=y1.*x1+y1.*x2+y3.*x3; disp(y) if语句法: a=input('请输入a: '); b=input('请输入b: '); c=input('请输入c: '); for x=0.5:1:5.5 if x>=0.5 & x<1.5 y=a.*(x.^2)+b.*x+c

elseif x>=1.5 & x<3.5 y=a*(sin(b)^c)+x elseif x>=3.5 & x<5.5 y=log(abs(b+c./x)) end end switch语句法: a=input('请输入a: '); b=input('请输入b: '); c=input('请输入c: '); for x=0.5:1:5.5 switch floor(x/0.5) case {1,2} y=a.*(x.^2)+b.*x+c; case {3,4,5,6} y=a*(sin(b)^c)+x; case {7,8,9,10} y=log(abs(b+c./x)); end disp(y) end

32位汇编语言程序设计上机指导

《32位汇编语言程序设计》上机指导 《32位汇编语言程序设计》上机指导 (1) 实验一建立windows环境下32位汇编语言开发环境 (2) 实验2 指令格式与寻址方式 (4) 实验3 数据操作编程 (5) 实验4 分支和循环程序设计 (6) 实验5 子程序设计 (8) 实验6 输入输出程序设计 (9) 实验7:字符串操作 (10) 实验8:宏结构设计 (11) 实验9:混合编程 (12) Windows环境下32位汇编语言开发环境的建立 (13) 调试程序Windbg (19) 宏汇编命令ML和连接命令LINK常用参数速查 (22) 输入输出宏命令 (23)

实验1 建立windows环境下32位汇编语言开发环境 实验目的:建立windows环境下32位汇编语言开发环境,并熟悉它的使用方法。 实验要求:(1)建立windows环境下32位汇编语言开发环境; (2)熟悉自己建立的开发环境的使用方法; (3)熟悉调试工具的使用 实验内容:(1)定制masm32集成开发环境,使之符合教学要求。 (2)分别建立汇编,连接,和汇编&连接批处理命令,能够生成包含调试信息的目标文件,列表文件,以及能够进行调试的可执行WIN32控制台程序。 (3)建立16位和32位汇编语言框架程序。 (4)在自己建立的开发环境下汇编,连接,运行教材中的例3-1和例3-2。 实验步骤: 1、安装开发环境 运行《32位汇编语言程序设计》教材配套开发环境软件“开发工具.exe”,将MASM32安装在根目录下(例如:c:\masm32)。接着运行Exmasm32.exe,将其它软件安装在masm32的目录下(例如:c:\masm32)。建立masm32文件夹中的qEditor.exe和Windbg.exe桌面快捷方式。 2、定制开发环境 修改文件msm32\bin\buildc.bat中的内容,使得执行Project\Console Assemble & Link后能够汇编连接可调试的32位控制台应用程序,同时生成列表文件。 汇编命令改为: \masm32\bin\ml /c /coff /Fl /Zi “%1.asm” 连接命令改为: \masm32\bin\link /debug “%1.obj” 1、建立汇编连接16位应用程序的批处理文件make16.bat 建立汇编连接16位应用程序的批处理文件make16.bat,可以用于汇编连接可调试的实模式应用程序,同时生成列表文件。 make16.bat的主要内容: \masm32\bin\ml /c /Fl /Zi "%1.asm" \masm32\bin\Link16 /debug "%1.obj" 4、建立适合在定制开发环境下使用的32位应用程序框架 .386 ;必须是第一条非注释语句,说明这是一个32位应用程序 .model flat, stdcall ;定义程序的存储模式(32位应用程序中必须采用flat) include \masm32\include\io32.inc ;可选,如果在程序中使用作者自定义的宏命 令需要这一句 .stack 4096 ;定义堆栈段 .data ;定义数据段 ……;数据定义 .code ;定义代码段 start: ;程序起始点 ……;程序代码 ret ;程序结束点,返回WINDOWS ……;子程序代码 end start ;汇编结束

PLSQL程序设计语言

PL/SQL:是过程化/sql的缩写,是Oracle在sql的基础之上扩展来的一种数据库编程语言,在兼容sql的基础之上,扩充了许多新功能,是面向过程化语言和sql的结合。 PL/SQL特点: ·除了基本的sql之外,包含了控制结构和异常处理,从而具有了sql语句的简洁性和过程性。 ·每个sql语句的请求处理,都会引起一次网络的传输,用户量一旦大量增加,可能会导致网络堵塞,而PLSQL是将整个语句块发送给数据库服务器,减少了网络通信的数量,提高了应用程序的运行效率。 ·PLSQL语句是存储在Oracle服务器上,可以被其他的PLSQL程序或者sql调用。具有很高的重用性。 ·PLSQL程序语言是一种块结构语言,PLSQL的基本代为是块。 PLSQL程序块有两种: ·匿名块:没有名称,只用一次,不能存储在数据库中 ·命名块:指的是保存在数据库中的PLSQL程序块,比如我们的存储过程、函数和触发器 块的基本结构: ·匿名块的基本结果

declare:声明部分,用来声明程序中的变量、类型、游标等等。 begin:是PLSQL程序的主体部分,一般使用sql语句或者过程化语言来处理特定的操作。 exception:异常的处理部分,用来检查和处理异常或者错误。 块中的每一条语句都需要以分号结束,一条sql可以分成多行来写,但是最终只需要一个分号。 注释:在PLSQL中,注释分为两种,一种单行注释“--”,两外就是多行注释”/* 需要注释的内容*/” 范例:向表中插入一笔数据并且提交。

声明常量和变量 ·声明常量:常量名constant 类型(长度) := 值 constant:表示的就是固定不变的,就是我们说的常量。声明之后不允许改变。 ·声明变量:变量名类型(长度) (not null)(default | := ) 声明变量和常量中一些规则: ·一行只能声明一个变量或者常量 ·变量时存储值的内存区域,用来处理程序中的值,变量名称不能重复,也不能使用系统关键字。 ·变量名称以字母开头(不区分大小写),可以由字母,数字,下划线组成。 ·变量名称的长度不能超过30个字符

Web应用程序设计综合实验报告材料

Web应用程序设计综合实验报告题目:网上购物系统 学生姓名: XXX 学号: XXXXXXXXXXX 院(系): XXXXXXX 专业: XXXXXXXXXX 指导教师: XXXXXXXXXX 2014 年 7月 6 日

1、选题背景 随着计算机技术的发展和网络人口的增加,网络世界也越来越广播,也越来越来越丰富,网上商城已经成为网上购物的一股潮流。互联网的跨地域性和可交互性使其在与传统媒体行业和传统贸易行业的竞争中是具有不可抗拒的优势。在忙碌丰富的社会生活中,人们开始追求足不出户就能买到心仪的商品,是越来越多的上网爱好者实现购物的一种方式,对于企业来说,网络交易能大大提高交易速度、节约成本。在这种形势下,传统的依靠管理人员人工传递信息和数据的管理方式就无法满足企业日益增长的业务需求,因而开发了这样一个具有前台后台的网上商城系统,以满足购物者和企业的需求。 因此这次毕业设计题目就以目前现有的网上商城系统为研究对象,研究一般的网上商城的业务流程,猜测其各个功能模块及其组合、连接方式,并分析其具体的实现方式,最后使用Java加web服务器和数据库完成一个网上商城系统的主要功能模块。通过这样一个设计,可以提高自己Java编程的水准,也练习了怎样构建一个完整的系统,从系统的需求分析到设计,直至编码、测试并运行,熟悉并掌握一个完整的Web开发流程,为今后工作打下基础。 1.1设计任务 从以下几个方面实现网络商城的基本功能: 1、用户部分: (1)用户的登录和注册,用户必须注册才能购物,注册时系统会对注册信息进行验证,进入系统或是结账时,用户可以进行登录,登录时,如果密码错误,系统会进行验证并提示错误。 (2)浏览商品,实现用户可以在网络商店中随意浏览商品,商品按类别分类,方便用户查找不同类别的商品 (3)购物车管理,能实现添加商品、删除商品、更新商品的功能。 (4)生成订单,查看购物车后单击下一步则生成订单信息表,一旦提交订单,则购物车就不能被改变。 2、管理员部分:

MATLAB程序设计与应用刘卫国编课后实验答案81653

实验一 MATLAB 运算基础 1、 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin851z e =+ (2) 21ln(2 z x =,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 2242011 122123t t z t t t t t ?≤

2、 已知: 1234413134787,2033657327A B --???? ????==???? ????-???? 求下列表达式的值: (1) A+6*B 与A-B+I(其中I 为单位矩阵) (2) A*B 与A 、*B (3) A^3与A 、^3 (4) A/B 及B\A (5) [A,B]与[A([1,3],:);B^2] 解:

运算结果:

3、 设有矩阵A 与B 12 3 4 53 166789101769,11 121314150 23416171819209 7021 2223242541311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查瞧MATLAB 工作空间的使用情况。 解:、 运算结果:

4、完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果: (2)、建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果就是:

精通 oracle 10g plsql 编程-学习笔记

1.PL/SQL综述 本章学习目标,了解如下内容: PL/SQL的功能和作用 PL/SQL 的优点和特征; Oracle 10g、Oracle9i 的PL/SQL新特征 1.1.SQL简介 1.1.1.SQL语言特点 SQL语言采用集合操作方式 1.1. 2.SQL语言分类 ●数据查询语言(SELECT语句):检索数据库数据。 ●数据操纵语言(DML):用于改变数据库数据。包括insert,update和delete三条语句。 ●事务控制语言(TCL):用于维护数据库的一致性,包括commit,rollback和savepoint 三 条语句 ●数据定义语言(DDL):用户建立、修改和删除数据库对象。 ●数据控制语言(DDL):用于执行权限授予和收回操作。包括grant 和revoke两条命令。 1.1.3.SQL 语句编写规则 ●SQL关键字不区分大小写 ●对象名和列名不区分大小写 ●字符值和日期值区分大小写 ●书写格式随意 1.2.PL/SQL简介 1.3.Oracle 10G PL/SQL 新特征 2.PL/SQL开发工具 本章学习目标: 学会使用SQL*PLUS 学会使用PL/SQL developer; 学会使用Procedure Builder。 2.1.SQL*PLUS 在命令行运行SQL*Plus

Sqlplus [username]/[password] [@server] 3.PL/SQL 基础 学习目标: ●了解PL/SQL块的基本结构以及PL/SQL块的分类; ●学会在PL/SQL块中定义和使用变量 ●学会在PL/SQL块中编写可执行语句; ●了解编写PL/SQL代码的指导方针; ●了解Oracle 10g的新特征——新数据类型BINARY_FLOAT 和 BINARY_DOUBLE,以及指定字符串文本的新方法。 3.1.PL/SQL 块简介 3.1.1.PL/SQL块结构 3.1.2.PL/SQL 块分类 匿名块 命名块 子程序 触发器 3.2. 定义并使用变量 3.2.1.标量变量 3.2.2.复合变量 3.2.3.参照变量 3.2. 4.LOB 变量 3.2.5.非PL/SQL 变量

一种嵌入式显示系统的软件设计及应用

一种嵌入式显示系统的软件设计及应用 引言 ?嵌入式设备凭借其与使用者之间的亲和力、自然的人机交互界面,得到了迅速的发展,渗透到生活中的各个角落。本文介绍的设计方法是以高性能的8位单片机C8051F120作为核心处理器,SRAM作为系统的显存,FPGA实现时序转换,构建低温(-10℃)下嵌入式显示系统。通过PC机键盘和触摸屏实现界面操作,最终在液晶显示器上显示国标一/二级汉字、ASCII字符和65 536色的彩色图形和图片,并制作了简单的操作界面。 ?1 系统工作原理 ?显示汉字、英文字符和彩色图形的过程就是将字符和图形信息转换成液晶显示器可以显示的点阵信息。为了显示字符,可以将ASCII码字符点阵字库和按区位码排列的汉字点阵字库存储在单片机外接的Flash ROM中(构成点阵数据区),并且将程序中用到的字符以机内码的形式存储在Flash ROM中(构成文本数据区)。显示时,单片机将汉字机内码从文本数据区读出,转换成FlashROM中点阵数据区的字库地址,通过该地址读出字符的点阵数据,进一步转换成液晶显示器可显示的数据并送给后续电路处理和显示。这样在操作过程中可以显示包括国标一/二级汉字、大小写英文字符、标点和数字等多种字符。显示彩色图形的时候,由于图片的存储空间要求比较大,系统中没有足够的空间,可以将PC机内bmp格式的彩色图片经过格式转化以后,通过串口送给单片机实时处理并显示。 ?液晶显示器工作频率为4.5~6.8MHz,并且需要复杂的工作时序。考虑到单片机的工作速度和液晶显示器的工作频率,一方面,液晶显示器在工作频率下不断刷新才能工作,需要传送大量的显示数据和控制信息;另一方

C程序设计与应用实验指导与习题1,2章答案

第二部分习题篇 第一章C语言概述 一.单项选择题 1.A)2.A)3.A)4.B)5.C)6.D)7.C)8.A)9.D)10.C)11.C)12.D)13.B)14.D)15.A)二.填空题 1.高级语言2.main( ) 3.main( ) 4.{ } 5.分号 6.换行7.*/ 8.函数9.编译10..exe 三.判断题 1.(对)2.(对)3.(错)4.(对)5.(对)6.错)7.(对)8.(错)9.(对)10.对) 第二章数据类型与表达式 一.单项选择题 1.A)2.C 3.D)4.A)5.C)6.D)7.C)8.C)9.A)10.A)11.B)12.C)13.C)14.D)15.B)16.B)17.C) 二.填空题 1.Double 2.不同3.27 4.35 5.5 6.double 7.43 8.53 9.12,10,18 10.12.20 11.1,3,3,1 12.4,8 三.判断题 1.(对)2.(对)3.(错)4.(对)5.(对)6.(错)7.(对)8.(错)9.(对)10.(对) 第三章顺序结构程序设计 一.单项选择题 1.D)15.0,25.0,35.0 2.C)x=1.23,y=1.26 3.B)scanf(“%d%d%d”,&a,&b,&c);

4.A)scanf("%f",&a); 5.D)程序输出小写字母d 6.B)3 二.填空题 1.5.5 2.c+25 3.1,2,A,a 4.2D 三.判断题 1.顺序结构、选择结构和循环结构可以组成所有的各种复杂程序。(对)2.复合语句就是多条语句,不必须用花括号括起来。(错)3.在变量说明中,允许连续给多个变量赋初值。(错)4.scanf函数和printf函数的原型在头文件“stdio.h”中。(对)5.printf函数格式字符串中%4d表示输出一定是四位十进制整数。(错)6.putchar 函数的功能是在显示器上输出一个字符。(对)7.在scanf函数的格式串中,如果是“%d%d%d”,在输入三个十进制整数时要用一个以上的空格键、回车键和Tab键作为每两个输入数之间的间隔。(对)8.在scanf函数的格式串中,如果是“%c%c%c”,在输入三个字符时要用一个以上的空格键、回车键、Tab键和逗号作为每两个输入字符之间的间隔。(错)9.scanf("%5.2f",&a);是合法的,目的是输入小数为2位的实数。(错)10.getchar函数的功能是从终端输入一个字符。(对) 第四章选择结构程序设计 一.单项选择题 1.C)算术运算、关系运算、逻辑运算 2.A)% 3.B)x= =0 4.B)!、&&、|| 5.D)(x<=y)&&(y<=z) 6.D)(x<=-10)||(x>=7) 7.A)6='A')&&(x<='Z') 9.A)0,0 10.C)1,0 11.C)2 12.B)1,0,0,1 13.C)1

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

matlabl程序设计与应用(刘卫国)课后答案

实验三 二. 1.clear all m=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]; for x=m if x<0&x~=-3 y1=x^2+x-6; disp(['y= ',num2str(y1)]) elseif x>=0&x<5&x~=2&x~=3 y2=x^2-5*x+6; disp(['y= ',num2str(y2)]) else y3=x^2-x-1; disp(['y= ',num2str(y3)]) end end 2.clear all x=input('请输入成绩:'); while (x>100|x<0) x=input('输入错误,输入错误请重新输入成绩'); end switch fix(x/10) case {9,10} disp('A') case {8} disp('B') case {7} disp('C') case {6} disp('D') case {0,1,2,3,4,5} disp('E') end 3. clear all x=input('请输入工号:'); y=input('请输入工作时长:'); if y>120 a=84*120+(y-120)*84*0.15; disp(['您本月基本工资是: ',num2str(a)]) elseif y<60 b=84*y-700; disp(['您本月基本工资是: ',num2str(b)]) else c=84*y; disp(['您本月基本工资是: ',num2str(c)]) end 4. clear all a=fix(rand(1)*89)+10; disp(['a=',num2str(a)]) b=fix(rand(1)*89)+10; disp(['b=',num2str(b)]) x=input('输入一个四则运算符号:','s'); if abs(x)==43 c=a+b; elseif abs(x)==45 c=a-b; elseif abs(x)==42 c=a*b; elseif abs(x)==47 c=a/b; end disp(['计算结果是:',num2str(c)]) 5. clear all a=fix(rand(5,6)*89)+10; n=input('输入一个数(输出是一个5*6的矩阵该行元素):'); if n>5|n<0 b=a(5:5,:); disp(['输入错误,程序输出最后一行的元素:',num2str(b)]) else c=a(n:n,:); disp(['输出结果是:',num2str(c)]) end 实验四二.1. clear all s1=0; for n=1:100 x=1/(n^2); s1=s1+x; end disp(['当N=100时:',num2str(s1)]) s2=0; for n=1:1000 x=1/(n^2); s2=s2+x;

oracle-database-11g-plsql-编程实战笔记

Chap1 DML语句是select 、insert、update、delete和merge DDL语句是create、alter、drop、rename、truncate、comment DCL语句是grant、revoke TCL语句是commit、rollback和savepoint sql16个基本命令——参考书《OCA认证考试指南(IZ0-051)》清华大学出版社 《oracle database sql language reference 11g》有非遵循格式字符串依赖于格式掩码 chap2 2.1.3 关于语句中有多个单引号时处理: 1、 select'It''s a bird,no plan can''t be 'as pharse from dual; 此处两个单引号即为一个单引号 2、只能用q 再加’(语句)’ select q'(It's a bird,no plan can't be)'as pharse from dual; 均输出 PHARSE ---------------------------- It's a bird,no plan can't be 2.1.4 定义变量与申明变量的区别: 定义变量即为变量分配名称并指定数据类型;申明变量首先需要定义变量,然后为其赋值。(赋值也称为初始化) 替代变量前面要加&前缀且若替代变量为字符型时要加两个单引号如’&a’ declare lv_whom varchar2(20);/*lv-whom为申明变量,a为替代变量,a没有变量类型*/ begin lv_whom := '&a'; end; 或者 declare lv_whom varchar2(20); begin lv_whom := &a; end;但是要在输入框中字符加两个单引号 替代变量用define申明,且定义时不可以指定类型,默认为char型 ①Define x=emp; Select * from &x; /*调用要用&,此处不加单引号,解析后即为emp表*/

VISUAL_C 程序设计与应用教程课后答案11111111111

1.6习题 1.填空题 (1)项目工作区一般在集成开发环境的左侧。它展示一个项目的几个方面,它们分别是ClassView、ResourceView和FileView。 (2)编译程序的快捷键是Ctrl+F7,链接程序的快捷键是F7,运行程序的快捷键是Ctrl+F5。 (3)项目工作区文件的扩展名为.dsw。 (4)应用程序向导AppWizard的作用是帮助用户一步步生成一个新的应用程序,并且自动生成应用程序所需的基本代码。通过ClassWizard可以增加消息映射和成员变量。 (5)菜单选择可以通过两种方法来进行:一种是鼠标操作;另一种是键盘操作。 (6)编译微型条工具栏最右边按钮的功能是Insert/Remove Breakpoint。 (7)快捷键或菜单及相关资源的资源符号的前缀是IDR_。 (8)用户可以通过项目工作区窗口的ResourceView视图来查看资源。 2.选择题 (1)项目文件的扩展名是()。 A..exe B..dsp C..dsw D..cpp (2)设置断点的默认方式是()。(第2章) A.Location B.Data C.Message D.Breakpoints (3)用应用程序向导AppWizard创建C++源文件,应选择()选项卡。 A.Files B.Projects C.Workspaces D.Other Documents (4)Standard工具栏中最左边按钮与()菜单命令的功能一样。 A.New B.New File C.New Text File D.New Workspace (5)Windows资源提供的资源编辑器不能编辑()。 A.菜单 B.工具栏 C.状态栏 D.位图 3.判断题 (1)打开一个项目,只需打开对应的项目工作区文件。(T) (2)用户可以通过Tools|Customize菜单命令设置集成开发环境的工具栏。(T) (3)通过应用程序向导AppWizard建立的程序不能被立即执行。(F) (4)在同一项目中,Visual C++在内部用来标识资源的资源符号不能重复。(T) (5)在Windows环境下,资源与程序源代码紧密相关。(F) 4.简答题 (1)什么是项目?它是由什么组成的? 在Visual C++集成开发环境中,把实现程序设计功能的一组相互关联的C++源文件、资源文件以及支撑这些文件的类的集合称为一个项目。项目是Visual C++IDE开发程序的基本单位,一个项目至少包含一个项目文件,项目文件的扩展名为.dsp。项目文件保存了项目中所用到的源代码文件和资源文件的信息,如文件名和路径等。同时,项目文件还保存了项目的编译设置等信息,如调试版(debug)和发布版(release)。另外,根据项目类型的不同,一个项目包含有不同的源文件、资源文件和其他类别的文件。

实验6plsql程序设计

实验6 PL/SQL程序设计 1 实验目的 (1)掌握PL/SQL程序开发方法。 (2)掌握存储过程、函数、触发器、包的创建于调用。 2 实验要求 (1)根据图书销售系统业务要求创建特定的存储过程、函数、触发器。 (2)根据图书销售系统业务要求将图书销售系统相关的函数、存储过程封装到包里。 3 实验步骤 以bs用户登录BOOKSALES数据库,利用PL/SQL程序编写下列功能模块。 (1)创建一个存储过程,输出不同类型图书的数量、平均价格。

SQL> create or replace procedure proc_category_static 2 as 3 --定义游标,获取当前有哪些图书种类 4 cursor c_all_category is select distinct category from books; 5 --图书的平均价格 6 v_avg_cost number; 7 begin 8 --保存图书种类 9 for v_each_category in c_all_category LOOP 10 select avg(retail) into v_avg_cost from books where category= group by category; 11 ('种类为:'||||',平均价格为:'|| v_avg_cost); 12 END LOOP; 13 end proc_category_static; 14 /

(2)创建一个存储过程,以客户号为参数,输出该客户订购的所有图书的名称与数量。create or replace procedure proc_get_orderinfo( 2 p_customer_id %type) 3 as 4 --声明游标存储客户的订单号 5 cursor c_orderid is select order_id from orders where customer_id=p_customer_id; 6 v_orderid %type; 7 --声明游标存储订单信息 8 cursor c_orderitem is select ISBN, sum(quantity) totalnum from orderitem where order_id=v_orderid group by ISBN;

《MATLAB程序设计与应用(刘卫国)》(第二版) 答案

《MATLAB程序设计与应用(刘卫国)》(第二版)实验一MATLAB运算基础 1.(1) z1=2*sin(pi*85/180)/(1+exp(2)) (2)x=[2,1+2i;-0.45,5]; z2=log(x+sqrt(1+x.^2))/2 (3)a=-3.0:0.1:3.0; z3=0.5*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2) (4)t=0:0.5:2.5; z4=(t>=0&t<1).*t.^2+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^2-2*t+1) 2. A=[12,34,-4;34,7,87;3,65,7]; B=[1,3,-1;2,0,3;3,-2,7]; (1)a=A+6*B b=A-B+eye(size(A)) %I=eye(size(A)) (2)c=A*B d=A.*B (3)e=A^3 f=A.^3 (4)g=A/B h=B\A (5)m=[A,B] n=[A([1,3],:);B^2] 3. A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20;21,22,23,24,25]; B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]; (1)C=A*B (2)D=C(3:end,2:end) 4.(1) a=100:999; b=rem(a,21)==0; c=find(b); d=length(c) (2)ch='Just as Bianhaiman said,Xiehong is ...'; e=find(ch>='A'&ch<='Z'); ch(e)=[] 实验二 MATLAB矩阵分析与处理 1.E=eye(3);

程序设计与应用(第二版)实验答案

MATLAB程序设计与应用(第二版)实验参考答案 %实验一MATLAB运算基础 %第1题 %(1) z1=2*sin(85*pi/180)/(1+exp(2)) %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2)) %(3) a=-3.0:0.1:3.0; z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3) %第2题 A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; A+6*B A-B+eye(size(A)) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2] %第3题 A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] C=A*B F=size(C) D=C(F(1)-2:F(1),F(2)-1:F(2)) whos %第4题 %(1): A=100:999; B=rem(A,21); C=length(find(B==0)) %(2): A='lsdhKSDLKklsdkl';

k=find(A>='A'&A<='Z'); A(k)=[] %实验二 MATLAB矩阵分析与处理 %第1题 E=eye(3); R=rand(3,2); O=zeros(2,3); S=diag([2,3]); A=[E,R;O,S]; A^2 B=[E,(R+R*S);O,S^2] %第2题 H=hilb(5) P=pascal(5) Hh=det(H) Hp=det(P) Th=cond(H) Tp=cond(P) %第3题 A=fix(10*rand(5)) H=det(A) Trace=trace(A) Rank=rank(A) Norm=norm(A) %第4题 A=[-29,6,18;20,5,12;-8,8,5] [V,D]=eig(A) %数学意义略 %第5题方法一 %(1): A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b=[0.95,0.67,0.52]'; x=inv(A)*b %(2): B=[0.95,0.67,0.53]'; x=inv(A)*B %(3): cond(A) %第5题方法二 A=hilb(4) A(:,1)=[] A(4,:)=[] B=[0.95,0.67,0.52]';

.NET应用系统程序设计指要系列的导读

.NET应用系统程序设计指要系列的导读詹叔浩 $1 指要 不包括这篇导读,本应用系统程序设计指要系列包含六个上传文档。先看中文导读,再带着具体问题阅读相应地英文文档,就可以事半功倍、立竿见影。 文档六之一,N-Tier 应用程序的总体结构(N-Tier Application Architecture)的要点是分别以企业应用程序总体结构、工商应用程序总体结构、Internet应用程序总体结构为例,说 明如何规划N-Tier应用程序的总体结构。本文还简介了两个基本概念:Infrastructure和界面(Interface),接着细分出二类四种不同的界面,并勾画了它们之间的联系和区别。第一类是用户界面,它分为图形用户界面和指令用户界面;第二类是应用程序界面,它分为操作系统界面和特定程序界面。 参阅以下N-Tier .NET应用系统程序结构的分块组合示意图,.NET的应用程序主要由win form (Win 窗体),web form(Web 窗体),web services, service components, .NET remoting system, windows services, directory(路径)and virtual directory(虚拟路径)共七块组成。其中Win Form 和 Web Form两块,入门不久的.NET程序员,一 般都已掌握要领。所以,本系列只讨论其余五块(图中用红匡标识部分)。即从文档六之 系统程序结构的分块组合示意图 二到六之六,分别用五个不同的典型Project,指明了开发五种基本.NET应用程序的要点和步骤。

笔者的微软专家认证的注册号码 (Microsoft Certified Professional ID) 是 3446342。本指要系列所包含的六个上传文档,是为通过微软认证的“应用程序开发专家”(Microsoft MCAD certificate for Visual Studio .NET)执照考试而写的考前览要。因为完全在英语环境中备考,不得不用英文写成。本指要系列力求一目了然、切中要害、便于记忆。如果您要开发应用程序及其系统,希望本指要系列有进场助战的作用。如果您要管理协调软件开发工作或者一般了解微软.NET软件开发系统,希望本指要系列能协助您迅速进入状况,在脑海中形成一个简单、明确、生动、比较完整的图像。如果把这些文档翻译成中文,对达到以上“进场助战”的目的,应当是弊大于利。盼谅! $2六个上传文档的中文《摘要》和英文《关健词》 为了消融用英文书写给中文读者带来的不便,现将六个上传文档的中文《摘要》依秩列举如下。 1 of 6: N-Tier 应用程序的总体结构(N-Tier Application Architecture) 《摘要》 本文要点是以四个3-Tier 或 2-Tier应用程序为例,说明如何规划N-Tier应用程序的系统结构。本文简介了两个基本概念:Infrastructure和界面(Interface),接着细分出六种不同的界面,并勾画了它们之间的联系和区别。 《关健词》 N-Tier 应用程序的总体结构(N-Tier Application Architecture),企业应用程序的总体结构(Enterprise Application Architecture),工商应用程序的总体结构(Business Application Architecture),Internet应用程序的总体结构(Internet Application Architecture ) 2 of 6(Project 1 ):SOAP Extensions Web Services Components 《摘要》 面临的开发任务是把信用卡付款的功能,添加到已经存在的连锁零售系统中去。本文目的是用这个例子指明,开发应用程序SOAP XML Web Services 和 SOAP Web Services 的要点和步骤。 《关健词》 Web Services, XML Web Services, SOAP, SOAP Extensions, SOA Headers 3 of 6(Project 2):.NET Service Components 《摘要》 购物者通过互联网下达了邮购订单。面临的开发任务是,使购物者能够通过互联网跟踪邮购物品传递的全过程。本文目的是用这个例子指明,开发应用程序COM+ / COM Server Applications的要点和步骤。 《关健词》 COM+,COM,.NET Service Components, Legacy Code

相关文档
相关文档 最新文档