计算机程序设计基础(C语言)课程设计题目:简易五子棋软件设计
院(系、部):信息工程学院
姓名:
班级:
指导教师签名
2011 年7月7 日·北京
目录
任务书--------------------------------------------第 3 页总体设计------------------------------------------第 4 页模块划分------------------------------------------第 4 页算法说明------------------------------------------第 4 页流程图--------------------------------------------第 5 页程序测试------------------------------------------第 9 页结论----------------------------------------------第 22 页体会及建议----------------------------------------第 22 页参考文献------------------------------------------第 23 页
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
第 3 页共23 页任务书
题目9 :简易五子棋软件设计
一设计目的:
通过一个综合应用程序的开发,掌握C语言程序设计的基本方法和常用算法,学会从实际应用出发来分析问题,进行软件规划和算法设计,逐步求精,养成良好的编程风格,熟悉软件设计的基本步骤,为后续课程的学习打下良好的基础。
功能:在单机上通过操作键盘来进行二人对战,五个棋子连在一起时能显示输赢。二基本要求:
(1)键盘上事先设定8个按键,分作两组,每组四个,分别代表两个人用来控制棋子的上下左右键。
(2)盘,15条横线,15条竖线,在直线交点处下棋子(实心圆形)。
(3)黑子先行,黑白交替下子,在棋盘上设定一个与棋盘格大小边长相等的正方形,初始状态,正方形的中心位于期盼的中心点。当一方欲走棋的时候,应用四个按键来控制所要下棋的位置,每按一次按键,正方形都要向相应方向移动一个格,但不能让其移出边界。当按下回车键时,应在正方形所在位置放下一个棋子,然后此组按键不能操作,换另一个人下棋,用另一组按键,规则同前。
(4)当任何一方有五个棋子沿着横,竖,斜连在一起时,系统自动判断赢棋,并显示黑方或白方胜利。棋局结束后,任何一方均不能继续操作。
相关知识:图形绘制、音乐制作、键盘响应
功能扩充:(1)让喇叭发出某种声音,将要移出边界时,发出另一种警告声音(2)其他自己定义的功能。
三总体设计
本程序是为了实现运行简易五子棋游戏的运行。基于结构化设计思想的指导,本程序在设计的同时,将各个功能分为多个自定义函数来实现,最后在”main”函数里进行功能的整合。
程序设计大体思路:
由欢迎界面进入主程序,介绍游戏玩的方式,作者。若想进入游戏按y后回车,若想退出游戏按n即可。画16*16的五子棋棋盘,进入游戏界面,当每次落子时判断是否当前棋子是否有同色的五个棋子,当棋子接近棋盘边界时,有报警音乐响起,当有五个同色的棋子时,播放胜利的音乐并且显示赢棋的玩家。
音乐制作: 播放胜利的音乐,棋子每步的音乐及接近边界的报警声音。
四模块划分
声音模块
棋盘模块
图形绘制
图形填充
五算法说明
步骤1:初始化显示器,设置背景颜色和字体颜色及大小,输出欢迎界面,等待用户输入y进入游戏界面。
步骤2:得到输入键后,进入游戏界面,画16*16的棋盘。
步骤3: 根据”Key值,应用”switch”语句进行选择。
步骤4: 判断当前棋子是否获胜。
步骤5: 清除屏幕上的棋盘,播放胜利音乐,恭喜赢得玩家。
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
六流程图
主函数main()
Step1 调用welcomeinfo( )进行欢迎词
Step2 调用Drawboard( )画棋盘
Step3 调用show message( )显示赢棋信息
Step4 调用closegraph( )关闭图形系统
函数welcomeinfo( )
Step1 移动光标到指定位置
Step2 显示欢迎信息
Step3 判断是否要进入游戏
第 5 页共23 页
函数Drawboard( )
Step1 定义X1,X2,Y1,Y2和背景Step1 画16条竖线
Step1 画16条横线
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸函数Alternation()
函数music()
Step1 定义变量初值
Step2 for 语句
Step3 关闭声音函数
函数Resultcheck()
Step1 向八个方向数棋子
Step2 判断同一种棋子是否为5个
Step3 退出函数
第7 页共23 页
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
函数done ()
Step1:根据不同key值进行不同操作
Step2:判断下一步是否超边界
Step3:在空白的地方落棋子
七程序测试
#include
#include
#include
#include
#include
#include
/*编译预处理,定义按键码*/
#define LEFT 0x4b00 /*左移--方向键left*/
#define RIGHT 0x4d00 /*右移--方向键right*/
第9 页共23 页
#define DOWN 0x5000 /*下移--方向键down*/
#define UP 0x4800 /*上移--方向键up*/
#define ENTER 0x1c0d /*ENTER键表示落子*/
/*若想在游戏中途退出, 可按 Esc 键*/
#define ESC 0x011b
/*设置偏移量*/
#define OFFSET 20
#define OFFSET_x 4
#define OFFSET_y 3
/*定义数组大小*/
#define N 16
/*定义全局变量*/
int status[N][N]; /*定义的数组,保存状态*/
int step_x,step_y;/*行走的坐标*/
int key ; /*获取按下的键盘的键*/
int flag; /*玩家标志*/
/*自定义函数原型*/
void music();
void WinMusic();
void DrawBoard();
void DrawCircle(int x,int y,int color);
void Alternation();
void JudgePlayer(int x,int y);
void Done();
int ResultCheck(int x,int y);
void WelcomeInfo();
void ShowMessage();
/*定义函数*/
/*显示欢迎信息函数*/
void WelcomeInfo()
{
char ch ;
/*移动光标到指定位置*/
gotoxy(12,4);
/*显示欢迎信息*/
printf("Welcome you to gobang word!");
gotoxy(12,6);
printf("1.You can use the up,down,left and right key to move the chessman,");
gotoxy(12,8);
printf(" and you can press ENTER key to enter after you move it !");
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
gotoxy(12,10);
printf("2.You can use Esc key to exit the game too !");
gotoxy(12,12);
printf("3.Don not move the pieces out of the chessboard !");
gotoxy(12,14);
printf("Game Producer: ********Student Number:****** school:BIPT"); gotoxy(12,16);
printf("DO you want to continue ?(Y/N)");
ch=getchar();
/*判断程序是否要继续进行*/
if(ch=='n'||ch=='N')
/*如果不继续进行,则推出程序*/
exit(0);
}
/*走棋音乐*/
void music()
{
int freq;
for(freq=50;freq<100;freq+=1)
{
sound (freq);
delay(1000);
}
nosound();
}
/*画棋盘函数*/
void DrawBoard()
{
int x1,x2;
int y1,y2;
/*设置背景色*/
setbkcolor(2);
/*设置线条颜色*/
setcolor(1);
/*设置线条风格、宽度*/
setlinestyle(DOTTED_LINE,1,1);
/*按照预设的偏移量开始画棋盘*/
/*画16条竖线*/
for(x1=1,y1=1,y2=16;x1<=16;x1++)
line((x1+OFFSET_x)*OFFSET-8.5,(y1+OFFSET_y)*OFFSET-8,(x1+OFFSET_x 第11 页共23 页
)*OFFSET-8.5,(y2+OFFSET_y)*OFFSET-8);
/*画16条横线*/
for(x1=1,y1=1,x2=16;y1<=16;y1++)
line((x1+OFFSET_x)*OFFSET-8.5,(y1+OFFSET_y)*OFFSET-8.5,(x2+OFFSET_x)* OFFSET-8.5,(y1+OFFSET_y)*OFFSET-8.5);
/*将各个点的状态设置为0*/
for(x1=1;x1<=16;x1++)
for(y1=1;y1<=16;y1++)
status[x1][y1]=0;
/*显示帮助信息*/
setcolor(14);
/*设置字体、大小*/
settextstyle(1,0,1);
outtextxy(460,61," Player key:");
setcolor(9);
settextstyle(3,0,1);
outtextxy(460,84,"******************************************");
setcolor(5);
settextstyle(3,0,1);
outtextxy(460,100,"play1 UP--up ");
outtextxy(460,130,"play1 DOWN--down ");
outtextxy(460,160,"play1 LEFT--left");
outtextxy(460,190,"play1 RIGHT--right");
setcolor(6);
settextstyle(3,0,1);
outtextxy(460,210,"play2 UP--up ");
outtextxy(460,240,"play2 DOWN--down");
outtextxy(460,270,"play2 LEFT--left");
outtextxy(460,300,"play2 RIGHT--right");
setcolor(9);
settextstyle(3,0,1);
outtextxy(460,330,"ENTER--enter");
setcolor(9);
settextstyle(3,0,1);
outtextxy(460,360,"******************************************"); setcolor(14);
settextstyle(1,0,1);
outtextxy(460,380," Exit:");
setcolor(9);
settextstyle(3,0,1);
outtextxy(460,410," ESC");
setcolor(15);
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
settextstyle(3,0,3);
outtextxy(95,380,"Welcome to gobang word !");
outtextxy(95,420,"Student Number: ");
}
/*画圆函数*/
void DrawCircle(int x,int y,int color)
{
setcolor(color);
/*设置画圆线条的风格,宽度,这里设置为虚线*/
setlinestyle(SOLID_LINE,0,1);
x=(x+OFFSET_x)*OFFSET+0.5;
y=(y+OFFSET_y)*OFFSET+0.5;
/*以(x,y)为圆心,8为半径画圆*/
circle(x,y,8);
setfillstyle(1,color);
floodfill(x,y,color);
music();
}
/*胜利时放的音乐*/
void WinMusic()
{
int i,j;
int fr[]={392,392,440,294,262,262,220,294,392,392,\
440,532,440,392,262,262,220,294,392,294,\
262,247,220,196,392,294,330,294,262,262,\
220,294,330,294,262,294,262,247,220,196};
int tim[]={4,2,2,8,4,2,2,8,4,4,2,2,2,2,4,2,2,8,4,4,\
4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,2,2,2,2,12};
for(i=0;i<40;i++)
{
sound(fr[i]);
delay(tim[i]*20000);
nosound();
}
}
/*交换行棋方函数*/
void Alternation()
{
if(flag==1)
flag=2 ;
else
第13 页共23 页
flag=1 ;
}
/*对不同的行棋方画不同颜色的圆函数*/
void JudgePlayer(int x,int y)
{
if(flag==1)
DrawCircle(x,y,8);
if(flag==2)
DrawCircle(x,y,15);
}
/*判断当前行棋方是否获胜函数*/
int ResultCheck(int x,int y)
{
int j,k;
int n1,n2 ;
while(1)
{
/*对水平方向进行判断是否有5个同色的圆*/ n1=0;
n2=0;
/*水平向左数*/
for(j=x,k=y;j>=1;j--)
{
if(status[j][k]==flag)
n1++;
else
break;
}
/*水平向右数*/
for(j=x,k=y;j<=15;j++)
{
if(status[j][k]==flag)
n2++;
else
break;
}
if(n1+n2-1>=5)
{
return(1);
}
/*对垂直方向进行判断是否有5个同色的圆*/
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
n1=0;
n2=0;
/*垂直向上数*/
for(j=x,k=y;k>=1;k--)
{
if(status[j][k]==flag)
n1++;
else
break ;
}
/*垂直向下数*/
for(j=x,k=y;k<=15;k++)
{
if(status[j][k]==flag)
n2++;
else
break ;
}
if(n1+n2-1>=5)
{
return(1);
}
/*从左上方到右下方进行判断是否有5个同色的圆*/
n1=0;
n2=0;
/*向左上方数*/
for(j=x,k=y;(j>=1)&&(k>=1);j--,k--)
{
if(status[j][k]==flag)
n1++;
else
break;
}
/*向右下方数*/
for(j=x,k=y;(j<=15)&&(k<=15);j++,k++)
{
if(status[j][k]==flag)
n2++;
else
break;
}
if(n1+n2-1>=5)
{
第15 页共23 页
return(1);
}
/*从右上方到左下方进行判断是否有5个同色的圆*/ n1=0;
n2=0;
/*向右上方数*/
for(j=x,k=y;(j<=15)&&(k>=1);j++,k--)
{
if(status[j][k]==flag)
n1++;
else
break;
}
/*向左下方数*/
for(j=x,k=y;(j>=1)&&(k<=15);j--,k++)
{
if(status[j][k]==flag)
n2++;
else
break;
}
if(n1+n2-1>=5)
{
return(1);
}
return(0);
}
}
/*执行下棋函数*/
void Done()
{
int i ;
int j ;
/*根据不同的key值进行不同的操作*/
switch(key)
{
/*如果是向左移动的*/
case LEFT:
/*如果下一步超出棋盘左边界则什么也不作*/
if(step_x-1<0)
/*报警音乐*/
{sound(1000);
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
第17 页共23 页 /*扬声器的发生时间,为1秒钟*/
delay(1000);
nosound();
break ;}
else
{
for(i=step_x-1,j=step_y;i>=1;i--)
if(status[i][j]==0){
/*每移动一步画一个圆,消除移动的过程*/
DrawCircle(step_x,step_y,2);
break ;
}
if(i<1)
break ;
step_x=i ;
JudgePlayer(step_x,step_y);
break ;
}
/*如果是向右移动的*/
case RIGHT :
/*如果下一步超出棋盘右边界则什么也不作*/
if(step_x+1>15)
/*报警音乐*/
{sound(1000);
/*扬声器的发生时间,为1秒钟*/
delay(1000);
nosound();
break ;}
else
{
for(i=step_x+1,j=step_y;i<=15;i++)
if(status[i][j]==0)
{
/*每移动一步画一个圆,消除移动的过程*/ DrawCircle(step_x,step_y,2);
break ;
}
if(i>15)break ;
step_x=i ;
/*根据不同的行棋者画不同颜色的圆*/
JudgePlayer(step_x,step_y);
/*显示行棋一方是谁*/
break ;
}
/*如果是向下移动的*/
case DOWN :
/*如果下一步超出棋盘下边界则什么也不作*/ if((step_y+1)>15)
/*报警音乐*/
{sound(1000);
/*扬声器的发生时间,为1秒钟*/ delay(1000);
nosound();
break ;}
else
{
for(i=step_x,j=step_y+1;j<=15;j++)
if(status[i][j]==0)
{
DrawCircle(step_x,step_y,2);
break ;
}
if(j>15)break ;
step_y=j ;
JudgePlayer(step_x,step_y);
break ;
}
/*如果是向上移动的*/
case UP :
/*报警音乐*/
if((step_y-1)<0)
{ sound(1000);
delay(1000);
nosound();
break ;}
else
{
for(i=step_x,j=step_y-1;j>=1;j--)
if(status[i][j]==0)
{
DrawCircle(step_x,step_y,2); break ;
}
if(j<1)break ;
北京石油化工学院BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
step_y=j ;
JudgePlayer(step_x,step_y);
break ;
}
/*如果是退出键*/
case ESC :
/*报警音乐*/
{ sound(500);
/*扬声器的发生时间,为1秒钟*/
delay(1000);
nosound();
break ;}
/*如果是确定键*/
case ENTER:
/*如果操作是在棋盘之内*/
if(step_x>=1&&step_x<=15&&step_y>=1&&step_y<=15)
{
/*按下确定键后,如果棋子当前位置的状态为0*/
if(status[step_x][step_y]==0)
{
/*则更改棋子当前位置的状态在flag,表示是哪个行棋者行的棋*/ status[step_x][step_y]=flag ;
/*如果判断当前行棋者获胜*/
if(ResultCheck(step_x,step_y)==1)
{
gotoxy(30,4);
setbkcolor(BLUE);
/*清除图形屏幕*/
cleardevice();
/*为图形输出设置当前视口*/
setviewport(100,100,540,380,1);
/*绿色实填充*/
setfillstyle(1,2);
setcolor(YELLOW);
/*画矩形*/
rectangle(0,0,439,279);
floodfill(50,50,14);
setcolor(12);
settextstyle(1,0,5);
/*三重笔划字体, 水平放大5倍*/
outtextxy(20,20,"Congratulation !");
setcolor(15);
第19 页共23 页
settextstyle(3,0,4);
/*如果是Player1获胜,显示获胜信息*/
if(flag==1)
{
/*无衬笔划字体, 水平放大5倍*/
outtextxy(20,120,"Player1 win the game !"); WinMusic();
}
/*如果是Player1获胜,显示获胜信息*/
if(flag==2)
{
/*无衬笔划字体, 水平放大5倍*/
outtextxy(20,120,"Player2 win the game !"); WinMusic();
}
setcolor(14);
settextstyle(2,0,8);
getch();
exit(0);
}
/*如果当前行棋者没有获胜,则交换行棋方*/
Alternation();
/*提示行棋方是谁*/
ShowMessage();
break;
}
}
else
break ;
}
}
/*显示行棋方函数*/
void ShowMessage()
{
/*轮到Player1行棋*/
if(flag==1)
{
setcolor(2);
settextstyle(1,0,1);
gotoxy(100,30);
/*覆盖原有的字迹*/
outtextxy(100,30,"It's turn to Player2 !");
电子技术课程设计一、课程设计目的: 1.电子技术课程设计是机电专业学生一个重要实践环节,主要让学生通过自己设计并制作一个实用电子产品,巩固加深并运用在“模拟电子技术”课程中所学的理论知识; 2.经过查资料、选方案、设计电路、撰写设计报告、答辩等,加强在电子技术方面解决实际问题的能力,基本掌握常用模拟电子线路的一般设计方法、设计步骤和设计工具,提高模拟电子线路的设计、制作、调试和测试能力; 3.课程设计是为理论联系实际,培养学生动手能力,提高和培养创新能力,通过熟悉并学会选用电子元器件,为后续课程的学习、毕业设计、毕业后从事生产和科研工作打下基础。 二、课程设计收获: 1.学习电路的基本设计方法;加深对课堂知识的理解和应用。 2.完成指定的设计任务,理论联系实际,实现书本知识到工程实践的过渡; 3.学会设计报告的撰写方法。 三、课程设计教学方式: 以学生独立设计为主,教师指导为辅。 四、课程设计一般方法 1. 淡化分立电路设计,强调集成电路的应用 一个实用的电子系统通常是由多个单元电路组成的,在进行电子系统设计时,既要考虑总体电路的设计,同时还要考虑各个单元电路的选择、设计以及它们之间的相互连接。由于各种通用、专用的模拟、数字集成电路的出现,所以实现一个电子系统时,根据电子系统框图,多数情况下只有少量的电子电路的参数计算,更多的是系统框图中各部分电子电路要正确采用集成电路芯片来实现。 2. 电子系统内容步骤: 总体方案框图---单元电路设计与参数计算---电子元件选择---单元电路之间连接---电路搭接调试---电路修改---绘制总体电路---撰写设计报告(课程设计说明书) (1)总体方案框图: 反映设计电路要求,按一定信息流向,由单元电路组成的合理框图。 比如一个函数发生器电路的框图: (2)单元电路设计与参数计算---电子元件选择: 基本模拟单元电路有:稳压电源电路,信号放大电路,信号产生电路,信号处理 电路(电压比较器,积分电路,微分电路,滤波电路等),集成功放电路等。 基本数字单元电路有:脉冲波形产生与整形电路(包括振荡器,单稳态触发器,施密特触发器),编码器,译码器,数据选择器,数据比较器,计数器,寄存器,存储器等。 为了保证单元电路达到设计要求,必须对某些单元电路进行参数计算和电子元件 选择,比如:放大电路中各个电阻值、放大倍数计算;振荡电路中的电阻、电容、振荡频率、振荡幅值的计算;单稳态触发器中的电阻、电容、输出脉冲宽度的计 算等;单元电路中电子元件的工作电压、电流等容量选择。
1 一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2 成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式
进行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3 迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:
附录I: 机械零件课程设计题目 题目A 设计一用于带式运输机上的圆锥园柱齿轮减速器。工作经常载,空载起动,工作有轻震,不反转。单班制工作。运输机卷筒直径D=320mm,运输带容许速度误差为5%。减速器为小批生产,使用期限10年。 附表1 原始数据 题号 A1A2A3A4A5A6 运输带工 作拉力F (N) 2×103 2.1×103 2.2×103 2.3×103 2.4×103 2.5×103 运输带工 作速度V (m/s) 1.2 1.3 1.4 1.5 1.55 1.6 1.电动机2.联轴器3.圆锥齿轮减速器4.带式运输机 附图1
题目B 设计一用于带式运输机上的同轴式两级圆柱齿轮减速器。工作平稳。单向运转,两班制工作。运输带容许速度误差为5%。减速器成批生产,使用期限10年。 附表2 原始数据 题号 B1B2B3B4B5B6B7 运输机工 作轴扭矩 T(N。 m) 1300135014001450150015501600 运输带工 作速度V (m/s) 0.650.700.750.800.850.900.80 卷筒直径 D(mm) 300320350350350400350 1.带传动2.电动机3.同轴式两级圆柱齿轮减速器4.带式运输机5.卷筒 附图2
题目C 设计一用于链式运输机上的圆锥圆柱齿轮减速器。工作平稳,经常满载,两班制工作,引链容许速度误差为5%。减速器小批生产,使用期限5年。
附表3 1.电动机2.联轴器3.圆锥齿轮减速器4.链传动5.链式运输机 附图3 题目D 设计一斗式提升机传动用的二级斜齿圆柱齿轮同轴式减速器。传动简图如下,设计参数列于附表4。 附表4斗式提升机的设计参数 题号参数 题号 D1D2D3D4 生产率Q(t/h)15162024提升带速度V(m/s) 1.82 2.3 2.5m)
电子技术课程设计PWM调制解调器 班级:电信1301 姓名:曹剑钰 学号:3130503028
一、设计任务与要求 1.要求 设计一款PWM(脉冲宽度调制)电路,利用一可调直流电压调制矩形波脉冲宽度(占空比)。 信号频率10kHz; 占空比调制范围10%~90%; 设计一款PWM解调电路,利用50Hz低频正弦信号接入调制电路,调制信号输入解调电路,输入与原始信号等比例正弦波。 2.提高要求: 设计一50Hz正弦波振荡电路进行PWM调制。 3.限制: 不得使用理想运放、二极管、三极管、场效应管; 基本要求的输入电压使用固定恒压源接自行设计的电路实现可调; 同步方波不得利用信号发生器等软件提供设备产生。 二、总体方案设计 1.脉宽调制方案: 方案一:三角波脉宽调制,三角波电路波形可以由积分电路实现,把方波电压作为积分电路的输入电压,经过积分电路之后就形成三角波,再通过电压比较器与可调直流电压进行比较,通过调节直流电源来调制脉宽。 方案二:锯齿波脉宽调制,锯齿波采用定时器NE555接成无稳态多谐振荡器,和方案一相似,利用直流电压源比较大小调节方波脉宽。 方案三:利用PC机接口控制脉宽调制的PWM电路。 比较:方案一结构简单,思路清晰,容易实现,元器件常用 方案二与方案一相似,缺点是调整脉冲宽度不如方案一 方案三元器件先进,思路不如方案一清晰简单,最好先择了方案一 2.正弦波产生方案: 方案一:RC正弦波振荡电路。 RC正弦波振荡电路一般用来产生1Hz--10MHz范围内的低频信号,由RC 串并联网络组成,也称为文氏桥振荡电路,串并联在此作为选频和反馈网络。电路的振荡频率为f=1/2πRC,为了产生振荡,要求电路满足自激震荡条件,振荡器在某一频率振荡的条件为:AF=1.该电路主要用来产生低频信号。
《计算机程序设计基础》 习 题 册
班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令
设计题目:学生成绩管理系统班级:计0902 姓名:付乐颖 学号:20091221067 完成日期:2010.10.15
1. 课程设计目的和要求 随着科学的发展和社会的进步,许多过去有人工处理的繁杂事务开始交付计算机来完成。学生成绩管理系统可以说是一个得力助手,它利用计算机对学生成绩进行统一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师的工作效率。 本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件等的各种基本操作,使学生能对C语言的文件操作有一个更深的理解。为进一步开发出高质量的信息管理系统打下坚实的基础。 2. 课程设计任务内容 学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。系统的主要功能包括: 1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 (1) 按学号查询,输入一个学号,输出对应的学生信息。
中北大学
课 程 设 计 说 明 书
学生姓名: 学 专 题 院: 业:
学 号:
目: 设计同轴线式二级斜齿圆柱齿轮减速器,该减速
器用于汽车发动机装配车间的皮带运输机的传 动系统中
指导教师: 指导教师:苗鸿宾 程志刚
职称: 职称: 副教授 高工
2011 年 5 月
27 日
中北大学
课程设计任务书
2010/2011 学年第 二 学期
学 专
院: 业: 学 号:
学 生 姓 名:
课程设计题目:设计同轴线式二级斜齿圆柱齿轮减速器,
该减速器用于汽车发动机装配车间的皮带 运输机的传动系统中
起 迄 日 期: 课程设计地点: 指 导 教 师: 系 主 任: 苗鸿宾 暴建岗 程志刚
下达任务书日期:
2011 年 5 月 27 日
课 程 设 计 任 务 书
1.设计目的:
1)、综合运用本课程的理论和生产实际知识进行设计训练,使所学的知识得到进一 步的巩固和发展; 2)、学习机械设计的一般方法和步骤,初步培养学生分析和解决工程实际问题的能 力,树立正确的设计思想,为今后毕业设计设计和工作打下良好的基础; 3)、进行方案设计、结构设计、机械制图和运用设计手册、标准及规范等技能的训 练,使学生具有初步机械设计的能力。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等) :
技术要求: 技术要求 该运输机两班制工作,单向回转,工作平稳,传送带运行速度允许误差为±5%,使 用期限为 10 年。 原始数据 滚筒直径: 传动带运行速度: 传动带主轴所需扭矩:
mm
m/s
N·m
1-电动机 4-联轴器
2-带传动 5-滚筒
3-减速器 6-传动带
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、 实物样品等〕 :
1) 完成传动系统或执行系统的结构设计,画出传动系统或执行系统的装配图。 2) 设计主要零件,完成 3 张零件工作图。 3) 编写设计说明书。
电子技术课程设计的基本方法和步骤
电子技术课程设计的基本方法和步骤 一、明确电子系统的设计任务 对系统的设计任务进行具体分析, 充分了解系统的性能、指标及要求, 明确系统应完成的任务。 二、总体方案的设计与选择 1、查阅文献, 根据掌握的资料和已有条件, 完成方案原理的构想; 2、提出多种原理方案 3、原理方案的比较、选择与确定 4、将系统任务的分解成若干个单元电路, 并画出整机原理框图, 完成系统的功能设计。 三、单元电路的设计、参数计算与器件选择 1、单元电路设计 每个单元电路设计前都需明确本单元电路的任务, 详细拟订出单元电路的性能指标, 与前后级之间的关系, 分析电路的组成形式。具体设计时, 能够模拟成熟的先进电路, 也能够进行创新和改进, 但都必须保证性能要求。而且, 不但单元电路本身要求设计合理, 各单元电路间也要相互配合, 注意各部分的输入信号、输出信号和控制信号的关系。 2、参数计算 为保证单元电路达到功能指标要求, 就需要用电子技术知识对参数进行计算, 例如放大电路中各电阻值、放大倍数、振荡器中电阻、电容、振荡频率等参数。只有很好地理解电路的工作原理, 正确利用计算公式, 计算的参数才能满足设计要求。 参数计算时, 同一个电路可能有几组数据, 注意选择一组能完成
电路设计功能、在实践中能真正可行的参数。 计算电路参数时应注意下列问题: (1)元器件的工作电流、电压、频率和功耗等参数应能满足电路指标的要求。 (2)元器件的极限必须留有足够的裕量, 一般应大于额定值的 1.5倍。 (3)电阻和电容的参数应选计算值附近的标称值。 3、器件选择 ( 1) 阻容元件的选择 电阻和电容种类很多, 正确选择电阻和电容是很重要的。不同的电路对电阻和电容性能要求也不同, 有些电路对电容的漏电要求很严, 还有些电路对电阻、电容的性能和容量要求很高, 例如滤波电路中常见大容量( 100~3000uF) 铝电解电容, 为滤掉高频一般还需并联小容量( 0.01~0.1uF) 瓷片电容。设计时要根据电路的要求选择性能和参数合适的阻容元件, 并要注意功耗、容量、频率和耐压范围是否满足要求。 ( 2) 分立元件的选择 分立元件包括二极管、晶体三极管、场效应管、光电二极管、晶闸管等。根据其用途分别进行选择。选择的器件类型不同, 注意事项也不同。 ( 3) 集成电路的选择 由于集成电路能够实现很多单元电路甚至整机电路的功能, 因此选用集成电路设计单元电路和总体电路既方便又灵活, 它不但使系统体积缩小, 而且性能可靠, 便于调试及运用, 在设计电路时颇受欢迎。选用的集成电路不但要在功能和特性上实现设计方案, 而且要满足功耗、电压、速度、价格等方面要求。 4、注意单元电路之间的级联设计, 单元电路之间电气性能的 相互匹配问题, 信号的耦合方式
第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。
它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,
第一章目的与要求 书上有。 第二章需求分析 软件设计的一个重要的环节就是需求分析。本章在对ATM取款机管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是ATM取款机管理系统所需要的需求分析。 ATM管理系统包括六个模块:登录,挂失功能,修改密码,取款功能,转账功能,查询功能。 ①登录: 输入银行卡的账号,密码,验证银行卡的卡号,密码是否正确,之后进入主界面 ②挂失功能: 确认是否对银行卡进行挂失,挂失后账户无法操作 ③修改密码: 用户可自由对其银行卡密码进行修改,修改之后的新密码将会覆盖其原密码 ④取款功能: 用户可自由取得所持银行卡内的存款,所取款数必须在其原有账户余额之内 ⑤转账功能: 用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账
号 ⑥查询功能: 用户可查询用户信息,其中包括用户姓名、用户身份证号码、银行卡号以及存款余额 模拟ATM取款机的操作: 首先录入账户信息,格式如下 ㈠、登录功能:输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、挂失功能:挂失后,该账户不能进行任何操作。 ㈤、修改密码:输入原密码和新设置密码。 ㈥、转账功能:输入转账的转出账户以及转账金额,进行转账。
第三章设计分析 3.1、ATM系统管理 3.1.1系统基本功能 首先,确定系统中存在两种用户,一种是ATM,可以进行信息录入和后台管理。另外一种是取款人,取款人主要是进行信息的查询,不能进行信息录入。所以在创建类的时候,先创建一个ATM类,然后创建取款人类,并与ATM 类形成有元,进而继承ATM的所有功能,并添加录入信息的功能。 基本功能: 登录功能---------输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 查询功能---------查询账户余额。 取款功能---------取款,更新余额。 挂失功能---------挂失后,该账户不能进行任何操作。 修改密码---------输入原密码和新设置密码。 转账功能---------输入转账的转出账户以及转账金额,进行转账。、
《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册
1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’
C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'
1 矩阵的操作(6人) 设有两个矩阵A=(a ij)m×n,B=(b ij)p×q 实现要求: ⑴编写矩阵输入函数INPUT_MAT,通过该函数完成矩阵的输入并返回保存矩阵的数组和对应矩阵的行数、列数。(不能使用全局变量) ⑵编写矩阵输出函数OUTPUT_MAT,通过该函数完成矩阵的输出。 ⑶求矩阵的转置,矩阵的转置A’=(a ji)n×m,转置前输出原矩阵,转置后输出转置矩阵。 ⑷求矩阵A、B的和。矩阵A和B能够相加的条件是:m=p,n=q;矩阵A和B如果不能相加,请给出提示信息;若能够相加,则求和矩阵C并输出C。 C=A+B=(c ij)m×n,其中c ij=a ij+b ij ⑸求矩阵A、B的积。矩阵A和B能够相乘的条件是:p=n;矩阵A和B 如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵D并输出D。 D=A×B=(d ij)m×q,其中d ij=∑a ik×b kj,k=1,2,……,n ⑹设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然后再进行相应的操作。
2 数据汇总 (6人) 问题描述: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。实现要求: ⑴编写实现将数据记录插入到数据文件的最后的函数; ⑵编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表; ⑶统计每台收款机的销售总额; ⑷编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表; ⑸以商品为单位,统计每种商品的销售总额。 ⑹设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。
机械设计课程设计综合答辩题 1#题: ●电动机的类型如何选择?其功率和转速如何确定? ●联轴器的类型如何选择?你选择的联轴器有何特点? ●圆柱齿轮的齿宽系数如何选择?闭式传动中的软齿面和硬齿面的齿宽系数有何不同,开式齿 轮呢? ●箱体上装螺栓和螺塞处,为何要有鱼眼坑或凸台? 2#题: ●试分析你设计的减速器中低速轴齿轮上的作用力。 ●考虑传动方案时,带传动和链传动谁布置在高速级好,谁在低速级好,为什么? ●滚动轴承部件设计时,如何考虑因温度变化而产生轴的热胀或冷缩问题? ●为什么要设视孔盖?视孔盖的大小和位置如何确定? 3#题: ●一对圆柱齿轮传动啮合时,大小齿轮啮合处的接触应力是否相等?接触许用应力是否相等? 为什么? ●圆柱齿轮在高速轴上非对称布置时,齿轮接近扭转输入端好,还是远离输入端好?为什么? ●轴的强度不够时,应怎么办?定位销有什么功能?在箱体上应怎样布置?销的长度如何确 定?你所设计的齿轮加工及测量基准在何处?齿轮的公差一般应包括哪些内容? 4#题: ●双级圆柱齿轮减速器的传动比分配的原则是什么?高速级的传动比尽可能选得大是否合适, 为什么? ●滚动轴承的类型如何选择?你为什么选择这种轴承?有何特点?齿形系数与哪些因素有 关?试说明齿形系数对弯曲应力的影响? ●以你设计的减速器为例,试说明高速轴的各段长度和跨距是如何确定的?啮合特性表中的检 验项目分别属于齿轮公差的第几公差组?各公差组分别检验齿轮的什么精度? 5#题: ●开式圆轮应按什么强度进行计算?磨损问题如何在设计中考虑?一对相啮合的齿数不等的标 准圆柱齿轮,哪个弯曲应力大?如何两轮的弯曲强度接近相等? ●固定式刚性凸缘联轴器和尼龙柱销联轴器在性能上有何不同?试讲述你所选联轴器的特点? ●轴承凸缘旁螺栓孔中心位置(相对轴心距离)如何确定?它距轴承轴线距离近好还是远好?●减速器内最低和最高油面如何确定? 6#题: ●提高圆柱齿轮传动的接触强度有哪些措施?为什么? ●一对相啮合的大、小圆柱齿轮的齿宽是否相等?为什么? ●设计带传动时,发现带的根数太多,怎么办? ●旁螺栓距箱体外壁的位置如何确定?考虑哪些问题?
电子技术 课程设计 成绩评定表 设计课题:串联型连续可调直流稳压正电源电路学院名称: 专业班级: 学生姓名: 学号: 指导教师: 设计地点:31-225 设计时间:2014-7-7~2014-7-14
电子技术 课程设计 课程设计名称:串联型连续可调直流稳压正电源电路专业班级: 学生姓名: 学号: 指导教师: 课程设计地点:31-225 课程设计时间:2014-7-7~2014-7-14
电子技术课程设计任务书
目录 前言 (5) 1串联型连续可调直流稳压正电源 (5)
1.1 设计方案 (5) 1.2 设计所需要元件 (7) 2 设计原理 (8) 2.1 电源变压部分 (9) 2.2 桥式整流电路部分 (10) 2.3 电容滤波电路部分 (11) 2.4 直流稳压电路部分 (12) 2.5 原理及计算 (14) 3 电路仿真 (15) 4 电路连接测试 (16) 4.1使用仪器 (16) 4.2.测试结果 (16) 5 设计体会 (17) 参考文献 (19) 串联型连续可调直流稳压正电源电路 引言 随着社会的发展,科学技术的不断进步,对电子产品的性能要求也更高。我们做为21世纪的一名学电子的大学生,不仅要将理论知识学
会,更应该将其应用与我们的日常生活中去,使理论与实践很好的结合起来。电子课程设计是电子技术学习中的一个非常重要的实践环节,能够真正体现我们是否完全吸收了所学的知识。 目前,各种直流电源产品充斥着市场,电源技术已经比较成熟。然而,基于成本的考虑,对于电源性能要求不是很高的场合,可采用带有过流保护的集成稳压电路,同样能满足产品的要求。 本次设计的题目为设计一串联型可调直流稳压正电源:先是经过家用交流电源流过变压器得到一个大约十五伏的电压U1,然后U1经过一个桥堆进行整流在桥堆的输出端加两个电容C1、C2进行滤波,滤波后再通过LM7812(具体参数参照手册)输出一个固定的12V电压,这样就可以在一路输出固定的电压。在LM7812的输出端加一个电阻R3,调整端加一个固定电阻R1和一电位器R2,这样输出的电压就可以在5~12V范围内可调。 经过自己对试验原理的全面贯彻,以及相关技术的掌握,和反复的调试,经过自己的不断的努力,老师的耐心的指导,终于把这个串联型输出直流稳压输出正电源电路设计出来了。 1串联型连续可调直流稳压正电源 1.1 设计方案 本电路由四部分组成:变压电路、整流电路、滤波电路、稳压电路。 (1)变压电路:本电路使用的降压电路是单相交流变压器,选用电压和功率依照后级电路的设计需求而定。 (2)整流电路:整流电路的主要作用是把经过变压器降压后的交流电通过整流变成单个方向的直流电。但是这种直流电的幅值变化很大。它主要是通过二极管的截止和导通来实现的。常见的整流电路主要有半波整流电路、桥式整流电路等。我们选取桥式整流电路实现设计中的整流功能。 (3)半波整流:
计算机程序设计基础 ——精讲多练C/C++语言 程序的基本结构 1、在屏幕上显示如下图形: **************** * Hello World * **************** #include
测量数据处理程序设计指导书 设计名称:测量数据处理程序设计 计划周数:2周 适用对象:测绘工程专业本科 先修课程:测量学,测量平差基础,大地控制测量,测量程序设计 一、设计目的 测量数据处理程序设计是学生在系统学习完大地控制测量学、测量平差基础、测量程序设计等相关课程之后,为了系统理解控制网平差的整体过程及综合运用科学工具而安排的。通过课程设计主要达到以下几个目的:掌握控制网平差课程设计具体内容、方法和步骤;通过理论联系实际,进一步巩固已学到的专业理论知识,并加深对理论的认识;培养学生对编写代码,上机调试和编写说明书等基本技能;锻炼学生阅读各类编程参考书籍及加以编程运用的能力。 二、设计内容及日程 在VB、 VC软件或matlab科学计算软件的平台上,选择的具体课程设计题目,进行程序设计与实现,共计10个工作日,工作程序如下: 三、设计的组织: 1.设计领导 (1)指导教师:由教研室指派教师、实验员兼任。
职责:全面组织设计大纲的实施,完成分管工作及相关技术指导。 (2)设计队长:学生班长兼任。 职责:协助教师做好本班学生的人员组织工作。 (3)设计组长:每组一人。 职责:组织执行下达的设计任务,安排组内各成员的工作分工。 2.设计分组 学生实习作业组由3~4人组成(含组长一人)。 四、设计内容 在VB、VC或MATLAB 软件平台上,按选择的设计题目进行相关程序开发 1、闭合导线简易平差、附合导线简易平差支导线计算 2、闭合水准网计算、附合水准网简易平差 3、地形图编号(新、旧两种方法) 4、误差椭圆的参数的计算与绘制误差椭圆 5、水准网严密平差 6、高斯正反算计算 7、高斯投影换带计算 8、七参数大地坐标转换(WGS84-bj54坐标转换、WGS84-CGCS2000坐标转换) 9、四参数坐标转换(西安80-bj54坐标转换、CGCS2000-bj54坐标转换、CGCS2000-西安80坐 标转换(平面) 10、大地高转换为正常高的计算 11、工程投影变形超限的处理 12、遥感图像数据处理 13、曲线(曲面)拟合 14、摄影测量空间后方交会 15、****管理信息系统设计与开发 五、上交成果 1) 小组利用vb、vc或matlab编写的软件包一个及测试数据一份 2)小组关于所开发程序设计说明书一份 3) 个人课程设计的心得一份 4)小组答辩PPT一份
机械设计课程设计答辩经典题目
机械设计课程设计答辩经典题目 1. 你所设计的传动装置的总传动比如何确定和分配的? 答题要点:由选定的电动机满载转速和工作机转速,得传动装置总传动比为:i w m n n = 总传动比为各级传动比的连乘积,即 齿轮带i i i ?=,V 带传动的传动比范围在2—4 间,单级直齿轮传动的传动比范围在3—6间,一般前者要小于后者。 2. 在闭式齿轮传动中,若将齿轮设计成软齿面,一般使两齿轮齿面硬度有一 差值,为多少HBS ?,为什么有差值? 答题要点:20—50HBS ;因为一对齿轮在同样时间,小齿轮轮齿工作次数较大齿轮的材料多,齿根弯曲疲劳强度较大齿轮低为使其强度和寿命接近,小齿轮齿面硬度应较大齿轮大。 3. 简述减速器上部的窥视孔的作用。其位置的确定应考虑什么因素? 答题要点:在减速器上部开窥视孔,可以看到传动零件啮合处的情况,以便检查齿面接触斑点和齿侧间隙。润滑油也由此注入机体内。窥视孔开在机盖的顶部,应能看到传动零件啮合,并有足够的大小,以便于检修。 4. 轴上的传动零件(如齿轮)用普通平键作周向固定时,键的剖面尺寸b ×h 值是根据何参数从标准中查得? 答题要点:与齿轮相配合处轴径的大小;答辩时,以从动齿轮上键联接为例,让考生实际操作。 5. 当被联接件之一不易作成通孔,且需要经常拆卸时,宜采用的螺纹联接形 式是螺栓联接、双头螺柱联接还是螺钉联接? 答题要点:螺钉联接。 6. 在设计单级原柱齿轮减速器时,一般减速器中的最大齿轮的齿顶距箱体的 距离大于30—50mm ,简述其主要目的。 答题要点:圆柱齿轮和蜗杆蜗轮浸入油的深度以一个齿高为宜,但不应小于10mm ,为避免油搅动时沉渣泛起,齿顶到油池底面的距离不应小于30~50mm 7. 你所设计的齿轮减速器中的齿轮传动采用何种润滑方式?轴承采用何种润 滑方式?简述润滑过程。 答题要点:齿轮传动采用浸油润滑方式;轴承采用飞溅润滑或脂润滑方式。以飞溅润滑为例,当轴承利用机体内的油润滑时,可在剖分面联接凸缘上做出输油沟,使飞溅的润滑油沿着机盖经油沟通过端盖的缺口进入轴承 8. 简述减速器的油标的作用。 答题要点:检查减速器内油池油面的高度,经常保持油池内有适量的油,一般在箱体便于观察、油面较稳定的部位,装设油标。 9. 齿轮和轴满足何种条件时,应齿轮和轴一体,作成齿轮轴。
摘要 本次课程设计彩灯控制器是对模拟电子技术、数字电子技术的实践性的应用。该彩灯设计主要由几个器件构成,分别是移位寄存器、计数脉冲、分频器、数据选择器等器件。通过着几个主要器件来实现对彩灯的设计和控制。彩灯的设计主要有三部分组成。即时钟脉冲产生电路模块、彩灯开关控制模块以及花样输出电路模块。其中时钟脉冲由555定时器构成的多谐振荡器产生。彩灯开关电路设计模块应用数据选择器74LS163。花样输出由移位寄存器74LS194和发光二极管组成。为了验证设计的准确性,我们在Proteus环境下进行仿真和调试。通过验证进一步确定其设计的可行性。 关键词:彩灯;时钟脉冲产生电路模块;彩灯开关控制;花样输出电路
目录 摘要.............................................................................................................I 1 前言 (1) 1.1 序言 (1) 1.2目前彩灯的应用情 (1) 1.3主要工作概述 (1) 2 总体方案设计 (3) 2.1方案比较 (3) 2.2方案论证 (4) 2.3方案选择 (4) 3 单元电路设计 (5) 3.1时钟信号发生器 (5) 3.2 序列信号发生 (7) 3.3 移位输出显示电路 (11) 4 调试与试验 (14) 4.1 Proteus软件介绍 (14) 5 proteus仿真图 (15) 6致谢和心得体会 (16) 参考文献 (17)
1前言 1.1 序言 集成电路的迅速发展,使得数字逻辑电路的设计发生了根本性的变化。在设计中更多的使用规模集成电路,不仅可以减少电路组件的数目,使电路简洁,而且能提高电路的可靠性,降低成本。因此,用集成电路来实现更多更复杂的器件功能则成为必然。随着社会市场经济的不断繁荣和发展,各种装饰彩灯、广告彩灯越来越多地出现在城市中。在大型晚会的现场,彩灯更是成为不可缺少的一道景观,小型的彩灯多采用霓虹灯电路。在彩灯的应用中,装饰灯、广告灯、布景灯的变化多种多样,也可以做成各种各样和多种色彩的灯管或是以日光灯、白炽灯作为光源,另配大型广告语、宣传画来达到效果。这些灯的控制设备多为数字电路。而在现代生活中,大型楼宇的轮廓装饰或大型晚会的灯光布景,由于其变化多、功率大,常采用长明灯、流水灯及变幻灯。长明灯的特点是只要灯投入工作,负载即长期接通,一般在彩灯中用以照明或衬托底色,没有频繁的动态切换过程,因此可用开关直接控制,不需经过复杂的编程。流水灯则包括字形变化、色彩变化、位置变化等,其主要特点是在整个工作过程中周期性地花样变化。本文所要设计的彩灯是用八个发光二极管代替的,能通过外部开关的操作,来实现彩灯亮点的左移、右移、全亮、全灭的效果。因此其会在越来越多的场合中使用,这使本设计具有很大的现实意义。这种控制电路可靠性,灵活性高,使用范围广,特别适合中小城市的交通灯、霓虹灯等的应用。而且,它对其他类似系统的开发具有一定的借鉴意义。 1.2目前彩灯的应用情况 LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。彩灯广泛应用于流水灯、跑马灯、鸳鸯戏水灯、流水灯、控制功能,并给出了具体的硬件电路和相应的程序。此课题设计具有很大现实意义,LED彩灯广泛应用于商业街广告灯,也可作为歌厅、酒吧照明等。 1.3主要工作概述 本文所要设计的八路彩灯的功能要求是通过手动开关操作,实现彩灯的两亮两灭
. 课程设计 课程名称C++面向对象程序设计题目名称公司人员管理系统 专业班级13级计算机科学与技术一班学生林涛、甑德胜、梁增辉 吴志伟、齐、江靖 学号51302011015、51302011016、51302011001 51302011037、51302011006、51302011009指导教师郭有强 二○一四年六月二十日
目录 一、引言 (2) 二、课程设计报告 (4) 1、问题描述 (4) 2、系统总体方案 (4) 3、设计思路和主要步骤 (5) 4、各功能模块和流程图 (5) (1)各功能模块 (5) (2)流程图 (6) 三、系统测试 (9) 四、心得体会 (15) 五、参考文献 (17) 附:程序设计代码 (18)
一、引言 1985年,管理信息系统的创始人,高登?戴维斯给出的管理信息系统的定义是:“它是一个利用计算机硬件和软件,手工作业,分析、计划、控制和决策模型,以及数据库的用户一机器系统。它能提供信息,支持企业或组织的运行、管理和决策。”这个定义说明了管理信息系统的组成要素:计算机硬件、软件、数据库、模型库和用户。 随着我国社会的不断进步,人们对管理信息系统越来越重视,再加之管理信息系统在管理方面所产生的巨大影响,也使得人们越来越关注管理信息系统的发展趋势。由于管理信息系统的发展受到以上各种变革因素的制约,传统的管理信息系统必然向现代管理信息系统发展,在这个发展过程中,管理信息系统的发展将会呈现出以下趋势: 管理信息系统将会越来越注重以人为本。管理科学的发展有科学管理理论、行为管理理论和现代管理理论三个发展阶段,正在向着越来越人性化的方向发展,即以人为本。基于管理学的这一研究视角,管理信息系统也将向着更加人性化的方向发展。在今后的管理信息系统中将会越来越注重人的因素,以人为出发点和中心,围绕着激发和调动人的主动性、积极性、创造性展开的,以实现人与社会共同发展的一系列管理活动。而且这种人性化还会贯穿于管理信息系统的开发设计与研究中,具体表现为今后的管理信息系统将具有更加友好的人机界面,易于人们操作,也会考虑到不同用户的不同需求,更加个性化。 管理信息系统向智能化方向发展。随着人工智能技术的发展,数据仓库、数据挖掘技术在管理信息系统中的应用,管理信息系统必将向着智能化方向发展,如产生了很多的决策支持系统、专家系统等等。智能化的管理信息系统具有思维模拟活动,它具有很高的自学习、自组织和进化性,并具有知识创新功能,可以解决非结构化事务,在决策中处于主导地位,是人的向导,在体系上将是大规模分布式计算模式,以基于网络神经元构件的智能网为主。 管理信息系统向集成化方向发展。随着当前系统集成技术的提高,集成技术和方法也逐步地运用到管理信息系统中。由于管理信息系统将包含多个子系统,因此将这些功能集合在一起以便更好地发挥它的作用,这就是集成化的管理信息系统。集成化的管理信息系统将管理信息系统的各个子系统有机地结合起来,达到互通信息、共享数据资源的目的,其支撑技术是数据库和计算机网络。集成管