实验1:类、对象基础知识运用
- 格式:doc
- 大小:312.50 KB
- 文档页数:9
合肥工业大学程序设计基础实验报告姓名:班级: 计算机科学与技术学号:合肥工业大学计算机与信息学院1实验七类与对象1(实验目的要求(1) 掌握类的定义和实现。
(2) 掌握对象创建及使用的基本方法。
2(实验设备硬件环境:微型计算机软件环境:操作系统: Windows语言环境: Visual C++3(预习要求学习教材有关类的定义与实现、对象创建与应用等有关内容,对实验基本要求应在上机实验前仔细阅读,程序应事先编制完成,上机时录入调试,同时还应设计相应的测试用例集,检查程序的正确性、可靠性、完备性和容错能力。
4(实验内容(1)下面程序定义了一个以hours, minutes和seconds作为数据成员的Time 类。
设计了成员函数将两个Time对象相加(即时间相加),并进行相应的检查,查看增加的分钟数及秒数是否大于59。
如果秒数大于59,则分钟数向前递增1。
类似地,如果分钟数大于59,则小时数向前增1。
#include <iostream>using namespace std;class Time{private:int hours, minutes, seconds;public:void get_time(){2cin>>hours>>minutes>>seconds;}void display_time(){cout<<hours<<':'<<minutes<<':'<<seconds<<endl;}void add_time(Time & t1, Time & t2){hours=t1.hours+t2.hours;minutes=t1.minutes+t2.minutes;seconds=t1.seconds+t2.seconds;if(seconds>=60){seconds-=60;minutes++;}if(minutes>=60){minutes-=60;hours++;}}};void main(){Time one, two, three;cout<<"\nEnter the first time(hours minutes seconds):"; one.get_time();cout<<"\nEnter the second time(hours minutes seconds):"; two.get_time();three.add_time(one,two);cout<<"the result is:"<<endl;three.display_time();}[基本要求], 上机录入、调试上面程序。
实验一类和对象一、实验目的:掌握类的设计和对象的创建及相关知识点如对象数组、类聚合、友元函数、静态成员。
二、实验内容:1、设计圆类,求两个圆的位置关系;2、设计圆类和直线类,求直线与圆的位置关系;3、设计学生类,求某班学生成绩的最高分、最低分及平均分;4、设计部门类和教师类,其中部门类成员为教师类的子对象;5、设计家庭银行账户类,其中账户资金为静态数据成员,为家庭成员共享;6、设计复数类,友元函数实现复数的加减。
三、实验过程:1、根据实验题目确定需要设计哪些类、各类中包含哪些数据成员和函数成员,设计各成员的访问权限,设计数据成员的数据类型,设计函数成员的函数原型;2、给出类设计的程序实现,特别要注意重载构造函数的实现;3、在主函数中完成题目中的逻辑,一般情况下需要创建相关类的对象,通过对象对成员函数的调用或者通过对象指针对成员函数的调用完成相应的功能。
四、参考程序代码:1、设计圆类,求两个圆的位置关系#include <iostream>#include <math.h>using namespace std;class Circle{private:float a,b,r;public:Circle(float c,float d,float e){a=c;b=d; r=e;}friend void position(Circle &,Circle &);};void position(Circle &c1,Circle &c2){float n,m,p;p=sqrt((c1.a-c2.a)*(c1.a-c2.a)+(c1.b-c2.b)*(c1.b-c2.b)); n=fabs(c1.r-c2.r);m=c1.r+c2.r;if(p>m)cout << "相离";if(p==m)cout << "相切";if(p<m)cout << "相交";}int main(){float a,b,c,d,e,f;cin >> a >> b >> c >> d >> e >> f ;Circle c1(a,b,c),c2(d,e,f);position(c1,c2);return 0;}运行结果:2、设计圆类和直线类,求直线与圆的位置关系#include<iostream>#include<math.h>using namespace std;class Circle//圆类{private:float x,y,r;public:Circle(float a,float b,float c) {x=a;y=b;r=c;}float getx(){return x;}float gety(){return y;}float getr(){return r;}};class Line//直线类{private:float a,b,c;public:Line(float x,float y,float z){a=x;b=y;c=z;}void position(Circle c1){float d=fabs(a*c1.getx()+b*c1.gety()+c)/sqrt(a*a+b*b) ;//圆心到直线的距离if(d<c1.getr())cout << "相交";if((d-c1.getr())<0.000001)cout << "相切";cout << "相离";}};int main(){Line l1(3,3,4);//创建直线对象Circle c1(-23,3,7);//创建圆对象l1.position(c1);return 0;}运行结果:3、设计学生类,求某班学生成绩的最高分、最低分及平均分#include <iostream>#include <string.h>using namespace std;class Student{private:char name[20],xuehao[20];float math;public:Student(){}Student(char *na,char *xu,float ma):math(ma) {strcpy(name,na);strcpy(xuehao,xu);}void set(char *na,char *xu,float ma){math=ma;strcpy(name,na);strcpy(xuehao,xu);}char *get_name(){return name;}char *get_xuehao(){return xuehao;float get_math(){return math;}};void max_min(Student stu[],int n){Student max,min;max=min=stu[0];for(int i;i<n;i++){if(stu[i].get_math()>max.get_math())max=stu[i];if(stu[i].get_math()<min.get_math())min=stu[i];}cout << "学生成绩最高:" << max.get_name() << "," << max.get_xuehao() << "," << max.get_math() << endl;cout << "学生成绩最低:" << min.get_name() << "," << min.get_xuehao() << "," << min.get_math() << endl;}void ave(Student stu[],int n){float sum=0;for(int i=0;i<n;i++){sum=sum+stu[i].get_math();cout << "ave=" << sum/n;}int main(){char na[20],xu[20];float ma;Student stu[20];int n;cout << "请输入学生总人数"; cin >> n;for(int i=0;i<n;i++){cin >> na >> xu >> ma ; stu[i].set(na,xu,ma); }max_min(stu,n);ave(stu,n);return 0;}运行结果:4、设计部门类和教师类,其中部门类成员为教师类的子对象#include <iostream>#include <string.h>using namespace std;class Department{private:int dep_num;char dep_master[20];char dep_name[20];public:Department(){}Department(int num,char *ma,char *na){dep_num=num;strcpy(dep_master,ma);strcpy(dep_name,na);}void show(){cout << dep_num << "," << dep_master << "," << dep_name ; }};class Teacher{private:char name[20];char haoma[20];Department dep;public:Teacher(char *n,char *nu,int num,char *ma,char *na):dep(num,ma,na) {strcpy(name,n);strcpy(haoma,nu);}void show(){dep.show();cout << "," << name << "," << haoma << endl;}};int main(){Teacher hp("wanghai","12345",6,"kiki","computer");hp.show();return 0;}运行结果:5、设计家庭银行账户类,其中账户为静态数据成员,为家庭成员共享#include <iostream>#include <string.h>using namespace std;class Familymember//家庭成员类{private:char membername[10];//成员名public:static float account;//共享账户资金 Familymember(char *name);static void save(float money);//存钱 static void pay(float money);//支出 static void show(); //显示账户余额};float Familymember::account=0;Familymember::Familymember(char *name) {strcpy(membername,name);}void Familymember:: save(float money) {account= account+money;}void Familymember:: pay(float money){account= account-money;}void Familymember:: show(){cout<<account<<endl;}int main()//主函数{ Familymember husband("wang"),wife("Li"); husband.save(10000);wife.pay(3000);wife.save(5000);wife.show();husband. show();}运行结果:6、设计复数类,友元函数实现复数的加减#include <iostream>using namespace std;class Fushu{private:float ss,xs;public:Fushu(){}Fushu(float a,float b){ss=a;xs=b;}friend Fushu jiafa(Fushu &f1,Fushu &f2){return Fushu((f1.ss+f2.ss),(f1.xs+f2.xs)); }friend Fushu jian(Fushu &f1,Fushu &f2){return Fushu((f1.ss-f2.ss),(f1.xs-f2.xs)); }void show(){cout << ss << " + " << xs << "i" << endl; }};int main(){Fushu f1(2,3),f2(4,5);Fushu f3,f4;f3=jiafa(f1,f2);f4=jian(f1,f2);f3.show();f4.show();return 0;}运行结果:。
实验一实验内容:设计银行账户类及存取款、账户查询等操作方法。
实验目的:综合掌握类和对象(类的声明与对象的使用),掌握面向对象技术的编程方法。
具体包括:从实体中抽象类的方法;如何声明类、创建类的实例;类和成员对象的修饰符的使用;类的构造函数的使用方法等。
实验要求:使用JA V A语言实现一个可无误运行的完整程序,完成银行账户类的设计及存取款、查询等操作。
实验内容具体要求:1,编写一个类实现银行账户(bank account)的概念。
银行账户的属性包括“账号Ac_id”、“储户姓名Ac_name”、“储户身份证号Ac_card”、“日期Ac_date[]”、“金额Ac_money[]”、“存款余额Ac_rest[]”,以及“操作次数Max”、“账目管理指针top”和“累计余额Ac_sum”;银行账户的方法包括“存款”、“取款”、“查询”等。
2,编写一个带有默认构造函数(没有任何参数)的类,在其中显示一些信息,然后为此类产生一些对象。
3,使用刚才定义的类创建几个实例,然后通过实例来访问其中的变量和方法来完成一定的功能。
4,编写一个具有public, private, final, static等数据成员和方法的类,然后为该类产生一个对象,尝试调用类中的所有成员。
实验步骤:1. 复习巩固教材相关的基础知识和相关内容;2. 认真理解实验要求;3. 完成系统程序开发全过程;4. 提交程序源代码及实验报告。
实验二实验内容:构建计算机类及其子类-笔记本电脑类,描述属性及状态,掌握继承及重载。
实验目的:全面理解OOP的基本思想和核心特征,灵活掌握继承和重载的程序实现。
具体包括:掌握类继承(属性与方法的继承)的规律;掌握构造函数继承的规律;掌握子类的对象就是父类的对象的规律等等。
实验要求:假设笔记本电脑是整个计算机类的一个子类,试编写一段java 程序实现计算机类及这个子类。
计算机:属性——品牌、颜色、CPU型号、内存容量、硬盘容量、价格、工作状态;方法——打开、关闭、挂起。
初中化学实验分类教案
一、实验目的:通过本节课的实验,使学生了解化学实验的基本分类,掌握不同实验类型的特点和应用。
二、实验内容:
1. 观察实验:通过观察物质性质变化来了解反应过程。
2. 定量实验:通过实验数据来得出结果。
3. 生产实验:通过实验合成新物质。
4. 鉴定实验:通过实验方法确定物质的成分和性质。
三、实验步骤:
1. 观察实验:将铁丝放入盛有稀盐酸的试管中,观察铁丝的变化。
2. 定量实验:将氢气通入装有硫酸的试管中,测定氢气体积的变化。
3. 生产实验:将氢氧化钠溶液和盐酸混合,观察生成的气体。
4. 鉴定实验:将未知物质加入氯化银试剂中,观察生成的沉淀。
四、实验材料:
1. 铁丝、稀盐酸
2. 氢气、硫酸
3. 氢氧化钠溶液、盐酸
4. 氯化银试剂、未知物质
五、实验注意事项:
1. 实验时要注意安全,避免溅洒及高温操作。
2. 注意实验室卫生和环境保护。
3. 操作时要仔细操作,避免实验过程中出现意外。
六、实验总结及拓展:
通过本节课的实验,学生对化学实验的分类及特点有了更深入的了解。
可以进一步讨论不同实验类型在生活中的应用,培养学生对实验的独立思考和创新能力。
《面向对象程序设计》实验一实验报告1 实验目的:(1)了解在VC++、C-free中如何编辑、编译、连接和运行一个C++程序;(2)掌握声明类的方法,类和类的成员的概念以及定义对象的方法(3)了解多文件的C++程序结构2 实验任务(1)输入两个整数,将它们按由大到小的顺序输出。
要求使用变量的引用;(2)编写一个程序,将两个字符串连接起来,结果取代第一个字符串;(3)声明Animal 类,数据成员有age,成员函数有SetAge()等。
首先把数据成员声明为公有的,在main()函数中访问,再把它改为私有的,指出在main()函数中访问会出现怎样的情况,如何避免?该程序需要在同一个文件中分别给出类的声明、类的实现、类的演示每部分的代码。
(4)声明日期类,数据成员有year、month、day,成员函数有输出日期、加一天等。
练习使用多文件结构来组织程序。
3 程序清单实验一:#include"iostream"using namespace std;int main(){int i,j;cout<<"input two number"<<endl;cin>>i>>j;swap(i,j);cout<<i<<","<<j<<endl;return 0;}void swap(int &a,int &b){int temp;temp=a;a=b;b=temp;}实验二:#include"iostream"#include"string"using namespace std;int main(){string string1,string2;cout<<"please input two string:";cin>>string1>>string2;string1=string1+string2;cout<<string1<<endl;return 0;}实验三:4 运行结果图1.1 任务一运行结果图2.1任务二运行结果5 总结或感悟(对运行结果所作的分析以及本次调试程序所取得的经验。
面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。
(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。
实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。
要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。
(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。
要求:使用递归函数。
主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。
链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。
程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。
Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
化学实验基础初中讲解教案
一、实验目的:
通过本实验,学生将了解化学实验的基本原理和方法,培养学生的观察力和实验技能。
二、实验材料:
1. 烧杯
2. 试管
3. 酒精灯
4. 草酸钠
5. 盐酸
6. 碱性溶液
7. 酸性溶液
8. 红色、蓝色指示剂
三、实验步骤:
1. 将烧杯中倒入一定量的草酸钠溶液。
2. 按比例在试管中混合盐酸和碱性溶液,形成化学反应。
3. 将试管倾斜,并点燃酒精灯,加热试管中的混合溶液。
4. 观察试管中的变化,记录下产生的气体、颜色变化等现象。
5. 使用红色、蓝色指示剂进行酸性、碱性的检验,确认反应产生的物质特性。
四、实验内容:
1. 草酸钠与盐酸的反应:
Na2CO3 + 2HCl → 2NaCl + H2O + CO2↑
2. 碱性溶液与酸性溶液的中和反应。
五、实验原理:
1. 化学反应是指两种或多种物质发生物质变化的过程。
2. 酸碱中和反应是指酸性溶液与碱性溶液混合后,酸碱的性质被中和,生成盐和水。
六、实验总结:
通过本次实验,学生将掌握化学反应的基本原理与方法,加深对酸碱中和反应的理解,并培养实验技能与观察力。
同时,学生也应该在实验后进行实验总结与结果分析,巩固所学知识,加深对化学知识的理解与掌握。
以上为化学实验基础初中讲解教案范本,教师可以根据具体情况进行适当调整和修改。
愿本教案对您有所帮助,学习愉快!。
实验报告模板——实验1:类和简单对象天津理⼯⼤学计算机与通信⼯程学院实验报告⾄学年第学期课程名称实验( 1 )实验名称类和简单对象实验时间学号姓名专业主讲教师辅导教师软件环境硬件环境实验⽬的(1)理解类和对象的概念;(2)掌握类与对象的定义⽅法;(3)理解类的成员的访问控制的含义,公有和私有成员的区别;(4)掌握构造函数和析构函数的含义与作⽤、定义⽅式和实现;(5)能够根据给定的要求定义类并实现类的成员函数;(6)掌握string类的使⽤⽅法(7)了解C++⾯向对象程序设计的基本思想、基本⽅法和基本步骤;(8)掌握MS Visual C++6.0调试C++程序的基本⽅法、基本步骤。
实验内容(应包括实验题⽬、实验要求、实验任务等)1.输⼊下列程序,按要求进⾏实验,并记录实验的结果。
2.根据注释语句的提⽰实现类Date的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运⾏。
3.下⾯是⼀个计算器类的定义,请完成该类的成员函数的实现,并设计⼀个主函数使⽤该类和相关成员函数以测试该类设计的正确性。
4.定义⼀个类ClsName,要求该类设计如下:(1)该类有两个整型数据成员x和y;(2)为该类重载三个不同的构造函数:分别为⽆参数、带⼀个参数和带两个参数的构造函数,要求在构造函数中输出必要的信息以⽰区别;(3)设计2个成员函数⽤来读取数据成员x和y;(4)设计2个成员函数⽤来设置数据成员x和y;(5)设计1个成员函数⽤来在屏幕上打印输出数据成员x和y;(6)在main()函数中⽤三个不同的构造函数创建3个对象,并使⽤所有的成员函数对这些对象进⾏必要的操作。
5.建⽴类cylinder,包括两个数据成员radius和height,分别表⽰圆柱体的半径和⾼度, cylinder类的构造函数被传递了两个double值来初始化这两个成员;定义成员函数area()和volume⽤来求圆柱体的表⾯积和体积,定义成员函数print()打印cylinder 类的相关信息。
第1关:类的定义,对象的声明与实例化第1关:类的定义,对象的声明与实例化1. 介绍类和对象是面向对象编程中的重要概念,对于程序员来说,掌握类的定义、对象的声明与实例化是非常基础且重要的知识。
在本文中,我将从简单到复杂地介绍这些概念,帮助你更深入地理解它们。
2. 类的定义类是一种抽象数据类型,它定义了一组属性和方法,用来描述具有相同属性和行为的对象。
在面向对象的编程语言中,类是构建对象的模板,其中包含了对象的属性和行为。
对于类的定义,我们需要考虑以下几个要点:- 类名:类的名称应该具有描述性,能够清晰地表达类的用途和特点。
- 属性:类的属性是描述对象状态的变量,它们可以是各种数据类型,如整数、字符串、列表等。
- 方法:类的方法是描述对象行为的函数,它们定义了对象可以执行的操作。
3. 对象的声明与实例化对象是类的一个实例,它具有类定义的属性和行为。
在程序中,我们需要声明对象并进行实例化,以便使用类定义的属性和方法。
以下是对象声明与实例化的基本步骤:- 对象声明:我们需要使用类创建一个对象,这可以通过类名加括号的方式来实现。
- 实例化:一旦声明了对象,我们需要对其进行实例化,这意味着为对象分配内存空间,并调用构造函数来初始化对象的属性。
4. 个人观点与理解对于类的定义、对象的声明与实例化,我认为它们是面向对象编程中非常基础且重要的概念。
掌握了这些知识,我们才能够更好地理解和设计程序结构,从而提高代码的可复用性和可维护性。
在实际编程中,我经常使用类来封装数据和方法,通过对象来操作和管理数据,这大大简化了程序的编写和调试过程。
5. 总结与回顾在本文中,我从类的定义、对象的声明与实例化这些基础概念出发,介绍了它们的实际意义和应用场景。
通过对这些内容的深入讲解,相信你已经对类和对象有了更清晰的认识。
在今后的学习和工作中,希望你能够灵活运用这些知识,为编程技术的提升打下坚实的基础。
写完了以上内容,文章还需要根据实际情况进行补充和修改,以满足篇幅和深度的要求。
实验2 类和对象(1)班级学号姓名成绩一、实验目的1.掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2.掌握类对象的定义,对象的初始化;3.理解类的成员的访问控制的含义,公有、私有和保护成员的区别;4.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。
能够根据给定的要求定义类并实现类的成员函数;二、实验内容1.分析找出以下程序中的错误,说明错误原因,给出修改方案使之能正确运行。
#include<iostream.h>class one{ int a1,a2;public:one(int x1=0, x2=0);};void main(){one data(2,3);cout<<data.a1<<endl;cout<<data.a2<<endl;}2.分析以下程序的错误原因,给出修改方案使之能正确运行。
#include <iostream.h>class Amplifier{float invol,outvol;public:Amplifier(float vin,float vout){invol=vin;outvol=vout;}float gain();};Amplifier::float gain() { return outvol/invol; }void main(){ Amplifier amp(5.0,10.0);cout<<"\n\nThe gain is =>"<<gain()<<endl;}3.定义盒子Box类,要求具有以下成员:可设置盒子形状;可计算盒子体积;可计算盒子的表面积。
4.定义计数器类Counter。
要求具有以下成员:计数器值;可进行增值和减值记数;可提供记数值。
5.编写一个程序计算两个给定的长方形的周长和面积。
第一章实验一药理实验基础知识第一节药理学实验的目的和要求药理学实验的目的在于通过循序渐进的常规实验,使学生验证和巩固所学的差不多理论;通过综合实验了解较为先进的科研方法和技能,同时培养学生联想及综合分析问题的能力;通过设计性实验,培养学生独立摸索、科学思维及创新的能力,建立实事求是、严谨的科学态度,提高解决实际问题的能力,为后续知识的学习和毕业后的科研工作奠定良好的基础。
为了达到上述目的,要求学生做到以下几点。
【实验前】1.认真阅读实验指导,了解实验目的、原理、要求、方法和操作步骤。
2. 结合实验内容,复习有关药理学、生理学、生物化学及免疫学等方面的理论知识,做到充分明白得。
3. 推测实验中可能显现的情形和发生的问题。
【实验时】1.实验器材的放置力求稳当、整齐、有条不紊。
2.严格按照实验指导上的步骤进行操作,准确运算给药量,节约器材和药品。
要注意爱护实验动物和标本,幸免与实验内容无关的刺激。
3.认真、耐心地观看实验过程中显现的各种现象,实事求是地记录药物显现反应的时刻、表现以及最后的转归,联系课堂讲授的内容进行摸索。
4.在实验过程中遇到疑难之处,先要自己设法解决,如一时解决不了,应向指导教师说明情形,要求教师协助解决。
关于贵重仪器,在未熟悉其性能之前,不可轻易调试。
5.实验室内保持安静、整洁。
用药后须用原瓶塞塞好,公用药品和器材不可随意移动。
【实验后】1.将实验用器材清洗擦干,清点整理后放到指定位置。
如有损坏、缺少,应及时报告老师。
将存活和死亡动物分别送至指定处所。
2.认真整理实验记录,通过分析摸索,撰写实验报告,按时交给指导老师。
3.做好实验室的清洁卫生工作。
第二节药理学实验设计的差不多原则在进行药理学实验时,为保证实验结果的客观性和可信性必须遵循以下差不多原则:一.对比原则:进行实验时必须设对比组。
设置对比组是为了使观看指标通过对比而发觉其在处理因素(如药物等)的作用下而表现出的某种特异性变化,排除各种无关因素的阻碍。
python编程基础实验指导书南阳理⼯学院《PYTHON编程基础》实验指导书(2014版)软件学院·软件⼯程教研室⽬录⽬录 (1)实验1 PYTHON语⾔数据类型、运算符和表达式 0实验2 控制流语句 (1)实验3 PYTHON函数模块和包 (2)实验4⽂件、异常处理和正则表达式 (3)实验5 ⾯向对象设计 (4)实验1 Python语⾔数据类型、运算符和表达式实验性质:验证性实验学时:2学时⼀、实验⽬的1.掌握元组,列表和字符串在计算机中的表⽰⽅法及其基本操作的实现;2.掌握字典和集合在计算机中的表⽰⽅法及其基本操作的实现;3.能够利⽤序列的分⽚操作对实际问题进⾏分析建模,利⽤计算机求解。
⼆、实验预备知识1.复习C/C++语⾔相关知识(如:数组的定义和使⽤),格式化输出等;三、实验内容1.理解格式化输出,并且按照下列要求写出程序:输⼊⼀句话,按照以下格式输出:例如:输⼊“Good morning,everyone”输出格式为:+---------------------------------------------+| Good morning,everyone|+---------------------------------------------+2.按照以下格式打印⽔果价格表:===================Item Price——————————————————ApplesPearsCantaloupes====================3.字典练习,建⽴⼀个字典,包含以下信息,输⼊姓名,通过字典查到该⼈的信息,并且按照以下格式输出:Tomnum:13456addr:Foo street 45实验2 控制流语句实验性质:验证性实验学时:2学时⼀、实验⽬的1.掌握分⽀,循环控制流语句的基本操作;2.能够利⽤各种控制流语句解决⼀些常见问题。
⼆、实验预备知识1.阅读并掌握C语⾔中的循环,分⽀等基本操作。
实验:软件体系结构风格---KWIC实验一、实验目的通过KWIC 实例分析,理解和掌握软件体系结构风格设计与实现。
二、实验内容KWIC描述:KWIC索引系统接受一些行,每行有若干字,每个字由若干字符组成;每行都可以循环移位。
重复地把第一个字删除,然后接到行末; KWIC 把所有行的各种移位情况按照字母表顺序输出。
实验要求:1.采用主/子程序体系结构风格实现KWIC 关键词索引系统2.采用面向对象体系架构风格实现KWIC 关键词索引系统3.采用管道过滤体系架构风格实现KWIC 关键词索引系统三、实验要求与实验环境熟练掌握基于主/子程序体系结构风格的 KWIC 关键词索引系统,在此基础上,完成基于面向对象体系架构风格的 KWIC 关键词索引系统设计与实现;选做基于管道过滤体系架构风格的 KWIC 关键词索引系统。
实验课前完成实验报告的实验目的、实验环境、实验内容、实验操作过程等内容;实验课中独立操作完成实验报告的实验操作、实验结果及结论等内容;所需软件Eclipse、JDK8.0 等。
具体要求:在工程Exp3_KWIC_OO_Part中:1)CircularShiftImpl类中,补全setup方法,实现循环移位功能;2)AlphabetizerImpl类中,补全alph方法,实现字母序排序功能;3)OO_Kwic类中,补全调用代码。
选做:管道过滤器实现KWIC。
在工程Exp3_KWIC_PF_Part项目中:1)在CircularShift、Alphabetizer、Output三个类中,分别实现transform 方法,分别实现循环移位、排序、输出(写入文件)功能。
四、实验操作1、采用主/子程序体系结构风格实现KWIC 关键词索引系统主程序/子程序风格(Main Program/Subroutine Style)将系统组织成层次结构,包括一个主程序和一系列子程序。
主程序是系统的控制器,负责调度各子程序的执行。
广东技术师范学院实验报告学院:计算机科学学院专业:计算机科学与技术(师范)班级:成绩:姓名:孔哥哥学号:组别:组员:实验地点:Win10电脑实验日期:指导教师签名:实验名称:一、实验目的:1、熟练掌握类、对象的的概念以及对事物的抽象。
2、熟练掌握成员、方法的概念以及构造方法的概念。
3、熟练掌握封装性,多态性的概念4、理解面向对象的程序设计方法。
二、实验内容和步骤:(说明代码及运行结果)1.运行下面的程序,理解面向对象的程序设计方法的基本概念。
class value {public int x,y;public value(int a,int b) {x=a; y=b;}}public class Ch31 {public static void main(String args[]) {int total;value num=new value(24,65);total=num.x+num.y;System.out.println("add="+total);}}2、定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”。
定义主类,创建帐户类的对象,并完成相应操作。
2.1新建一个AccountTester的类,以下是代码:public class AccountTester {public static void main(String[] args) {BankAccount anAccount;anAccount=new BankAccount("小明",12121000,1000);System.out.println("账户名字:"+anAccount.getOwnerName());System.out.println("账户号码:"+anAccount.getAccountNumber());System.out.println("账户现有:$"+anAccount.getBalance());System.out.println("存款$500,以后有:"+anAccount.setBalance(500));System.out.println("取款$700,以后有"+anAccount.withdraw(700));}}2.2再建一个BankAccount类,代码如下://定义类方法public class BankAccount {private String ownerName;private int accountNumber;private float balance;//定义构造函数,如果没有接收参数就生成一个空的对象public BankAccount(){this("",0,0);}//定义一个接收账号名字和账号号码和初始金额的构造函数public BankAccount(String initName, int initAccNum, float initBal) {ownerName=initName;accountNumber=initAccNum;balance=initBal;}//获取账号名字public String getOwnerName(){return ownerName;}//获取账号号码public int getAccountNumber(){return accountNumber;}//查询余额public float getBalance(){return balance;}//设置账号名字public void setOwnerName(String newName){ownerName=newName;}//设置账号号码public void setAccountNumber(int newNum){accountNumber=newNum;}//存款public float setBalance(float newBalance){balance+=newBalance;return (balance);}//取款public float withdraw(float newBalance){balance-=newBalance;return (balance);}}运行结果如下:账户名字:小明账户号码:12121000账户现有:$1000.0存款$500,以后有:1500.0取款$700,以后有800.03.先创建一个Point类,然后定义Trianglele类。
在Trianglele类中定义三个Point 的实体来表示一个三角形的三个点,再定义一个方法setTri对这三个点进行初始化,然后定义两个方法求三角形的周长、面积。
在main()中创建一个对象,求给定三点的三角形的周长、面积。
新建一个point类,代码如下:÷public class Point{int x; int y;//定义一个构造函数,接收一个点的X轴和Y轴坐标public Point(int x,int y){this.x=x; this.y=y;}}再建一个Triangle类,代码如下:public class Triangle {//定义三个Point的实体来表示一个三角形的三个点Point n1,n2,n3;//初始化三个点public void setTr(Point n1,Point n2,Point n3){this.n1=n1;this.n2=n2;this.n3=n3;}//计算三角形周长的方法public void getPerimeter(){double sideA=Math.sqrt(Math.pow(n1.x-n2.x,2)+Math.pow(n1.y-n2.y,2));double sideB=Math.sqrt(Math.pow(n1.x-n3.x,2)+Math.pow(n1.y-n3.y,2));double sideC=Math.sqrt(Math.pow(n3.x-n2.x,2)+Math.pow(n3.y-n2.y,2));if(sideA+sideB>sideC&sideB+sideC>sideA&sideA+sideC>sideB){System.out.println("三角形的周长为"+(sideA+sideB+sideC));}else{System.out.println("不能构成三角形");}}//计算三角形的面积public void getArea(){double sideA=Math.sqrt(Math.pow(n1.x-n2.x,2)+Math.pow(n1.y-n2.y,2));double sideB=Math.sqrt(Math.pow(n1.x-n3.x,2)+Math.pow(n1.y-n3.y,2));double sideC=Math.sqrt(Math.pow(n3.x-n2.x,2)+Math.pow(n3.y-n2.y,2));double p=(sideA+sideB+sideC)/2;if(sideA+sideB>sideC&sideB+sideC>sideA&sideA+sideC>sideB){System.out.println("三角形的面积为"+Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)));}else{System.out.println("不能构成三角形");}}}再建一个Test类进行测试,代码如下:public class Test {public static void main(String[] args){Point n1=new Point(9,5);Point n2=new Point(5,9);Point n3=new Point(10,6);Triangle tr=new Triangle();tr.setTr(n1,n2,n3);tr.getPerimeter();tr.getArea();}}代码结果如下:三角形的周长:12.902019706710776三角形的面积: 3.99999999999999964.将上题的方法setTri改用构造方法实现初始化。
代码如下:public class Triangle{//定义三个点,并进行初始化Point n1,n2,n3;public Triangle(Point n1,Point n2,Point n3){this.n1=n1;this.n2=n2;this.n3=n3;}//求三角形周长的方法public void getPerimeter(){double sideA=Math.sqrt(Math.pow(n1.x-n2.x,2)+Math.pow(n1.y-n2.y,2));double sideB=Math.sqrt(Math.pow(n1.x-n3.x,2)+Math.pow(n1.y-n3.y,2));double sideC=Math.sqrt(Math.pow(n3.x-n2.x,2)+Math.pow(n3.y-n2.y,2));if(sideA+sideB>sideC&sideB+sideC>sideA&sideA+sideC>sideB){System.out.println("三角形的周长:"+(sideA+sideB+sideC));}else{System.out.println("不能构成三角形");}}//求三角形面积的方法public void getArea(){double sideA=Math.sqrt(Math.pow(n1.x-n2.x,2)+Math.pow(n1.y-n2.y,2));double sideB=Math.sqrt(Math.pow(n1.x-n3.x,2)+Math.pow(n1.y-n3.y,2));double sideC=Math.sqrt(Math.pow(n3.x-n2.x,2)+Math.pow(n3.y-n2.y,2));double p=(sideA+sideB+sideC)/2;if(sideA+sideB>sideC&sideB+sideC>sideA&sideA+sideC>sideB){System.out.println(" 三角形的面积:"+Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)));}else{System.out.println("不能构成三角形");}}}四、习题1.什么是面向对象的程序设计方法?它有哪些基本特征?面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。