C++实验报告-Qt CQURUN_Game

C++实验报告-Qt CQURUN_Game
C++实验报告-Qt CQURUN_Game

重庆大学课程设计报告

课程设计题目:『CQU Run』(TD类游戏)——基于Qt的小游戏软件设计与实现

学院:计算机学院

专业班级:信息安全2班& 物联网1班年级:2012级

姓名:许佳丽,鄢然,陈点

学号:20125193,20125200,20125209 完成时间:2013 年12 月27 日成绩:

指导教师:杨广超

重庆大学教务处制

指导教师评定成绩:

指导教师签名:年月日

指导教师评定成绩:

指导教师签名:年月日

指导教师评定成绩:

指导教师签名:年月日

重庆大学本科学生课程设计任务书

说明:学院、专业、年级均填全称,如:计算机学院、计算机科学与技术、2012。

课程设计正文

主要内容包括:

1 需求分析(功能流程图)

2 系统设计(类结构图、模块图等)

3 关键代码描述

4 系统测试报告

5 运行效果

6 总结

格式要求

纸张大小: A4

页边距:上下左右各留20mm

行距:采用固定值20磅

标题:章节标题使用三号黑体、居中

(大标题使用四号黑体,小标题使用小四号黑体)

正文:小四号宋体

页眉:“学生姓名:课程设计题目”,五号宋体,居中

页脚:阿拉伯数字编页码,小五号宋体,居中

参考文献:五号宋体

附录:五号宋体

备注:

1、学生:提交的课程设计报告电子文档命名为:“组号(2位数字)年级(两位数字

不要“级”字)专业(缩写:计算机科学与技术专业(计科)、网络工程专业(网络)、信息安全专业(信息)、物联网工程(物联网))项目组成员(学号(八位数字)姓名).doc。如第1组,专业为“计算机科学与技术”专业,项目组成员有:张三(学号20125676),李四(学号20125676),王五(学号20125676),完成的课程设计报告命名为:01_10计科_20125676张三_20125676李四_20125676王五。

2、教师:报告批阅完成后将评价后的实验报告转换为PDF格式文件刻光盘,连同课

程设计成绩单一起放入试卷袋存档。

CQU Run For Lunch(课设题目)

2013-2014学期《C++面向对象程序设计》课程设计

前言

重大的食堂老是占不到位置,而且人多也导致了菜品经常会有所缺少。所以每次下课吃饭都是一件需要争分夺秒的事。所以正午时食堂的午饭可以称作被“抢”的存在,同时最近身边的同学们正在玩《保卫萝卜》的手机游戏,于是就想出了这样一个游戏——『CQU Run』。

CQU Run本质上是一个以重庆大学虎溪校区为地图的TD类游戏,鉴于时间限制,仅制作了单种类型敌人、单种类型防守炮台以及5轮进攻数,但是接口和图片都已经做好了,继承和初始化暂时没有时间了,故暂以此Beta2版本上交作业。

本课程设计中有一个功能暂未能实现,即背景音乐的未完成。努力查询了许多函数和代码,现在Project中的audioplayer.h、audioplayer.cpp是CSDN上一篇用于Mac系统的背景音乐函数,在Win7下测试运行是无效的。

课设全文件一览

需求分析(功能流程图)

系统设计(类结构图、模块图等)

关键代码描述

本次课程设计涉及到几个关键的功能,以下将一一说明并贴出核心实现源代码。1)【难点】实现对象的连续持续移动:

void Enemy::move()

{

if (!m_active)

return;

if (collisionWithCircle(m_pos, 1, m_destinationWayPoint->pos(), 1))

{

//Reach one Point

if (m_destinationWayPoint->nextWayPoint())

{

//If there's another point

m_pos = m_destinationWayPoint->pos();

m_destinationWayPoint = m_destinationWayPoint->nextWayPoint();

}

else

{

//Enter Final Point

m_game->getHpDamage();

m_game->removedEnemy(this);

return;

}

}

//When at Road

//Destination Point Address

QPoint targetPoint = m_destinationWayPoint->pos();

//Can Change Speed

//Vector normalizing

qreal movementSpeed = m_walkingSpeed;

QVector2D normalized(targetPoint - m_pos);

normalized.normalize();

m_pos = m_pos + normalized.toPoint() * movementSpeed;

//Enemy direction

//Adjust Beginning direction

m_rotationSprite= qRadiansToDegrees(qAtan2(normalized.y(), normalized.x())) + 180;

}

2)【难点】沿指定路径移动(包括转向):

逐点定路径坐标详见void MainWindow::addWayPoints(){...}

以下贴出测试路径用代码与测试时效果图

效果图:

3)【难点】炮台的功能实现(包括射击的子弹功能)

void Tower::checkEnemyInRange()

{

if (m_chooseEnemy)

{

//Point at Enemy

//init Vector

QVector2D normalized(m_chooseEnemy->pos() - m_pos);

normalized.normalize();

m_rotationSprite= qRadiansToDegrees(qAtan2(normalized.y(), normalized.x())) - 90;

//If out of Range

if(!collisionWithCircle(m_pos, m_attackRange, m_chooseEnemy->pos(), 1))

lostSightOfEnemy();

}

else

{

//Check4if there's Enemy inRange

QList enemyList = m_game->enemyList();

foreach (Enemy *enemy, enemyList)

{

if (collisionWithCircle(m_pos, m_attackRange, enemy->pos(), 1))

{

chooseEnemyForAttack(enemy);

break;

}

}

}

}

void Tower::draw(QPainter *painter) const

{

painter->save();

painter->setPen(Qt::white);

//Paint Range

painter->drawEllipse(m_pos, m_attackRange, m_attackRange);

//Coordinate:x,y_address=centre+distance

static const QPoint offsetPoint(-ms_fixedSize.width() / 2, -ms_fixedSize.height() / 2);

//Draw and choose tower

painter->translate(m_pos);

painter->rotate(m_rotationSprite);

painter->drawPixmap(offsetPoint, m_sprite);

painter->restore();

}

void Tower::attackEnemy()

{

m_fireRateTimer->start(m_fireRate);

}

void Tower::shootWeapon()

{

Bullet*bullet = new Bullet(m_pos, m_chooseEnemy->pos(), m_damage, m_chooseEnemy, m_game);

bullet->move();

m_game->addBullet(bullet);

}

void Tower::targetKilled()

{

if (m_chooseEnemy)

m_chooseEnemy = NULL;

m_fireRateTimer->stop();

m_rotationSprite = 0.0;

}

void Tower::lostSightOfEnemy()

{

m_chooseEnemy->gotLostSight(this);

if (m_chooseEnemy)

m_chooseEnemy = NULL;

m_fireRateTimer->stop();

m_rotationSprite = 0.0;

}

4)【DIY】血条的制作

void Enemy::draw(QPainter *painter) const

{

if (!m_active)

return;

painter->save();

QPoint healthBarPoint = m_pos+ QPoint(-Health_Bar_Width / 2- 5, -ms_fixedSize.height() / 3);

//Paint HP

painter->setPen(Qt::NoPen);

painter->setBrush(Qt::red);

QRect healthBarBackRect(healthBarPoint, QSize(Health_Bar_Width, 2)); painter->drawRect(healthBarBackRect);

painter->setBrush(Qt::green);

QRect healthBarRect(healthBarPoint, QSize((double)m_currentHp / m_maxHp * Health_Bar_Width, 2));

painter->drawRect(healthBarRect);

//绘制偏转坐标,由中心+偏移=左上

static const QPoint offsetPoint(-ms_fixedSize.width() / 2, -ms_fixedSize.height() / 2);

painter->translate(m_pos);

painter->rotate(m_rotationSprite);

//Paint Enemy

painter->drawPixmap(offsetPoint, m_sprite);

painter->restore();

}

5)【DIY】炮台的跟随攻击,优先攻击算法

void Tower::chooseEnemyForAttack(Enemy *enemy)

{

m_chooseEnemy = enemy;

attackEnemy();

m_chooseEnemy->getAttacked(this);

}

void Bullet::draw(QPainter *painter) const

{

painter->drawPixmap(m_currentPos, m_sprite);

}

void Bullet::move()

{

//100毫秒内击中敌人

static const int duration = 100;

QPropertyAnimation*animation = new QPropertyAnimation(this, "m_currentPos");

animation->setDuration(duration);

animation->setStartValue(m_startPos);

animation->setEndValue(m_targetPos);

connect(animation, SIGNAL(finished()), this, SLOT(hitTarget()));

animation->start();

}

void Bullet::hitTarget()

{

if (m_game->enemyList().indexOf(m_target) != -1)

m_target->getDamage(m_damage);

m_game->removedBullet(this);

}

6)【DIY】事后临时加了个“关于我们”的QMovie->QLabel播放动画的应用~

About_us::About_us(QWidget *parent) :

QDialog(parent),

ui(new Ui::About_us)

{

ui->setupUi(this);

QMovie *moviebgd = new QMovie("://Add_aboutus/bgd.gif");

ui->Giflabel->setMovie(moviebgd);

QMovie *moviecd = new QMovie("://Add_aboutus/dian.gif");

ui->CDlabel->setMovie(moviecd);

QMovie *moviekl = new QMovie("://Add_aboutus/gali2.gif");

ui->KLlabel->setMovie(moviekl);

QMovie *movieyr = new QMovie("://Add_aboutus/baizi.jpg");

ui->YRlabel->setMovie(movieyr);

moviebgd->start();

moviecd->start();

moviekl->start();

movieyr->start();

}

7)【附加】xml文件记录初始化数据的读取功能(此项来自CSDN)

bool PListReader::read(QIODevice *device)

{

m_xmlReader.setDevice(device);

if (m_xmlReader.readNextStartElement())

{

if(m_https://www.360docs.net/doc/8517668909.html,() == "plist"&& m_xmlReader.attributes().value("version") == "1.0")

readPList();

else

m_xmlReader.raiseError("The file is not an PList version1.0file."); }

return m_xmlReader.error();

}

const QList PListReader::data() const

{

return m_data;

}

QString PListReader::errorString() const

{

return QString("%1\nLine%2,column%3")

.arg(m_xmlReader.errorString())

.arg(m_xmlReader.lineNumber())

.arg(m_xmlReader.columnNumber());

}

void PListReader::readPList()

{

Q_ASSERT(m_xmlReader.isStartElement() && m_https://www.360docs.net/doc/8517668909.html,() == "plist");

while (m_xmlReader.readNextStartElement())

{

if (m_https://www.360docs.net/doc/8517668909.html,() == "array")

readArray(m_data);

else if (m_https://www.360docs.net/doc/8517668909.html,() == "dict")

readDict(m_data);

else

m_xmlReader.skipCurrentElement();

}

}

void PListReader::readArray(QList &array)

{

Q_ASSERT(m_xmlReader.isStartElement() && m_https://www.360docs.net/doc/8517668909.html,() == "array");

while (m_xmlReader.readNextStartElement())

{

if (m_https://www.360docs.net/doc/8517668909.html,() == "array")

{

QList subArray;

readArray(subArray);

array.push_back(subArray);

}

else if (m_https://www.360docs.net/doc/8517668909.html,() == "dict")

{

readDict(array);

}

else

{

m_xmlReader.skipCurrentElement();

}

}

}

void PListReader::readDict(QList &array)

{

Q_ASSERT(m_xmlReader.isStartElement() && m_https://www.360docs.net/doc/8517668909.html,() == "dict");

QMap dict;

while (m_xmlReader.readNextStartElement())

{

//Readkey a pair at one time

if (m_https://www.360docs.net/doc/8517668909.html,() == "key")

readKey(dict);

else

m_xmlReader.skipCurrentElement();

}

array.push_back(dict);

}

void PListReader::readKey(QMap &dict)

{

Q_ASSERT(m_xmlReader.isStartElement() && m_https://www.360docs.net/doc/8517668909.html,() == "key");

//Read a pair at one time

QString key = m_xmlReader.readElementText();

Q_ASSERT(m_xmlReader.readNextStartElement());

QString value = m_xmlReader.readElementText();

dict.insertMulti(key, value);

}

系统测试报告

1】使用画图板确定像素坐标位置:

通过Windows自带画图板的查看像素功能,获得需要的点的坐标数值,并将其输入相应的xml或结点中去(如下图,分别为导入xml,导入节点)。

需要注意的是,当我们为了路径的平滑性增加坐标点的时候,此新增坐标点前后的链接都需要发生变化。

型,故无法使每次m_waves变化时更改图片。

3】为制作左下角两个小按钮也费尽心思

C语言程序设计实验报告参考答案

长沙理工大学C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include main() { printf("Thedressislong\n"); printf("Theshoesarebig\n"); printf("Thetrousersareblack\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { inta,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x);

printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { inta,b,c; a=0; b=-10; c=(a>b)?b:a; printf("c=%d\n",c); }

《基础护理学》教学大纲

《基础护理学》教学大纲 Teaching Syllabus for Fundamental Nursing 一、课程任务与性质 《基础护理学》是护理专业本科生必修课程,是护理专业主干学科之一,是护理患者所必须掌握的一门基本理论、基本知识和基本技能的重要专业基础课。课程主要内容包括满足患者清洁、舒适、休息活动、营养排泄等需要的基本知识与技能;用药知识与技能;常用抢救知识与技能。 通过本课程的学习,培养护生良好的职业道德,热爱护理事业的情感,掌握评估和满足患者各种基本需要所需的基本知识和技能,具有敏锐的观察、分析问题和解决问题的能力,并通过情景式模拟实验和综合性设计性实验培养学生创新能力及评判性思维能力,使学生能运用护理程序科学化管理病人,满足服务对象整体护理的需要,为后期临床各专科护理的学习和临床护理实践打下重要基础。 二、考核方式 本课程为考试课,采用单元测试、阶段测试、期末测试、操作考核及实验报告测评等方法进行教学评价。理论考试采用闭卷形式,理论考试占70%,技能考试占30%。 三、学时分配表 理论课教学内容学时数实验(见习)课教学内容学时数 绪论 1 环境 3 患者入院和出院的护理 3 铺备用床法、铺麻醉床法12 舒适与安全 3 卧位与搬运3 预防与控制医院感染9 无菌技术、隔离技术 6 患者的清洁卫生 6 口腔、皮肤、头发护理 6 休息与活动 3 协助患者活动 3 生命体征的评估与护理8 T、P、R、BP测量及绘制、鼻导管 吸氧法 9 冷、热疗法 1 冷、热疗法 3 饮食与营养 6 鼻饲法 3 排泄 6 女患者导尿术、灌肠法 6 给药9 摆发口服药法、肌内注射法、静脉 注射法、皮下注射法、皮肤过敏试 验法 15 静脉输液与输血8 周围静脉输液法 6 病情观察及危重患者的抢救 6 基础生命支持技术 6

数据结构迷宫问题实验报告

《数据结构与算法设计》迷宫问题实验报告 ——实验二 专业:物联网工程 班级:物联网1班 学号:15180118 :刘沛航

一、实验目的 本程序是利用非递归的方法求出一条走出迷宫的路径,并将路径输出。首先由用户输入一组二维数组来组成迷宫,确认后程序自动运行,当迷宫有完整路径可以通过时,以0和1所组成的迷宫形式输出,标记所走过的路径结束程序;当迷宫无路径时,提示输入错误结束程序。 二、实验内容 用一个m*m长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序对于任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 三、程序设计 1、概要设计 (1)设定栈的抽象数据类型定义 ADT Stack{ 数据对象:D={ai|ai属于CharSet,i=1、2…n,n>=0} 数据关系:R={|ai-1,ai属于D,i=2,3,…n} 基本操作: InitStack(&S) 操作结果:构造一个空栈 Push(&S,e) 初始条件:栈已经存在 操作结果:将e所指向的数据加入到栈s中 Pop(&S,&e) 初始条件:栈已经存在 操作结果:若栈不为空,用e返回栈顶元素,并删除栈顶元素 Getpop(&S,&e) 初始条件:栈已经存在 操作结果:若栈不为空,用e返回栈顶元

StackEmpty(&S) 初始条件:栈已经存在 操作结果:判断栈是否为空。若栈为空,返回1,否则返回0 Destroy(&S) 初始条件:栈已经存在 操作结果:销毁栈s }ADT Stack (2)设定迷宫的抽象数据类型定义 ADT yanshu{ 数据对象:D={ai,j|ai,j属于{‘ ’、‘*’、‘’、‘#’},0<=i<=M,0<=j<=N} 数据关系:R={ROW,COL} ROW={|ai-1,j,ai,j属于D,i=1,2,…M,j=0,1,…N} COL={|ai,j-1,ai,j属于D,i=0,1,…M,j=1,2,…N} 基本操作: InitMaze(MazeType &maze, int a[][COL], int row, int col){ 初始条件:二维数组int a[][COL],已经存在,其中第1至第m-1行,每行自第1到第n-1列的元素已经值,并以值0表示障 碍,值1表示通路。 操作结果:构造迷宫的整形数组,以空白表示通路,字符‘0’表示障 碍 在迷宫四周加上一圈障碍 MazePath(&maze){ 初始条件:迷宫maze已被赋值 操作结果:若迷宫maze中存在一条通路,则按如下规定改变maze的状态;以字符‘*’表示路径上的位置。字符‘’表 示‘死胡同’;否则迷宫的状态不变 } PrintMaze(M){ 初始条件:迷宫M已存在 操作结果:以字符形式输出迷宫 } }ADTmaze (3)本程序包括三个模块

南京理工大学控制工程基础实验报告

《控制工程基础》实验报告 姓名欧宇涵 914000720206 周竹青 914000720215 学院教育实验学院 指导老师蔡晨晓 南京理工大学自动化学院 2017年1月

实验1:典型环节的模拟研究 一、实验目的与要求: 1、学习构建典型环节的模拟电路; 2、研究阻、容参数对典型环节阶跃响应的影响; 3、学习典型环节阶跃响应的测量方法,并计算其典型环节的传递函数。 二、实验内容: 完成比例环节、积分环节、比例积分环节、惯性环节的电路模拟实验,并研究参数变化对其阶跃响应特性的影响。 三、实验步骤与方法 (1)比例环节 图1-1 比例环节模拟电路图 比例环节的传递函数为:K s U s U i O =)()(,其中1 2R R K =,参数取R 2=200K ,R 1=100K 。 步骤: 1、连接好实验台,按上图接好线。 2、调节阶跃信号幅值(用万用表测),此处以1V 为例。调节完成后恢复初始。 3、Ui 接阶跃信号、Uo 接IN 采集信号。 4、打开上端软件,设置采集速率为“1800uS”,取消“自动采集”选项。 5、点击上端软件“开始”按键,随后向上拨动阶跃信号开关,采集数据如下图。 图1-2 比例环节阶跃响应

(2)积分环节 图1-3 积分环节模拟电路图 积分环节的传递函数为: S T V V I I O 1 -=,其中T I =RC ,参数取R=100K ,C=0.1μf 。 步骤:同比例环节,采集数据如下图。 图1-4 积分环节阶跃响应 (3)微分环节 图1-5 微分环节模拟电路图 200K R V I Vo C 2C R 1 V I Vo 200K

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

人因工程模板(0803607张永梅迷宫实验报告)

实验报告——迷宫实验 实验目的: 1、测定睁眼闭眼时学习效果的不同。 2、学习效果随实验次数的变化。 实验地点:杭州电子科技大学现代工业工程实验室(第9教学科研楼401-407室) 实验时间:实验仪器:EP713型迷宫实验 指导老师:蔡敏 实验人员: 所学专业姓名性别年龄籍贯2008级工业工程张永梅 1. 实验设计(必须) 本实验测量被试迷宫学习的学习曲线,学会的标准是连续三次不发生错误(即没有一次进入盲巷)走出迷宫,学习的效果用每遍内错误(走入盲巷)的次数和走一遍所用的时间为指标,并记录学会迷宫总共用的学习遍数。 变量控制(可选) (1) 实验仪器都是正常工作的,不存在差异性。 (2) 实验进行的外部条件(包括温度、亮度等)都是适宜的,假定其保持不变。 (3) 在实验进行前,已详细地向其解释实验操作过程,并事先熟悉、练习一遍,以排 除熟悉度对于动作稳定实验的影响。 对照设置(可选) A.测定睁眼闭眼时学习效果的差异 理论上控制其它的各种因素,将睁眼、闭眼作为实验中的唯一自变量,以准确反映其对因变量(所用时间和出错次数)的影响。

B.测定学习次数的增加对于学习效果的影响 让一名被试连续做多次实验,记录每次实验所用的时间以及出错的次数,分析实验次数的增加是否对学习效果产生影响。 2. 实验过程(必须) (1)将随机附件电源变换器输出插头插入仪器的电源伸入端,然后将电源变换器插入交流220V供电电网的插座 (2)合上仪器的电源开关,仪器数字显示的计时状态,使用者可按动N/T按钮选择仪器数字显示计时状态()或计数状态(000) (3)拉出小抽板,拿出试笔,被试者手握试笔,试笔尽量和迷宫平面保持垂直,开始实验前,被试者作为第一次学习,应仔细观察迷宫的走道和盲道 (4)开始实验,将试笔在迷宫内滑动,计时器开始计时,如试笔进入盲道并到短点,计数器加1,当试笔到达终点时,仪器内的蜂鸣器鸣响,计时计数器停止工作,按动N/T按钮,数字显示实验时间和出错次数 (5)主试记录数据,被试取下眼罩 (6)按仪器的RET按钮,仪器复位,数字显示 (7)第二次实验,被试再一次观察迷宫的走道和盲道,作为第二次学习,然后按照第一次的步骤,再戴上眼罩,重复上一次实验 (8)被试连续三次无错误地走完整个迷宫后,即可根据实验数据绘制出时间曲线和出错曲线 3. 3. 实验结果(必须) 实验结果记录(必须) 实验结果记录如下表所示: 表1 闭眼时走完迷宫所需时间和错误次数随着学习次数的变化

计算机控制技术实验报告

精品文档

精品文档 实验一过程通道和数据采集处理 为了实现计算机对生产过程或现场对象的控制,需要将对象的各种测量参数按 要求转换成数字信号送入计算机;经计算机运算、处理后,再转换成适合于对生产 过程进行控制的量。所以在微机和生产过程之间,必须设置信息的传递和变换的连 接通道,该通道称为过程通道。它包括模拟量输入通道、模拟量输出通道、数字量 输入通道、数字量输出通道。 模拟量输入通道:主要功能是将随时间连续变化的模拟输入信号变换成数字信 号送入计算机,主要有多路转化器、采样保持器和 A/D 转换器等组成。模拟量输出通道:它将计算机输出的数字信号转换为连续的电压或电流信 号,主要有 D/A 转换器和输出保持器组成。 数字量输入通道:控制系统中,以电平高低和开关通断等两位状态表示的 信号称为数字量,这些数据可以作为设备的状态送往计算机。 数字量输出通道:有的执行机构需要开关量控制信号 ( 如步进电机 ) ,计算机 可以通过 I/O 接口电路或者继电器的断开和闭合来控制。 输入与输出通道 本实验教程主要介绍以 A/D 和 D/A 为主的模拟量输入输出通道, A/D 和D/A的 芯片非常多,这里主要介绍人们最常用的 ADC0809和 TLC7528。 一、实验目的 1.学习 A/D 转换器原理及接口方法,并掌握ADC0809芯片的使用 2.学习 D/A 转换器原理及接口方法,并掌握TLC7528 芯片的使用 二、实验内容 1.编写实验程序,将- 5V ~ +5V 的电压作为 ADC0809的模拟量输入,将 转换所得的 8 位数字量保存于变量中。 2.编写实验程序,实现 D/A 转换产生周期性三角波,并用示波器观察波形。 三、实验设备 + PC 机一台, TD-ACC实验系统一套, i386EX 系统板一块 四、实验原理与步骤 1.A/D 转换实验 ADC0809芯片主要包括多路模拟开关和 A/D 转换器两部分,其主要特点为:单 电源供电、工作时钟 CLOCK最高可达到 1200KHz 、8 位分辨率, 8 +个单端模拟输 入端, TTL 电平兼容等,可以很方便地和微处理器接口。 TD-ACC教学系统中的 ADC0809芯片,其输出八位数据线以及 CLOCK线已连到控制计算机的数据线及系统应用时钟1MCLK(1MHz) 上。其它控制线根据实验要求可另外连接(A 、B、C、STR、/OE、EOC、IN0~ IN7) 。根据实验内容的第一项要求,可以设计出如图 1.1-1 所示 的实验线路图。

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

护理专业护理学基础实训大纲

《护理学基础》实训教学大纲 一、课程性质和任务 《护理学基础》是中等卫生职业教育护理专业的一门重要的专业课程,它包括有护理专业的基本理论、基本知识和基本技能的一门实践性强的应用性学科。本课程的任务是使学生了解护理学的基本理论与知识,确立以护理对象为中心的整体护理观,掌握护理实践操作技能,培养和形成良好的职业素质和职业操守,使之具备初步护理工作的职业能力,为临床护理课程的学习奠定良好的基础。 二、适用专业及层次 适用于护理、英语护理、助产专业中专层次学生。 三、实训目标 通过实验,培养护生较强的实践操作能力,通过本课程的实践操作练习要求学生掌握临床所必须的常用的基础护理操作,并通过操作考核,为临床实习作好准备。 1.培养有良好的职业素养,有严谨、勤奋的工作作风。 2.培养有规范、熟练的基础护理操作技能。 3.确立以护理对象为中心的护理理念,有良好的服务意识和团队合作精神。 4.培养有良好的人际沟通能力。 四、实训内容及学时分配

实验一参观医院 一、实验目的和要求 1、通过参观医院,熟悉医院的组织结构、布局等,对门诊部、住院部的护理工作有初步的认识。 2、培养护士生懂得关心患者痛苦,有同情心、工作责任心等良好的职业素养。 二、实验内容(项目) 参观医院 三、主要实验仪器及材料 四、考核方式与成绩评定 五、说明 实验二铺床法(备用床、暂空床、麻醉床) 一、实验目的和要求 1、熟练掌握铺备用床的用物准备、操作方法。 2、熟练掌握铺暂空床的用物准备、操作方法。

4、具有认真的学习态度,动作轻稳,符合节力。 二、实验内容(项目) (一)铺备用床:移桌椅、翻床垫、扫床→铺大单(斜角法)→套被套(卷筒式、“S”形式)→套枕套→放回桌椅 (二)铺暂空床 (三)铺麻醉床 三、主要实验仪器及材料 床、床单、被套、毛毯或棉胎、枕套、枕心、床扫、床扫套。 四、考核方式与成绩评定 1、每生独立进行该操作考核,老师现场给予评分。 2、完成实验报告并进行成绩评定。 五、说明 实验三轮椅、平车运送技术 一、实验目的和要求 1、熟悉轮椅、平车运送病人的技术。 2、具有认真的态度,动作轻稳,保证病人安全。 二、实验内容(项目) (一)轮椅运送法 (二)平车运送法:1、挪动法 2、单人搬运法 3、二人或三人搬运法 4、四人搬运法 三、主要实验仪器及材料 轮椅、平车等 四、考核方式与成绩评定 五、说明 实验四安置各种卧位 一、实验目的和要求 1、学会安置临床常用的各种卧位。 2、具有认真的学习态度。 二、实验内容(项目) 安置各种卧位:1、仰卧位2、侧卧位3、俯卧位4、半坐卧位5、端坐位 6、头低足高位7、头高足低位8、膝胸位9、截石位 三、主要实验仪器及材料 床、患者(护理模型人或学生充当)、枕头3个等。 四、考核方式与成绩评定 五、说明 实验五协助病人更换卧位 一、实验目的和要求

C程序设计实验报告

实验1 C程序运行环境、数据类型、运算符和表达式 一、实验目的 1. 掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。 2. 掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。 3. 学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。 4. 掌握C语言源程序的结构特点与书写规范。 二、实验要求 1. 根据题目要求,进行各种程序测试与验证,并记录结果。 2. 上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根 据这些信息找到程序中的错误所在,然后修改程序,直至正确。 3. 详细记录数据的输入、输出信息,按要求写出实验报告。 三、实验内容 1. 开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以exl.C存盘。 / *ex1.c* / #include main() { printf("Hello!\n"); printf("This is C program!\n"); } 试编译、连接、运行该程序,并按Alt+F5查看运行结果。 运行结果是: 2. 输入并调试运行以下程序,查看运行结果 (由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。 main() { printf("char\t%d bytes\n",sizeof(char)); printf("short\t%d bytes\n",sizeof(short)); printf("int\t%d bytes\n",sizeof(int)); printf("long\t%d bytes\n",sizeof(long)); printf("float\t%d bytes\n",sizeof(float)); printf("double\t%d bytes\n",sizeof(double)); } 运行结果是: 3. 输入并调试运行以下程序。 main() {int i,j,m,n; i=8;j=10;

教案-基础护理学铺麻醉床

项目一一般患者入院护理 任务二为患者准备床单位 子任务2:铺暂空床法 课程名称护理技巧授课对象1703、1704、1708 任课教师刘玲 所在院系护理学院 工作任务1、明确铺暂空床的目的 2、能熟练地完成暂空床操作 课时 2 教学目标素质目标: 1.动作敏捷,不怕苦、不怕累,有较强的职业责任感。 2.能正确运用人体力学原理,省时节力。 知识目标: 1.简述铺麻醉床的目的、注意事项。 2.能详细列出铺麻醉床的用物。 3.比较三种铺床法的异同点。 能力目标: 1.能为手术、昏迷患者准备舒适安全的床单位。 学习者分析通过对铺备用床、暂空床的学习,同学们都已熟练掌握铺床各种用物的铺法和流程,但对麻醉床的适用对象--手术、昏迷患者的疾病和护理知识缺乏认 知。因此首先要给学生拓展手术、昏迷患者的相关知识来加深学生对设置麻 醉床目的的理解,从而引发思考铺麻醉床的方法。 教学重点 1.中单的叠法和铺法 2.枕头、防污垫、盖被铺法, 床旁椅放置位置解决措施讲解、演示、讨论、模拟演 练、强化训练 教学难点 1.麻醉盘和其他用物的准备 2.省时节力原则解决措施讲解、演示、讨论、模拟演 练强化训练 教学过程 教学环节教学内容教师活动学生活动教学资源时间 课前布置任务任务工单、教学视 频、习题作业 提前将相关资料传 至学习平台,让学 生课前自主学习 在相关通讯工 具上提前学习 相关知识 网络资源 教材 云课堂 案例导入工作任务展示案例导入学 习任务 讲解、分析案例、 导入工作任务 学生分析案例, 发表自己的意 见,教师协助分 析讲解 PPT 2min 完成子任务一:认识麻醉床、其目 的和评估内容 拓展手术、昏迷患 者的相关知识,对 课前预习进行检测 提问并补充解释 听讲、思考并回 答麻醉床与备 用床、暂空床的 不同、该如何设 置? PPT 10min 完成子任务二:用物准备引导学生回顾大 单、被套、毛毯的 听、思考,学生 讨论、回答 PPT 8min

迷宫实验报告

一、实验内容 3、迷宫问题。假设迷宫由m行n列构成,有一个出口和一个入口,入口坐标为(1,1),出口坐标为(m,n),试设计并验证以下算法:找出一条从入口通往出口的路径,或报告一个“无法通过”的信息。 (1)用C语言实现顺序存储队列上的基本操作,然后利用该队列的基本操作找出迷宫的一条最短路径。 (2)设计一个二维数组MAZE[m+2][n+2]表示迷宫,数组元素为0表示该位置可以通过,数组元素为1表示该位置不可以通行。MAZE[1][1]、MAZE[m][n]分别为迷宫的入口和出口。 (3)输入迷宫的大小m行和n列,动态生成二维数组;由随机数产生0或1,建立迷宫,注意m*n的迷宫需要进行扩展,扩展部分的元素设置为1,相当于在迷宫周围布上一圈不准通过的墙。 (4)要求输出模拟迷宫的二维数组;若存在最短路径,则有出口回溯到入口(出队列并利用栈实现),再打印从入口到出口的这条路径,例如(1,1),......,(i,j),......,(m,n);若没有路径,则打印“No path”。 (5)迷宫的任一位置(i,j)上均有八个可移动的方向,用二维数组Direction存放八个方向的位置偏移量。 Direction[8][2]={{0,1},{1,1},{0,-1},{-1,-1},{1,-1},{1,0},{-1,0},{-1,1}}; (6)为避免出现原地踏步的情况需要标志已经通过的位置,采用一个标志数组MARK[m+2][n+2],初值均为0,在寻找路径的过程中,若通过了位置(i,j),则将MARK[i][j]置为1。 (7)为了记录查找过程中到达位置(i,j)及首次到达(i,j)的前一位置(i_pre,j_pre),需要记住前一位置(i_pre,j_pre)在队列中的序号pre,即队列中数据元素应该是一个三元组(i,j,pre)。 (8)搜索过程简单下:将入口MAZE[1][1]作为第一个出发点,依次在八个方向上搜索可通行的位置,将可通行位置(i,j,pre)入队,形成第一层新的出发点,然后依次出队,即对第一层中各个位置分别搜索它所在八个方向上的可通行位置,形成第二层新的出发点,...,如此进行下去,直至达到出口MAZE[m][n]或者迷宫所有位置都搜索完毕为止。 二、实验过程及结果 一、需求分析 1、用栈的基本操作完成迷宫问题的求解,其中栈的基本操作作为一个独立的模块存在。 2、以二维数组M[m+2][n+2]表示迷宫,M[i][j] 表示迷宫中相应(i,j)位置的通行状态(0:表示可以通行,1:表示有墙,不可通行),完成迷宫的抽象数据类型,包括出口、入口位置等。 3、用户从屏幕上输入迷宫,从键盘输入迷宫的大小,即迷宫的长和宽(由于控制台大小限制,输入的长宽需在50以下),完成对应迷宫的初始化。根据键盘输入的迷宫规格随机生成大小相同的迷宫,产生方块的地方为墙,无方块的地方可通过,如下例所示: 如下所示:

机械控制工程基础实验报告

中北大学机械与动力工程学院 实验报告 专业名称__________________________________ 实验课程名称______________________________ 实验项目数_______________总学时___________ 班级______________________________________ 学号______________________________________ 姓名______________________________________ 指导教师__________________________________ 协助教师__________________________________ 日期______________年________月______日____

实验二二阶系统阶跃响应 一、实验目的 1.研究二阶系统的特征参数如阻尼比ζ和无阻尼自然频率ω n 对系统动态性能 的影响;定量分析ζ和ω n 与最大超调量Mp、调节时间t S 之间的关系。 2.进一步学习实验系统的使用方法。 3.学会根据系统阶跃响应曲线确定传递函数。 二、实验仪器 1.EL-AT-II型自动控制系统实验箱一台 2.PC计算机一台 三、实验原理 1.模拟实验的基本原理: 控制系统模拟实验采用复合网络法来模拟各种典型环节,即利用运算放大器不同的输入网络和反馈网络模拟各种典型环节,然后按照给定系统的结构图将这些模拟环节连接起来,便得到了相应的模拟系统。再将输入信号加到模拟系统的输入端,并利用计算机等测量仪器,测量系统的输出,便可得到系统的动态响应曲线及性能指标。若改变系统的参数,还可进一步分析研究参数对系统性能的影响。 2.时域性能指标的测量方法:超调量% σ: 1)启动计算机,在桌面双击图标 [自动控制实验系统] 运行软件。 2)测试计算机与实验箱的通信是否正常,通信正常继续。如通信不正常查 找原因使通信正常后才可以继续进行实验。 3)连接被测量典型环节的模拟电路。电路的输入U1接A/D、D/A卡的DA1 输出,电路的输出U2接A/D、D/A卡的AD1输入。检查无误后接通电源。 4)在实验课题下拉菜单中选择实验二[二阶系统阶跃响应] 。 5)鼠标双击实验课题弹出实验课题参数窗口。在参数设置窗口中设置相应 的实验参数后鼠标单击确认等待屏幕的显示区显示实验结果。 6)利用软件上的游标测量响应曲线上的最大值和稳态值,带入下式算出超 调量: Y MAX - Y ∞ % σ=——————×100% Y ∞ t P 与t s :利用软件的游标测量水平方向上从零到达最大值与从零到达95%稳 态值所需的时间值,便可得到t P 与t s 。 四、实验内容 典型二阶系统的闭环传递函数为 ω2 n ?(S)= (1) s2+2ζω n s+ω2 n

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

基坑支护工程实验报告

基坑支护工程实验报告 姓名**** 学号2011******** 专业土木工程 班级20**级 土木工程与建筑学院

基坑围护结构设计 第1区 ---------------------------------------------------------------------- [ 支护方案 ] ---------------------------------------------------------------------- 连续墙支护 ---------------------------------------------------------------------- [ 基本信息 ] ----------------------------------------------------------------------

---------------------------------------------------------------------- [ 超载信息 ] ---------------------------------------------------------------------- [ 附加水平力信息 ] ---------------------------------------------------------------------- ---------------------------------------------------------------------- [ 土层信息 ] ---------------------------------------------------------------------- [ 土层参数 ] ----------------------------------------------------------------------

迷宫问题c++实验报告

数据结构实验报告 班级: 姓名: 学号: 组员: 问题描述: 迷宫实验是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的

门放入,在盒中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口到出口,而不走错一步。老鼠经多次试验终于得到它学习走迷宫的路线。设计功能要求: 迷宫由m行n列的二维数组设置,0表示无障碍,1表示有障碍。设入口为(1,1),出口为(m,n),每次只能从一个无障碍单元移到周围四个方向上任一无障碍单元。编程实现对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 算法输入:代表迷宫入口的坐标 算法输出:穿过迷宫的结果。算法要点:创建迷宫,试探法查找路 任务分派 为了达到锻炼大家独立设计算法的能力,大家一致决定,先自己独立设计算法,不论算法的好坏、难易,完完全全出自于自己的手中。 在大家独立完成算法后,进行小组集中讨论,将自己的算法思想与大家交流,特别是自己最自豪的部分或是自己觉得可以改进的地方,之后得出最优结果。 独立设计 求解思想: 利用递归的方式进行求解。从入口出发,按某一方向向前探索,若能走通(未走过的),即某处可以到达,则到达新点,否则试探下一方向;若所有的方向均没有通路,则沿原路返回前一点,换下一个方向再继续试探,直到所有可能的通路都探索到,或找到一条通路,或无路可走又返回到入口点。 如果现在位置(i,j)处于迷宫的边界位置,则有2种或3种可能的走法,为使问题简单化,用maze[m+2][n+2]来表示迷宫,而迷宫的四周的值全部为1,这样做使问题简单了,每个点的试探方向全部为4,不用再判断当前点的试探方向有几个,同时与迷宫周围是墙壁这一实际问题相一致。 struct Pos { int x,y; int di; }; 其中x、y分别表示横纵坐标值、di表示前进的方向。 在已经某一位置(i, j, d)的情况下,其下一个位置横、纵坐标的取值如表4-2所示。 而走到一个新位置时,其方向值初始置为1。 代码 #include "iostream" #include "iomanip" using namespace std; struct Pos { int x,y; int di; };

浙师大机械控制工程基础实验报告资料

机械控制工程基础实验报告 学院工学院职业技术教育学院 班级机械设计制造及其自动化 姓名XXX 学号xxxxxxxx

实验项目名称: Matlab语言基础实验 《机械控制工程基础》实验报告之一 一、实验目的和要求 1、掌握Matlab软件使用的基本方法 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、掌握Matlab软件求拉普拉斯变换与逆变换基本方法 二、实验内容 1) MATLAB工作环境平台 Command 图1 在英文Windows 平台上的MATLAB6.5 MATLAB工作平台 ①命令窗口(Command Window) 命令窗口是对 MATLAB 进行操作的主要载体,默认的情况下,启动MATLAB 时就会打开命令窗口,显示形式如图 1 所示。一般来说,MATLAB的所有函数和命令都可以在命令窗口中执行。掌握 MALAB 命令行操作是走入 MATLAB 世界的第一步。命令行操作实现了对程序设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的麻烦,体现了MATLAB所特有的灵活性。 在运行MATLAB后,当命令窗口为活动窗口时,将出现一个光标,光标的左侧还出现提示符“>>”,表示MATLAB正在等待执行命令。注意:每个命令行键入完后,都必须按回车键! 当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此时需要使用续行符“…”否则 MATLAB 将只计算一行的值,而不理会该行是否已输入完毕。 使用续行符之后 MATLAB 会自动将前一行保留而不加以计算,并与下一行衔接,等待完整输入后再计算整个输入的结果。 在 MATLAB 命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作。比如:“↑”可用于调出前一个命令行,“↓”可调出后一个命令行,避免了重新输入的麻烦。当然下面即将讲到的历史窗口也具有此功能。 ②历史窗口(Command History) 历史命令窗口是 MATLAB6 新增添的一个用户界面窗口,默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。而且双击某一行命令,即在命令窗口中执

C程序设计上实验报告(完整版)

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017年3月6号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C 程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

相关文档
最新文档