文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机程序设计实践(VC++)

计算机程序设计实践(VC++)

计算机程序设计实践(VC++)
计算机程序设计实践(VC++)

江苏科技大学

课程实践报告

设计题目: 计算机程序设计实践(VC++)

设计时间: 2015. 3.2 至2015. 3.9

学院: 数理学院

专业班级: 13 级信息与计算科学 1 班学生姓名: 邢耀光学号1340501123 指导老师: 於跃成

2015年5月31日

一、实践任务

7.建立一个类PHALANX,生成并显示一个折叠方阵。折叠方阵如下图所示。折叠方阵的生成过程为起始数置于方阵的左上角,然后从起始数开始递增,依次折叠构成方阵。

具体要求如下:

1 1

2 1 2 5 10

→ 3 4 → 4 3 6 11

9 8 7 12

16 15 14 13

(1)私有数据成员

int (*p)[20]:指向按照折叠规律存放方阵的二维整型数组。

int startnum:折叠方阵的起始数。

int n:存放方针的层数。

(2)公有成员函数

PHALANX (int s, int m ):构造函数,初始化成员数据。

void process():生成起始数为startnum的n行方阵。

void print():输出折叠方阵。

~ PHALANX( ):析构函数。

(3)在主程序中对该类进行测试。

程序源代码:

#include

#include

class PHALANX{

int(*p)[20];

int starnum;

int n;

public:

PHALANX(int s,int m);

void process();

void print();

~PHALANX();

};

PHALANX::PHALANX(int s,int m)

{

starnum=s;

n=m;

}

void PHALANX::process()

{

int num=starnum;

int y=n,i,j,x;

p=new int[20][20];

for(x=0;x

{

for(i=0,j=x;i

{

p[i][j]=num;

num++;

}

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

{

p[i][j]=num;

num++;

}

}

}

void PHALANX::print()

{

int i,j,m=0;

for(i=0;i

{

for(j=0;j

{

cout<

}

cout<<'\n';

}

}

PHALANX::~PHALANX()

{

delete []p;

}

void main()

{

int s,m;

cout<<"输入s和m的值"<

cin>>s>>m;

PHALANX text(s,m);

text.process();

text.print();

}

程序运行结果为:

实践小结:

本体难度主要在折叠方阵的构造上。需要细心和仔细才不会出错。

13.建立一个类MOVE,对数组中元素进行循环换位,即每个元素后移三位,最后三个元素移到最前面。

具体要求如下:

(1)私有数据成员

int array[20]:一维整型数组。

int n:数组中元素的个数。

(2)公有成员函数

MOVE(int b[],int m):构造函数,初始化成员数据。

void change():进行循环换位。

void print():输出一维数组。

(3)在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对该类进行测试。

程序源代码:

#include

class MOVE{

int array[20];

int n;

public:

MOVE (int b[],int m)

{

n=m;

for(int i=0;i

array[i]=b[i];

}

void change()

{

int t1,t2,t3;

t1=array[n-1];

t2=array[n-2];

t3=array[n-3];

for(int i=n-4;i>=0;i--)

{

array[i+3]=array[i];

}

array[0]=t3;

array[1]=t2;

array[2]=t1;

}

void print()

{

for(int i=0;i

cout<

}

};

void main(){

int a[20]={21,65,43,87,12,84,44,97,32,55};

MOVE text(a,10);

text.change();

text.print();

}

程序运行结果为:

实践小结:

本体难度主要在数组中元素的循环换位。尤其是后三位元素的循环。

15.定义一个一维数组类Carray,并根据给定算法实现对原始一维数组进行线性变换。这里给定的线性变换算法为:T(bx) = bT(x) + i; 其中,b为变换常量,x为变量,i为当前类中成员数组的下标值。根据该算法,原始数组在变化后,当前数组元素的值是由常量b和i下标来决定的。

具体要求如下:

(1)私有数据成员

int *a:指针a指向一个动态分配的原始数组。

int n:n表示该数组的大小。

int b:线性变换的常量。

(2)公有成员函数

Carray (int a[ ],int n,int x) :用给定的参数a、n和x初始化数据成员a、n和b。缺省都设置为0。

void Transform () :根据上述变化算法,求解数组变换。

void Show( ) :在屏幕上显示数组元素。

~ Carray () :释放动态分配的空间。

(3)在主程序中定义数组int arr[ ]={1,2,3,4,5,6,7,8,9,10}作为原始数组,int b;由键盘输入,作为线性变换的常量。定义一个Carray类对象test,用arr初始化test,完成对该类的测试。程序源代码:

#include

class Carray{

int *a;

int n;

int b;

public:

Carray(int a[],int n,int x)

{

this->a=new int[n];

this->n=n;

b=x;

for(int i=0;i

this->a[i]=a[i];

}

void Transform()

{

for(int i=0;i

a[i]=b*a[i]+i;

}

void Show()

{

cout<<"输出变换后的数组。"<

for(int i=0;i

cout<

cout<

}

~Carray()

{

delete []a;

}

};

void main()

{

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

int b,m=10;

cout<<"从键盘中输入b的值。"<

cin>>b;

Carray text(arr,m,b);

text.Transform();

text.Show();

}

程序运行结果为:

本体难度主要在数组的变化。

16.定义一个方阵类CMatrix,并根据给定算法实现方阵的线性变换。方阵的变换形式为:F=W*fT

f为原始矩阵,fT为原始矩阵的转置,w为变换矩阵,这里设定为

1 0 0 1

0 1 1 0

0 1 1 0

1 0 0 1

具体要求如下:

(1)私有数据成员

int (*a)[4]:a指向方阵数组。

int w[4][4]:w为变换矩阵。

int m:m表示方阵的行和列数。

(2)公有成员函数

CMatrix (int a[][4],int m) :用给定的参数a和m 初始化数据成员a和m;对变换矩阵w进行初始化,要求必须用循环实现。

void Transform () :根据上述变换算法,求出变换后的数组形式,存放在原始数组内。

void show( ) :在屏幕上显示数组元素。

~ CMatrix () :释放动态分配的空间。

(3)在主程序中定义数组int arr[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}作为原始数组。定义一个CMatrix类对象test,用arr初始化test,完成对该类的测试。

程序源代码:

#include

#include

class CMatrix{

int (*a)[4];

int w[4][5];

int m;

public:

CMatrix(int a[][4],int m)

{

this->a=new int[4][4];

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

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

this->a[i][j]=a[i][j];

this->m=m;

for(int p=0;p<4;p++)

for(int q=0;q<4;q++)

if((p+q!=3)&&(p-q!=0))w[p][q]=0;

else w[p][q]=1;

void Transform()

{

int b[4][4],i,j;

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

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

b[i][j]=a[i][j];

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

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

a[i][j]=w[i][0]*b[0][j]+w[i][1]*b[1][j]+w[i][2]*b[2][j]+w[i][3]*b[3][j];

}

void show()

{

cout<<"变换后的数组是"<

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

{

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

cout<

cout<

}

}

~CMatrix()

{

}

};

void main()

{

int arr[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

int m=4;

CMatrix text(arr,m);

text.Transform();

text.show();

}

程序运行结果为:

实践小结:

本体难度主要在数组之间的变化。

18.试建立一个类V AR,用于求n()个数的均方差。均方差的计算公式为,其中平均值为。

具体要求如下:

(1)私有成员数据。

double a[100]:用于存放输入的n个数。

int n:实际输入数的个数n。

(2)公有成员函数。

V AR(double x[], int n1):构造函数,初始化成员数据a和个数n。

double average(double x[], int n):求平均值,数组x具有n个元素。

void variance(double x[],int n):求均方差,数组x具有n个元素。

void show():输出求得的均方差。

(3)在主程序中定义一个对象test,对该类进行测试。

程序源代码:

#include

class VAR{

double a[100];

int n;

public:

V AR(double x[],int n1)

{

n=n1;

for(int i=0;i

a[i]=x[i];

}

double average(double x[],int n)

{

double ave=0;

for(int i=0;i

ave=ave+x[i];

ave=ave/n;

return ave;

}

void variance(double x[],int n)

{

double d=0;

for(int i=0;i

d=d+(x[i]-average(x,n))*(x[i]-average(x,n));

d=d/n;

cout<<"输出方差为;"<

}

void show()

{

cout<<"输出平均值为:"<

variance(a,n);

}

};

void main()

{

double b[100]={1,2,3,4,5,6,7,8,9,10};

int m=10;

V AR test(b,m);

test.show();

}

程序运行结果为:

实践小结:

本体难度主要在与把平均值和方差公式转换为C++语言。

20.定义一个方阵类Array,实现对方阵进行逆时针90度旋转。如图所示。

1 2 3 4 4 8 12 16

5 6 7 8 3 7 11 15

9 10 11 12 2 6 10 14

13 14 15 16 1 5 9 13

具体要求如下:

(1)私有数据成员

int a[4][4]:用于存放方阵。

(2)公有成员函数

Array (int a1[][4],int n) :构造函数,用给定的参数a1初始化数据成员a。

void xuanzhuan ( ) :实现对方阵a进行逆时针90度的旋转。

void show( ) :在屏幕上显示数组元素。

(3)在主程序中定义数组int b[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}作为原始数组。定义一个Array类对象test,用b初始化test,完成对该类的测试。

程序源代码:

#include

class Array{

int a[4][4];

public:

Array(int a1[][4],int n)

{

for(int i=0;i

for(int j=0;j

a[i][j]=a1[i][j];

}

void xuanzhuan()

{

int c[4][4];

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

{

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

c[i][j]=a[i][j];

}

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

for(i=3;i>=0;i--)

a[i][j]=c[j][3-i];

}

void show()

{

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

{

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

cout<

cout<

}

}

};

void main()

{

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

Array test(b,4);

test.xuanzhuan();

test.show();

}

程序运行结果为:

实践小结:

本体难度主要在方阵的逆时针90°转换。

计算机程序设计实践

江苏科技大学 课程实践报告 设计题目: 计算机程序设计实践(VC++) 设计时间: 2015. 3.9 至2015. 3.16 学院: 数理学院 专业班级: 13级信息与计算科学1班 学生姓名: 陈明敏学号1340501101 指导老师: 华伟 2015年5月1日

一、 实践任务 任务一:试建立一个类SP ,求(,)123k k k k f n k n =++++ ,另有辅助函数power ()用 于求 n m 。具体要求如下。 (1)私有数据成员。 Int n ,k :存放公式中n 和k 的值。 (2)公有成员函数。 ①SP(int n1,int k1):构造函数,初始化成员数据n 和k 。 ②int power(int m,int n):求n m 。 ③int fun():求公式的累加和。 ④void show():输出求得的结果。 二、源程序清单 #include class SP{ private: int n,k; public: SP(int n1,int k1); int power(int m,int n); int fun(); void show (); }; SP::SP(int n1,int k1){ n=n1; k=k1; } int SP::power(int m,int n){ int a=m; for(int i=1;i

《面向对象程序设计》实验指导书

《面向对象程序设计》课程实验指导书

实验一 Java开发环境的安装与配置 一、实验目的: 1. 掌握JDK、Eclipse的安装步骤。 2. 理解环境变量PATH, CLASSPATH的作用,以及Eclipse的配置。 3. 熟悉Eclipse的编辑、编译与调试环境,编写简单的Application程序 编译执行并完成调试。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序 (能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3. 调试程序、编译,运行后得到正确的结果 四、实验步骤: 1.从https://www.docsj.com/doc/75967170.html,/technetwork/java/index.html上下载最新版本的JDK,并安装。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Eclipse环境下编写一个HelloWorld.java程序, (1)在主方法static public void main(String[ ] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。 (闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.金字塔:Pyramid.java 在屏幕上显示一个由星型符号“*”组成的金字塔图案,示例如下: * *** ***** ******* 要求:金字塔高度h,可以由用户设置。 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法中加入实现要求功能 的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)允许用户设置金字塔高度。 4. 编译运行程序,观察输出结果是否正确。

C语言程序设计实验指导(课后习题)参考答案

《实验指导》课后练习题参考答案实验1: 1.主函数 2-4:DDC 5.stdio.h 6-9:CCCC 实验2: 1.double 2-4:ABB 5.2 6-12:CDDDADC 13.! 14.8 15-17:ACC 18.G 19-20:CA 21.5 4 22.x=6c 23-25:DCA 26.0x 27.2.000000 28-29:AB 30.a=3 31.D 32.3.15 33.B 34.double 实验3: 1-3:CCD 4.B 5.2,0 6-8:CAC 9. (1)pass, (2)中 及格 不及格 10-12:ADD 13.2 14.B 15.10 16.6 17.x>=1 && x<=sqrt(10)

实验4: 1.B 2.1 3.A 4.3/5,5/8 5.30 实验5: 1.D 2.(1)9 (2)1 3-5:CDB 6.(1)10 (2)7 7.C 8.(1)x=16 (2)y=8 9.return 实验6: 1-5:CCADA 6.10,20 7.13 11 12 8.7 9.2 10.B 11.(1)3 (2) 1 12-13:CB 14.-31 15.221 16.main函数 17.22 18.(1)return (2)void 实验7: 1.C 2.auto 3.9 4.(1) 4 (2) 0 5.10 6.(1)5 (2) 7 (3) 8 7.C 8.110 9-12:DDBC 13.(1) 1 (2) 3

15.6 720 16.auto 17.48 18.(1)1 (2)2 19.D 20.D 21.5,25 22.6 实验8: 1-2. DD 3. 16 4. (1)0 2 3 (2)2 3 5 (3)7 11 13 5. (1)i<9 (2)j<9-i (3)a[j]=a[j+1] (4)a[j+1]=temp 实验9: 1. D 2. (1)-1 (2)2 3. (1)1 (2)a[i-1][j-1]+a[i-1][j] (3)j<=i 4. (1)1 3 4 5 6 7 (2)3 4 5 6 (3)End of main()! 实验10: 1. 0或NULL 2-5. CACA 6. (1)10 (2)15 (3)19 7. (1)ia[j] (3)”%d”,p+i (4)”%d”, *(p+i) 8. (1)2 6 (2)2 2 (3)4 6 实验11: 1. A 2. C 3. 7 4. (1)strlen(s) (2)s[i]>=’a’ && s[i]<=’z’(3)s[i]+32 (4)’\0’(5)s2[j]!=s2[n2-j-1] (6)j

c语言程序设计实践教程答案完整版

4.2练习题 一、选择题 1.D 2.B 3.A 4.B和D 5.C 6.A 7.B 二、填空题 1.//或/* */ 2.主或main 3.函数首部和函数体4.编译和连接 5.分号 5.2练习题 一、选择题 1.A 2.D 3.B 4.B 5.C 6.C 7.D 8.A 9.B 10.B 11.D 12.B 13.A或B 14.C 15.B

17.D 18.D 19.C 20.D 21.B 22.A 23.D 24.C 25.C 26.B 27.C 28.D 29.A 30.B 二、填空题 1.102,10 2.#define 宏名字符串 3.1 4.n=1 5.-4 6.a=1,b= ,c=2 7.c=A 8.n1=%d\nn2=%d 9.a+b>c&&a+c>b&&b+c>a 10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.7 12.0 13.8,4 6.2练习题 一、选择题 1.A 2.C 3.D 4.C 5.A 6.B

8.D 9.B 10.C 11.A 12.A 13.C 14.B 15.正确答案为: 二、填空题 1.10 2.y=1 x%i==0 3.屏幕中间输出一个由星号组成的菱形4.1 5.13 6.(cx=getchar())!=-1 front=cx; 7.m%n 8.4 9.*p px=&x py=&y 三、读程序,写结果 1.-1 2.3,1,-1, 3.a=16,y=60 4.x=12,y=4 5.59 7.2练习题 一、选择题 1.B 2.C 3.C 4.A 5.D 6.C 7.D

计算机程序设计(C)综合实践

计算机程序设计(C)综合 实践 设计报告 学院:电子通信与物理学院 设计名称:职工信息管理系统 专业班级:电子信息科学与技术14-2 学生:本良 学号: 201401100211 组号: 140203 指导教师:宋戈 完成时间: 2015年 7月23日

目录 第1部分实训题目与要求 (2) 1. 问题提出 (2) 2. 功能要求 (2) 3. 任务分工 (2) 第2部分设计实训题目功能......................................................................... . (3) 1. 总体设 计...................................................................... (3) 2. 数据结 构...................................................................... (4) 3. 程序设 计...................................................................... (5) 4. 测试与调 试......................................................................

(8) 第3部分实训总结......................................................................... . (12) 1. 个人总 结...................................................................... (12) 2. 结束 语...................................................................... (12) 第4部分参考文献......................................................................... . (13) 《C程序设计综合实践》评分表......................................................................... (14)

大学生计算机编程实训心得领悟.doc

大学生计算机编程实训心得体会 编程是编写程序的中文简称,就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程。分享,欢迎阅读! 大学生计算机编程实训心得体会一 目前在国内制造业对数控加工高速增长的需求形势下,数控编程技术人才出现了严重短缺,数控编程技术已成为就业市场上的需求热点。以市场为导向的职业教育不断开辟这一领域的新课题,在传统职业的知识和技术上溶入了数字化信息的新技术、新知识、新工艺。国家大力发展职业教育,大力进行职教师资培训。以骨干教师为重点的培养培训活动在全国各个重点建设职教师资基地纷纷开展。我就是2007年第二批次国家级骨干教师培训的学员,培训地在济南数控编程培训学校,专业是数控加工技术。在济南学习期间,对于数控机床编程技术的学习心得写下来跟朋友们一起探讨。 一、学好数控编程技术需要具备以下几个基本条件: (1)具有基本的学习资质,即学员具备一定的学习能力和预备知识。 (2)有条件选择好的培训机构和培训教材。 (3)在实践中积累经验。

二、学习数控编程技术,要求学员首先掌握一定的预备知识和技能,包括: (1)基本的机械制图基础。 (2)基本的机械加工常识。 (3)机加工工艺基础。 (4)基本的三维造型技能。 三、选择培训教材应考虑的因素包括: (1)教材的内容应适合于实际编程应用的要求,以目前广泛采用的基于CADCAM软件的交互式图形编程技术为主要内容。在讲授软件操作、编程方法等实用技术的同时也应包含一定的基础知识,使读者知其然更知其所以然。 (2)教材的结构。数控编程技术的学习是一个分阶段不断提高的过程,因此教材的内容应按不同的学习阶段进行合理的分配。同时,从应用角度对内容进行系统的归纳和分类,便于读者从整体上理解和记忆。 四、学习方法与技巧 同其他知识和技能的学习一样,掌握正确的学习方法对提高数控编程技术的学习效率和质量起着十分重要的作用。下面是几点建议:

【程序设计实践实验指导书】实验2:指针进阶

河南工业大学实验报告 课程名称:程序设计实践开课实验室: 一、实验目的: 1. 理解指针数组的概念,掌握指针数组的基本应用和编程方法。 2. 掌握单向链表的概念和建立方法。 3. 掌握单向链表的基本操作。 二、实验环境: 1. 运行Window XP/Windows 7/Windows 8等的操作系统的PC机; 2. VC++6.0,CodeBlocks,或Dev C++等编译环境。 三、实验内容: 1.编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。 输入输出示例: 5 May 【源程序】 #include #include int main() { int num; scanf("%d",&num); getchar(); char *month[12]={"January","February","March","April","May","June","July","August","September","

October","Novermber","December"}; printf("%s\n",month[num-1]); return 0; } 【运行结果】 8 August Process returned 0 (0x0) execution time : 2.466 s Press any key to continue. 2. 定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若 输入输出示例: Tuesday 3 【源程序】 #include #include #include int main() { char *month[12]={"January","February","March","April","May","June","July","August","September"," October","Novermber","December"}; char mnum[10]; scanf("%s",&mnum); getchar();

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

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 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个数中的最大者,则程序该如何编写。 程序代码 运行结果:

计算机编程实习周记

计算机编程实习周记 实习周记一 到金山实习已经一周了,这一周主要任务是学习COM 技术,以及理解初期产品DEMO的代码,指导我的老大叫程辉,他是一个工作认真, 待人真诚的好人,虽然他很忙,但是我遇到问题他也会细心帮我解答, 如果某个问题他不清楚, 也会很直接的告诉我他不清楚. 但是我要是在学校遇到什么问题, 大部分老师给我的答案都是含糊其辞的, 另有一些就干脆胡说八道一通, 让我非常郁闷. 在公司实习的感觉很不一样,快快事业部里每个人都非常认真勤奋的工作,大家都为最终的产品投入了大量的时间和精力.这是我无法从学校学习到的一种精神. 这也从一个侧面反映出大学里面的问题有很多, 在学校上课, 我无法得到什么, 有些课程老师自己都没弄明白, 找本书对着学生念经, 同学们的激情早就在大一的时候被浇灭了, 剩下一些残念或怨念, 又在经文的雪上加霜后, 留下一辈子的仇恨. 这就是大学的现状. 没有谁可以改变这种状况, 而我们这些可怜的大学生们, 期望的只是一张大学毕业证, 好给保有旧社会科举制度思维的父母们一个交代. 面对这样的现状, 我只能说...very well...

虽然这一周我都是每天早上6:30起床赶车,晚上 8:30回到宿舍(坐公交车要好久, 而且正赶山修路, 在 路上耽搁很久),但是这样的生活对我来说却是习以为常,因为从大二暑假开始,我就已经以类似的作息时间,奔波于宿舍和励耘楼的实验室.即使是周六周日,我也会去励耘楼的实验室自习,而现在周末不用去公司上班,我倒是觉得轻松了不少. 生活方面,金山的伙食真的是非常好,可见金山的管理者们们对本公司员工的尊重和重视. 但是菜品种不如学校食堂的丰富, 学校的食堂和外卖经常会有花生猪骨, 逗沙包, 小强汤, 滑蛋小强, 芹菜苍蝇, 白菜腋毛等菜式供给, 不仅如此, 给我们盛菜的食堂员工还喜欢抖两抖, 一次我大脑抽筋了, 去食堂的窗口打饭, 看见一份炒豆腐还不错, 价钱是1块钱, 我就要他们给我来一份, 这份打过来, 我数了数, 一共5块豆腐....我当场就怒了, 找他理论, 没想到他跟我来了一句1块钱就是那么多了.... 最后这个了字声音还故意发的很长, 明显是一种挑衅和不懈. 言外之意就是丫个穷鬼, 还敢嫌少, 没钱还敢来吃老子豆腐., 我真是吐槽不能. 实习周记二 到金山实习已经两周了.周一上午,程辉把我叫到会议室,让我根据第一周学到的知识以及对项目的了解,制

计算机程序设计实践

《计算机程序设计实践(VC++)》教学大纲一.课程基本信息 开课单位:经济管理学院信息管理系 课程编号:000000 英文名称:Computer Programming Language (VC++) Course Design 学时:总计32学时,其中理论授课0学时,实验(含上机)32学时 学分:2.0学分 面向对象:信息管理与信息系统(含网络营销方向)本科专业 教材: 《C++程序设计》,吴乃陵,况迎辉编著,高等教育出版社,2006年3月第2版 《C++程序设计实践教程》,吴乃陵,李海文主编,高等教育出版社,2006年3月第2 版 主要教学参考书目或资料: 1.Visual C++从入门到精通.刘锐宁,宋坤编著.北京:清华大学出版社.2010年10月 2. Visual C++项目开发案例全程实录(第2版).明日科技等编著. 北京:清华大学出版社.2011年1月 二.教学目的和任务 课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是一门专业基础课或专业课教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践能力、为毕业设计及毕业后从事专业技术工作打下基础,提高学生全面素质具有重要的意义。因此,《计算机程序设计语言(VC++)课程设计》的目的就是要通过一个学生成绩管理系统的实际开发,提高学生应用所学知识分析问题,解决问题和实际动手的能力,更加熟练地掌握C++程序开发的基本方法和工作步骤,对系统开发实践有进一步体会。从而综合复习课程中的所有理论知识点,进一步熟练面向对象程序的开发方法和流程,提高学生独立分析问题和解决问题的能力。真正理解书本知识,牢固掌握课堂教学内容。 三.教学目标与要求 学生按照课程设计任务书要求,通过两周的时间,设计出一个学生成绩管理系统,能实现对某班 级学生成绩的管理及奖学金、三好生的评定工作。要求具备查询和检索等功能,并且能够对指定文件进行操作,也可以将多个文件组成一个文件。从而进一步掌握算法的描述、了解初步的数据结构,熟悉C++语言的语句格式、功能及其应用。 四.教学内容、学时分配及其基本要求 实验项目学生课程成绩管理系统 设计内容: 设计一程序,实现对某班级学生成绩的管理及奖学金、三好生的评定工作。要求具备查询和检索等功能,并且能够对指定文件进行操作,也可以将多个文件组成一个文件。 设计要求: ⒈应严格按照开发小型项目的基本流程进行设计。 ⒉成绩管理程序至少应具有以下功能: ⑴输入:学生的基本信息,包括学号、姓名、性别、籍贯、VC++成绩、英语成绩、高数成绩等; ⑵计算:每个学生的总成绩、平均成绩,所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;

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

C 语言程序设计 实 验 指 导 书 电子工程学院 2012-2

实验一 C程序的运行环境和编辑、调试、运行简单C程序 一、实验目的 1.了解 Turbo C 的基本操作方法,学会独立使用该系统。 2.掌握在该系统上如何编辑、编译、运行一个C程序。 二、实验内容及步骤 1.进入C的工作环境 1)在Windouws环境下:“开始”→“程序”→“MS-DOS” 屏幕上进入 MS-DOS窗口 2)在Dos环境下:键入命令c:\> cd c:\tc↙ c:\tc> tc↙ 屏幕上出现Turbo C的工作环境 2.熟悉Turbo C的工作环境 了解Edit窗口与Message窗口 了解主菜单的8个菜单项 File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序 File→New 输入源程序:

main() { printf("This is a C program.\n"); printf("OK\n"); } 按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。 按Run→User screen(或按Alt+F5) 察看运行结果。 按任一键从用户屏切换回TC窗口。 4.输入并编辑第二个C程序 File→New 输入源程序: main ( ) { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n", sum); }

编辑、运行、调试该程序。 5.编辑、运行、调试自己编写的程序(至少一个程序) 如:输入上底、下底和高,计算梯形面积。 观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 用File→Save (或F2)保存程序(程序名为a1.c) 三、实验报告要求 写明: 1.实验目的 2.实验内容与步骤 3.编写的程序(题目,经调试、运行后正确的程序) 4.编译过程中出现的错误信息。 5.总结讨论本次实验的结果和收获。

VB程序设计学习与实验指导答案

Visual Basic 程序设计学习与实验指导答案 上篇学习指导 第1章Visual Basic 概述 1.事件 2.查看对象 3.工程 4.视图属性窗口 5.窗体编辑器 第2章面向对象程序设计初步 1.控件 2.事件 3.类属性 4.属性 5.略 https://www.docsj.com/doc/75967170.html, 第3章Visual Basic 语言基础 1.(a*sin(30/180*3.14)+c*(log(b)/log(10)))/((Abs(d)+1)*(e+f))+1

2.mod 3.X=Int(X) And Y=Int(Y) And X*Y>0 4. 4.Y Mod 4=0 And Y Mod 100<>0 Or Y Mod 400=0 5.x=Int((99-10+1)*Rnd+10) 6.0 “” 7.空格 8.6,845.30 9. (1)8 (2)1 (3)abcd (4)出错,类型不匹配 (5)False (6)2008-6-29 (7)I likeVB (8)4 (9)4 4 (10)3 4 (11)10 -10 (12)-1 (13)aa (14)3 (15)0 (16)1 (17)C (18)5 (19)8 (20)34.54 (21)中国 (22)上海 (23)VISUAL BASIC (24)visual basic 10. (1)x<-100 or x>100 (2)a=Int(a) And b =Int(b) Or a<0 And b<0 (3)x<=y or x>=z (4)a>0 And a<>Int(a) (5)a=0 xor b=0 (6)Len(S)<10 (7)UCase(S)=S (8)Left(S,1)=”a” And Right(S,1)=”a” (9)Instr(S,”@”)<>0 (10)Trim(S)=S (11)Date=#8/8/2008#

《java程序设计》实验指导书(完整)

实验一 Java实验环境的建立一、实验目的 1.掌握Java编程环境的搭建过程; 2.掌握Jcreator pro软件的使用方法; 3.能使用Java doc文档。 二、实验内容 1.下载并安装,配置JDK环境变量; 2.下载Javadoc压缩包并解压在JDK安装路径下; 3.下载Jcreator pro 并安装和配置使用环境; 4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。 ①Java application程序代码如下: public class HelloJava { public static void main(String args[]) { "Hello Java!"); } } ②Java applet程序代码如下: import .*; public class Hello extends { public void paint(Graphics g) { ("Hello!",30,30); } } 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。

一、实验目的: 1.输入、输出操作实现原理和方法 2.掌握程序流程控制的实现方法 3.掌握数组的定义和操作方法 二、实验内容 1.计算 Result=1!+2!+3!+ (10) public class TestJieC{ p ublic static void main(String arg[]){ long result=1; for(int i=1;i<=10;i++) { result=i*result; result+=result; } " "+result); } } 2.计算1---50之间所有素数的和。 public class Test{ p ublic static void main(String args[]){ int count = 0; for(int i = 2;i<=50;i++){ for(int j = 2;j<=i;j++){ if(i>j){ if(i%j == 0){ count++; } } } if(count==0){

C语言程序设计实验与习题指导课后程序设计答案,DOC

P18 (1) #include intmain(void) celsius=26; fahr=9*celsius/5+32; printf("celsius=%d,fahr=%d\n",celsius,fahr); return0; }

(3) #include intmain(void) { intaverage,math,eng,comp; intn,a,b,c; n=152; c=n%10; b=(n/10)%10; a=n/100;

printf("整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n",n,c,b,a); return0; } P27 (2) #include #include intmain(void) {

intmoney,year; doublerate,interest; printf("Entermoney,year,rate:"); scanf("%d%d%lf",&money,&year,&rate); interest=money*pow(1+rate,year)-money; y=pow(x+1,2)+2*x+1/x; } else{ y=sqrt(x); }

printf("y=f(%f)=%.2f\n",x,y); return0; } (4) #include return0; } 10的阶乘 #include intmain(void)

{ inti,n,product; printf("Entern:"); scanf("%d",&n); product=1;

程序设计实践报告模板

面向对象程序设计实践(Project 2) 报告 题目: 专业软件工程(NIIT) 学生姓名 班级学号 指导教师杨健 指导单位计算机学院/软件学院 日期

评分细则 评分项优秀良好中等差遵守机房规章制度 上机时的表现 学习态度 程序准备情况 程序设计能力 团队合作精神 课题功能实现情况 算法设计合理性 用户界面设计 报告书写认真程度 内容详实程度 文字表达熟练程度 回答问题准确度 简短 评语教师签名: 年月日 评 分 等 级 备 注 评分等级有五种:优秀、良好、中等、及格、不及格

Title(Here,please write the name of your Project) (题目格式:宋体,3号,加粗,居中对齐) 一、D escription and Requirement(格式:Times New Roman,4号,加粗, 两端对齐) (正文格式:宋体(中文) Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 二、Requirement Analysis(格式:Times New Roman,4号,加粗,两端对齐) 在该部分中叙述系统的功能,由此得到相应的模块,并分析需要什么的数据,由此可以指导数据库的设计。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐,1.5倍行距) 三、High level design(格式:Times New Roman,4号,加粗,两端对齐) 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明),数据库设计的说明(给出数据库的结构,包括有哪些表,每个表有什么字段,分别存储什么样的数据) (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 四、Low level design格式:Times New Roman,4号,加粗,两端对齐) 各个算法实现的源程序(可以是一组源程序,每个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。 注意:不要粘贴全部程序,只要把关键算法的程序粘贴过来就可以了。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 五、Tested data and result analysis(格式:Times New Roman,4号,加粗,

计算机程序设计实践答案(江苏科技大学)

1,#include class PP { int n; double x; double *p; public: PP(int num,double x1); ~PP(); double fun(int n1,double x); void process(); void show(); }; PP::PP(int num,double x1) { n=num; x=x1; p=new double[n+1]; } PP::~PP() { if(p) delete[]p; } double PP::fun(int n,double x) { if(n==0) return 1; else if(n==1) return x; else return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n; } void PP::process() { int i; for(i=0;i<=n;i++) p[i]=fun(i,x); } void PP::show() { int count=0; cout<<"n="<

{ cout<

char TELE1[10]; /*电话*/ char TELE2[10]; /*电话*/ char HOMETOWN[30]; /*籍贯*/ }DATA; /******以下是函数原型*******/ int enter(DATA t[]); /*输入记录*/ int add(DATA t[],int n); /*添加记录*/ int change(DATA t[],int n); /*修改记录*/ int deleter(DATA t[],int n); /*删除记录*/ void list(DATA t[],int n); /*显示记录*/ void search(DATA t[],int n); /*按姓名查找显示记录*/ void qseek(DATA t[],int n); /*快速查找记录*/ void print(DATA temp); /*显示单条记录*/ int find(DATA t[],int n,char *s) ; /*查找函数*/ int menu_select(); /*主菜单函数*/ /******主函数开始*******/ main() { int i; DATA d[M]; /*定义结构体数组*/ int length; /*保存记录长度*/ system("cls"); for(;;)/*无限循环*/ { switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/ { case 1:length=enter(d);break;/*输入记录*/ case 2:length=add(d,length); break; /*添加记录*/ case 3:length=deleter(d,length);break; /*删除记录*/ case 4:list(d,length);break; /*显示全部记录*/

计算机程序设计综合实验

计算机程序设计综合实验 姓名:张起 学号:201332010615 班级:自动化六班 撰写时间:2015年7月8日

A部分 一. 需求分析 (一)设计要求: 1、编写压缩程序, 为一个文本文件进行Huffman编码, 对其进行压缩, 将 压缩后的结果存储为文件。 2、编写解压程序, 将你压缩后的文件解压缩还原为原始文件。 3、程序要能够处理较大的文本文件, 例如提供的“kjv.txt”。 (二)问题分析: 本课题是利用哈夫曼编码思想,设计对一个文本文件(kjv.txt)中的字符进行哈夫曼编码,生成编码压缩文件,并且还可将一个压缩后的文件进行解码还原为原始文本文件(kjv.txt)。 在了解哈夫曼压缩解压缩原理之前,首先让我们来认识哈夫曼树。哈夫曼树又称最优二叉树,是带权路径长度最小的二叉树。 在文本文件中多采用二进制编码。为了使文件尽可能的缩短,可以对文件中每个字符出现的次数进行统计。设法让出现次数多的字符二进制码短些,而让那些很少出现的字符二进制码长一些。若对字符集进行不等长编码,则要求字符集中任一字符的编码都不是其它字符编码的前缀。为了确保哈夫曼编码的唯一性,我们可以对它的左右子树的大小给予比较限定,如:左子树的权值小于右子树的权值。哈夫曼树中的左右分支各代表‘0’和‘1’,则从根节点到叶子节点所经历的路径分支的‘0’和‘1’组成的字符串,为该节点对应字符的哈夫曼编码。 统计字符中每个字符在文件中出现的平均概率(概率越大,要求编码越短)。利用哈夫曼树的特点:权越大的叶子离根越近,将每个字符的概率值作为权值,构造哈夫曼树。则概率越大的节点,路径越短。哈夫曼译码是从二进制序列的头部开始,顺序匹配成共的部分替换成相应的字符,直至二进制转换为字符序列。 哈夫曼用于文件解压缩的基础是在压缩二进制代码的同时还必须存储相应的编码,这样就可以根据存储的哈夫曼编码对压缩代码进行压缩。总之,该课题的任务应该是首先要打开要压缩的文本文件并读出其字符出现的频率,以其为权值构建哈夫曼树。其次要找到构建压缩功能的方法,在构建哈夫曼树的基础上进行编码,改变字符原先的存储结构,以达到压缩文件的目的,以外还有存储相应的哈夫曼编码,为解压缩做准备。 二. 设计 1. 技术路线 1、输入要压缩的文件 首先运行的时候,用户主界面上有菜单提示该如何使用软件,根据菜单提示选择所要执行的项,依次进行,因为各个环节之间有先后顺序。第一步为输入压缩软件的名称,由键盘输入文件路径和文件名称,读入字符数组中,打开该文件,按照提示进行压缩。若打不开,则继续输入。 2、读文件并计算字符频率 文件将信息存放在字符数组中;计算每个字符出现的次数,申请一个结构体数组空间,用读取的字符减去字符结束符作为下标记录字符的频率。 3、根据字符的频率,利用Huffman编码思想创建Huffman树

相关文档
相关文档 最新文档