='0'&&ch[i]s=10*s+ch[i]-'0';printf("%d\n",s);}(2)运" />
当前位置:文档之家› 实验六 数 组(二)

实验六 数 组(二)

实验六  数 组(二)
实验六  数 组(二)

实验六数组(二)

一、实验目的

1.掌握一维数组和二维数组的定义、赋值和初始化的方法

2.掌握字符数组的使用

3.熟练掌握与数组相关的各种算法

二、实验任务

1.阅读、调试、运行程序,比较阅读的结果和运行的结果。

(1)

#include

void main()

{ char ch[7]={"12ab56"};

int i,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'0';

printf("%d\n",s);

}

(2)

运行下面程序时,输入ab

c

def

#include

#define N 6

void main()

{ char c[N];

int i=0;

for( ;i

for(i=0;i

}

(3)

#include

void main()

{ int a[10]={1,2,2,3,4,3,4,5,1,5};

int n=0,i,j,c,k;

for(i=0;i<10-n;i++)

{ c=a[i];

for(j=i+1;j<10-n;j++)

if(a[j]==c)

{ for(k=j;k<10-n;k++)

a[k]=a[k+1];

n++;

}

}

for(i=0;i<(10-n);i++)

printf("%d",a[i]);

}

(4)

#include

void main()

{ int i;

char a[]="Time",b[]="Tom";

for(i=0;a[i]!='\0'&&b[i]!='\0';i++)

if(a[i]==b[i])

if(a[i]>='a'&&a[i]<='z')

printf("%c",a[i]-32);

else

printf("%c",a[i]+32);

else printf("*");

}

(5)

#include

#define LEN 4

void main()

{ int j,c;

static char n[2][LEN+1]={"8980","9198"};

for(j=LEN-1;j>=0;j--)

{c=n[0][j]+n[1][j]-2*'0';

n[0][j]=c%10+'0';

}

for(j=0;j<=1;j++) puts(n[j]);

}

2. 完善程序,并调试运行

(1)

以下程序的功能是删除一个字符串中的所有数字字符。#include "stdio.h"

void delnum(char *s)

{int i,j;

for(i=0,j=0; (1) '\0' ;i++)

if(s[i]<'0' (2) s[i]>'9')

{ (3) ;j++;}

s[j]='\0';

}

下面程序的功能是:对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。

#include

void main ( )

{ char str1[100],str2[100];

int i,s;

printf("\n Input string 1:\n");gets(str1);

printf(“\n Input string 2:\n”);gets(str2);

i= (1) ;

while((str1[i]==str2[i])&&(str1[i]!= (2) ))

i++;

s= (3) ;

printf("%d\n",s);

}

(3)

下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变;#include “stdio.h”

#include

void main()

{ char a[]=”clanguage”,t;

int i,j,k;

k=strlen(a);

for(i=0;i<=k-2;i+=2)

for(j=i+2;j<=k; (1) )

if( (2) )

{ t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

printf(“\n”);

}

(4)

下例程序的功能是生成数列 1 6 4 9 7 12 10 15 13 18。

#include

void main()

{int a[10]={1};

int i;

for( (1) ;i<10;i++)

if(i%2!=0) a[i]= (2) +5;

else a[i]=a[i-1]-2;

for(i=0;i<10;i++)

printf("%d ", (3) );

}

将一维数组各元素循环左移一次。

#include

void main()

{int a[10],i,t;

for(i=0;i<10;i++)

scanf("%d", (1) );

t= (2) ;

for(i=1;i<10;i++)

a[i-1]= (3) ;

a[9]=t;

for(i=0;i<10;i++)

printf("%d ",a[i]);

}

(6)

用“顺序查找“法查找在一组数找一个数。

#include

#define N 10

void main()

{int (1) ,i,k;

for(i=0;i

scanf("%d",&a[i]);

scanf("%d",&k);

i=0;

while(i

i++;

if( (3) )

printf("find");

else

printf("not find");

}

3. 修正程序,并调试运行

(1)

以下程序的功能是统计一个字符串中的字母、数字、空格、和其它字符的个数。#include "stdio.h"

void main ()

{char s[80];

int a[4]={0};

int k,i;

gets(s1);

for (i=0;s[i]!='\0';i++)

if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;

/**********found**********/

else if (0<=s[i]&&s[i]<=9) b[1]++;

else if (s[i]==' ') b[2]++;

else b[3]++;

puts(s1);

for(k=0;k<4;k++)

/**********found**********/

printf("%4c",a[k]);

}

}

(2)

有十个字符串,在每个字符串找出最大字符,按一一对应的顺序放入一维数组a中,即第i 个字符串的最大字符放入a[i]中。输出每个字符串的最大字符。

#include

void main()

{char s[10][20];

/**********found**********/

int a[10];

int i,j;

for(i=0;i<10;i++)

/**********found**********/

puts(s[i]);

for(i=0;i<10;i++)

{a[i]=s[i][0];

for(j=1;s[i][j]!='\0';j++)

if(a[i]

}

for(i=0;i<10;i++) printf("%d,%c",i, a[i]);

}

(3)

以下程序的功能是统计一个字符串中的字母、数字、空格、和其它字符的个数。

#include "stdio.h"

void main ()

{char s[80];

int a[4]={0};

int k,i;

gets(s1);

for (i=0;s[i]!='\0';i++)

if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;

/**********found**********/

else if (0<=s[i]&&s[i]<=9) b[1]++;

else if (s[i]==' ') b[2]++;

else b[3]++;

puts(s1);

for(k=0;k<4;k++)

/**********found**********/

printf("%4c",a[k]);

}

}

(4)

下面程序的功能是检查一个二维数组是否对称(即:对所有i和j都有a[i][j]=a[j][i])。

#include

void main()

{int a[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4};

int i,j,found=0;

for(j=0;j<4;j++)

/************found************/

for(i=j+1;i<=4;i++)

if(a[j][i] != a[i][j])

/************found************/

{found=1;continue;}

if(found) printf("no");

else printf("yes");

}

4.编写程序,并调试运行

(1)

用“折半”查找法,在一组按降序排列的数中查找一个值为K的元素。若有,输出YES;若无,输出NO。

(2)

读入一个字符串,将所有的大写字母转换成相应的小写字母,然后输出。

(3)

读入一串字符,统计字符“c”的出现次数。

(4)

将正整数n(1<=n<=65535)转换成相应的二进制数并输出。

(5)

用二维字符数组存储下列图形并输出。

*****

****

***

**

*

1食品感官分析实验报告第二组-2014

二〇一四年四月

嗅觉辨别试验 一、实验原理与目的 原理:嗅觉属于化学感觉,是辨别各种气味的感觉。嗅觉的感受器位于鼻腔最上端的嗅上皮内,嗅觉的感受物质必须具有挥发性和可溶性的特点。嗅觉的个体差异很大,有嗅觉敏锐者和嗅觉迟钝者。嗅觉敏锐者也不是对所有气味都敏锐,因不同气味而异,且易受身体状况和生理影响 目的:本实验可作为候选评价员的初选及培训评价员的初始实验。 通过本实验要求学会不同的嗅觉辨别技术。 二、实验材料 (1)标准香精样品,如柠檬、苹果、茉莉、玫瑰、菠萝、草莓、香蕉、水蜜桃、甜橙、香草、奶油等;溶剂:乙酸乙酯、乙醇、水。 (2)检验容器:具塞棕色玻璃小瓶、脱脂棉、吸管、辨香纸、保鲜膜。 三、实验步骤 A系列:挑选3种不同香型的香精以随机数进行编号,并记录对应的风味物质名称。将棕色瓶洗净贴上标签,液体试剂用棉花沾取适量放入棕色瓶中,固体试剂用药匙取适量倒入棕色瓶中,盖好瓶盖,防止气味流失或串味。评价员将瓶打开,闭上嘴,用手轻轻扇几下,用鼻子吸嗅蒸气,以识别气味样品。一旦确定之后,立即盖上瓶盖,记录数据。 B系列:挑选3种不同香型的香精用无色溶剂(乙醇)稀释配制成1%浓度,装入棕色试剂瓶中,试剂液面高度不超过10mm,以随机数进行编号,并记录对应的风味物质名称。评价员在嗅条距底端5~10 mm之间作一标记,并在嗅条顶端写上对应样品编号,将嗅条伸入对应样品瓶中,迅速蘸湿至标记处,立即盖上瓶盖。嗅条拿出来后让溶剂自由挥发几秒钟后,将嗅条距离鼻子几厘米轻轻挥动,通过吸嗅来评价气味。嗅条应不得接触嘴或皮肤。 C系列:挑选3种不同香型的香精用无色溶剂(蒸馏水)稀释配制成1%浓度,装入棕色试剂瓶中,每瓶装20-30mL,液面不超过试剂瓶高度的1/3,用保鲜膜封口,以随机数进行编号,并记录对应的风味物质名称。评价员用吸管刺穿塑料薄膜,然后用嘴含住吸管,吸入试剂瓶中液面上方的气体后,经鼻腔用力呼出。注意吸管不要接触液面。判别味道并记录相关数据。 D系列:挑选3种不同香型的香精用蒸馏水稀释配制成一定浓度,装入品尝杯中,每杯约30mL,用保鲜膜封好口,以随机数进行编号,并记录对应的风味物质名称。评价员用吸管刺破样品杯的保鲜膜,喝一口溶液,吞咽溶液,在呼气过程中评价气味,并记录数据。 配偶试验:按照“嗅技术训练”中A系列样品的准备方法制备5种不同气味样品各

Java语言程序设计实验四 方法及数组实验报告

**大学 Java语言程序设计实验报告

四、实验步骤: 1: import java.util.Scanner; public class sy41 { public static void main(String[] args) { // TODO Auto-generated method stub int t,bbk=0; int []a; a=new int[10]; Scanner chm=new Scanner(System.in); System.out.println("请输入十个数"); for(int i=0;i<10;i++) { a[i]=chm.nextInt(); } System.out.println("请输入要找的数"); t=chm.nextInt(); for(int j=0;j<10;j++) { if(t==a[j]) bbk=1; } if(bbk==1) System.out.println("有"); else System.out.println("无"); } } 2: package syyyy; import java.util.*; class first {

System.out.println("输出排序前"); f.printarray(a); f.sort(a); System.out.println("输出排序后"); f.printarray(a); f.delelement(a, 2); System.out.println("输出删除第2个数后"); f.printarray(a); } } 3): import java.util.Scanner; public class syyyyyyyy43 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner bbk=new Scanner(System.in); System.out.println("请输入一个十进制数:"); int a=bbk.nextInt(); int pok=a/2; int shu[]=new int [pok+1]; if(pok<3000){ if(a%2==0){ shu[0]=1; System.out.print(shu[0]); for(int i=1;i

密码学实验第三组实验报告

云南大学数学与统计学实验教学中心实验报告 课程名称:密码学实验学期:2013-2014学年第一学期成绩: 指导教师:陆正福学生姓名:卢富毓学生学号:20101910072 实验名称:零知识证明实验要求:必做实验学时:4学时 实验编号: No.3 实验日期:2013/9/28完成日期:2012/10/18 学院:数学与统计学院专业:信息与计算科学年级: 2010级 一、实验目的: 了解零知识证明,同时掌握FFS识别方案。 二、实验内容: 1. 理解零知识证明 2. 基于GMP实现FFS零知识证明方案 三、实验环境 Linux平台 Code::Block IDE https://www.doczj.com/doc/609766801.html, 网络在线编程平台(本实验是在此平台中完成的,效果一样) 四、实验过程(请学生认真填写): 1. 预备知识: “零知识证明”它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。 2. 实验过程 A、原理分析: Feige-Fait-Shamir是一种并行的认证形式。具体做法如下 首先:选择大素数q 和p, 计算n=pq ,Peggy 拥有密钥s1, s2, ...,sk 接着做如下UML图中的内容:

//缺点有:首先在编写好程序后才发现,无法模拟伪造者来进行。这个由结果就能看出来。 //同时,此程序仅仅模拟,做不到并行认证。 五、实验总结 1.遇到的问题、分析并的出方案(列出遇到的问题和解决办法,列出没有解决的问题):遇到问题: 主要是对于算法的不熟悉,不能清晰的认识整个算法运作。 分析并解决: 仔细揣摩,并且动手写了一下算法的UML图。得到了加深。 2.体会和收获。 收获: 加深了GMP中函数的运用。 在学习零知识证明的知识后,了解了什么是零知识证明,同时会了一点零知识证明的方法。这是比较大的收获——毕竟以前从没有想过这方面的东西,接触之后才恍然。 当然这个FFS算法也并不是一定的安全。也存在着一定的缺陷和漏洞,例如验证次数、对于vi的猜测等等。 六、参考文献 GMP_Document 《应用密码学》林岱岳 《密码学概论》wade trape 七、教师评语:

实验六 一维数组程序设计

实验六一维数组程序设计 一、实验学时 2学时 二、实验目的 (一)掌握一维数组的定义、初始化方法; (二)掌握一维数组中数据的输入和输出方法; (三)掌握与一维数组有关的程序和算法; (四)了解用数组处理大量数据时的优越性。 三、预习要求 (一)理解数组的概念、利用数组存放数据有何特点; (二)一维数组的定义、初始化方法; (三)一维数组中数据的输入和输出方法。 四、实验内容 (一)下面的几个程序都能为数组元素赋值,请输入程序并运行。比较一下这些赋值方法的异同。 1.在定义数组的同时对数组初始化。 /* c6-1.c */ /*在定义数组的同时对数组初始化*/ #include "stdio.h" void main( ) { int a[4]={0,1,2,3}; printf("\n%d %d %d %d\n",a[0],a[1],a[2],a[3]); } 2.不使用循环对单个数组元素赋值。 /* c6-2.c */ /*不使用循环对单个数组元素赋值*/ #include "stdio.h" void main( ) { int a[4]; a[0]=2;a[1]=4;a[2]=6;a[3]=8; printf("\n%d %d %d %d\n",a[0],a[1],a[2],a[3]); } 3.用循环结构,从键盘输入为每个数组元素赋值,输出各数组元素。 /* c6-3.c */ /*利用循环通过键盘对数组元素赋值*/ #include "stdio.h" void main( ) { int i,a[4]; for(i=0; i<4; i++) scanf("%d",&a[i]); printf("\n");

数学实验的设计与实践

数学实验的设计与实践 一、数学实验的界定 “数学实验(Mathematics Experiment)”是指类似于物理实验、化学实验等的科学实验,结合数学学科的特点,“数学实验”可以界定为:为获得某种数学理论,检验某个数学猜想,解决某类实际问题,而运用一定的物质手段,在数学思维活动的参与下,在特定的时空环境下进行的探索、研究活动。初中数学实验的设计研究是对数学实验的方法、手段、媒体等要素设计的研究。初中数学实验的实践研究是对教师在数学实验过程中的组织教学、误差控制、干扰因素等实验操作问题的研究。数学实验与物理、化学实验、生物实验相比,不仅需要动手,更需要动脑,思维量大是数学实验的基本特征。 二、数学实验的发展 随着科学的发展,尤其是计算机的出现,改变了数学只用纸和笔进行研究的传统方式,给数学工作者带来了最先进的工具,丰富和发展了“数学实验”的内涵,各种先进的计算机软件为学生创新性学习提供了空间,学生可以利用这些软件进行数学实验、数学探究,“发现”数学规律。学生通过观察、实验、归纳进行合理的数学猜想;体验数学思想方法的真谛。应该说,信息技术给数学实验教学注入了新的生命,使传统的手工制作、实地观察、制作模型等数学实验手段得以更新,为实验教学提供了新的物质条件,数学正在成为一门“实验科学”。 在国外,数学实验已经成为常见的教学形式,美国的中学有专门的数学实验室,英国的中学教材中有许多实验材料。美国全美数学教师协会(NCT)在1989年颁布的《课程与评价标准》中还写道:“让每一个普通教室成为计算机教室,让每一个学生随时随地可以学习和探索数学”。美国2000年《学校数学的原则和标准》要求,在课堂教学中,教师有责任产生良好的智力环境,促进学生进行认真的数学思考。教师应该选择和使用合适的课程材料,恰当的工具,先进的教学技术,以便支持学生的数学学习,组织适当的实验,让学生在实验与操作的过程中理解数学。由此可见,世界上许多国家在数学实验课程的研究等方面均已广泛开展。 在国内,1996年教育部立项的面向21世纪非数学专业数学教学体系和内容改革的总体构想中,把“数学实验”列为数学基础课之一。其目标是,不将数学看成先验的逻辑体系,而是将它视为一门“实验科学”,从实际问题出发,借助计算机等辅助工具,通过学生亲自设计和动手,体验解决问题的过程,从实验中去学习、探索和发现数学规律。中科院院士、数学教育学家姜伯驹在一篇文章中指出,“应该组织数学实验课程,在教师指导下,通过自己动手计算、体验解决问题的过程,探索某些理论或应用的课题,使新鲜想法借助数学软件可以迅速实现,从而在失败与成功中得到真知。这种方式,变被动的灌输为主动的参与,有利于培养学生的独立工作能力和创新精神。”近年来,数学实验在国内许多高校开展了实践探索。1997年后,各高校相继开设数学实验课程,结合数学软件、数学建模开发了相应的教材体系。2001年8月在无锡马山召开的“全国数学科学方法论与数学创新教育学术交流会”上,中国社会科学院哲学所林夏水先生在《计算机实验》报告中建议,可以在中学开设数学实验。随后,在中学数学教学中开展数学实验,也成为众多一线教师的一种探索,在各类数学教学研究刊物上,不断有“数学实验”的提法。如北京四中李晋渊、刘坤《数

六年级科学实验报告

滕州市辰龙希望小学 六年级科学上册实验报告 六年级上册第三课《馒头发霉了》 实验名称:探究霉菌的生长所需要的条件 1 选做 实验目的:探究霉菌的生长所需要的条件。 实验材料:每组准备:放大镜、烧杯、吸管、小刀、水、塑料袋、馒 头 实验步骤: 1.将密封好的两袋馒头,一袋放在温度较高的地方,另一袋放在冰箱里,每天按时观察,看霉菌是否已经出现,把霉菌出现的时间和出现的部位记录在自己提前设计好的记录表里。 2.将密封好的两袋馒头,一袋滴上适量的水,使馒头保持湿润,另一袋不滴水,使馒头保持干燥,将两袋馒头放在相同的环境中,每天按时观察,看霉菌是否已经出现,把霉菌出现的时间和出现的部位记录在自己提前设计好的记录表里。 实验结论: 放在温度较高地方的馒头和滴上水的馒头很快长出了霉菌,而放在冰箱里的馒头和不滴水的馒头却经过较长的时间才长出霉菌。 实验分析: 因为霉菌的生活需要适宜的温度和适量的水份,所以放在温度较高地方的馒头和滴上水的馒头很快长出了霉菌。 六年级上册第二课《馒头发霉了》 实验名称:馒头发霉的对比实验 2 选做

实验目的:比较馒头在什么情况下容易发霉 实验器材:四片馒头(或用其他容易发霉的食物)塑料袋 实验步骤: 1选4片馒头(或用其他容易发霉的食物),分别贴上号码。 2.在1、3号上滴水,将2、4号烤干。 3?将4片馒头分别装入袋中。 4?将1 2号放在朝阳的窗台上(或其他温度较高的地方),3、4号放入冰箱里。 5.几天后,观察4片馒头,看一看发生了什么变化,并记录下来。 实验结论: 1号馒头发霉最早,发霉的面积最大。 2号、3号馒头发霉时间和面积居中。 4号馒头发霉时间晚,发霉面积小。 实验分析:馒头在潮湿,高温的情况下最容易发霉。 六年级上册第五课《蜡烛的变化》 实验名称:蜡烛燃烧的变化实验 1 必做 实验目的:点燃蜡烛,将干玻璃片放在火焰上方看是否会产生新物质。 实验类型:演示 实验材料: 每组准备:蜡烛、火柴、干玻璃片、试管夹 实验过程: 1 .点燃蜡烛,观察现象。

第一组COM病毒实验报告

COM病毒实验报告 我们小组已经成功的实现了COM病毒感染实验。 在整个实验过程中,由于是初次配置Dos环境,我们遇到了很多问题,也花了很多时间去解决问题,因此,我们在此写出我们整个配置过程的主要步骤及其遇到的问题。 一.配置MS-Dos 1. 新建一个虚拟机 2. 用虚拟机的软驱载入,安装程序的第一个镜像 DOS71_1.IMG (在安装时设备里面没有floppy时只需add一下就好,选择物理软盘驱动器) 3.此时MS-DOS虚拟机处于半安装状态,然后开始命令配置 先创建一个文件夹tmp md tmp 复制软盘A的文件到C copy A:\ C:\tmp 关机 shutdown -s 4.用虚拟机的软驱载入安装程序的第二个镜像 DOS71_2.IMG 复制软盘A的文件到C copy A:\ C:\tmp 5.开始配置 先进入到tmp文件夹下 运行setup.bat (在此运行过程中,出现死机,原因不明,最后通过重启解决此问题) 6. 然后一路next和ok完成配置 二.安装MASM611 1.下载MASM611(里面包括5个DISK) 2.在虚拟机里面通过映射到磁盘(我们所做实验为Z盘),在映射过程中,特别注意把只读属性去掉,然后把下载的MASM611拷贝到此磁盘 3.打开MS-DOS系统,进入到MASM611下的DISK1文件目录下 4.开始安装 运行命令 setup.exe 5.在安装过程中,特别注意在第二次选项时应选择MS-DOS/Microsoft

Windows,否则无法使用link链接命令 6.其它一律按默认值点击确定,安装成功 三.实验过程 1.在使用MASM611前,应在MASM611目录下进行路径的配置(这点要特别注意) 路径配置命令 set PATH=C:\DOS71;..;C:\MASM611\BIN; 2.编译链接test文件(test文件是正常文件),在此实验中,链接后需要把test.exe改为https://www.doczj.com/doc/609766801.html,文件 编译test文件时出错 unmatched block nesting:main(解决方法:在test 文件中加入一句与main匹配的代码main endp) 3.运行test文件(命令为https://www.doczj.com/doc/609766801.html,),运行成功,显示字符串:This a simple com program for a test 4.编译链接virus文件(virus文件为病毒),此时virus.exe文件已经生成 编译virus文件时出错 invalid character in file(解决方法:在相应的出错处加上分号;) 6.新建一个文件del.txt 命令 echo aaa >del.txt 7.查看MASM611下的文件目录,此时可以看到del.txt文件 8.运行virus.exe,成功后出现字符串 You are infected by a simple com virus,(但在运行该命令时,系统有时会死机,原因不明,最后解决方法,强制关掉MS-DOS系统后重新启动) 9.然后运行https://www.doczj.com/doc/609766801.html,,此时运行结果为 You are infected by a simple com virus 以及相关的乱码等等 10.此时在MASM611目录下查找刚刚新建的文件del.txt,可以发现del.txt不 见了,并且https://www.doczj.com/doc/609766801.html,文件变大 11.实验结束,病毒virus文件成功感染test文件

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,使用循环语句进行字符串间的字符拷贝。

数电实验-实验报告-实验六

实验一 TTL与非门的参数测试 一、实验目的 ·掌握用基本逻辑门电路进行组合逻辑电路的设计方法。 ·通过实验,验证设计的正确性。 二、实验原理 1.组合逻辑电路的分析: 所谓组合逻辑电路分析,即通过分析电路,说明电路的逻辑。 通常采用的分析方法是从电路的输入到输出,根据逻辑符号的功能逐级列出逻辑函数表达式,最好得到表示输出与输入之间的关系的逻辑函数式。然后利用卡诺图或公式化简法将得到的函数化简或变换,是逻辑关系简单明了。为了使电路的逻辑功能更加直观,有时还可以把逻辑函数式转化为真值表的形式。 2.逻辑组合电路的设计: 根据给出的实际逻辑问题,求出实现这一逻辑功能的最简单电路,陈伟组合逻辑电路的设计。 3.SSI设计:设计步骤如下: ①逻辑抽象;分析时间的因果关系,确定输入和输出变量。 ②定义逻辑状态的含义:以二值逻辑0、1表示两种状态。 ③列出真值表 ④写出逻辑表达式,并进行化简,根据选定器件进行转换。 ⑤画出逻辑电路的连接图。 ⑥实验仿真,结果验证。 三、实验仪器及器件 数字万用表1台

多功能电路实验箱1台 四、实验内容 1.设计5421BCD 码转换为8421BCD 码(用双输入端与非门实现)。 四位自然二进制码 5421BCD码 B3 B2 B1 B0 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 伪码 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 根据5421BCD 码与8421BCD 码真值表可得 2.设A 、B 、C 、D 代表四位二进制变量,函数X=8A-4B+2C+D ,试设计一个组合逻辑电路,判断当函数值介于4

六年级实验报告单

实验报告单(一) 实验时间年月日 实验名称制作化石模型六年级()班第()组指导教师 实验目的:了解化石也是怎样形成的。 实验器材:有关工具、黏土、贝壳、骨头或树叶。 实验步骤: 1、将黏土擀平。 2、将贝壳、骨头或树叶放在心上黏土上,用手把它压进去,留下印迹后取出。 3、把印有印迹的黏土模型晾干。 实验结论: 化石是地层岩石中保存的几百万年以前生物的残骸或遗迹。 实验报告单(二) 实验名称仙人掌耐旱原因实验 实验时间班级小组 实验目的: 1、通过实验使学生知道生物是不断进化的 2、通过实验使学生知道生物的形态是其适应所处生活环境的结果 3、使学生意识到人类活动会对生物产生影响,体验到人与自然和谐相处的重要性 实验器材: 三张纸巾、一张蜡纸、一杯水、一块儿塑料布 实验步骤: 1、把三张纸巾充分浸湿,一张平铺,一张卷起来,一张用蜡纸包起来,都放在塑料布上放在窗台前 2、一小时后检查三张纸巾的干湿程度 实验结论:实验结果是,平铺的最干,蜡纸包的最湿,结论是,仙人掌上的蜡质层既减少了水分的蒸发,又能很好的储存水分 实验报告单(三) 实验时间年月日 实验名称:制作“火箭”及其“发射器” 六年级()班第()组指导教师 实验目的 探究能量的大小与物体运动的关系。 实验器材吸管、剪刀、胶带、记号笔、橡皮筋若干、米尺、纸筒 实验步骤 1.制作吸管火箭 按书中步骤与要求,制作一个吸管火箭模型。注意不要剪到手,不要乱扔剩余的吸管。 2.制作发射器 (1)、按书中步骤与要求制作一个简易的发射器。 (2)、将吸管火箭模型放到发射器上,在吸管下端标记0刻度,然后往下拉吸管火箭,用记号笔在吸管上以厘米为单位依次标上刻度。

实验4-数组

数组 一维数组 1. 用Array函数生成一个包含10个整数的一维数组,并在窗体上输出,然后分别统计其中正数之和与负数之和,运行效果如图所示。 2. 随机生成10个两位正整数,求其中的最大值和平均值,并将结果显示出来,运行效果如图所示。 3. 实现以下程序功能:程序运行后,在四个文本框中各输入一个整数。然后单击命令按钮,即可使数组按升序排序,并在文本框中显示出来。提示:可用array函数生成数组。

二维数组 1. 设有一个二维数组A(5,5),给所有数组元素赋值为1-9之间的随机整数,试计算: ●所有元素之和。 ●所有靠边元素之和。 ●正对角线上元素之和。 2. 设有一个二维数组A(5,5),试计算矩阵第三行各项的和,并在窗体上显示出来。 3. 设有一个二维数组A(5,5),试找出正对角线上最大的值。 4.产生一个二维数组A(5,5),要求中心位置值为9,对角线位置值为1,其余位置值为0。 5.设有一个二维数组A(4,4),请交换其中的第二列和第四列,并显示。

6. 实现以下程序功能:运行程序时,随机产生一个4行4列的二维数组,单击“计算”命令按钮时,将统计矩阵两个对角线的元素中能被3整除的个数,统计结果显示在标签lblfirst中;同时计算矩阵主对角线的元素之和,计算结果显示在标签lblSecond中。

列表框和组合框 1. 设在窗体中有一个名称为List1的列表框,其中有若干项目。要求选中一项后单击Command1按钮,就删除选中的项,运行效果如图所示。 点击前选中”北京”点击按钮后删除 2. 窗体上有一个组合框,其中已输入了若干项目。程序运行时,单击其中一项,即可以把该项与上面的一项交换,运行效果如图所示。 点击前选中”重庆”点击后交换 3.有10位同学的VB课程的期末成绩,信息如下:82、75、91、65、57、44、78、64、95、62,请将他们的信息保存到数组中,显示在列表框中,在“优秀”、“通过”和“不通过”三个分数段的人数进行统计。其中85分以上(含85分)为“优秀”,60-85分之间(含60分)为“通过”, 60分以下的为“不通过”。 4. 实现以下程序功能:单击“生成”按钮,随机生成一个由100个2位正整数组成的数组a,同时显示在Text1文本框中;单击“分组”按钮,则将数组a中所有3的倍数的元素存入数组b中,并对数组b中的元素从小到大排序后显示在文本框Text2中。

六年级科学下册实验报告单

实验报告单

实验通知单 课题 第一单元微小世界 1.放大镜 实验名称 放大镜的构造、作用、用途 实验班级 六年级 实验类别 B 实验组数 10 实验时间 任课教师 实验 准备 分组实验器材:放大镜(最好每个学生都能有一个放大镜,如果只能提供给学生一种放大镜,尽量放大倍数大一点)科学书或报纸上的照片、计算机或电视机屏幕。柱形、球形的透明器皿、塑料薄膜、铁丝、普通玻璃片、平面镜片、水。 教师演示:不同放大倍数的放大镜、图片或课件(如放大镜镜片的结构等)。 规范操作要点 1.正确用放大镜观察物体。 2.比较用肉眼观察和用放大镜观察的不同。 备注 放大镜的作用——放大物体的像(可能学生会说“把物体放大”,提醒学生物体并未变大) 放大镜的用途——我们用放大镜观察校园里的生物、实验中在老师指导下观察花、昆虫等。它是视力不佳者的助视器,还适用于电子产品检验、线路板检验、集邮者欣赏鉴定邮票、

珠宝商鉴定珠宝、公安人员用它观察指纹毛发纤维等、农技人员用它观察花蕊进行人工授粉等、制作微型工艺品的工匠工作时使用… 实验通知单 课题 2.放大镜下的昆虫世界 实验名称 实验班级 六年级 实验类别 B 实验组数 10 实验时间 任课教师 实验 准备 分组实验器材:昆虫或昆虫器官标本、放大镜 教师演示器材:有关昆虫形态构造和生活习性的多媒体课件或图片资料 规范操作要点 提供给学生各种昆虫的标本或昆虫肢体的标本。(因这个寒假的冻灾,估计开学时不会有太多的昆虫,可以利用仪器室原有的标本和蚊蝇蟑螂等常见昆虫及其肢体为观察对象。估计肉眼观察学生的兴趣不会太浓,而且因观察对象小,肉眼的发现可能不会很多。可能的

实验四 数组及其字符串的处理

实验四数组及其字符串的处理 1.输入一串英文字母,统计每个字母(不区分大小写)出现的次数。(输 出统计结果时一律显示为小写字母) 如输入:Good 则输出:字母d有1个 字母g有1个 字母o有2个 请根据提示填空,使程序实现相应功能。 #include main() { char ch[10000]; //用于保存输入的字母串 int nnum[26]=【1】;/* 赋初值,使各元素值为0 nnum用于存储各字母出现的次数, 因字母表共有26个字母,因此元素个数为26 */ int i,j; printf("请输入一串字母\n"); scanf("%s",【2】);//读取字符串 i=0;//变量i用于遍历整个字符串各元素,初值为0,表示从字符数组首元素开始 while(【3】) //依次读取各元素,直至遇到字符串结束符’\0’ { j=(ch[i]>=65&&ch[i]<=90)?ch[i]-65:ch[i]-97; /*若输入为字母,则用j 保存其在字母表中的位 次*/ if (【4】)nnum[j]++;//若j值不超限,则将该字母累计数加1 【5】;// 改变i值,换至下一个元素 } for(i=0;i<26;i++) if(nnum[i]!=0) printf("字母%c有%d个\n",97+i,【6】); //按题目要求输出结果 return; } 编程题 2.输入10个整数存入数组,找出其中的最大数及其位置。 (位置从0开始编号)

3.求裴波那契数列(1 1 2 3 5 8 13 21 34……)的前18项。 4.求字符串长度(实现strlen 函数的功能) 提示:可参考第1题。 5.输入一个5*5的矩阵(#define N 5),求 (1)所有元素的和 (2)主对角线元素之和 (3)最大值及最小值所在位置 #include main() { double mat[5][5]; int i,j; 【此处补充定义其它所需变量】 for(i=0;i<5;i++) for (j=0;j<5;j++) scanf("%lf",&mat[i][j]); 【完成其余代码,实现该题(1)(2)(3)的功能】 return; }

虚拟实验的教学与实践

虚拟实验的教学与实践 随着科技的不断发展,特别是计算机网络的普及,大学生的知识体系在广度上有了很大提升。为了进一步拓展大学生知识结构的深度,在理论教学构建了完整知识体系的基础上,实验教学显得尤为重要。但是由于各方面条件的限制,实验室的设备和规模都难以满足广大学生的实验需求,目前很多还是以小组或者演示的形式让学生熟悉具体实验过程,学生能独立参与实验的机会非常少,特别是很难接触到国际前沿的实验技术和方法。 虚拟实验是以虚拟仪器为基础,采用计算机数字化实验仪器编程来实现,通过接口设备,完成传统实验设备的功能,因此在教学活动中应用日益广泛。常用的虚拟仪器的开发软件包括美国国家仪器公司的Labview和LabWindows/CVI,美国Tektronis公司的Tek-TNS软件等,其中Labview和LabWindows/CVI软件采用图形化编程,学习操作简单,应用最为广泛,非常适合于本科生教学。目前虚拟实验系统已经在国内外高校的机械、电子、生物、物理等教学科研领域中发挥了重要作用。国外麻省理工学院微电子系的Alamo教授开发的Weblab虚拟实验系统较早投入教学使用,取得了很大成功。国内包括清华大学、上海交通大学等院校都开设了相关讨论课程。 通过虚拟实验教学,在有限的教学资源条件下,最大限度地发挥学生的创造力和能动性,培养科学研究兴趣。课题组结合热物性测量实验,探索了虚拟实验技术和应用,从而为今后的教学改革积累了一定的经验。 二、实验系统的主要内容 1.传统测量系统 图1(a)显示了该套系统的主要组成,包括样品、信号发生器、数字万用表、锁相放大器等仪器。传统实验条件下,学生操作顺序见图2所示。先调整信号发生器发生频率,等数值稳定以后,读取数字

小学科学六年级下册实验报告

小学科学六年级下册实验报告 小学科学六年级下册实验报告 作者: 项蔺川 放大镜下的新发现 实验名称: 放大镜下的新发现 实验器材、药品: 放大镜、水、小字体的书、昆虫各种小晶体(盐、糖等) 实验方法和步骤: 1、认识放镜的构造,了解放大镜的应用。 2、用放大镜看书、报纸等(自己的发现) 3、了解其它有方大功能的物体,水滴放大镜。 4、用放大镜观察昆虫,了解放大镜下的昆虫世界。 5、用方、放大镜观察晶体。(盐、 白糖) 实验结论: 在放大镜下看到的物体比实际的大得多。实验评价: 日期: 年月日 年级:六年级 实验者

奇特的身体构造 实验名称:奇特的身体构造 实验器材: 放大镜2 只、 蝇子蟋蟀蝴蝶等动物的标本1 套 步骤: 1、观察昆虫的触角: 发现触角不是一根直的, 而是一节一节的; 2、苍蝇的眼: 发现不是一个, 网格状的分布着几千个小眼; 3、蝴蝶的鳞片: 彩色的鳞片其实是扁平的细毛; 4、蟋蟀的外壳: 光滑的外壳上, 还有许多“小刺”; 5、苍蝇的脚: 脚的底端有“吸盘” ,所以可以在天花板上倒立 结论: 我认为观察的小昆虫和肉眼大不相同,借助放大镜,可以观察到小动物的细微之处

美丽的晶体 实验名称: 美丽的晶体 实验器材:药品: 食盐、白糖、碱面、味精、放大镜、实验方法和步骤 1、用肉眼观察食盐、 白糖、碱面、味精。 2、再用放大镜观察食盐、 白糖、碱面、味精。实验结论: 晶体的形状多种多样,但它们都很有规则。 实验评价:

日期: 年月日 制作晶体 实验名称:制作晶体 实验器材: 放大镜2 只、 食盐20 克、白糖20 克、碱面20 克、味精20 克、滴管4 支、玻璃片 4 片、100ml 烧杯 4 只我的猜测: 小颗粒的晶体形状和大颗粒的形状应该是相同的 步骤: 1、将四只烧杯中分别放入

组原一次实验报告

课程实验报告课程名称:组成原理 专业班级:IS1201 学号:U2101214720 姓名:任宇豪 指导教师:秦磊华 报告日期:2014.4.27

计算机科学与技术学院

目录 原创性声明 (1) 1 实验内容 (2) 2 实验目的 (2) 3 实验设备 (2) 4 实验设计方案和电路 (2) 4.1 实验总体方案 (2) 4.2 各模块的分析说明 (3) 4.2.1 运算部分 (3) 4.2.2 溢出检测部分 (4) 4.2.3锁存信息部分 (4) 4.3总电路 (5) 5 电路检测 (6) 5.1 基本功能检测 (6) 6 遇到的问题与解决方法 (6) 7 感想和建议 (7) 8 思考题 (7)

原创性声明 本人郑重声明:所呈交的报告是本人在老师同学和的指导下独立进行实验所取得的成果.,除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的内容。本人完全意识到本声明的法律效应,后果由本人承担。 学生签字:

1 实验内容 自己设计一个以74LSl81运算器芯片为核心的电路,能够实现多种运算,并能使用历史结果数据进行累计运算,运算结果可以使用灯和数码管来显示。在功能方面要求支持有符号数和无符号数运算、支持补码加/减运算以及支持有符号数溢出检测等;在数据来源方面包括一个累加器和一组开关。通过手动操作,首先能够通过运算数据存入累加器中,再选择不同的运算控制信号,实现不同功能的运算,最后将结果存入到累加器中。 设计八位二进制加减运算器,分别进行有符号和无符号运算的溢出检测。 该运算器能够实现有符号与无符号数的加减法运算,同时还具备有符号与无符号数运算的溢出检测。 2 实验目的 ●掌握ALU的工作原理与基本设计方法 ●熟悉算术逻辑运算单元74181的逻辑功能与基本使用方法 ●熟悉运算器的数据通路 ●理解溢出检测的概念和溢出检测的方法 ●锻炼分析和解决实际问题的能力 3 实验设备 JZXY-II型计算机组成原理实验仪1台 74LS181 2片,用作运算器来做有符号以及无符号数的加减法; 74LS373 3片,用作锁存器,将运算结果存在373里面以供下次使用; 74LS86 1片,用于做有符号和无符号数运算的溢出检测,其中在有符号数中也用来取参与运算的减数或加数的符号位; 74LS32 1片,用于做有符号数的溢出检测; 74LS08 1片,用于有符号数的溢出检测; 74LS04 1片,用于无符号数的溢出检测以及有符号数的溢出检测; 4 实验设计方案和电路 4.1 实验总体方案 图4.1 总体方案图

实验4数组的应用

(1)有一列乱序的字符,‘a’、‘d’、‘m’、‘z’、‘h’、‘c’、‘o’,排序并按照英文字母表的逆序输出。 解:按照字母表排序也就是按照ASCLL码值进行排序,只需要定义一个String 型数组应用Arrays.sort函数进行排序,然后进行输出就可以了。 package test4; import java.util.Arrays; public class test4_a { public static void main(String[] args) { // TODO Auto-generated method stub String[] sores={"a","d","m","z","h","c","o"}; int i,j; j=sores.length; Arrays.sort(sores); for(i=j-1;i>=0;i--) System.out.print(sores[i]+" "); } } (2)编写一个程序,提示用户输入学生数量、各自的姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。 package test4; import java.util.Scanner; class Student{ private String name; private double score; public void setName(String name){ https://www.doczj.com/doc/609766801.html,=name; } public String getName(){ return https://www.doczj.com/doc/609766801.html,; } public void setScore(double score){ this.score=score; } public double getScore(){ return score; } }

实验六 一维数组实验报告

*** 软件类实验报告 课程名称:C语言程序设计学号: 姓名: 班级: 指导教师: 开课学期: 学院: ***教务处

⑷一维数组排序。 四、实验过程及内容:(运行结果请抓图到对应题目的下方) 1. 先分析以下程序,写出运行结果,再上机检验。 2.程序填空题。下面程序的功能是9个评委给某个参赛选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分。填空完成程序。

实验结果: 3. 程序填空题。有数列1,1,2,4,7,13,24…,该数列的规律是从第4项起,每项是它的前三项之和。下列程序的功能是将该数列的前30项存放在一维数组中,输出时每行输出5个数。填空完成程序。 实验结果: 4. 程序改错题。下面程序的功能是将数组中的数按从大到小排序后输出。改正程序中的错误。 实验结果: 5. 程序改错题。某公司从用公用电话传递数据,数据是四位的整数,在传递过程中需要加密,加密规则为每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。改正程序中的错误。

实验结果: 6. 小楚参加了一个研究生考试培训班,共30次课,由于路途较远,每次都是打车去上课,来回的车费分别存储在数组a和b中,其中-1表示未去上课。 编程计算小楚参加培训班共打车花费多少钱?(要求保留1位小数,用循环实现) 输出结果的形式为: s=1234.5 a数组和b数组定义如下: double a[30]={31.0,32.0,30.3,32.8,30.5,30.6,31.0,32.8,-1,31.8,31.9,31.5,32.3,32.3,31.8,32.5 ,31.5,30.3,30.4,32.5,30.2,30.2,30.7,32.1,32.1,31.4,31.9,31.9,-1,30.5}; double b[30]={30.2,30.2,30.3,31.6,32.7,31.5,30.4,32.4,-1,31.0,31.8,32.1,31.6,31.4,32.4,32.1 , 32.5,32.3,32.5,31.4,31.2,30.3,32.3,30.7,31.3,30.2,31.1,30.5,-1,31.9}; 五、实验小结

实验4使用数组的程序设计

C语言程序设计实验报告 实验4 使用数组的程序设计 一、实验目的 (1)掌握一维数组和二维数组的定义、赋值和输入输出方法。 (2)掌握字符数组的使用。 (3)掌握与数组有关的算法。 二、实验内容及步骤 1、检验并打印幻方矩阵 在下面的5*5阶幻方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些幻方矩阵中的元素读到一个二维整型数组中,然后检验其是否为幻方矩阵,并将其按如下格式显示到屏幕上。 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 程序代码: #include main() { int a[5][5],i,j,sr,sc,st1=0,p=0,st2=0; printf("请输入一个方阵:\n"); for(i=0;i<5;i++) {for(j=0;j<5;j++) scanf("%d",&a[i][j]); } for(i=0;i<5;i++) {st1=st1+a[i][i];//主对角线的和 st2=st2+a[i][4-i];}//次对角线的和 if(st1==st2) p++; for(i=0,sr=0;i<5;i++) {for(j=0,sc=0;j<5;j++) {sr=sr+a[i][j];//行的和 if(sr!=st1)break; sc=sc+a[j][i];//列的和 if(sc!=st1)break;} } if(p==1&&i==5) {printf("这是一个幻方矩阵\n");

for(i=0;i<5;i++) {for(j=0;j<5;j++) printf("%d\t",a[i][j]); printf("\n"); }} else printf("这不是一个幻方矩阵\n"); } 运行结果 2、完成以下程序,并进行调试 某班期末考试科目为数学、英语和计算机,有最多不超过30人参加考试,考试后要求:1)计算每个学生的总分和平均分; 2)按总分成绩由高到低排出成绩的名次; 3)打印出名次表,表格内包括学生学号、各科分数、总分和平均分; 4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。 【提示】:用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。 程序代码: #include main() { double score[5][3],sum[5],aver[5]; int i,j,num[5],t; printf("请输入每位同学的学号和各科成绩,用Tab键隔开:\n"); printf("学号\t数学\t英语\t计算机\n"); for(i=0;i<5;i++) { scanf("%d",&num[i]); for(j=0;j<3;j++) scanf("%lf",&score[i][j]);

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