文档库 最新最全的文档下载
当前位置:文档库 › 2010高级语言程序设计实验任务书

2010高级语言程序设计实验任务书

实验一最简单的C程序设计

一、实验目的

1. 掌握C语言中使用最多的一种语句——赋值语句的使用方法。

2. 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

二、实验的内容和步骤

1.以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。

#include

void main ( )

{ double a,b,c,s,v;

printf(input a,b,c:\n);

scanf("%d%d%d",a,b,c);

s=a*b;

v=a*b*c;

printf("%d %d %d",a,b,c);

printf("s=%f\n",s,"v=%d\n",v);

}

当程序执行时,屏幕的显示和要求输入形式如下:

input a,b,c:1.0 2.0 3.0 →此处的1.0 2.0 3.0是用户输入的数据

a=1.000000 b=2.000000,c=3.000000 →此处是要求的输出格式

s=2.000000,v=6.000000

相关知识:①检查程序错误时应注意几点:

a)有时程序中一个错误会引发一系列错误信息,工作中不应被这种情况所迷惑,改正了一些错误后应及时对源程序重新进行编译;

b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;

c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。对于警告信息同样要逐个仔细分析。除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。实际上,很多警告都是因为程序中确实有严重的隐含错误。

d) 在连接中发现新错误也需要仔细检查和修改程序。连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。系统不能对连接错误给以自动定位,只能提供有关的名字信息等。对于这类问题,可以借助编辑器的字符串查找命令进行定位。

②正确调用scanf函数和printf函数构成输入和输出语句。

2.有以下程序

#include

void main()

{ char c1,c2;

int n1,n2;

c1=getchar();

c2=getchar();

n1=c1-'0';n2= n1*10+(c2-'0');

printf("%d\n",n2);

}

程序运行时输入:12<回车>,执行后输出结果是什么?

相关知识:①getchar()函数用来输入两个字符分别赋给变量c1和c2;

②n1=c1-'0'相当于n1='1' -'0',字符1的ASCII码值比0大一,所以n1中的值为1,c2-'0'相当于'2' -'0';

③把字符串转换为多位数的算法。

3.若有以下程序

#include

void main()

{ int i,j;

int x,y;

scanf("i=%d,j=%d",&i,&j);

scanf("%d%d",&x,&y);

printf("i=%d,j=%d\n",i,j);

printf("%4d%4d\n",x,y);

}

要求给i赋值为10,j赋值为20,则应该怎样从键盘输入数字?

相关知识:①在调用scanf()函数时在格式串中若包含有格式描述符之外的字符时,则要求在输入数据时在对应的位置上输入完全匹配的字符;

②scanf()函数只包含格式描述符时可用跳格键Tab、空格和回车分隔数据;

③在调用printf ()函数时在格式串中若包含有格式描述符之外的字符时,则在输出数据时在对应的位置上输出完全匹配的字符,%d之类的格式符位置输出对应输出项的值;故输出时要注意插入适当的非格式符以便区分各个输出结果。

4. 计算定期存款本利之和

设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。

实验二逻辑结构程序设计

一、实验目的

1. 了解C语言表示逻辑量的方法。

2. 学会正确使用逻辑运算符和逻辑表达式

3. 熟练掌握if 语句和 switch语句。

4. 结合程序掌握一些简单的算法。

5. 学习调试程序。

二、实验内容和步骤

1. 若输入10,20,30则程序的执行结果是 20,30,10 请填充程序。

# include “stdio.h”

void main( )

{ int a, b, c ;

scanf(“%d,%d,%d”,&a,&b,&c);

int t;

t=a;

a=b ;

b=c ;

c=t;

printf ( "%d,%d,%d" ,a, b, c );

}

2. 源程序中包含有一些错误,调试下列程序,使之具有如下功能:输入a、b、c三个整数,求最小值。

# include “stdio.h”

void main( )

{ int a,b,c;

scanf("%d%d%d",a,b,c);

if((a>b)&&(a>c))

if(b

printf("min=%d\n",b);

else

printf("min=%d\n",c);

if((a

printf("min=%d\n",a);

}

再次运行程序,输入为“2,1,3”,程序输出却是“min=2”。用单步执行的方法,马上发现变量a 、b 、c 的值是不对的,原因是程序要求输入数据的分隔符是空格(还允许使用回车或键)。改正输入数据的分隔方式后,程序没有输出,还是用单步执行的方法,监视程序的执行过程,发现程序中条件设计有误,经过改正的程序如下: # include “stdio.h”

void main() { int a,b,c;

scanf("%d%d%d",&a,&b,&c); if((a

printf("min=%d\n",a) else if((b

printf("No find minimum\n"); }

上述程序是按在三个数中仅有一个最小值时才称其为最小值进行设计的。另外,注意程序的书写格式,一定要采用缩进格式,即不同层次(分支)的语句左起的空格不同,这样可以有效地提高程序的可读性。

相关知识:①类似a

3.参考上一题,编写一个C 程序,求a 、b 、c 、d 四个数中的最大者。 编程点拨:

①多定义一个变量,并一开始令变量max=a;

②if(max

4.输入4个整数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按由大到小顺序输出。

相关知识:①输入函数scanf()的使用;②简单的排序算法;③通过中间变量t 交换a 和b 值的方法:t=a; a=b; b=t;。

5.根据以下函数关系,对输入的每个x 值,计算出相应的y 值。

#include

??

?

??+-=)sin(2

||12x x e y x

4310≤≤≤≤x x

当x 取其他值时

#include void main() { float x,y; scanf("%f",&x);

if ( (x>=0)&&(x<=1) )

y=exp(sqrt(x))-1 ;

else if ((x>=3)&&(x<=4) )

y=fabs(x)+2 ;

else y=sin(x*x) printf("x=%f,y=%f",x,y); }

相关知识点:if 语句的嵌套;数学函数的调用方式。 6.模仿第5题,写程序实现以下函数:

???

??>-≤≤-<=)10(113)101(12)1(x x x x x x y

用scanf 函数输入x 的值,求y 值。运行程序,输入x 的值(分别为x<1、1≤x<10、x≥10三种情况),检查输出的y 值是否正确。

相关知识:①用if 的嵌套实现分段函数;②比较运算符的正确使用;③算术运算符*的正确使用。

7.阅读分析以下程序的功能。 #include void main( ) { int choice; int value;

printf("Convert:\n"); /* 显示菜单 */

printf(" 1:decimal (十进制)to hexadecimal (十六进制)\n "); printf(" 2:hexadecimal to decimal\n ");

printf(" 3:decimal to octal (八进制)\n "); printf(" 4:octal to decimal\n"); printf("enter your choice: "); scanf("%d",&choice);

switch (choice)

{ case 1: /* 选中1时处理 */

printf("enter decimal value:"); scanf("%d",&value);

printf("%d in hexadecimal is:%x\n",value,value);

break;

case 2: /* 选中2时处理 */

printf("enter hexadecimal value:");

scanf("%x",&value);

printf("%x in decimal is:%d\n",value,value);

break;

case 3: /* 选中3时处理 */

printf("enter decimal value:");

scanf("%d",&value);

printf("%d in octal is:%o\n",value,value);

break;

case 4: /* 选中4时处理 */

printf("enter octal value:");

scanf("%o",&value);

printf("%o in decimal is:%d\n",value,value);

break;

}

}

相关知识:①用switch语句实现菜单的方法;②数制转换的方法。

8.编写一程序,要求对输入的数字1~7转换成文字星期几,对其它数字不转换。例如,输入5时,程序应该输出Friday。

①编辑、调试和运行该程序,然后输入4。其输出结果是什么?为什

么是这样的结果?

②该程序有哪些错误?如何修改?

相关知识:①switch语句的正确使用;②break在switch语句中的作用。

实验三循环控制

一、实验目的

1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循的方法实现一些常用算法。并进一步学习调试程序的方法。

二、实验内容和步骤

1.程序求和:1+…+100,填空,实现该功能。

#include

void main()

{

int s,i;

s=0; /* 第5行 */

for( )

s=s+i;

printf("1+...+100=%d\n",s);

}

思考:(1)第5行能不能去掉?其作用是什么?

(2)不用for语句,用while语句改写该程序,实现同样的功能。

2.比较下列两个程序。(验证)

/* 第一个程序 */

#include

void main()

{ int i,n,sum=0;

scanf("%d",&i);

n=i;

while(i<=10)

{ sum+=i;

i++;

}

printf("%d+...+10=%d",n,sum);

}

/* 第二个程序 */

#include

void main()

{ int i,n,sum=0;

scanf("%d",&i);

n=i;

do

{ sum+=i;

i++;

} while(i<=10);

printf("%d+...+10=%d",n,sum);

}

分别运行这两题,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?

3.预习下面程序,若输入12345,分析输出结果是多少?上机验证。

#include

void main( )

{ long data;

scanf("%ld",&data);

while(data)

{ printf("%ld,",data%10); data=data/10; }

}

4. 实现求Fibonacci 数列的前n 个数。(验证、调试)

??

?

≥+===--3

2112

1n F F n n F n n n 或

运行程序,写出运行结果;采用单步跟踪技术运行该程序,观察一下变量的变化。

#include void main( )

{ long int f1, f2; int i,n;

printf("Input n:"); /* 第5行 */ scanf("%d",&n); /* 第6行 */ f1=f2=1;

for(i=1;i

{ printf("%ld\t%ld\n",f1,f2); /* 第9行 */ f1=f1+f2; f2=f2+f1; }

}

思考:(1)f1、f2这两个变量为什么定义为long int 型?

(2)第5行和第6行的相互作用,你会用这种方式来实现输入

吗?

(3)注意第9行的输出“%ld ”中的“1”是字母“L ”的小写形

式,不是数字1。

5. 预习下面程序,写出预习结果并上机验证。(验证)

#include void main( )

{ int i,j,x;

for(i=0,x=0;i<2;i++) { x++;

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

{ if(j%2) continue;

x++;

}

x++;

}

printf("x=%d\n", x);

}

思考:用一句话概括if(j%2)语句的作用。

相关知识:嵌套for循环的执行过程及continue语句的作用。

6.输入一批考试分数,用 1作为结束标志,若输入大于100分,则提示

重新输入,然后计算最高分、最低分与平均分。请调试、检查程序中的错误,

并改正之。

#include

void main( )

{ int mark;

int n=0 ; sum=0 ;

int max=100 ; min=0 ;

for ( ; ; ) ;

{ scanf("%d", &mark);

if ( mark > 100 )

{ printf(" Mark > 100 , Please reinput \n ");

break;

}

if ( mark=-1)

break;

n ++ ;

sum=sum + mark ;

if( mark > max )

max = mark ;

if( mark < min )

min = mark ;

}

sum=sum/ n ;

printf("max =%d , min = %d, aver = %d \n", max , min , sum);

}

提示:该程序有很多错误,下面给出某些错误的说明。当求一批数中的最大值时,若已知一批数的最小值,则将这个最小值作为最大

值的初始值;当求最小值时,情况相反,即若已知这批数的最大

值,则将这个最大值作为最小值的初始值。本例中求一批分数的

最高分,则最高分的初始值应该设为0,然后在程序循环中逐渐

地升高,直至求出最高分;本例中还要求这批分数的最低分,则

最低分的初始值设为100,然后在程序循环中逐渐地降低,直至

求出最小值。实现“若输入大于100分,则提示重新输入”功能

的语句有错;实现“用 1作为结束标志”功能的语句有错。

思考:(1)“一批数据”是几个数据?输入的数据如何结束?程序中哪一行是实现结束这个要求的,写出该语句。

(2)程序中哪个语句是实现”若输入大于100分,则提示重新输

入”这个要求的,写出该语句。

(3)写出您的测试数据及运行结果,注意输入的数据序列中最后

一个应是-1。

7.编程:输入20个1~90的整数,分类统计1~30、31~60、61~90的数各有多少个?

编程点拨:

(1)count1计1~30的个数,count2计31~60的个数,count3计61~

90的个数。

(2)用for循环20次实现该程序的功能:输入一个整数x,判断该数所

在的范围,若x是1~30,则count1加1;若x是31~60,则count2

加1;若x是61~90,则count3加1。

(3)最后,输出统计的结果。

#include

void main( )

{ int count1=0,count2=0,count3=0;

int i,x;

printf(“Please input 20 numbers:”);

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

{ scanf(“%d”,&x);

……… /*补充完成程序*/

}

/* 输出统计结果 */

……………

}

8.编程:素数是除了1和其本身以外,不能被其他自然数整除的自然数。从键盘输入一个数,判断该数是不是素数?

编程点拨:

a)输入这个数x。

b)用for循环2~x-1,用2~x-1的每一个数去除x,若有一个数

整除x,则说明x不是素数;否则,x就是素数。

c)最后,将判断结果输出。

#include void main( ) { int i, x;

printf("Enter one natural integer: "); scanf("%d ",&x);

for(i=2;i

思考:其实,只需要判断2~x 之间的整数能否整除x 就可以判断x 是否为素数,此时,如何修改程序?

9.编程:显示所有的水仙花数。谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例,153是水仙花数,因为153=13+53+33 。有两种解题思路,选择其中之一编程实现:

(1) 利用三重循环,将这三个数通过一定的运算符连接成一个3位数,

然后判断是否是水仙花数。 for(i=1;i<=9;i++) for(j=0;j<=9;j++)

for(k=0;k<=9;k++)

注意,因水仙花是一个三位数,百位i 是从1开始,不能从0开始,十位j 和个数位k 可以从0开始。

(2) 利用一个循环,对100~999范围内的每个3位数逐位分离后进行

判断。

for(i=100;i<999;i++) { a=i/100;

b=(i-a*100)/10; c=i%10; ……… }

10.编程:输出下列图形。 分析:这是由星号构成的5行5列的三角形图形。每一行的星号数量为:1、3、5、7、9。考虑两点,一是每一行上星号的生成规则,二是每一行第一个星号字符的输出位置。每一行的星号与行号有关,即2*i+1,其中i 是行号;每一行的输出位置比上一行少一个空格,可以这样实现:for(j=1;j<=40-i;j++) printf(“%c”, ‘ ’),其中i 是行号。

* *** ***** *******

*********

实验四数组

一、实验目的及要求:

(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法;

(2)掌握字符数组和字符串函数的使用;

(3)掌握与数组有关的算法(特别是排序算法)。

二、实验内容和步骤

1.调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。

#inclue

#define N 10

void main( )

{ int i,a[N],av;

for(i=0;i

scanf("%d",a[i]);

for(i=0;i

{ printf("%d",a[i]);

if(i%3==0)

printf("\n");

}

for(i=0;i!=N;i++)

av+=a[i];

printf("av=%f\n",av);

}

上面给出的程序是完全可以运行的,但是运行结果是完全错误的。调试时请注意数组元素的输入问题、输出格式问题等。请使用前面实验所掌握的调试工具,判断程序中的错误并改正。

相关知识:①数组元素值的输入;②求和求平均值的相关变量初始化问题;③输出格式符的正确使用。④数组元素的格式化输出。

2.下面程序是输入5个数据,然后求它们的和并输出结果。

#include

void main( )

{int i, a[5], sum = 0;

scanf("%d,%d,%d,%d,%d", a );

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

sum += a[i];

printf("sum = %d \n", sum);

}

该程序中有哪些错误?如何修改?写出正确运行后的结果。

相关知识:数组元素的输入和输出只能逐个元素操作,而不能以数组名作整体操作。

3.有一个3行4列的距阵,现要求编程求出其中最大的那个元素的值,以及它所在的行号与列号。程序的初始说明和输出语句如下所示,请补充完成该程序。

#include

void main( )

{ int i, j, row, colum, max;

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

……

printf(" Max = %d, Row = %d, Colum = %d \n", max, row, colum);

}

编程点拨:

① 初始化row、colum及max。

② 使用for循环的双重循环逐行把元素值与max值进行比较,

比较结果如果元素值比max值大,则改变max值,同时改变

row和colum的值。

③最后输出max,row和colum的值。

相关知识:①二维数组的定义和初始化;②使用二重循环对二维数组元素的访问;③求最值时相关变量初值的设定。

4.数组中已存互不相同的10个整数,从键盘输入一个整数,输出与该值相同的数组元素下标。

编程点拨:

①输入要查找的变量x的值;

②使用循环将输入的数和数组元素逐个进行比较,若找到,则提前退出

循环;

③根据循环是正常结束还是提前结束来判断是否找到x。

部分源代码:

#include

void main( )

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

/*输入x变量的值 */

for ( i=0; i<10; i++ ) printf("%4d",a[i]);

printf("\n");

/* 循环查找与x 相等的元素 */

if ( ) printf("%d\n",i); /* 输出查找结论 ,输出

下标值 */

else printf("Not found %d\n",x); }

5.编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。

编程点拨:

① 定义数组时多开辟一个存储单元; ② 找合适的插入位置;

j=0 a[j] ≥k? 即20 ≥15 ? 是 j++ j=1 a[j] ≥k? 即18 ≥15 ? 是 j++ j=2 a[j] ≥k? 即16 ≥15 ? 是 j++

j=3 a[j] ≥k? 即14 ≥15 ? 不是,结束循环

while( a[j]>=k && j<10 ) j++;

找不到比k 小的元素时也要退出循环

③ 向右移动插入点后的元素;先把a[9]移到a[10],a[8]移到

a[9],…a[i]移到a[i+1],直到把a[j]移到a[j+1],即:i=j 停止移动元素。

for(i=9;i>=j;i-- ) a[i+1]=a[i];

20 18 16 14 12 10 8 6 4 2

a

1

2

3

4

5

6

7

8

9

下标=

10

k

15

找合适的插入位置:j=3

j=3

k=0;

for ( i=1; i<10; i++ ) if ( a[k]

部分源代码:

#include #define N 11 void main()

{ int i,j,a[N];

printf(“Please input 10 numbers:”); for (i=0; i

scanf(“%d ”,&a[i]); /*乱序输入10个整数*/ …… }

相关知识:①比较排序法、选择排序法和冒泡排序法;②数据元素的

插入。

6.输入十个互不相同的整数并存在数组中,找出最大元素,并删除。 编程点拨:

① 求最大值所在元素下标:不必用max 记住最大值,只要用k 记住最大值所在的元素下标;

② 删除最大值:从最大值开始将其后面元素依次前移一个位置。

部分源代码: k=0;

if ( a[k]

k=1; 执行 if ( a[k]

k=2; 不执行 if ( a[k]

2 8 16 14 1 10 8 16 4 20 6

a

1

2

3

4

5

6

7

8

9

下标=

10

20 18 16 14 12 10 8 6 4 2

a

0 1 2 3 4 5 6 7 8 9 下标=

10

k

15

④ 插入。

k=3; 执行

相关知识:①删除数组元素的概念;②移动数组元素的算法;③求最大值位置的算法。

7. 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空:#include

void main( )

{ float x[1000], sum=0.0, ave, a;

int n=0, i;

printf ("Enter mark : \n") ;

scanf("%f", &a);

while (a>=0.0 && n<1000)

{ sum+= ; x[n]= ;

n++; scanf("%f", &a);

}

ave= ;

printf ("Output : \n");

printf ("ave = %f\n", ave);

for (i=0; i

if ( ) printf("%f\n", x[i]);

}

8. 综合编程题:打印如下杨辉三角形

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

编程点拨:

杨辉三角形有如下特点:

①只有下半三角形有确定的值;

②第一列和对角线上的元素值都是1;

③其它元素值均是前一行同一列元素与前一行前一列元素之和。

9.调试下列程序,使之具有如下功能:任意输入两个字符串(如:“abc 123”和“china”),并存放在a,b两个数组中。然后把较短的字符串放在a 数组,较长的字符串放在b数组。并输出。

#include

#include

void main()

{ char a[10],b[10];

int c,d,k,ch;

scanf("%s",&a);

scanf("%s",&b);

printf("a=%s,b=%s\n",a,b);

c=strlen(a);

d=strlen(b);

if(c>d)

for(k=0;k

{ ch=a[k];a[k]=b[k];b[k]=ch;}

printf("a=%s\n",a);

printf("b=%s\n",b);

}

相关知识:程序中的strlen()是库函数,功能是求字符串的长度,它的原型保存在头文件"string.h"中。调试时注意库函数的调用

方法,不同的字符串输入方法,通过错误提示发现程序中的错

误。

实验五函数与编译预处理

一、实验目的

1. 掌握定义函数的方法。

2. 掌握函数实参与形参的对应关系以及“值传递”的方法。

3. 掌握函数的嵌套调用和递归调用的方法。

4. 掌握全局变量和局部变量,动态变量、静态变量的概念和使用方法。

二、实验内容和步骤

1.阅读程序,通过调试该程序,熟悉函数的调用方法及单步跟踪键。

#include

void main()

{ void fun(int i, int j, int k);

int x,y,z;

x=y=z=6;

fun(x,y,z);

printf("%x=%d;y=%d;z=%d\n",x,y,z);

}

void fun(int i, int j, int k)

{ int t;

t=(i+j+k)*2;

printf("t=%d\n",t);

}

2.阅读程序注意函数调用过程中形参、实参的关系。

#include

void main()

{ int x=10,y=20;

void swap (int ,int);

printf("(1)in main :x=%d,y=%d\n",x,y);

swap(x,y);

printf("(4)in main :x=%d,y=%d\n",x,y);

}

void swap (int m,int n)

{ int temp;

printf("(2)in main :m=%d,n=%d\n",m,n);

temp=m;m=n;n=temp;

printf("(3)in main :m=%d,n=%d\n",m,n);

}

把用户自定义函数swap()中的形式参数m和n对应改成x和y,使其与实参变量同名,再用F7跟踪程序的运行,看看有什么变化。

相关知识:形参具有“用之则建,用完则撤”的特点。在函数定义时,函数名后面圆括号内的参数称为形参;在函数调用时,函数名后面圆括号内的参数称为实参。对于实参,在调用函数中对其进行定义时,不仅指明它的类型,而且系统还为其分配存储单元。而对于形参,定义时仅仅只是指明它的类型,并不在内存中为它们分配存储单元,只是在调用时才为其分配临时存储单元,函数执行结束,返回调用函数时,该存储单元立即撤销。

3.程序是实现求素数的,请填空完成该程序,并上机运行测试。

#include

#include

void main()

{ int m;

; /* 申明求素数函数 */

printf("Please input a data m=:");

scanf("%d",&m);

; /* 调用求素数函数 */

}

void prime(int n)

{ int i,k;

k=sqrt(n);

for(i=2;i<=k;i++)

if (n%i==0) break;

if(i>=k+1)

printf("This is a prime number");

else printf("This i sn’t a prime number");

}

4.程序的功能是从键盘上输入的若干个数并求出最大值。请填空完成该

程序。

#include

void main( )

{ int i;

int s[10], max;

/* Findmax()函数的申明 */

;

printf("Input 10 number : \n");

/* 输入10个数据到s数组中 */

;

/* 调用Findmax函数 */

;

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

printf("%4d", s[i]);

printf("\nthe max is %d ",max);

}

int Findmax( int x[ ], int n )

{ int max,i;

max=x[0];

for ( i=1; i

if(max

max=x[i];

return max;

}

相关知识:练习形参是数组的函数申明、调用格式;复习数组的输入方法。

5.程序的功能是从键盘上输入的若干个数按升序排序。请调试检查该程

序中的错误,程序如下:

#include

void main( )

{ int i , k;

float s[100], j ;

printf(" Input number : \n");

for (i=0; scanf("%f",&j); i++) s[i]=j; sort(s, i);

for (k=0; k

printf( "%f", s[k]); printf("\n"); }

void sort( int x[n], int n ) { int i, j, temp,min; for ( i=0; i

for(j=i+1;j

if(min!=i)

{ temp=x[i]; x[i]=x[min]; x[min]=temp; } } }

错误提示:形参和实参的数据类型不一致;一般形参数组在说明时不指定数组的长度,而仅给出类型、数组名和一对方括号;用户自定义函数sort()没有申明过。

注意:for (i = 0; scanf("%f",&j); i++)这一行中for 语句第二个表达式的使用形式,此处用了scanf()函数的出错来结束输出循环。请读者查一下教材后面的附录,看看什么时候scanf()函数返回0,此时就可以结束循环。

6. 编写程序,实现由主函数输入m 、n ,按下述公式计算并输出n

m C 的值。

)!

(!!

n m n m C n m -=

提示:定义一个求阶层的函数,然后在主函数中调用三次即可求得。 7. 阅读如下递归程序,其功能是什么?上机调试。

#include void main( ) { int m, k;

void dtoo( int n ,int r );

课程设计任务书

青岛大学 课程设计任务书 院系: 自动化工程学院 专业: 电子信息工程 班级: 电子(三班) 学生姓名: 刘琳燕 指导教师: 王汉萍庄晓东 下发日期: 年月日

毕业设计(论文)课题方向:图像边缘检测 题目:图像边缘检测方法的研究与实现 专业课程设计日期:2011.12.9 ~ 2011.12.23 一、题目来源: 教师自选题目 二、设计内容及要求: 总结边缘检测的方法,并利用所查到的边缘检测算子对一幅图像进行边缘检测,显示检测结果;对添加噪声的图像进行边缘检测,比较各边缘检测算子对噪声的敏感性;讨论如何能够消除噪声对边缘检测的影响;较深入研究其它的一种边缘检测算法。 设计中要有自己的设计思想和体会。 三、各阶段时间安排,应完成的工作量: 专业课程设计的时间共2周。 1. 12月9日,布置任务; 2. 12月12日----14日,查阅资料; 3. 12月15日----20日,研究边缘检测算法,编写并调制程序; 4. 12月21日----23日,撰写课程设计论文。

四、参考文献: 1. MATLAB R2007 图像处理技术与应用,王爱玲,叶明生等编著,电子工业出版社 2. MATLAB 7.0 图形图像处理,王家文,李仰军编著,国防工业出版社 3. MATLAB 图像处理技术与应用,董长虹主编,国防工业出版社 4. 图像处理和分析基础,章毓晋编著,高等教育出版社 5. 数字图像处理,冈萨雷斯编著,阮秋奇阮宇智等译,电子工业出版社 指导教师评语: 认真正确完善完善工作态度:较认真理论分析:较为合理方法设计:合理 不认真一般一般 较差较差 思路清晰出勤 论文撰写:思路较清晰其它:工作主动 一般拒绝抄袭 思路混乱 总评成绩: 指导教师: 年月日

课程设计任务书

广东工业大学课程设计任务书 题目名称 带式运输机传动装置 学生学院 材料与能源学院 专业班级 10金材(2)班 姓 名 张泽添 学 号 3110006711 一、课程设计的内容 设计一带式运输机传动装置(见 图1)。设计内容应包括:两级传动装置的总体设计;传动零件、轴、轴承、联轴器等的设计计算和选择;减速器装配图和零件工作图设计;设计计算说明书的编写。 图2为参考传动方案。 二、课程设计的要求与数据 已知条件: (1)运输带工作拉力:F =2.7 kN ; (2)运输带工作速度:v = 2 m/s ; (3)卷筒直径: D = 320 mm ; (4)使用寿命: 8年; (5)工作情况:两班制,连续单向运转,载荷较平稳; 动力及传动装置 D v F 图1 带式运输机传动装置 图2 参考传动方案

(6)制造条件及生产批量:一般机械厂制造,小批量; (7)工作环境:室内,轻度污染环境; (8)边界连接条件:原动机采用一般工业用电动机,传动装置与工作机分别在不同底座上,用弹性联轴器连接。 三、课程设计应完成的工作 (1)减速器装配图1张; (2)零件工作图1张; (3)设计说明书1份。 四、课程设计进程安排

五、应收集的资料及主要参考文献 (1)杨可桢、程光蕴主编. 机械设计基础[M]. 北京:高等教育出版社,1999年6月第4版 (2)林怡青、谢宋良、王文涛编著. 机械设计基础课程设计指导书[M]. 北京:清华大学出版社,2008年11月第1版 (3)机械制图、机械设计手册等。 发出任务书日期:2012年 04月16 日指导教师签名: 计划完成日期: 2012年 04月27 日基层教学单位责任人签章: 主管院长签章:

课程设计任务书

C++课程设计任务书 一、课程设计目的: 通过C++课程设计,使学生能深入理解面向对象程序设计的思想,加深对C++程序设计相关概念的理解和应用,将课程所学与实际问题相关联。通过课程设计,锻炼和提高学生使用面向对象程序设计思想分析和解决实际工程问题的能力。 二、课程设计要求 1.明确任务,学习与查阅有关资料 2.按要求完成课题内容,撰写设计报告。 3.对应用程序的要求: (1)凡等候用户输入时,给出足够的提示信息,如“请选择(1 借书 2 还书……):”提示用户选择。 (2)程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。对 输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入值给出出错信息,指出错误类型,等待重新输入。 (3)对删除数据应给出警告。 三、课程设计步骤与方法 1.需求分析:对用户提出的问题提出解决的办法和思路。 2.根据需求,设计系统功能模块,并设计相应的类和界面。 3.根据基本思路,确定输入和输出,设计程序的算法。 4.确定用到的所有类的描述和定义,并设计测试程序来对类进行测试。 6.在计算机上编译程序,检验程序的可运行性。 7.编写C++课程设计报告。 四、课程设计报告内容 写设计报告(要求正规打印,A4幅面,并提交电子档),内容包括: 题目 小组人员具体分工 系统功能模块结构图 数据结构设计及用法说明 程序结构(画流程图) 各模块的功能 试验结果(包括输入数据和输出结果)

具体调试过程及心得体会 参考文献 附录:源程序清单(并提交电子版编译目录压缩包) 五、期末考核课程设计内容 实验课按组讲解(课前各组负责将源代码拷贝给所有同学),其它同学作为用户提出完善要求,协助测试。课下重新完善程序。 1、第1组10月25日 课题名称:个人财政管理系统 说明:管理个人的财政支出。 要求: 1)程序中的收支情况按时间顺序存放,将其放入一个文件中,每次运行程序时首先打开这个文件,程序运行完毕时将更新的记录放回文件中。 2)可以按时间的范围检查账目,要求有检索的功能,输入时间范围即可打印出详细报表。3)可以修改、删除某笔收入或支出。 4)当输入时间发生错误(如月份超过12等),要求重新输入正确的时间;当结余的数目为负数时,显示出信息,警告已经超支。 5)显示时,要求每增加一笔笔收入和支出都要重新统计盈余数目。 2、第2组10月25日 课题名称:日历管理器 说明:模仿现实生活中的挂历,显示日历。 要求: 1)当前显示以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几),当系统日期变到下一月时,系统自动显示下一月。 2)可以实现日期的加法运算,即在日期相加的选项中增加日期相加天数,结果为新日期。3)根据用户输入的年份,自动产生每个月的日期列表。包括输入非法数据(如负数、日期超过31天等情况)的识别显示功能。 4)用户可选则显示日历的形式,如显示星期及英文形式的月份的功能。 3、第3组11月1日 课题名称:十点半游戏 说明:模拟10点半扑克牌游戏,玩家最多可以要5张牌。但如果牌的点数之和超过10点半(大王、小王、J、Q、K为半点)则自动出局;在不超过10点半的情况下,玩家和庄家(电脑)比拼手牌总点数的大小,大者为赢家。 要求: 1)设定针对不同玩家的权限:高级玩家可以查看下一张牌,即按H键,然后要求输入密码,密码正确可以看牌,并决定是否要牌;超级玩家可以查看庄家的牌面,并输入自己想要的牌,有赢无输。 2)每次要完牌后可以重新设定赔率,只能加注。也就是说如果牌好,可以加大赌注(初始玩家跟电脑各有100点可下注)。 4、第4组11月1日

Java程序设计实训实验指导书

《JAVA 程序设计实训》 实验报告 班级: 学号: 姓名:

实验一开发简单的Java应用程序一、上机目标: 开发“我行我素”购物管理系统: 1.制作系统登录菜单 2.制作系统主菜单 3.制作客户信息管理菜单 二、训练技能点 1.熟悉用Eclipse编写Java程序 2.会使用输出语句从控制台输出信息 3.会进行代码排错 三、实验内容 阶段1: 训练要点: 使用Eclipse平台开发Java程序 Java输出语句 需求说明: 从控制台输出一行信息:欢迎使用开心购物管理系统1.0版实现思路: 创建一个Java项目:ShopManagementSystem 创建一个文本文件:LoginMenu1.java 编写程序框架 编写输出语句 编写注释 代码: public class LoginMenu1{ public static void main(String[ ] args){ System.out.println(" "); } } 阶段2: 需求说明: 从控制台输出多行信息

空行 代码: public class LoginMenu2 { public static void main(String[] args) { /*从控制台输出信息*/ System.out.println("************************************\n"); System.out.println( ); System.out.println( ); System.out.println("************************************"); } } 阶段3: 训练要点: 使用\n和\t控制输出格式 需求说明: 从控制台输出购物管理系统的登录菜单 实现思路: 创建文件:LoginMenu.java 结合使用\n和\t控制菜单输出格式 代码:

自动化综合课程设计任务书详解

自动化专业综合课程设计 自动化系 2016年12月级: 指导教师: 学 期: 自动化131 洪露 2016 - 2017 - 1

2. 一、课程设计目的 自动化综合设计是学生必修的实践环节之一, 应使学生较系统的完成自动化系统设 计,从选题、方案论证、设计与实现、系统测试、总结报告等基本过程,加深对自动控 原理、过程控制、运动控制、测试技术与自动化仪表等相关课程理论知识的分析理解。 通过实践引导学生把原理分析与工程设计结合, 掌握自动控制系统设计的基本方法和一 般规则, 提高综合应用能力, 培养学生的创新思维和实践能力, 基础。 1、培养独立完成一个课题或实际问题的能力 2、培养查阅资料文献手册的能力 3、熟悉元器件类型,掌握合理选取元件的规则 4、锻炼撰写论文和设计报告的能力 5、培养科学的工作作风和严谨务实的态度 二、设计内容 本设计的主要内容包括:自主选题、理论设计、调试与仿真、 等。 自主选题。每个题目学生不超过 3 人,鼓励学生单独完成。 理论设计包括方案选择、系统设计等。通过调试与仿真,进一 到课程设计要求,使其更接近于实际产品。 撰写设计总结报告, 把理论设计内容, 调试过程进行全面总结。 小组成员既要分工, 又要协作, 同一小组成员之间可以相互探讨、 协商,可以互相借鉴或参考别人的设计方 法和经验, 但每个学生必须独立完成设计报告, 要有完整的设计资料, 独立撰写设计报 告,设计报告雷同率超过 50%的课程设计考核按不及格处理。 最后,通过答辩过程展现课程设计所做的工作。 三、设计组织方式 课程设计过程采用相对集中方式,以分组为单位集中到实验室进行。配备计算机、 相关软件及电子元器件等器材设备。 实验室提供常见元器件及设备, 其他所需器件应提 前通知实验室采购或自行购买。 在课程设计过程中,实训教学课堂化,严格考勤制度,在课程设计期间累计旷课达 到 10 学时,取消考核资格。需要外出查找资料,购买电子元件时,必须向指导老师请 假,经同意后方可外出。 电机对象参数测量; 电流环、转速环 PI 参数设计; 以运算放大器为核心器件设计并实现电流比较器及 PI 运算硬件电路。 双闭环直流电机调速转速环数字 PID 调节器 电机对象参数测量; 电流环、转速环 PI 参数设计; 以 A/D 转换器和单片机为核心器件设计并实现转速信号采集和数字 PI 运 为毕业设计打下坚固的 撰写设计报告并答辩 步完善设计,使之达 四、 设计题目 1. 双闭环直流电机调速系统电流环模拟 PI 调节器

软件综合课程设计任务书

软件综合课程设计任务书

————————————————————————————————作者: ————————————————————————————————日期: ?

软件综合课程设计任务书 一、课程设计的目的、要求 目的:软件综合课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 实现以下目标: 1.深化已学的理论知识,完成理论到实践的转化 通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将所学的理论知识运用于开发实践中,并在实践中逐步掌握软件工具的使用。 2. 提高分析和解决实际问题的能力 课程设计不仅是一次软件工程实践的模拟训练,同时通过软件开发的实践,积累经验,提高分析问题和解决问题的能力; 3. 培养“开拓创新”能力 大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力; 要求:学生组成开发小组(2~4人),以小组为单位选择并完成一个规模适度的软件项目,在教师的指导下以软件设计为中心,独立完成从需求分析到软件测试的开发过程。 二、设计步骤安排 1.确定课题 由教师命题并给出各课题的具体需求,学生根据课题涉及的知识领域及自己对该领域的熟悉程度和对该课题的兴趣,选择课题,经教师调整审定后确定; 2. 需求分析 建立系统的分析模型,这是系统开发的重要阶段。主要工作是: 分析确定系统应具备的功能、性能,并从经济上、技术上进行可行性分析,建立“需求分析模型”确定开发计划。 3. 软件设计 具体工作是:对系统的分析模型进行修改、细化,进行系统的结构设计,用户界面设计,数据管理部件设计(若系统涉及到数据库,要对数据库结构进行设计) 4. 编码与测试 根据项目的应用领域及语言的特点,选择编程语言进行编码,要求给出程序的详细注释(包括模块名、模块功能、中间过程的功能及变量说明); 由开发小组进行除验收测试以外的测试工作(包括单元测试、组装测试与系统(确认)测试)。所有测试过程都要求采用综合测试策略,先进行静态分析,再进行动态测试。要求制定测试计划、记录测试过程与结果、保留测试用例、写出测试报告。 5. 验收测试 由教师组织验收测试的实施,内容包括:系统能否正确运行,实际系统与设计方案是否一致,是否实现了需求所确定的功能与性能,系统设计有无特色,算法有无创新,系统结构是否合理、新颖,系统界面是否友好、美观,操作是否简单,使用是否方便。6.总结和整理课程设计报告

《Java语言程序设计》实验指导手册

Java语言程序设计实验指导手册 班级:_______________ 学号:_______________ 姓名:_______________ 电子与信息工程学院计算机科学系

第一部分上机实验的指导思想和要求 一、上机实验的目的 《Java语言程序设计》是计算机专业的主要选修课。Java语言是目前广为流行的程序设计语言之一,适用于网络上编程,满足Internet上软件开发的需要,它是一门概念性和实践性都很强的专业课程。通过学习本课程,应能准确完整地理解Java语言的语法、语义规则;掌握Java语言的数据类型、表达式及控制流程;运用面向对象程序设计思想,正确的阅读、分析程序和设计程序,掌握面向对象程序设计方法,提高程序设计能力,以适应计算机学科不断发展的需要。 通过系统地上机练习,力求能够达到以下三个目的: 1、课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。 2、上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java 语言程序设计的规律与技巧。 3、在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。 二、上机实验前的准备工作 在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括: 1、复习和掌握与本实验有关的教学内容; 2、实验前对每次上机需要完成的题目进行认真的分析,列出实验具体步骤; 3、写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 4、对运行中可能出现的问题事先作出估计,对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。 三、上机实验的步骤 上机实验一般应包括以下几个步骤: 1、进入Java工作环境(例如命令提示符或MyEclipse集成开发环境)。 2、配置JDK的环境变量。 3、编译并调试Java源程序。如果在编译过程中发现错误,屏幕上会出现“出错信息”,根据提示找到出错位置和原因,加以改正。再进行编译……,如此反复直到程序顺利通过编译为止。

电力系统继电保护课程设计任务书

《电力系统继电保护》 课程设计任务书 适用专业:发电厂及电力系统(三年制) 电力系统继电保护及自动化(三年制) 电气工程系 2008年4月

《继电保护课程设计》任务书 一、 目的要求: 通过本课程设计,使学生掌握和应用电力系统继电保护的设计、整定计算、资料整理查询和电气绘图等使用方法。在此过程中培养学生对各门专业课程整体观的综合能力,通过较为完整的工程实践基本训练,为全面提高学生的综合素质及增强工作适应能力打下一定的基础。本课程主要设计35KV (110KV )线路、变压器、发电机继电保护的原理、配置及整定计算,给今后继电保护的工作打下良好的基础。 二、 设计题目: (一)双侧电源的35KV 线路继电保护的配置及整定计算。 1、 原始资料: 某双侧电源的35KV 线路网络接线如下: 已知:(1)、电厂为3台36000KW 、电压等级为6、3KV 的有自动电压调节器的汽轮发电 机,功率因数cos =0.8,X d ”=0.125, X 2 =0.15, 升压站为2台容量各为10MVA 的变压器 U d =7.5%,各线路的长度XL —1为20KM ;XL —2为50KM ;XL —3为25KM ;XL —4为14KM ;XL —5为40KMA 发 电机 系统 (2)、电厂最大运行方式为3台发电机、2台变压器运行方式,最小运行方式为2台发电机、2台变压器运行方式;XL —1线路最大负荷功率为10MW ,XL —4线路最大负荷功率为6MW 。(3)、各可靠系数设为:K I rel =1.2,K II rel =1.1,K III rel =1.2,XL —1线路自起动系数K Ms =1.1,XL —4

课程设计任务书及指导书格式

课程设计任务书及指导书格式 课程设计任务指导书文本格式一般为: 1.设计题目 2.设计目的 3.任务(要求:对于一班一题或半班一题的,需明确列出每位学生所对应的设计参数,学生以学号的后两位代替;对于一组一题的,应明确每题的学生人数和学生姓名) 4.时间安排 5.设计内容 6.设计工作要求 7.成绩评定标准 8.主要参考资料 Ⅰ、课程设计任务书 一、题目一:刚性基础 某厂房承重体系为三层钢筋混凝土框架结构,边柱荷载标准值F K边=400kN,中柱荷载标准值F K中=600kN,设计只考虑竖向荷载,要求学生完成刚性独立基础的设计(素混凝土基础),并计算沉降。工程设计正负零标高为20.0米,现形场平整平标高为20.0米。 二、设计条件 1 地质条件:场地土层如下:①素填土:松散,厚0.8m;②粘土:可塑,厚4.0 m; ③粉质粘土:硬塑,厚10.0 m;其下为不可压缩基岩; 2、水文地质条件:分布上层滞水,水位随季节性变化,现水位为地下埋深0.5m ; 3、根据岩土工程勘察报告,相关土层的设计参数如下表: 表1:土层设计参数表

表2:土层压缩试验成果表 注:②层土的基础承载力修正系数为η b =0.3,ηd=1.6; 三、设计内容 1 学生承担的具体设计题号见表一,要求每班分4个组。 表三、课程设计题号表 2 设计计算书一份(内容包括) (1)基础平面尺寸、埋深、验算; (2)基础结构施工图; (3)沉降计算; 四、题目二:桩基础 某高层民房,采用钢筋混凝土框架结构,建筑高度46米,边柱(柱断面尺寸600×600mm2 ) 荷载标准值F K边=18000kN,中柱(柱断面尺寸800×800mm2)荷载标准值F K中=30000kN,柱弯矩M K=200KN·m,水平荷载H K=100KN,桩顶允许水平位移10mm,桩顶约束按固结考虑;要求学生完成桩基础的设计。工程设计正负零标高为20.0米,现形场平整平标高为20.0米。 地质条件:场地土层如下:①素填土:松散,厚1.8m;②粘土:可塑,厚5.0 m;③粉质粘土:硬塑,厚10.0 m;其下为不可压缩基岩; 水文地质条件:分布上层滞水,水位随季节性变化,现水位为地下埋深0.5m ; 桩的设计参数如下表。 表5:土层设计参数表

《数据库原理》课程设计任务书

课程设计任务书

《数据库原理》课程设计任务书 一、设计目的 通过本次课程设计,使同学们能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,为开发出一个较为实用的应用系统提供数据库支持。 二、课程设计的要求 1、明确课设任务,复习与查阅相关资料。 2、可以根据老师给出的设计题目,在两周时间内完成其中某一个题目的从用户需求分析、数据库设计到上机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,需经指导教师同意。 3、每位学生必须独立完成课程设计任务,不能抄袭,设计完成后,将所完成的工作交由老师检查;要求写出一份详细的设计报告。 4、按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。 5、应用系统对数据库的使用,写出相应的T-SQL语句及数据库执行结果。 三、数据库课程设计报告主要内容 1、系统需求分析 (1)信息要求:指用户需要从数据库中获得信息的内容与性质。数据库中需要存储那些数据。 (2)处理要求:用户需要完成什么处理功能,对处理的响应时间有什么要求(给出功能模块图)。 (3)安全性和完整性要求。 2、概念结构设计 (1)逐一设计分E-R图,合并分E-R图,生成基本E-R图。 (2)若在合并中存在属性冲突、命名冲突以及结构冲突,给出解决方法,若存在不必要的冗余,则消除并给出设计方法。 (3)基本E-R图中要求标明主码、外码、联系类型。 3、逻辑结构设计 (1)给出由E-R得到的关系模型:并注明转换过程中应用的规则; (2)数据模型的优化; (3)分析这些模式对于应用环境是否合适,确定是否要对某些模式进行合并或分解; (4)用户模式设计; (5)在数据库中一般使用英文名字,在用户视图中则一般使用符合用户一贯的中文命名法; (6)对不同级别的用户定义不同的视图以保证系统的安全性。 4、数据库物理结构设计 以表格的形式列出各张表,包括字段名称、中文含义、数据类型、长度、完整性约束、索引定义、字段说明; 5、数据库实施 (1)使用T-SQL语句实现数据库表; (2)使用T-SQL语句创建必要索引; (3)使用T-SQL语句实现必要的数据库视图; (4)用T-SQL语句实现必要的存储过程及触发器。

Java程序设计实训实验指导书

J a v a程序设计实训实验 指导书 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

《JAVA 程序设计实 训》 实验报告 班级: 学号: 姓名:

实验一开发简单的Java应用程序 一、上机目标: 开发“我行我素”购物管理系统: 1.制作系统登录菜单 2.制作系统主菜单 3.制作客户信息管理菜单 二、训练技能点 1.熟悉用Eclipse编写Java程序 2.会使用输出语句从控制台输出信息 3.会进行代码排错 三、实验内容 阶段1: 训练要点: 使用Eclipse平台开发Java程序 Java输出语句 需求说明: 从控制台输出一行信息:欢迎使用开心购物管理系统版实现思路: 创建一个Java项目:ShopManagementSystem 创建一个文本文件: 编写程序框架

编写输出语句 编写注释 代码: public class LoginMenu1{ public static void main(String[ ] args){ "); } } 阶段2: 需求说明: 从控制台输出多行信息 空行 代码: public class LoginMenu2 { public static void main(String[] args) { /*从控制台输出信息*/ ); );

} } 阶段3: 训练要点: 使用\n和\t控制输出格式 需求说明: 从控制台输出购物管理系统的登录菜单实现思路: 创建文件: 结合使用\n和\t控制菜单输出格式 代码: public class LoginMenu { /* * 显示系统登录菜单 */ public static void main(String[] args) { ); ); } } 阶段4: 需求说明:

PLC课程设计任务书(5.17版)

《电气控制与PLC技术》实训任务书 适用班级:电气自动化10-1、10-2 时间:2012.5.21—2012.6.1

项目(一) 一、设计课题: 十字路口交通灯控制系统设计 二、设计目的: 1、进一步巩固电器与PLC控制的基本知识; 2、掌握PLC程序的设计及调试方法; 3、学会查阅有关专业资料及设计手册。 三、设计任务及要求: 1、根据十字路口交通灯控制要求,确定控制方案; 2、以顺序控制设计法为主设计顺序功能图和梯形图,并进行模拟调试; 3、正确计算选用电器(含PLC),列电器一览表; 4、编写设计说明书(方案的确定、设计环节的考虑及必要说明等)及设备的使用说明; 5、绘制有关图纸:(用A4纸) ①控制面板元器件布置图 ②控制面板安装接线图 四、控制要求: 1、信号灯的动作受方式选择开关总体控制,当选择连续工作方式时,信号灯系统周而复始地循环动作;当选择单周期工作方式时,信号灯系统中止循环,并能停留在初始状态;按停止按钮,所有信号灯都熄灭。 表1 信号灯白天控制具体要求 2、信号灯白天控制的具体要求如表所示:按下启动按钮后,信号灯按表1所示时间顺序运行,顺序功能图选用并行结构。 3、用计数器实现绿灯闪亮,周期为1.5S(通1S、断0.5S); 4、东西绿灯和南北绿灯不能同时亮,否则立刻报警;

5、系统具有断电保持功能,即停电后保持停电前的状态,恢复供电后能在此状态下继续工作; 6、系统具有暂停功能,第一次按暂停按钮系统暂停,系统保持当前状态,第二次按暂停按钮系统在原状态下继续工作; 7、系统具有夜间模式,在停止状态下,按下夜间运行按钮后,南北黄灯和东西黄灯持续闪烁(闪烁规律为亮0.4 秒,暗0.6 秒),而夜间东西南北方向红、绿灯均灭。 注意:夜间模式与白天模式要能正常相互切换。 硬件要求: 系统输入用实训台上基本指令编程练习模块上的按钮和开关,输出用220V 灯泡模拟调试; 五、成绩评定(40%) 项目一成绩=硬件安装(25%)+答辩成绩(50%)+设计说明书成绩(25%) 其中设计说明书内容包含: 1、I/O分配表(10分) 2、I/O连线图(10分) 3、顺序功能图(20分) 4、梯形图(20分) 5、指令表(5分) 6、设计说明书(20分)(方案的确定、设计环节的考虑及必要说明等)及设备的使用说明等; 7、电器一览表(5分) 8、控制面板元器件布置图(5分) 9、控制面板安装接线图(5分)

课程设计任务书(2级)

电子技术课程设计任务书 题目一:信号发生器 一、设计目的 根据常用的电子技术知识,以及可获得的技术书籍与电子文档,初步形成电子设计过程中收集、阅读及应用技术资料的能力;熟悉电子系统设计的一般流程;掌握分析电路原理、工程计算及对主要技术性能进行测试的常见方法;最终,完成从设计图纸到实物搭建的整个过程,并调试作品。 二、任务与要求 1、熟悉信号发生器的组成和基本原理,了解单片集成信号发生器的功能特点; 2、掌握信号波形参数的调节和测试方法的应用; 3、电路能够产生正弦波、方波、锯齿波; 4、掌握信号发生器的设计测试方法; 5、工作电源为+5~+15V 连续可调。 参考方案: 图1、ICL8038原理框图 参考原理: ICL8030内部由恒流源I 1、I 2、电压比较器A 和B 、触发器、缓冲器和三角波变正弦波变换电路组成。外接电容C 经过两个恒流源进行充放电,电压比较器A 、B 的参考电压分别为电源电压(U CC +U CE )的2/3和1/3。恒流源的恒流源I 1、I 2的大小可通过外接电阻调节,但必须I 2>I 1。当触发器的输出为低电平时,恒流源I 2断开,I1给电容充电,其两端电压U C 随时间上升,当U C 上升到电源电压的2/3时,电压比较器A 的输出电压发生跳变,使触发器输出由低电平变为高电平,恒流源I 2接通,由于I 2>I 1(设I 2=2I 1),恒流源I 2加到C 上反充电,相当于C 由一个净电流I 1放电,C 两端电压U C 转为直线下降,当下降到电源电压1/3时,电压比较器B 的输出电压发生跳变,使触发器的输出由高电平变为原来的低电平,恒流源I 2断开,I 1对C 充电,如此重复,产生振荡信号。 若通过调节外接电阻使得I 2=2I 1,触发器的输出为方波,反向缓冲后由9脚输出;C 上

JAVA实验指导书 作业

第Ⅰ部分:实验指导 实验1:Java开发环境J2SE 一、实验目的 (1)学习从网络上下载并安装J2SE开发工具。 (2)学习编写简单的Java Application程序. (3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。 二、实验任务 从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。 三、实验内容 1.安装J2SE开发工具 Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从https://www.wendangku.net/doc/ee15362027.html,上进行下载。安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。 2.安装J2SE源代码编辑工具Edit Plus 教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java原程序的常用命令的用法。 3.编写并编译、运行一个Java Application程序。 创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。 4.编译并运行下面的Java Application程序,写出运行结果。 1:public class MyClass { 2:private int day; 3:private int month;

4:private int year; 5:public MyClass() { 6:day = 1; 7:month = 1; 8:year = 1900; 9:} 10:public MyClass(int d,int m,int y) { 11:day = d; 12:month = m; 13:year = y; 14:} 15:public void display(){ 16:System.out.println(day + "-" + month + "-" + year); 17:} 18:public static void main(String args[ ]) { 19:MyClass m1 = new MyClass(); 20:MyClass m2 = new MyClass(25,12,2001); 21:m1.display(); 22:m2.display(); 23:} 24:}

自动化c语言课程设计任务书教师评价系统数据库管理系统设计大学论文

课程设计报告 课程名称C语言程序设计 课题名称教师评价系统数据库管理系统设计 专业自动化 班级 学号 姓名 指导教师

湖南工程学院 课程设计任务书 课程名称C语言程序设计 课题教师评价系统数据库管理系统设计 专业班级自动化1602 学生姓名 学号 指导老师 审批 任务书下达日期2016 年12 月19 日 任务完成日期2016年12 月30 日

一、设计内容与设计要求 1.设计内容: 数据库管理系统设计 涉及的知识点: ①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句; ②掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数 之间的关系;掌握变量的作用域与生存期,了解函数的作用域。 ③掌握并熟练运用C语言的图形处理功能和库函数的应用。 ④掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组 与字符串的关系以及字符串的简单处理。 ⑤掌握结构的概念,结构类型的定义,结构变量的定义和初始化,结构成员的 表示,结构的赋值含义,结构与指针、函数的关系。 ⑥掌握基本的文件操作。 题目5:教师评价系统 输入教师评价信息,提供新增、修改和显示等功能。 成绩单如下: 教师编号:long 4bytes 教师姓名:char 20bytes 教师评分:int 4bytes 总分:int 2bytes 名次:float 4bytes 等级:char 8bytes 系统功能模块如下: (1) 建立教师评价数据库; (2) 菜单实现以下功能: ①计算每个教师的总成绩;

②按总成绩排定教师名次; ③给教师评定等级(85以上优秀,60~84合格,60以下不合格) ④新增一个教师信息进行评价 ⑤按教师编号查询教师评价信息; 2.设计要求: 1)要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有内容; 2)要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过程和算法, 给出程序流程图和全部源程序; 3)设计报告的完整格式应包括以下部分的内容: ①设计总体思路; ②总体模块框图; ③各个程序模块说明; ④程序流程图; ⑤程序清单; ⑥课程设计总结与体会(不少于400字)。 4)上机时要求必到,设计完成,必须演示程序,答辩并提交设计报告。 5)总评成绩由三部分组成:报告占20%,平时占20%,课程设计题目各占30%。 二、进度安排 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。

专业基础实践课程设计任务书2

专业基础实践课程设计任务书 学生姓名:专业班级:电信1203班 指导教师:桂林工作单位:信息工程学院 题目: 专业基础实践第2套综合题 初始条件: (1)提供实验室机房及其Matlab6.5以上版本软件; (2)《MATLAB教程》学习。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求): (1)选择一本《MATLAB教程》,认真学习该教程的全部内容,包括基本使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容; (2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。 (3)对实验结果进行分析和总结; (4)要求阅读相关参考文献不少于5篇; (5)根据课程设计有关规范,按时、独立完成课程设计说明书。 时间安排: (1) 布置课程设计任务,查阅资料,学习《MATLAB教程》十周; (2) 进行编程设计一周; (3) 完成课程设计报告书一周; 指导教师签名: 年月日 系主任(或责任教师)签名: 年月日

目录 1 MATLAB概述……………………………………………………………………1. 1.1MATLAB简介 (1) 1.2MATLAB功能 (2) 1.3MATLAB的典型应用 (3) 2 第2套题目:专业基础实践课程设计2 (3) 题一 (5) 题二 (5) 题三 (6) 题四 (7) 题五 (11) 题六 (12) 题七 (13) 题八 (14) 题九 (15) 题十 (16) 3 课程设计心得 (17) 4参考文献 (18) 5 本科生课程设计成绩评定表 (19)

轨道工程课程设计任务书、指导书及设计要求

轨道工程课程设计任务书 一、出发资料 1.机车车辆条件:韶山Ⅲ(SS3)型电力机车;机车轴列式30-30,轴距布置为230+200+780+200+230 (cm),轮重。 2.线路条件: (1)线路设计速度80km/h,最小曲线半径500m(实设超高为100mm),规划采用有砟轨道结构。 (2)线路铺设成无缝线路,铺设地区为福州,铺设线路长度为10km。 (3)道床顶面的容许应力为,路基顶面的容许应力为。 二、设计任务 (1)进行有砟轨道结构设计,包括钢轨和扣件的选型,轨枕的类型及布置根数,道床的等级及尺寸,并检算强度是否满足使用要求。 (2)进行无缝线路设计,包括设计锁定轨温确定、缓冲区设计、预留轨缝确定、轨条布置。 三、提交的成果 (一)、设计计算说明书 (1)轨道结构选型。 (2)轨道结构强度检算。 (3)无缝线路设计计算。 (二)、设计图图纸 (1)轨道结构组装图及选型说明。(1张A3)

(2)轨道结构受力图(3张A4:钢轨弯矩和挠度1张,轨枕三个支承状态的弯矩分布,道床顶面、路基顶面、路基第二区域、路基第三区域应力)。 (3)无缝线路设计图(1张A4或A3,基本温度力图、轨条布置图及相关说明)。 设计指导书

一、课程设计的基本步骤: 课程设计的步骤如图1所示: 图1 课程设计步骤 二、设计方法 (一)、轨道结构选型设计 根据机车车辆和线路条件,确定钢轨、轨枕、扣件的类型及刚度、道床的等级及主要尺寸(厚度、顶宽和边坡坡度)。钢轨、轨枕及扣件的可选用类型从教材中选择,道床的等级及主要尺寸也参考教材的内容确定。 以下两点说明: 1、道床厚度的选择 道床厚度设计根据《铁路轨道设计规范》(TB10082-2005)和《地铁设计规范》(GB50157-2003)进行,为方便可根据运营条件从教材表1-1中选择。我们的轨道类型可参考中型轨道结构。 2、钢轨支座刚度D 钢轨支座刚度D的意义是使钢轨支点顶面产生单位下沉时所必须施加于支点顶面上的力,单位一般采用kN/mm表示。 D值的计算:1/D=1/D1+1/D2 教材(7-3) 式中D1为扣件刚度,其值由设计确定;D2为道床支承刚度,计算

课程设计任务书

电子技术课程设计任务书 项目1交通灯控制设计 一、设计目的 根据常用的电子技术知识,以及可获得技术书籍与电子文档,初步形成电子设计过程中收集、阅读及应用技术资料的能力;熟悉电子系统设计的一般流程;掌握分析电路原理、工程计算及对主要技术性能进行测试的常见方法;使学生学会使用电路仿真分析软件(Multisim)在计算机上进行电路设计与分析的方法。要求学生所选课题必须在计算机上通过虚拟设计确定设计方案,通过虚拟仿真建立系统,完成设计要求。 二、任务与要求 设计一个十字路口控制交通秩序的交通灯,满足以下条件: 显示顺序为其中一组方向是绿、黄、红;另一方向是红、绿、黄。设臵一组数码管以倒计时的方式显示语序通行或禁止通行时间,其中支通道绿灯的时间是20s,另一个方向上主通道的绿灯亮的时间是30s,黄灯亮的时间都是5s. 选做:当任何一个方向出现特殊情况,按下手动开关,其中一个方向通行,倒计时停止,当特殊情况结束后,按下自动控制开关恢复正常状态。 三、课程设计报告要求 1、任务说明 2、目录 3、正文 (1)总体方案框图设计 (2)单元电路具体设计 (3)计算器件参数值 (4)选择相关元器件 (5)画出总体设计电路图 (6)利用Multisim软件调试,对调试过程中出现的问题给出定性的的分析,最终能实现预计的效果。 4、课程设计的收获及体会 5、参考文献 四、评分标准

五、任务安排 六、所需调试工具 Multisim软件。

项目2用移位寄存器实现彩灯控制 一、设计目的 根据常用的电子技术知识,以及可获得技术书籍与电子文档,初步形成电子设计过程中收集、阅读及应用技术资料的能力;熟悉电子系统设计的一般流程;掌握分析电路原理、工程计算及对主要技术性能进行测试的常见方法;使学生学会使用电路仿真分析软件(Multisim)在计算机上进行电路设计与分析的方法。要求学生所选课题必须在计算机上通过虚拟设计确定设计方案,通过虚拟仿真建立系统,完成设计要求。 二、任务与要求 采用移位寄存器设计一个彩灯循环控制器,要求有两种变化花样。 三、课程设计报告要求 1、任务说明 2、目录 3、正文 (1)总体方案框图设计 (2)单元电路具体设计 (3)计算器件参数值 (4)选择相关元器件 (5)画出总体设计电路图 (6)利用Multisim软件调试,对调试过程中出现的问题给出定性的的分析,最终能实现预计的效果。 4、课程设计的收获及体会 5、参考文献 四、评分标准 五、任务安排

java实验指导书

实验指导书 (实验报告书写规范) 1.拿到实验报告后,先填写封面: 2012-2013学年第一学期 实验室名称:兰州工业学院计算机一体化教室 课程名称:《Java语言程序设计》 指导教师:杜叔强 学号:(只写后2位) 2.接着填写目录,即实验项目名称 3.下面是每次做实验后应完成的内容: 每一页正文最上边写上实验时间:(例如:2011-9-22)同组者:(这个不用填写)实验题目: 一、实验目的 二、实验环境:JDK 三、实验内容 四、实验结果 说明:实验结果中给出主要代码及运行数据和结果,每次实验报告3-4页 五、实验总结: 4.其他要求 每个实验项目另起一页!!!! 实验报告册使用黄色厚本规格!!!

(学校规定,十个学时以上实验用厚本,十个学时以内用薄本。)

实验一熟悉Java运行环境 一、实验目的 1.熟悉JDK开发环境 2.了解Java Application的程序结构和开发过程 3.了解Java Applet程序的开发过程并编写第一个Java Applet程序 4.学习编写简单的HTML文件配合Java Applet使用 二、实验环境:JDK1.5 三、实验内容 四、实验结果 五、实验总结:

实验二 Java的基本数据类型 一、实验目的 1.熟悉Java的基本数据类型; 2.会准确操作字符型类型,并掌握强制转换的操作; 二、实验环境与地点 1.实验环境: JDK1.6+Ultraedit 2.实验地点: 软件工程系一体化教室 三、实验内容与步骤 1. 定义一个类,类中包含主程序,在主程序中进行如下定义: (1)定义一个常量,名称为MAXVALUE,赋值为1000; (2)定义一个变量,名称为maxValue,赋值为500; 2. System.out.println(“你好”);可输出字符串,也可以使用System.out.println( )输出变量或表达式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如: System.out.println(“”+x);System.out.println(“:”+123+“大于”+122);等。上机调试下列程序,注意观察结果,特别注意System.out.print( )和System.out.println( )的区别。 public class OutputData { public static void main(String args[]) { int x=234,y=432; System.out.println(x+"<"+(2*x)); System.out.print("我输出结果后不回车"); System.out.println("我输出结果后自动回车到下一行"); System.out.println("x+y= "+(x+y)); System.out.println(" "+x+y+"=234432"); }} 3. 定义一个类,其中包含主程序,在主程序中进行如下操作: (1)输出‘h’+1; (2)输出‘7’+1; 4. 定义一个类,在主程序中加入如下语句: int x = 8; byte b = 127; b = x;

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