文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机程序设计基础课程设计论文

计算机程序设计基础课程设计论文

计算机程序设计基础课程设计论文
计算机程序设计基础课程设计论文

计算机程序设计基础(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)单元电路设计与参数计算---电子元件选择: 基本模拟单元电路有:稳压电源电路,信号放大电路,信号产生电路,信号处理 电路(电压比较器,积分电路,微分电路,滤波电路等),集成功放电路等。 基本数字单元电路有:脉冲波形产生与整形电路(包括振荡器,单稳态触发器,施密特触发器),编码器,译码器,数据选择器,数据比较器,计数器,寄存器,存储器等。 为了保证单元电路达到设计要求,必须对某些单元电路进行参数计算和电子元件 选择,比如:放大电路中各个电阻值、放大倍数计算;振荡电路中的电阻、电容、振荡频率、振荡幅值的计算;单稳态触发器中的电阻、电容、输出脉冲宽度的计 算等;单元电路中电子元件的工作电压、电流等容量选择。

C语言程序设计课程设计题目

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) 按学号查询,输入一个学号,输出对应的学生信息。

机械设计课程设计题目5

中北大学
课 程 设 计 说 明 书
学生姓名: 学 专 题 院: 业:
学 号:
目: 设计同轴线式二级斜齿圆柱齿轮减速器,该减速
器用于汽车发动机装配车间的皮带运输机的传 动系统中
指导教师: 指导教师:苗鸿宾 程志刚
职称: 职称: 副教授 高工
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 using namespace std; int main() { cout<<"****************"< using namespace std; int main() { double x,y,sum,sub,mult,div; cout<<"Please enter the two Numbers for calculation:"; cin>>x>>y; sum=x+y; sub=x-y; mult=x*y; div=x/y; cout<

相关文档 最新文档