实验作业题解

实验作业题解
实验作业题解

实验一

1.调试C++程序需要几个步骤?每个步骤生成的文件的扩展名是什么?

调试C++程序包括编辑、编译、连接、运行这四个步骤。其中编辑得到的是.cpp 源文件,编译得到的是.obj的目标文件,连接得到可执行的运行文件.exe。

2.C++项目的组织管理形式?

答:C++的一个工作空间下可以有几个项目,只有一个项目是激活的。每个项目下有若干文件。

在VC++中通过采用文件夹方式来管理所有文件。C++将工作空间名作为文件夹名,.dsw文件是工作空间管理文件;在工作空间文件夹下,有若干项目子文件夹,是以项目名作为文件夹名;在项目文件夹下包含项目文件(.dsp) 、若干源代码文件(.cpp,.h)、及相应的调试(debug)、发行(release)、资源(res)等子文件夹。

每个源文件下包含若干个函数和类,一个项目下有且只有一个main函数。

实验二

1、根据文件的数据的组织形式,文件可分为哪两类?其扩展名为?写出文件操作的一般步骤及关键代码。

答:根据文件的数据的组织形式,文件可分为文本文件和二进制文件,文本文件的扩展名为.txt,二进制文件的扩展名为.dat;

文件操作的一般步骤包括:

①打开文件

文件的打开包括建立文件流对象、与外部文件关联及指定打开方式等步骤。

示例代码:fstream myfile;

myfile.open(“test.txt”,ios::out);

②读写文件

?文本文件读写

有两种方法:

一是用标准流运算符(>>和<<)

二是用文件流的put( )、get( )、getline( )、read( )、write( )等成员函数,来实现输入输出操作

?二进制文件的读写

对二进制文件的读写操作,主要用stream类的成员函数read和write来实现。函数的原型为:

istream::read(char *buffer, int len);

ostream::write(const char *buffer, int len);

③关闭文件

文件流对象.close( );

2、求下列分数序列的前15项之和。

2/1,3/2,5/3,8/5,13/8,21/13,…

并将结果写入文件。

提示:分析给定数列的通项公式,再将其前15项求和。假定,通项分子为a,分母b,前一项为a/b,下一项为(a+b)/a。

写出求和公式为sum+=a/b;下一项的a和b值分别为:t=a;a+=b; b=t:循环相加15次。

/*-------------------------------------------------------*/

#include

#include

void wwjt(double);

void main()

{

/**********Program**********/

double a,b,t,sum;

a=2;

b=1;

sum=a/b;

for(int i=2;i<=15;i++)

{

t=a;

a+=b;

b=t;

sum+=a/b;

}

cout<<"此数列的前15项之和为:"<

/**********End*************/

wwjt(sum);

}

void wwjt(double a)

{

fstream myfile;

myfile.open("out.txt",ios::out);

myfile<

myfile.close();

}

实验三

1、已知某个学习小组三门课程的成绩如下:

英语高等数学C++程序设计

学生1 85 90 80

学生2 75 70 75

学生3 65 85 78

使用二维数组存放学习小组的三门成绩,计算每个学生的平均成绩和该小组每门课程的平均成绩。

/*-------------------------------------------------------*/

#include

#include

using namespace std;

void main()

{

int score[3][3]={85,90,80,75,70,75,65,85,78};

string name[3]={"英语","高数","C++"};

double aver_1[3],aver_2[3],sum;

int i,j;

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

{

sum=0;

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

sum+=score[i][j];

aver_1[i]=sum/3;

cout<<"第"<

}

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

{

sum=0;

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

sum+=score[i][j];

aver_2[j]=sum/3;

cout<

}

}

2、编写程序,用冒泡法对10个数排序(按从小到大的顺序)

/*-------------------------------------------------------*/

#include

void main()

{

int a[10]={2,1,3,6,9,8,4,5,9,45};

void bubble(int b[],int);

bubble(a,10);

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

cout<

}

void bubble(int b[],int n)

{

for(int i=0;i

for(int j=i+1;j

{

if(b[i]>b[j])

{int t=b[i];b[i]=b[j];b[j]=t;}

}

}

实验四

1、编写程序:将"C Language"赋值数组a,然后输出如下图形:

C Language

Language

nguage

uage

ge

//============

#include

using namespace std;

void main()

{

char a[]="C Language";

for(char *p=a; *p!='\0';p++,p++)

cout<

}

2、从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b

(b[]=“ab”)。试编程。

//===========用字符数组实现

#include

#include

using namespace std;

void main()

{

char a[20];

cout<<"等待输入字符串";

cin>>a;

char b[10]="ab";

int lenb=strlen(b);

//找到字符串中最大元素的位置

char max=a[0];

int index=0;

int lena=strlen(a);

for(int i=0;i

{if (a[i]>max)

{max=a[i];index=i;}

}

//将最大元素后的元素往后移

for(i=lena;i>index;i--)

a[i+lenb]=a[i];

//将b插入到最大元素的后面

for(i=index+1;i

a[i]=b[i-index-1];

cout<<"插入字符后的字符串为:"<

//========用string类实现

#include

#include

using namespace std;

void main()

{

string a;

string str1="",str2="";

cout<<"等待输入字符串";

cin>>a;

string b="ab";

int lenb=b.size();

//找到字符串中最大元素的位置

char max=a[0];

int index=0;

int lena=a.size();

for(int i=0;i

{if (a[i]>max)

{max=a[i];index=i;}

}

//提取最大元素前面的字符串

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

str1+=a[i];

//提取最大元素后面的字符串

for(i=index+1;i

str2+=a[i];

//合并三个字符串

a=str1+b+str2;

cout<<"插入字符后的字符串为:"<

}

实验五

上机指导实验3(P156)的实验内容第(1)、(2)、(3)题。

1、实验内容第一题,要求:

?将数据成员改成私有成员;

?将输入和输出的功能改为由成员函数实现;

?在类体内定义成员函数;

#include

using namespace std;

class Time

{

private:

int hour;

int minute;

int sec;

public:

void set()

{

cin>>hour;

cin>>minute;

cin>>sec;

}

void display()

{

cout<

}

};

void main()

{

Time t1;

t1.set();

t1.display();

}

2、此项目有三个文件:

//========student.h

#include

class Student

{

public:

void display();

void set_value();

private:

int num;

char name[20];

char sex;

};

//===========student.cpp

#include "student.h"

void Student::display()

{

cout<<"num:"<

cout<<"name:"<

cout<<"sex:"<

}

void Student::set_value()

{

cin>>num;

cin>>name;

cin>>sex;

}

//=========main.cpp

#include "student.h"

void main()

{

Student stud;

stud.set_value();

stud.display();

}

3、需要求3个长方体的体积,请编一个基于对象的程序,数据成员包括

length、width、height,要求用成员函数实现以下功能:

?由键盘分别输入3个长方体的长宽高;

?计算长方体的体积;

?输出3个长方体的体积

#include

using namespace std;

class Cub

{

private:

double length;

double width;

double heigth;

public:

void set()

{

cin>>length;

cin>>width;

cin>>heigth;

}

double volume()

{

return length*width*heigth;

}

void display()

{

cout<<"体积为"<

}

};

void main()

{

Cub v[3]; //在此使用对象数组

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

{

cout<<"请输入第"<

v[i].set();

cout<<"第"<

v[i].display();

}

}

数值分析列主元消去法的实验报告

实验一 列主元消去法 【实验内容】 1.掌握列主元消去法的基本思路和迭代步骤 2.并能够利用列主元的高斯消去法解任意阶数的线性方程组; 3、从课后题中选一题进行验证,得出正确结果,交回实验报告与计算结果。 【实验方法与步骤】 1.列主元消去法基本思路 设有线性方程组Ax b =,设A 是可逆矩阵。列主元消去法的基本思想就是通过列主元的选取将初等行变换作用于方程组的增广矩阵[]|B A b =,将其中的A 变换成一个上三角矩阵,然后求解这个三角形方程组。 2.列主元高斯消去法算法描述 将方程组用增广矩阵[]()(1)|ij n n B A b a ?+==表示。 步骤1:消元过程,对1,2,,1k n =-L (1) 选主元,找{},1,,k i k k n ∈+L 使得 ,max k i k ik k i n a a ≤≤= (2) 如果,0k i k a =,则矩阵A 奇异,程序结束;否则执行(3); (3) 如果k i k ≠,则交换第k 行与第k i 行对应元素位置,k kj i j a a ?, ,,1j k n =+L ; (4) 消元,对,,i k n =L ,计算/,ik ik kk l a a =对1,,1j k n =++L ,计算 .ij ij ik kj a a l a =- 步骤 2:回代过程: (1) 若0,nn a =则矩阵奇异,程序结束;否则执行(2); (2) ,1/;n n n nn x a a +=对1,,2,1i n =-L ,计算 ,11/n i i n ij j ii j i x a a x a +=+??=- ??? ∑

[实验程序] #include #include #include #include #define NUMBER 20 #define Esc 0x1b #define Enter 0x0d using namespace std; float A[NUMBER][NUMBER+1] ,ark; int flag,n; void exchange(int r,int k); float max(int k); void message(); void main() { float x[NUMBER]; int r,k,i,j; char celect; void clrscr(); printf("\n\nUse Gauss."); printf("\n\n1.Jie please press Enter."); printf("\n\n2.Exit press Esc."); celect=getch(); if(celect==Esc) exit(0); printf("\n\n input n="); scanf("%d",&n); printf(" \n\nInput matrix A and B:"); for(i=1;i<=n;i++) { printf("\n\nInput a%d1--a%d%d and b%d:",i,i,n,i); for(j=1;j<=n+1;j++) scanf("%f",&A[i][j]); } for(k=1;k<=n-1;k++) { ark=max(k); if(ark==0) { printf("\n\nIt’s wrong!");message();

VC++实验报告书

一、设计方案及功能描述 图像平滑往往使图像中的边界、轮廓变的模糊,为了减少这类不利效果的影响,这就需要利用图像鋭化技术,使图像的边缘变的清晰。图像銳化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。 对图像f(x,y),在点(x,y)处的梯是一个矢量 G=[f(x,y)]=[?f ?x ,?f ?y ] 梯度的方向在函数f(x,y)最大变化率的方向上,梯度的幅度G M[ f(x,y)]可由下式给出: G M[ f(x,y)]=(?f ?x )2+(?f ?y )2 由上式可知,梯度的数值是f(x,y)在其最大变化率的方向上的单位距离所增加的量。 对数字图像,微分?f ?x 和?f ?y 可用差分近似。差分运算近似后的梯度表达式为 G M[ f(x,y)]=f x,y?f(x+1,y)2+f x,y?f(x,y+1)2 对于图像f(x,y),上式的计算量很大,因此在实际计算中常用绝对值代替平方和平方根运算,梯度模值近似为 运用双方向一次微分运算,算出梯度后用梯度值替代该点的灰度值。在图像的最后一行或最后一列无法计算像素梯度时,一般用前一行或前一列的梯度值近似代替。 为了在不破坏图像背景的前提下更好地增强边缘,也可以对上述直接用梯度值代替灰度值的方法进行改进,即利用门限判断梯度锐化方法。具体公式如下: G M[ f(x,y)]= G M f x,y+100, G M[ f(x,y)]≥T f x,y,其他 对于图像而言,物体与物体之间,背景和背景之间的梯度变化一般很小,灰度变化较大的地方一般集中在图像的边缘上,也就是物体和背景交界的地方,当设定一个合适的阈值T,G M[ f(x,y)]大于等于T就认为该像素点处于图像的边缘,对梯度值加上100,以使边缘变亮,而对于G M[ f(x,y)]小于T就认为像素点是同类像素点。这样就增加了物体的边界,又同时保留了图像的背景的原来的状态。

实验作业题解

实验一 1.调试C++程序需要几个步骤?每个步骤生成的文件的扩展名是什么? 调试C++程序包括编辑、编译、连接、运行这四个步骤。其中编辑得到的是.cpp 源文件,编译得到的是.obj的目标文件,连接得到可执行的运行文件.exe。 2.C++项目的组织管理形式? 答:C++的一个工作空间下可以有几个项目,只有一个项目是激活的。每个项目下有若干文件。 在VC++中通过采用文件夹方式来管理所有文件。C++将工作空间名作为文件夹名,.dsw文件是工作空间管理文件;在工作空间文件夹下,有若干项目子文件夹,是以项目名作为文件夹名;在项目文件夹下包含项目文件(.dsp) 、若干源代码文件(.cpp,.h)、及相应的调试(debug)、发行(release)、资源(res)等子文件夹。 每个源文件下包含若干个函数和类,一个项目下有且只有一个main函数。 实验二 1、根据文件的数据的组织形式,文件可分为哪两类?其扩展名为?写出文件操作的一般步骤及关键代码。 答:根据文件的数据的组织形式,文件可分为文本文件和二进制文件,文本文件的扩展名为.txt,二进制文件的扩展名为.dat; 文件操作的一般步骤包括: ①打开文件 文件的打开包括建立文件流对象、与外部文件关联及指定打开方式等步骤。 示例代码:fstream myfile; myfile.open(“test.txt”,ios::out); ②读写文件

?文本文件读写 有两种方法: 一是用标准流运算符(>>和<<) 二是用文件流的put( )、get( )、getline( )、read( )、write( )等成员函数,来实现输入输出操作 ?二进制文件的读写 对二进制文件的读写操作,主要用stream类的成员函数read和write来实现。函数的原型为: istream::read(char *buffer, int len); ostream::write(const char *buffer, int len); ③关闭文件 文件流对象.close( ); 2、求下列分数序列的前15项之和。 2/1,3/2,5/3,8/5,13/8,21/13,… 并将结果写入文件。 提示:分析给定数列的通项公式,再将其前15项求和。假定,通项分子为a,分母b,前一项为a/b,下一项为(a+b)/a。 写出求和公式为sum+=a/b;下一项的a和b值分别为:t=a;a+=b; b=t:循环相加15次。 /*-------------------------------------------------------*/ #include #include void wwjt(double); void main() { /**********Program**********/ double a,b,t,sum; a=2; b=1; sum=a/b; for(int i=2;i<=15;i++) { t=a; a+=b; b=t; sum+=a/b; } cout<<"此数列的前15项之和为:"<

Gauss列主元消去法

贵州师范大学数学与计算机科学学院学生实验报告 课程名称:数值分析班级:数本(一)班实验日期:年月日 学号: 0098(81)姓名:吴胜指导教师:杨一都 实验成绩:一、实验名称 实验五:线性方程组的数值解法 二、实验目的及要求 1. 让学生掌握用列主元gauss消去法、超松弛迭代法求解线性方程组. 2. 培养Matlab编程与上机调试能力. 三、实验环境 每人一台计算机,要求安装Windows XP操作系统,Microsoft office2003、(或. 四、实验内容 1. 编制逐次超松弛迭代(SOR迭代)函数(子程序),并用于求解方程组

???????=-++=+-+=++-=+++-1 4141414432143214 3214321x x x x x x x x x x x x x x x x 取初始向量T x )1,1,1,1()0(=,迭代控制条件为 5)1()(102 1 ||||--?≤-k k x x 请绘制出迭代次数与松弛因子关系的函数曲线,给出最佳松弛因子.SOR 迭代的收敛速度是否一定比Gauss-Seidel 迭代快 2. 编制列主元 Gauss 消去法函数(子程序),并用于解 ??? ??=++-=-+-=+-6 15318153312321 321321x x x x x x x x x 要求输出方程组的解和消元后的增广矩阵. 注:题2必须写实验报告 五、算法描述及实验步骤 Gauss 消去法: 功能 解方程组b Ax = . 输入 n ,n n ij a A ?=)(,T n b b b b ),,,(21 =. 输出 方程组的解T n x x x x ),,,(21 =或失败信息. 步1 对1,,2,1-=n k 执行步2→步4 . 步2 调选列主元模块 .

VC++实验报告1

实验一、HelloWorld在VC上的实现 姓名:郭殷蓉学号:E10700102 班级:10数媒1班 1.1实验目的 ●掌握Windows程序基本的运行原理。 ●学会编写简单的Windows程序。 1.2实验平台 ●Windows XP professional操作系统。 ●VC6.0集成开发环境。 1.3实验内容 ●用Windows API(SDK)实现图形化HellowWorld程序。 ●用MFC类库实现图形化HellowWorld程序。 1.4实验原理 ●Windows操作介绍 Windows是一种基于图形界面的多任务操作系统。对于普通用户来说,Windows图形化界面友好、操作简单,用户不需要花费长时间学习如何使用计算机和新程序,因为所有的Windows应用程序都具相近的外观和感觉;对于程序员来说,标准化的图形用户界面来自于Windows构造菜单和对话框的内置程序,这些工作由Windows处理,与应用程序无关,使程序员可以编写出易于用户操作的程序。 ●Windows编程模型 Windows程序采用如下图所示的事件驱动编程模型,应用程序通过处理操作系统发送出来的消息来响应事件。消息处理是所有Windows应用程序的的核心。Windows程序的进入点是WinMain函数,但大多时候操作是在成为窗口过程的函数中进行的。窗口过程函数处理发送给窗口的消息。WinMain创建该窗口并进入消息循环,即获取消息或将其调度给窗口过程。消息被检索之前处于消息队列中等待。 Windows定义了成百上千个不同的消息类型。大多数消息的开始字符为“WM”并带有下划线; 操作系统是通过消息机制(Message)来实现将事件传递给应用程序的。操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序(详见MSDN)。 操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应 用程序编程的接口(Application Programming Interface),简称Windows API(C函数)。

Guass列主元消去法及其应用

一、实验目的与要求 了解Guass列主元消去法及其应用,掌握利用Guass列主元消去法解方程,解决实际问题 二、模型求解 0.x+0.4y+0.3z+60000=x 0.3x+0.1y+0.2z+30000=y 0.2x+0.1y+0.2z+50000=z 三、源代码: #include #include #include #define N 20 #define EPS 1.0e-4 double a[N][N],b[N],c[N][N],d[N][N];

void swap(double &a,double &b)//换行 { double temp; temp=a; a=b; a=temp; } void gauss(double a[][N],double b[N],int n)//gauss求解 { int i,j,k,l; double temp,m; for(k=0;k<=n-2;k++) { temp=fabs(a[k][k]); //选主元 l=k; for(i=k+1;itemp))//fabs为取绝对值函数。包含在头文件math.h中 {

temp=fabs(a[i][k]); l=i; } } if(fabs(a[l][k])

c++大作业学生实验报告

学生实验报告 实验课名称: C++程序设计 实验项目名称:综合大作业——学生成绩管理系统专业名称:电子信息工程 班级: 学号: 学生: 同组成员: 教师:

2011 年 6 月 23 日 题目:学生成绩管理系统 一、实验目的: (1)对C++语法、基础知识进行综合的复习。 (2)对C++语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力,增强学生的自信心,提高学生学习专业课程的兴趣。 (3)熟悉掌握C++的语法和面向对象程序设计方法。 (4)培养学生的逻辑思维能力,编程能力和程序调试能力以及工程项目分析和管理能力。 二、设计任务与要求: (1)只能使用/C++语言,源程序要有适当的注释,使程序容易阅读。 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好)。 (3)要求划分功能模块,各个功能分别使用函数来完成。 三、系统需求分析: 1.需求分析: 为了解决学生成绩管理过程中的一些简单问题,方便对学生成绩的管理 (录入,输出,查找,增加,删除,修改。) 系统功能分析: (1):学生成绩的基本信息:学号、、性别、C++成绩、数学成绩、英语成绩、 总分。 (2):具有录入信息、输出信息、查找信息、增加信息、删除信息、修改信息、 排序等功能。 2.系统功能模块(要求介绍各功能) (1)录入信息(Input):录入学生的信息。 (2)输出信息(Print):输出新录入的学生信息。 (3)查找信息(Find):查找已录入的学生信息。 (4)增加信息(Add):增加学生信息。 (5)删除信息(Remove):在查找到所要删除的学生成绩信息后进行删除并输出删除后其余信息。 (6)修改信息(Modify):在查到所要修改的学生信息后重新输入新的学生信息从而进行修改,然后输出修改后的所有信息。 (7)排序(Sort):按照学生学号进行排序。 3.模块功能框架图

如何写vc实验报告

如何写vc实验报告 篇一:VC++实验报告(2) VC++实验报告 班号:0904101 学号:090410123 姓名:仲维祎 实验一VC++开发环境的熟悉和C++基础知识实验 一、实验目的 1. 掌握C++语言的特点。 2. 掌握C++的各种数据类型及基本运算。 3. 掌握C++各种控制结构及使用技巧。 4. 掌握C++的函数、数组、指针的相关概念和使用方法。 5. 灵活运用C++相关基础知识进行综合程序设计。 6. 回顾面向过程程序设计方法。

7. 熟悉Visual C++的开发环境 8.掌握用应用程序向导创建一个控制台应用项目的方法。 9.掌握源代码文件的新建、打开、保存和关闭等基本操作。 10.掌握Visual C++项目的编译、连接和执行。 11.掌握代码简单语法错误修正和调试的一般过程。 二、实验知识点概念 注意C++中同C的不同之处,包括数据类型,输入输出等相关的差异。 三、实验题目 1. 采用插入排序法,输入10个整数按升序排序后输出。要求编写一个通用的插入排序函数,它带有三个参数,第一个参数是含有n个元素的数组,这n个元素已按升序排序;第二个参数给出当前数组中元素个数;第三个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数,要求每一行输出5个元素。 2. 有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩,数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数实现。

3. 对程序加入断点简单调试。 四、程序思路 五、程序源代码 1:代码如下 #include using namespace std; void (char iArray,int nCount,int nNumber) { int i=nCount-1,j=0; char *iArray2; iArray2=iArray; *(iArray2+nCount)=nNumber;//多分配一个空间给传入数据for(i;i=0;i--) { if(nCount==1) *iArray=nNumber; if (*(iArray2+i)*(iArray+i+1))

济南大学大学物理大作业完整答案

济南大学 大学物理大作业答案完整版

第1章 质点运动学 §1.3 用直角坐标表示位移、速度和加速度 一.选择题和填空题 1. (B) 2. (B) 3. 8 m 10 m 4. ()[] t t A t ωβωωωββsin 2cos e 22 +-- ()ωπ/122 1 +n (n = 0, 1, 2,…) 5. h 1v /(h 1-h 2) 二.计算题 1解: (1) 5.0/-==??t x v m/s (2) v = d x /d t = 9t - 6t 2 v (2) =-6 m/s (3) S = |x (1.5)-x (1)| + |x (2)-x (1.5)| = 2.25 m 2解: =a d v /d t 4=t , d v 4=t d t ? ?=v v 0 0d 4d t t t v=2t 2 v=dx/dt=2t 2 t t x t x x d 2d 0 20 ?? = x 2=t 3 /3+x 0 (SI) §1.5 圆周运动的角量描述 角量与线量的关系 一.选择题和填空题 1. (D) 2. (C) 3. 16R t 2 4rad /s 2 4. -c (b -ct )2/R 二.计算题 1. 解: ct b t S +==d /d v c t a t ==d /d v ()R ct b a n /2 += 根据题意: a t = a n 即 ()R ct b c /2 += 解得 c b c R t -=

§1.6 不同参考系中的速度和加速度变换定理简介 一.选择题和填空题 1. (C) 2. (B) 3. (A) 4.0321=++v v v 二.计算题 1.解:选取如图所示的坐标系,以V 表示质点的对地速度,其x 、y 方向投影为: u gy u V x x +=+=αcos 2v , αsin 2gy V y y = =v 当y =h 时,V 的大小为: () 2cos 2222 2 2αgh u gh u y x ++= +=V V V V 的方向与x 轴夹角为γ, u gh gh x y +==--ααγcos 2sin 2tg tg 1 1 V V 第2章 牛顿定律 §2.3 牛顿运动定律的应用 一.选择题和填空题 1. (C) 2. (C) 3. (E) 4. l/cos 2 θ 5. θcos /mg θ θ cos sin gl 二.计算题 1. 解:质量为M 的物块作圆周运动的向心力,由它与平台间的摩擦力f 和质量为m 的物块 对它的拉力F 的合力提供.当M 物块有离心趋势时,f 和F 的方向相同,而当M 物块有 向心运动趋势时,二者的方向相反.因M 物块相对于转台静止,故有 F + f max =M r max ω2 2分 F - f max =M r min ω2 2分 m 物块是静止的,因而 F = m g 1分 又 f max =μs M g 1分 故 2.372 max =+= ωμM Mg mg r s mm 2分 4.122 min =-=ωμM Mg mg r s mm 2分 γ v

列主元消去法

实验一 列主元消去法 【实验内容】1. 掌握列主元消去法的基本思路和迭代步骤 2. 并能够利用列主元的高斯消去法解任意阶数的线性方程组; 【实验方法与步骤】列主元消去法编写程序 1.列主元消去法基本思路 设有线性方程组Ax b =,设A 是可逆矩阵。列主元消去法的基本思想就是通过列主元的选取将初等行变换作用于方程组的增广矩阵[]|B A b =,将其中的A 变换成一个上三角矩阵,然后求解这个三角形方程组。 2.列主元高斯消去法算法描述 将方程组用增广矩阵[]()(1)|ij n n B A b a ?+==表示。 步骤1:消元过程,对1,2,,1k n =- (1) 选主元,找{},1,,k i k k n ∈+ 使得 ,max k i k ik k i n a a ≤≤= (2) 如果,0k i k a =,则矩阵A 奇异,程序结束;否则执行(3); (3) 如果k i k ≠,则交换第k 行与第k i 行对应元素位置,k kj i j a a ?, ,,1j k n =+ ; (4) 消元,对,,i k n = ,计算/,ik ik kk l a a =对1,,1j k n =++ ,计算 .ij ij ik kj a a l a =- 步骤 2:回代过程: (1) 若0,nn a =则矩阵奇异,程序结束;否则执行(2); (2) ,1/;n n n nn x a a +=对1,,2,1i n =- ,计算 ,11/n i i n ij j ii j i x a a x a +=+??=- ??? ∑ 习题3第一题程序如下

#include #include #define N 3 int I; float max_value(float a[N][N+1],int n,int k) { float max; int i; max=a[k][k]; for(i=k+1;i

荧光定量实验报告(作业)

RT-qPCR比较不同样本中miR-21的相对表达差异 一、实验目的 1、掌握实时荧光定量PCR的实验原理。 2、掌握实时荧光定量PCR相对定量的分析方法。 二、实验原理 实时荧光定量PCR (Quantitative Real-time PCR)是一种在DNA扩增反应中,以荧光化学物质测每次聚合酶链式反应(PCR)循环后产物总量的方法。通过内参或者外参法对待测样品中的特定DNA序列进行定量分析的方法。荧光定量PCR 最常用的方法是 DNA 结合染料 SYBR Green Ⅰ的非特异性方法和 Taqman 水解探针的特异性方法。本实验中采用非特异性 SYBR Green I 染料法,SYBR Green I 是一种结合于所有ds DNA 双螺旋小沟区域的具有绿色激发波长的染料,在游离状态下会发出微弱的荧光,但一旦与双链DNA 结合后,荧光大大增强。因此,SYBR Green I 的荧光信号强度与双链DNA 的数量相关,可以根据荧光信号检测出PCR 体系存在的双链DNA 数量。 三、实验仪器、材料和试剂 实验仪器:PCR仪、荧光定量PCR仪 实验材料:MCF7细胞 实验试剂:逆转录试剂盒、SYBR GREEN试剂盒 四、实验步骤 4.1 MCF7细胞RNA提取(RNAiso Plus) 1)将生长至80%的MCF细胞消化为单细胞悬液,准备提取RNA; 2)9000g,2min离心,弃掉培养基,加1 ml RNAiso Plus用移液枪反复吹吸直至 裂解液中无明显沉淀,室温(15-30℃)静置5分钟; 3)加入氯仿(RNAiso Plus的1/5体积量),盖紧离心管盖,混合至溶液乳化呈 乳白色,室温静置5min; 4)12,000 g 4℃离心15分钟。从离心机中小心取出离心管,此时匀浆液分为三 层,即:无色的上清液(含RNA)、中间的白色蛋白层(大部分为DNA)及带有颜色的下层有机相。 5)吸取上清液转移至另一新的离心管中(切勿吸出白色中间层)。 6)向上清中加入0.5-1倍RNAiso Plus体积的异丙醇,上下颠倒离心管充分混匀

VC实现贪吃蛇的实验报告

题目:利用VC++实现贪吃蛇小游戏

一、题目:利用VC++实现贪吃蛇小游戏 利用VC++实现的贪吃蛇小游戏更加注重可视化。一条蛇在封闭的围墙内,在围墙内会随机出现一个食物,通过键盘上的W S A D四个键控制它向上,下,左,右四个方向移动。当蛇头撞到食物时表示将食物吃掉,这时蛇身增长一节,得分加一。接着随机生成食物,等待被蛇吃掉。如果在移动过程中撞到墙壁或者自己的身体,则游戏结束。游戏过程中,可以在菜单中选择暂停或者结束游戏,对游戏进行暂停或者退出。

二、编程要点(或基本思路、算法分析与说明): 本次游戏设计包含两大模块,一个模块是贪吃蛇游戏本身算法的设计,完成了贪吃蛇的食物产生,获取食物,蛇的移动等功能。另一个模块是利用MFC完成贪吃蛇的可视化显示,产生了一个对话框,在对话框可以控制游戏及游戏的显示。 1.贪吃蛇游戏算法设计包括: <1>果实出现的设计思路: (1)采用随机数生成果实出现坐标 (2)判断当前生成的果实是否在贪吃蛇身体范围内。 (3)如果在,重新生成直到不在为止。如果不在,则把坐标位置返回给调用对象。 <2>贪吃蛇更新的算法设计 (1)接收玩家按下的方向键消息,并保存到方向变量中。 (2)定义一个时间定时器,用来控制蛇运动的速度。 (3)当每次时间间隔到达时,则根据方向变量来更新贪吃蛇curr(即贪吃蛇身体)向量。 (4)判断curr向量的第一个元素中的坐标数据是否碰到边界或者蛇身,如果有,则游戏结束。否则,进行下一步。 (5)判断curr向量的第一个元素中的坐标数据是否与当前果实重合,如果有,表示贪吃蛇已经吃到果实。这时就向贪吃蛇curr向量添加一个元素,并重新生成一个果实。 (6)吃到食物后,得分会同步增加。 2.利用MFC完成贪吃蛇的可视化显示: 首先初始对话框,完成游戏的整体框架的显示。然后游戏玩家在菜单栏里选择开始,暂停,结束等,控制游戏状态。游戏开始后,玩家通过键盘上的消息控制蛇的运动。在函数DrawSnake(CDC *pDC,Snake snake),和DrawFood(CDC *pDC,SnakeFood f)完成对蛇和食物的重绘,从而显示出蛇的运动和对食物的获取。在OnPaint()函数中完成得分和游戏操作提示的显示。 本次游戏设计的主要功能函数如下: OnGameStart()(游戏开始函数), OnGamePauseStart()(游戏暂停函

大作业答案

1,结合实际谈谈,如何理解“没有教师发展,就没有课程发展。” 答:“在课程研究上有一句名言,即…课程发展就是教师专业发展?,…没有教师发展就没有课程发展?。”实际上,“课程与教师本来就是一体的。课程改革有两个不可分割的因素,即技术因素和人的因素。课程设计是课程改革的…技术因素?,教师是课程改革中“人的因素,只有实现…技术因素?与…人的因素?的统一,新课程实施工作才能顺利进行”。也就是说,课程与教师是密切相关的,两者之间存在着相互影响、相互制约与相互促进的互动关系。 首先,课程改革将促讲教师的专业发展。新课程的实施,对教师是一种严峻的挑战,为了应对这种挑战,教师必须进行教育观念的更新、教育能力的提高与教育行为的转变,而这种更新、提高与转变就是教师的进步和发展。新课程改变了学生的学习生活,也大大地改变了教师的教学生活,在促进学生全面、主动发展的过程中,教师也得到了专业的锻炼与成长。 其次,没有教师的专业发展,就没有课程改革的发展。课程的变革实际上是人的变革,没有人自身的主动适应与变化发展,课程变革是不可能实施和成功的。在我国教师目前的专业发展水平是比较低下的,特别是缺乏课程改革所需的课程研究与开发、指导学生进行探究性学习等方面的专业自信和能力,而这种专业能力的发展又受到教师自身以及学校和社会等多重因素的影响,致使教师的教育观、价值观的转变和专业能力的提升成为一项长期、复杂而艰巨的任务,不可能通过短期的突击训练达到要求;同时教师能力的不足加之工作压力大、工作任务重、难以舍弃旧习惯与无法预料改革前景等因素也会加重教师对课程改革的惧怕甚至抵触情绪等。总之,基础教育课程改革与教师教育改革的协调发展,呼唤我们对教师发展学校的原理、价值、功能、组织形式、实施策略等等进行深入研究和探索,从而建构起基础教育课程改革、教师专业发展与教师教育改革沟通、融合的一体化机制。 2,请结合实际谈谈,如何理解“教学既是一门科学,也是一门艺术。” 答:我觉得,教学之所以理解为一门科学,是因为教学的过程需要严谨的逻辑思维和科学的教学方法,比如从准备教案、教学日历、讲稿、课件等工作开始,都需要理解整门课的教学目标和教学方案,从而有目的性、针对性地传授知识,达到良好的教学效果使学生受益匪浅,心旷神怡。课堂教学是复杂的系统工程,成功的课堂教学是真善美的和谐统一,是创造性很强的综合艺术。对教师来说,不仅是完成一项工作和任务,也是讲科学发展观与现实教学的完美融合。教师青春常在,课堂春意盎然,学生如沐春风,既很好的完成了教学任务,学生也会在掌握知识的同时开拓思维,深入理解。而之所以将教学也理解为一门艺术,是因为,教育工作者除了传授知识,更要热爱教育事业,热爱学生,所谓“身教胜于言教”,当老师要为人师表,用人格魅力感染学生们,除了教知识,更要教做人。在教育过程中,因材施教,有耐心无偏见地对待每一个学生,这些都是艺术。当然包括老师的语言,举止,风度,对于一个好老师而言,这些都是艺术。如:教师要善于委婉地细致地启发孩子要使教师善于委婉地、细致地、非强加地去启发孩子,使他懂得在生活中应当做些什么,联系到精神生活方面哪种劳动、哪种义务能塑造他的个性,使他不愧为公民、劳动者、思想家、父亲、丈夫的名字。这

实验三高斯列主元消去法

实验三 高斯列主元消去法 一、实验目的: 1、掌握高斯消去法的基本思路和迭代步骤。 2、 培养编程与上机调试能力。 二、高斯列主元消去法的基本思路与计算步骤: 设有方程组Ax b =,设A 是可逆矩阵。高斯消去法的基本思想就是僵局真的初等行变换作用于方程组的增广矩阵[]B A b = ,将其中的A 变换成一个上三角矩阵,然后求解这个三角形方程组。 列主元高斯消去法计算步骤: 将方程组用增广矩阵[]()(1)ij n n B A b a ?+== 表示。 步骤1:消元过程,对1,2,,1k n =- (1) 选主元,找{},1,,k i k k n ∈+ 使得 ,max k i k ik k i n a a ≤≤= (2) 如果 ,0k i k a =,则矩阵A 奇异,程序结束;否则执行(3)。 (3) 如果k i k ≠,则交换第k 行与第k i 行对应元素位置,k kj i j a a ?,,,1j k n =+ 。 (4) 消元,对,,i k n = ,计算/,ik ik kk l a a =对1,,1j k n =++ ,计算 . ij ij ik kj a a l a =- 步骤 2:回代过程: (1) 若0,nn a =则矩阵奇异,程序结束;否则执行(2)。 (2) ,1/;n n n nn x a a +=对1,,2,1i n =- ,计算,11/n i i n ij j ii j i x a a x a +=+??=- ???∑ 三:程序流程图

四:程序清单: function X=uptrbk(A,b) % A是一个n阶矩阵。 % b是一个n维向量。 % X是线性方程组AX=b的解。 [N N]=size(A); X=zeros(1,N+1); Aug=[A b]; for p=1:N-1 [Y,j]=max(abs(Aug(p:N,p)));%返回向量的最大值存入y,最大值的序号存入j。 C=Aug(p,:); Aug(p,:)=Aug(j+p-1,:); Aug(j+p-1,:)=C; if Aug(p,p)==0 'A是奇异阵,方程无惟一解' break end for k=p+1:N m=Aug(k,p)/Aug(p,p); Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1); end end % 这里用到程序函数backsub来进行回代。 X=backsub(Aug(1:N,1:N),Aug(1:N,N+1)); function X=backsub(A,b) % A是一个n阶上三角非奇异阵。 % b是一个n维向量。 % X是线性方程组AX=b的解。 n=length(b);%取b向量的个数。 X=zeros(n,1); X(n)=b(n)/A(n,n); for k=n-1:-1:1 X(k)=(b(k)-A(k,k+1:n)*X(k+1:n))/A(k,k); End 五、测试数据与结果: 测试数据:(第8章习题三第2题)求解线性方程组: 解:建立一个主程序gs.m clc clear A=[1,2,3;5,4,10;3,-0.1,1]; b=[1;0;2];

列控实验报告-作业5

轨道交通列车运行控制技术课程实验 姓名:张泽英 学号:13281150 班级:运输1305班 指导老师:尹相勇

目录 1.实验简介 (3) 1.1实验设备 (3) 1.2实验目的 (3) 1.3实验内容 (3) 1.4进路选择 (3) 2实验结果 (4) 2.1上行5股道发车进路 (4) 2.2下行4股道接车进路 (5) 2.3上行I股道通过进路 (5) 2.4由D13向I股道调车进路 (6) 2.5实验总表 (7)

1.1实验设备 本实验所用系统为计算机联锁车务仿真教学系统-6502模式,该系统将6502联锁操作平台底层联锁逻辑和模拟现场设备的状态及变化过程集合到一台计算机上构成学员机。 1.2实验目的 通过实验,了解和掌握办理列车进路、调车进路。了解设备道岔、信号随进路的变化状态。 1.3实验内容 按照给出的车站站场平面图,根据进路表和学号选一条发车进路、接车进路、通过进路和调车进路。每条进路以图表示并做出: (1)写出该进路的名称 (2)给出该进路的始端和终端 (3)给出该进路经过的道岔 (4)给出该进路经过的轨道电路 (5)画出该进路的平行进路 (6)给出该接车进路的抵触进路和敌对进路 1.4进路选择 我的学号是13281150,因此我选择了13、28、50号三条进路,及由D13向I股道的调车进路。具体情况如下表1所示: 表1 进路选择示意

在图上分别用不同颜色的线段标出了相关进路,白色为原本的进路、黄色为抵触进路、红色为敌对进路、蓝色为平行进路。 2.1上行5股道发车进路 图1 上行5股道发车进路示意图 (1)原进路:上行5股道丰台方向发车进路。(这是往丰台方向发车) 始端:5股道上行出站信号机S5, 终端:下行进站信号机XF 经过的道岔:21、9/11、1/3 经过的轨道电路:21DG 、11DG 、9DG 、3DG 、1DG 、IIAG (2)抵触进路:上行5股道东效方向发车进路。(这是往东效方向发车) 始端:5股道上行出站信号机S5,终端:下行进站信号机XD (3)敌对进路:D1到I 股道的调车进路。(应给出从某个信号机到某个信号机的调车进路,或从某个信号机到某股道的调车进路) 始端:调车信号机D1(XF 是进站信号机不在哪个股道),终端:I 道下行出站信号机XI (请分清出站和进站信号机) (4)平行进路:下行4股道发车进路。 始端:4股道下行方向出站信号机X4,终端:上行进站信号机S 抵触进路 原进路 敌对进路 平行进路

VC++实验报告(1,2,3)

VC++实验报告 班号:________ 学号:________ 姓名:________

实验1 VC++开发环境的熟悉和Windows编程基础 一、实验目的 1.熟悉Visual C++的开发环境 2. 掌握用应用程序向导创建一个控制台应用项目的方法。 3. 掌握源代码文件的新建、打开、保存和关闭等基本操作。 4.掌握用应用程序向导创建一个Windows应用项目的方法 5. 掌握Visual C++项目的编译、连接和执行 6. 掌握代码简单语法错误修正和调试的一般过程 7.掌握Windows程序运行基本原理。 8. 掌握使用SDK(Windows API)方式编写Windows应用程序方法。 9. 掌握用应用程序向导创建一个Windows应用项目的方法。 二、实验知识点概念 Visual C++是Microsoft公司推出的目前使用极为广泛的基于Windows平台的可视化编程环境。由于其功能强大、灵活性好、完全可扩展以及具有强有力的Internet支持,在各种C++语言开发工具中脱颖而出,成为目前较为流行的C++语言集成开发环境。 Windows程序设计不同于DOS下的程序设计,它是一种事件驱动的程序设计模式,主要是基于消息的。Windows SDK编程主要采用C++/C语言和Windows API进行Windows 应用程序设计。 三、实验题目 1. 控制台应用程序编写 术语:“控制台应用程序”是一个在仿DOS窗口(控制台窗口)中运行的基于字符的程序,控制台窗口将成为其标准输入和输出装置。由于这种模式的应用程序比Windows程序简单,我们先选择利用Visual C++来建立这样一个应用,这样使得我们可以将精力先投入到学习使用C++编程语言,而不需要把过多的精力投入到学习复杂的Windows编程中去。 创建一个控制台应用,输入以下代码: #include class Vehicle { public: Vehicle(float speed,int total) { speed = speed; total = total; cout<<”constructor is called!” <

【现代测试技术】 作业题解

第二章习题 1.现校准为量程100mV ,表盘刻度为100等份毫伏表,见表。 题1:测量数据 被校表示值 U X (mV ) 10 20 30 40 50 60 70 80 90 100 标准表示值 U 0(mV ) 9.9 20.0 30.4 39.8 50.2 60.4 70.3 79.9 89.7 99.9 绝对误差 ?U (mV ) -0.1 0.0 0.4 -0.2 0.2 0.4 0.3 -0.1 -0.3 -0.1 试求:①.计算各校准点的绝对误差,并填入表中; ②.确定被校表的准确度等级; 解: 最大引用误差为: 100%0.4%m nm m A A γ?=?= %a nm ≤γ 所以应该取a=0.5 2.某四位半数字电压表,量程为2V ,工作误差为?= ± (0.025%?U X +2个字) 用该表测量时,读数分别为0.0345V 和1.8567V ,试求两种情况下的测量误 差。从计算结果中可得到什么启示? 解:四位半仪表在2V 量程下的显示范围是 0~1.9999V ,分辨率为0.0001V 。 当测量值为0.0345V 时绝对误差和相对误差分别为: ()411 11 0.025%0.03450.00012 2.110100%0.6%X V A γ-?=±?+?=±??= ?=± 当测量值为1.8567V 时绝对误差和相对误差分别为: ()422 22 0.025% 1.85670.00012710100%0.04%X V A γ-?=±?+?=±??= ?=± 可以看出,测量结果的测量误差不仅和仪表的准确度有关,而且和量程的选择有关。测量值与量程越近,测量误差越小。 3.对某直流电压源的输出电压U 进行10次 ,读数如表所示。 题3:测量数据

实验报告作业

反应时实验报告 反应时间是心理实验中使用最早、应用最广泛的反应变量之一。反应时也被称为“反应的潜伏期”,是指刺激施于有机体之后到明显反应开始所需要的时间。反应是包括三个时段:第一时段,刺激使感受器产生了兴奋,其冲动传递到感觉神经元的时间;第二时段,神经冲动经感觉神经传至大脑皮质的感觉中枢和运动中枢,从那里经运动中枢到效应器官的时间;第三时段,效应器官接受冲动后开始效应活动的时间。简单反应时间是给予被试者以单一的刺激,要求他作同样的反应。被试的任务很简单,他预先已知道将有什么样的刺激出现并需要作出什么样的反应。选择反应时间是根据不同的刺激物,在各种可能性中选择一种符合要求的反应。对反应时间的研究最先始于天文学家Bessel对于人差方程的研究。最早将反应时间的测量用于心理实验的是荷兰生理学家Donders.1879年以后,冯特及其学生对反应时间进行了一系列实验研究。认知心理学兴起后,为了揭示信息加工过程和特点,反应时间的测量也获得进一步的发展。20世纪80年代,内隐学习领域出现了一种名为序列反应时的研究方法,10年后,刚刚萌发的内隐社会认知领域也出现了一种基于反应时范式的研究方法——内隐联想测验。其中,系列反应时范式是尼森(M.J.Nissen)比勒姆(P.Bullemer)于1978年提出的。缪森和斯奎尔(Musen&Squire,1993)的研究发现,正常成人和健忘症患者在“词-色”对应规则保持不变的前六组实验中,反应时逐渐下降;而对应规则发生变化时,反应时又迅速上升,说明了被试能够习得规则。亨特和阿斯林(Hunt&Aslin,2001)对斯戴德勒(Stadler,1992)的研究进行验证,认为他的实验说明了被试对于概率信息的内隐习得过程。内隐联想试验是有格林沃尔德(Greenwald)在1998年提出的,测验中以反应时为指标通过一种计算机化的分类任务来测量概念词和属性词之间的自动化联系的紧密程度,继而对个体的内隐态度等内因社会认知进行测量。且格林沃尔德和诺塞克(Greenwald&Nosek,2003)对传统的内隐联想测验数据处理法又进行了分析发线它为考虑到速度-准确性权衡、反应极值和老年人的反应迟缓等因素又提出了衡量内隐联想测验数据处理法好坏的几个标准。雷莉等(2004)认为,反应时技术提供的客观量化数据有助于揭示消费者内在的品牌联想结构,在市场研究中具有广泛的应用前景。陈红等(2008)运用反应时技术研究支持了他们负面身体自我图式指导认知加工的假设。

相关文档
最新文档