当前位置:文档之家› 智能计算实验报告

智能计算实验报告

智能计算实验报告
智能计算实验报告

BP 人工神经网络智能学习算法

一、 人工智能算法思想:

人工神经网络(ArtificialNeuralNetworks ,简写为ANNs )也简称为神经网络(NNs )或称作连接模型(ConnectionistModel ),它是一种模拟动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络反映了生物神经元的某些基本特征,是对生物神经细胞见得兴奋传导过程做一种抽象简化和模仿。而正是由于人工神经网络的这种仿生物设计,使得它具有了三大功能: 自学习功能 联想存储功能

高速寻找优化解的能力

这几点正是人类大脑的基本功能,可见人类的智慧,思维等都是建立在神经网络这样的结构基础上的。所以将人工神经网络算法作为机器学习算法,对人工智能和模式识别等领域都有着重要意义。 人工神经元

人工神经元是对生物神经元的抽象和模拟。下图是典型的人工神经元示意图:

x 树突突触神经元细胞体

轴突

图1 人工神经元抽象模型

其中1x ,2x , ,n x 表示他的n 个输入;1w ,2w , ,n w ,代表与他相连的n 个突触的连接强度,其值成为权值;∑X W T 称为激活值,表示这个人工神经元的输入加权总和,对应于生物细胞的膜电位;o 代表这个人工神经元的输出;θ表示这个人工神经元的阈值。

如果∑X W T 超过θ则人工神经元被激活。其输出可描述为:

()

∑-=θX W

f

o T

其中()T n w w w W ,,,21 =为权矢量,()T n x x x X ,,,21 =为输入矢量。

f 为阈值函数,可选阶跃函数,sgn 函数,sigmoid 函数等。

分类:

人工神经网络根据神经元之间的拓扑结构上的不同可分为两类: 分层网络

相互连接型网络

其中分层网络可以细分为三种互联形式:

简单的前向网络 具有反馈的前向网络

层内有相互连接的前向网络

二、 BP 人工神经网络算法:

BP 神经网络是一种具有三层或三层以上的多层神经网络,每层都有若干个神经元组成,前一级的神经元和每一个后一级的神经元依次连接,其神经元和网络结构示意图如下:

x j

图2 BP 网络神经元

图3 BP 网络示意图

BP 神经网络按有导师的学习方式进行训练,当一学习模式提供给网络后,神经元的激活值输入层经各中间层向输出层传播,在输出层的各神经元输出对应于输入模式的网络响应。然后按减少目标输出与实际输出误差的原则,从输出层经各中间层,最后回到输入层依次修改连接权,随着连接权的不断修正,输出结果的正确率也不断提高。因此BP 神经网络算法称为“误差逆传播算法”。 设计BP 网络所要考虑的因素:

网络的层数:增加层数能提高精度,但同时会将网络复杂化大大加大迭代时间,所

以一般通过增加每层含有的神经元数来提高精度,在精度要求的范围内要尽量减少层数

隐含层的神经元:一般选取输入层节点数的两倍加上一点裕量作为隐含层神经元的

数量。

初始权值的选取:初始权值太大太小都影响学习速度,一般取(-1,1)之间的随

机数也可取(-2.4/n , 2.4/n )之间的随机数。

M q L 信息流

输入模式

误差反传(学习算法)

学习速率:学习速率决定每一次循环训练中所产生的权值变化量。太大,系统不稳

定,太小,系统收敛慢。通常选0.1~0.8。

期望误差的选取:与隐含层的神经元数量相关联。

三、 梯度下降BP 神经元网络算法流程:

算法流程图如下:

具体步骤: 1)确定参数

a 确定输入向量X ; 输入量为[]T n

x x x X ,,,21 =(输入层神经元为n 个)

。 b.确定输出量Y 和希望输出量O : 输出向量为[

]T

q

y y y Y ,,,21 =(输出层神经元为q 个)

。 希望输出向量[]T q

o o o O ,,.2

1

=。

c.确定隐含层输出向量B :

隐含层输出向量为[

]T

p

b b b B ,,.21 =,

(隐含层单元数为p )。 隐含层连接权初始化值:[]T

jn jt

j j j

w w w w W ,,,,.2

1

=,p j ,,2,1 =。 输出层连接权初始化值:[]T

kp

kj

k k j

v v v v V ,,,,.2

1

=,q k ,,2,1 =。

2)输入模式顺传播:

a.计算隐含层各神经元的激活值j s :

j n

i i ji j x w s θ-?=∑=1

式中ji w 为隐含层连接权,j θ为隐含层单元的阈值。 激活函数采用S 型函数,即

)

exp(11

)(x x f -+=

b.计算隐含层j 单元的输出值。将上面的激活值代入激活函数中可得隐含层j 单元的 输出值为:

)

exp(11

)(1∑=+?-+=

=n

i j i ij j j x w s f b θ

其中阈值θ与ij w 一样的被不断修改。 C.计算输出层第k 个单元的激活值k s :

k p

j j kj k b v s θ-?=∑=1

d.计算输出层第k 个单元的实际输出值k y :

),,2,1)((q t s f y k k ==

式中kj v 为隐含层到输出层的权值;

k θ输出单元阈值

)(x f 为S 型激活函数。 3)输出误差的你传播

当实际输出与目标输出的误差大于要求的误差范围时,就要依次一层层对BP 网络 的参数进行更改:

a.输出层校正误差为:

)1()(k k k k k y y y o d --= ),,2,1(q k = 式中k y 为实际输出,k o 为希望输出; b.隐含层各单元的校正误差为:

)1(1j j q k k kj j b b d v e -??

?

????=∑=

C.输出层至隐含层连接权和输出层阈值的校正量为: j k kj b d v ??=?α

k k d ?=?αθ

式中j b 为隐含层j 单元的输出,为输出层的k d 校正误差,α为学习系数

d.隐含层至输入层的校正量为:

i j ij x e w ??=?β

j j e ?=?βθ

j e 为隐含层j 单元的校正误差,β为学习系数,10<<β。

4)循环记忆训练:

为使网络误差趋于极小值,一般要经历多次循环记忆才能使网络记住这一模式, 这种循环记忆实际上就是反复重复上面的过程。

四、 改进方法:

梯度下降BP 网络算法的缺点: 收敛速度慢

存在局部极小点问题 有动量的梯度下降法: 梯度下降法在修正权值时,只是按照K 时刻的负梯度方向修正,并没有考虑到以前积累的经验,即以前的梯度方向,从而使得学习过程发生震荡,收敛缓慢。为此可采用如下

算法进行改进:

[])1()()1()()1(-+-+=+t ad t d t w t w ji ji αη

式中,)(t d 表示t 时刻的负梯度;η为学习速率;[]1,0∈α是动量因子,当0=α时,权值修正只与当前负梯度有关当1=α时,权值修正就完全取决于上一次循环的负梯度了。这种方法实际上相当于给系统加入了速度反馈,引入了阻尼项从而减小了系统震荡,从而改善了收敛性。

有自适应lr 的梯度下降法:

由于学习速率对于训练的成功与否有很大的影响,而且合理的学习速率将会缩短训练的时间,由此可以想到在训练的不同阶段改变梯度下降法中的学习参数,从而获得更好的训练效果,这就有了自适应lr 的梯度下降法。

以上两种改进方法还可以同时使用用以更好的改进BP 网路的训练过程。

五、 程序实现:

Matlab 程序代码如下: P=[1,2,3];

% T 为目标矢量 T=[2,2,6];

% 创建一个新的前向神经网络

net=newff(minmax(P),[5,1],{'logsig','logsig'},'traingd'); % 当前输入层权值和阈值 inputWeights=net.IW{1,1}; inputbias=net.b{1};

% 当前网络层权值和阈值 layerWeights=net.LW{2,1}; layerbias=net.b{2}; % 设置训练参数

net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9;

net.trainParam.epochs = 10000; net.trainParam.goal = 1e-3;

% 调用 TRAINGDM 算法训练 BP 网络 [net,tr]=train(net,P ,T); % 对 BP 网络进行仿真 A = sim(net,P)

% 计算仿真误差 E = T - A MSE=mse(E) x=[2,3] sim(net,x)

改变函数newff 中控制训练方式的参数'traingd'可以得到不同训练方法的训练结果。 其中:

'traingd'为梯度下降法

'traingdm'为有动量的梯度下降法 'traingda'为有自适应lr 的梯度下降法

'traingdx'为有动量加自适应lr 的梯度下降法 运行结果:

1阈值函数采用双logsig 函数 则网络结构为:

1.1梯度下降法

net=newff(minmax(P),[5,1],{'logsig','logsig'},'traingd');

结果为:

误差一直稳定在9附近就不再减小了,最后训练次数达到了上限10000停止

梯度下降的很慢,说明最后网络收敛在mse为9的一个极小值附近。

1.2有动量的梯度下降法

net=newff(minmax(P),[5,1],{'logsig','logsig'},'traingdm');

结果为:

与采用梯度下降法时的情况相同收敛到MSE=9的地方了

可见梯度很快趋于零,速度比1.1中的方法快,这体现了加入动量对提高收敛速度的作用,但是提供收敛速度并不能使系统跳出局部最小值。

1.3有自适应lr的梯度下降法

net=newff(minmax(P),[5,1],{'logsig','logsig'},'traingda');

结果为:

可见只用了468次迭代MSE就满足要求了。

梯度一直稳定下降

学习率最后变得很大

1.4有动量加自适应lr的梯度下降法

net=newff(minmax(P),[5,1],{'logsig','logsig'},'traingdx'); 结果为:

迭代次数与1.3相差无几

梯度一直减小趋近于零

学习率后来变得很大

由以上结果可得出结论:

梯度下降法可能收敛于局部极小值

加入向量可以使得网络梯度下降更快,但无法跳出局部极小值区域

改变学习速率对改善网络训练有很大帮助,可以跳出局部极小值区域

2阈值函数采用tansig(正切s型传递函数)和purelin(线性传递函数)函数则网络结构为:

2.1梯度下降法

net=newff(minmax(P),[5,1],{'tansig','purelin'},'traingd'); 结果为:

74次训练后收敛

2.2有动量的梯度下降法

net=newff(minmax(P),[5,1],{'tansig','purelin'},'traingdm'); 结果为:

迭代次数为89反而比2.1中的迭代次数多

梯度并不是单调下降,而是波动下降。

2.3有自适应lr的梯度下降法

net=newff(minmax(P),[5,1],{'tansig','purelin'},'traingda'); 结果为:

32次迭代就训练完成了。

梯度一直平滑减小

学习率一直平滑增大

2.4有动量加自适应lr的梯度下降法

net=newff(minmax(P),[5,1],{‘tansig’,’purelin’},’traingdx’); 结果为:

40次迭代完整训练。

梯度单调下降,但不平滑。

学习率波动变化,总体变大

由以上实验得出结论:

加入向量并不是在任何情况下都会加快系统收敛速度的,还可能使得系统迭代次数增加

不同的阈值函数对于训练的速度,收敛性有非常大的影响,所以在设计神经网络是要尽量选择合适的阈值函数已达到快速收敛和高精度的特性。

六、总结与展望

R到n R得映BP神经网络数学意义明确,步骤分明,理论上可以实现多为单位立方体m

射,够逼近任何有理函数,有着非常广泛的应用前景。但是这个方法也有很多的不足,比如试验中观察到的无法跳出局部极值的问题,采用改变学习率的方法可以克服这个缺点,同时如果不改变学习率,我觉得也可以用模拟退火的方法跳出局部极值区域,虽然很肯能效果没有改变学习率好,但也值得尝试。

参考文献

[1] matlab中文论坛 matlab神经网络30个案例分析北京航空航天大学出版社

[2] 杨淑莹模式识别与智能计算-matlab技术实现电子工业出版社

智能计算作业

学号:3110038000

专业班级:硕037班

姓名:

《计算方法》课内实验报告

《计算方法》实验报告 姓名: 班级: 学号: 实验日期: 2011年10月26日

一、实验题目: 数值积分 二、实验目的: 1.熟悉matlab 编写及运行数值计算程序的方法。 2.进一步理解数值积分的基础理论。 3.进一步掌握应用不同的数值积分方法求解给定的积分并给出数据结果及误差分析。 三、实验内容: 1.分别用复合梯形求积公式及复合辛普森求积公式计算积分xdx x ln 10 ? , 要求计算精度达到410-,给出计算结果并比较两种方法的计算节点数. 2.用龙贝格求积方法计算积分dx x x ?+3 021,使误差不超过510-. 3.用3=n 的高斯-勒让德公式计算积分?3 1 sin x e x ,给出计算结果. 4.用辛普森公式(取2==M N ) 计算二重积分.5 .00 5 .00 dydx e x y ? ? - 四、实验结果: 1.(1)复合梯形法: 将区间[a,b]划分为n 等份,分点n k n a b h kh a x k ,2,1,0,,=-=+=在每个区间[1,+k k x x ](k=0,1,2,···n-1)上采用梯形公式,则得 )()]()([2)()(1 11 1 f R x f x f h dx x f dx x f I n n k k k b a n k x x k k ++===∑?∑? -=+-=+ 故)]()(2)([21 1 b f x f a f h T n k k n ++=∑-=称为复合梯形公式 计算步长和划分的区间 Eps=1E-4 h1=sqrt(Eps/abs(-(1-0)/12*1/(2+1))) h1 =0.0600 N1=ceil(1/h1) N1 =17 用复合梯形需要计算17个结点。 复合梯形: function T=trap(f,a,b,n) h=(b-a)/n;

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

竭诚为您提供优质文档/双击可除数据结构表达式求值实验报告 篇一:数据结构实验二——算术表达式求值实验报告 《数据结构与数据库》 实验报告 实验题目算术表达式求值 学院:化学与材料科学学院 专业班级:09级材料科学与工程系pb0920603 姓学 邮名:李维谷号:pb09206285箱: liwg@https://www.doczj.com/doc/5b3393690.html,指导教师:贾伯琪 实验时间:20XX年10月10日 一、需要分析 问题描述: 表达式计算是实现程序设计语言的基本问题之一,它的实现是栈的应用的一个典型例子。设计一个程序,演示通过将数学表达式字符串转化为后缀表达式,并通过后缀表达式结合栈的应用实现对算术表达式进行四则混合运算。

问题分析: 在计算机中,算术表达式由常量、变量、运算符和括号组成。由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。 设置运算符栈(字符型)和运算数栈(浮点型)辅助分析算符优先关系。在读入表达式的字符序列的同时完成运算符和运算数的识别处理,然后进行运算数的数值转换在进行四则运算。 在运算之后输出正确运算结果,输入表达式后演示在求值中运算数栈内的栈顶数据变化过程,最后得到运算结果。 算法规定: 输入形式:一个(:数据结构表达式求值实验报告)算术表达式,由常量、变量、运算符和括号组成(以字符串形式输入)。为使实验更完善,允许操作数为实数,操作符为(、)、.(表示小数点)、+、-、*、/、^(表示乘方),用#表示结束。 输出形式:演示表达式运算的中间结果和整个表达式的最终结果,以浮点型输出。 程序功能:对实数内的加减乘除乘方运算能正确的运算出结果,并能正确对错误输入和无定义的运算报错,能连续测试多组数据。 测试数据:正确输入:12*(3.6/3+4^2-1)#

编程实验报告---科学计算器设计与实现

《可视化程序编程环境》 实验报告 项目名称科学计算器设计与实现 学院计算机学院 专业班级计算机科学与技术0804 2010年1月9 日

一、设计任务与要求 使学生了解可视化程序设计语言的基础知识,掌握面向对象编程的分析设计方法,以及与面向对象技术相关的一些软件开发技术,掌握在 VisualC++6环境下进行可视化程序设计技术。通过实践具体的项目,为他们进一步开展相关领域的学习和科研打下良好的基础。 二、需求分析 1. 功能需求(功能划分、功能描述) 1、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算 2、科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行 3、以角度、弧度两种方式实现上述部分函数 4、具备历史计算的记忆功能 5、对不正确的表达式能指出其错误原因 2. 运行需求(用户界面、人机接口、故障处理) 根据计算器要实现的相应功能来布局,分为基本功能区,特殊函数区,进制转换区,度数转换区和输出显示区五大基本模块。 三、实验方案 1、总体设计框图 2

3.基本功能区的设计 在这个模块中主要把0到F各个按键按下去后在输出显示区上显示出来列举一例: void Caysf55Dlg::OnBnClickedButton3() {if(zuizong=="0") m_str=""; m_str+="1"; UpdateData(0); if(zuizong=="0") zuizong=""; zuizong+="1";// TODO: 在此添加控件通知处理程序代码 } 接下来从输出显示区获得字符串,通过运算符的相应按键处理:列举加法: void Caysf55Dlg::OnBnClickedButton19()/*加法运算*/ {double zan; if(m_str=="") MessageBox(L"没有运算数"); else if(y==1||M==1) MessageBox(L"只能输入数值"); else if(m_str.GetAt (m_str.GetLength()-1)=='+'||m_str.GetAt (m_str.GetLength()-1)=='-'||m_str.GetAt (m_str.GetLength()-1)=='*'||m_str.GetAt (m_str.GetLength()-1)=='/')

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

计算机网络基础模拟器实验报告

计算机网络模拟器实验报告 实验说明:共5个实验,其中前3个必做,后2个选做。 一、实验目的 1、掌握模拟器软件的使用方法; 2、掌握配置PC、交换机、路由器的方法; 3、掌握为交换机设置VLAN,为端口设置TRUNK的方法。 二、实验环境(请注意关闭杀毒软件) WinXP/WIN7、HW-RouteSim 2.2(软件请到BB课程 资源下载,下载后直接解压缩运行;下载前请关闭 杀毒软件) 三、实验步骤及结果 实验一:计算机和交换机基本设置 添加一个交换机,两个计算机,连接A电脑到交换机3号端口,B电脑到6号端口,双击交换机,进入终端配置: system password: [Quidway]sysname S3026 ;交换机重命名为S3026

[S3026]super password 111 ;设置特权密码为111 [S3026]quit sys password:111 [S3026]display currect-config ;查看当前所有配置[S3026]display vlan all ;查看当前VLAN设置 观察此时所有交换机端口都在同一个vlan1内。 双击小电脑A: login:root password:linux [root@PCAroot]# ? ;输入?号查看命令提示 [root@PCAroot]#ifconfig eth0 10.65.1.1 netmask 255.255.0.0 双击小电脑B: login:root password:linux [root@PCAroot]#ifconfig eth0 10.65.1.2 netmask 255.255.0.0 点击A电脑做测试: [root@PCA root]#ping 10.65.1.2

数据结构实验二——算术表达式求值实验报告

《数据结构与数据库》 实验报告 实验题目 算术表达式求值 学院:化学与材料科学学院 专业班级:09级材料科学与工程系PB0920603 姓名:李维谷 学号:PB09206285 邮箱:liwg@https://www.doczj.com/doc/5b3393690.html, 指导教师:贾伯琪 实验时间:2010年10月10日 一、需要分析 问题描述:

表达式计算是实现程序设计语言的基本问题之一,它的实现是栈的应用的一个典型例子。设计一个程序,演示通过将数学表达式字符串转化为后缀表达式,并通过后缀表达式结合栈的应用实现对算术表达式进行四则混合运算。 问题分析: 在计算机中,算术表达式由常量、变量、运算符和括号组成。由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。 设置运算符栈(字符型)和运算数栈(浮点型)辅助分析算符优先关系。在读入表达式的字符序列的同时完成运算符和运算数的识别处理,然后进行运算数的数值转换在进行四则运算。 在运算之后输出正确运算结果,输入表达式后演示在求值中运算数栈内的栈顶数据变化过程,最后得到运算结果。 算法规定: 输入形式:一个算术表达式,由常量、变量、运算符和括号组成(以字符串形式输入)。为使实验更完善,允许操作数为实数,操作符为(、)、.(表示小数点)、+、-、*、/、^(表示乘方),用#表示结束。 输出形式:演示表达式运算的中间结果和整个表达式的最终结果,以浮点型输出。 程序功能:对实数内的加减乘除乘方运算能正确的运算出结果,并能正确对错误输入和无定义的运算报错,能连续测试多组数据。 测试数据:正确输入:12*(3.6/3+4^2-1)# 输出结果:194.4

计算机科学与技术第次实验报告.docx

哈尔滨工程大学 《程序设计基础》实验报告 基础实践一 姓名:班级: 学号: 实验时间 :2018年5月10日成绩 哈尔滨工程大学计算机基础课程教学中心 实验题目 1:输入两个整数数组,每个数组有五个整数,将两者和并 并排列输出。 设计思想: 定义三个数组 , 将两组数据存储到第三个数组中 , 再用冒泡排序对其由大到小排序并输出。 实验代码及注释: #include #include #define N 10//宏定义

int main() { int a[5],b[5],c[N];//第一组数据,第二组,合并数组int i,j,t;//循环变量,中间变量 printf("输入第一组数据 :\n");//输入数据 for(i=0;i<5;i++) scanf("%d",&a[i]); printf("输入第二组数据 :\n"); for(i=0;i<5;i++) scanf("%d",&b[i]); for(i=0;i<5;i++) { c[i]=a[i];//两组数据合并 c[i+5]=b[i]; } for(i=0;i

for(j=0;j

c 计算器实验报告

简单计算器 姓名: 周吉祥 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。 实验内容: (1)体系设计: 程序是一个简单的计算器,能正确输入数据,能实现加、减、乘、除等算术运算,运算结果能正确显示,可以清楚数据等。 (2)设计思路: 1)先在Visual C++ 6.0中建立一个MFC工程文件,名为 calculator. 2)在对话框中添加适当的编辑框、按钮、静态文件、复选框和单 选框 3)设计按钮,并修改其相应的ID与Caption. 4)选择和设置各控件的单击鼠标事件。 5)为编辑框添加double类型的关联变量m_edit1. 6)在calculatorDlg.h中添加math.h头文件,然后添加public成 员。 7)打开calculatorDlg.cpp文件,在构造函数中,进行成员初始 化和完善各控件的响应函数代码。 (3)程序清单:

●添加的public成员: double tempvalue; //存储中间变量 double result; //存储显示结果的值 int sort; //判断后面是何种运算:1.加法2.减法3. 乘法 4.除法 int append; //判断后面是否添加数字 ●成员初始化: CCalculatorDlg::CCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CCalculatorDlg::IDD, pParent) { //{{AFX_DATA_INIT(CCalculatorDlg) m_edit1 = 0.0; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0; result=0; sort=0; append=0; }

通信网络基础实验报告

通信网络基础实验 报告 学号:。。。 姓名:。。。 专业:通信工程 指导老师:孙恩昌 完成时间:2015-12-27

目录 一.实验目的 (3) 二.实验内容 (3) 三.实验原理 (3) 四.实现停等式ARQ实验过程及结果: (5) 五.实现返回n-ARQ实验过程及结果: (7) 六.实现选择重发式ARQ过程及结果: (8) 七.心得体会 (10)

一.实验目的 1.理解数据链路层ARQ协议的基本原理 2.用算法实现四种不同形式的ARQ重传协议:停等式ARQ、返回n-ARQ、选择重发式ARQ和ARPANET ARQ。 3.提高分析和解决问题的能力和提高程序语言的实现能力 二.实验内容: 1.根据停等式ARQ协议基本理论,编写协议算法,进行仿真; 2.根据返回N-ARQ协议基本理论,编写协议算法,进行仿真; 3.根据选择重传ARQ协议基本理论,编写协议算法,进行仿真; 4.根据并行等待ARQ协议基本理论,编写协议算法,进行仿真 三.实验原理 1.停等式ARQ:在开始下一帧传送出去之前,必须确保当前帧已被正确接受。假定A到B的传输链路是正向链路,则B到A的链路称为反向链路。在该链路上A要发送数据帧给B,具体的传送过程如下: 发送端发出一个包后,等待ACK,收到ACK,再发下一个包,没有收

到ACK、超时,重发 重发时,如果ACK 不编号,因重复帧而回复的ACK,可能被错认为对其它帧的确认。 2. 返回n-ARQ:发送方和接收方状态示意图 返回n-ARQ方案的特点如下: (1)发送方连续发送信息帧,而不必等待确认帧的返回; (2)在重发表中保存所发送的每个帧的备份; (3)重发表按先进先出(FIFO)队列规则操作; (4)接收方对每一个正确收到的信息帧返回一个确认帧,每一个确认帧包含一个惟一的序号,随相应的确认帧返回; (5)接收方保存一个接收次序表,包含最后正确收到的信息帧的序号。当发送方收到相应信息帧的确认后,从重发表中删除该信息帧的备份;

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

软件技术基础实验报告 实验名称:表达式计算器 系别:通信工程 年级: 班级: 学生学号: 学生姓名: 《数据结构》课程设计报告 题目简易计算表达式的演示 【题目要求】 要求:实现基本表达式计算的功能 输入:数学表达式,表达式由整数和“+”、“-”、“×”、“/”、“(”、“)”组成输出:表达式的值 基本操作:键入表达式,开始计算,计算过程和结果记录在文档中 难点:括号的处理、乘除的优先级高于加减

1.前言 在计算机中,算术表达式由常量、变量、运算符和括号组成。由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。 算法输入:一个算术表达式,由常量、变量、运算符和括号组成(以字符串形式输入)。为简化,规定操作数只能为正整数,操作符为+、-*、/、=,用#表示结束。 算法输出:表达式运算结果。 算法要点:设置运算符栈和运算数栈辅助分析算符优先关系。在读入表达式的字符序列的同时,完成运算符和运算数的识别处理,以及相应运算。 2.概要设计 2.1 数据结构设计 任何一个表达式都是由操作符,运算符和界限符组成的。我们分别用顺序栈来寄存表达式的操作数和运算符。栈是限定于紧仅在表尾进行插入或删除操作的线性表。顺序栈的存储结构是利用一组连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top 指示栈顶元素在顺序栈中的位置,base 为栈底指针,在顺序栈中,它始终指向栈底,即top=base 可作为栈空的标记,每当插入新的栈顶元素时,指针top 增1,删除栈顶元素时,指针top 减1。 2.2 算法设计 为了实现算符优先算法。可以使用两个工作栈。一个称为OPTR ,用以寄存运算符,另一个称做OPND ,用以寄存操作数或运算结果。 1.首先置操作数栈为空栈,表达式起始符”#”为运算符栈的栈底元素; 2.依次读入表达式,若是操作符即进OPND 栈,若是运算符则和OPTR 栈的栈顶运算符比较优先权后作相应的操作,直至整个表达式求值完毕(即OPTR 栈的栈顶元素和当前读入的字符均为”#”)。 2.3 ADT 描述 ADT Stack{ 数据对象:D={ i a |i a ∈ElemSet,i=1,2,…,n, n ≧0} 数据对象:R1={< 1 ,-i i a a >| 1-i a ,D a i ∈,i=2,…,n}

计算方法实验报告格式

计算方法实验报告格式 小组名称: 组长姓名(班号): 小组成员姓名(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下: 一、实验名称 实验者可根据报告形式需要适当写出. 二、实验目的及要求 首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出. 三、算法描述(实验原理与基础理论) 数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出. 四、实验内容 实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备. 五、程序流程图 画出程序实现过程的流程图,以便更好的对程序执行的过程有清楚的认识,在程序调试过程中更容易发现问题. 六、实验结果 实验结果应包括实验的原始数据、中间结果及实验的最终结果,复杂的结果可以用表格

形式列出,较为简单的结果可以与实验结果分析合并出现. 七、实验结果分析 实验结果分析包括对对算法的理解与分析、改进与建议. 数值实验报告范例 为了更好地做好数值实验并写出规范的数值实验报告,下面给出一简单范例供读者参考. 数值实验报告 小组名称: 小组成员(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一、实验名称 误差传播与算法稳定性. 二、实验目的 1.理解数值计算稳定性的概念. 2.了解数值计算方法的必要性. 3.体会数值计算的收敛性与收敛速度. 三、实验内容 计算dx x x I n n ? += 1 10 ,1,2,,10n = . 四、算法描述 由 dx x x I n n ? += 1 10 ,知 dx x x I n n ?+=--101110,则

算术表达式语法检查实验报告

中南民族大学计算机科学学院本科课程设计 任务书 设计名称:算术表达式语法检查 指导教师:下达时间: 2015-5-8 学生姓名:学号: 专业: 一、课程设计的基本要求 根据所学知识,编写指定题目的C++语言程序,并规范地完成课程设计报告。通过课程设计,加深对《C++面向对象程序设计》课程所学知识的理解,熟练掌握和巩固C++语言的基本知识和语法规范,掌握C++语言的基础知识,理解面向对象系统的封装性、继承性和多态性;熟练使用C语言中的函数、数组、指针、链表和字符串等基本知识;掌握类的定义、标准String类和向量;理解掌握友元函数和重载操作符,动态数组;理解掌握继承和多态性;掌握模版的使用;能够进行程序调试过程中的异常处理;进一步掌握利用C++进行类的定义和操作方法;进一步掌握类的继承和派生方法;进一步理解虚函数和多态;综合利用上述知识,学习设计并编写面向对象的C++简单应用程序;培养解决复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。 学会编制结构清晰、风格良好、数据结构适当的C++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 具体要求如下: 1、采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。学生也可根据自己对题目的理解增加新的功能模块(视情况可另外加分)。 2、系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。 3、程序算法说明清晰,理论分析与计算正确,运行情况良好,实验测试数据无误,容错性强(能对错误输入进行判断控制)。 4、编程风格良好(包括缩进、空行、适当注释、变量名和函数名见名知意,程序容易阅读等); 5、写出规范的课程设计报告,具体要求见相关说明文档。

vb科学计算器实验报告

西安科技大学 可视化编程语言实验报告 题目:科学计算器 班级: 学号: 姓名: 2010年11月

复杂型科学计算器的设计与实现实验目的 1.通过本实验,进一步理解Visual Basic的编程方法。 2.提高运用Visual Basic编程的能力。 3.培养对所学知识的综合运用能力。 实验类型 综合型。 实验内容与步骤 一.界面设计。

Command5Caption= 三.程序代码: Dim num1 As Single, num2 As Single Dim fu As Integer Dim sign As Integer Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 To 9 sign = Index + 20 Case 10 sign = Index + 20 fu = 1 Case 11 To 14 sign = Index + 20 End Select = "" End Sub Private Sub Command2_Click(Index As Integer) Select Case Index Case 0 To 9 = & Index If fu = 0 Then num1 = Val Else num2 = Val

Case 10 = & "-" Case 11 = & "." Case 12 To 18 = "" sign = Index fu = 1 End Select End Sub Private Sub Command3_Click() If =”” then else = Left$, Len - 1) End if End Sub Private Sub Command4_Click() = "" End Sub Private Sub Command5_Click() Dim n As Integer, cf As Single fu = 0: cf = 1 Select Case sign Case 12 = num1 & "+" & num2 = num1 + num2 Case 13 = num1 - num2 Case 14 = num1 * num2 Case 15 = num1 / num2 Case 18 For n = 1 To num2 cf = cf * num1 Next n = cf Case 20 = Sin(num1) Case 21

四则运算表达式求值实验报告

HUNAN UNIVERSITY 课程实习报告 题目:四则运算表达式求值 学生姓名: 学生学号: 专业班级: 指导老师: 完成日期:

一、需求分析 四则运算表达式求值,将四则运算表达式用中缀表达式表示,然后转换为后缀表达式,并计算结果。 本程序要求利用二叉树后序遍历来实现表达式的转换,同时可以使用实验2的结果来求解后缀表达式的值。 在字符界面上输入一个中缀表达式,回车表示结束。如果该中缀表达式正确,那么在字符界面上输出其后缀表达式,其中后缀表达式中两相邻操作数之间利用空格隔开;如果不正确,在字符界面上输出表达式错误提示。 测试数据 输入: 21+23*(12-6) 输出: 21 23 12 6 -*+ 二、详细设计 输入和输出的格式 输入 本程序可以将输入的四则运算表达式(中缀表达式)转换为后缀表达式 输出 后缀表达式为://输出结果的位置 表达式的值为://输出结果的位置 三、调试分析 本次实验的难点主要是在建立二叉树的问题上。关于如何把中缀表达式存入二叉树中,我参考了网上的一些方法,成功实现了目标,但是却遇到了一个问题,那就是不能处理小数,甚至两位或两位以上的整数。因为如果采用字符数组来存储操作数,运算符合一位整数还可以处理,但对于两位数就就会出问题,最后我改进采用字符串数组来存储操作数,成功解决了问题。 另外在处理输入的非法表达式问题中,我也费了很大功夫,但总体问题不大。 四、测试结果 五、用户使用说明(可选) 1、运行程序时 提示输入四则运算表达式 本程序可以将中缀表达式转化为后缀表达式,并计算结果 请输入四则运算表达式: 输出 后缀表达式为: 表达式的值为: 程序源代码(c++) #include #include #include #include

安卓计算器开发实验报告

嵌入式WebOS应用开发 实验报告 实验名称:使用An droid Developer SDK开发应用程序 专业:_________________________ 姓名:__________________________________ 班级:_______________________________ 学号:______________________________ 一、作品的运行环境及安卓SDK基础操作 SDK An droid Developer 是一款在windows系统上运行的针对 An droid应用开发的谷歌官方软件(需要JAVA环境支持)。 1、导入工程 2、建立虚拟机 在运行虚拟机是为保证机器的顺畅运行建议选择分辨率较低的虚拟机,但是其RAM最好设为512MB因为部分程序如果调用资源过大会导致虚拟机无法运行。 3、虚拟机界面 二、作品介绍 我的应用是一个计算器。能实现包括小数的加减乘除运算,结果过大会自动用科学记数法表示,另外还有退格跟清屏功能键。

加应用图标 1.首先在我的桌面上添加你应 用的图标以及文字,双击图标后 项中自行进行挑选; 也可以添加自己的图片, 只要将图片放到对应的 文件夹之下在刷新就可 以,但不建议放分辨率 过高图片可能会出现超 出界面的等错误。 要在xml 界面中添加排版: xml 代码首末的 格式较为自由可以直接在 界面中拖动图标位置以及修改大小,而其他layout 则更会自动排列, 各有优劣。 三、 编程以及运行调试 (一)、在MyDesktop 主界面中添 fin^_ok,prig 世IF it launchiWipng 32E img'O.png jdE im^il.png] 3E img?.pHg 血 imql.pngi 32E img4.png 血 im^S.pngi Tn? imgg.png JJL -mgT.pngj ..1. imy^.png ..1. uiHiprxg 就可以看见对应的代码, 可直接 在代码中进行修改图片文字的 大小颜色等等。 以下是对应图像图标的代码 图片可以在左侧的选 (二)、在 res/layout 目录下新建.xml 文件,由于计算器的按钮很多, TIF charfrc 起 ch^tfrorn_bg_ipTW5&d !S'.pflg ~l <+i?,kbnif^M 口 .股 ch?kbojco#f bsckgrourid^na SE chfkb rn (」]n.hewlcgin 口unci 岱n 评 弧 tlwr^na TTF de^ r o 1 .pnq

计算方法实验报告 拟合

南京信息工程大学实验(实习)报告 一、实验目的: 用最小二乘法将给定的十个点拟合成三次多项式。 二、实验步骤: 用matlab编制以函数为基的多项式最小二乘拟合程序,并用于对下列数据作三次多项式最小二乘拟合(取权函数wi=1) x -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 y -2.30 -1 -0.14 -0.25 0.61 1.03 1.75 2.75 4.42 6.94 给定直线方程为:y=1/4*x3+1/2*x2+x+1 三、实验结论: 最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。 一般地。当测量数据的散布图无明显的规律时,习惯上取n次代数多项式。 程序运行结果为: a = 0.9731 1.1023 0.4862 0.2238 即拟合的三次方程为:y=0.9731+1.1023x+0.4862*x2+0.2238*x3

-2.5 -2-1.5-1-0.5 00.51 1.52 2.5 -4-20246 81012 x 轴 y 轴 拟合图 离散点 y=a(1)+a(2)*x+a(3)*x.2+a(4)*x.3 结论: 一般情况下,拟合函数使得所有的残差为零是不可能的。由图形可以看出最小二乘解决了残差的正负相互抵消的问题,使得拟合函数更加密合实验数据。 优点:曲线拟合是使拟合函数和一系列的离散点与观测值的偏差平方和达到最小。 缺点:由于计算方法简单,若要保证数据的精确度,需要大量的数据代入计算。

计算机控制基础实验报告

重庆交通大学 学生实验报告 实验课程名称机械工程控制基础 开课实验室交通装备与制造工程实训中心 学院机电与汽车工程学院年级 2012专业班机械电子工程(2)学生姓名学号 开课时间 2014 至 2015 学年第二学期

验证性设计性综合性

ans = (1/2)^n (2) ) 1.0)(8.0()(2 --=z z z z F syms z >> f=((z^2)/((z-0.8)*(z-0.1))) f = z^2/((z - 4/5)*(z - 1/10)) >> iztrans(f) ans = (8*(4/5)^n)/7 - (1/10)^n/7 实验项目 系统分析 实验时间 实验地点 90304 实验性质 验证性 设计性 综合性 教师评价: 评价教师签名: 第三章:计算机控制系统的分析 1 试求如题图 3.1所示的采样控制系统在单位阶跃信号作用下的输出响应)(*t y 。设 ) 10(*20 )(+= s s s G ,采样周期T=0.1s 。

解: gs=tf([20],[1 10 0]); gz=c2d(gs,0.1,'imp'); gzb1=gz/(gz+1); gzb2=feedback(gz,1); y=step(gzb1); step(gzb1,gzb2); 结果: 2 试求如题图3.1所示的采样控制系统在单位速度信号作用下的稳态误差。 设) 11.0(1 )(+= s s s G ,采样周期T=0.1s. 解: gs=tf([1],[0.1 1 0]); T=0.1; gz=c2d(gs,T,'imp'); gzb=feedback(gz,1); rz = tf([0.1 0],[1 -2 1],T); rz1 = zpk([0],[1 1],T,T); yz=rz*gzb; impulse(yz); t=[0:0.1:10]'; ramp=t; lsim(gzb,ramp,t) [y,t1] = lsim(gzb,ramp,t); ER = ramp - y

表达式求值实验报告

淮海工学院计算机工程学院 课程设计报告 设计名称:数据结构课程设计 选题名称:表达式求值 姓名:学号: 专业班级: 系(院):计算机工程学院 设计时间: 设计地点:软件工程实验室、教室 指导教师评语: 成绩: 签名: 年月日

1.课程设计目的 1、训练学生灵活使用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。 2.课程设计任务和要求: 任务 根据教材《数据结构-C语言描述》(耿国华主编)和参考书《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择使用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。 设计题目从任务书所列选题表中选取,每班每题不得超过2人。 学生自选课题 学生原则上可以结合个人爱好自选课题,要求课题有一定的深度和难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。学生自选课题需在18周前报课程设计指导教师批准方可生效。 要求: 1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备和否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。 2、.设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。 3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释; 4、每位同学需提交可独立运行的程序; 5 、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算); 6、课程设计实践作为培养学生动手能力的一种手段,单独考核。 3.课程设计说明书

计算机科学与技术实验报告

哈尔滨工程大学《程序设计基础》实验报告 基础实践二 姓名:王明班级: 学号: 实验时间: 2017 年 5 月 8 日 哈尔滨工程大学计算机基础课程教学中心 实验五 实验题目1: 输入两个整数数组,每个数组有5个整数,将两者合并并排序输出。 设计思想:定义两个5个元素的数组,一个10个元素的数组,数据类型为整型,通过for循环输入前两个数组的值,并依次存入第三个数组中。另外编写排序函数,在主函数中调用对第三个数组中的元素排序并输出。 实验代码及注释: #include<> #include<>

void f1(int *a, int i, int j) { int m, n, c; int k; m = i; n = j; k = a[(i + j) / 2]; do { while (a[m]k&&n>i) n--; if (m <= n) { c = a[m]; a[m] = a[n]; a[n] = c; m+=1; n-=1; }

} while (m <= n); if (mi) f1(a, i, n); } int main() { int a1[5],a2[5],c[10]; printf("请输入两个数组,每组五个整数:\n"); for(int i=0;i<5;i++) scanf("%d %d",&a1[i],&a2[i]); for(int i=0;i<5;i++) { c[i]=a1[i]; c[i+5]=a2[i]; } f1(c,0,9); printf("排序后为:\n");

网络实验报告总结.doc

实验 1 PacketTrace基本使用 一、实验目的 掌握 Cisco Packet Tracer软件的使用方法。 二、实验任务 在 Cisco Packet Tracer中用HUB组建局域网,利用PING命令检测机器的互通性。 三、实验设备 集线器( HUB)一台,工作站PC三台,直连电缆三条。 四、实验环境 实验环境如图1-1 所示。 图 1-1交换机基本配置实验环境 五、实验步骤 (一)安装模拟器 1、运行“ PacketTracer53_setup”文件,并按如下图所示完成安装; 点“ Next ”

选择“ I accept the agreement”后,点“ next”不用更改安装目录,直接点“ next ” 点“ next ”

点“ next ” 点“ install”

正在安装 点“ Finish ”,安装完成。 2、进入页面。 (二)使用模拟器 1、运行Cisco Packet Tracer 软件,在逻辑工作区放入一台集线器和三台终端设备PC,用 直连线按下图将HUB 和PC工作站连接起 来, HUB端 接 Port 口, PC端分别接以太网口。

2、分别点击各工作站PC,进入其配置窗口,选择桌面项,选择运行IP 地址配置(IP Configuration ),设置IP 地址和子网掩码分别为PC0:1.1.1.1 ,255.255.255.0 ;PC1:1.1.1.2 ,255.255.255.0 ; PC2: 1.1.1.3 , 255.255.255.0 。 3、点击 Cisco Packet Tracer软件右下方的仿真模式按钮,如图1-2所示。将Cisco Packet Tracer的工作状态由实时模式转换为仿真模式。 图1-2 按Simulation Mode 按钮 4、点击PC0进入配置窗口,选择桌面Desktop 项,选择运行命令提示符Command Prompt,如图1-3 所示。 图5、在上述DOS命令行窗口中,输入(Simulation Panel)中点击自动捕获1-3进入PC配置窗口 Ping 1.1.1.3命令,回车运行。然后在仿真面板 / 播放( Auto Capture/Play)按钮,如图1-4 所示。 图 1-4 点击自动抓取 /运行按钮 6、观察数据包发送的演示过程,对应地在仿真面板的事件列表( 的类型。如图1-5 和图 1-6 所示。 Event List )中观察数据包

C语言程序设计实验报告实验数据类型运算符和表达式

凯里学院C 语言程序设计实验报告 ×××××专业××年级××班,学号××××××姓名××成绩 合作者实验日期年月日 指导教师评阅日期年月日 实验二数据类型、运算符和表达式 一、实验目的: (1)掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。 (2)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C 语言的输入和输出函数的使用 (4)进一步熟悉C 程序的编辑、编译、连接和运行的过程,学会使用stepbystep 功能。 (5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。 二、实验内容: (1)输人并运行下面的程序 #include voidmain() { charc1,c2; c1='a'; c2='b'; 装 订 线 装 订 线

printf("%c%c\n",c1,c2); } (2)按习题3.7的要求编程序并上机运行 该题的要求是: 要将“China”译成密码,密码规律是:用原来字母后面的第4个字母代替原来的字母。 例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre"。 请编一程序,用赋初值的方法使。cl,c2,c3,c4,c5五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使cl,c2,c3,c4,c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。 三、实验步骤: (1)输人并运行下面的程序 #include voidmain() { charc1,c2; c1='a'; c2='b'; printf("%c%c\n",c1,c2); } ①运行此程序。 程序结果为:

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