实验4

实验4
实验4

实验4

院系:计算机与信息技术学院

班级:2011级通信工程班

姓名:陶友

学号:1108224074

实验四 差分方程及其求解

一、实验目的

1.学习并掌握系统的差分方程表示方法以及差分方程的相关概念。 2.熟练使用filter 函数对差分方程进行数值求解。 3.掌握差分方程的求解及MATLAB 实现方法。 二、实验原理及方法

1.一LTI 系统可以用一个线性常系数差分方程表示:

∑∑==-=-N

k M

m m k

m n x b k n y a

)

()(

任意n 如果 0≠N a ,那么这个差分方程就是N 阶的,已知系统的输入序列,用这个方程可以根据当前输入x(n)和以前M 点的输入x(n-m),…,x(n-1),以及以前N 点的输出y(n-N),…,y(n-1)来计算当前输出y(n)。在实际中这个方程在时间上是从到

+∞=-∞=n n 到朝前计算的,因此该方程的另一种形式是:

∑∑==---=M m N

k k m k n y a m n x b n y 0

1

)

()()(

方程的解能以下面形式求得:

)

()()()(n y n y n y p H +=分别为方程的齐次解跟特解

部分。已知输入和差分方程的稀疏, 可用filter 对差分方程进行数值求解。最简单形式为:y =filter (b ,a , x )其中b=[b0,b1,…,bM];a=[a0,a1,…,aN]; 2. 上面差分方程解的形式为齐次解和特解,另外还可以求零输入解和零状态解理论计算中要用到z 变换,请好好掌握z 变换的内容。用MATLAB 实现时,若已知初始条件,则应用Y=filter (b ,a , x , xic )来求完全响应。这里xic 是初始状态输入数组。MATLAB 还提供一种filtic 函数来得到xic 。Xic=filtic (b ,a ,Y , X )其中b 和a 是滤波器系数数组,Y 和X 是分别从y(n)和x(n)的初始条件得来的初始状态数组。

三.实验内容

1、已知下面差分方程:

y(n)-y(n-1)+0.9y(n-2)=x(n);任意n

要求a.计算并画出在n=-20,…,100的脉冲响应h(n); b.计算并画出在n=-20,…,100的单位阶跃相应s(n). 2.解以下差分方程:

),()2(21

)1(23)(≥=-+--n n x n y n y n y

其中)

()41

()(n n x n μ=初始条件为4)1(=-y 和y(-2)=10。

要求先用理论计算,再用MATLAB 编程实现,并对比两个结果。

参考流程图: 实验内容1.

实验内容2.

四、实验报告要求

1.总结差分方程的性质及应用.

2.写出实验程序.记录实验数据并与理论计算作比较,总结结果。

五、程序

1.内容一

%实验内容1

%差分方程:y(n)=x(n)-(y(n-1)+0.9y(n-2))

b=[1];%x(n)系数

a=[1,0.9];%反馈系数

%构造x(n)为-20到100的单位冲击

for i=1:20

x1(i)=0;

end

x1(21)=1;

for i=22:121

x1(i)=0;

end

y1=filter(b,a,x1);%求解响应

figure(1)

plot(y1)

title('1108224074 陶友 n=-20,...100脉冲响应h(n)')

%构造x(n)为-20到100的单位阶跃输入函数

for i=1:20

x2(i)=0;

end

for i=21:121

x2(i)=1;

end

y2=filter(b,a,x2);%求解响应

figure(2)

plot(y2)

title('1108224074 陶友 n=-20,...100阶跃响应s(n)')

%实验内容2

%求解y(n)-3/2y(n-1)+1/2y(n-1)=x(n)

b2=[1];%x(n)系数

a2=[-3/2,1/2];

%构造x(n)

for n=1:4

x3(n)=0;%-4:-1

end

for n=5:105

x3(n)=(1/4)^(n-5);%0:100

end

X=x3;

Y=zeros(1,105);

Y(3)=10;%y(-2)=10

Y(4)=4;%y(-1)=4

xic=filtic(b2,a2,Y,X) ; y3=filter(b2,a2,x3,xic); figure(3) plot(y3)

title('1108224074 陶友 完全响应')

六、实验结果与分析

20

40

60

80

100

120

140

-1-0.8-0.6-0.4-0.200.20.40.60.811108224074 陶友 n=-20,...100脉冲响应h(n)

20

40

60

80

100

120

140

00.10.20.30.40.50.60.70.80.9

11108224074 陶友 n=-20,...100阶跃响应s(n)

020406080100120

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

1108224074 陶友 完全响应

本实验实验结果与理论结果一致,通过本实验熟悉了。熟练了filter 函数对差分方程进行数值求解及对差分方程性质的掌握。

C上机实验报告实验四

实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。 4.使用string类定义字符串对象,编程实现两字符串的连接。在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。程序名:lab6_4.cpp。 5.在employee.h文件中定义Employee类。Employee类具有姓名、街道地址、城市和邮编等私有数据成员,在成员函数中,构造函数用来初始化所有数据成员;display()中使用cout显示

实验(4)-选择结构

C 语言程序设计 实验教学(4) 【实验目的】通过程序设计实现,掌握if 结构和switch 结构的正确应用。 【实验要求】使用if 结构和switch 结构实现多种条件的选择结构程序,熟练二者的应用范围和注意事项。练习条件表达式的书写。 【实验课时】4.0 【实验内容】 1、 运行下列程序,分析结果。 main( ) { int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a10 2+x+1

补充作业: 9、完成下列分段函数的计算:分别使用if-else if-else结构和if-if嵌套 结构来实现。 10、完成下列分段函数的计算:分别使用if-else if-else结构和if-if嵌 套结构来实现。 11、完成下列分段函数的计算:分别使用if-else if-else结构和if-if嵌套结构来实现。 12、完成下列函数的计算:分别使用if-else if-else结构和if-if嵌套结构来实现。 13、完成下列函数的计算:分别使用if-else if-else结构和if-if嵌套结构来实现。

四年级上册科学实验报告

1.实验名称:室内外温度的测量与比较 实验目的:测量室内外温度 实验器材:温度计、线、笔 实验步骤: 1、取一支温度计用线拴好。 2、将温度计悬挂3、读数。 4、比较。 实验结果:室内外温度存在差距,通过对大气温度的测量,可以了解当地的气温。 2.实验名称:气温的测量 实验目的:测量温度的变化 实验器材:温度计 实验步骤: 1、阳光下和背阴处测量温度; 2、测量一天中,清晨、商务、中午、下午、傍晚的气温。 实验结果:1、阳光下的温度高,背阴处的温度低2、一天中,中午的时候气温最高,清晨的时候气温最低; 3.实验名称:用简易雨量器测量降水量 实验目的: 实验器材:雨量器 实验步骤:1、用喷水壶模拟降水,记录好时间。2、把雨量器改在水平桌面,读出刻度。3、换算成24小时,核对雨量等级。 实验结果:根据24小时内测的降水量,对照等级表,确定了下雨的等级。 4.实验名称:观察食盐、沙在水中的状态 实验目的:食盐、沙能否在水中溶解 实验器材:烧杯2个、搅拌棒2根、沙、食盐、水。 实验步骤: 1、取一小匙食盐,放入盛水的烧杯内,用搅拌棒轻轻搅拌。你有什么发现? 2、取一小匙淘洗干净的沙,放入盛水的烧杯内,用搅拌棒轻轻搅拌。你有什么发现? 3、比较食盐和沙在水中的状态。 实验结果:食盐在水中溶解了,沙在水中没有溶解。 5.实验名称:面粉在水中溶解了吗 实验目的:面粉能否在水中溶解 实验器材:烧杯1个、搅拌棒1根、面粉、水。

实验步骤: 1、取一小匙面粉,放入盛水的烧杯内,用搅拌棒搅拌。2、你发现了什么? 实验结果:面粉在水中没有溶解 6.实验名称:高锰酸钾的溶解 实验目的:高锰酸钾在水中溶解吗 实验器材:烧杯、高锰酸钾、钥匙、搅拌棒、水。 实验步骤: 1、水里放入几粒高锰酸钾,观察并描述高锰酸钾和水的变化。 2、用搅拌棒搅拌,再观察、描述高锰酸钾和水的变化。 实验结果:高锰酸钾在水中溶解了 7.实验名称:观察不同物质在水中的溶解 实验目的:观察不同物质在水中的溶解 实验器材:面粉、沙、食盐、高锰酸钾各一份,烧杯4个、钥匙、水。 实验步骤: 1、将四种物质分别放入盛有相同水的烧杯内,观察物质在水中的状态。 2、根据实验现象完成教材26页记录表。 实验结果:食盐、高锰酸钾在水中溶解了,面粉、沙在水中没有溶解。 8.实验名称:观察胶水和洗发液是怎样溶解的 实验目的:观察胶水和洗发液是怎样溶解的 实验器材:烧杯2个、钥匙、搅拌棒2根、水。 实验步骤: 1、取一小匙胶水或洗发液,倒入盛水的玻璃杯中。 2、先轻轻搅拌,观察有什么现象,再充分搅拌,继续观察。 实验结果:胶水或洗发液在水中溶解了 9.实验名称:观察醋、酒精和食用油是怎样溶解的 实验目的:观察醋、酒精和食用油是怎样溶解的 实验器材:试管3个、醋、酒精、食用油、三支滴管、水。 实验步骤: 1、在三个试管中,各盛约15毫升的水。分别用滴管往试管中加入2毫升醋、酒精和食用油。充分震荡后,静置一会儿。 2、观察实验结果:醋和酒精在水中溶解了,食用油不能溶解于水。 10,实验名称:观察气体在水中的溶解能力 实验目的:观察气体在水中的溶解能力 实验器材:汽水、注射器、橡皮塞。 实验步骤: 1、打开汽水用注射器吸出约1/3管汽水,再用橡皮塞封住管口。 2、观察汽水析出的气泡。慢慢地往外拉活塞,再慢慢地往回推,反复3 次.

微机原理实验四实验报告

实验报告

实验四 8251可编程串行口与PC机通信实验一、实验要求 利用实验箱内的8251A芯片,实现与PC机的通信。 二、实验目的 1.掌握8251A芯片结构和编程方法; 2.了解实现串行通信的硬件环境,数据格式和数据交换协议; 3.了解PC机通信的基本要求。 三、实验原理 (一)8251A芯片工作方式配置: 1. 8个数据位; 2.无奇偶校验位; 3.1个停止位; 4.波特率因子设为16; 5. 波特率设为9600。 (二)8251A主要寄存器说明 图4-1 模式字 图4-2 命令字

CO MMAN D I NSTR UCT ION FO RMA T 图4-3 状态字 (三)8251编程 对8251 的编程就是对8251 的寄存器的操作,下面分别给出8251 的几个寄存器的格式。(1)方式控制字 方式控制字用来指定通信方式及其方式下的数据格式,具体各位的定义如图4-4所示。 图4-4 方式控制字说明 (2)命令控制字 命令控制字用于指定8251 进行某种操作(如发送、接收、内部复位和检测同步字符等)或处于某种工作状态,以便接收或发送数据。图4-5 所示的是8251 命令控制字各位的定义。 图4-5命令控制字说明 (3)状态字 CPU 通过状态字来了解8251 当前的工作状态,以决定下一步的操作,8251 的状态字如 图4-6所示。 图4-6 状态字说明 四、实验电路连接: 1.CS8251接228H,CS8279已固定接至238H; 2.扩展通信口18中的232RXD连8251RXD ,232TXD连8251TXD;

3.计算机的两个RS232通信口,一个连至仿真机通信口,一个连至扩展通信口18(所有通信口均为DB9)。注意:RS232通信口必须在设备断电状态下插拔! 图4-7 连线图 五、实验内容及要求 1. 将例程从PDF文档中导入到WMD86软件编辑环境中,调试通过。使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。将结果截图保存,贴入实验报告。 2.剔除例程中冗余部分,实现对例程的精简和优化。将精简内容与相应理由写入实验报告。 3.将自己学号的后三位数字通过RS232端口的Txd管脚输出。使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。将结果截图保存,贴入实验报告。 4.通过读状态寄存器的方法,获得发送移位寄存器是否为空的信息,实现学号后三位数字的循环发送。将结果截图保存,贴入实验报告。 5.给每帧数据间添加固定的时间间隔,时间间隔为10000个指令周期。将结果截图保存,

实验4-2-选择结构

实验4-2 选择结构程序设计(二) 1 【实验目的】 (1)学会正确使用运算符和逻辑表达式 (2)熟练掌握if语句的三种结构 【实验要求】 (1)掌握运算符的优先级和结合方向,正确使用运算符和逻辑表达式。 (2)熟练掌握if语句的多分支结构。 (3)熟练掌握if语句关键字else的正确搭配使用。 【实验环境】 (1) Microsoft XP操作系统 (2) Microsoft VC++ 6.0 【实验内容】 1、程序改错 题目描述:阅读下面程序段,编译调试程序,并改正错误语句。#include < stdio.h > int main() { double x,y; scanf(“%lf”,&x);

if(x>=5) y=x^2; else if(0=

小学科学四年级上册实验报告

小学科学四年级上册实验报告 一、食物营养成分的检验实验 实验目的:学会检验食物中的淀粉、脂肪、和蛋白质的方法。 实验材料:碘酒、米饭、滴管、白纸、酒精灯、碟子、花生、瘦肉等。 实验过程: 1、把少量米饭放在碟子上,用滴管向米饭上滴2—3滴碘酒,观察发生的现象。 2、把花生放在白纸上用力挤压,观察白纸上留有的痕迹。 3、将切成细条的瘦肉放在酒精灯火焰上烧,注意闻一闻,有什么气味? 实验现象及结论: 1、加入碘酒后,米饭变成蓝黑色,这说明大米中含有淀粉。 2、在白纸挤压花生后,会在纸上留下油迹。说明花生内含有脂肪。 3、将瘦肉在火上烧后,会闻到一股难闻的、烧焦羽毛的气味.说明瘦肉中含有蛋白质。 二、物体在水中的溶解实验 实验目的:认识溶解的特点,理解溶解的定义。 实验材料:三个烧杯、玻璃棒、药匙、食盐、高锰酸钾、沙子。 实验过程: 1、先在三个烧杯中倒入约三分之二的清水。 2、用药匙取适量的食盐,高锰酸钾,沙子分别放入三个烧杯中,用玻璃棒搅拌,仔细观察三个烧杯中有什么现象发生。 实验现象:食盐,高锰酸钾在水中不见了,并且均匀的分散在水中,沙子在水中没有变化。 实验结论:溶解的定义,不溶解的定义 注意事项:1,搅拌方法 2,通过颜色观察高锰酸钾在水中均匀分布情况 3,通过尝的方法了解食盐在水中均匀分布情况 三、不同材料的溶解实验 实验目的:通过实验判断不同材料在水中是否溶解。(进一步理解溶解现象)实验材料:烧杯,玻璃棒,小苏打,面粉,粉笔末,洗衣粉,木屑等。 实验过程:同上

实验结论:有的物体在水中能溶解,有的物体在水中不能溶解. 四、物体溶解快慢与哪些因素有关的实验 实验目的:了解加快物体在水中溶解的方法。 实验材料:烧杯、玻璃棒、药匙、高锰酸钾或(食盐、冰糖)、小锤、热水、冷水等。 实验过程:实验一: 1、在两个烧杯中分别倒入等量的温度相同的冷水。 2、把颗粒大小相同的高锰酸钾分别放入两个烧杯中。 3、用玻璃棒搅拌其中一个烧杯中的水,观察高锰钾溶解的快慢情况。 实验现象:搅拌的烧杯中的高锰酸钾溶解得快,不搅拌的烧杯中高锰酸钾溶解得慢。 实验结论:搅拌可以加快溶解。 实验二: 1、在两个烧杯中分别倒入等量的热水和冷水 2、把颗粒大小相同的高锰酸钾放入两个烧杯中,过一会钟,观察两个烧杯中高锰酸钾溶解情况 实验现象:热水中高锰酸钾溶解的快,冷水中高锰酸钾溶解的慢。 实验结论:用热水可以加快溶解。 实验三 1、在两个烧杯中分别倒入等量的温度相同的冷水。 2、取两块大小相同的高锰酸钾颗粒,将其中一块研成粉末,然后分别同时放入两个烧杯中,观察比较高锰酸钾溶解的快慢。 实验现象:研成粉末的高锰酸钾溶解的快,未研成粉末的高锰酸钾溶解的慢。实验结论:把物体研成粉末可以加快理解。 注意:此实验是典型的对比实验,实验中只有一个条件不同,其他条件应相同。 五、沉淀实验 实验目的:通过实验使学生知道沉淀是净化水的一种方法,能除掉水中一部分不溶解的杂质。 实验材料:烧杯2个、玻璃棒2根、明矾、混浊水。 实验过程:

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

实验二选择结构程序设计 实验报告

C语言程序设计与问题求解实验报告 实验二选择结构程序设计 一、实验目的 1.正确使用关系表达式和逻辑表达式表示条件; 2.掌握选择语句if-else和switch语句的使用方法; 3.掌握分支结构程序设计。 二、实验内容 1. 选择结构编程示例 year是闰年,即year能被4整除但不能被100整除,或year能被400整除。从键盘读入一个年份,然后输出其是否为闰年。具体代码如下: #include int main() { int year; printf("请输入年份:"); scanf("%d",&year); if ((year%4==0 && year%100!=0)||(year%400==0)) { printf("闰年!"); } else { printf("不是闰年!"); } return 0; } 运行结果:

2.分析并修改下面程序错误,使之能够正常运行。 错误代码一:下面的这个程序是当a和b的值相等的情况下输出“a和b相等”,而a与b的值不相等的话无输出。 #include void main() { int a=5,b=6; /* 或int a=5, b=5 ;*/ if (a==b); { printf("a和b相等\n"); } } 错误点: if (a==b)后有了分号“;”表示这条语句已执行完毕,所以无论a、b是否相等都会输出"a和b相等"。 修改后: #include void main() { int a=5,b=6; /* 或int a=5, b=5 ;*/ if (a==b) printf("a和b相等\n"); } 错误的代码二:下面的这个程序是当a和b的值相等的情况下a与b的值同时增加1,而a与b的值不相等的话,二者的值保持不变。 #include void main() { int a=5; /* 或int a=6*/ int b=6; if (a==b) a++; b++;

实验4选择结构程序设计

实验4 选择结构程序设计 一、实验目的 1.掌握C语言中逻辑量的表示和使用方法。 2.掌握if语句及switch语句的使用。 3.熟悉各种表达式作为if语句及switch语句的条件。 4.了解Turbo C程序的基本调试方法。 二、实验内容 1.验证性实验 (1)分析程序的运行结果。 ①运行下列程序,输入1-7之间的任意数字,观察程序的运行结果。 #include void main() { int week; printf("Input(1-7):"); scanf("%d",&week); switch(week) { case 1:printf("Mon.\n"); break; case 2:printf("Tue.\n"); break; case 3:printf("Wed.\n"); break; case 4:printf("Tur.\n"); break; case 5:printf("Fri.\n"); break; case 6:printf("Sat.\n"); break; case 7:printf("Sun.\n"); break; default:printf("The input is wrong!\n"); } } ②运行5次下列程序,输入的数据分别是1,2,3,4,5,请观察每次的运行结果,并根据结果分析原因。 #include void main() { int n,a=0,b=0,c=0,d=0,k=0; scanf("%d",&n); switch(n) { case 1:b++;break; case 2:c++; case 3:d++;break; case 4:k++; default:a++; } printf("%d,%d,%d,%d",a,b,c,d,n); } (2)输入x的不同值,以下程序将求一给定“y=f(x)”函数的值。

第4章选择结构习题答案

第四章选择结构习题参考答案: 一、选择题 1-10:A CABD CADD A 11-20:C CBDC ACACB 21-30:D CB B D AC A BA 31-40:DCDCB BAACB 41-50:CDDDA A A D DB 二、填空题 (1) 2 (2) 4,5,99 (3) 10 20 0 (4) 2 1 (5) -4 (6) 3 (7) yes (8) 1 (10) 20,0 (11) 585858 (12) 0 三、编程题 1, .#include void main() { int x,y; scanf(“%d”,&x); if(x>-1) {if(x>5) y=2*x+5; else if(x>2) y=x*(x+2); else y=2*x; printf(“y=%d\n”,y); } else printf(“输入值范围错误!”) ; } 2, . #include void main() {float a,b; scanf(“%f”,&a); if(a<2000) b=0; else if(a<4000) b=a*0.03; else if(a<5000) b=a*0.04; else b=a*0.05; printf(“收入所得税为:”,b); } 3,题目:输入某年某月某日,判断这一天是这一年的第几天? 方法一: #include void main() { int year,month,daily,sum;

printf("请输入年月日:/n"); scanf("%d%d%d",&year,&month,&daily); switch(month) { case 1:{sum=daily;break;} case 2:{sum=31+daily;break;} case 3:{sum=31+28+daily;break;} case 4:{sum=31+28+31+daily;break;} case 5:{sum=31+28+31+30+daily;break;} case 6:{sum=31+28+31+30+31+daily;break;} case 7:{sum=31+28+31+30+31+30+daily;break;} case 8:{sum=31+28+31+30+31+30+31+daily;break;} case 9:{sum=31+28+31+30+31+30+31+31+daily;break;} case 10:{sum=31+28+31+30+31+30+31+31+30+daily;break;} case 11:{sum=31+28+31+30+31+30+31+31+30+31+daily;break;} case 12:{sum=31+28+31+30+31+30+31+31+30+31+30+daily;break;} default:{printf("你输入的月份不对,请重新输入。/n");}; } if((year%400==0||(year%4==0 && year%100!=0) ) &&month>=2) printf("你输入的日子是%d年的第%d天。/n",year,sum+1); else printf("你输入的日子是%d年的第%d天。/n",year,sum); } 方法二: #include void main() {int day,month,year,sum,leap; printf("/nplease input year,month,day/n"); scanf("%d,%d,%d",&year,&month,&day); switch(month)/*先计算某月以前月份的总天数*/ {case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf("data error");break; } sum=sum+day; /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!= 0))/*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum=sum+1; printf("这一天是这一年的第%d 天.",sum); }

教科版四年级上科学实验报告单

教科版四年级上科学实验报告单 武冈市新东中心小学四年级科学实验报告单年级四年级学生姓名班级实验名称温度与气温实验时间 9月4日 选择每天测量气温的环境,完成“天气日历”中温度的测量和记录。实验目的 仪器器材温度计、百叶箱 1、用温度计测量一天中不同时间的气温; 2、测量清晨、上午、中午、下午、傍晚的气温(选择同一地点); 实验过程 3、把测得的气温填在记录表中。 实验结果优良 教师批注实验有序实验成绩优 实验报告单 年级四年级学生姓名实验名称风向和风速实验时间 9月9日 用自制的风向标和小风旗测量风向和风速,并使用适当的方法纪录观察结果。实验目的 仪器器材风向标、小风旗 1、学生分组用风向标测试风向。 实验过程 2、学生分组用小风旗测试风速。 3、总结风力大小。 实验结果优良 教师批注实验有序,效果良好。实验成绩优 实验报告单 年级四年级学生人数实验名称水能溶解一些物质实验时间 9月18日

观察和描述食盐、沙、面粉在水中的容易溶解和不容易溶解的现象,能使用过滤装实验目的置分离几种固体与水的混合物。 仪器器材食盐、沙、面粉、烧杯、筷子、玻棒、水槽、漏斗、滤纸、铁架台 1、食盐+水沙+水 2、用筷子轻轻搅拌,观察,盐和沙分别又发生了什么变化,同时什么也实验过程可能发生什么变化,生:水。师:对,水会发生什么变化呢, 3、面粉+水 实验结果良好 教师批注实验准备充分实验成绩良 实验报告单 年级四年级学生人数实验名称液体之间的溶解现象实验时间 9月30日能借助实验进一步观察多种物质之间的溶解现象,根据溶解的主要特征区分一些实验目的常见的溶解现象。 仪器器材玻璃杯、滴管、酒精、食用油、注射器、试管、试管夹、酒精灯、火柴 1、学生第一次使用试管振荡的方法,在实验之前,教师先介绍和演示试 管振荡。 2、学生开始实验。在三个试管中,分别加入醋、酒精和食用油。实验过程(让学生仔细观察醋和酒精如何扩散,充分描述醋和酒精在水中的溶解过程。记录在记录表上。) 3、交流实验观察结果。 实验结果优良 教师批注实验有序实验成绩优 实验报告单

实验报告四综述

成都信息工程大学遥感图像处理上机报告

1. 实验项目名称 遥感图像光谱增强处理 2. 实验目的 主成分分析:为了去除波段之间多余信息、将多波段的图像信息压缩到比原波段更有效的少数几个转换波段。 主成分逆变换:将主成分变换的图像重新恢复到RGB 彩色空间。缨帽变换:根据多光谱遥感中土壤、植被等信息在多维光谱空间中信息分布结构对图像 做的经验性线性正交变换。图像融合:将多源信道所采集到的关于同一目标的图像数据经过图像处理和计算机技术 等,最大限度的提取各自信道中的有利信息,最后综合成高质量的图像,以提高图像信息的利用率、改善计算机解译精度和可靠性、提升原始图像的空间分辨率和光谱分辨率,利于监测。 3. 实验原理 主成分分析法是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p 个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。 缨帽变换又称KT 变换。是一种经验性的多波段图像的线性变换,是Kauth 和Thomas(1976) 在研究MSS 图像反映农作物和植被的生长过程时提出的。在研究过程中他们发现MSS 四个波段组成的四维空间中,植被的光谱数据点呈规律性分布,像缨帽状,因此将这种变换命名为缨帽变换。 图像融合就是通过一种特定算法将两幅或多幅图像合成为一幅新图像。该技术有基本的体系,主要包括的内容有:图像预处理,图像融合算法,图像融合评价,融合结果。图像融合系统的层次划分为:像素层融合、特征层融合、决策层融合,目前绝大多数融合算法研究都集中在这一层次上。 4. 数据来源

python实验3选择结构程序设计

实验3 选择结构程序设计(续) 【实验目的】 1.掌握分支条件语句的使用。 2.掌握分支嵌套语句的使用。 【实验内容】 1.通过Input()函数任意输入三条边长,经过简单的计算后,判断三条边长能否构成三角 形,并确定是类型的三角形,如(等边,等腰,一般三角形)。 a=input("Please input the length of a:") b=input("Please input the length of b:") c=input("Please input the length of c:") if a+b>c and a+c>b and b+c>a: if a==b==c: print "This is an equilateral triangle." if a==b or a==c or b==c: print "This is an isosceles triangle." if a!=b!=c: print "This is a scalene triangle." else: print "These lengths can not form a triangle." 2.密码登录程序。要求:建立一个登录窗口,要求输入帐号和密码。设定用户名 为”zhangshan”,密码为“Python123”;若用户名正确,密码正确,则显示“Zhangshan 先生,欢迎你!”;如果用户名错误,则显示“用户名错误,请重新输入!”;若密码不正确,显示“对不起,密码错误,无法登录!”。 x=raw_input("User:") y=raw_input("Password:") if x=="zhangshan" and y=="Python123": print "Welcome,!" if x=="zhangshan" and y!="Python123": print "Wrong right to log-in." while x!="zhangshan" and y=="Python123": x=raw_input("Wrong user's enter again:") if x=="zhangshan": print "Zhangshan先生,欢迎你!"

c语言第4章 选择结构程序设计习题答案

第4章选择结构程序设计 习题(P111) 4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1)a+b>c&&b==c (2)a||b+c&&b-c (3)!(a>b)&&!c||1 (4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2 解:该题在求解过程中注意: 一、优先级。逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低; 二、逻辑表达式的求值规则。(P94) 所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1 4.4有3个整数a、b、c,由键盘输入,输出其中最大的数。 分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。该题不用函数调用实现,但方法是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。 参考程序如下: main() { int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/ printf("\ninput the value of a,b,c:"); /*提示输入*/ scanf("%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/ if(a>b) max=a; else max=b; if(max

四年级科学(上册)实验报告

实验目的: 认识空气有的性质。 实验材料: 透明玻璃杯、卫生纸、胶带、水槽、水、干抹布;空饮料瓶、气球 实验步骤:方法一 1、将一团卫生会紧塞在一个透明玻璃杯杯底; 2、将杯子倒立竖直压入水中,水面淹没杯底为止,尽量避免水槽里的水溢出来; 3、慢慢竖直提起杯子,并把杯口和外壁上的水用抹布擦干; 4、慢慢取出杯底的纸团,纸团会湿吗? 注意事项: 1、纸团应该塞紧在杯底,以免杯口朝下时落下,必要的话可以用胶带固定一下。 2、实验过程中杯子始终都是倒立杯口朝下,并保持竖直。 方法二: 1、将气球皮放进一个空饮料瓶中,用力吹,气球吹得大吗? 实验结果: 方法一:纸团。 方法二:气球。 实验结论: 空气有的性质。 年班

实验目的: 认识空气虽然很轻但是。 实验材料: 细木棍一根、空气充得同样多且颜色相同的气球两只、细线、胶带、针 实验过程: 1、将两只空气充的同样多的气球分别用细线绑在细木棍的两端; 2、调节细木棍中间的绳套使其左右平衡; 3、用针在其中一只气球口附近扎几个小眼,使气球慢慢漏气。 实验结果: 。 实验结论: 空气。 年班

教版小学科学4年级上册《我们周围的空气》单元实验报告3 实验目的: 认识空气具有。 实验材料: 1、气球 2、扇子(书) 实验过程: 1、让充满空气的气球口对着自己的脸,松开气球口,有什么感觉? 2、用扇子或书在自己的脸旁扇一扇,有什么感觉? 实验结果: 。 实验结论: 空气。 年班

教版小学科学4年级上册《我们周围的空气》单元实验报告4 实验目的: 认识到空气。 实验材料: 塑料袋、注射器、橡皮(手指) 实验步骤: 1、用手压一只装满空气的塑料袋,有什么感觉? 2、注射器吸满空气,用手堵住注射器的口,另一只手推活塞,有什么变化? 实验结果: 1、塑料袋; 2、注射器。 实验结论: 空气。 年班

C上机实验报告 实验四

精品文档 实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。

实验四 答案 选择结构程序设计

实验四选择结构程序设计答案 实验时间:年月日 【实验步骤】 一、程序调试练习 1、写出下列程序的运行结果: (1)ex4_1.c #include void main() { char ch; printf("input a character:"); ch=getchar(); if(ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch); } 具体要求: ①从键盘上输入a,分析程序运行的结果。 ②从键盘上输入A,分析程序运行的结果。 ③从键盘上输入5,分析程序运行的结果。 程序运行结果: ①a ②a ③5 (2)ex4_2.c #include void main() { int x,y,z; printf("input x,y,z"); scanf("%d,%d,%d",&x,&y,&z); if(x

②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。 ③从键盘上给x、y、z分别输入-5,-3,2,分析程序运行的结果。 程序运行结果: ①z=2 ②z=3 ③z=0 (3)ex4_3.c #include main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序运行结果: a=2,b=1 (4)ex4_4.c #include void main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf("a=%d,b=%d\n",a,b); } 具体要求:

相关文档
最新文档