泛型实验要求

泛型实验要求
泛型实验要求

泛型实验

实验时间:2009年3月2

实验目的:

掌握泛型与其他集合相比的优势,创建泛型类,泛型方法,可空类型的运用,编译程序集的方法。

实验准备:

打开VS2005,新建一个空白解决方案,命名为lab2,存储在d盘根目录。

实验内容:

一,泛型与集合安全的比较

1,在解决方案里面,新建一个控制台应用程序命名为ListArray 2, 在Program.cs的入口函数中,创建一个ArrayList集合,往集合里面添加2个Int数字,再添加一个double数字

3, 再定义一个int变量total初始值为0

4, 利用循环语句foreach把集合里面的int变量相加的和存入total

5, 输出total的值,预览下效果

思考:如果出错,出错的原因在哪,如何更改

6,注释掉上面代码,通过同样的方法,定义一个泛型List,实现同样的目的,测试调试,比较下2种方法有什么区别和进步的地方。

二,创建泛型类

1,在解决方案里面再新建一个控制台应用程序命名为ListClass,设置为启动项

2, 新建一个类,命名为ListTest,在类中创建一个名称称为MyList 泛型类,为把它参数化,插入一个尖括号。在<>内的添加T代表使用该类时要指定的类型

3, 在MyList类中定义一个静态字段ObjCount,初始值为0,在构造器中实现自加,实现功能:计算用户实例化了多少个不同类型的对象。再创建一个属性字段getCount用于取得静态字段ObjCount 的值

4, 在Program.cs的入口函数Main中,实例2个int类型的MyList 类,1个double类型的Mylist类,用控制台输出每个实例的getCount属性。

思考:getCount的值有什么特性?泛型类的优势

三,创建泛型方法

1,在解决方案里面再新建一个控制台应用程序命名为ListMethod,设置为启动项

1,在Program.cs中,创建一个无返回值的泛型方法Copy,它有2个泛型参数,实现功能,复制泛型参数1里的所有子元素到泛型参数2中。

2,在入口函数中,实例化一个泛型实例list1,往里面添加2个整数,再添加一个泛型实例list2,通过调用Copy的方法,复制第一个实例的的子元素值到第二个泛型中,利用循环语句,把复制的类的子元素值利用控制台输出。

四,可空值类型

1,在解决方案里面再新建一个控制台应用程序命名为ValueNull,设置为启动项

3,在Program.cs的中,定义一个类,命名为Bank,定义2个字段,一个为bool类型的_isOpen,用于判断用户是否开户,一个可空Decimal类型_deposit,存款数目。定义一个属性字段getOpen,用于判断用户是否开户,定义一个属性字段getDeposit,在get属性中,根据是否开户来返回值,如果没开返回NULL,否则返回其原值。再添加一个构造函数,用于初始化_isOpen字段。4,在入口函数中,实例化一个未开户的Bank对象,读取存款数目,根据存款数目字段(不是通过是否开户字段),用控制台输出,

如果开户就显示实际存款数目,否则,提示未开户。

五,程序集生成

1,把.net Framework2.0的路径添加到整个系统的环境变量中。

步骤:

打开“我的电脑”--》C盘--》WINDOWS--》https://www.360docs.net/doc/fb5472978.html,--》FrameWork--》V2.0.50727--》复制路径--》关闭“我的电脑”--》

打开“我的电脑”--》属性--》高级--》环境变量--》系统变量--》找到path--》编辑--》在变量值后面添加一个分好(;),黏贴刚才

复制的路径--》确定--》确定--》确定。

2,进入DOS界面,利用Framework提供的编译器,把前面实验2 的类ListTest.cs编译成DLL程序集。

【csc.exe/? 可以查看所有信息,可以提供帮助】

步骤:

Cmd 回车

Csc.Exe 回车

D: 回车

Cd lab2 回车

Cd listclass 回车

csc.Exe /target:library listtest.cs 回车

3.把实验三的Program.cs编译成Program.Exe

【Program.Cs包含入口函数,所以不能将其编译成.Dll文件】

步骤:接着上面继续做:

cd.. 回车------切换目录

Cd listMethod 回车

csc.Exe program.cs 回车

4.把实验四中的类Program.cs编译成ValueNull.Exe---因为输出的名字ValueNull.Exe与原来的名字Program.Cs不一致,所以需要参考out

步骤:接着上面继续做:

cd.. 回车------切换目录

Cd valuenull 回车

csc.Exe /out:ValueNull Program.cs

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境 班级学号成绩 一、实验目的 1. 熟悉C语言Visual C++6.0调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

程序设计基础实验指导书

说明 每个实验做完以后,按照实验报告模板格式完成相应的实验报告,存储为word 文档,最终提交的实验文档数量种类和命名原则如下例:(不按要求 者拒收) 目录结构图目录实验 1 内的文件种类和命名原则实验报告成绩将作为平时成绩的一部分计算到期末总成绩中。 实验报告严禁相互抄袭,一经发现抄袭和被抄袭者本次实验按零分计算!

实验1 C 的实验环境和C 语言的数据类型 1. 实验目的 ⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C 程序。 ⑵ 通过运行简单的C 程序,初步了解C 源程序的特点。 ⑶ 掌握C 语言数据类型, 熟悉如何定义一个整型、字符型和实型的变量,以及对它 们赋值的方法。 ⑷ 掌握不同的类型数据之间赋值的规律。 ⑸ 学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+ +)和自减(--)运算符的使用。 2. 实验内容和步骤 检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。 进入所用的集成环境。 熟悉集成环境的界面和有关菜单的使用方法。 输入并运行一个简单的、正确的程序。 3. 实验题目 输入下面的程序 # include "stdio.h" void main() { printf( "This is a c program.\n" ); } 程序无误,其运行的结果为:(请填写) ⑵ 输入并编辑一个有错误的 C 程序。 # include “ stdio.h ” void main() { int a,b,sum a=123; b=456; sum=a+b print( “ suism%d n” ,sum); } 运行后程序出现几处错误,请分别指出,并逐一更改: ⑶ 若k,g 均为int 型变量, 则下列语句的输出为, : # include "stdio.h" void main() { int k, g; k=017; g=111;

课后答案——C++语言程序设计教程(第二版)

1.1习题1解答 1. (1)机器语言是计算机直接理解执行的语言,由一系列(二进制)指令组成,其助记符构成了汇编语言;接近人的自然语言习惯的程序设计语言为高级语言。 (2)结构化程序设计方法主要内容有:自顶向下,逐步求精;面向对象方法将现实世界中的客观事物描述成具有属性和行为的对象,抽象出共同属性和行为,形成类。 (3)C++程序开发通常要经过5个阶段,包括:编辑,编译,连接,运行,调试。首先是编辑阶段,任务是编辑源程序,C++源程序文件通常带有.c p p扩展名。接着,使用编译器对源程序进行编译,将源程序翻译为机器语言代码(目标代码),过程分为词法分析、语法分析、代码生成3个步骤。 在此之前,预编译器会自动执行源程序中的预处理指令,完成将其他源程序文件包括到要编译的文件中,以及执行各种文字替换等。 连接器的功能就是将目标代码同缺失函数的代码连接起来,将这个“漏洞”补上,生成可执行文件。程序运行时,可执行文件由操作系统装入内存,然后CPU从内存中取出程序执行。若程序运行进程中出现了错误,还在需要对程序进行调试。 (4)对象与对象之间通过消息进行相互通信。 (5)类是具有相同属性和行为的一组对象的抽象;任何一个对象都是某个类的一个实例。(6)多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。 (7)面向对象的软件开发过程主要包括面向对象的方法分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的维护。 (8)泛型程序设计是指在程序设计时,将数据类型参数化,编写具有通用性和可重用的程

序。 (9)#include是一条预处理指令(语句),在编译(或预处理)时由编译器(或预编译器)执行,其功能是将iostream文件包含(复制)到指令处。 (10)C++中使用cin作为标准输入流对象,通常代表键盘,与提取操作符>>连用;使用cout作为标准输出流对象,通常代表显示设备,与<<连用。 2.简答题 (1)叙述机器语言、汇编语言、高级语言的特点。 机器语言是计算机直接执行的语言,由二进制的0和1构成的一系列指令组成; 汇编语言是机器语言的助记符; 高级语言是接近人的自然语言习惯的编程语言,通过编译变成机器语言。 (2)结构化的语言与面向对象的语言是截然分开的吗? 不是截然分开的,面向对象的程序设计中也包含过程,含有结构化的思想。 (3)C编写的程序不加修改就可以在C++编译器中编译。 (5)C++程序通过编译变成带扩展名.obj的目标文件;再通过连接变成带扩展名.exe的可执行文件。 (6)如果要求不使用include包含头文件,有什么办法使程序正常编译运行? 在相应的文件夹(子目录)中,找到需要包含的头文件,将头文件复制到包含处。 3.单选 C++语言程序能够在不同操作系统下编译、运行,说明C++具有良好的移植性。 (可以说C++语言完全兼容C语言,但是在这不能说C++语言程序能兼容不同的操作系统;对于计算机硬件,一般使用“兼容”一词,对于程序使用“移植”)。 (3)#include语句在程序运行前就执行了。

《集合框架及泛型》上机实践内容

《集合框架及泛型》作业 一、根据课上讲解内容,完成演示示例和课堂练习 1、ArrayList获取并打印新闻标题 需求说明:按照以下实现的步骤,使用ArrayList获取和打印新闻标题,显示效果如下图所示: (1)创建多个各类新闻标题对象,包含ID、名称和创建者三个属性; (2)创建存储各类新闻标题的集合对象; (3)按照顺序依次添加各类新闻标题,使用add()方法; (4)获取新闻标题的总数,使用size()方法; (5)根据位置获取相应新闻标题、逐条打印每条新闻标题的名称,使用for 循环遍历。 2、ArrayList存储狗狗信息 需求说明:按照以下实现的步骤,使用ArrayList存储狗狗信息,使用ArrayList的方法对狗狗信息进行删除、读取和判断,显示效果如下图所示:(1)存储多条狗信息,获取狗总数,逐条打印出各条狗信息; (2)删除指定位置的狗,使用remove()方法; (3)判断集合中是否包含指定狗,使用contains()方法;

3、LinkedList添加和删除新闻标题 需求说明:在作业1的基础上,换用LinkedList存储新闻数据,并且使用LinkedList的getFirst()和getLast()方法获取第一条和最后一条数据,以及removeFirst()和removeLast()方法删除第一条和最后一条数据,输出效果如下图所示。 4、集合头尾位置删除和条件狗信息 需求说明:按照作业3的实现方式和所用到LinkedList的方法,实现狗狗信

息的更新并输出,输出效果如图所示。 5、使用Iterator和增强型for循环遍历Set 需求说明:按照以下实现的步骤,使用Iterator和增强型for循环遍历Set,输出效果如下图所示: (1)创建多个各类新闻标题对象,包含ID、名称和创建者三个属性; (2)创建存储各类新闻标题的集合对象; (3)按照顺序依次添加各类新闻标题; (4)获取新闻标题的总数; (5)使用iterator()获取Iterator对象; (6)使用Iterator遍历集合,使用hasNext()方法作为循环条件,判断是否存在另一个可访问的元素; (7)使用增强型for遍历集合;

《C程序设计基础》实验指导

《C程序设计基础》实验指导 实验1 C程序的设计环境和运行方法 【实验目的】 1.熟悉所用计算机系统的基本操作方法。 2.学习Turbo C 2.0的使用方法,掌握程序编辑、编译、连接、运行及查看运行结果的方法。 3.掌握C程序的基本结构。 【实验内容】 1.熟悉使用的计算机系统的基本操作,创建自己的工作目录,参照附录中介绍的方法,掌握Turbo C 2.0的启动方法(一种或多种),了解Turbo C 2.0系统的安装路径和结构。2.进入Turbo C 2.0的工作环境,参照附录设置环境,用File/Change dir…设置当前工作目录、用Options/Directories设置系统的安装路径、包含文件路径、标准库文件路径、输出文件路径和源文件路径。 3.熟悉Turbo C 2.0的系统菜单组成及功能。学习使用功能键和快捷键调用菜单项的方法。 掌握文件建立、编辑、修改和保存的方法。落实文件的存储位置是否是你的工作目录,如果不是,回第二步重新设置。了解编译、连接和运行命令在屏幕菜单项的位置和调用方法。 4.输入并运行下面最简单的C程序 ①使用File菜单的New命令创建一个新文件。 ②在编辑区输入下面程序: #include mian() { printf(" Hello World!\n") } ③按功能键F9进行编译和连接,观察屏幕显示的编译信息。如果出现出错信息,信息窗口中将显示错误内容及定位错误时的语句行号,修改错误,再进行编译。 ④如果编译无错,按Ctrl+F9运行程序,按Alt+F5切换到用户屏,观察运行结果。 ⑤改变源程序中双引号内的字符串内容,重新编译和连接,并查看运行结果。 ⑥保存文件,查看你的工作目录下是否有该文件。编译连接的中间文件应该在Output设置的目录中。如果没有设置Output目录,中间文件应该在当前工作目录中。 5.输入并运行下面一个需要在运行时输入数据的程序,程序要求从键盘输入三个浮点数,输出它们的和。 #include mian()

实验十二细菌常用生理生化反应实验结果观察

实验十二细菌常用生理生化反应实验结果观察 一结果观察 1葡萄糖发酵实验 直接观察试管, 试管变黄者为葡萄糖发酵阳性菌,不变者为阴性菌. 左边为恶臭假单胞菌,有气泡并变为黄色;右边为大肠杆菌, 2V. P. 反应和甲基红试验: 将培养好的液体培养基分装于两个干净的小试管中,在一管中滴入2-3滴甲基红试剂, 溶液变红的为甲基红阳性菌,不变的为甲基红阴性菌. 在另一管中加入V. P. 试剂,在37℃保温15分钟, 变红者为阳性菌,不变者为阴性菌. VP,图为右边为大肠杆菌,溶液变红,为阳性菌。 3吲哚实验 在培养好的液体培养基中加入1厘米高的乙醚,振荡,静置分层,加入2-4滴吲哚试剂,在掖面交界出现红色者为吲哚反应阳性菌,不变者为阴性菌.

左边为大肠杆菌,出现红色阳性菌;右边为产气杆菌,颜色不变,阴 性菌。 4硝酸盐还原实验 在点滴板上滴入革里斯试剂A液和B液,如过溶液变红说明有亚硝酸盐,为硝酸盐还原阳性菌,如果不变色需要再倒出部分培养基在另外的小孔中再滴如耳苯胺试剂,如果变蓝,说明此菌为阴性菌;如果不变色,说明此菌为硝酸盐还原强阳性菌. 右下方恶臭假单胞菌,加入革里斯试剂A、B后不变色,再加入二苯 胺试剂后变蓝,为阴性菌;左上方大肠杆菌为红色。 5柠檬酸盐实验 直接观察斜面,斜面变兰色者为柠檬酸盐利用阳性菌,不变者为阴性菌.

左边产生蓝色,产气杆菌阳性;右边为大肠杆菌,阴性。 6明胶水解 向培养好的明胶培养基中加入酸性氯化汞或三氯乙酸溶液,并铺满平板,菌落周围出现透明圈的菌为明胶水解阳性菌,没有透明圈的菌为阴性菌. 左边为大肠杆菌,出现透明圈,阳性;右边为枯草杆菌,阴性菌。 7 淀粉水解实验 向培养好的淀粉培养基平板上加入碘液,并铺满平板,菌落周围出现透明圈的菌为淀粉水解阳性菌,没有透明圈的菌为阴性菌.

第8章_泛型编程习题_参考答案

《面向对象程序设计》习题 第8章泛型编程 一、选择题(共40分,每题2分) 二、填空题(共20分,每空2分) 1. 逻辑数据类型 2. 函数类 3. 函数模板类模板 4.函数类型形参类型 5.2 6. 尖括号 三、下列程序有2个错,找出并修改(共6分) 错1:public: A(T a, b) // A(T a,T b) {x=a,y=b;s=x+y;} 错2: int main() { A add(10,100); // A add(10,100); add.show(); return 0; } 四、看程序写结果(共12分,每题4分) 1. 2. 3.

五、编程题(22分) 1.设计一个函数模板,实现两数的交换,并用int、float、double、char类型的数据进行测试。 #include #include using namespace std; template void change(T &x, T &y) { T temp; temp=x; x=y; y=temp; } int main() { int a=12, b=34; float c=1.1, d=2.2; double e=1.23456789, f=2.23456789; char u='A', v='B'; cout<<"交换前:a="<

程序设计基础(c语言)实验指导与测试答案

习题集参考答案 测试1 1.BDAAA 6.DBCDB 11.AADDD 16.CDCCC 21.BCDBA 26.AD 28.a+b,a-b,a-b 测试2 1.BBBDC 6.BCABC 11.CDBBA https://www.360docs.net/doc/fb5472978.html,DCB https://www.360docs.net/doc/fb5472978.html,(假设输入12345回车)CBB 26.ACDDC 31.CBC 34. x>=0 x0 m=n/10 36. i==j k!=i&&k!=j 37. i<10 j%3!=0 38. k!=0 k/10 continue 39. 0 z<10 100*x+10*y+z 40. i=1,m=0 m+=i 测试3 1.CDACB 6.CBDBA 11.AACC CAC 16.C 17. 1.0/(i*i) sqrt(6*s) 18. m=n r !=0 return n 19. <=n s fun(k) 测试4 1.*CDBD 6.DCDA CD 11.DCDBD 16.DCCBB 21.BBABD 26.BDDDD 31.ABCCC 36.CDDCB 41.BAABB 46.CABDC 51.题目中strcat(p1,p2)有误,因为p1指向的是字符串常量 52.DC 55.1110 56. &a[i] continue 57. i=strlen(a) ;i>=j ;i-- a[i+1]=a[i] 58. ‘\0’str1[i]-str2[i] 59. j++ ‘\\’j++ ‘\\’j++ ‘\0’ 60. j<3 b[j][i]=a[i][j] i<3 61. b[i][j+1]=a[i][j] i=0 i<2 printf(“\n”) 62. i=j+1 found=1 63. strlen(t) t[k]==c 64. BD 65. float a[10],x i<10 i<9 j<9-i a[j]>a[j+1] a[j]=a[j+1] i<10 i%5==0 66. ADD 67. DA 测试5 1.BCBAD 6.DBDDA 11.DDCCB

实验八泛型程序设计

实验八泛型程序设计 软件1502 杨成进 0 一、实验目的 1.了解链表类的定义与实现,学习其使用方法。 2.了解栈类的定义与实现,学习其使用方法。 3.了解队列类的定义与实现,学习其使用方法。 4.了解C++标准模板库STL的使用方法。 二、实验任务 1.编写程序link.h,实现教材中例9—6的链表类。在测试程序lab9—1.cpp中定义两个整型链表A和B,分别插入5个元素,然后把B中的元素加入A的尾部。 2.编写程序queue.h,用链表实现队列(或栈)类。在测试程序lab9—2.cpp中定义一个整型队列(或栈)对象,插入5个整数,压人队列(或栈),再依次取出并显示出来。 3.使用C++标准模板库(STL)中的双向队列类(deque)重新实现上一小题。 三、实验步骤 1.参照教材《C++语言程序设计》中链表类LinkeclI。ist的定义(教材中的例程9—6.h),给出其实现,注意合理使用NodIe类(教材中的例程9—3.h)的成员函数。在测试程序中定义整型链表A和B,分别插入5个元素,使用循环语句显示链表中的元素,然后把B中的元素加入A的尾部,再显示出来。 2.队列类的特点就是其元素的操作顺序为先入先出(FIFO),用上题中的链表类实现队列类,用链表类的成员函数实现队列的成员函数,在测试程序中定义一个整型队列对象,观察队列类中的元素先入先出的特点。 3.在程序中包含语句#include ,使用deque类的方法push_back()、empty()、pop_front()完成上一小题的要求。程序名:。、 四、实验程序 1、 #include "" int main()

实验11泛型与集合

实验内容: (1)定义一个泛型类Instrument,其中包括一个泛型方法void play(E x)。定义两种乐器类:Cello、Violin 可以进行演奏。定义一个测试类进行测试。 package ex111; public class Violin { public String toString() { System.out.println("violin........."); return ""; } } package ex111; public class Test_Main { public static void main(String[] args) { instrumentmodel = new instrument(); instrumentmodel1 = new instrument(); Cello cello = new Cello(); Violin violin = new Violin(); model.play(cello); model1.play(violin); } } package ex111; class instrument {//泛型类 void play(E x) { x.toString(); } } package ex111; public class Cello { public String toString(){ System.out.println("cello........."); return ""; } } (2)输入10 个数字保存到List 中,并按倒序显示出来。 package ex112; import java.util.ArrayList; import java.util.Collections;

常用研究细菌的实验技术

大多数动物植物的研究、利用都能以个体为单位进行,而微生物由于个体微小,在绝大多数情况下都是利用群体来研究其属性,微生物的物种(菌株)一般也是以群体的形式进行繁衍、保存。在微生物学中,在人为规定的条件下培养、繁殖得到的微生物群体称为培养物(culture),而只有一种微生物的培养物称为纯培养物(pure culture)。由于在通常情况下纯培养物能较好地被研究、利用和重复结果,因此把特定的微生物从自然界混杂存在的状态中分离、纯化出来的纯培养技术是进行微生物学研究的基础。相应的,微生物个体微小的特点也决定了显微技术是进行微生物研究的另一项重要技术,因为绝大多数微生物的个体形态及其内部结构只能通过显微镜才能进行观察和研究。显微技术包括显微标本的制作、观察、测定、分析及记录等方面的内容。实际上,正是由于显微技术及微生物纯培养技术的建立才使我们得以认识丰富多彩的微生物世界,并真正使对微生物的研究发展成为一门科学。 1 微生物的分离和纯培养 1.1 无菌技术 微生物通常是肉眼看不到的微小生物,而且无处不在。因此,在微生物的研究及应用中,不仅需要通过分离纯化技术从混杂的天然微生物群中分离出特定的微生物,而且还必须随时注意保持微生物纯培养物的“纯洁”,防止其他微生物的混入。在分离、转接及培养纯培养物时防止其被其他微生物污染的技术被称为无菌技术(aseptic technique),它是保证微生物学研究正常进行的关键。 (1) 微生物培养的常用器具及其灭菌 试管、玻璃烧瓶、平皿(culture dish,Petri dish)等是最为常用的培养微生物的器具,在使用前必须先行灭菌,使容器中不含任何生物。培养微生物的营养物质[称为培养基(culture medium)]可以加到器皿中后一起灭菌,也可在单独灭菌后加到无菌的器具中。最常用的灭菌方法是高压蒸汽灭菌,它可以杀灭所有的生物,包括最耐热的某些微生物的休眠体,同时可以基本保持培养基的营养成分不被破坏。有些玻璃器皿也可采用高温干热灭菌。为了防止杂菌,特别是空气中的杂菌污染,试管及玻璃烧瓶都需采用适宜的塞子塞口,通常采用棉花塞,也可采用各种金属、塑料及硅胶帽,它们只可让空气通过,而空气中的其他微生物不能通过。而平皿是由正反两平面板互扣而成,这种器具是专为防止空气中微生物的污染而设计的。 (2) 接种操作 用接种环或接种针分离微生物,或在无菌条件下把微生物由一个培养器皿转接到另一个培养容器进行培养,是微生物学研究中最常用的基本操作。由于打开器皿就可能引起器皿内部被环境中的其他微生物污染,因此微生物实验的所有操作均应在无菌条件下进行,其要点是在火焰附近进行熟练的无菌操作(图2—1),或在无菌箱或操作室内无菌的环境下进行操作(图2—2)。操作箱或操作室内的空气可在使用前一段时间内用紫外灯或化学药剂灭菌。有的无菌室通无菌空气维持无菌状态。

JAVA实验报告-集合框架与泛型机制

Java 语言程序设计 C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日

一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识: 1.掌握 List 接口下 ArrayList 及 LinkedList 的使用方法。 2.掌握 Map 接口下 HashMap 及 HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用 map 存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在 main 方法编写逻辑代码 (3)运行程序并测试结果 package https://www.360docs.net/doc/fb5472978.html,; public class Student { private String name ; private int age ; private String id ;

public String getName() { return name ; } public void setName(String name ) { this . name =name ; } public int getAge() { return age ; } public void setAge(int age ) { this. age=age ; } public String getId() { return id; } public void setId(String id) { this. id=id; } public Student(String name ,int age , String id ) { super(); this. name =name ; this. age=age ; this. id=id; } public void sayHi() { System.out.println("name=" +this.getName()+"age=" + this .getAge()+" " + "id=" + this.getId()); } }

北京邮电C语言程序设计实验指导书10版 V1.0

《C语言程序设计》 实 验 指 导 手 册 授课教师: 宋 茂 强 实验指导教师: 李 晶 教学对象: 一年级本科生 开课时间: 秋季学期 北京邮电大学软件学院 2010年8月

《C语言程序设计》实验指导手册 (2010年8月) 实验内容分为九部分,涉及到编程环境的使用,循环控制语句的练习,判断分支语句练习,函数的应用,模块化开发,数组和字符串的应用,结构体、指针以及链表的应用等,最终完成一个学生成绩管理系统的设计与实现。 关于实验的说明: 1. 实验环境为:Visual Studio C++ 6.0。 2. 有需要提交实验内容的部分在实验要求一项中有提示。 3. 实验内容提交至:ftp://59.6 4.164.17/软件学院/ 10级/软件学院10级C 语言程序设计用户名:student,密码:student。 4. 提交时请注意:每一部分都有对应的文件夹,每个班都有对应的文件夹。 提交内容时,遵守“学号-姓名”命名规则上传。比如,2010211501班某 同学张三,学号为100011,完成的第一部分实验包含了两部分:工程和 实验报告。工程的提交方法:找到“part 1”文件夹下 “10-01”文件夹,找 到“project”文件夹,并将工程打包为.rar包,命名为:100011-张三.rar, 传到这个文件夹下。实验报告的提交方法:找到“part 1”文件夹下 “10-01” 文件夹,找到“report”文件夹,将word形式的实验报告命名为:100011- 张三.doc上传至该文件夹下。 第一部分: VC6.0的使用(2学时) 1.实验目的 (1) 掌握Visual Studio C++ 6.0 编程环境的基本使用方法; (2) 掌握如何在Visual Studio C++ 6.0编程环境下为工程引入第三方类库。 2.实验内容 如何建立新的工程 (1) 打开【file】|【new】,出现new窗口。选择【project】选项卡,选择【Win32 Console Application】。在右面的【project name】栏中输入工程的名字,【location】项是指定当前的工程文件放在那个目录中,单击右面的按钮 可以进行更改。选择一个合适的目录(更为方便的方法是,在硬盘上建 立一个自己的目录,比如在D盘上建立一个目录名为C Programming, 那么,【location】这里就选择D:\ C Programming\ ,这样后面所有部分 的实验内容都可以放在这个目录下),最后单击【OK】。如图1-1所示。

java程序设计基础(第3版)实验指导答案 第四章

实验16 public class shiyan16 { public static void main(String[] args) { int i; int []a; a=new int[10]; for(i=0;i<=a.length-1;i++) System.out.print("a["+i+"]="+a[i]+" "); System.out.print("\n"); for(i=a.length-1;i>=0;i--) { a[i]=i; System.out.print("a["+i+"]="+a[i]+" "); } } } //定义一个长度为10的整形数组,输出元素的内容,再对数组元素进行赋值 实验17 import java.util.*; public class shiyan17 { public static void main(String[] args) { int i,max,min; int []a=new int[5]; Scanner reader=new Scanner(System.in); System.out.println("从键盘输入5个整数"); for(i=0;i<5;i++) a[i]=reader.nextInt(); max=a[0]; min=a[0]; for(i=1;i<5;i++) { if(a[i]>max) max=a[i]; if(a[i]

实验室常用的细菌作用及其选择

第一篇:JM109,DH5a,BL21这些感受态有何区别 1:DH5a菌株 DH5a是一种常用于质粒克隆的菌株。E.coli DH5a在使用pUC系列质粒载体转化时,可与载体编码的β-半乳糖苷酶氨基端实现α-互补。可用于蓝白斑筛选鉴别重组菌株。 基因型:F-,φ80dlacZΔM15,Δ(lacZYA-argF)U169,deoR,recA1,endA1,hsdR17(rk-,mk+),phoA,supE44,λ-,thi-1,gyrA96,relA1 2:BL21(DE3) 菌株 该菌株用于高效表达克隆于含有噬菌体T7启动子的表达载体(如pET系列)的基因。T7噬菌体RNA聚合酶位于λ噬菌体DE3区,该区整合于BL21的染色体上。该菌适合表达非毒性蛋白。 基因型:F-,ompT, hsdS(rBB-mB-),gal, dcm(DE3) 3:BL21(DE3) pLysS菌株 该菌株含有质粒pLysS,因此具有氯霉素抗性。PLysS含有表达T7溶菌酶的基因,能够降低目的基因的背景表达水平,但不干扰目的蛋白的表达。该菌适合表达毒性蛋白和非毒性蛋白。 基因型:F-,ompT hsdS(rBB-mB-),gal, dcm(DE3,pLysS ,Camr 4:JM109菌株 该菌株在使用pUC系列质粒载体进行DNA转化或用M13 phage载体进行转染时,由于载体DNA产生的LacZa多肽和JM09编码的LacZΔM15进行α-互补,从而显示β-半乳糖苷酶活性,由此很容易鉴别重组体菌株 基因型:recA1,endA1,gyrA96,thi-1,hsdR17,supE44,relA1,Δ(lac -proAB)/F’[traD36,proAB+,lacIq,lacZΔM15] 5:TOP10菌株 该菌株适用于高效的DNA克隆和质粒扩增,能保证高拷贝质粒的稳定遗传。 基因型:F- ,mcrAΔ(mrr-hsd RMS-mcrBC),φ80 ,lacZΔM15,△lacⅩ74,recA1 ,araΔ139Δ(ara-leu)7697, galU ,galK ,rps, (Strr) endA1, nupG 6:HB101菌株 该菌株遗传性能稳定,使用方便,适用于各种基因重组实验

实验11泛型与集合

实验内容: (1)定义一个泛型类In strume nt,其中包括一个泛型方法void play(E x) 定义两种乐器类:Cello、Violin可以进行演奏。定义一个测试类进行测试。 package ex111; public class Violin { public String toStri ng() { System.out.println("violin ....... "); return ""; } } package ex111; public class Test_Ma in { public static void main( Stri ng[] args) { instrumentmodel = new instrument(); in strume ntvVioli n> model1 = new in strume ntvVioli n>(); Cello cello = new Cello(); Violin violin = new Violi n(); model.play(cello); model1.play(violi n); } } package ex111; class in strume nt {//泛型类void play(E x) { x.toStri ng(); } } package ex111; public class Cello { public Stri ng toStri ng(){ System.out.println("cello ....... "); return ""; } } (2)输入10个数字保存到List中,并按倒序显示出来 package ex112; import java.util.ArrayList; import java.util.Collectio ns; import java.util.List; import java.util.Sca nner; public class Test{ public static void main(final String[] args) { final List< In teger> in tegers = new ArrayListvl nteger>(); final Scanner sca nner = new Scann er(System.i n); for (int i = 1; i <= 3; i++) {

相关文档
最新文档