实验8--友元函数与运算符重载函数

实验8--友元函数与运算符重载函数
实验8--友元函数与运算符重载函数

实验十三

1.实验目的

通过本次实验

(1)理解友元函数与运算符重载函数的概念;

(2)学会友元函数的定义与使用方法;

(3)掌握运算符重载函数的定义与使用方法;

2.实验要求

(1)编写实验程序

(2)在VC++运行环境中,输入源程序

(3)编译运行源程序

(4)输入测试数据进行程序测试;

(5)写出运行结果。

3.实验内容

(1)定义一个复数类,重载“-=”运算符,使这个运算符能直接完成复数的“-=”运算。分别用成员函数与友元函数编写运算符重载函数。在主函数中定义复数对象c1(10,20)、c2(15,30),进行c2-=c1的复数运算,并输出c1、c2的复数值。

参考资料:

(1)成员函数

# include

class Complex

{ private:

float Real,Image;

public:

Complex(float r=0,float i=0)

{ Real=r;Image=i;}

void Show(int i)

{ cout<<"c"<

void operator +=(Complex &c)

{ Real=Real+c.Real;

Image=Image+c.Image;

}

};

void main(void)

{ Complex c1(10,20),c2(15,30);

c1.Show(1);

c2.Show(2);

c2+=c1;

c2.Show(2);

}

友元函数

# include

class Complex

{ private:

float Real,Image;

public:

Complex(float r=0,float i=0)

{ Real=r;Image=i;}

void Show(int i)

{ cout<<"c"<

friend void operator +=(Complex &c1,Complex &c2);

};

void operator +=(Complex &c1,Complex &c2)

{ c1.Real=c1.Real+c2.Real;

c1.Image=c1.Image+c2.Image;

}

void main(void)

{ Complex c1(10,20),c2(15,30);

c1.Show(1);

c2.Show(2);

c2+=c1;

c2.Show(2);

}

(2)定义一个数组类Array,其私有数据成员为整型一维数组a[10]。通过构造函数给a[10]赋初值。用Show函数显示a[10]的元素值。用成员函数重载运算符“+”,直接实现两个一维数组对应元素相加的运算。在主函数中定义数组a、b分别为:

int a[10]={1,2,3,4,5,6,7,8,9,10}; int b[10]={4,5,6,7,8,9,10,11,12,13};

用Array定义三个数组对象arr1(a)、arr2(b)、arr3,执行arr3=arr1+arr2运算,输出arr3的数组元素值。

类似地,用友元函数重载运算符“+=”,实现复合赋值运算:arr1+=arr2,并输出arr1的元素值。

(3)定义一个人民币类Money,类中数据成员为元、角、分。用成员函数与友元函数重载“――”运算符,实现人民币对象的减1运算。在主函数中定义人民币对象m1=10元8角5分及对象m2、m3。对m1作前置“――”并赋给m2。对m1作后置“――”并赋给m3。显示m1、m2、m3的结果。

(4)定义描述字符串的类String,编写字符串运算符“+=”的重载函数,使运算符“+=”用于两个字符串联接操作,即用str1+=str2实现字符串函数strcat(str1,str2)的操作功能。要求分别用成员函数与友元函数编写运算符重载函数。在主函数中定义字符串对象s1("software and ")与s2("hardware"),进行s1+=s2的字符串联接,并输出s1、s2的值。

有限元分析实验报告

武汉理工大学 学生实验报告书 实验课程名称机械中的有限单元分析 开课学院机电工程学院 指导老师姓名 学生姓名 学生专业班级机电研 1502班 2015—2016 学年第2学期

实验一方形截面悬臂梁的弯曲的应力与变形分析 钢制方形悬臂梁左端固联在墙壁,另一端悬空。工作时对梁右端施加垂直向下的30KN的载荷与60kN的载荷,分析两种集中力作用下该悬臂梁的应力与应变,其中梁的尺寸为10mmX10mmX100mm的方形梁。 1.1方形截面悬臂梁模型建立 建模环境:DesignModeler 15.0。 定义计算类型:选择为结构分析。 定义材料属性:弹性模量为2.1Gpa,泊松比为0.3。 建立悬臂式连接环模型。 (1)绘制方形截面草图:在DesignModeler中定义XY平面为视图平面,并正视改平面,点击sketching下的矩形图标,在视图中绘制10mmX10mm的矩形。(2)拉伸:沿着Z方向将上一步得到的矩阵拉伸100mm,即可得到梁的三维模型,建模完毕,模型如下图1.1所示。 图1.1 方形截面梁模型 1.2 定义单元类型: 选用6面体20节点186号结构单元。 网格划分:通过选定边界和整体结构,在边界单元划分数量不变的情况下,通过分别改变节点数和载荷大小,对同一结构进行分析,划分网格如下图1.2所示:

图1.2 网格划分 1.21 定义边界条件并求解 本次实验中,讲梁的左端固定,将载荷施加在右端,施以垂直向下的集中力,集中力的大小为30kN观察变形情况,再将力改为50kN,观察变形情况,给出应力应变云图,并分析。 (1)给左端施加固定约束; (2)给悬臂梁右端施加垂直向下的集中力; 1.22定义边界条件如图1.3所示: 图1.3 定义边界条件 1.23 应力分布如下图1.4所示: 定义完边界条件之后进行求解。

实验八 公式、序列及函数的使用

实验八公式、序列及函数的使用 一、实验目的 1.熟练掌握序列填充及公式复制的方法; 2.掌握常用函数的功能及使用方法,并能用它们来解决一些实际问题。 二、实验内容与操作步骤 在Excel环境下完成以下各操作: (一)序列填充及公式的使用 1.在Excel中创建一个空白工作簿 2.利用Excel提供的数据填充功能,在Sheet1工作表中输入以下数据: ⑴在区域A1:A9中从上到下填入:2,4,6,8,10,12,14,16,18 ⑵在区域B1:B9中从上到下填入:1,2,4,8,16,32,64,128,256 ⑶在区域C1:C12中从上到下填入:JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC ⑷在区域D1:D7中从上到下填入:星期日,星期一,星期二,星期三,星期四,星期五,星期六 3.在Sheet2工作表中,利用公式计算二次函数ax2+bx+c的值,其中a=2,b=3,c=5,x从-3到4变化,每隔0.5取一个函数值。操作方法写出如下: 4.把工作簿以E81.XLS为文件名存入D:\EX8中。 (二)函数的使用 在Excel环境下打开D:\EX8\E82.XLS文件,依次完成以下各操作后按E83.XLS为文件名存入D:\EX8中。 1、统计函数的使用 ⑴单击“统计函数”工作表;

⑵在区域F3:G8中用“统计函数”计算出各分店的统计值。 操作方法是:先在F3单元及G3单元输入的计算公式,然后选定区域F3:G3后双击其填充柄。其中F3单元的公式为,G3单元的公式为。 ⑶在区域B9:E12用“统计函数”计算出各季度的统计值。 2、条件函数的使用 ⑴单击“条件函数”工作表。 ⑵计算出各学生的平均分; ⑶给定各学生的成绩等级,规则如下:平均分≥90为“A”,80≤平均分<90为“B,70≤平均分<80为“C”,60≤平均分<70为“D”,平均分<60为“E”。以此规则在区域F3:F62用IF函数确定各学生的等级。 ⑷用FREQUENCY函数在区域I2:I5中统计出平均分0~59,60~79,80~99,100各分数段的学生人数。 3、文本函数的使用 ⑴单击“文本函数”工作表; ⑵在区域A2:F32给出的数据清单中,编号的前3位为系别信息,101为数学系,102为物理系,103为化学系,据此在区域B3:B32用函数求出每位教师的系别。其中B3单元使用的公式为。 ⑶已知身份证号的第7至第10位数为出生年份,据此在区域F3:F32用函数求出每位教师的出生年份。其中F3单元使用的公式为。 4、日期函数的使用 ⑴单击“日期函数”工作表; ⑵在区域A2:F32给出的数据清单中,在区域E3:E32用日期函数求出每位职工的工龄。其中E3单元使用的公式为。 ⑶在区域F3:F32用日期函数求出每位职工的工作天数(即自参加工作以来已经过的总天数。其中F3单元使用的公式为。 5、财务函数的使用 使用 PMT 函数完成以下有关的操作: ⑴单击“财务函数”工作表; ⑵某企业向银行贷款5 万元,准备4年还清,假定当前年利率为 4 % ,在 B5 单元 计算每个月应向银行偿还贷款的数额,根据条件在 B2 : B4 补充所需内容。其中单元格B5 使用的公式为。 ⑶假定当前年利率为 5 %,为使 5 年后得到 10 万元的存款,在 D5 单元计算现在开

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

有限元上机实验报告

有限元上机实验报告结构数值分析与程序设计 上机实验 院系: 土木工程与力学学院专业: 土木工程 班级: 姓名: 学号: 指导教师: 1、调试教材P26-30程序FEM1。 1.1、输入数据文件为: 6,4,12,6,1.0E0,0.0,1.0,0.0,1 3,1,2 5,2,4 3,2,5 6,3,5 0.0,2.0 0.0,1.0 1.0,1.0 0.0,0.0 1.0,0.0 2.0,0.0

1,3,7,8,10,12 1.2、输出数据文件为: NN NE ND NFIX E ANU T GM NTYPE 6 4 12 60.1000E+01 0.000 1.0000.0000E+00 1 NODE X-LOAD Y-LOAD 1 0.000000E+00 -0.100000E+01 2 0.000000E+00 0.000000E+00 3 0.000000E+00 0.000000E+00 4 0.000000E+00 0.000000E+00 5 0.000000E+00 0.000000E+00 6 0.000000E+00 0.000000E+00 NODE X-DISP Y-DISP 1 -0.879121E-15 -0.325275E+01 2 0.879121E-16 -0.125275E+01 3 -0.879121E-01 -0.373626E+00 4 0.117216E-1 5 -0.835165E-15 5 0.175824E+00 -0.293040E-15 6 0.175824E+00 0.263736E-15 ELEMENT X-STR Y-STR XY-STR 1 -0.879121E-01 -0.200000E+01 0.439560E+00 2 0.175824E+00 -0.125275E+01 0.256410E-15 3 -0.879121E-01 -0.373626E+00 0.307692E+00 4 0.000000E+00 -0.373626E+00 -0.131868E+00 2、修改FEM1,计算P31例2-2。

运算符重载练习题.

运算符重载 一.单项选择题 1.下列运算符中,运算符在C++中不能重载。 A.?: B.+ C. D.<= 解:C++中不能被重载的运算符有:·,一,::,?:。本题答案为A。 2.下列运算符中,运算符在C++中不能重载。 A.&& B.[] C.:: D.new 解:c++中不能被重载的运算符有:·,·+,::,?:。本题答案为c。 3.下列关于运算符重载的描述中,是正确的。 A.运算符重载可以改变操作数的个数 B.运算符重载可以改变优先级 C.运算符重载可以改变结合性 D.运算符重载不可以改变语法结构 解:运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算程的语法结构。本题答案为D。 4.友元运算符objl>obj2被C++编译器解释为。 A.operator>(objl,obj2) B.>(obj1,obj2) C.obj2.operator:>(obj1) D.objl.operator>(obj2) 解:重载为友元函数的运算符的调用形式如下: operator<运算符>(<参数1>,<参数2>) 等价于:<参数1><运算符><参数2> 本题答案为A。 5.现需要对list类对象使用的逻辑运算符“==”重载,以下函数声明是正确的。 A、list & list::operator==(const list &a); B、list list::operator==(const list &a); C、bool & list::operator==(const list &a); D、bool list::operator==(const list &a); 6. 以下类中分别说明了“+=”和“++”运算符重载函数的原型。如果主函数中有定义: fun m,c,d;,那么,执行语句c=m++; 时,编译器把m++解释为: (33) A) c.operator++(m); B) m=operator++(m); C) m.operator++(m); D) operator++(m); class fun { public: .. .. .. fun operator +=(fun ); friend fun operator ++(fun &,int); }; 答案:D 7. 在第33题中,当执行语句d+=m; 时,C++编译器对语句作如下解释: (34) A. d=operator+=(m); B. m=operator+=(d); C. d.operator+=(m); D. m.operator+=(d); 答案:C 8. 设有以下类定义,其中说明了“+”运算符重载函数的原型。这是一个友元函数,当类

使用统计学实验报告

*****大学 应用统计学课程实验(上机)报告 专业班级: 学号: 学生姓名: 指导老师: 实验地点: 学期:

实验(上机)日期:第一次 实验(上机)主题:统计软件的运用 实验(上机)类别:验证性 完成方式:独立 实验(上机)目的与要求: 1、掌握启动和退出统计软件 2、掌握数据库的建立 3、搜集一些数据并建立数据库 4、进行统计计算(函数、描述性统计) 5、制作统计图 6、计算各种统计指标 实验(上机)内容及方法(学生填写) 第1步:打开Excel输入需要分析的数据,然后点击公式选项,选择其中需要的函数进行计算分析。 第2步:在A1:A20区域选取从-3到3,间距为0.058的数据序列作为X序列。在B1单元格中输入公式 “=NORMDIST(A1,0,1,FALSE)”,然后将公式复制到B1:B20区域,在B1:B20区域形成相对A1:A20区间点的正态分布概率密度函数序列。 第3步:选取自由度为2,在A1:A20区域填充从0—12的等差数列,步长为0.1.在B1单元格输入公式“=(A1×EXP(-A1/2)

/2)”即可得A1在自由度为2时的卡方分布概率值,然后将B1单元格的公式复制到B1:B20区域,同样选择图标向导和折线图,经过编辑和修饰得到卡方分布概率密度函数图。 实验(上机)过程与结果(学生如实记载上机操作内容、步骤及结果) 本专业男生身高数值(单位:cm): 165、167、168、172、175、173、168、170、180、178、175、181、172、170、169、177、173、168、170、171 1.计算统计指标:在菜单栏中选择工具,然后单击数据分析,再选择描述统计输入数据。 2.点击图表向导,选择折线图第一个样式。

中南大学ANSYS上机实验报告

ANSYS上机实验报告 小组成员:郝梦迪、赵云、刘俊 一、实验目的和要求 本课程上机练习的目的是培养学生利用有限单元法的商业软件进行数值计算分析,重点是了解和熟悉ANSYS的操作界面和步骤,初步掌握利用ANSYS建立有限元模型,学习ANSYS分析实际工程问题的方法,并进行简单点后处理分析,识别和判断有限元分析结果的可靠性和准确性。 二、实验设备和软件 台式计算机,ANSYS10.0软件 三、基本步骤 1)建立实际工程问题的计算模型。实际的工程问题往往很复杂,需要采用适当的模型在计算精度和计算规模之间取得平衡。常用的建模方法包括:利用几何、载荷的对称性简化模型,建立等效模型。 2)选择适当的分析单元,确定材料参数。侧重考虑一下几个方面:是否多物理耦合问题,是否存在大变形,是否需要网格重划分。 3)前处理(Preprocessing)。前处理的主要工作内容如下:建立几何模型(Geometric Modeling),单元划分(Meshing)与网格控制,给定约束(Constraint)和载荷(Load)。在多数有限元软件中,不能指定参数的物理单位。用户在建模时,要确定力、长度、质量及派生量的物理单位。在建立有限元模型时,最好使用统一的物理单位,这样做不容易弄错计算结果的物理单位。建议选用kg,N,m,sec;常采用kg,N,mm,sec。 4)求解(Solution)。选择求解方法,设定相应的计算参数,如计算步长、迭代次数等。 5)后处理(Postprocessing)。后处理的目的在于确定计算模型是否合理、计算结果是否合理、提取计算结果。可视化方法(等值线、等值面、色块图)显

Student类(友元,运算符重载,继承)综合题

//定义Student类,Date类,类定义与成员函数,实现分离。 //将Student类声明为Date的友元类。Student类需要提前声明。 //Student类的成员函数可以访问Date类的私有成员。 //成员函数:构造函数,构造函数重载,析构函数, //输出函数,求成绩最低者函数,排序函数。 //使用new,delete,动态分配内存。实现班级人数不固定,可以从键盘输入。 //定义Doctor类(研究生)-公共继承于Student类 //增加私有成员:string thesis(论文评价),int sci_value(科研分值) //增加相应的成员函数 //增加友元函数-运算符重载<<,>> //增加成员函数--按照科研分值高低排序 //student.h---头函数,类的定义 #include #include using namespace std; class Student; //提前声明 class Date //定义Date类-存放出生年月日 { friend class Student; //友元类,Student成员函数可以访问Date类的私有成员public: Date(); //无参构造函数 Date(int,int,int); //有参构造函数 ~Date(); //析构函数 //protected: //这里是保护成员//这里是VC6.0的原因 int year; //年 int month; //月 int day; //日 }; class Student //定义Student类-存放学生信息 { public: Student(); //无参构造函数 Student(string ,string ,char,Date,int); //有参构造函数 ~Student(); //析构函数 void display(); //输出函数 void input(); //输入函数 void min(Student*,int); //求最低成绩函数 void sort(Student*,int); //按照成绩高低排序函数 //protected: //这里是保护成员//这里是VC6.0的原因string num; //学号 string name; //姓名 char sex; //性别

Python 实验8 函数1

实验8 函数(一)实验目的: 1、理解自定义函数过程的定义与调用方法; 2、掌握自定义函数的定义与调用方法; 3、理解函数中的参数的作用; 实验内容: 1、编写一函数Fabonacci(n),其中参数n代表第n 次的迭代。While循环 def fib(n): if n==1 or n==2: return 1 a=1 b=1 i=2 while True: c=a+b a=b b=c i+=1 #第i次迭代,也就就是第i个数 if i==n: return c break def main(): n=input("Enter a number of generation:") print fib(n) main() 或者用for循环 def fib(n): a=1 b=1 c=0 if n==1 or n==2: return 1 else: for i in range(3,n+1): c=a+b a=b b=c return c def main(): n=input("enter n:") print fib(n) main() 2、编写一函数Prime(n),对于已知正整数n,判断该数就是否为素数,如果就是素数,返回True,否则返回 False。 def prime(n): if n<2: return False a=0 for i in range(1,n+1): if n%i==0: a+=1 if a>2: return False else: return True def main(): n=input("Enter a number:") print prime(n) main() Or: def prime(n): if n<2: return False if n==2: return True for i in range(2,n): if n%i==0: return False return True def main(): n=input("Enter a number:") print prime(n) main()

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

统计学实验报告

实验1:数据整理 一、实验目的 1)掌握Excel中基本的数据处理方法; 2)学会使用Excel进行统计分组,能以此方式独立完成相关作业 二、实验时间及地点 试验时间:2014年9月23日实验地点:计算机房 三、实验内容和操作步骤 (一)问题与数据 某百货公司连续40天的商品销售额如下(单位:万元): 41 25 29 47 38 34 30 38 43 40 46 36 45 37 37 36 45 43 33 44 35 28 46 34 30 37 44 26 38 44 42 36 37 37 49 39 42 32 36 35 根据上面的数据进行适当的分组,编制频数分布表,并绘制直方图。 (二)实验内容:使用FREQUENCY函数绘制频数分布表(图) (三)实验步骤: 1.在A1输入:某百货公司连续40天的商品销售额如下。选中A1:D1选 择合并单元格。 2.在单元区域A2:D11中输入原始数据。 3.并计算原始数据的最大值(在单元格B12中)与最小值(在单元格D12 中)。 4.根据Sturges经验公式计算经验组距(在单元格B13)和(经验数据D13 中)。 5.根据步骤3的计算结果,计算并确定各组上限、下限(在单元区域E2: F7). 步骤1~5如图所示:

6.绘制频数分布表框架,如图所示: 7.计算各组频数: 1)选定i7:i12作为存放计算结果的区域。 2)从“插入”菜单中选择“函数”项。 3)在弹出的“插入函数”对话框中选择“统计”函数FREQUENCY。 步骤(1)~(3)如图所示:

4)单击“插入函数”对话框中的“确定”按钮,弹出 “FREQUENCY”对话框。 5)确定FREQUENCY函数的两个参数的值。其中: Data-array:原始数据或其所在单元格区域(A2:D11) Bins-array:分组各组的上限值或其所在的单元格区域 (F2:F7). 步骤(4)~(5)如图所示: 6)按Shift+Ctrl+Enter组合键,如图所示 7)用公式:频数密度=频数/组距选定G7输入=i7:i12/4按 Shift+Ctrl+Enter组合键 频率=频数/总数 如图所示:

有限元实验报告模板

有限元实验报告 T1013-5 20100130508 蔡孟迪

ANSYS有限元上机报告(一) 班级:T1013-5 学号:20100130508 姓名:蔡孟迪 上机题目: 图示折板上端固定,右侧受力F=1000N,该力均匀分布在边缘各节点上;板厚t=2mm 材料选用低碳钢,弹性模量E=210Gpa,μ=0.33. 一、有限元分析的目的: 1.利用ANSYS构造实体模型; 2.根据结构的特点及所受载荷的情况,确定所用单元类型;正确剖分网格并施加外界条件;3.绘制结构的应力和变形图,给出最大应力和变形的位置及大小;并确定折板角点A处的应力和位移; 4.研究网格密度对A处角点应力的影响; 5.若在A处可用过渡圆角,研究A处圆角半径对A处角点应力的影响。 二、有限元模型的特点: 1.结构类型 本结构属于平面应力类型 2.单位制选择 本作业选择N(牛),mm(毫米),MPa(兆帕)。 3.建模方法 采用自左向右的实体建模方法。 4.定义单元属性及类型 1)材料属性:弹性模量:EX=2.10E5MPa, 泊松比:PRXY=0.33 2)单元类型:在Preferences选Structural,Preprocessor>ElemmentType>Add/Edit/Delete中定义单元类型为:Quad4 node 182,K3设置为:平面薄板问题(Plane strs w/thk) 3)实常数:薄板的厚度THK=2mm 5.划分网格 在MeshTool下选set,然后设置SIZE Element edge length的值,再用Mesh进行网格划分。6.加载和约束过程:在薄板的最上端施加X、Y方向的固定铰链,在薄板的最右端施加1000N 的均匀布置的载荷。

实验8--友元函数与运算符重载函数

实验十三 1.实验目的 通过本次实验 (1)理解友元函数与运算符重载函数的概念; (2)学会友元函数的定义与使用方法; (3)掌握运算符重载函数的定义与使用方法; 2.实验要求 (1)编写实验程序 (2)在VC++运行环境中,输入源程序 (3)编译运行源程序 (4)输入测试数据进行程序测试; (5)写出运行结果。 3.实验内容 (1)定义一个复数类,重载“-=”运算符,使这个运算符能直接完成复数的“-=”运算。分别用成员函数与友元函数编写运算符重载函数。在主函数中定义复数对象c1(10,20)、c2(15,30),进行c2-=c1的复数运算,并输出c1、c2的复数值。 参考资料: (1)成员函数 # include class Complex { private: float Real,Image; public: Complex(float r=0,float i=0) { Real=r;Image=i;} void Show(int i) { cout<<"c"< class Complex { private: float Real,Image; public: Complex(float r=0,float i=0) { Real=r;Image=i;} void Show(int i) { cout<<"c"<

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

统计学实验报告【最新】

统计学实验报告 一、实验主题:大学生专业与实习工作的关系 二、实验背景: 二十一世纪的今天大学生已是一个普遍的社会群体,高校毕业人数日益增加,社会、企业所提供的职位日益紧张,大学生就业问题是当今社会关注的焦点。面对日益沉重的就业压力,越来越多的大学毕业生选择了企业需求的职业,而这种职业与自己在校所学专业根本“无关”或相去甚远,大学毕业生就业专业不对口的现象非常严重。专业对口是个广义的概念,就是说你所学的专业与你所作的工作相关,比如你专业是会计,工作后你到了一个企业做会计,或者到银行做柜员,这都是与经济相关的,这就是对口。如果你学机械设计,但工作后却做了统计员,业务员等于你所学专业无关的工作,这就叫专业不对口。专业不对口导致毕业生所学知识没有用武之地,所以这是一种人力资源的浪费。 三、实验目的: 大学生就业专业不对口是客观存在的问题,我们研究此问题有这几点目的:①了解当代大学生实习工作与专业是否对口的情况,当代大学生对工作与专业不对口现象的态度。②分析大学生就业结构和

专业对口问题,了解当今大学生专业对口情况,为以后大学生选择专业、选择工作岗位提供有效的信息和借鉴。③寻找导致专业不对口的原因,以减少社会普遍存在的人力资源的浪费。 四、实验要求:就相关问题收集一定数量的数据,用EXCEL进行如下 分析:1进行数据筛选、排序、分组;2、制作饼图并进行简要解释;3、制作频数分布图,直方图等并进行简要解释。 五、实验设备及材料:计算机,手机,EXCEL软件,WORD软件。 六、实验过程: (一)制作并发放调查问卷。 (二)收回并统计原始数据:收回了102名大学生填写的调查问卷,并对相关数据进行统计。 (三)筛选与实验相关问题: 1.您的性别( ): A. 男B.女

有限元实验报告

一、实验目的 通过上机对有限元法的基本原理和方法有一个更加直观、深入的理解;通过对本实验所用软件平台Ansys 的初步涉及,为将来在设计和研究中利用该类大型通用CAD/CAE 软件进行工程分析奠定初步基础。 二、实验设备 机械工程软件工具包Ansys 三、实验内容及要求 1) 简支梁如图3.1.1所示,截面为矩形,高度h=200mm ,长度L=1000mm ,厚 度t=10mm 。上边承受均布载荷,集度q=1N/mm2,材料的E=206GPa ,μ=0.29。平面应力模型。 X 方向正应力的弹性力学理论解如下: 图3.1.1 ①在Ansys 软件中用有限元法探索整个梁上x σ,y σ的分布规律。 ②计算下边中点正应力x σ的最大值;对单元网格逐步加密,把x σ的计算值与理论解对比,考察有限元解的收敛性。 ③针对上述力学模型,对比三节点三角形平面单元和4节点四边形平面等参元的求解精度。 2) 一个正方形板,边长L = 1000mm ,中心有一小孔,半径R = 100mm ,左右边 受均布拉伸载荷,面力集度q = 25MPa ,如图 3.2.1所示。材料是 206E GPa =,0.3μ=,为平面应力模型。当边长L 为无限大时,x = 0截面上理论解为: ) 534()4 (6222 23-+-=h y h y q y x L h q x σ

)32(2|44 220r R r R q x x ++==σ 其中R 为圆孔半径,r 为截面上一点距圆心的距离。x = 0截面上孔边(R r =)应力q x 3=σ。所以理论应力集中系数为3.0。 图3.2.1 用四边形单元分析x = 0截面上应力的分布规律和最大值,计算孔边应力集中系数,并与理论解对比。利用对称性条件,取板的四分之一进行有限元建模。 3) 如图3.3.1所示,一个外径为0.5m ,内径为0.2m ,高度为0.4m 的圆筒,圆 筒的外壁施加100MPa 的压强,圆筒的内部约束全部的自由度,材料参数是密度。 使用平面单元,依照轴对称的原理建模分析。 q

实验八 函数含答案

实验八函数 【目的与要求】 1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。 2.了解主调函数和被调函数之间的参数传递方式。 【上机内容】 【一般示例】 【例1】将打印18个"*"组成星形线定义为一个返回值和形参列表都为空的函数,通过主函数调用它。 #include void Star(void) //画星形线。函数没有返回值,形参列表也为空 { int i; for(i=1;i<=18;i++) printf("*"); //18个"*"组成星形线 printf("\n"); return ; //返回值类型为void,return后不带表达式,此句可省略 } int main() { Star( ); //单独的函数调用语句,实参表为空,但必须保留括号 printf("I love C language!\n"); Star( ); return 0; } 【例2】调用prime 函数以每行5个素数的格式输出100到200之间的所有素数。

#include #include int prime(int m) //判断素数函数定义 { int i,k,f=1 ; //函数内定义3个变量 if (m==1) //形参若为1 f=0 ; //形参若为1,非素数 k=(int)sqrt(m); for (i=2; i<=k;i++) if (m%i==0) //m被某除数整除 f=0 ; //则不是素数 return f ; //用return语句返回 } //函数体结束 int main( ) { int i,count=0; for (i=101;i<200;i=i+2) //用i作为循环控制变量,从101开始,步长为2 if (prime(i)) //对每一个i,调用prime函数判断它是否为素数 { printf("%5d",i); //如果是素数,输出该素数i count++ ; //素数个数加1 if (count%5==0 ) //每输出5个素数换一行 printf("\n"); }

c语言上机实验报告 (2)

c语言上机实验报告 (2) 实验六 姓名班级单周上机的那班学号 一 程序源:#include #include void main() { FILE*fp; fp=fopen("E:\\yxf01.text","w"); if(fp==NULL) { printf("文件打不开"); exit(0); } int a,i; printf("请输入一个尾部为0的整数\n"); scanf("%d",&a); while(a%10!=0) { printf("输入值非法,请从新输入!\n"); scanf("%d",&a); }

fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/1 0,a/10,a/10,a/ 10,a/10,a/10,a/10); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a /10,a/10,a/10,a/ 10,a-8*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10 ,a/10,a/10,a-7*(a /10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a/ 10,a-6*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a- 5*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a-4*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d\n",a,a/10,a/10,a/10,a-3*(a/10)); fprintf(fp,"%d=%d+%d+%d\n",a,a/10,a/10,a-2*(a/10)); fprintf(fp,"%d=%d+%d\n",a,a/10,a-(a/10)); fclose(fp) } 运行结果:

VC6.0中重载操作符友元函数无法访问类的私有成员的解决办法

VC6.0中重载操作符友元函数无法访问类的私有成员的解决办法 VC6.0中重载操作符友元函数无法访问类的私有成员的解决办法: 在C++中,操作符(运算符)可以被重载以改写其实际操作。 同时我们可以定义一个函数为类的友元函数(friend function)以便使得这个函数能够访问类的私有成员,这个定义通常在头文件中完成。 在Visual C++中定义一般的函数为友元函数通常是没有问题的。然而对某些重载操作符的函数,即使我们将它们定义为类的友元函数,VC的编译器仍然会显示出错信息,认为这些友元函数无权访问类的私有成员。我认为这应该是VC6.0编译器与标准C++不兼容的地方。 以下代码就是个例子: // 头文件“Sample.h” #include using namespace std; class Sample{ public: Sample( ); friend ostream &operator<<(ostream &out, const Sample s); friend istream &operator>>(istream &in, Sample & s); private: int x; }; // 实现文件“Sample.cpp” #include “Sample.h” Sample::Sample( ) { x=0; } istream &operator>>(istream &in, Sample & s) { cout<<”Please enter a value”<> s.x ; return in; } ostream &operator<<(ostream &out, const Sample s) { cout << s.x << endl; return out; } 以上代码在gnuc++中编译运行毫无问题。但是在VC++6.0中编译的时候就会出现以下的编

ansys实验报告

有限元上机实验报告 姓名柏小娜 学号0901510401

实验一 一 已知条件 简支梁如图所示,截面为矩形,高度h=200mm ,长度L=1000mm ,厚度t=10mm 。上边承受均布载荷,集度q=1N/mm 2,材料的E=206GPa ,μ=0.29。平面应力模型。 X 方向正应力的弹性力学理论解如下: )534()4 (6222 23-+-=h y h y q y x L h q x σ 二 实验目的和要求 (1)在Ansys 软件中用有限元法探索整个梁上x σ,y σ的分布规律。 (2)计算下边中点正应力x σ的最大值;对单元网格逐步加密,把x σ的计算值与理论解对比,考察有限元解的收敛性。 (3)针对上述力学模型,对比三节点三角形平面单元和4节点四边形平面等参元的求解精度。 三 实验过程概述 (1) 定义文件名 (2) 根据要求建立模型:建立长度为1m ,外径为0.2m ,平行四边行区域 (3) 设置单元类型、属性及厚度,选择材料属性: (4) 离散几何模型,进行网格划分 (5) 施加位移约束 (6) 施加载荷 (7) 提交计算求解及后处理 (8) 分析结果 四 实验内容分析 (1)根据计算得到应力云图,分析本简支梁模型应力分布情况和规律。主要考察x σ和y σ,并分析有限元解与理论解的差异。 由图1看出沿X 方向的应力呈带状分布,大小由中间向上下底面递增,上下底面应力方向相反。由图2看出应力大小是由两侧向中间递增的,得到X 方向

上最大应力就在下部中点,为0.1868 MPa 。根据理论公式求的的最大应力值为0.1895MPa 。由结果可知,有限元解与理论值非常接近。由图3看出Y 的方向应力基本相等,应力主要分布在两侧节点处。 图 1 以矩形单元为有限元模型时计算得出的X 方向应力云图 图 2 以矩形单元为有限元模型时计算得出的底线上各点x 方向应力图 (2)对照理论解,对最大应力点的x σ应力收敛过程进行分析。列出各次计算 应力及其误差的表格,绘制误差-计算次数曲线,并进行分析说明。 答:在下边中点位置最大应力理论值为: MPa h y h y q y x L h q x 1895.0)5 34()4(622223=-+-=σ

相关文档
最新文档