当前位置:文档之家› 《算法设计与分析》实验一

《算法设计与分析》实验一

《算法设计与分析》实验一
《算法设计与分析》实验一

学号1607070212

《算法设计与分析》

实验报告一

学生姓名张曾然

专业、班级16软件二班

指导教师唐国峰

成绩

计算机与信息工程学院软件工程系

2018 年9 月19 日

实验一:递归策略运用练习

一、实验目的

本次实验是针对递归算法的算法设计及应用练习,旨在加深学生对该算法原理的理解,提高学生运用该算法解决问题的能力。

二、实验步骤与要求

1.实验前复习课程所学知识以及阅读和理解指定的课外阅读材料;

2.学生独自完成实验指定内容;

3.实验结束后,用统一的实验报告模板编写实验报告。

4.提交说明:

(1)电子版提交说明:

a 需要提交Winrar压缩包,文件名为“《算法设计与分析》实验一_学号_姓名”,

如“《算法设计与分析》实验一_09290101_张三”。

b 压缩包内为一个“《算法设计与分析》实验一_学号_姓名”命名的顶层文件夹,

其下为两个文件夹,一个文件夹命名为“源程序”,另一个文件夹命名为“实验

报告电子版”。其下分别放置对应实验成果物。

(2)打印版提交说明:

a 不可随意更改模板样式。

b 字体:中文为宋体,大小为10号字,英文为Time New Roman,大小为10号

字。

c 行间距:单倍行距。

(3)提交截止时间:2018年10月10日16:00。

三、实验项目

1.运用递归策略设计算法实现下述题目的求解过程。

题目列表如下:

【必做题】

(1)运动会开了N天,一共发出金牌M枚。第一天发金牌1枚加剩下的七分之一枚,第二天发金牌2枚加剩下的七分之一枚,第3天发金牌3枚加剩下的七分之一枚,以后每天都照此办理。到了第N天刚好还有金牌N枚,到此金牌全部发完。编程求N和M。

(2)国王分财产。某国王临终前给儿子们分财产。他把财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第二个儿子两份,再加上剩余财产的1/10;……;给第i 个儿子i份,再加上剩余财产的1/10。每个儿子都窃窃自喜。以为得到了父王的偏爱,孰不知国王是“一碗水端平”的。请用程序回答,老国王共有几个儿子?财产共分成了多少份?

(3)出售金鱼问题:第一次卖出全部金鱼的一半加二分之一条金鱼;第二次卖出乘余金鱼的三分之一加三分之一条金鱼;第三次卖出剩余金鱼的四分之一加四分之一条金鱼;第四次卖出剩余金鱼的五分之一加五分之一条金鱼;现在还剩下11条金鱼,在出售金鱼时不能把金鱼切开或者有任何破损的。问这鱼缸里原有多少条金鱼?

(4)某路公共汽车,总共有八站,从一号站发轩时车上已有n位乘客,到了第二站先下一半乘客,再上来了六位乘客;到了第三站也先下一半乘客,再上来了五位乘客,以后每到一站都先下车上已有的一半乘客,再上来了乘客比前一站少一个……,到了终点站车上还有乘客六人,问发车时车上的乘客有多少?

(5)猴子吃桃。有一群猴子摘来了一批桃子,猴王规定每天只准吃一半加一只(即第二天吃剩下的一半加一只,以此类推),第九天正好吃完,问猴子们摘来了多少桃子?

(6)小华读书。第一天读了全书的一半加二页,第二天读了剩下的一半加二页,以后天天如此……,第六天读完了最后的三页,问全书有多少钱页?

(7)日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。结果大家手中的桔子正好一样多。问六兄弟原来手中各有多少桔子?

(8)某种传染病第一天只有一个患者,前5天为潜伏期,不发作也不会传染人,第6天开始发作,从发作到治愈需要5天时间,期间每天传染3个人,求第N天共有多少患者。

【选做题】(5选3)

(1)为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!某批警察叔叔正在进行智力训练:

1 2 3 4 5 6 7 8 9 = 110;

请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+9 就是一种合格的填法;123+4+5+67-89 是另一个可能的答案。

请你利用计算机的优势,帮助警察叔叔快速找到所有答案。

每个答案占一行。形如:

12+34+56+7-8+9

123+4+5+67-89

(2)递归将一个整数输出。形如654321,输出1,2,3,4,5,6

(3)用递归实现分解质因数。形如:12=2*2*3

(4)50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法?

(5)电话号码对应的字符组合。题目:在电话或者手机上,一个数字如2对应着字母ABC,7对应着PQRS。那么数字串27所对应的字符的可能组合就有3*4=12种(如AP,BR等)。现在输入一个3到11位长的电话号码,请打印出这个电话号码所对应的字符的所有可能组合和组

合数。

四、实验过程

(一)题目一:运动会开了N天,一共发出金牌M枚。第一天发金牌1枚加剩下的七分之一枚,第二天发金牌2枚加剩下的七分之一枚,第3天发金牌3枚加剩下的七分之一枚,以后每天都照此办理。到了第N天刚好还有金牌N枚,到此金牌全部发完。编程求N和M。

1.题目分析

由题意得,本题存在两个未知数,分别是金牌的总数m和运动会进行的天数n,所以很

难从第一天开始进行正向推倒从而算出本题的答案,经过思考我发现本题的突破口是在

“到了第N天刚好还有金牌N枚”这句话上,所以可以从最后一天发的金牌数中开始

切入。

推倒出了表达式就可以采用递归的思想来进行问题的解答了递归有两个重要组成部分:递归方程:前一天所剩金牌=当天所剩金牌*7/6+当天天数。

边界条件:当天的前一天所剩金牌数和当天的天数相等。

2.算法构造

在此论证算法设计中的一些必要的设计依据。

已经完成了题目分析下面就要将递归方程:

(前一天所剩金牌-当天天数)*6/7=当天所剩金牌

用代码表示出来,可以通过一个二元数组或者链表结构将当前天数和剩余的金牌数存放

起来,设置一个哨兵用来判断(前一天剩余的金牌数-当天天数)能否被7整除,若果不

能被7整除则证明所设置的初值不正确,

3.算法实现

程序源代码(请写入必要的注释)。

First类:

package https://www.doczj.com/doc/0216197599.html,;

public class First {

public static int broken(int num, int today) {//num为前一天所剩的金牌数,

today为当天天数

if ((num-today)%7!=0) //判断前一天所剩金牌数-当天天数能否被7整除,不可以返回0

return 0;

else//如果可以返回当天剩余金牌的数量return (num-today) *6/7;

}

}

测试类:

package https://www.doczj.com/doc/0216197599.html,;

import java.util.LinkedList;

public class Test {

static First one=new First();

public static void main(String[] args) {

LinkedList lt = new LinkedList();

for(int n=3;n<10;n++) {// 根据题干可知,n>=3,将n的初值设为3可以降低递归算法的重复率

for(int m =1;m<100;m++) {//利用穷举法计算m的值

lt.add(0,m);// 第一天没发之前一共有m枚金牌

for(int i=1;i<=n;i++) {//调用第一题中的判断算法,依次计算每天发了多少枚

lt.add(i,one.broken(lt.get(i-1),i));//到达第n天依旧没有符合终止条件的情况跳出循环

}

if (lt.get(n-1)-n==0) {//第n天发了n枚金牌循环终止条件

System.out.println("金牌总数为:"+lt.get(0)+",运动会进行天数为:"+n);

}

}

}

}

}

4.运行结果

5.经验归纳

算法的设计远比想象中的要困难,不紧要熟练掌握高级语言的使用方法,还要透彻的理解题意,仅仅知道递归方程和终结条件是远远不够的,还要在恰当的位置加上准确的判定条件,否则程序将无法达到目标结果。

(二)题目二:国王分财产。某国王临终前给儿子们分财产。他把财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第二个儿子两份,再加上剩余财产的1/10;……;给第i个儿子i份,再加上剩余财产的1/10。每个儿子都窃窃自喜。以为得到了父王的偏爱,孰不知国王是“一碗水端平”的。请用程序回答,老国王共有几个儿子?财产共分成了多少份?。

1.题目分析

本题也存在两个未知数,国王儿子的数量n,以及财产的总数m,由题意得,国王分财产是“一碗水端平的”所以有多少个儿子财产就被分成了多少份,所以可以从最后一个儿子也就是第i个儿子入手,如下图所示:

递归方程为:前一位王子所剩财产=后一位王子所剩财产数*10/9+前一位王子数。

边界条件:当第i个儿子分到m/i财产,每个王子都能被9整除时循环终止。

2.算法构造

在此论证算法设计中的一些必要的设计依据。

本算法我运用了两个循环,外循环是判断循环终止条件(结合实际当份数第一次满足条件时,即跳出循环不然国王的孩子会越来越多),内循环判断是否每个王子得到的财产都能被9整除。

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

public class Treasure {

public static void main(String[] args) {

int i=0;

int n=0;

int prince[]=new int[100]; //规定一个边界值,以免数值过大影响计

算速度(本题已经确定份数在100份以内)

while(true){ //如果没有break则继续循环

n=n+9; //因为财产数必为9的倍数

prince[n]=n; //第n个王子得到n份

for(i=n-1;i>=1;i--) //从最后一个王子开始往前算每一位王子所拥有的财产能否被9整除

{ //不能则跳出循环,n再加9,可以的话再判断前一位

if(prince[i+1]%9!=0) {break;}

else prince[i]=prince[i+1]*10/9+i;

}

if(i==0) break; //当所有王子所拥有的财产都能被9整除,及经过若干次i--之后i变成了零

} //跳出外循环,完成循环终止条件,得出结果

System.out.println("国王一共有"+n+"个儿子");

System.out.println("一共有资产"+n*prince[1]+",总共分了"+prince[1]+"份");

}

}

4.运行结果

5.经验归纳

本题与第一题相似只是细微的部分发生了改变,设计的难点还是很难找到循环终止条件(三)题目三出售金鱼问题:第一次卖出全部金鱼的一半加二分之一条金鱼;第二次卖出乘余金鱼的三分之一加三分之一条金鱼;第三次卖出剩余金鱼的四分之一加四分之一条金鱼;第四次卖出剩余金鱼的五分之一加五分之一条金鱼;现在还剩下11条金鱼,在出售金鱼时不能把金鱼切开或者有任何破损的。问这鱼缸里原有多少条金鱼?

1.题目分析

由题意得,本题中仅存在一个未知数,一开始有多少条金鱼,由于已经给出了最后一天卖出了11条金鱼这个信息所以,从后往前便能推出每一天卖之前有多少条金鱼:

如上图所示第三天卖之前还有29条金鱼,经过归纳可得递推公式:

f(n)=f(n-1)-[f(n-1)/n+1/n]

f(n-1)=[n/(1-n)]*[f(n)+1/n]

f(n)=[(n+1/n]*[f(n+1)+1/(n+1)]

f(n)表示前一次有多少条鱼f(n+1)表示后一次有多少条鱼;

边界条件:当函数中初值取值为5的时候,将11往前传递

2.算法构造

在此论证算法设计中的一些必要的设计依据。

本题是最显而易见的循环算法,将第几次卖鱼看做一个函数给定一个初值,没有返回值的时候就根据递推方程继续调用自身,直至初值为5将数据传递归还

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

public class Fish {

public static float fish(float n){ //第几次卖鱼时共有多少条鱼if(n==5) return(11); //如果是第五次卖鱼,则有11条鱼

else return ((n+1)/n)*(fish(n+1)+1/(n+1)); //前一次卖的鱼等于((n+1)/n)乘以后一次卖的鱼加上后一次分之一

}

public static void main(String[] args) {

float n;

n=fish(1); //第1次卖鱼时共有多少条鱼

System.out.println("第一次共有"+n+"条鱼");

}

}

4.运行结果

5.经验归纳

本题运用了最基本的递归算法思路,自身调用自身,达成条件后将数据传递归还,加深了我对递归含义的运用,以及对该类算法的理解。

(四)题目四:某路公共汽车,总共有八站,从一号站发轩时车上已有n位乘客,到了第二站先下一半乘客,再上来了六位乘客;到了第三站也先下一半乘客,再上来了五位乘客,以后每到一站都先下车上已有的一半乘客,再上来了乘客比前一站少一个……,到了终点站车上还有乘客六人,问发车时车上的乘客有多少?

1.题目分析

本题与第三题类似,由题意得:

边界条件:到达八号站台,并将6作为返还值

2.算法构造

在此论证算法设计中的一些必要的设计依据。

本题是最显而易见的循环算法,将第几站上车看做一个函数并给定传入的参数,没有返回值的时候就根据递推方程继续调用自身,直至传入参数为6时将数据传递归还

因为到达第一站时是没有上下车人员的变化的所以从第二站开始算起,递归方程随之改变:station(n)=2*(station(n+1)+n-7);

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

package https://www.doczj.com/doc/0216197599.html,;

public class Bus {

public static float station(float n){ //第几站上车时车上有多少人

//第一站上车时人员不发生变动,所以将第二站作为始发点

if(n<7) return (2*(station(n+1)+n-7)); //如果传入值不是最后一站则向后递归寻找边界值

else return (6); }

public static void main(String[] args) {

float n;

n=station(1); //第1站公交车上有多少人

System.out.println("第一站公交车上有"+n+"人");

}

}

4.运行结果

5.经验归纳

本题运用了最基本的递归算法思路,自身调用自身,达成条件后将数据传递归还,加深了我对递归含义的运用,以及对该类算法的理解。

(五)题目五:猴子吃桃。有一群猴子摘来了一批桃子,猴王规定每天只准吃一半加一只(即第二天吃剩下的一半加一只,以此类推),第九天正好吃完,问猴子们摘来了多少桃子?。

1.题目分析:

由题意得,本题只存在一个未知数摘来桃子的数量(与有多少只猴子是无关的),分析后得出第九天刚好吃完,而第九天也吃了剩下的二分之一加1,所以第九天吃之前剩了2个桃子,第八天吃完剩了两个,如下表可得递归方程:

递归方程:E(N)=(E(N+1)+1)*2

边界条件:N等于9时,返还值为2

2.算法构造

在此论证算法设计中的一些必要的设计依据。

本题是最显而易见的循环算法,将第几天吃之前还剩多少看做一个函数并给定传入的参数,没有返回值的时候就根据递推方程继续调用自身,直至传入参数为9时将数据传递归还

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

public class Monkey {

public static float eatPeach(float n){

if(n==9) return (2); //循环终止条件,第九天吃之前剩了两个桃子

else return (2*(eatPeach(n+1)+1));//如果不满足条件,当天吃之前剩的=((后一天的)+1)*2

}

public static void main(String[] args) {

float n;

n=eatPeach(1); //算第几天猴子吃之前有多少个桃子eatPeach方法体中写天数

System.out.println("猴子们摘来了"+n+"个桃子");

}

}

4.运行结果

5.经验归纳

本题运用了最基本的递归算法思路,自身调用自身,达成条件后将数据传递归还,加深了我对递归含义的运用,以及对该类算法的理解。

(六)题目六:小华读书。第一天读了全书的一半加二页,第二天读了剩下的一半加二页,以后天天如此……,第六天读完了最后的三页,问全书有多少钱页?。

1.题目分析

由题意得,第六天刚好读完最后三页,所以如下表可得递归方程:

边界条件:N等于6时,返还值是3

2.算法构造

在此论证算法设计中的一些必要的设计依据。

在此论证算法设计中的一些必要的设计依据。

本题是最显而易见的循环算法,将第几天读之前还剩多少页没读看做一个函数并给定传入的参数,没有返回值的时候就根据递推方程继续调用自身,直至传入参数为6时将数据传递归还

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

public class Reading {

public static float Read(float n){

if(n==6) return (3); //循环终止条件,第六天读之前有3页没读

else return(2*(Read(n+1)+2));//如果不满足条件,当天读之前剩的页数=((后一天的)+2)*2

}

public static void main(String[] args) {

float n;

n=Read(1); //算第1天读之前有多少页没读等价于求全书有多少页

System.out.println("整本书有"+n+"页");

}

}

4.运行结果

5.经验归纳

本题基于最基本的递归算法思路,自身调用自身,达成条件后将数据传递归还,加深了

我对递归含义的运用,以及对该类算法的理解。

(七)题目七:日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。结果大家手中的桔子正好一样多。问六兄弟原来手中各有多少桔子?

1.题目分析:

由题意得,最后大家手中的桔子都一样多,每个人最后都有2520/6=420个桔子,本题

与之前的题目不太一样差异在于递归终点与递归起点之间存在联系,可以推出边界条

件:第一个孩子得到的桔子总数等于平均数-最后一个孩子分给老大的差乘以8/7.

2.算法构造

为了完成这道题目,我构建了一个二维数组a[i][0]表示第i个孩子分出的桔子,a[i][1]

表示第i个孩子分到的桔子,定义了两个静态值:分母的最大值8,和分母的最小值3,算法实现如下:

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

public class Orange {

static int MAX=8;//分母最大值

static int MIN=3;//分母最小值

//a[i][0]表示第i个孩子分出的桔子

//a[i][1]表示第i个孩子分到的桔子

public static int orange(int a[][],int i){

int ave=2520/6;

int p;

if(i==0){//边界条件

//第一个孩子得到的桔子总数等于平均数-最后一个孩子分给老大的差乘以8/7.

a[i][1]=(ave-ave/(MIN-1))*(MAX-i)/(MAX-1-i);

//第一个孩子分给第二个孩子的橘子数量

a[i][0]=a[i][1]-(ave-ave/(MIN-1));

}

else{

a[i][1]=ave*(MAX-i)/(MAX-i-1)-orange(a,i-1);//第i个孩子分到的

a[i][0]=a[i][1]+orange(a,i-1)-ave; //第i个孩子分出的

}

p=a[i][0];

return p;

}

public static void main(String[] args) {

int o[][]={{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}};

orange(o,5);//给数组里的六个元素赋值

for(int i=0;i<=5;i++)

{

System.out.println("第"+(i+1)+"个儿子最初有"+o[i][1]+"个桔子");

}

}

}

4.运行结果

5.经验归纳

本题与之前的题目不太一样差异在于递归终点与递归起点之间存在联系,所以在分析初期一直找不到入手点,因为之前的题目都存在着明确的循环终点,本题就像一条衔尾蛇一样首尾相连,经过了一段时间的分析才推出了关系,明白了这种类型的题目,其入手点在于最后一个单位和第一个单位之间的联系,将其作为边界条件即可推出结果。

(八)题目八:一种传染病第一天只有一个患者,前5天为潜伏期,不发作也不会传染人,第6天开始发作,从发作到治愈需要5天时间,期间每天传染3个人,求第N天共有多少患者。

1.题目分析

由题意得,前五天不会发作也不会传染给别人,所以可以得出边界条件:

当天数小于等于五时,只有一个患者。

递归方程为:

第N天患病人数等于前一天被传染和发作的加上当天又传染的的减去当天被治愈好的。

2.算法构造

我先定义了一个函数diseaseDay,传入一个int值i;传出的结果就是第i天有多少患者,构造如下:

边界条件:

当天数小于等于五时,只有一个患者。

递归方程为:

第N天患病人数等于前一天被传染和发作的加上当天又传染的的减去当天被治愈好的。

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

import java.util.Scanner;

public class Disease {

public static int diseaseDay(int n){

int sum=0;

if(n<=5){

return 1; //五天之内既不发作也不会传染,所以患病人数就是1

}

else{

sum=diseaseDay(n-5)*3+diseaseDay(n-1)-diseaseDay(n-5);//五天之后患病人数等于前一天被传染和发作的加上当天又传染的的减去当天被治愈好的。

}

return sum;

}

public static void main(String[] args) {

int n;

System.out.println("请输入传染病发生后的天数(疾病五天之后才开始传染)");

Scanner scanner=new Scanner(System.in);//控制台输入

String day=scanner.nextLine();

n=Integer.parseInt(day);

for(int i=1;i<=n;i++){

System.out.println("第"+i+"天"+"得病人数为:"+diseaseDay(i)+"人");

}

}

}

4.运行结果

5.经验归纳

本题所需要考虑的元素比较多,跟之前的题目比起来所需要考虑的范围也要更全面一点,通过完成本道题目,我的思维缜密性得到了加强,逻辑严谨性也得到了很大的提高。

选做题:

(一)题目一:递归将一个整数输出。形如654321,输出1,2,3,4,5,6。

1.题目分析

本题是想要实现将输入进来的字符串进行逆序操作,可以先得到字符串的长度,从长度-1的位置开始输出,直到输出完毕。

2.算法构造:定义一个数组,将字符串分割之后存入数组中,定义一个递归函数,将数组

逆序递归遍历出来。

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

import java.util.Scanner;

public class X1 {

static int i=0; //定义一个计数器

static char input[]=new char[10]; //定义一个数组,将输入的字符串存储起来public static void niXv(String mes){

if(i<0) return;

else{

System.out.print(input[i]+"_");

i--;

niXv(mes);

}

}

public static void main(String[] args) {

System.out.println("请输入请输入字符串,算法将对输入的字符串进行逆序操作

");

Scanner scan=new Scanner(System.in);

String character=scan.nextLine(); //控制台输入

character.getChars(0, character.length(),input, 0); //将输入的字符串分割之后存入数组

i=character.length()-1; //因为i记录的是位置,数组是从0号位置开始存储元素的

niXv(character); //调用逆序算法}

}

4.运行结果

5.经验归纳:

本题相对来说比较简单,仅仅是利用数组的性质构建的递归算法。

(二)题目二:用递归实现分解质因数。形如:12=2*2*3。

1.题目分析

本题的的目的是:输入一个合数,通过算法对其进行质因数分解,质数是只能被1和自身整除的数,所以先定义一个判断是否为质数的算法,在定义一个分解算法,分解算法先判断出在从2到n-1遍历的过程中找到能被目标整数整除还是质数的数,将这个数输出出来之后,用目标数整除它,整除得到的值再放入分解算法之中。

2.算法构造

定义一个boolean型的判断算法isZhishu,在定义一个递归算法resolveZhishu,在resolveZhishu之中用到了isZhishu的功能,最后在主函数之中调用了resolveZhishu算法。

3.算法实现

package https://www.doczj.com/doc/0216197599.html,;

import java.util.Scanner;

public class X2 {

public static boolean isZhishu(int n){//判断一个数是否是质因数

for(int i=2;i

{

if(n%i==0) return false; //如果可以被其中一个数整除,则不是质数}

return true;

}

public static void resolveZhishu(int n){//质因数分解

for(int i=2;i

{

if((isZhishu(i))&&(n%i==0)){//判断质因数

System.out.println(i);//如果是质因数则将其输出打印出来

n=n/i; //除以被判断出来的质数

resolveZhishu(n); //递归调用除出来的数再继续判断

break;

}

}

}

public static void main(String[] args) {

int num;

System.out.println("请输入一个整型数字:");

Scanner scan=new Scanner(System.in);

String character=scan.nextLine(); //控制台输入

num=Integer.parseInt(character);

System.out.println("整数"+num+"分解质因数结果如下:");

resolveZhishu(num); //调用分解算法}

}

4.运行结果

5.经验归纳:

本题我为了让整个算法显得精炼,定义了两个函数,一个判断函数一个分解函数,分解函数调用了判断函数,分解函数在进行递归。

(三)题目三:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法?。

1.题目分析:

由题意得,每次上台阶只能是一阶一阶上或者两阶两阶上,所以到达顶点的最后一步不是一阶就是两阶,倒数第二步也只可能上一阶或者两阶,所以从从倒数第一步到第一步,每一步的两种可能加在一起就是最后的答案,递归方程:

upStairs(n-1)+upStairs(n-2)

边界条件:

if(n==1||n==0) return 1;

2.算法构造

定义一个upStairs算法,输入参数为int型含义是一共有多少阶台阶,输出值也是心态型,含义是n阶台阶总共有多少种上法。

3.算法实现

程序源代码(请写入必要的注释)。

package https://www.doczj.com/doc/0216197599.html,;

import java.util.Scanner;

public class X3 {

public static int upStairs(int n){ //n阶台阶有多少种上法if(n==0) return 1; //边界条件,一阶或者0阶台阶时都只有一种上法

if(n==1) return 1;

else return upStairs(n-1)+upStairs(n-2);//因为只能是一阶一阶上或者两阶两阶上,所以到达顶点的最后一步不是一阶就是两阶,倒数第二步也是这样

//将从倒数第一步到第一步,每一步的两种可能加在一起就是最后的答案

}

public static void main(String[] args) {

int n;

System.out.println("请输入楼梯的阶数:");

Scanner scan=new Scanner(System.in);

n=scan.nextInt(); //控制台输入

for(int i=1;i<=n;i++)

{

System.out.println(i+"阶台阶,一共有"+upStairs(i)+"种上法");//将从1阶到输入的n阶的可能数量遍历输出

}

}

}

4.运行结果:

5.经验归纳

本题一开始让我感到十分困难,为此我还专门回顾了排列组合的知识对题目进行分析,之后发现这道题目满足斐波那契数列的规律,才找到递归思想解决问题的入手点另我茅塞顿开,将规律原子化,传递请求,归还初值。

五、实验总结

个人认为本次实验的难度是比较高的,有些题目虽然属于同一类型,隐藏的内在规律也比较类似,但是每道题的解决过程都不是特别的容易,完成本次实验耗费了我很多的时间,但是我却乐在其中,享受着解决题目后的那种自豪感。

在实验初期,我对递归的运用还有算法设计的标准还不是特别熟悉,所以翻阅的大量的电子资料,慢慢的分析之后才有了自己的设计思路,完成实验的过程中我清晰的感受到了自己逻辑推演能力和思维敏捷速度的提升,言而总之,本次实验令我获益匪浅。

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

新教科版四年级上册科学实验报告单1.实验名称:室内外温度的测量与比较 实验目的:测量室内外温度实验器材:温度计、线、笔 实验步骤: (1)取一支温度计用线拴好。 (2)将温度计悬挂。 (3)读数。 (4)比较。 实验结果:室内外温度存在差距,通过对大气温度的测量,可以了解当地的气温。 2.实验名称:气温的测量 实验目的:测量温度的变化实验器材:温度计 实验步骤: (1)阳光下和背阴处测量温度. (2)测量一天中,清晨、商务、中午、下午、傍晚的气温。 实验结果: (1)阳光下的温度高,背阴处的温度低。 (2)一天中,中午的时候气温最高,清晨的时候气温最低。 3.实验名称:食盐在水中溶解了吗 实验目的:食盐能否在水中溶解 实验器材:烧杯2个、搅拌棒2根、沙、食盐、水。 实验步骤: (1)取一小匙食盐,放入盛水的烧杯内,用搅拌棒轻轻搅拌。 (2)观察实验结果:食盐在水中溶解了。

4.实验名称:面粉在水中溶解了吗 实验目的:面粉能否在水中溶解 实验器材:烧杯1个、搅拌棒1根、面粉、水。 实验步骤: (1)取一小匙面粉,放入盛水的烧杯内,用搅拌棒搅拌。 (2)你发现了什么?实验结果:面粉在水中没有溶解 5. 实验名称:过滤食盐、沙和面粉与水的混合物 实验器材:铁架台1个、漏斗一个、烧杯6个、玻璃棒3根、滤纸三个、(面粉、沙、食盐)溶液三份。 实验步骤: (1)折叠过滤纸放入漏斗中。 (2)将漏斗放在铁架台上,漏斗下放好接盛滤液的烧杯。 (3)分别倾倒食盐溶液、沙和水的混合物、面粉和水的混合物过滤。 (4)观察比较滤纸。 实验结果:过滤后,食盐没有出现颗粒,沙留在滤纸上,面粉留在滤纸上。 6.实验名称:高锰酸钾的溶解实验目的:高锰酸钾在水中溶解吗 实验器材:烧杯、高锰酸钾、钥匙、搅拌棒、水。 实验步骤: (1)水里放入几粒高锰酸钾,观察并描述高锰酸钾和水的变化。 (2)用搅拌棒搅拌,再观察、描述高锰酸钾和水的变化。 实验结果:高锰酸钾在水中溶解了 7.实验名称:观察胶水和洗发液是怎样溶解的 实验目的:观察胶水和洗发液是怎样溶解的 实验器材:烧杯2个、钥匙、搅拌棒2根、水。

一次成功的实验教案

一次成功的实验教案 一次成功的实验教学设计 一、破题导入,读题质疑(4) 1.板书“成功” ①读读这个词。能说说它的反义词吗?(生说:失败) ②怎么理解“成功”? 2.学生讲成功的经历,并说说当时的感受。 提问:你有成功的经历吗?和小伙伴们一起分享吧! 生说师结:成功需要毅力;成功必须付出;成功要善于观察,多思考?? 3.揭题质疑

听了你们那么多成功的经历,让人振奋激动,接下来,我们也要学习一篇与成功有关的课文,它就是 ,你们把课题读出来。(板书1:一次成功的实验) ①这就是大家成功的经历,我们成功地把标题读标准了。 ②疑:看到课题,你有什么疑问吗?(生自由说)师归纳:同学们提出的问题大致有这几个a谁做了这个实验? b怎么做的这个实验? c实验的结果是什么?(副板书2:谁怎么结果) 就让让我们带着这些疑问,赶紧读读课文,去当年实验的场景中寻找答案。 二、整体感知,把握大意(12) 1.自由读文,提出读书要求。(请同学们自由读读课文)(1) 1)给课文标上自然段,注意读准字音,读通句子。

2)思考:课文究竟讲了一件什么事? 2.认读词语反馈。(课文读完了,来看看这些词语,你都会读吗?)(5) 1)会读:锤子、堵在、获得(指名(评:不错,你读得很标准,是个不错的小老师!)、齐读(评:大家成功地读准了它!真能干!那下面这些字会写吗?)) 2)会写:教育家瓶子系着绳子茶杯危险顺利他俩不假思索激动堵在获得) A自由书空写一写。(伸出小手指,自己读一读,写一写,哪几个字需要老师帮忙的。) B指导书写、读音:“绳”字读音,“系、索”和“茶”的范写。)副板书:(系、索、茶) (这里面要来帮帮忙的一是绳子的绳,绳字什么音?(绳字后鼻音、翘舌音),第二个要帮帮忙的是系、索、茶这三个字。) 3)齐读,读出节奏。(接下来,把这些词语齐读一遍,注意要读出我们的节奏。)

嵌入式系统及应用 实验大纲

《嵌入式系统及应用》课程实验 一、实验课程的性质、目的和任务 性质:《嵌入式系统及应用》课程是自动化专业的专业基础课程,本实验课是该课程教学大纲中规定必修的实验教学内容。 目的和任务:通过实验环节来巩固和加深学生对嵌入式系统的理解,使学生掌握MCS51单片机和ARM的基本原理和应用技术。通过熟悉MCS51开发环境和ARM集成开发环境,使学生掌握嵌入式系统开发的一般规律和方法。在集成开发环境下,进行系统功能程序的编写和调试的训练,掌握嵌入式系统软硬件调试的一般方法和系统设计的能力。 二、实验内容、学时分配及基本要求

三、考核及实验报告 (一)考核 本课程实验为非独立设课,实验成绩占课程总成绩的15%,综合评定实验成绩。(二)实验报告 实验报告应包括: 实验名称 实验目的 实验内容与要求 设计思路(如:分析、程序流程图等) 实验步骤 实验代码(含必要注释) 实验结果分析 实验小结(本题调试过程中遇到的问题和解决方法、注意事项、心得体会等)注:综合型实验需写出系统功能、设计过程 实验报告的要求: 实验报告以文本形式递交,实验报告要书写规范、文字简练、语句通顺、图表清晰。 四、主要仪器设备 硬件:微型计算机;嵌入式系统开发平台。 软件:Keil C51;ADT 五、教材及参考书 教材

[1] 高锋.单片微型计算机原理与接口技术(第二版).北京:科学出版社,2007 [2] 自编.嵌入式系统及应用 参考书 [1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2003 [2] 陈赜.ARM9 嵌入式技术及Linux高级实践教程.北京:北京航空航天大学出版社,2005 [3] 李忠民等.ARM嵌入式VxWorks实践教程.北京:北京航空航天大学出版社,2006

一次成功的实验作文300字

一次成功的实验作文300字 一次成功的实验 我从我的科学实验书中了解到,用小喷壶背对着太阳连续喷几下,水雾中会出现一道彩虹,它说的对不对呢?我打算亲自试一下。 拿上小喷壶,我直奔广场,只见广场上阳光灿烂,我抬头看看太阳的方位,仔细确定位置,调整一下喷壶的方位,便“呲啦、呲啦”连续喷了好几下。奇迹发生了!透明的水雾间渐渐映出半透明的彩虹来,红、橙、黄、绿、蓝、靛、紫各色清清楚楚,顺喷嘴方向中心至边缘由深至浅,像一条美丽的七色彩带。虽然它不像真的彩虹那般绚烂,却让人打心眼儿里高兴:不常见的彩虹,却能在晴天就可以观赏,多让人高兴呀! 它的科学原理是这样的:太阳的光谱中,其实有七种颜色,透过小水滴折射入人眼成为可见光后就看见了“彩虹”。 实验成功了,我也获得了一份新知识。 【写作指导:怎样培养提高学生对作文的兴趣】 对学生作文评价是作文教学的一个重要环节,传统观念认为学生将作文交给老师,即算完成任务,而教师则花大量的时间批改后,再还给学生,而学生只是看一看分数与评语。这样,评价变成了作文教学的终结,而不是一个环节,同时由于教师只看到评价的评判功能,而忽略了心理调节功能,那些经常得低分的学生的作文积极性受到了挫伤,也就失去了写作的兴趣。为了能有效发挥评价的激励功能,提 ————来源网络搜集整理,仅供个人学习查参考

高学生的习作兴趣与能力,我们对传统作文评价方式作了一些改革。 1、延时评价。传统的评价方法是一次性的,一旦分数定下来,即使修改的再好,也还是那个分数,学生失去了再修改、再写作的动力。因此,我们在教学中,对那些暂时不能得到高分的作文,通常是先指出文中的成功之处,树立信心,再把需要修改的地方告诉学生。这样学生既能看到自己的成绩,也能看到自己的不足,渴望重新修改作文的兴趣被激发出来。而教师则根据学生修改后的作文再行评价打分。 2、多次评价。一篇作文一个分数,这就把学生每次的习作水平看成了一个不变的“常数”,客观上也就抹杀了他们进步的可能,我们在评价学生的作文时,实行一篇多练,每练一次,进步一点,就加一次分。这样将传统的“孤立、静态”习作行为转变成过程性、动态作文。(next88)既给学生机会,又能调动兴趣。 3、舍得送分。学生与学生之间存在着一定的差异,因而用同一个标准来衡量全班学生的作文,表扬、鼓励“后进生的机会就少了。对这类学生,我们的做法是不与他人横向比较,而是与本人做纵向比较,不作优劣判断,而是劣中选优沙里淘金,只要有进步,就适当提高学生作文的分数或等第。对于实在不好送分数的作文,耐心引导,或教写法,或分散难点,促其提高。 4、突破满分。在一次次的修改过程中,学生习作的得分越来越高,当达到“顶峰”——满分时,学生的高分心理得到了满足,但兴趣却由此变弱。特级教师于永正在一次评价学生的作文是最高打出120

matlab第一次实验报告

Matlab第一次实验报告 2012029010010 尹康 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x,y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 程序代码: n=input('input the number of pionts:'); a=input('input a:'); b=input('input b:'); x=[]; y=[]; x(1)=input('input x1:'); y(1)=input('input y1:'); %输入点数、初始值以及系数for i=2:n x(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2); y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2); %根据已输入的数据进行迭代end figure;plot(x,y,'linewidth',2) axis equal %横纵坐标等比例 text(x(1),y(1),'1st point') %标记初始点 运行结果:

心得体会及改进:在输入某些数据时,所绘曲线可能是一条折线(如:n=5,a=b=x1=1,y1=2)甚至只有一个点(如:n=5,a=b=x1=y1=1),此时可能出现曲线与坐标轴重合或无法看到点的情况,为了更清晰地展现曲线,可以使线宽适当加宽并标记初始点。 2.编程实现奥运5环图,允许用户输入环的直径。 程序代码: 函数circle: %在指定的圆心坐标处,用指定颜色、宽度的线条绘出指定半径、圆心角的弧 function f=circle(r,x,y,color,linw,alp1,alp2) alp=linspace(alp1,alp2); X=r*cos(alp)+x; Y=r*sin(alp)+y; plot(X,Y,color,'linewidth',linw) end 主程序代码: r=input('input r:');

一次成功的实验阅读答案

一次成功的实验阅读答案 课外阅读。 一次成功的实验 有位姑娘,常为自己的长相不美而自怨自艾。有一天,一位心理学家与她做了一番长谈,末了叫她去买一套漂亮得体的衣服,请发型师做个好看的发型,然后,星期二晚上到他家参加一个晚会。星期二这天,这位姑娘发式得体、衣衫舍身。晚会上,她按照心理学家的吩咐去做,热情地与大家打招呼,笑容可掬、举止得体,还发挥了幽默的谈吐,使她成为晚会上最受欢迎的一位客人。 晚会后,新认识的朋友争相与她交往,唤起了她对生活的巨大热情,她展现出身上蕴藏的青春美,同以前判若两人。 有人对这位心理学家说:“你创造了奇迹。” “是谁让她变美的?只有她自己。”心理学家说。 可见,人的美丑,并不仅仅在于一个人的本来相貌如何,还在于她如何看待自己。 1.写出下面词语的反义词。 漂亮——()成功——()热情——() 2.联系上下文理解下面词语。 (1)自怨自艾:______________________________________________ (2)举止得体:______________________________________________ (3)判若两人:______________________________________________ 3.你觉得这位姑娘成功的原因是什么? _____________________________________________________________ 4.这篇短文的中心句是哪一句?找出来写在下面。 _____________________________________________________________ 参考答案:1.丑陋失败冷淡 2.(1)悔恨自己长得不美。 (2)姿态和风度很恰当。 (3)现在和以前像两个完全不同的人。 3.“略” 4.可见,人的美丑,并不仅仅在于一个人的本来相貌如何,还在于她如何看待自己。 搜集整理仅供参考

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

老师文章 如何在课堂教学中渗透概括课文主要内容的方法

老师文章如何在课堂教学中渗透概括课文主要内容的方法 经验交流如何在课堂教学中渗透概括课文主要内容的方法 新疆克州实验小学杨剑勇 新课标第二学段阅读目标要求学生能初步把握课文的主要内容,体会文章表达的思想感情。所以让学生在这期间掌握概括课文主要内容的方法是教学中的一个重点也是一个难点,因为学生只有了解了课文的主要内容才能全面体会文章所表达的的情感。而现在的课堂教学往往忽视了对这方面的训练,教会学生掌握概括课文主要内容的方法渐渐在教学中被淡化。 概括课文主要内容不同于学生从表象来认识事物,他需要学生有抽象概括能力。对语言的组 是这一自然段的中心句,其它内容都是围绕它来写,这种构段方式叫总分,通常给这种段落分层按总起为第一层分写为第二层。这是让学生初步了解,起到总起作用的中心句概括主要内容的方法,而剩下两个自然段就可以让学生进行巩固,让这种结构在他们的脑海中构建起来。这是对学生的一个初步训练。到了《花钟》一课,学生很快就能找到第一自然段是围绕第二句话写的,并说出这是这一自然段的中心句,并能概括本段的段意,还让学生发现中心句不一定都是第一句和最后一句。此时学生已经基本掌握了这种方法。这时可以引入本课第二自然段,这一段虽没有中心句,但第一句话是一个问句也是一个过渡句,起到启下的作用,这里告诉学生过渡句引起下文,这个问题的答案就是本段的主要内容。有些过渡句承上启下可以概括两个段落的主要内容。到了《赵州桥》一课时,把以上这种方法合在一起就可以初步了解概括全文主要内容的方法了。赵州桥第二自然段第一句是一个总起句,第三段的第一句话是一个承上启下的过渡句,合在一起即为:“隋朝石匠李春设计的赵州桥非常雄伟,

MCU第一次实验报告

东南大学自动化学院 实验报告 课程名称: MCU综合课程设计 第 1 次实验 实验名称:数据传送与多字节十进制加法实验 院(系):自动化专业:自动化 姓名:李周洋学号:08011328 实验室:测控技术实验室实验组别: 同组人员:刘乃广实验时间:2014 年 4 月17 日评定成绩:审阅教师:

目录 一.实验目的和要求 (2) 二.实验原理 (2) 三.实验方案与实验步骤 (3) 四.实验设备与器材配置 (5) 五.实验记录 (6) 六.实验总结 (6) 七.思考题或讨论题 (6) 八.源代码 (7)

一.实验目的和要求 实验目的 (1)熟悉掌握将数据存入片外存储空间或片内存储空间的方式和指令以及熟悉掌握外部存储空间中数据传递的方式和指令; (2)学会用汇编语言进行循环操作。 (3)熟悉掌握汇编语言进行的十进制加法运算和十进制调整指令。 (4)理解进位溢出的原理。 (5)熟悉使用Medley软件进行下载调试(单步、断点),并查看相关的寄存器值和片内外存储器的值。 实验要求 1、数据传送实验 把数据0A0H放到地址为40H的内存单元,并将数值和地址分别递增1,要求一共做十次这样的操作。然后将内存空间40H-49H的数值分别传递给50H-59H的内存空间中。 2、多字节十进制加法实验 将存放在单片机内部RAM中以40H为首的3个地址单元中的一个六位十进制数与存放在50H为首的3个地址单元中的一个六位十进制数相加,将相加结果存放在以60H为首的地址RAM地址单元中。 数据存放方式:十进制数以BCD码存放,高位数据在低地址,低位数据在高地址。 (40H) (41H) (42H) + (50H) (51H) (52H) = (60H) (61H) (62H) (63H) 最高位进位存放在60H中。数据都存放在片内数据存储器内。 二.实验原理 1、数据传送实验 当使用Ri(i=0、1)作片外寻址时候,需要预先设置高位地址线P2的值。程序中将P2的值设为00H。如果利用DPTR作间址寄存器,无需改变P2口的值,可直接使用. 因为程序中使用的是R0、R1作片外寻址,首先将P2口写0,即把高位地址置0,然后将地址初值40H放入寄存器R0。同时,将初始数据放入一个累加器A中。之后,一个MOVX A,@R0操作便可将累加器中的数据传送到片外数据存储单元中去。由于这样的操作要做十次,所以用一个寄存器R2作为计数器使用,即将0AH存放在寄存器内。当寄存器的值不为0,用DJNZ循环操作。 第二步是要将40H-49H的数值分别传到50H-59H的内存空间中。先将源地址初值和目的地址初值分别存放在寄存器R0和R1内。再重置计数初值R2,同样用DJNZ循环。循环时,先将数据初值放入一个累加器A内,通过A间接地传送数值。R0和R1经过一次循环分别加一。直至循环结束。

四年级上册科学实验报告

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 次.

一次成功的实验

一次成功的实验 本文是关于作文大全的,仅供参考,如果觉得很不错,欢迎点评和分享。 一次成功的实验(一) 前几天,我做了一个有趣的小实验,名字叫:“杯底朝天水不流”。“杯底朝天水不流”,一听这名字你肯定就会觉得很奇怪吧,没错,刚一开始,我也觉得非常奇怪。“杯底朝天水不流”,顾名思义,杯底朝着天,并且里面的水不会流出来,这真是一个奇迹。不过,我决定试着做一下这个小实验,而且一定要成功。 做这个小实验要准备的东西很简单,只需要准备一只玻璃杯和一张普通的小纸片,小纸片的大小要比杯口大,要能盖住它,但如果这个实验不会一次就成功,我就多准备了这样的小纸片。当然了,做这个实验自然不会离开水,还要准备一些水。 这些材料准备好后,我先把一些水倒进准备的杯子里,接这再把一张小纸片放在杯口上,之后,我把左手按在小纸片上,使掌心压住整个杯口,再伸出右手握住杯底,把杯子翻个身,这样杯底就朝天了。但当我把左手移开时,杯子里的水一下子全都流了出来,放在杯口的小纸片也掉了下去,第一次实验失败了。虽然第一次实验失败了,但我还是接连做了第二次、第三次、第四次,可每次的结果都是一样的,都没有成功。我不明白为什么做了这么多次都不行,到底原因是什么,我还怀疑这个实验究竟会不会成功。不过,失败是成功之母,如果,

没有失败这个母亲,那又怎么会有成功这个孩子呢?我总结了前几次失败的经验,我发现前几次做实验好像都没有把杯子里的水倒满,可能是因为这个原因吧。于是做最后一次实验时,我特意把杯子倒满水,那水满得几乎都要溢出来似的。然后我把那只装满水的杯子的杯口盖上小纸片像原先一样杯底朝天,等我把手从杯口移开时,杯子里的水竟然一滴都没有漏出来,小纸片也紧紧地贴着杯口。 经过我的努力,这次实验我终于成功了! 一次成功的实验(二) 科学是以荡漾着同学们探究的认真和成功的喜悦。那是一次科学实验课,同学们都怀着愉快的心情,拍着整齐的队伍,来到了科学室。 上课铃一响,科学老师对我们说:“同学们,大家好,今天我们做一个小试验,叫做‘雨的形成’,大家翻开书本……”我们随着课本的指示选择了实验器材——酒精灯、支架、铁丝网、烧杯、热水、玻璃片、火柴、夹子等。 老师现在讲台上做了一次准确的示范,告诉了我们做实验的细节和要点后,我们的誓言就开始了。 我们全班以四人为一小组,每人轮流一次试验。很快就轮到我了,我回忆了老师做实验的步骤。首先,我把器材一一介绍;然后我把铁丝网和装满温水的烧杯放在铁丝网上;再拿出一根火柴,老师说点酒精灯的时候要从下往上点,否则就会引起爆炸的意外发生。我把火柴点着,然后小心翼翼的从下往上把酒精灯点燃;再把玻璃片赶在烧杯上;仔细的观察着烧杯里的变化。时间一分一秒的过去了,可烧杯里

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

一次成功的实验作文300字范文

一次成功的实验作文300字范文 一次成功的实验作文300字篇1 今天是2007年5月12日,是理化考试的日子。考题是“探究成功的实验”。 听完监考老师的长篇大论,俺就开始了实验: 材料:烧杯、试管、搅匀棒,各种材料少许,困难粉末居多。 过程:1、将少许“放弃”液体倒入装有“困难”粉末的试管里,进行搅拌,产生了粘稠状的沉淀物,名为“平庸”。 2、重新将“三分钟热度”放入“困难”中,产生黑色的“失败”液体。 3、将“半途而废”家放入“困难”中,产生令人无法呼吸的 “碌碌终生”气体。 4、在“困难”中加入“勇敢”,产生了一种无名的芳香。再次 加入自大,试管内开始燃烧,产生“永远失败”气体。 5、在“困难”和“勇敢”的基础上加入“奋斗”,发生了升华,产生了“走向成功”气体。再加入“自信”,发生液化,产生淡绿 色液体,发出了阵阵清香。最后加入“他人的帮助”,产生了“成功”沉淀物。 实验结论:成功=困难+勇敢+奋斗+自信+他人的帮助。 一次成功的实验作文300字篇2 听说盐水可以让生鸡蛋浮起来,无论怎么把它按到底部,它总是可以上去。我想做个实验。 上科学课时,老师准备了一杯透明的水,带着一袋盐,拿着一把勺子,还带着一个圆溜溜的生鸡蛋。开始做试验了,老师小心翼翼 地把生鸡蛋放到清澈的水里。生怕它碎了,结果,鸡蛋懒洋洋地躺

在水里都不想动了。老师把鸡蛋从水里拿了出来,又用小勺子舀了 满满两勺盐,把它倒在水中,还把它均匀地搅拌,然后想把鸡蛋放 到水中,可是老师似乎想放又不想放,同学们看得非常入神,还有 的同学老是喊着:“老师快把鸡蛋放下去,老师快把鸡蛋放下去。”原来,老师是想把同学们的视线吸引到她那里,老师终于把鸡蛋放 到水中了,鸡蛋果然浮起来了。同学们看了这个结果,激动得大叫 了起来。 从这次的实验中,我知道了一个知识。原来,盐水的浮力比清水的浮力大,所以鸡蛋在盐水中能浮起来。 一次成功的实验作文300字篇3 那节科学课上,老师给我们展示了把盐水转变成盐的实验。我看得不禁入了迷,心想:我回家也要试验试验,看看是不是真的能把 盐水转化成盐!心动不如行动。 回到家,我便开始准备器材了:蜡烛,玻璃片,打火机,钳子,针管,盐水,哈!一样不落,现在是万事俱备,只欠行动了。起初, 我先把蜡烛固定在桌子上,随后用打火机点燃,紧接着用钳子夹着 玻璃片放在那火苗上,然后用针管吸取一点儿盐水滴到玻璃片上。 过了一会儿,只听见”嚓”的一声,盐水正在玻璃片上沸腾。时间 1分1秒的过去了,盐水不知不觉地蒸发干了,在玻璃片上只留下 容在水里的一点点细小而又白得发亮的盐。欧耶!我成功了。 实验结束了,我非常高兴自己能够独立完成这个把盐水转变成盐的实验!生活中的科学知识无处不在,只要用心观察,勇于实践,那 么一定可以成功! 一次成功的实验作文300字篇4 “啊!终于可以到实验室去上科学课了!”这是401班所有同学的欢呼声。因为今天我们要去实验室上课了。 我们到了实验室,迫不及待地找到自己的座位,坐了下来。蒋老师发给我们每个组一杯盐水和几个铁架台,让我们分离盐和水。我 们分离了好久也没分离出来。老师又给了我们一杯面粉水,让我们

(完整)四年级上册科学实验报告.doc

2、我们的营养 实验名称食物营养成分的检验 碘酒、馒头(面粉)、滴管、酒精灯、白纸、碟子、实验材料 花生、瘦肉等。 1、把少量馒头放在碟子上,用滴管向米饭上滴2—— 3滴碘酒,观察现象。 实验方案实验现象实验结论2、把花生放在白纸上用力挤压,观察白纸上留有的 痕迹。 3、将切成细条的瘦肉放在酒精灯上灼烧,闻一闻有 什么气味? 1、加入碘酒后,馒头变成蓝黑色。说明面粉中含有 淀粉。 2、白纸上会留下油迹,说明花生中含有脂肪 3、闻到一股难闻的、烧焦羽毛的气味,说明瘦肉中 含有蛋白质。 维持人类生命健康的营养素,主要包括蛋白质、脂肪、淀粉(糖类)、维生素、纤维素、矿物质和水。

4、水变咸了 实验名称1、溶解实验。2、不同材料的溶解实验。 1、两个烧杯、玻璃棒、药匙、食盐、高锰酸钾。 实验材料2、烧杯(根据材料种类准备)、玻璃棒、小苏打、洗衣粉、食用油、沙子、木屑等。 实验一: 1、先在两个烧杯中倒入约三分之二的清水。 2、用药匙分别取适量的食盐、高锰酸钾,分别放入 两个烧杯中,用玻璃棒分别搅拌。 3、搅拌后,静置一会儿,再观察现象。 实验方案 实验二: 1、先在烧杯中分别倒入约三分之二的清水。 2、用药匙取适量的小苏打、、食用油、沙子,分别放 入烧杯中,用玻璃棒分别搅拌。 2、搅拌后,静置一会儿,再观察溶解的情况。 实验一:食盐、高锰酸钾颗粒在水中看不见了。 实验现象实验二:小苏打、能在水中溶解,食用油、沙子不能 在水中溶解。 像食盐、高锰酸钾那样,在水中变成极细小的、肉眼 看不见的微粒,均匀的分散在水里,不会自行沉降下实验结论来的现象叫做溶解。 有的物体在水中能溶解,有的物体在水中不能溶解。 (或者具体记录物体名称)

嵌入式系统综合实验一

实验名称: 姓名: 学号: 装 订 线 P.1 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED 灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC 引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.4.28 地点:创客空间

装订线送响应信号,送出40bit 的数据,幵触发一次信采集。 b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低电平保持时间不能小于18ms,然后等待DHT11 作出应答信号。 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11 的DATA引脚处于输出状态,输出80 微秒的低电平作为应答信号,紧接着输出80 微秒的高电平通知外设准备接收数据。 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。

电路分析实验报告第一次完整版

电路分析实验报告第一 次 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

电路分析实验报告 实验报告(二、三) 一、实验名称实验二 KCL与KVL的验证 二、实验目的 1.熟悉Multisim软件的使用; 2.学习实验Multisim软件测量电路中电流电压; 3.验证基尔霍夫定理的正确性。 三、实验原理 KCL为任一时刻,流出某个节点的电流的代数和恒等于零,流入任一封闭面的电流代数和总等于零。且规定规定:流出节点的电流为正,流入节点的电流为负。 KVL为任一时刻,沿任意回路巡行,所有支路电压降之和为零。且各元件取号按照遇电压降取“+”,遇电压升取“-”的方式。沿顺时针方向绕行电压总和为0。电路中任意两点间的电压等于两点间任一条路径经过的各元件电压降的代数和。 四、实验内容 电路图截图: 1.验证KCL: 以节点2为研究节点,电流表1、3、5的运行结果截图如下: 由截图可知,流入节点2的电流为2.25A,流出节点2 的电流分别为750mA和1.5A。2.25=0.75+1.5。所以,可验证KCL成立。2.验证KVL:

以左侧的回路为研究对象,运行结果的截图如下: 由截图可知,R3两端电压为22.5V,R1两端电压为7.5V,电压源电压为30V。22.5+7.5-30=0。所以,回路电压为0,所以,可验证KVL成立。 一、实验名称实验三回路法或网孔法求支路电流(电压) 二、实验目的 1.熟悉Multisim软件的使用; 2.学习实验Multisim软件测量电路中电流电压; 3.验证网孔分析法的正确性。 三、实验原理 为减少未知量(方程)的个数,可以假想每个回路中有一个回路电流。若回路电流已求得,则各支路电流可用回路电流线性组合表示。这样即可求得电路的解。回路电流法就是以回路电流为未知量列写电路方程分析电路的方法。网孔电流法就是对平面电路,若以网孔为独立回路,此时回路电流也称为网孔电流,对应的分析方法称为网孔电流法。 四、实验内容 实验电路截图: 如图所示,i1,i2,i3分别为三个网孔的电流,方向如图所示,均为顺时针。 网孔一中含有一个电流源,而且电流源仅在网孔一中,所以,网孔一的电流就是电流源电流2A。设电流源两端电压为U7。

《一次成功的实验》读后感

《一次成功的实验》读后感 《一次成功的实验》读后感1 今天我们学习了《一次成功的实验》这篇课文,课文里讲到: 一位教育家要做一个实验,只见他拿出三个系着绳子的小铅锤,让三个学生拿着绳子头。然后他又把一个瓶子放到地下,把小铅锤先后放在瓶子里,对三个学生说:“孩子们,假设这个瓶子是一口井,不过现在井里没有水。你们拿着的铅锤代表你们自己。井口很窄,一次只能上来一个人。”这位教育家开始往井里倒水。一个女孩冷静地让同伴们先后有序地拉铅锤,自己最后拉。大家都听了她的话。于是在水要漫延到铅锤上时,大家都把铅锤拉了出来。他们脱险了。教育家知道了女孩的做法,很激动地抱起女孩,好久才放下。他对校长说:“以前我做这个实验时,孩子们都争先恐后地拉铅锤。结果一个也拉不出来。今天,我的实验终于获得了成功。” 这篇课文告诉我们:在有危险时,要沉着冷静,先人后己,谦让别人。大家可不要在遇到危险时,只想着自己怎么逃脱,却不管别人哟! 《一次成功的实验》读后感2 《一次成功的实验》讲述的是在做逃生游戏的过程中,由于一个小女孩临危不乱、处事果断、先人后己的表现,使得实验获得成功。我被这个故事深深地感动了。 其实这种例子还有许多。就说上次突然发生的汶川大地震吧。在

地震发生和震后抢救的整个过程中,就有许许多多感人的故事。 地震暴发时,有所小学还在上课。一开始,教室只有点儿轻微地晃动,正在上课的学生们还没有察觉到。后来一瞬间,教室突然剧烈地摇晃起来。学生们惊慌失措,一窝蜂地跑出去。因为逃生没有次序,很多人都被推倒了,没有及时逃出去的人就被埋在了倒塌的教室里。在已逃出去的同学中,有一个叫林浩的'男孩,是三年级一个班的班长,他虽然只有九岁,却勇敢、镇静。面对突如其来的灾难毫不慌张,当他看见还有很多同学被埋在里面时,就毫不犹豫地又冲回去救人。有两个林浩班上的女同学因为被埋得比较深,无法自己逃脱。眼看随时都有生命危险。就在这关键的时候,希望出现了,林浩冲了进来。他用尽全身力气把压在她们身上的砖头拨开,然后逐个把她俩背了出来。 两个女同学顺利地获救了,但是林浩却受了伤。当医护人员把林浩抬上救护车时,有位记者来采访他,问他:好不容易自己逃出来了,为什么又冲回去救别人呢?难道不怕危险么?林浩不假思索地回答:“因为我是班长!”这句话不仅让在场的人震惊,而且让所有在电视机前看到这一幕的人都深深地感动了。 这个故事和《一次成功的实验》告诉我们的道理是一样的:遇到危险时,我们应该临危不乱、处事果断。并且要先人后己。 这篇课文给我留下了深刻的印象。如果以后我遇到类似的事情,一定会想起课文中的小女孩是怎么做的,想起林浩是怎么做的。 上语文课,我们学了《一次成功的实验》,课文讲了一位教育家

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

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

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

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

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

嵌入式系统设计实验四

实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:实验四C 语言裸机编程 实验类型:验证型 同组学生姓名:__孙凡原_______ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 ? 初步了解C 运行库 ? 初步了解gcc arm 常用编译选项 ? 了解ARM 中断处理过程 二、实验内容和原理 ? 编写C 裸机代码实现跑马灯,通过控制Timer 中断实现 ? 通过控制uart 串口进行调试打印 三、主要仪器设备 树莓派、PC 机 四、操作方法和实验步骤 1 通过定时器产生中断,控制gpio ,实现跑马灯 2 控制uart 控制器,产生调试打印。 五、实验数据记录和处理 1.主程序arm.c 注释 //包含头文件 #include #include #include #include "rpi-aux.h" #include "rpi-armtimer.h" #include "rpi-gpio.h" #include "rpi-interrupts.h" #include "rpi-systimer.h" #include "rpi-led.h" /** Main function - we'll never return from here */ void kernel_main( unsigned int r0, unsigned int r1, unsigned int atags ) 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.3.28 地点:创客空间

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