《Android》课程设计报告

《Android》课程设计报告
《Android》课程设计报告

滨江学院

《Android》课程设计报告

题目飞翔的圆(类似Flappy Bird)

专业_ _

学生姓名_____ _ ____ __

学号_ _

二O一五年六月二十五日

目录

一安卓应用程序开发背景 (3)

1.1开发背景 (3)

1.2开发环境 (4)

二安卓应用程序开发理论与方法 (4)

三小游戏应用程序的设计与实现 (6)

3.1 拟解决的问题及目标 (6)

3.2 总体设计 (5)

3.3 详细设计与编码实现 (6)

四总结 (17)

一安卓应用程序开发背景

1.1开发背景

1.智能手机的市场

(1)功能多样化的智能手机挑战全球PC出货量

移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。来自美国最大的风险投资机构KPCB的数据显示,全球智能手机出货量正在以远高于台式电脑、笔记本电脑出货量的速度快速增长,该机构预计2011年全球智能手机出货量将达到4.13亿,超过台式电脑与笔记本电脑出货量的总和。(2)智能手机的用户使用数量正在高速增长。据市场调研机构Gartner信息,2011年全球智能手机的总出货量将会达到4.68亿部,相比2010年实现了57.7%的增长,而谷歌Android 操作系统将会在今年之内成为全球最大的智能手机操作系统。另外,全球市场调研机构IDC 预计未来5年中国手机市场上,智能手机替代传统功能手机的趋势将日益明显,未来5年中国智能手机市场复合增长率将达到34.1%,人们对IT设备智能化的向往是这一增长率能够实现的主要因素,并且与其他国家相比,中国智能手机市场的发展空间更加广阔。

(3)操作系统格局预测:Android有望成为智能手机市场主导力量

搭载Android操作系统的智能手机目前已经成为市场上最炙手可热的智能产品。来自美国市场研究机构Gartner的数据显示,Android操作系统所占的市场份额从2008年的0.5%急剧增长到2011年的15.94%。开放的源代码和零成本已经让Android在全世界范围内受到青睐并迅速获得了主要手机厂商和数百万软件开发者的支持,Gartner预计,未来Android 系统的市场份额有望超过其他操作系统,从而成为全球第一大智能手机操作系统。

2.安卓手机介绍

安卓手机指的是用Android操作系统的手机。安卓(Android)是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。

同样都是手机上面用的智能系统,安卓的系统是新生系统,界面更为华丽,开源性更强,当然因为是新生系统,所以在第三方软件方面暂时还不太多。因此,安卓应用程序的需求还是很迫切的。

3.软件人才需求

据业内统计,目前国内的Android研发人才缺口至少30万。由于目前Android技术较新,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才的就业前景也非常广泛。

综上所述,在这样的背景下,安卓有很强的生命力。同时,作为一个新生的系统,其应用程序目前并不多,安卓应用程序的需求还是很迫切的,安卓研发人才的缺口还很大。这些都促进了我们学习开发安卓应用程序。

1.2开发环境

安卓应用程序开发环境如下:

①JDK 5 or JDK 6 (JRE alone is not sufficient)

②Eclipse 3.3 (Europa), 3.4 (Ganymede)

③Android SDK

④ADT 0.8.0

⑤Eclipse安装ADT 插件

二安卓应用程序开发理论与方法

1、Activity的相关知识

简单理解Activity 代表一个用户所能看到的屏幕,Activity 主要是处理一个应用的整体性工作。Activity是最基本的Android 应用程序组件,应用程序中,一个活动通常就是一个单独的屏幕。每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件做出响应。大多数的应用是由多个屏幕显示组成,因而要用到多个Activity。

(1)Activity的相关方法及相关函数:

A、void onCreate(Bundle)

首次启动时调用,接受参数:Null or savedInstanceState(保存的以前某些状态信息)

B、void onStart()

说明了将要显示给用户的活动

C、void onRestart()

将处于停止状态的活动重新显示给用户

D、void onResume()

用户可以开始与活动进行交互时调用。如动画播放和音乐播放。

E、void onPause()

活动将要进入后台运行时调用。(此时前台启动了另一个活动)

F、void onStop()

不需要某个活动了,就调用

G、void onDestroy()

销毁活动

(2)多个Activity之间的跳转:

通过Intent类实现屏幕之间的跳转(包括没有参数关系和需要传递参数两种情况)。(3)两个Activity之间进行数据交换:

startActivity() 只有Intent一个参数。

public void startSubActivity(Intent intent, int requestCode)

(requestCode:用来标识某一个调用,一般定义一个常量。)

传过去:函数原型为: public Intent setData(ContentURI data) 然后,参数带到新的Activity后,同样用Activity.getIntent()函数可得到当前过来的Intent 对象,然后用getData()就取到参数了。

传回来:函数原型为: public final void setResult(int resultCode, String data) 2、Intent的相关知识

Intent 是描述应用想要做什么。Android 使用了Intent 这个特殊类,实现在屏幕与屏幕之间移动。Intent 数据结构两个最重要的部分是动作和动作对应的数据。Intent类绑定一次操作,它负责携带这次操作所需要的数据以及操作的类型等。

3、Layout

用于用户界面设计。包含AbsoluteLayout, FrameLayout,GridView, LinearLayout,ListLayout, RadioGroup, TableLayout等等。

在本程序中用到的有:

(1)线性布局LinearLayout

垂直:android:orientation="vertical“

水平:android:orientation="horizontal"

(2)相对布局RelativeLayout

让子元素指定它们相对于其他元素的位置(通过ID 来指定)或相对于父布局对象。在RelativeLayout布局里的控件包含丰富的排列属性:

Layout above:控件在指定控件的上方

Layout below:控件在指定控件的下方

Layout to left of……

三小游戏应用程序的设计与实现

3.1 拟解决的问题及目标

本游戏上手简单,主旨在让人在紧张的生活中,获得游戏的乐趣,程序要实现的目标有如下几个:

(1)界面流畅

(2)有当前得分

(3)有最高得分

(4)后点击界面重新开始游戏

3.2 总体设计

1、游戏的操作流程

点击屏幕即可开始,当出现游戏界面是,通过点击屏幕控制圆点的高度,使得圆点触碰不到上下两边的长方形。

3.3 详细设计与编码实现

1、游戏界面

开始界面,点击屏幕圆点自动向前移动

当前得分0,点击屏幕控制圆点高度

触碰到长方形,游戏结束,点击屏幕重新开始2、核心代码如下:

GameBirdActivity类

public class GameBirdActivity extends Activity {

public static GameBirdActivity instance;

private LinearLayout gameView;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

instance = this;

this.getWindow().setFlags(https://www.360docs.net/doc/332533115.html,youtParams.FLAG_FULLSCREEN, https://www.360docs.net/doc/332533115.html,youtParams.FLAG_FULLSCREEN);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(https://www.360docs.net/doc/332533115.html,yout.content_view);

//game

gameView = (LinearLayout)this.findViewById(R.id.game_view);

gameView.addView(new GameBirdSurfaceView(this));

}

public void showMessage(int level){

saveSettingData(level);

Intent intent = new Intent(this, LoadingActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent);

}

public static final String GameBirdSettingsFile = "GameBird_Settings";

public static final String Settings_LevelLast = "LevelLast";

public static final String Settings_LevelTop = "LevelTop";

private void saveSettingData(int level) {

SharedPreferences gb_settings = getSharedPreferences(

GameBirdSettingsFile, 0);

gb_settings.edit().putInt(Settings_LevelLast, level).commit();

int top = gb_settings.getInt(Settings_LevelTop, 0);

if(level>top){

gb_settings.edit().putInt(Settings_LevelTop, level).commit();

}

}

}

GameBirdSurfaceView类

public class GameBirdSurfaceView extends SurfaceView implements Callback, Runnable {

private SurfaceHolder sfh;

private Paint paint;

private Thread th;

private boolean flag;

private Canvas canvas;

private static int screenW, screenH;

private static final int GAME_MENU = 0;

private static final int GAMEING = 1;

private static final int GAME_OVER = -1;

private static int gameState = GAME_MENU;

private int[] floor = new int[2];

private int floor_width = 15;

private int speed = 3;

private int[] level = new int[2];

private int level_value = 0;

private int[] bird = new int[2];

private int bird_width = 10;

private int bird_v = 0;

private int bird_a = 2;

private int bird_vUp = -16;

private ArrayList walls = new ArrayList();

private ArrayList remove_walls = new ArrayList(); private int wall_w = 50;

private int wall_h = 100;

private int wall_step = 30;

public GameBirdSurfaceView(Context context) {

super(context);

sfh = this.getHolder();

sfh.addCallback(this);

paint = new Paint();

paint.setColor(Color.WHITE);

paint.setAntiAlias(true);

paint.setTextSize(50);

paint.setStyle(Style.STROKE);

setFocusable(true);

setFocusableInTouchMode(true);

this.setKeepScreenOn(true);

}

public void surfaceCreated(SurfaceHolder holder) {

screenW = this.getWidth();

screenH = this.getHeight();

initGame();

flag = true;

th = new Thread(this);

th.start();

}

private void initGame() {

if (gameState == GAME_MENU) {

floor[0] = 0;

floor[1] = screenH - screenH/5;

level[0] = screenW/2;

level[1] = screenH/5;

level_value = 0;

bird[0] = screenW/3;

bird[1] = screenH/2;

walls.clear();

floor_width = dp2px(15);

speed = dp2px(3);

bird_width = dp2px(10);

bird_a = dp2px(2);

bird_vUp = -dp2px(16);

wall_w = dp2px(45);

wall_h = dp2px(100);

wall_step = wall_w*4;

}

}

private int dp2px(float dp){

int px = Math.round(TypedValue.applyDimension(https://www.360docs.net/doc/332533115.html,PLEX_UNIT_DIP, dp, getResources().getDisplayMetrics()));

return px;

}

public void myDraw() {

try {

canvas = sfh.lockCanvas();

if (canvas != null) {

//clear

canvas.drawColor(Color.BLACK);

//background

int floor_start = floor[0];

while(floor_start

canvas.drawLine(floor_start, floor[1], floor_start+floor_width, floor[1], paint);

floor_start += floor_width*2;

}

//wall

for (int i = 0; i < walls.size(); i++) {

int[] wall = walls.get(i);

float[] pts = {

wall[0],0,wall[0],wall[1],

wall[0],wall[1]+wall_h,wall[0],floor[1],

wall[0]+wall_w,0,wall[0]+wall_w,wall[1],

wall[0]+wall_w,wall[1]+wall_h,wall[0]+wall_w,floor[1],

wall[0],wall[1], wall[0]+wall_w, wall[1],

wall[0],wall[1]+wall_h, wall[0]+wall_w, wall[1]+wall_h

};

canvas.drawLines(pts, paint);

paint);

floor[1], paint);

}

//bird

canvas.drawCircle(bird[0], bird[1], bird_width, paint);

//level

canvas.drawText(String.valueOf(level_value), level[0], level[1], paint);

}

} catch (Exception e) {

} finally {

if (canvas != null)

sfh.unlockCanvasAndPost(canvas);

}

}

public boolean onTouchEvent(MotionEvent event) {

if(event.getAction() == MotionEvent.ACTION_DOWN){

switch (gameState) {

case GAME_MENU:

gameState = GAMEING;

//bird_v = bird_vUp;

//break;

case GAMEING:

bird_v = bird_vUp;

break;

case GAME_OVER:

//bird down

if(bird[1] >= floor[1] - bird_width){

gameState = GAME_MENU;

initGame();

}

break;

}

}

return true;

}

public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {

GameBirdActivity.instance.finish();

System.exit(0);

return true;

}

return super.onKeyDown(keyCode, event);

}

private int move_step = 0;

private void logic() {

switch (gameState) {

case GAME_MENU:

break;

case GAMEING:

//bird

bird_v+=bird_a;

bird[1] += bird_v;

if(bird[1] > floor[1] - bird_width){

bird[1] = floor[1] - bird_width;

gameState = GAME_OVER;

}

//top

//if(bird[1]<=bird_width){

//bird[1]=bird_width;

//}

//floor

if(floor[0] < -floor_width){

floor[0] += floor_width*2;

}

floor[0] -= speed;

//wall

remove_walls.clear();

for (int i = 0; i < walls.size(); i++) {

int[] wall = walls.get(i);

wall[0] -= speed;

if(wall[0]<-wall_w){

remove_walls.add(wall);

}else

if(wall[0]-bird_width<=bird[0]&& wall[0]+wall_w+bird_width>=bird[0] &&(bird[1]<=wall[1]+bird_width||bird[1]>=wall[1]+wall_h-bird_width)){

gameState = GAME_OVER;

}

int pass = wall[0]+wall_w+bird_width-bird[0];

if(pass<0 && -pass<=speed){

level_value++;

}

}

//out of screen

if(remove_walls.size()>0){

walls.removeAll(remove_walls);

}

//new wall

move_step += speed;

if(move_step>wall_step){

int[] wall = new int[]{screenW, (int)(Math.random()*(floor[1]-2*wall_h)+0.5*wall_h)};

walls.add(wall);

move_step = 0;

}

break;

case GAME_OVER:

//bird

if(bird[1] < floor[1] - bird_width){

bird_v+=bird_a;

bird[1] += bird_v;

if(bird[1] >= floor[1] - bird_width){

bird[1] = floor[1] - bird_width;

}

}else{

GameBirdActivity.instance.showMessage(level_value);

gameState = GAME_MENU;

initGame();

}

break;

}

}

public void run() {

while (flag) {

long start = System.currentTimeMillis();

myDraw();

logic();

long end = System.currentTimeMillis();

try {

if (end - start < 50) {

Thread.sleep(50 - (end - start));

}

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

}

public void surfaceDestroyed(SurfaceHolder holder) {

flag = false;

}

}

LoadingActivity类

public class LoadingActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.getWindow().setFlags(https://www.360docs.net/doc/332533115.html,youtParams.FLAG_FULLSCREEN, https://www.360docs.net/doc/332533115.html,youtParams.FLAG_FULLSCREEN);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(https://www.360docs.net/doc/332533115.html,yout.loading);

final TextView gameStart = (TextView)findViewById(R.id.game_start);

AdView adView = (AdView)findViewById(R.id.adView);

adView.setAdListener(new AdListener() {

public void onReceiveAd(Ad arg0) {

gameStart.setVisibility(View.VISIBLE);

}

public void onPresentScreen(Ad arg0) {

// TODO Auto-generated method stub

}

public void onLeaveApplication(Ad arg0) {

// TODO Auto-generated method stub

}

public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {

// TODO Auto-generated method stub

}

public void onDismissScreen(Ad arg0) {

// TODO Auto-generated method stub

}

});

View gameMessage = findViewById(R.id.GameMessage);

int[] data = getSettingData();

TextView levelMessage = (TextView)findViewById(R.id.level_Message);

levelMessage.setText("SCORE: "+data[0]+"\nBEST: "+data[1]);

gameMessage.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {

Intent intent = new Intent(LoadingActivity.this, GameBirdActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent);

finish();

}

});

}

private int[] getSettingData() {

SharedPreferences gb_settings = getSharedPreferences(GameBirdActivity.GameBirdSettingsFile, 0);

int last = gb_settings.getInt(GameBirdActivity.Settings_LevelLast, 0);

int top = gb_settings.getInt(GameBirdActivity.Settings_LevelTop, 0);

return new int[]{last, top};

}

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) {

try{

GameBirdActivity.instance.finish();

}catch(Exception e){}

finish();

System.exit(0);

return true;

}

return super.onKeyDown(keyCode, event);

}

}

四总结

在本次开发过程中,我对开发环境进一步的熟悉,基本上可以熟练运用这个环境,也基本掌握了安卓的开发方法及基本流程。在本次开发过程中,主要用到的知识有Activity 的使用,在程序中用到了多个窗口,因而需创建多个Activity。

开发期间,我学会了有目的的去学习一些将要用到的东西,仔细地考虑工作流程的规律和步骤,充分利用手中的开发工具,利用其所具备的功能,尽量使自己的开发在代码上实现少而精确、让用户能够尽量简单地进行操作。但是在检测过程中,还是出现了很多的不足之处,这些都是要在今后的工作中需要努力改进和完善的。

Android课程设计报告书

Android课程设计报告书 题目:RFID药品WMS仓库管理系统 院(系)别交通与物流工程学院 专业物联网工程专业 班级物联132 成员 指导教师贾雁 二○一六年六月

目录一、 二、 三、 四、主体内容 4.2程序结构图 五、总结 六、参考文献 7

随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地的查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样业务。因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统。它的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。本文是关于Android技术基础的RFID药品WMS仓库管理系统。 关键字:Android 智能手机仓库管理系统 二、课题及要求 1、课题:RFID药品WMS仓库管理系统 2、目的: 1)复习、巩固Android相关技术的基础知识,进一步加深对Android 开发技术的理解和掌握; 2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力; 3)培养学生在项目开发中团队合作精神、创新意识及能力。

1)对系统进行功能模块分析,符合课题要求,实现相应功能 2)系统设计要实用,编程简练,可用,功能全面 3)说明书、流程图要清楚 三、程序功能简介 经过一系列的编程与实验之后,能够实现简单的一下操作: 登录界面,实现药品的入库、移库、盘点、药品有效期提醒、出库等功能。 四、主体内容 4.1设计分析 这是一个基于Android技术基础的RFID药品WMS仓库管理系统。,这次的课程设计我们主要是应用现有的Eclipse软件,实现药品仓库管理的相关操作。设计中包括用户界面登录和操作界面。在登录界面又包括注册跟登录及密码的设置,在操作界面包含入库管理、移库管理、出库管理、盘点查询及有效期提醒等。 4.2程序结构图 4.3模块功能及程序说明

课程设计实验报告

竭诚为您提供优质文档/双击可除 课程设计实验报告 篇一:课程设计(综合实验)报告格式 课程设计报告 (20XX--20XX年度第一学期) 名称:题目:院系:班级:学号:学生姓名:指导教师:设计周数: 成绩:日期:《软件设计与实践》课程设计计算机系软件设计与实践教学组 20XX年1月14 日 《软件设计与实践》课程设计 任务书 一、目的与要求 1.了解网络爬虫的架构和工作原理,实现网络爬虫的基本框架;2.开发平台采用JDK1.60eclipse集成开发环境。 二、主要内容 1.了解网络爬虫的构架,熟悉网页抓取的整个流程。

2.学习宽度优先和深度优先算法,实现宽度crawler应用程序的编写、调试和运行。 3.学习主题爬行及内容分析技术。 4.实现网络爬虫的基本框架。 三、进度计划 四、设计成果要求 1.要求按时按量完成所规定的实验内容; 2.界面设计要求友好、灵活、易操作、通用性强、具有实用性; 3.基本掌握所采用的开发平台。五、考核方式 平时成绩+验收+实验报告。 学生姓名:于兴隆指导教师:王蓝婧20XX年1月2日 一、课程设计的目的与要求1.目的: 1.1掌握crawler的工作原理及实现方法;1.2了解爬虫架构; 1.3熟悉网页抓取的整个流程及操作步骤; 1.4掌握宽度优先,深度优先算法,并实现宽度crawler 应用程序的编写、调试和运行;1.5掌握主题爬行及内容分析技术;1.6实现一个最基础的主题爬虫的过程;1.7理解pageRank算法,并编程验证;二、设计正文 网络爬虫研究与应用 [摘要]:本文通过对网络爬虫研究的逐步展开,讨论了爬虫的相关概念与技术,并通过实验设计了简单的基于宽度

智能家居控制系统课程设计报告20

XXXXXXXXXXXXXX 嵌入式系统原理及应用实践 —智能家居控制系统(无操作系统) 学生姓名XXX 学号XXXXXXXXXX 所在学院XXXXXXXXXXX 专业名称XXXXXXXXXXX 班级XXXXXXXXXXXXXXXXX 指导教师XXXXXXXXXXXX 成绩 XXXXXXXXXXXXX 二○XX年XX月

综合实训任务书

目录 前言 (1) 1 硬件设计 (1) 1.1 ADC转换 (3) 1.2 SSI控制数码管显示 (3) 1.3 按键和LED模块 (5) 1.4 PWM驱动蜂鸣器 (6) 2 软件设计 (7) 2.1 ADC模块 (7) 2.1.1 ADC模块原理描述 (7) 2.1.2 ADC模块程序设计流程图 (8) 2.2 SSI 模块 (8) 2.2.1 SSI模块原理描述 (9) 2.2.2 SSI模块程序设计流程图 (10) 2.3 定时器模块 (10) 2.3.1 定时器模块原理描述 (10) 2.3.2 定时器模块流程图 (11) 2.4 DS18B20模块 (11) 2.4.1 DS18B20模块原理描述 (11) 2.4.2 DS18B20模块程序设计流程图 (12) 2.5 按键模块 (13) 2.5.1 按键模块原理描述 (13) 2.5.2 按键模块程序设计流程图 (13) 2.6 PWM模块 (13) 2.6.1 PWM模块原理描述 (14) 2.6.2 PWM模块程序设计流程图 (14) 2.6 主函数模块 (14) 2.6.1 主函数模块原理描述 (14) 2.6.2主函数模块程序设计流程图 (15)

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

智能控制课程设计(报告)

HUNAN UNIVERSITY 智能控制课程设计(报告) 课程设计题目:基于模糊控制光伏并网发电系 统的研究 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 2017年5月30 日

目录 第1章绪论 (1) 第2章光伏并网发电系统MPPT的研究进展 (2) 2.1 光伏发电系统最大功率跟踪控制 (2) 2.2 几种最大功率点跟踪方法的比较 (3) 第3章光伏并网发电系统MPPT模糊控制器 (7) 3.1 模糊化 (7) 3.2 模糊控制规则库的建立 (7) 3.3 解模糊 (7) 第4章 MPPT模糊控制器设计 (8) 4.1选择观测量和控制量 (8) 4.2 输入量和输出量的模糊化 (8) 4.3 制定模糊规则 (9) 4.4 求解模糊关系 (9) 4.5进行模糊决策 (10) 4.6 控制量的反模糊化 (10) 第5章模糊控制光伏并网发电系统仿真 (11) 附录 (15)

第1章绪论 在应对全球能源危机和保护环境的双重要求下,开发利用清洁可再生的太阳能越来越受到人们的关注。伴随着太阳能光电转换技术的不断发展,大规模的利用太阳能成为可能。光伏并网发电系统将成为太阳能利用的主要形式。目前,转换效率低是光伏并网发电系统面临的主要问题,这成为阻碍光伏并网发电系统广泛应用的一个重点问题。智能控制是这门新兴的理论和技术,它是传统控制发展的高级阶段,主要用来解决那些用传统方法难以解决的复杂系统的控制。智能控制包括专家系统、神经网络和模糊控制,而模糊控制是目前在控制领域中所采用的三种智能控制方法中最具实际意义的一种方法。在光伏系统MPPT控制中,由于外界光照强度和温度变化的不确定性以及并网逆变器的非线性特性,则使用模糊逻辑的MPPT控制方法进行控制,有望获得理想的控制效果。 随着近年智能控制的不断发展和完善,模糊控制技术也日趋成熟,被人们广泛接受。模糊控制的优点很多,例如:模糊控制器设计简单,不需要依赖被控对象的精确数学模型;模糊规则用自然语言表述,易于被操作人员接受;模糊控制规则可以转换成数学函数,易与其他物理规律结合,便于用计算机软件实现;模糊控制抗干扰能力强,且响应快,对复杂的被控对象能有效控制,鲁棒性和适应性都易达到要求。模糊控制以其适应面广泛和易于普及等特点,成为智能控制领域最重要,最活跃和最实用的分支之一。目前,模糊控制已经在工业控制领域、经济系统、人文系统以及医学系统中解决了传统控制方法难以解决甚至无法解决的实际控制问题。本文正是基于光伏发电系统存在的处理复杂,外界不确定因素多等特点,将模糊控制理论应用于光伏发电最大功率跟踪系统中,跟踪系统最大功率工作点,提高光电转换效率,充分利用太阳能资源。 本文以光伏并网发电系统最大功率点跟踪为研究对象,将模糊控制理论应用于光伏并网系统最大功率跟踪控制中,从光伏阵列的原理和特性、光伏并网系统的结构设计、最大功率点跟踪的原理和模糊控制理论等方面进行详细的分析和探讨。本设计报告比较多种最大功率点跟踪控制技术,实现光伏并网发电系统的研究,根据其不同的优缺点,然后选用模糊控制方法来实现最大功率跟踪。通过对模糊论域、隶属度函数计算,制定处模糊规则,设计出模糊控制器。最后建立光伏并网发电系统仿真模型,并对仿真结果进行了分析。

Android课程设计报告材料

河南城建学院 课程设计报告书 专业:计算机科学与技术 课程设计名称:《Java高级应用》 题目:基于Android平台的记事本软件 班级:0814131班 学号:081413107 设计者:付明玉 同组人员: 李志军、翟帅星 指导老师:张妍琰景伟娜陈红军 完成时间:2016年06月04

一、设计目的 (2) 1.1设计目的 (2) 1.2设计要求 (2) 二、需求分析 (2) 2.1需求分析 (2) 2.2软件逻辑 (3) 2.2.1软件逻辑图 (3) 2.2.2功能模块图 (4) 2.3 数据存储实现 (5) 三、模块分析及设计 (6) 3.1首页面 (6) 3.2主菜单 (7) 3.3 查看模块 (8) 3.4添加记录 (10) 3.5 垃圾箱 (10) 3.6 设置页面 (11) 3.7 日历页面 (12) 四、制作过程及要点 (12) 五、设计总结 (13) 六、参考资料 (15)

一、设计目的 1.1设计目的 《Java高级应用》课程设计是我们实践性学习环节之一,通过课程设计:(1)、巩固本学期所学的理论知识,熟悉androidstutio 工具及相关java组件的灵活应用。(2)、编制出完整的应用程序,锻炼我们的分析解决实际问题的能力,为以后完成大型项目的开发打下基础。(3)、把理论与实验课所学内容做一个综合,并在此基础上强化我们的实践意识、提高实际动手能力和创新能力。 1.2设计要求 设计一款基于Android平台的记事本软件。 功能要求:具有记事本的基本功能,可以实现记录,批量处理。具备在线备份和分享功能。在线备份能备份各种编辑中或者编辑完成的文章。 二、需求分析 2.1需求分析 (1)用户进入系统后可以设置个人信息:设置页面颜色、姓名、电话、及锁定密码,设置标记; (2)查看记录:查看以前的记录;

智能控制课程设计报告书

《智能控制》课程设计报告题目:采用BP网络进行模式识别院系: 专业: 姓名: 学号: 指导老师: 日期:年月日

目录 1、课程设计的目的和要求 (3) 2、问题描述 (3) 3、源程序 (3) 4、运行结果 (6) 5、总结 (7)

课程设计的目的和要求 目的:1、通过本次课程设计进一步了解BP网络模式识别的基本原理,掌握BP网络的学习算法 2、熟悉matlab语言在智能控制中的运用,并提高学生有关智能控制系统的程序设计能力 要求:充分理解设计容,并独立完成实验和课程设计报告 问题描述 采用BP网络进行模式识别。训练样本为3对两输入单输出样本,见表7-3。是采用BP网络对训练样本进行训练,并针对一组实际样本进行测试。用于测试的3组样本输入分别为1,0.1;0.5,0.5和 0.1,0.1。 表7-3 训练样本 说明:该BP网络可看做2-6-1结构,设权值wij,wjl的初始值取【-1,+1】之间的随机值,学习参数η=0.5,α=0.05.取网络训练的最终指标E=10^(-20),在仿真程序中用w1,w2代表wij,wjl,用Iout代表 x'j。 源程序 %网络训练程序

clear all; close all; xite=0.50; alfa=0.05; w2=rands(6,1); w2_1=w2;w2_2=w2; w1=rands(2,6); w1_1=w1;w1_2=w1; dw1=0*w1; I=[0,0,0,0,0,0]'; Iout=[0,0,0,0,0,0]'; FI=[0,0,0,0,0,0]'; k=0; E=1.0; NS=3; while E>=1e-020 k=k+1; times(k)=k; for s=1:1:NS xs=[1,0; 0,0; 0,1]; ys=[1,0,-1]'; x=xs(s,:); for j=1:1:6 I(j)=x*w1(:,j); Iout(j)=1/(1+exp(-I(j))); end y1=w2'*Iout;

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

智能控制系统课程设计

目录 有害气体的检测、报警、抽排.................. . (2) 1 意义与要求 (2) 1.1 意义 (2) 1.2 设计要求 (2) 2 设计总体方案 (2) 2.1 设计思路 (2) 2.2 总体设计方框图 2.3 完整原理图 (4) 2.4 PCB制图 (5) 3设计原理分析 (6) 3.1 气敏传感器工作原理 (7) 3.2 声光报警控制电路 (7) 3.3 排气电路工作原理 (8) 3.4 整体工作原理说明 (9) 4 所用芯片及其他器件说明 (10) 4.1 IC555定时器构成多谐振荡电路图 (11) 5 附表一:有害气体的检测、报警、抽排电路所用元件 (12) 6.设计体会和小结 (13)

有害气体的检测、报警、抽排 1 意义与要求 1.1.1 意义 日常生活中经常发生煤气或者其他有毒气体泄漏的事故,给人们的生命财产安全带来了极大的危害。因此,及时检测出人们生活环境中存在的有害气体并将其排除是保障人们正常生活的关键。本人运用所学的电子技术知识,联系实际,设计出一套有毒气体的检测电路,可以在有毒气体超标时及时抽排出有害气体,使人们的生命健康有一个保障。 1.2 设计要求 当检测到有毒气体意外排时,发出警笛报警声和灯光间歇闪烁的光报警提示。当有毒气体浓度超标时能自行启动抽排系统,排出有毒气体,更换空气以保障人们的生命财产安全。抽排完毕后,系统自动回到实时检测状态。 2 设计总体方案 2.1 设计思路 利用QM—N5气敏传感器检测有毒气体,根据其工作原理构成一种气敏控制自动排气电路。电路由气体检测电路、电子开关电路、报警电路、和气体排放电路构成。当有害气体达到一定浓度时,QM—N5检测到有毒气体,元件两极电阻变的很小,继电器开关闭合,使得555芯片组成的多谐电路产生方波信号,驱动发光二极管间歇发光;同时LC179工作,驱使蜂鸣器间断发出声音;此时排气系统会开始抽排有毒气体。当气体被排出,浓度低于气敏传感器所能感应的范围时,电路回复到自动检测状态。

智能控制课程设计(报告)(DOC)

HUNAN UNIVERSITY 智能控制课程设计(报告) 课程设计题目:基于模糊控制光伏并网发电系 统的研究 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 2017年5月30 日

目录 第1章绪论 (1) 第2章光伏并网发电系统MPPT的研究进展 (2) 2.1 光伏发电系统最大功率跟踪控制 (2) 2.2 几种最大功率点跟踪方法的比较 (3) 第3章光伏并网发电系统MPPT模糊控制器 (7) 3.1 模糊化 (7) 3.2 模糊控制规则库的建立 (7) 3.3 解模糊 (7) 第4章 MPPT模糊控制器设计 (8) 4.1选择观测量和控制量 (8) 4.2 输入量和输出量的模糊化 (8) 4.3 制定模糊规则 (9) 4.4 求解模糊关系 (9) 4.5进行模糊决策 (10) 4.6 控制量的反模糊化 (10) 第5章模糊控制光伏并网发电系统仿真 (11) 附录 (15)

第1章绪论 在应对全球能源危机和保护环境的双重要求下,开发利用清洁可再生的太阳能越来越受到人们的关注。伴随着太阳能光电转换技术的不断发展,大规模的利用太阳能成为可能。光伏并网发电系统将成为太阳能利用的主要形式。目前,转换效率低是光伏并网发电系统面临的主要问题,这成为阻碍光伏并网发电系统广泛应用的一个重点问题。智能控制是这门新兴的理论和技术,它是传统控制发展的高级阶段,主要用来解决那些用传统方法难以解决的复杂系统的控制。智能控制包括专家系统、神经网络和模糊控制,而模糊控制是目前在控制领域中所采用的三种智能控制方法中最具实际意义的一种方法。在光伏系统MPPT控制中,由于外界光照强度和温度变化的不确定性以及并网逆变器的非线性特性,则使用模糊逻辑的MPPT控制方法进行控制,有望获得理想的控制效果。 随着近年智能控制的不断发展和完善,模糊控制技术也日趋成熟,被人们广泛接受。模糊控制的优点很多,例如:模糊控制器设计简单,不需要依赖被控对象的精确数学模型;模糊规则用自然语言表述,易于被操作人员接受;模糊控制规则可以转换成数学函数,易与其他物理规律结合,便于用计算机软件实现;模糊控制抗干扰能力强,且响应快,对复杂的被控对象能有效控制,鲁棒性和适应性都易达到要求。模糊控制以其适应面广泛和易于普及等特点,成为智能控制领域最重要,最活跃和最实用的分支之一。目前,模糊控制已经在工业控制领域、经济系统、人文系统以及医学系统中解决了传统控制方法难以解决甚至无法解决的实际控制问题。本文正是基于光伏发电系统存在的处理复杂,外界不确定因素多等特点,将模糊控制理论应用于光伏发电最大功率跟踪系统中,跟踪系统最大功率工作点,提高光电转换效率,充分利用太阳能资源。 本文以光伏并网发电系统最大功率点跟踪为研究对象,将模糊控制理论应用于光伏并网系统最大功率跟踪控制中,从光伏阵列的原理和特性、光伏并网系统的结构设计、最大功率点跟踪的原理和模糊控制理论等方面进行详细的分析和探讨。本设计报告比较多种最大功率点跟踪控制技术,实现光伏并网发电系统的研究,根据其不同的优缺点,然后选用模糊控制方法来实现最大功率跟踪。通过对模糊论域、隶属度函数计算,制定处模糊规则,设计出模糊控制器。最后建立光伏并网发电系统仿真模型,并对仿真结果进行了分析。

Android贪吃蛇课程设计报告

XXXX学院 计算机科学系 《Android程序设计》课程设计报告 题目:贪吃蛇 专业:计算机科学与技术 ! 班级: B11计科班 学号: 0 姓名:凌波微步 Q Q :25 指导教师: , 2014年6月

, 目录 第一章绪论 (2) 游戏简介 (2) 开发目的及意义 (3) 开发环境及工具 (3) 第二章需求分析 (4) 游戏界面分析 (4) 游戏角色分析 (4) — 游戏控制分析 (4) 第三章总体设计 (5) 系统功能模块层次图 (5) 运行机制 (6) 贪吃蛇功能流程图 (7) 第四章详细设计与实现 (9) SnakeActivity类 (9) MyTile类 (10) : NextActivity类 (18) SysApplication类 (19) 界面设计 (20) 第五章测试 (26) 功能测试 (26) 测试结果 (27) 第六章结论 (27)

第一章绪论 @ 游戏简介 贪吃蛇游戏是一款手机游戏,同时也是一款比较需要耐心的游戏。贪吃蛇游戏是一条蛇,不停地在手机屏幕上游走,吃在手机屏幕上出现的食物。当蛇吃掉1个食物后会变长,并且吃完食物时食物会消失,并立即随机生成1个新的食物,只要蛇头碰到屏幕四周或者碰到自己的身子,蛇就立即毙命。 开发目的及意义 通过本次课程设计,了解android软件的开发过程,熟悉并掌握JAVA语言,程序关键在于表示蛇的图形及蛇的移动。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用一节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动。意义是方便人们在休闲时通过玩手机游戏获得一点快乐,同时锻炼自己的大脑。 开发环境及工具 在Window8下进行,采用eclipse开发工具,基于安卓操作系统。 环境搭建: 1. JDK安装 [ 2. Eclipse安装 3. Android SDK安装 4. ADT安装创建AVD

个人信息管理系统毕业课程设计实验报告

(此文档为word格式,下载后您可任意编辑修改!) 山东交通学院 目录 1.系统分析 (2) 1.1系统需求分析 (2) 1.2项目规划 (2) 1.3系统功能结构分析 (3) 1.4设计目的分析 (3) 2.数据库系统设计 (4) 2.1数据表概要设计 (4) 2.2数据库逻辑结构设计 (4) 3.应用程序设计 (5) 3.1界面设置 (5) 3.2关键技术 (15) 4.系统安装 (20) 建立数据源 (20) 5.设计体会 (21) 参考文献 (22)

摘要 随着经济社会的发展,计算机已被应用到社会生活的各个领域。与此同时,互联网作为信息技术的通信桥梁连接着全球的计算机,而网站作为网络信息主要的表现形式而且还是互联网信息的主要承载者,在网络上表现出其及其重要的地位,并发挥着极其重要的作用。无论是在国内还是国外都得以迅速的发展和壮大,并被人们重视和关注。互联网已经彻底的改变了世界,互联网的世界里蕴藏着无限的可能,在这种情况下,各行各业及其个人、单位、工厂、企事业等等在网上构筑属于自己的网络信息平台,保护自己的网络资源并在互联网上开辟自己的市场和消费群体,以及构造自己的数字化世界和加强全球范围内不同地域的人们联系交流等等活动也就显的日益重要。于是各种各样的网站便如雨后春笋般地出现鱼龙混杂且良莠不齐。因此,个人信息的管理就显得尤为重要了。不仅可以更好的保护个人信息,对日常的使用也会提供很大的方便。关键词:个人信息管理系统;数据集;数据库;Visual C++6.0。 1.系统分析 1.1系统需求分析 在做本系统前,我对系统的需求做了如下分析: 1)登录权限:在登录权限的分析上我们规定必须凭借用户名和密码才可登陆,进行管理。 2)使用者功能:首先说明一下,我们的系统用户对象是个人。关于其本系统的功能,大致可分为日记管理,通讯录管理,备忘录管理,以及个人财务管理;日记管理,其中包括用户对日记编号,时间,地点,事件、人物的查询、

android课程设计报告(数独游戏)

河南科技学院《物联网移动应用开发》课程设计报告 设计题目:基于android的数独游戏设计 班级:物联网131 学号:2013156555 姓名:胡建刚 指导教师:许睿 成绩:

信息工程学院 课程设计报告说明 一、写报告前,请认真阅读《课程设计报告说明》。 二、打印装订要求 1、一律用A4纸,双面打印,并左侧装订。报告正文部分均采用宋体小四。《课程设计报告说明》页也打印。 2、课程设计概述部分占一页;课程设计内容长度根据实际需要填写;结论和指导教师评语及成绩单独占一页。保证打印格式工整。 3、指导教师评语及成绩部分由指导教师填写。 三、报告内容要求 1、课程设计目的结合实际自己写,不要雷同。 2、课程设计原理简要说明所完成课程设计项目所涉及的理论知识。 3、课程设计内容这是课程设计报告极其重要的内容。概括整个课程设计过程。(最好在上述内容基础上画出相应的流图、设计思路和设计方法,再配以相应的文字进行说明。)

一、课程设计概述 1、课程设计目的 通过对android的学习,编写除了这个数独游戏,掌握android的控件知识的使用,和界面的制作。对java知识的应用。这样不仅对自身android的学习可以更上一层楼,而且这个游戏可以锻炼智力,游戏简单,适合多人群游戏,健康,益智的游戏。 2、课程设计要求 1. 熟悉eclipse开发软件,熟练使用java和xml。 2. 学习和掌握android的四大组件的使用。 3. 熟练掌握Android 游戏开发多线程技术、Android 游戏开发的图形处理技术等。 4. 完成程序的编写工作。 5. 完成程序在模拟器上的实现,以及在安卓手机上的功能实现,并完成优化。3、课程设计原理 基于数独游戏规则,通过java建立一系列的算法。然后利用android的控件知识建立一系列的界面。包括背景的制作。

计算机网络课程设计实验报告

中南大学课程设计报告 课程:计算机网络课程设计 题目:基于Winpcap的网络流量统计分析 指导教师:张伟 目录 第一章总体设计 一、实体类设计 --------P3 二、功能类设计 --------P3 三、界面设计 --------P3

第二章详细设计 一、实体类实现 --------P4 二、功能类实现 --------P4 三、界面实现 --------P5 第三章源代码清单及说明 一、CaptureUtil.java --------P7 二、MyPcapPacketHandler.java --------P9 三、PacketMatch.java --------P9 四、Windows.java --------P13 第四章运行结果 --------P19 第五章心得体会 --------P21 第一章总体设计 一、实体类设计 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计 二、功能类设计 (1)网卡获取 (2)包的抓捕

(3)包的处理 三、界面设计 (1)布局 (2)按钮功能连接 第二章第二章详细设计 一、实体类实现 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计。 本程序采用Java编写,基于win10pcap。Win10pcap是winpcap在win10系统上的适用版本。Java对于winpcap使用jnetpcap进行支持。对于TCP、UPD、ICMP、ARP、广播数据包五种类型的包,在jnetpcap的jar包中大部分已经封装好了相关的实体类型。对应如下:ARP 实体类:https://www.360docs.net/doc/332533115.html,work.Arp; UPD 实体类:https://www.360docs.net/doc/332533115.html,work.Icmp;

智能控制课程设计报告书

《智能控制》课程设计报告 题目:采用BP网络进行模式识别院系: 专业: 姓名: 学号: 指导老师:

日期:年月日 目录 1、课程设计的目的和要求 (3) 2、问题描述 (3) 3、源程序 (3) 4、运行结果 (6) 5、总结 (7)

课程设计的目的和要求 目的:1、通过本次课程设计进一步了解BP网络模式识别的基本原理,掌握BP网络的学习算法 2、熟悉matlab语言在智能控制中的运用,并提高学生有关智能控制系统的程序设计能力 要求:充分理解设计内容,并独立完成实验和课程设计报告 问题描述 采用BP网络进行模式识别。训练样本为3对两输入单输出样本,见表7-3。是采用BP网络对训练样本进行训练,并针对一组实际样本进行测试。用于测试的3组样本输入分别为1,0.1;0.5,0.5和 0.1,0.1。 输入输出 1 0 1

0 0 0 0 1 -1 表7-3 训练样本 说明:该BP网络可看做2-6-1结构,设权值wij,wjl的初始值取【-1,+1】之间的随机值,学习参数η=0.5,α=0.05.取网络训练的最终指标E=10^(-20),在仿真程序中用w1,w2代表wij,wjl,用Iout代表 x'j。 源程序 %网络训练程序 clear all; close all; xite=0.50; alfa=0.05; w2=rands(6,1);

w2_1=w2;w2_2=w2; w1=rands(2,6); w1_1=w1;w1_2=w1; dw1=0*w1; I=[0,0,0,0,0,0]'; Iout=[0,0,0,0,0,0]'; FI=[0,0,0,0,0,0]'; k=0; E=1.0; NS=3; while E>=1e-020 k=k+1; times(k)=k; for s=1:1:NS xs=[1,0;

安卓开发课程设计报告

下载可编辑 .专业.整理. 武汉理工大学华夏学院 课程报告课程名称:智能手机软件开发 题目:基于Android的手机 通讯录的设计与实现 专业信息工程系

班级 学号 姓名 成绩 指导教师 2015年3月23日至2015年6月12日 智能手机软件开发大作业 根据所学的Android 手机开发的知识,采用Eclipse、JAVA开发一个基于Android平台的手机通讯录软件,具体要求如下: 1.要发该软件能够在Android4.0 以上的平台上运行。 2.要求软件界面美观,操作方便,符合日常使用规范。 3.能够通过该手机通讯录来添加新的联系人,用来存放联系人的姓名、单位、电话、QQ、地址等信息。 4.能够通过该手机通讯录来编辑联系人信息,来修改联系人的个人信息。 5.能够通过该手机通讯录来调用系统的通信接口,直接给用户发短信,打电

下载可编辑 话。 6.在手机通讯录中,添加合适的菜单,来操作手机通讯录。 7.将开发的过程写成报告,要求内容完整,格式规范,条理清晰。 1 设计目的 随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展移动终端的应用软件和需要的服务将会有很大的发展空间。根据这个特点,设计一个基于Android平台的通讯录系统,能根据手机的特点,存储,管理,修改 .专业.整理.

联系人信息,并且能够根据选定的联系人,对其拨打电话,发送短信等。 手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能使用调查显示,通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。所以手机通讯录功能越来越齐全,满足了人们的需求。 2 开发环境 由于该android通讯录是一个基于Java语言开发软件,所以选择了Eclipse3.4作为开发平台,作为插件,它能够安装Android SDK,从而可以安装使用Android虚拟机,使得程序得以开发,亦更为方便。 本通讯录系统就是在Eclipse3.4+Android平台环境下编写设计而成的。 3 需求分析 该系统针对的主要用户是Android手机用户。Android手机通信管理系统包括以下主要内容: (1) 用户通过联系人功能可以保存联系人的详细信息,可以对联系人进行编辑、删除、拨打电话、发送短信可以根据索引条件搜索联系人。 (2) 用户通过短信记录功能可以发送短信,删除短信记录。 (3) 用户通过SD卡所储存信息向通讯录批量导入联系人信息。 (4) 用户通过个人中心可以设置自己的详细信息,这样方便其他人了解自己,也可以将具有相同名字的联系人合并。

数字电子钟课程设计方案实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号:1405024119 李子鹏学号:1405024125 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日

课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号:1405024119 李子鹏学号:1405024125 指导教师:姚爱琴 2017 年 1 月 6 日

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号:1405024119 李子鹏学号:1405024125 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.1秒信号电路 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.4校时电路 (9) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12)

关于智能窗帘的课程设计

关于智能窗帘的课程设计

课程设计 机电一体化系统设计课程设计 教学单位: 机电工程学院 专业: 机械设计制造及其自动化 班级: 10机械C(机电一体化) 1.学号:2010100203013学生姓名: 谢伟军 2.学号:2010100203027学生姓名: 李伟雄 3.学号:2010100203067学生姓名: 吴海富指导教师: 何伟 完成时间: 2013 年11 月10 日 电子科技大学中山学院机电工程学院

前言 如今伴随着信息时代的到来,人们的生活水平日益提高,方便、快捷、自动、智能成为时代的主题,在现代家庭生活环境中,居家环境早已不仅仅局限在物理空间上,人们更为关注的是一个安全、方便、舒适的环境,自动化的电子产品自然成为人们追求的目标。 窗是人心灵的眼睛,窗帘则是眼睛上的睫毛,窗帘在防止强光射入,帮助人们合理的安排时间,美化室内环境,保证个人隐私,增强居家环境方面有重要作用。随着人们生活节奏的加快,窗帘的自动化随之产生。 本产品是在学习机械原理及设计和电工学等知识,通过实践,观察,思考的基础上设计而成的,且人性化的思想理念也体现了科学技术在人们生活中的作用。 通过几个月的努力,使我们深刻感受到了电学,力学,加工工艺,理论知识与实践相结合在机械设计中的重要性。加强和拓展这些方面的知识对机械学子们是很有必要的。 由于我们能力、经验以及一些方面的知识有限,许多地方未能深入的研究,如有误漏之处,敬请评委老师批评指正。

课程设计任务书 目录 1课题分析 (1) 1.1设计目的 (1) 1.2设计达到的功能和要求 (1) 1.3 设计内容和主要步骤 (2) 1.4 小组成员及其分工 (2) 2机械结构设计 (3) 2.1 设计参数计算 (3) 2.2 机械部件的选择 (3) 2.3 机械结构的设计 (4) 2.4 机械结构装配图 (5) 3控制电路设计 (6) 3.1 电机的选择 (6) 3.2 传感器的选择 (7) 3.3 PLC的选择 (9) 3.4 控制系统电路图 (11) 4 控制系统设计 (12) 4.1 控制系统工作原理 (12) 4.2 控制系统框图 (13) 4.3. 控制过程流程图。 (13)

智能控制技术实验报告

《智能控制技术》实验报告书 学院: 专业: 学号: 姓名:

实验一:模糊控制与传统PID控制的性能比较 一、实验目的 通过本实验的学习,使学生了解传统PID控制、模糊控制等基本知识,掌握传统PID控制器设计、模糊控制器设计等知识,训练学生设计控制器的能力,培养他们利用MATLAB进行仿真的技能,为今后继续模糊控制理论研究以及控制仿真等学习奠定基础。 二、实验内容 本实验主要是设计一个典型环节的传统PID控制器以及模糊控制器,并对他们的控制性能进行比较。主要涉及自控原理、计算机仿真、智能控制、模糊控制等知识。 通常的工业过程可以等效成二阶系统加上一些典型的非线性环节,如死区、饱和、纯延迟等。这里,我们假设系统为:H(s)=20e0.02s/(1.6s2+4.4s+1) 控制执行机构具有0.07的死区和0.7的饱和区,取样时间间隔T=0.01。 设计系统的模糊控制,并与传统的PID控制的性能进行比较。 三、实验原理、方法和手段 1.实验原理: 1)对典型二阶环节,根据传统PID控制,设计PID控制器,选择合适的PID 控制器参数k p、k i、k d; 2)根据模糊控制规则,编写模糊控制器。 2.实验方法和手段: 1)在PID控制仿真中,经过仔细选择,我们取k p=5,k i=0.1,k d=0.001; 2)在模糊控制仿真中,我们取k e=60,k i=0.01,k d=2.5,k u=0.8; 3)模糊控制器的输出为:u= k u×fuzzy(k e×e, k d×e’)-k i×∫edt 其中积分项用于消除控制系统的稳态误差。 4)模糊控制规则如表1-1所示: 在MATLAB程序中,Nd用于表示系统的纯延迟(Nd=t d/T),umin用于表示控制的死区电平,umax用于表示饱和电平。当Nd=0时,表示系统不存在纯延迟。 5)根据上述给定内容,编写PID控制器、模糊控制器的MATLAB仿真程序,

安卓课程设计报告

安卓课程设计报告

安卓课程设计报告 设计题目:五子棋 目录 一.需求分析 ................................................... 错误!未定义书签。二.功能模块 ................................................... 错误!未定义书签。 三. 界面设计 ..................................................... 错误!未定义书签。

四. 分工说明 ..................................................... 错误!未定义书签。 五. 所遇到的问题 ............................................. 错误!未定义书签。 六.代码注释...................................................... 错误!未定义书签。 一.需求分析 网络技术的日新月异让世界惊叹,高速发展的网络技术和日渐成熟的3G网络,让越来越多的用户沉浸在手机的世界而无限欢快。不论是逛街、乘地铁,还是吃饭,排队,跟随潮流的时尚一群都利用拇指掌控着周围的一切,似乎只有手机才能让她们真正体验娱乐的极致。手机已然成为本世纪最有作为、最受欢迎的创造。而手机的流行更成就了相关应用和网站,让她们在移动互联网大放异彩的当下备受用户关注。 二.功能模块

三. 界面设计 3.1开始界面

3.2游戏界面 3.3点击认输界面

相关文档
最新文档