《计量经济学》上机实验参考答案(本科生)

《计量经济学》上机实验参考答案(本科生)
《计量经济学》上机实验参考答案(本科生)

《计量经济学》上机实验参考答案

实验一:计量经济学软件Eviews 的基本使用;一元线性回归模型的估计、检验和预测;多元线性回归模型的估计、检验和预测(3课时);多元非线性回归模型的估计。

实验设备:个人计算机,计量经济学软件Eviews ,外围设备如U 盘。

实验目的:(1)熟悉Eviews 软件基本使用功能;(2)掌握一元线性回归模型的估计、检验和预测方法;正态性检验;(3)掌握多元线性回归模型的估计、检验和预测方法;(4)掌握多元非线性回归模型的估计方法。

实验方法与原理:Eviews 软件使用,普通最小二乘法(OLS ),拟合优度评价、t 检验、F 检验、J-B 检验、预测原理。

实验要求:(1)熟悉和掌握描述统计和线性回归分析;(2)选择方程进行一元线性回归;(3)选择方程进行多元线性回归;(4)进行经济意义检验、拟合优度评价、参数显著性检验和回归方程显著性检验;(5)掌握被解释变量的点预测和区间预测;(6)估计对数模型、半对数模型、倒数模型、多项式模型模型等非线性回归模型。

实验内容与数据1:表1数据是从某个行业的5个不同的工厂收集的,请回答以下问题:

(1)估计这个行业的线性总成本函数:t

t x b b y 10???+=;(2)0?b 和1?b 的经济含义是什么?;(3)估计产量为10时的总成本。

表1 某行业成本与产量数据

参考答案:

(1)总成本函数(标准格式):

t t x y

25899.427679.26?+= s = (3.211966) (0.367954) t = (8.180904) (11.57462)

978098.02

=R 462819

.2.=E S 404274.1=DW 9719.133=F (2)0?b =26.27679为固定成本,即产量为0时的成本;1

?b =4.25899为边际成本,即产量每增加1单位时,总成本增加了4.25899单位。

(3)产量为10时的总成本为:

t t x y

25899.427679.26?+==1025899.427679.26?+=68.86669

实验内容与数据2:我国1978-2001年的财政收入(y )和国民生产总值(x )的数据资料如表2所示:

表2 我国1978-2001年财政收入和国民生产总值数据

试根据资料完成下列问题:

(1)给出模型t t t u x b b y ++=10的回归报告和正态性检验,并解释回归系数的经济意义;

(2)求置信度为95%的回归系数的置信区间;

(3)对所建立的回归方程进行检验(包括估计标准误差评价、拟合优度检验、参数的显著性检验);

(4)若2002年国民生产总值为103553.60亿元,求2002年财政收入预测值及预测区间(05.0=α)。

参考答案:

(1) t t x y 133561.06844.324?+= =)?(i

b s (317.5155) (0.007069) =)?(i

b t (1.022578) (18.89340) 941946.02=R 056.1065?==σSE 30991.0=DW 9607.356=F 133561.0?1

=b ,说明GNP 每增加1亿元,财政收入将平均增加1335.61万元。 (2))?()2(?0

2/00b s n t b b ?-±=α=324.6844±2.0739?317.5155=(-333.8466 983.1442) )

?()2(?12/11b s n t b b ?-±=α=0.133561±2.0739?0.007069=(0.118901 0.148221) (3)①经济意义检验:从经济意义上看,0133561.0?1

?=b ,符合经济理论中财政收入随着GNP 增加而增加,表明GNP 每增加1亿元,财政收入将平均增加1335.61万元。

②估计标准误差评价: 056.1065?==σ

SE ,即估计标准误差为1065.056亿元,它代表我国财政收入估计值与实际值之间的平均误差为1065.056亿元。

③拟合优度检验:941946.02

=R ,这说明样本回归直线的解释能力为94.2%,它代表我国财政收入变动中,由解释变量GNP 解释的部分占94.2%,说明模型的拟合优度较高。

④参数显著性检验:=)?(1

b t 18.8934?0739.2)22(025.0=t ,说明国民生产总值对财政收入的影响是显著的。

(4)6.1035532002=x , 41.141556.103553133561.06844.324?2002=?+=y

根据此表可计算如下结果:

10

22210

27.223)47.32735()1()(?=?=-?=-∑n x x

x t

σ

9

2

2

20021002.5)47.327356.103553()(?=-=-x x ,

10

92

22/10

27.21002.524

11506.10650739.241.14155)

()

(11?)2(???+

+

??±=--+

+??-±∑x x

x x n

n t y

t

f f σα

=(11672.2 16638.62)

实验内容与数据3:表3给出某地区职工平均消费水平t y ,职工平均收入t x 1和生活费用价格指数t x 2,试根据模型t t t t u x b x b b y +++=22110作回归分析报告。

表3 某地区职工收入、消费和生活费用价格指数

(1) t t t x x y

21963759.8634817.045741.10?-+= =)?(i

b s (6.685015) (0.031574) (5.384905) =)?(i

b t (1.564306) (20.10578) (-1.664608) 980321.02=R 975948.02=R 5572.208?==σSE 1705.224=F (2) ①经济意义检验:从经济意义上看,16348.0?01

?=?b ,符合经济理论中绝对收入假说边际消费倾向在0与l 之间,表明职工平均收入每增加100元,职工消费水平平

均增加63.48元。0964.8?2

?-=b ,符合经济意义,表明职工消费水平随着生活费用价格指数的提高而下降,生活费用价格指数每提高1单位时,职工消费水平将下降-8.964个单位。

②估计标准误差评价: 5572.208?==σ

SE ,即估计标准误差为208.5572单位,它代表职工平均消费水平估计值与实际值之间的平均误差为208.5572单位。

③拟合优度检验:975948.02

=R ,这说明样本回归直线的解释能力为97.6%,它代表职工平均消费水平变动中,由解释变量职工平均收入解释的部分占97.6%,说明模型的拟合优度较高。

④F 检验:1705.224=F 26.4)1212,2()1,(=--=--?ααF k n k F ,表明总体回归方程显著,即职工平均收入和生活费用价格指数对职工消费水平的影响在整体上是显著的。

⑤t 检验:=)?(1

b t 20.10578?262.2)9(025.0=t ,说明职工平均收入对职工消费水平的影响是显著的;?=664608.1)?(2b t 262.2)9(025

.0=t ,说明生活费用价格指数对职工消费水平的影响是不显著的。

实验内容与数据4:某地区统计了机电行业的销售额y (万元)和汽车产量1x (万辆)以及建筑业产值2x (千万元)的数据如表4所示。试按照下面要求建立该地区机电行业的销售额和汽车产量以及建筑业产值之间的回归方程,并进行检验(显著性水平05.0=α)。

表4 某地区机电行业的销售额、汽车产量与建筑业产值数据

(1)根据上面的数据建立对数模型:

t t t t u x b x b b y +++=22110ln ln ln (1)

(2)所估计的回归系数是否显著?用p 值回答这个问题。 (3)解释回归系数的意义。

(4)根据上面的数据建立线性回归模型:

t t t t u x b x b b y +++=22110 (2)

(5)比较模型(1)、(2)的2R 值。

(6)如果模型(1)、(2)的结论不同,你将选择哪一个回归模型?为什么? 参考答案: (1)回归结果

t t t x x y

21ln 56847.0ln 387929.0734902.3?++= =)?(i

b s (0.212765) (0.137842) (0.055677) =)?(i

b t (17.5541) (2.814299) (10.21006) 934467.02=R

925105.02

=R

097431.0?==σSE

81632.99=F

(2) t 检验:=)?(1b t 2.814299?145.2)14(025.0=t ,05.00138.01?=p ,说明汽车产量对机电行业销售额的影响是显著的;=)?(2

b t 10.21006?145.2)14(025.0=t ,05.00000.02?=p ,说明建筑业产值对机电行业销售额的影响是显著的。

F 检验:81632.99=F 74.3)1217,2()1,(=--=--?ααF k n k F ,05.00000.0?=p 表明总体回归方程显著,即汽车产量、建筑业产值对机电行业销售额的影响在整体上是显著的。

(3)387929.0?1

=b ,说明汽车产量每增加1%,机电行业的销售额将平均增加0.39%;56847.0?2

=b ,说明建筑业产值每增加1%,机电行业的销售额将平均增加0.57%。 (4)回归结果

t t t x x y 2193339.1170558.4545496.57?++-= =)?(i

b s (81.02202) (15.66885) (1.516553) =)?(i

b t (-0.709128) (2.916971) (7.868761) 903899.02=R 89017.02=R 08261.64?==σSE 83991.65=F

(5) 模型(1)的934467.02=R 、925105.02=R ,模型(2)的903899.02=R 、

89017.02

=R 。因此,模型(1)的拟合优度大于模型(2)的拟合优度。

(6)从两个模型的参数估计标准误差、S.E 、t 、F 、2R 统计量可以看出,模型(1)优于模型(2),应选择模型(1)。

实验内容与数据5:表5给出了一个钢厂在不同年度的钢产量。找出表示产量和年度之间关系的方程:bx

ae

y =,并预测2002年的产量。

表5 某钢厂1991-2001年钢产量 (单位:千吨)

t t x y

1167.0307562.2?ln += =)?(i

b s (0.021946) (0.003236) =)?(i

b t (105.1484) (36.06598) 993128.02=R 033937.0=SE

DW=1.888171 F=1300.755 122002=x ,707958.3121167.0307562.2?ln 2002=?+=y

,77.40?707958.32002==e y

实验二:异方差性、自相关性、多重共线性检验(3课时)

实验设备:个人计算机,计量经济学软件Eviews ,外围设备如U 盘。

实验目的:(1)掌握异方差性模型的检验方法和处理方法;(2)掌握自相关性性模型的检验方法和处理方法;(3)掌握多重共线性模型的检验方法和处理方法。

实验方法与原理:Goldfeld and Quandt 检验、White 检验、DW 检验和LM 检验、辅助回归模型检验和方差膨胀因子检验,加权最小二乘法、广义最小二乘法、广义差分法。 实验要求:(1)熟悉图形检验法;(2)熟悉戈德菲尔德——匡特检验、怀特检验、戈里瑟检验和帕克检验,掌握加权最小二乘法;(3)熟悉DW 检验和LM 检验,掌握广义差分法。(4)熟悉辅助回归模型检验和方差膨胀因子检验,掌握逐步回归法(Frisch 综合分析法)。

实验内容与数据6:试根据表6中消费(y )与收入(x )的数据完成以下问题:

(1)估计回归模型:t t t u x b b y ++=10;(2)检验异方差性(可用怀特检验、戈德菲尔德——匡特检验);(3)选用适当的方法修正异方差性。

表6 消费与收入数据

参考答案:(1)首先将x 排序,其次根据表2数据估计模型,回归结果如下:

t t x y

63797.0157515.9?+= s = (3.6480) (0.01996) t = (2.5102) (31.970)

9463.02

=R S.E=9.0561 DW=1.813 F=1022.072

(2)检验异方差:①怀特检验:99.5)2(57.102

05.02=?=χnr ,模型存在异方差;

②戈德菲尔德——匡特检验:将样本x 数据排序,n=60,154/==n c ,取c=16,从中

间去掉16个数据,确定子样1(1-22),求出4138.6301=RSS ;确定子样2(39-60),求出840.24952

=RSS

,计算出959.34138

.63084.24951

2

==

=

RSS RSS

F ,给定显著性水平05.0=α,

查12.2)20,20(05.0=F ,得:αF F ?,所以模型存在异方差。

(3)在方程窗口,取)(/1resid abs w =,得回归结果:

t t x y

6334278.01511.10?+= s = (0.434533) (0.002085) t = (23.36098) (303.7639)

999995.02

=R

S.E=0.956155 DW=1.22969 F=12908997

用怀特检验判断:

99.5)2(425945.02

05.02

=?=χnr

,模型已不存在异方差(从p 值也容易得出此结论)。

实验内容与数据7:某地区1978—1998年国内生产总值与出口总额的数据资料见表7,

其中x 表示国内生产总值(人民币亿元),y 表示出口总额(人民币亿元)。做下列工作:

(1)试建立一元线性回归模型:t t t u x b b y ++=10

(2)模型是否存在一阶段自相关?如果存在,请选择适当的方法加以消除。

表7 某地区1978—1998年国内生产总值与出口总额的数据资料

参考答案:(1)回归结果

(2)自相关检验:由DW=1.106992,给定显著性水平05.0=α查Durbin-Watson 统计表,n =21,k =1,得下限临界值221.1=L d 和上限临界值420.1=U d ,因为DW=1.106992?221.1=L d ,根据判断区域可知,这时随机误差项存在一阶正自相关。

(3)自相关的修正:用科克伦—奥克特(Cochrane —Orcutt )迭代法,在命令窗口直接

键入:LS y c x AR(1) 得如下回归结果

从表中可以看出,这时DW=1.633755,查n =20,k =1,05.0=α的DW 统计量表,得

414.1,201.1==U L d d ?DW=1. 633755?4-U d =2.586,这表明,模型已不存在自相关。此

时,回归方程为

t t x y

161603.07522.664?+-= t = (-0.845549) (8.094503)

910711.02

=R

DW=1.633755

[ AR(1) = 0.442943 ]

t = (1.608235)

也可以利用对数线性回归修正自相关,回归结果如下

从上表5.5.6可以看出,这时DW=2.13078,查n=20,k=1,05.0=α的DW 统计量表,得

414.1,201.1==U L d d ?DW=2.13078?4-U d =2.586,这表明,模型已不存在自相关。从

LM(1)=2.46 LM(2)=5.78也可以看出,模型已不存在1阶、2阶自相关。此时,回归方程为

t t x y

ln 017195.07931.479?ln += t = (0.025507) (1.617511)

990950.0991903.02

2

==R

R

DW=2.13708 LM(1)=2.46 LM(2)=5.78

F=1041.219

实验内容与数据8:表8给出了美国1971-1986年期间的年数据。

表8 美国1971~1986年有关数据

其中,y:售出新客车的数量(千辆);x1:新车,消费者价格指数,1967=100;x2:所有物品所有居民的消费者价格指数,1967=100;x3:个人可支配收入(PDI ,10亿美元);x4:利率;x5:城市就业劳动力(千人)。考虑下面的客车需求函数:

t t t t t t t u x b x b x b x b x b b y ++++++=55443322110ln ln ln ln ln ln

(1)用OLS 法估计样本回归方程;

(2)如果模型存在多重共线性,试估计各辅助回归方程,找出哪些变量是高度共线性的。

(3)在除去一个或多个解释变量后,最终的客车需求函数是什么?这个模型在哪些方面好于包括所有解释变量的原始模型。

(4)还有哪些变量可以更好地解释美国的汽车需求? 参考答案:(1)回归结果

t t t t t t x x x x x y

54321ln 2778.0ln 030.0ln 127.2ln 109.4ln 790.1255.3?ln +-+-+= t = (0.1723) (2.0500) (-2.5683) (1.6912) (-0.2499) (0.1364)

7822.08548.02

2

==R

R

DW=1.7930 F=11.7744

(2)相关系数矩阵检验:

辅助回归模型检验

(n=16,k=5,05.0=α)

由上表可以看出,所有变量都是高度共线的。

(3)由于x1(新价格指数)与x2(居民消费价格指数)变化趋于一致,可舍去其中

之一;由于x3(个人可支配收入)与x5(城市就业劳动力)变化趋于一致,可舍去其中之一。

(4)下列两个模型较为合适:

t t t t x x x y

541ln 2439.3ln 2949.0ln 0378.11037.22?ln +---= t = (-2.6397) (-3.1428) (-4.0015) (3.7191)

6061.02

=R DW=1.3097 F=8.6926

t t t t x x x y

542ln 7028.3ln 2429.0ln 9218.07996.22?ln +---= t = (-3.9255) (-4.5492) (-3.9541) (5.2288)

7364.02

=R

DW=1.5906 F=14.9690

与原模型相比,经上两模型中的所有系数符号正确且都在统计上显著。 (5)还有汽车消费税、汽车保险费率、汽油价格等。

实验三:虚拟变量的设置与应用、滞后变量模型的估计(3课时) 实验设备:个人计算机,Eviews 软件,外围设备如U 盘。

实验目的:掌握虚拟变量模型的估计方法、掌握分布滞变量模型的估计方法。 实验方法与原理:阿尔蒙法(Almon )、工具变量法、虚拟变量模型、分布滞后模型和自回归模型。

实验要求:熟悉虚拟变量的选取、设置原则与应用(如在季节调整模型中的应用、在模型结构稳定性检验中的应用)、掌握分布滞后模型和自回归模型的估计。

实验内容与数据9:表9给出了1993年至1996年期间服装季度销售额的原始数据(单位:百万元):

表9 服装季度销售额数据

现考虑如下模型:

t t t t t u D b D b D b b S ++++=4433221

其中,2D =l :第二季度;3D =1:第三季度;4D =l :第四季度;S =销售额。 请回答以下问题:

(1)估计此模型;(2)解释4321,,,b b b b ;(3)如何消除数据的季节性? 参考答案:(1)

t

t t t D D D S 43275.290975.139825.91275.4767?+++= s = (324.0365) (458.2569) (458.2569) (458.2569) t = (14.71362) (1.990696) (3.052327) (6.34605)

778998.02

=R 723747.02

=R

S.E=648.0731 DW=1.272707 F=14.09937

(2)75.4767?1

=b 表示第一季度的平均销售额为6767.75百万元;75.2909?,75.1398?,25.912?4

32===b b b 依次表示第二、三、四季度比第一季度的销售额平均高出75.2909,75.1398,25.912百万元。

(3)为消除数据的季节性,只需将每季度中的原始数据减去相应季度虚拟变量的系数估计值即可。

实验内容与数据10:表10给出了某行业1975-1994年的库存额y 和销售额x 的资料。试利用分布滞后模型:t t t t t t u x b x b x b x b a y +++++=---3322110,建立库存函数(用2次有限多项式变换估计这个模型)。

表10 某行业1975-1994年库存额和销售额资料

参考答案:在EViews 中输入y 和x 的数据后,在命令窗口键入:

LS y c PDL(x ,3,2) 得如下回归结果:

32155495.076178.015686.163208.0419601.6?----+++-=t t t t t x x x x y

s = (0.17916) (0.19593) (0.17820) (0.25562) t = (3.51797) (5.90452) (4.27495) (-2.17104)

实验内容与数据11:表11给出了美国1970-1987年间个人消费支出(C )与个人可支配收入(I )的数据(单位:10亿美元,1982年为基期)

表11 美国1970-1987年个人消费支出与个人可支配收入数据

考虑如下模型:

t t t u I a a C ++=ln ln 21 t t t t u C b I b b C +++=-1321ln ln ln

(1)估计以上两模型;(2)估计个人消费支出对个人可支配收入的弹性系数。

参考答案:(1)

t

t I C ln 102538.1885464.0?ln +-=……(1) s = (0.128932) (0.016816) t = (-6.867685) (65.56382)

99606.02

=R DW=1.413744 LM(1)=0.7153 LM(2)= 0.7056 F=4298.614

1

ln 015275.0ln 131706.1994922.0?ln --+-=t t t C I C ……(2) s = (0.199544) (0.168566) (0.151814) t = (-4.98599) (6.713724) (-0.100617)

99564.02

=R DW=1.659416 LM(1)=0.2438 LM(2)= 1.8136 F=1827.919

94453)?(1)

2

1(1

=--

=b nD n DW h ,96.1025.02/==h h α,025.0h h ?,不存在一阶自相

关。由LM(1)=0.2438、 LM(2)= 1.8136可知,模型不存在1阶、2阶自相关。

(2) 由(1)得:收入弹性1025.1=I E ;由(2)得:短期收入弹性1317.1=I E ,长期收入弹性114673.1015275

.011317.1=-=

I E

实验四:联立方程组模型的估计(3课时)

实验设备:个人计算机,Eviews 软件,外围设备如U 盘。

实验目的:(1)掌握间接最小二乘法(ILS );(2)掌握两阶段最小二乘法(TSLS );(3)掌握三阶段最小二乘法(3SLS );(4)掌握联立方程模型外生变量的预测方法和求解方法;(5)掌握宏观经济分析方法。

实验方法与原理:间接最小二乘法(ILS )、两阶段最小二乘法(TSLS )、三阶段最小二乘法(3SLS )、系统估计、联立方程模型。

实验要求:掌握方程联立方法,掌握恰好识别模型的估计如掌握间接最小二乘法(ILS )、掌握过度识别模型的估计如两阶段最小二乘法(TSLS ),掌握联立方程系统编辑和估计(如三阶段最小二乘法(3SLS ))。用宏观经济模型进行经济分析和政策评价。

实验内容与数据12:表12是我国1978-2003年国内生产总值(GDP )、货币供给量(2M )、

MATLAB课后实验答案

%实验一MATLAB运算基础 %第一题%(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)%第二题 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]%第三题 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%第四题 %(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矩阵分析与处理 %第一题 E=eye(3); R=rand(3,2); O=zeros(2,3); S=diag([2,3]);%判断AB是否相等 A=[E,R;O,S];A^2 B=[E,(R+R*S);O,S^2] %第二题 H=hilb(5) P=pascal(5) Hh=det(H) Hp=det(P) Th=cond(H) Tp=cond(P) %第三题: A=fix(10*rand(5)) H=det(A)Trace=trace(A) Rank=rank(A)Norm=norm(A) %第四题: A=[-29,6,18;20,5,12;-8,8,5] [V,D]=eig(A)%数学意义略 %第五题方法一: %(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) %第五题方法二: A=hilb(4) A(:,1)=[] A(4,:)=[] B=[0.95,0.67,0.52]'; X=inv(A)*B B1=[0.95,0.67,0.53]'; X1=inv(A)*B1 N=cond(B) N1=cond(B1) Na=cond(A) %矩阵A为病态矩阵 %第六题 A=[1,4,9;16,25,36;49,64,81] B=sqrtm(A) C=sqrt(A) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算 %实验三选择程序结构设计 %第一题程序一 x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5. 0]; y=[]; %建立存放所有y值的矩阵

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询: 1.检索王丽同学所学课程的课程号和课程名。 select Cno ,Cname from c where Cno in (select cno from sc where sno in (select sno from s where sname='王丽' )) 2.检索年龄大于23岁的男学生的学号和姓名。 select sno,sname from s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.360docs.net/doc/1d9252608.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.360docs.net/doc/1d9252608.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

同济大学微机原理实验报告

《微机原理与接口技术》上机实验报告

《微机原理与接口技术》上机实验报告

实验报告:(包括目的、方法、原理、结果或实验小节等)。 一、实验目的 掌握简单并行接口的工作原理及使用方法。 二、实验内容 1、按下面图一简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。 3、按下面图二简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。 图一图二 三、实验中使用到的程序 对于简单并行输出接口: stack1 segment stack 'stack' dw 32 dup(0) stack1 ends data segment baseport equ 0ec00h-280h;实际基址 port equ baseport+2a8h;基址+偏移地址 data ends code segment assume ss:stack1,ds:data,cs:code start: mov ax,data mov ds,ax again: mov ah,1 int 21h

实验5(答案)

实验五 连续系统分析 一、实验目的 1.深刻理解连续时间系统的系统函数在分析连续系统的时域特性、频域特性及稳定性中的重要作用及意义,掌握根据系统函数的零极点设计简单的滤波器的方法。 2.掌握利用MATLAB 分析连续系统的时域响应、频响特性和零极点的基本方法。 二、实验原理及内容 MATLAB 提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。 1. 连续系统的时域响应 连续时间LTI 系统可用如下的线性常系数微分方程来描述: ) ()( )()(01)1(1)(t y a t y a t y a t y a n n n n ++++-- )()( )()(01)1(1)(t x b t x b t x b t x b m m m m ++++=-- 已知输入信号x (t )以及系统初始状态)0(,),0('),0()1(----n y y y ,就可以求出系统的响应。 MATLAB 提供了微分方程的数值计算的函数,可以计算上述n 阶微分方程描述的连续系统的响应,包括系统的单位冲激响应、单位阶跃响应、零输入响应、零状态响应和完全响应。 在调用MATLAB 函数时,需要利用连续系统对应的系数函数。对微分方程进行Laplace 变换即可得系统函数: 1110111)()()(a s a s a s a b s b s b s b s X s Y s H n n n n m m m m ++++++++==---- 在MATLAB 中可使用向量和向量分别保存分母多项式和分子多项式的系数: ],,,,[011a a a a a n n -= ],,,,[011b b b b b m m -= 这些系数均按s 的降幂直至s 0排列。 ● 连续系统的单位冲激响应h (t )的计算 impulse(sys)计算并画出系统的冲激响应。 参数:sys 可由函数tf(b,a)获得。其中: ],,,,[011a a a a a n n -= ],,,,[011b b b b b m m -= h=impulse(sys, t) 计算出系统在向量t 定义的区间上的冲激响应, 向 量h 保存对应区间的系统冲激响应的输出值。 ● 连续系统的单位阶跃响应g (t )的计算 step(sys)计算并画出系统的阶跃响应。

大一C语言上机实验试题和答案

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P79) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d);

微机原理与接口技术实验报告

微机原理与接口技术实验报告

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

实验五数值积分参考答案

一 实验目的: 1 加深理解积分理论中分割、近似、求和、取极限的思想方法; 2 了解定积分近似计算的矩形法、梯形法与抛物线法; 3 会用MATLAB 语言编写求定积分近似值的程序,会用MALAB 中的命令求定积分。 二 实验准备素材 见附件。 三 实验内容 1.(不定积分)用int 计算下列不定积分,并用diff 验证 ?dx x x 2 sin ,?+x dx cos 1,?+1x e dx ,?xdx arcsin ,?xdx 3sec 2.(定积分)用trapz,int 计算下列定积分 ?10sin dx x x ,?10dx x x ,?π20)2sin(dx x e x ,?-102dx e x 3.(椭圆的周长) 用定积分的方法计算椭圆1492 2=+y x 的周长 4.(二重积分)计算积分??≤+++y y x dxdy y x 222)1( 5. (广义积分)计算广义积分 ?∞∞-+-dx x x 421)exp(,?10)tan(dx x x ,?-1021sin dx x x 7.1 syms x; g1=int(x.*sin(x).*sin(x)) g1 = x*(-1/2*cos(x)*sin(x)+1/2*x)+1/4*sin(x)^2-1/4*x^2

clear;syms x; d1=diff(x*(-1/2*cos(x)*sin(x)+1/2*x)+1/4*sin(x)^2-1/4*x^2) syms x; g2=int(1/(1+cos(x))) g2 = tan(1/2*x) clear;syms x; d2=diff(tan(1/2*x)) syms x; g3=int(1/(exp(x)+1)) g3 = log(exp(x))-log(exp(x)+1) clear;syms x; d3=diff(exp(x))-log(exp(x)+1)) syms x; g4=int(finverse(sin(x))) g4 = x*asin(x)+(1-x^2)^(1/2) clear;syms x; d4=diff(x*asin(x)+(1-x^2)^(1/2)) syms x; g5=int(sec(x).^3) g5 = 1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear;syms x; d5=diff(1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x))) 7.2 x=10e-100:0.001:1; y=sin(x)./x; trapz(x,y) clear all;syms x;

华南农业大学C语言实验上机实验第四版参考答案

C语言程序设计上机实验指导与习题 参考答案(第四版) (学生改编) 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用在线评判系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入visual c++ ,编译、连接和运行该程序。 #include"stdio.h" main() { printf("The first C Program\n"); } [具体操作步骤] (1)在编辑窗口中输入程序。 (2)保存程序,取名为 a1.c。 (3)按照第一章中介绍的方法,编译、连接和运行程序。 (4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。

2. 在在线评判系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, #include "stdio.h" main() { int a, b; scanf("%d%d", &a, &b); printf("%d", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为 a2.c。 (3)按照前二章中介绍的方法,编译、连接和运行程序。 (4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入在线评判系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。 3 实验 2 基本数据类型、运算和表达式 一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运 算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目 1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。#include "stdio.h" main() { int a, b; /*定义整型变量a和b*/

微机原理及应用实验报告

微机原理及其应用上机实验报告 实验一 程序调试实验(顺序结构程序设计) 一、实验目的: 1.学习及掌握汇编语言源程序的基本结构,明确程序中各段的功能和相互之间的关系。 2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 3、熟悉和掌握DEBUG 常用命令的使用 二、实验要求: 1、上机前,要认真阅读前言和课本相关章节 2、上机前,画好流程图,编写好程序 3、上机时,注意出现的错误,记录下出错信息,翻译之 4、完成好实验报告 三、实验内容: 在内存TAB 开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤ X ≤ 15),求X 的平方值,并把结果存放在Y 单元中。 (2).分析 X 平方的值是tab 为首地址且x 的值为有效地址中的值。 data segment x db 8 y db data ends stack segment para'stack' db 100 dup(0) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax xor ax,ax

mov al,x lea si,tab add si,ax mov al,[si] mov y,al mov ah,4ch int 21h code ends end start (3).程序调试: 4.心得体会 了解了顺序结构,掌握了程序的运行,调试。 实验二分支程序设计 一、实验目的: 熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法;掌握条件转移、无条件转移指令的使用方法。掌握分支程序设计、编写、调试和运行的方法。 二、实验要求: 1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序。 2、认真调试程序,对程序可能存在的所有分支都要进行运行,只有这样才能证明程序的正确性。 二、实验内容

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

微机原理上机实验(一)实验报告 主题:数据传送 一、实验目的 熟悉星研集成环境软件的使用方法。熟悉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

实验五 连接查询参考答案

--创建学生视图 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_stu]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view [dbo].[v_stu] go create view v_stu as select sid, sname, ssexy, sbdate, Datediff(year, sbdate, getdate()) as sage, stele, ugrade.gid, gname, gyear, udept.did, dname, daddr, dtele, demail, uteacher.tid, tname, tsexy, tbdate, tfield, tprof, tele, qq, email, msn from ustudent, ugrade, udept, uteacher where ustudent.gid=ugrade.gid and ugrade.did=udept.did and ugrade.tid=uteacher.tid --创建选修课程视图 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_sc]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view [dbo].[v_sc] go create view v_sc as select ustudent.sname, usc.*, cname, credit, pcid, chour, cattr, cnum from ustudent, usc, ucourse where ustudent.sid=usc.sid and usc.cid=ucourse.cid --1、显示所有学生的详细信息,包括学号、姓名、性别、年龄、班级名称,入学年份select sid, sname, ssexy, sage, gname, gyear from v_stu --2、显示信息科学与技术系同学的名单,包括学号、姓名、性别、年龄、班级名称、入学年份 select sid, sname, ssexy, sage, gname, gyear from v_stu where dname='信息科学与技术系' --3、显示选修了“数据库”的所有同学的学号、姓名 select sid, sname from v_sc where cname='数据库' --4、显示白云同学的班主任老师的姓名、联系电话 select tname, tele from v_stu

微机原理实验报告

微机原理 实验报告 学校:湖北文理学院、班级:电子1413 姓名:杨仕浩 学号:2014111347 指导老师:吉向东

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 四、实验程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?)

TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL A DDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: M OV AL,[SI] MOV BL,[DI] ADC AL,BL AAA MOV [SI],AL DEC SI DEC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05H AD3: ADD BYTE PTR [SI],30H ADD BYTE PTR [DI],30H DEC SI

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

微机原理及应用实验报告

微机原理及应用实验报告标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

微机原理及应用实验报告 班级: 姓名: 学号: 中南大学 机电工程学院精密测控实验室

实验二软件程序设计 1.实验目的: 1、掌握MCS-51单片机指令系统及用汇编语言编程技巧; 2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。 2.实验内容: 1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。 2.、编写多字节加法程序并上机调试通过。 8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结 果存入以20H为起始地址的区域中(低字节在前)。 3.实验设备名称、型号: 4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单: 程序1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次 后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。如 果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列 了。则可以退出循环,结束程序。 程序结构框图和程序代码如下:

数据结构上机实验答案

《数据结构实验指导书》答案 实验一: 1、请编写函数int fun(int *a, int *b),函数的功能是判断两个指针a和b所指存储单元的值 的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。在主函数中输入2个整数、调用函数fun、输出结果。 #include int fun(int *a, int *b) { if (*a*(*b)>0) return(1); else return(0); } main() { int x,y; scanf("%d%d",&x,&y); if (fun(&x,&y)) printf("yes\n"); else printf("no"); } 2、计算1+2+3+……+100,要求用指针进行设计。即设计函数int fun(int *n)实现求 1+2+3+……+*n,在主函数中输入、调用、输出结果。 #include int fun(int *n) { int i,sum=0; for (i=1;i<=*n;i++) sum+=i; return(sum); } main() { int x,sum; scanf("%d",&x); printf("the sum is %d\n",fun(&x)); } 3、函数的功能是求数组a中最大数的位置(位序号)。在主函数中输入10个整数、调用函

数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i*max) max=a+i; return(max-a); } main() {int a[N],maxi; input(a,N); maxi=fun(a,N); printf("\n the max position is %d\n",maxi); } 4、请编写函数fun(int *a,int n, int *odd, int *even),函数的功能是分别求出数组a中所有奇数之和和所有偶数之和。形参n给出数组中数据的个数;利用指针odd和even分别返回奇数之和和偶数之和。在主函数中输入10个整数、调用函数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i

微机原理实验报告

微 机 原 理 实 验 报 告 班级: 指导老师:学号: 姓名:

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图3-1

四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

C语言实验参考答案11

C语言实验参考答案 实验一 5、输入并运行自已编写的程序(教材第一章P14 三编程题)。 实验二 1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。 #include main() {float x,y,z,s,t,a; printf(“x,y,z=”); scanf(“%f,%f,%f”,&x,&y,&z); s=x+y+z; t=x*y*z; a=s/3; printf(“s=%f,t=%f,a=%f\n”,s,t,a); } 2、编程。要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后: 1)用整数输出这两个数的和、差; 2)用长整型输出这两个数的积,用float输出商; 3)用整数输出这两个数的余数,用float输出平均值。 #include

{int a,b,he,cha,yu; long ji; float shang,aver; printf(“a,b=”); scanf(“%d,%d”,&a,&b); he=a+b; cha=a-b; ji=(long)a*b; shang=1.0*a/b; yu=a%b; aver=(a+b)/2.0; printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji); printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver); } 3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明。 程序同上。 实验三 1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。 #include

相关文档
最新文档