实验程序

2024-08-10

实验程序(精选12篇)

实验程序 篇1

实验教学是中学理化生、小学科学学科教学最重要的教学形式, 是学生提高动手能力的重要途径, 也是提高教学质量的重要环节。实验室是学校开展实验教学的主阵地, 实验室规范管理直接影响实验教学的效果, 因此实验教学完成情况和实验的开出率是评估学校实验室工作的重要指标, 也是对整个学校教育教学工作评估的重要组成部分。十几年来, 我一直负责县 (区) 实验教学管理工作, 在实验室的规范管理和实验教学程序方面下了一定的工夫, 也取得了一定的成效, 体会到加强实验教学的规范管理和程序管理, 对学校的实验教学管理具有重要的意义。具体措施如下。

一、任课教师要重视实验教学的全面考虑

任课教师要在学年之初, 针对全年的教学内容, 写好实验教学计划, 包括拟定实验材料、药品采购计划, 生物标本制作计划等, 每学期提前计划实验项目, 写好实验教学进度表, 交给实验员, 以便学校进行仪器设备的补充。这一环节是整个学年实验教学的起点和基础。

二、任课教师要精心备好演示实验

1. 每个演示实验, 任课教师要在认真研究课程标准, 研究教材、研究学生、研究实验室所能提供器材的基础上, 精心设计实验方案, 做到因地制宜。

2. 根据所需要的器材填写《演示实验申请单》, 并至少于开课前3天交给实验员。

3. 实验员根据任课教师提供的通知单, 清查并预准备仪器, 检查设备是否充足完好, 将一切可能发生的问题做出一个初级预案, 并将准备时发现的问题反馈给任课教师。任课教师要协助实验员准备、试做、分析实验, 为课堂教学做好准备, 保证课上演示实验的成功率。

4. 课堂演示实验完成后, 教师认真清点仪器, 填写《演示实验记录卡》, 重点是记录实验进行情况、出现的问题和改进意见, 为以后的演示实验留下参考性资料。实验员和教师共同签字。

5. 实验员清洗仪器, 放回原处, 记录药品损耗情况, 并将危险化学品的消耗作为重点, 详细计量使用数量和结余数量, 实验员和任课教师共同在消耗品使用记录上签字。

三、指导学生做好分组实验

1. 实验教师针对学生实际情况设计实验方案, 根据实验方案填写《分组实验申请单》, 提前一周交给实验员。

2. 实验员提前做好仪器药品材料的准备工作, 把实验中注意的问题与任课教师沟通。

3. 实验课前, 教师和实验员应一起检查仪器药品是否齐全并试做实验。

对较难的实验要提前培训部分实验骨干学生, 并要研究过去的实验记录中发现的问题和实验过程中可能发生的问题, 以便进行模拟试做, 找出问题、分析原因、提出解决办法。

4. 要求学生课前进行预习, 明确目的、原理、步骤后再动手进行操作。

5. 如果是首次实验课, 教师要讲解实验室的规章制度, 以便学生养成良好的实验习惯, 教师和实验员应巡回指导, 学生提出问题应及时解决, 引导学生仔细观察实验理象, 并做好记录。

6. 实验结束后, 学生应认真整理、清洗仪器, 并写出实验报告, 教师批改学生的实验报告, 对失败的实验分析原因, 有条件的情况下, 允许学生重做实验。

7. 实验课完成后, 教师和实验员共同填写《分组实验记录卡》, 重点记录实验中发现的问题和对实验的改进意见, 并共同签字。

8. 实验员整理清洗仪器, 维修损坏仪器, 使仪器保持良好状态, 放回橱内, 并填写好《仪器维修保养记录》。

四、指导学生做好探究性实验

探实验性实验是初中、小学阶段学生实验中较为重要的形式, 它对实验室管理提出了一个重要的新课题, 几年来我区实验教学管理中提出了几个关注:

1. 关注教师的教学设计, 教师的实验预设是实验仪器准备的重要依据, 要求教师对学生探究性实验过程可能出现的情况有全面的预测, 保证实验室设备大体准备到位。

2. 关注学生以往实验记录:同一年龄段的学生, 个体虽有差异, 但存在很大的共性, 探究实验的过程大体是相似的, 实验员和任课教师可以通过以往探究实验记录准备实验器材。对本次实验出现的新情况要进行记录, 以备以后的实验参考。

3. 关注探究实验本身特点:

探究性实验提倡用简单易行的、合理的实验设计, 冲淡学生怕实验准备工作麻烦的情绪;用新材料、新工具降低实验的操作难度。简约化的实验设计, 装置简单, 操作简便, 现象鲜明, 节省药品, 节约时间, 安全可靠, 整个实验过程没有过多的干扰, 学生将主要精力集中在探究目的上。教师引导学生用现有的仪器进行实验设计。

五、加强检查评价, 促进管理

学校仪器室的管理, 我区一直采取分类管理, 分橱存放、盘架式管理的模式, 仪器按计量、通用、专用、挂图、标本、模型、玻璃以及实验工具等分门别类排放。排放顺序、位置以配备目录的序号为主要依据, 个别体大仪器可适当调整位置。各橱柜应张贴仪器橱内卡, 内容包含:编号、仪器名称、规格型号、数量、单位等。各器材除易损易耗外, 都应有相应的编号。对各种新购入的仪器经验收合格后编号入橱, 根据仪器的轻重、长短、形状、性能制作不同的盘架, 方便存放和整体管理。根据每种仪器的不同特点, 制定不同的保养方案并汇编成手册, 强调各种仪器的日常保养和维修管理, 做好防尘、防锈、防潮、防蛀、防腐、防变形、防老化、防粘等工作。保养手册分发到每所学校, 使实验人员熟练掌握。在每学期一次的实验室检查中, 在抽查仪器设备使用表册及实验教学档案的同时, 抽查实验管理人员维修保养管理仪器设备的情况, 仪器设备的维护保养常抓不懈。

坚持实验教学的考核制度, 是完成好实验教学的有力措施。实验教学考核的重点是学生对实验原理掌握和实验操作技能水平, 包括组装实验装置, 填写实验报告等, 学生实验做到单独考核, 单独记分, 成绩列入学生该学生学业成绩。初中毕业生在升学考试时, 我区还将理化生实验操作考试成绩列入升学总分。我区将抚宁二中实验教学管理的评价经验在全区推广, 让学生、实验员评价实验课的开展情况, 并将考查评价的结果记入教师的教学评价体系, 每个任课教师都填写实验准备情况评价表, 来评价实验员的工作。以上措施使学生、实验教师和实验员都参与其中, 极大地促进了学校实验教学的开展。

我认为, 实验室规范管理, 是为了更好地满足实验教学的需要;实验教学的各个程序的管理, 都是为提高学生动手动脑的实验能力服务的, 所以重视实验室的规范管理工作, 严格按程序进行实验教学在实验管理工作中是不可偏废的, 而且要更加深入地加以落实。

实验程序 篇2

一、实验目的

UART 串行通信接口技术应用

二、实验实现的功能

用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。

三、系统硬件设计

实验所需硬件:电脑一台;

开发板一块;

串口通信线一根; USB线一根;

四、系统软件设计

实验所需软件:编译软件:keil uvision3;

程序下载软件:STC_ISP_V480; 试验程序:

#include sbit W1=P0^0;sbit W2=P0^1;sbit W3=P0^2;sbit W4=P0^3;sbit D9=P3^2;sbit D10=P3^3;sbit D11=P3^4;sbit D12=P3^5;sbit DP=P1^7;code unsigned char table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};sfr P1M1=0x91;sfr P1M0=0x92;sbit H1=P3^6;sbit H2=P3^7;sbit L1=P0^5;sbit L2=P0^6;sbit L3=P0^7;unsigned char dat;unsigned char keynum;unsigned char keyscan();void display();void delay(void);

L1=1;L2=1;L3=1;

H1=0;if(L1==0)

return 1;else if(L2==0)

return 2;else if(L3==0)

return 3;

H1=1;H2=0;if(L1==0)

return 4;else if(L2==0)

return 5;else if(L3==0)

return 6;H2=1;return 0;

} unsigned char keyscan(){ static unsigned int ct=0;static unsigned char lastkey=0;unsigned char key;key=getkey();

if(key==lastkey){

ct++;

if(ct==900)

{

ct=0;

lastkey=0;

return key;

程序设计类课程实验教学探讨 篇3

关键词:程序设计 实验教学 教学改革

程序设计类课程是计算机及相关专业的基础课程,在计算机专业课程体系建设中占有十分重要的地位。该类课程都是实践性很强的课程。实验教学是程序设计课程教学过程中必不可少的重要环节,是理论教学的拓展与扩充。上机实验的目的,不仅是为了巩固理论知识,更重要的是培养学生逻辑思维、推理能力及创新意识。实验教学质量的好坏直接影响计算机专业学生的动手实践能力及日后的发展潜力。

对学生的程序设计能力,在实际教学中应该提出哪些具体要求呢?结合技工院校专业培养目标和现今就业市场的需求,归纳为以下三个层面。

第一,运用软件实现算法和数据结构,使程序尽可能逼真地反映所模拟对象的真实结构。

第二,具备良好的程序阅读能力和设计模仿能力,形成较好的程序设计风格。

第三,熟悉开发工具,扎实掌握程序基本的调测、维护技能。

一、现状及存在问题

对于程序设计类课程的实验教学环节而言,传统教学模式中主要存在以下问题。

第一,偏重理论知识的灌输,上机实验教学所占比例少于理论教学,重理论轻实践,导致实验教学与理论教学脱节,无法实现教、学、练一体化,学生处于被动学习的状态。

第二,教学模式不能完全适应培养高素质创新人才的需求,实验的形式陈腐、单一,综合性、创新性、设计性实验较少甚至没有。大部分上机实验仅要求学生将课本上的例题输入计算机进行验证,实验教学的内容多以消化课堂理论讲授内容为目的,不利于启发学生的思维。

第三,传统单一的笔试考核方式。考试内容忽略了对学生实际编程能力的测试,仍然偏重于记忆性、理论性的题目,容易出现高分低能的现象,并没有真正达到考核学生实践技能的目的。

第四,以个体为中心,学生各自完成程序设计全过程,忽略了软件开发行业必需的团队合作精神培养。

二、实验教学改革的具体措施

程序设计类课程的实验教学对学生实际应用能力及编程能力的提高非常重要,如何调动学生的学习积极性、开拓学生的创新意识是解决问题的关键所在。作者从实验教学的方法、手段及课程考核方式等多方面的改革提出具体措施。

1.实验内容的设置需增强趣味性和综合性

根据程序设计类课程教学与实验大纲的要求,制订规范、详尽的实验计划,难度要呈现一定的梯度;充分考虑每班学生的个性,精心设计每个章节的上机实操题目;在确保对基本技能训练与理论知识理解的基础上,精选验证性实验。在实验的编排上注意验证性、设计性和综合性实验的比例,适当增加设计和综合性实验项目,让学生全方位进行思考,并将程序应用于实践以增强学生理论联系实际的信心。

为提高学生的编程能力,实验内容不能是课本中实例的重复和验证,更不能是单纯的基础性实验,这样容易使学生失去学习兴趣。应打破缺少综合设计型的封闭式传统实验教学模式,多拣选学生兴趣较大的实际案例作为实验内容,充分利用学生的主观能动性加强实验内容的综合性,以便提高学生的数学思维及逻辑思维能力。实验设置应包含基础性、综合性、设计性实验。基础性实验主要是便于学生学习理解基础理论,展示基础知识点的特点及运用方法,为以后的实验打下坚实基础。综合性实验将课程的几个章节所涉及的基本原理、基本知识综合在一起,程序设计范围更广,也更加接近实际应用,例如设计开发图书馆管理系统等。设计性实验是更高层次的实验,教师只给定实验要求,学生运用所学知识或查阅参考书籍完成实验,有利于培养学生的学习主动性和创造性。

2.采用任务驱动式教学法增强学生的综合能力

所谓任务驱动教学法,是让学生在一个典型的信息处理“任务”的驱动下,展开教育教学活动,引导学生由易到难、由简到繁、循序渐进地完成各项“任务”,在完成“任务”的过程中,让学生掌握学习内容,培养分析问题、解决问题的能力,获得成功的体验。

每一次实验课都应先给学生一个具体的任务,即实验完成所应达到的效果,然后让学生观察任务并进行分析,根据实际情况将任务划分为若干个阶段。在完成任务的过程中采用先整体后局部、逐步求精的方法,让学生自由发挥、自主探索,完成对知识的运用与理解,解决相应的问题。在整个过程中,学生在教师的引导下由浅入深、由基础到综合、由验证到创新地进行实践。学生应始终处于主体地位。由于认知方式必然存在差异,在程序设计课程的实验教学过程中会产生思维多元化的现象。教师要尊重并允许认知方式的差异,积极鼓励学生用不同的方法发现问题和分析问题,从不同方向不同角度解决问题完成任务。

3.建立学习小组,培养团队协作能力

学生在学习过程中不可避免地会遇到意想不到的难题。这些问题可能让学生产生挫败感,以致失去学习的信心与热情。缺乏相互沟通是阻碍学生学习取得突破的一大障碍。将班级学生按照不同水平层次合理搭配分为若干小组,每组4~5人,各组挑选出一个组长;鼓励各小组之间互相探讨,集思广益,取长补短。对于简单的实验,可由组长解决小组成员在程序调试中出现的问题;对于综合实验,由组长将程序分成若干小模块,小组成员进行合理分工,各自完成相关程序模块,最终组合成完整的目标程序。采用小组教学模式,学生能相互启发、相互学习,有效调动了学习积极性,提高了学生的团队协作和沟通能力。

4.提高教师的实验指导水平

实验教学是一项教师与学生共同参与的活动。由于部分学生基础知识比较薄弱,动手实践能力及独立工作能力较差,缺乏自主思考。实验过程中学生遇到困难,教师不可直接纠正错误,而应以启发学生思维为主,引导学生分析系统的提示信息,判断错误原因,实现师生之间的互动。实验结束前,对学生普遍存在的错误进行分析总结,增强学生的印象;对实验完成情况好的小组进行表扬,激发学生的自信心。充分利用开放的交互式网络实现资源共享,学生讨论学习过程中的疑难点,教师为学生答疑解惑。

5.灵活的实验成绩评定方式,检验实验教学效果

实验教学考核作为评价程序设计类课程实验教学效果的主要手段,对整个教学过程具有激励、反馈、导向以及调节的作用。考核不仅检验学生的学习效果,还应考察学生的综合能力。课程考试应将上机考试、理论考试和平时成绩结合起来,其中上机考试既考科学思维和创新能力,又考操作调试能力,教师现场验收评分。这样既充分体现了学生的学习掌握情况,也避免了考核手段的单一性和随意性。

三、小结

程序设计是计算机专业的核心课程。实验教学的效果直接影响学生对于程序设计思想及方法的理解和掌握。合理的实验内容配以科学的教学方法,充分利用科技发展带来的教学方式的革新,定能促进学生能力的提高,以使学生适应社会发展对软件人才的要求。

参考文献:

[1]王彦本,杨武军.程序设计系列课程教学改革实践[J].西安邮电学院学报,2009(5).

[2]叶冬芬,范伟.计算机程序设计类课程实验教学改革的研究[J].福建电脑,2010(11).

[3]刘永娟,刘琦.程序设计类课程的教学改革与实践[J].科技资讯,2008(20).

[4]田洪云.程序设计类课程实验教学探讨[J].中国科教创新导刊,2009(28).

[5]付沙.计算机程序设计类课程实验教学改革与研究[J].计算机时代,2010(4).

实验程序 篇4

●最优秀计数法

1. 数据的获取

使用变量a获取投票票数, 初始化变量为0 (如图1) 。

2. 数据的存储

用变量b和c存储, 选项B和C的票数, 用类似图1的代码完成初始化和变化。

3. 数据的分析

使用如图2所示的代码找到票数最高的选项, 并做总结, 这其中涉及字符串的连结, 数字运算和逻辑运算。

4.数据的表达

分析的结论可以看作是一种表达的形式, 但是为了方便对结论的呈现, 数据的表达可以以多种形式呈现 (如图3) , 可以选择变量的数字作为表达形式也可以选择角色的大小或者柱形图的形式呈现结论。表达的方式选取得当, 将有助于呈现结论获得新知, 提高结论的传播效率, 增强主观信息量。

5.反思与改进

很多时候需要等所有人投票结束之后, 再公布结果, 以避免阶段性结果对投票公正性的影响, 因此有必要设计“先投票、后统计”的程序。最简单的办法可能是在投票过程中将变量隐藏, 按下投票键之后只反馈“投票成功”, 投票完成后, 按下结论按钮公布结果。在图1所示的程序中如果按下按键A不放, 变量a会一直增加, 需要技术攻关才能解决此问题。另外, 更重要的是, 投票的主体的设定。学习了投票程序, 应该将其看作是一个研究工具, 未来应用到更有意义的议题上。

●“最受欢迎”计数法

1.数据的获取

为了获取数据, 可以选用多种方法, 其中“询问-回答”是比较简单的一种, 参考代码如下页图4所示。

需要三个临时变量来存储当前投票人对每个选项给出的分数, 并且在获取数据的同时对数据进行累加。这里需要培养学生记录过程性数据的习惯, 如图4中将每次输入的分数记录下来, 这样做一是出现作弊或者争议时有章可循, 二是对过程数据的分析有可能得出新的结论。

2.数据的存储

以三个人投票的结果为例 (如图5) , 选项C得到的总分数最高, 但是从过程链表中可以看到, 三个选项中显然A应该是“最优秀”的选项, 如果这三个投票者按照分数最高的选项给出1票的原则重新投票, 选项A应该以2∶1领先。

3. 数据的分析

从得出结果的目的出发, 图4所示的程序已经完成了数据的分析过程, 但是如果比较“最优秀”和“最受欢迎”两种投票方式的区别的角度, 可以编写如图6所示的代码, 用以改进图4的程序, 来比较两种方法投票结果上的差别。

4. 数据的表达

可以编写程序比较两种计数方法的结果是否相同, 并讨论两种方法的应用特点, 也可以采取颜色变化、播放声音、显示动画等多种方式呈现结论。

5. 反思与改进

图4所示的程序还需要增加防止作弊的功能, 如输入的分数在0~100之间, 三个分数的总和必须是100等, 这些技术攻关的项目可以当作学生的课后习题。此外, 对投票过程中数据的尽可能详尽的记录, 也是很有必要的, 如可以增添一个链表记录每给出一个分数的时间, 通过分析数据可能会得出参与投票者在哪个选项出现了犹豫、间隔多长时间来一个选民、选民投票的时间有什么特点等其他信息。对于这些过程信息获取和存储, 就有几分“大数据”的意味, 与此同时对过程数据深层次规律的探究, 又有几分“数据挖掘”的感觉。

●小结

实验程序 篇5

Servlet技术的应用

一、实验目的

(1)、掌握怎样编写和使用Servlet。(2)、掌握编写和配置和Servlet有关的web.xml文件。(3)、掌握在Servlet中使用session的方法;熟悉把用户对某JSP页面或Servlet的请求转发给另一个JSP页面或Servlet的方法。

二、实验工具

(1)JDK1.4、JDK1.5或JDK1.6,可以从SUN公司的网站免费下载(2)编辑工具:记事本或Dreamweaver MX 2004、FrontPage 2003(3)Tomcat服务器,也可以从网上免费下载(4)Netbeans 4.1或Jcreator

三、实验原理与内容

(1)、有些Web应用可能需要JSP+JavaBean+Servlet来完成,需要服务器再创建一些Servlet对象,配合JSP页面来完成整个Web应用程序的工作。本小节实验将介绍怎样编写创建Servlet对象的类,怎样在Tomcat服务器上保存编译后的字节码、编写部署文件,怎样请求Tomcat服务器创建一个Servlet对象。

① 复制需要的jar文件:为了编译Servlet源文件,需要HttpServlet、HttpServletRequest等类,JDK内置包中并不包含这些类文件,用户需要将Tomcat服务器中commonlib目录下的servlet-api.jar文件复制到JDK安装目录的jrelibext子目录中。

② 添加Servlet类的字节码文件:编写如下的Servlet类:Computer.java,保存在D:盘根目录下,编译该类,形成starmoonComputer.class,将此文件夹保存到Tomcat当前Web目录(如:ROOT目录)下的WEB-INFclasses子目录中,重新启动Tomcat。Computer.java:

package star.moon;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class Computer extends HttpServlet { public void init(ServletConfig config)throws ServletException

{ super.init(config);

}

public void service(HttpServletRequest request,HttpServletResponse response)

throws IOException

{ response.setContentType(“text/html;charset=GB2312”);

PrintWriter out=response.getWriter();

out.println(“”);

String number=request.getParameter(“number”);

//获取客户提交的信息。

double n=0;

try{ n=Double.parseDouble(number);

out.print(“
”+number+“的平方根是:”);

out.print(“
”+Math.sqrt(n));

}

catch(NumberFormatException e)

{ out.print(“

请输入数字字符!

”);

}

实验程序 篇6

【摘要】对传统数控插补原理教学过程中以课堂讲授为主结合VC、VB等编程语言完成插补过程仿真的教学方法进行改革,创新性地采取让学生亲自动手在实际的FANUC-0i-mate-C数控加工中心综合实验台上,采用调用用户宏程序的方法,用画笔在平铺于工作台面上的白纸上模拟绘制逐点比较法插补或数字积分法插补的过程的教学方式,使插补原理及宏程序编程两部分重要理论密切联系,并与实践紧密结合。

【关键词】插补原理  数控  宏程序

【中图分类号】G71                               【文献标识码】A      【文章编号】2095-3089(2015)05-0037-03

一、引言

传统数控插补原理教学,大多以课堂讲授为主,结合VC、VB等各种编程语言完成插补过程的仿真。这种教学方法不能将理论知识与现有实验教学设备有机结合,学生普遍反映内容抽象,理解困难,与实践脱节。

为了改革传统数控插补原理教学过程中教师灌输过多,学生参与过少;理论性结论过多,启发式问题过少的教学方式,有针对性地创新教学方法:要求学生在实际的FANUC-0i-mate-C数控加工中心综合实验台上,采用调用用户宏程序的方法,用画笔在平铺于工作台面上的白纸上模拟绘制逐点比较法插补或数字积分法插补的过程。这样就将一个对插补原理进行仿真的演示性实验改造成了理论上综合了插补原理及宏程序编程两部分重要内容,实践上锻炼了学生对实际数控系统的操作及调试能力的综合性实验。

二、插补原理

在数控机床实际加工中,数控系统根据输入的零件程序的信息,按照某种算法将程序段所描述的曲线的起点、终点之间的空间进行数据密化,从而形成刀具加工轨迹,这种“数据密化”机能就称为“插补”。按照插补运算所采用的基本原理和方法,数控系统的插补原理通常可归纳为脉冲增量插补和数据采样插补两大类。

逐点比较法是脉冲增量插补中最典型的算法,原理是:在控制过程中,逐点计算和判断运动轨迹与给定轨迹的偏差,并根据偏差控制进给轴向给定轮廓靠近,缩小偏差,使加工轮廓逼近给定轮廓。以折线来逼近直线或圆弧,最大误差不超过一个脉冲当量。

以第一象限逆圆为例:圆弧(AB) ,其圆心在坐标原点,已知起点为A(X_A,Y_A ),终点为B(X_B,Y_B ),圆弧半径为R,瞬时加工点P(X_i,Y_i )与圆心的距离为R_i。取F_i=R_i^2-R^2=X_i^2+Y_i^2-R^2为偏差判别式,若P点在圆弧上或在圆弧外,即F_i≥0时,为了使加工点逼近圆弧,应向-X方向进给一步。进给后的新坐标值为:X_(i+1)=X_i-1;Y_(i+1)=Y_i,则新的偏差为:F_(i+1)=R_(i+1)^2-R^2=X_(i+1)^2+Y_(i+1)^2-R^2=(X_i-1)^2+Y_i^2-R^2=F_i-2X_i+1;若P点在圆弧内,即F_i<0时,应向+Y方向进给一步。进给后的新坐标值为:X_(i+1)=X_i;Y_(i+1)=Y_i+1,新的偏差为:F_(i+1)=R_(i+1)^2-R^2=X_(i+1)^2+Y_(i+1)^2-R^2=X_i^2+(Y_i+1)^2-R^2=F_i+2Y_i+1。同时设置一终点计数器,其初值为∑·〖=|X_B-X_A | 〗+|Y_B-Y_A |,即从起点到终点的总步数,X或Y坐标每进给一步,∑减去1,直到∑=0时,到达终点。故逐点比较法圆弧插补计算过程的每一步分为五拍:偏差判别、坐标进给、偏差计算、坐标计算及终点判别。圆弧的象限及顺逆不同,则插补计算公式和进给方向也不同,四个象限的圆弧插补偏差计算公式和进给方向见表1。若圆弧存在过象限的问题,可将圆弧按象限分段处理。

表1  四象限圆弧插补的偏差计算公式及进给方向

Fi≥0 Fi<0

圆弧所在象限及方向 进给方向 偏差计算 坐标计算 圆弧所在象限及方向 进给方向 偏差计算 坐标计算

Ⅰ顺、Ⅱ逆 -Y Fi+1=Fi-2|Yi |+1 |Xi+1|=|Xi |

|Yi+1|=|Yi |-1 Ⅰ顺、Ⅳ逆 +X Fi+1=Fi+2|Xi|+1 |Xi+1|=|Xi|+1

|Yi+1|=|Yi|

Ⅲ顺、Ⅳ逆 +Y Ⅲ顺、Ⅱ逆 -X

Ⅳ顺、Ⅰ逆 -X Fi+1=Fi-2|Xi |+1 |Xi+1|=|Xi|-1

|Yi+1|=|Yi | Ⅱ顺、Ⅰ逆 +Y Fi+1=Fi+2|Yi|+1 |Xi+1|=|Xi|

|Yi+1|=|Yi|+1

Ⅱ顺、Ⅲ逆 +X Ⅳ顺、Ⅲ逆 -Y

三、FANUC宏程序

用户宏程序是像子程序一样,在存储器中存储一组指令的功能,存储的这组指令功能用一条指令表示或调用执行。这一组指令称为用户宏程序本体,简称宏程序;把代表指令称为用户宏程序调用指令,简称宏指令。FANUC宏程序具有许多可在计算机高级语言中发现的特征:算术和代数计算;三角法计算;变量数据存储;逻辑运算;分支;循环;错误检查;报警产生;输入和输出。

因此,可以利用FANUC宏程序的这些特点进行逐点比较法插补模拟程序的模块化:例如,在主程序中仅完成起点与终点坐标的赋值及坐标轴的绘制,而将包括偏差判别、坐标进给、偏差计算、坐标计算及终点判别的整个插补过程在宏程序中完成。这样,只需在主程序中改变起点及终点坐标,而无需对宏程序进行任何变动,即可完成所需的插补过程模拟。同时,在宏程序中,利用条件转移指令实现偏差判别后确定进给轴及进给方向的分支功能;利用循环指令或条件转移指令实现终点判别及终点未到之前,偏差判别、坐标进给、偏差计算、坐标计算及终点判别这五拍的迭代进行,使宏程序编程得到简化。

通常宏程序由主程序或其他的宏程序使用G代码(典型的是G65)调用。

宏指令的基本格式为:G65  P   L   <自变量>;其中G65为宏程序调用命令;P  为包含宏程序的程序号。L  程序循环次数(L1为默认值);自变量为传递给宏程序的局部变量的定义。

四、基于宏程序的逐点比较法第三象限逆圆插补的实现

这里仅以逐点比较法第三象限逆圆插补(圆心在坐标原点)为例,介绍使用调用宏程序完成插补模拟的过程。

首先,在主程序中完成圆弧起点及终点坐标的赋值、坐标轴的绘制,宏程序的调用包括表示圆弧起点及终点坐标的局部变量的赋值。

在用户宏程序中完成圆弧起点的快速定位,圆弧插补的偏差判别、坐标进给、偏差计算、坐标计算及终点判别等全部插补过程。在这里特别要注意的是:为了清楚地绘制插补过程,需要将各轴的脉冲当量进行适当放大。逐点比较法第三象限逆圆插补流程图如图1所示。

图1 逐点比较法第三象限逆圆插补流程图

宏调用格式G65 P8011 X   Y   A   B   F  ;

有关自变量定义如下

X(#24):圆弧起点X轴坐标X

Y(#25):圆弧起点Y轴坐标Y

A(#1):圆弧终点X轴坐标A

B(#2):圆弧终点Y轴坐标B

F(#9):切削进给速度F

主程序:

O1234;

N60 G90 G54 G00 X0 Y-60;采用工件坐标系绝对模式

N70 G01 Y0 F100;绘制Y坐标轴

N80 X-60;绘制X坐标轴

N90 G65 P8011 X-5 Y0 A0 B-5 F100;调用用户宏程序O8011

N100 G00 X0 Y0;回坐标原点

N110 M30;主程序结束

宏程序

O8011;

N200 #33=#4003;保存编程模式

N210 #3=ABS[#24];圆弧起点X轴坐标绝对值|X|

N220 #4=ABS[#25];圆弧起点Y轴坐标绝对值|Y|

N230 #5=ABS[#1-#24]+ABS[#2-#25];终点计数器初值,#24=#500,#25=#501,#1=#502,#2=#503

N240 #6=0;设置插补计算偏差初值F=0

N250 G00 X[10*#24] Y[10*#25];定位圆弧起点,并将坐标值放大10倍

N260 G03 X[10*#1] Y[10*#2] R[SQRT[#24*#24+#25*#25]*10] F#9;绘制参考圆弧

N270 G00 X[10*#24] Y[10*#25];再次回到圆弧起点

N280 IF [#6 GE 0] GOTO 310;如果偏差大于等于0,转移到N330

N290 G91 G01 Y-10 F#9;当偏差小于0时,向-Y方向进给一步(10mm)

N300 #6=#6+2*#4+1;计算当前偏差 F=F+2|Y|+1

N310 #4=#4+1;计算当前坐标的绝对值 |Y|=|Y|+1

N320 GOTO 360

N330 G91 G01 X10 F#9;向+X方向进给一步(10mm)

N340 #6=#6-2*#3+1;计算当前偏差 F=F-2|X|+1

N350 #3=#3-1;计算当前坐标的绝对值 |X|=|X|-1

N360 #5=#5-1;终点计数器减1

N370 IF[#5 NE 0] GOTO 280;若终点计数器不为0,转移到N280继续进行圆弧插补

N380 G#33;恢复编程模式

N390 M99;宏程序结束

FANUC-0i-mate-C数控加工中心综合实验台如图2所示。运行结果如图3所示。

图2 FANUC-0i-mate-C数控加工中心综合实验台  图3 逐点比较法第三象限逆圆插补轨迹

逐点比较法第三象限逆圆插补理论计算过程如表2。

表2 逐点比较法第三象限逆圆插补理论计算过程

步数 偏差判别 坐标进给 偏差计算 坐标绝对值计算 终点判别

0 F0=0 |X0|=5;|Y0 |=0 ∑= 5+5=10

1 F0=0 +X F1=F0-2|X0|+1=-9 |X1|=4;|Y1|=0 ∑= 10-1=9

2 F1<0 -Y F2=F1+2|Y1|+1=-8 |X2|=4;|Y2|=1 ∑= 9-1=8

3 F2<0 -Y F3=F2+2|Y2|+1=-5 |X3|=4;|Y3|=2 ∑= 8-1=7

4 F3<0 -Y F4=F3+2|Y3|+1=0 |X4|=4;|Y4|=3 ∑= 7-1=6

5 F4=0 +X F5=F4-2|X4|+1=-7 |X5|=3;|Y5|=3 ∑= 6-1=5

6 F5<0 -Y F6=F5+2|Y5|+1=0 |X6|=3;|Y6|=4 ∑= 5-1=4

7 F6=0 +X F7=F6-2|X6|+1=-5 |X7|=2;|Y7|=4 ∑= 4-1=3

8 F7<0 -Y F8=F7+2|Y7|+1=4 |X8|=2;|Y8|=5 ∑= 3-1=2

9 F8>0 +X F9=F8-2|X8|+1=1 |X9|=1;|Y9|=5 ∑= 2-1=1

10 F9>0 +X F10=F9-2|X9|+1=0 |X10|=0;|Y10|=5 ∑= 1-1=0

实际运行结果与理论计算完全相符。

五、结论

学生通过用户宏程序编程,了解了宏变量和宏指令的应用,掌握了用户宏程序的编程、输入、编辑、调试及调用的方法;并通过数控插补原理实验,进一步理解并掌握了逐点比较插补原理和数字积分插补原理。故基于宏程序的插补原理实验教学方法改革真正做到了以问题为主线,以综合实践为导向,引导学生掌握科学的学习方式,让学生主动参与、乐于钻研、勤于动手,极大地提高了学生的学习能力和教学效果。

参考文献:

[1]罗敏等.数控原理与编程[M].北京:机械工业出版社,2011.

实验程序 篇7

1 定义简单的票价公式

利用Which语句完成身高,始发站代号,终点站代号等三个条件函数的实现(其中x为身高,i为始发站,j为终点站)。程序段如下:

h[x_,i_,j_]:=Which[x<1.1,0,1.1<=x<=1.4,(j-i)/2*10,x>1.4,(2*j-i)*10]

h[1.5,1,5]其结果为:90

2 判断乘车人的身份

利用Which语句定义判断函数,当是学生时输出1,如不是时输出0。

程序:g[u_]:=Which[u==“学生”,1,u==“其他”,0]

g[“学生”],g[“其他”]其结果为:1,0

3 定义软硬座

判断乘车人乘车方式,利用Which语句定义软硬座,如:乘车人选择“软座”,则在结果中也输出“软座”。

程序:d[c_]:Which[c==“软座”,“软座”,c==“硬座”,“硬座”]d[“软座”],d[“硬座”]

其结果为:软座,硬座

4 定义地点代号

利用Which语句定义地点代号,给每一个地点对应定义一个数,如:“包头”对应1等。

程序:f[z_]:=Which[z==“包头”,1,z==“呼市”,2,z==“集宁”,3,z==“商都”,4,z==“化德”,5,z==“白旗”,6,z==“桑根达来”,7,z==“大坂”8]

f[“包头”]f[“呼市”]f[“集宁”]f[“商都”]f[“化德”]f[“白旗”]f[“桑根达来”]f[“大坂”]

其结果为:1,2,3,4,5,6,7,8

5 结合以上步骤,将条件放在同一函数中,既:身高,始发站代号,终点站代号,是否为学生,然后输出票价

利用If语句,Which语句的复合完成考虑到四个条件的票价输出,函数b[]是定义的乘坐硬座的票价公式,函数s[]是定义的乘坐软座的票价公式,其中x为身高,i为始发站,j为终点站,k是判断学生的结果。

程序1:

b[x_,i_,j_,k_]:=If[k==0,Which[x<1.1,0,1.1<=x<=1.4,(4*j-i)/2*10,x>1.4,(8*j-i)*10],Which[x<1.1,0,1.1<=x<=1.4,(j-I)/2*10,x>1.4,(2*j-i)*10]/2]

b[1.2,1,3,g[“学生”]]

结果:5

程序2:

s[x_,i_,j_,k_]:=If[k==0,Which[x<1.1,0,1.1<=x<=1.4,(8*j-i)/2*10,x>1.4,(16*j-i)*10],Which[x<1.1,0,1.1<=x<=1.4,(2*j-i)/2*10,x>1.4,(4*j-i)*10]/2]

s[1.2,1,3,g[“学生”]]

结果:25/2

6 考虑软硬座,身高,始发站代号,终点站代号,是否为学生,利用定义的票价公式输出票价

把上面的三个函数复合在一起,完成最终的目标,这其中用到函数的嵌套。

程序1:f[“呼市”],f[“大坂”]

结果:2,8

程序2:a[t_,x_,i_,j_,k_]:=If[t==硬座,b[x,i,j,k],t==软座,s[x,i,j,k]]

a[软座,1.2,2,8,g[“其他”]]

结果:310

7 缺点与不足

此程序只是完成了一个车次的售票,函数不能满足乘客选择其他车次的要求,同时,没有考虑更多的条件,而且路线较短,面向对象较少。缺少可选择性的界面选择。能够在售票过程中选择车次,并且能加入票的张数,最好能有一个漂亮的界面。如果可以面向的对象多了,还可以再加入其他的条件,包括半价手续等等,当票价打出时能把对应的路程和时间以及车次同时打印出来,如能加入可选择性的界面选择,乘客就可以更直观买票。如果能按乘客需求显示出未来几天的车票及车票剩余量,该程序的使用范围及面向对象会更广。

摘要:通过Mathematica编程语言,以循环语句为主,不断地运用到If,Which等函数的嵌套,并把乘车人的身份(成人/学生),身高(成人/儿童),乘车方式(软座/硬座),站次等有关问题联系在一起,设计出了模拟火车售票程序。

关键词:Mathematica软件,判断,售票

参考文献

[1]焦光虹.数学实验[M].北京:科学出版社.2010,3.

微程序运算器的实验教学研究 篇8

1 微程序的理解

微程序的基本思想是:将机器指令分解为基本的微操作控制信号和数据信号, 并以编码字的形式将这些信号进行编码, 这种编码我们称其微指令, 多条微指令组合成微程序, 从而产生机器运行所需要的控制信号与数据, 控制有关部件完成指令功能所要求的微操作, 产生所希望的结果。《JYS-Ⅲ计算机组成原理实验系统》, 由于该系统的CPU使用了单片机89C51, 其基本字长为8位, 在存放微程序时, 系统使用了三个存储器, 其中程序存储器为3#RAM, 控制存储器为1#RAM及2#RAM, 2#RAM用来存放微指令的高8位, 1#RAM存放微指令的低8位。把微程序码按顺序存放在不同单元中。

2 运算器结构

下面以设计一个四位串行进位的加法器, 具有加法和加1功能, 两个操作数由八位寄存器R0, R1提供, 结果存放R2寄存器中, 为例说明加法器结构 (见图1) 。

运算器的两个加数分别存放在R0, R1寄存器中, 结果存放R2寄存器中, R2, R0, R1均采用八位D触发器, 在打入脉冲CPR0, CPR1, CPR2的作用下, 接受数据输入端提供的信息分别送入R2, R0, R1中。

3 清楚系统提供的资源

微程序的设计应在通调方式下进行, 在这种模式下有专用资源和通用资源之分, 专用资源不可以随意编程, 它在系统中有约定好的用途, 只有通用资源用户才可以随意使用。

由图2可以看出 (见表1) 。

系统的专用资源是:uRD为68, CpuIR为69, 脉冲为73, 而76~~83为显示发光二级管LED0~~LED7。这些资源系统已指定了专门用途, 用户是不能随意改变的。对于统用资源1#RAM的使用45-52中的哪4个信号, 2#RAM的使用34-41中的哪4个信号则由用户在微指令格式确定。

4 微指令的格式

十六位的微指令码, 要分成两个八位码存放。高八位数据码, 低八位控制码 (见表2) 。

至于使用哪几个位来存放数据码还是控制码, 则影响锁定引脚号和码值而已。假如采用图3所示的控制格式。

显然使用的是uIR7uIR6uIR5uIR4, 对应的引脚号为52 51 50 49, 在此种格式下, R2开, R0关, R1关的控制微指令是10H。R0开, R2关, R1关的控制微指令是40H。R1开, R0关, R2关的控制微指令是20H。而对于图4格式则:

显然使用的是uIR3uIR2uIR1uIR0, 对应的引脚号应锁定为48 47 46 45, 在这种格式下, R2开, R0关, R1关的控制微指令是01H。R0开, R2关, R1关的控制微指令是04H。R1开, R0关, R2关的控制微指令是02H。而对于下列格式则, uIR8-15为指令寄存器的高八位, 用来存放数据。 (见表3)

若使用uIR11uIR10uIR9uIR8作为数据输入端, 则引脚定义为34、35、36、37, 计算3+7时, 则输入03H, 07H即可 (见表4) 。

若使用uIR15uIR14uIR13uIR12作为数据输入端, 则引脚定义为38、39、40、41, 计算3+7时, 则需要输入30H, 70H。

5 掌握运行方法

实验原理图设计、下载时, 皆按通调方式进行。但在写微程序时要在分调方式, 写完微程序再转到通调方式运行。例如计算3+7, 微程序格式的字段分配:uIR15~uIR0中uIR11~uIR8定义四位操作数, uIR15~uIR12可为0, uIR7~uIR4定义为控制信号, uIR3~uIR0可为0。uIR7为1C0=1, 为0C0=0。uIR6为1产生CPR0信号, uIR5为1, 产生CPR1信号, uIR4为1, 产生CPR2信号。第一步, 在统调方式设计完原理图, 编译成功时下载。第二步, 在分调方式写入微程序。1#RAM从00单元开始依次写入40H、20H及10H, 2#RAM从00单元开始依次写入03H、07H、00H。第三步, 在通调方式下发脉冲运行。检验结果。

摘要:重点介绍了微程序运算器的实验教学方法。

关键词:微程序,运算器,资源,统调,分调

参考文献

[1]卜艳萍, 周伟.计算机组成与系统结构[M].北京:清华大学出版社.

[2]白中英.计算机组成原理[M].北京:科学出版社.

实验程序 篇9

关键词:辅助实验平台,实验效率,技术性手段

●引言

Windows程序设计是高等院校计算机科学与技术专业中的一门必修课。该课程在计算机专业的课程体系中起着承上启下的作用, 它将学生在低年级掌握的基础课知识, 如C/C++、数据结构等与平台无关的编程语言和方法与Windows操作系统相结合, 使学生能在Windows上开发可视化应用程序, 从而顺利进行高年级专业课的学习, 如数字图像处理、计算机图形学、数据库原理等 (这些课一般都在主流的Windows上进行实验) 。[1]

Windows程序设计课程的应用性极强, 旨在提高学生的编程能力, 实验环节尤其重要。但该课程的学时数一般较少, 因此, 如何在有限的实验环节中, 提高学生的实验效率, 使学生尽可能多地积累Windows编程经验值得进行教学研究和探索。

●实验环节现状分析

Windows程序设计课程的实验环节效率不高、有待优化主要体现在以下几个方面。

1.题目设计缺乏个性化

实验题目设计是本课程实验环节中的一个重要方面。[2]以往同一个班的实验题目是一样的, 但由于学生间对知识的掌握程度和编程能力客观上存在一定差异, 这就会让一部分学习情况较好的学生觉得实验收获不够, 而另一部分学习情况相对较差的学生却觉得实验太难, 从而导致实验效果不能让所有学生都满意。

2.题目要求的表达不够直观

与C、C++、数据结构等基础编程课程不同, Windows程序设计的实验最终结果是可视化应用程序, 实验效果带窗体界面, 有些甚至还有动画效果、用户交互等功能。[3]因此, 传统的实验指导书用文字说明实验题目要求的形式不利于学生快速、直观地理解实验题目的要求, 有时学生实现的功能甚至与题目要求不符, 从而降低了实验的效率。

3.存在重复性编码

计算机专业的多数基础编程课程, 如C、C++、数据结构等课程, 如C、C++、数据结构等课程的实验, 学生可以直接在空白的main ( ) 函数中编写功能代码。[4]而Windows应用程序开发则不同, 想要实现功能, 必须先实现基本Windows窗体。一个基本的Windows窗体中, 涉及了窗体的定义、注册、创建、显示, 以及Windows消息循环、消息响应函数编码等环节, 需要近100行代码来实现。因此, 在以往的实验环节中, 不少学生尤其是学习情况相对较差的学生在实现Windows基本窗体的过程中就花费了大量宝贵时间, 导致实验效率低下。

●基于辅助实验平台的实验模式

针对以上在实验教学过程中发现的问题, 结合Windows程序设计课程实验的特点和浙江农林大学计算机科学与技术专业学生的实际情况, 笔者尝试以技术性手段来提高Windows程序设计课程实验环节的效率, 设计并开发了一个Windows程序设计的辅助实验平台软件, 它具备实验题目自选模块、实验效果演示模块、辅助程序模块、编程资源模块, 能有效提高学生的实验效率, 改善实验教学效果。

1.实验题目自选

为了实现个性化实验, 使不同学习程度的学生都能够有适合自己的实验题目, 笔者根据学生情况制定了难度不一的实验题目和详细程度不一的实验指导教程。浙江农林大学的Windows程序设计课程共48学时, 其中理论教学32学时, 实验教学16学时, 针对这8次实验, 分别设计了难、中、易三套实验题目。

同时, 将这三套实验题目集成于本辅助实验平台软件中, 这样, 学生们就能方便地选择适合自己类型的实验方案, 各取所需。此外, 对实验指导教师、实验室人员来说, 实验管理也比以往更方便了, 只需在每台电脑预装本辅助实验平台软件, 无需网络和纸质的实验指导手册, 学生就能查看实验题目和实验指导教程。

2.实验效果演示

为了更直观表达实验题目的要求和预期效果, 减少学生在理解题意上花费的时间, 从而提高实验效率, 本辅助实验平台软件实现了实验效果演示模块, 不再使用实验指导书这种不适合本课程的传统实验模式。

实验效果演示模块集成了每次实验的所有实验题目, 能调用每个实验题目相对应的Windows应用程序可执行文件, 从而形象地表达实验要求。学生可通过本模块方便地预览预期的实验效果, 在实验完成后能与之比较实验效果, 验证编程环节是否正确。如图1所示, 当点击“效果演示”后, 预期的动画实验效果能直观展示。

3.辅助程序开发

SDK编程是通过C/C++语言, 以消息处理的编程方式, 直接调用Windows提供的API函数进行程序开发。它是底层的Windows程序设计方法, 能让学生加深对Windows编程的理解。一般在Windows程序设计的教学中, 都先介绍SDK编程, 然后介绍基于MFC、ATL类库的编程方法。然而, 与基于MFC、ATL类库的编程模式中, VC++会自动提供应用程序基础框架不同, SDK编程模式中, VC++不提供基础框架代码, 要实现实验题目, 必须先实现窗体基础框架。这是学生在初学Windows编程时的障碍之一, 如何让学生只关注功能本身, 尽快实现实验题目, 从而培养编程兴趣、提高编程信心并提高实验效率, 值得探讨。

笔者尝试利用辅助实验平台软件提供辅助程序开发模块, 该模块集成Windows应用程序的基本框架, 能显示基本的窗体, 并且学生可以在本软件上可视化添加每个实验的功能代码, 最终再由本软件导出最终的源程序。这样, 学生在实验过程中, 只需要专注于实验相关的功能, 进行事件响应部分的处理代码即可, 从而大大减少了重复性代码的编写量, 切实提高了实验课时的利用率。如图2所示, 当点击“开始编程”后, 空白的输入框内自动生成了基本框架代码, 在输入框内添加窗口处理代码完成功能代码编写后, 再点击“生成.cpp文件” (如图3) , 即可导出最终的源程序。

4.编程资源

Windows程序设计的实验环节中需要用到一些编程资源, 如位图、图标、第三方控件、类库等。本辅助实验平台软件除了实现以上3个主要功能模块之外, 还将集成所有实验题目需要用到的Windows编程资源, 这样学生就不必花大量时间去搜索编程资源, 从而能进一步提高学生的实验效率, 同时也能方便实验指导教师、实验室人员的管理。

5.基于辅助实验平台的实验流程

本辅助实验平台软件通过软件的形式覆盖学生实验时的各个环节。通过本实验平台, 改变了传统编程类课程的实验模式, 学生可自行选择不同难度的题目和详细程度不一的实验指导, 实验要求也更直观、明确, 实验环节中编程的效率也得到相应提高。学生基于本辅助实验平台软件进行实验时的流程如图4所示。

●建设效果

笔者以浙江农林大学计算机科学与技术专业101、102、111、112共四个班级为试点, 对计算机101、102班采用传统的实验教学模式, 而对计算机111、112班则采用辅助实验平台软件的实验教学模式。为了验证本辅助实验平台软件这种技术性手段是否能提高学生的实验效 率, 本文统计了每次实验学生能完成实验题目的平均数量。此外, 为了更进一步分析本辅助实验平台软件对不同学习状况的学生在实验环节的受益程度影响, 将学生分为学习状况相对落后、学习状况一般、学习状况较好三类 (按C、C++、数据结构课程的考试得分) 分别进行了统计, 统计结果如下表所示。

从上表可以发现, 采用了本辅助实验平台软件覆盖整个实验环节后, 学生能完成实验题目的平均个数上升明显, 就整体而言, 由原来每次实验平均只能完成2~3个题目, 上升到每次实验平均能完成3~4个题目, 实验效率提高了29.2%, 说明本文提出的以技术性手段提高学生实验效率的教学方法是有效的。

此外, 学习情况相对落后和一般的学生通过本平台实验效率分别提高了60%和30.4%, 说明辅助实验平台对这两部分学生影响较大, 能帮助他们更快、更好地完成实验, 积累更多的Windows编程经验, 这与本平台的设计初衷一致;学习情况较好的学生通过本平台实验效率提高了8.6%, 说明辅助实验平台对这部分学生影响不大, 即使没有平台, 这部分学生也能较好地完成实验任务。

除了以上的数字结果, 从学生在实验过程中的表现及课后的反馈情况来看, 本平台能让学生更快看到自己的实验成果, 从而能更快地入门Windows编程, 在适应了Windows程序设计基本方法和技巧后, 对本平台的辅助程序开发模块依赖会慢慢降低, 在后半学期绝大多数学生已经能熟练地从头开始SDK编程;另外, 本平台不但让学生完成的实验题目数量增加了, 更重要的是让学生在初学时就树立了学好Windows程序设计的信心、激发了兴趣和热情, 这种影响是潜移默化的。

●结语

本文尝试以技术性手段设计并实现了一个辅助实验平台软件用于Windows程序设计课程的实验环节, 取得了良好的实践效果。下一步的工作是继续探索实验环节能改进或优化的环节, 进一步完善辅助实验平台软件;同时, 将技术性手段改进教学或实验的思路推广、应用到其他的计算机专业课程。

参考文献

[1]方敏, 张胜.Windows程序设计 (第5版) [M].北京:清华大学出版社, 2010:12-15.

[2]方昱春, 陈讯雷, 张景峤.Windows编程课实践教学探讨[J].计算机教育, 2010 (18) :153-155.

[3]杨程, 陈念年, 李郁峰.游戏开发驱动的Windows程序设计课程教改探析[J].教学研究, 2012 (2) :92-95.

浅谈C程序实验教学方法的改进 篇10

C语言是各高校普遍开设的一门计算机公共基础课, 是理工科各专业计算机应用能力培养的重要技术基础。实验教学是C语言程序设计教学的重要环节, 是学好C语言程序设计关键。目的是通过上机实验, 让学生多动手、多动脑, 使学生在实验中提高分析问题、思考问题和解决问题的能力, 进而达到掌握理论知识, 提高操作和编程的能力。就目前来看, C语言实验课程存在如下问题:1) C语言是一门实践性很强的课程, 其实验教学环节应该是教学过程中一个重要的环节, 但在很多高校还没得到足够的重视;2) 在实验设置上, 主要是验证性实验, 几乎没有综合性实验。3) 老师在上课的时候注重对语句语法的剖析, 对算法进行剖析过于简单, 使学生在上机编程时没有软件工程的概念, 往往对编程无从下手。4) 教学过程中没有体现出专业特点, 学生学习后不能和专业连接起来, 失去继续学习的兴趣。

2. 教学改革方法

针对这些问题, 在实验教学中进行如下探索和尝试。

2.1 提高学生的兴趣

许多高校在大学一年级或大学二年级上学期开设"C程序设计"课。由于之前没有接触过计算机编程, 学生面对抽象的常量、变量, 全由符号组成的繁杂的函数、表达式等等, 不能理解, 对于编写程序更是望而却步。为此可以增加c语言实验课的课时比重, 把一部分理论课内容移到实验课上, 这样边讲解边验证, 把抽象的内容变得直观, 让学生感受到程序的魅力, 激发学生的兴趣。通过学生本人对程序的录入、编译、连接、调试、运行, 不仅掌握集成编程环境的使用, 体会各种指令的功能并且加深了对各知识点的理解和应用。

2.2 培养良好的编程习惯

学生一拿到题目就动手在机器上编写, 哪怕是很简单的程序也要经过多次尝试才能得到正确的结果, 对于稍微复杂一些的问题常常是尝试了很多次也不能得到正确的结果。这种让计算机代替人去思考问题的现象在任何计算机程序设计和计算机辅助设计中都是经常出现的严重的错误, 要让学生明白, 计算机只是在验证或者实现人的想法, 计算机是不会思考问题的。因此, 从第一节课教师就要贯穿"数据结构+算法=程序"的思想, 引入软件工程的理念, 引导学生去拿到题目首先要从理论上分析问题和解决问题, 培养学生养成软件工程设计规范的良好习惯。在每个实验项目之前, 要对该项目进行预习, 首先要分析该项目的解决思路, 即"可行性分析";然后分析这个程序需要什么样的输入, 即"需求分析";这些输入和输出都是什么类型的数据, 这个问题我们需要什么样的算法并分解为几个步骤来实现, 即"概要分析";对每个步骤是用一个函数来完成还是用几条语句来完成, 是使用循环结构还是选择结构, 并确定所需要的全局变量和静态变量, 必要时可以先写出伪代码, 这就是"详细设计";编程, 调试, 对给定输入得到正确输出, 这就是测试。这样, 不用讲很多抽象的概念, 就能培养学生从"数据结构+算法=程序"及软件工程的角度去系统分析问题的好习惯。

项目资助:淮海工学院自然科学基金项目Z2007012

2.3 突出专业性

C语言课程普遍存在各专业使用同一的教学大纲和教学进度, 教师只是简单对课本知识进行重复, 这种情况对计算机专业教学上没有什么优势, 其他专业则认为学完亦无用, 致使学生兴趣不高, 所以在实验教学中讲授同一个内容, 对不同专业要精心设计与专业相关的实验项目, 对不同专业采用不同的实验项目, 让学生能够学以致用, 这样学生才有兴趣学习。毕竟, 现在c语言已经作为各理工专业的应用语言出现, 只有让学生看到c语言在自己所学专业的具体应用, 学生的积极性才会被激发出来。比如, 学硬件专业的学生可以做一些和硬件关系比较紧密的实验项目。总之, 作为教师, "因材施教"是一个基本的教学原则, 虽然现有的情况是实施这个原则很难, 但还是要尽可能地有针对性地精选实验项目让学生实践, 充分调动学生的积极性和主动性。

2.4 建立师生双向互动的教学平台围绕

充分运用音像设备、多媒体工具软件, 利用校园网建立师生双向互动的C语言程序设计实验教学网络平台, 把老师的实验教学过程和优秀学生的实验操过制作成音像多媒体课件, 放到网站上, 作为学生课前和课后学习的辅导资料。由于网络课件不受时间限制, 以及网络课件的针对性和可选择性, 增强了学生学习的自主性。同时, 在网站上开设留言板, 使师生之间可以进行充分的互动, 在互动讨论中达到提高C语言程序设计实验教学的效果。同时, 还可以开放实验室, 使学生在课余时间就能到机房编写, 调试c程序, 提高学生的学习主动性。此外, 还可以利用电子信箱、博客等形式和学生交流。总之, 加强与学生的交流才能知道学生的问题所在, 进而更好的解决问题。

2.5 课外实践活动是c程序实验的有效补充形式

C语言程序设计的课外实践是课内实践教学活动的补充、延伸和深化, 可以弥补由于实验课课内时间限制而无法进行开放性、综合性实验的不足。课外实践活动的形式是灵活多样的, 如组织C语言程序设计大赛, 组织学生参与老师的科研活动等。通过课外实践活动, 让学生接触到前沿问题, 学习综合性的、大的实验项目的编程。这样就增加了课内实践的信息量, 提高了课内实践的教学效率, 调动了学生的自主性和创新性, 使学生的编程能力得到更快地提高。

3. 结束语

本文首先论述了c语言实验教学存在的问题, 然后提出的解决这些问题的措施, 通过教学实践证明, 这些措施能够一定程度上激发学生的学习自觉性和主动性, 提高学生利用c语言进行编程的能力, 达到提高教学质量的目的。本文提出的改进c语言实验教学的措施, 对其它的课程的实验教学也有一定的借鉴意义。

摘要:C语言实验是《C语言程序设计》教学中的一个重要环节。由于各种原因, C语言实验教学中存在一些问题, 本文首先归纳了现有C语言实验教学中的问题, 在此基础上提出了解决这些问题的方法。

关键词:C语言,实验教学,改革

参考文献

[1].刘洁.C语言实验教学初探[J], 科教文汇, 2007.8

实验程序 篇11

关键词:可编程序控制器;教学普及;实验教学

一、可编程序控制的发展现状

在20世纪80年代,PLC可编程序控制器,微处理器的技术水平达到一定高度,单片机微处理器以及半导体存储器也大规模的普及开来,可编程序控制器处理器增加,数据处理能力大大提升,对于远程通信及I/O也开始支持,另外辅助功能上,浮点运算、三角函数、列表等辅助功能也逐渐被涵盖进可编程序控制器中,容错率得到提高;到90年代,计算机信息化浪潮促使网络技术普及应用,32位微处理器构成的超大规模集成电路无疑已经完全将传统逻辑控制装置取代,并不断的扩大其应用领域。随着微电子技术的加速发展,PLC可编程序控制系统在世界工业中的发展也是迅猛的,在生活与生产中得到了广泛运用,在国内第一批可编程序控制器是在改革开放初期引进的,随着近年来的发展,国内可编程序控制器在中小型企业内得到普及,开发能力也得到很大提升,自己研发PLC可编程控制器的能力与功能日益强大起来,地位也越来越高,但是随着技术不断的深入发展,PLC可编程序控制器对技术人才的要求越来越高,专业技术水平决定了未来是否能够满足企业智能控制技术发展的能力高低,就目前来说,电工电子对PLC技术、变频技术以及微机技术的诊断与故障排除已经提高了门槛,因此为了提升未来整体操作水平,将PLC可编程序控制器引入教学就显得尤为重要。

二、可编程序控制器的实验教学

1.实验教学中的现状

在可编程序控制器在教学中,无论是中职技校、还是全日期大学都已经进入课程的规划之中,但是针对学科的普及程度,不同层次的教学,都会呈现出不同的教学阶段,如高级技工与技师的水平,无法通过教学来实现,因此可编程序控制器的技能训练是的整个PLC控制器教学在不同使用范围内的差别较大。

第一,从理论知识的教学着手,会造成所有教学中的常见问题——主动积极性不足,作为新兴技术,理论知识的匮乏,会造成不良的恶性循环,理论知识的匮乏,会导致在实际操作中无章法可循,进而可能导致学习兴趣的丧失,尽管在高的教学质量下也不一定产生良好的教学成果。

第二,没有接触实际操作经验的学生,自我约束能力差,规范操作无法达到标准,一定程度上会导致实验教学中的设备损坏,使得最终实验教学成本过高,阻碍国内可编程序控制器教学的普及发展。

第三,由于PLC可编程序控制器内容繁杂、课程安排繁重导致学时学制安排不足,因此需要重点精细的规划好课程安排。在前期的理论课程学习中,理论大约占用三分之一的学时,第二阶段下的实验教学与实践教学相结合,目的是为了让学员能够经过系统的、合理的学习安排之后,具有一定符合技术职称要求的操作水平与职业技能,如基本的电工电子技术如电动机、电力拖动、机床维修等,第三阶段中需要的是与生产实践相接轨的工作经验,经过工业生产的锻炼,进一步适应实际操作中出现的更加实际化的问题。

2.可编程序教学中的教学方案

(1)在理论教学的阶段过程中,按照理论课程的教学大纲进行梳理,不难发现大部分PLC可编程序控制器的学习都与其他前期基础教学同一起跑线,这样使得可编程序控制器理论知识能够与其他学科的知识串联起来,能够更好的结合多技术、多学科,从而产生很好的适应性为学员打下良好的基础;(2)根据课程教学的规律,所展现出的实验教学一体化模式,在讲授过程中,需要聘请PLC专业讲师,作为融合额微电子、单片机的综合性应用科学,需要一定的工作经验来支撑起所讲授内容,要“学以能用”不能纸上谈兵,保证教学质量;(3)PLC可编程序控制器主要应用于工业生产中,在实验教学中,应更多的联系实际,通过实际问题的解决与实际操作的使用来了解PLC可编程序的重要性,以提高学习积极性;(4)在实验教学中,严格按照生产要求,能很大提升职业素养,建立完善、健全的管理机制;(5)适当培养独立操作能力,加强个人能力培养,以求尽早了解熟悉工业生产。

三、可编程序控制器实验教学的重要意义

在技术类性的教学中,不应注重成绩优劣,应注重全面的能力培养,培养能够适应社会生存的能力,随着教学中实验实训的比重增加,技术类学科的动手机会得到很大提升,以传统理论教学为基础的教育模式逐渐编程实践超过理论。可编程序控制器作为综合性、实践性较强的学科,需要通过一定量的实验及操作完善整体教学,因此提高实验教学质量是提升可编程序教学质量的重要手段,其中经典的实验案例:模拟音乐喷泉控制系统、温度控制系统、电梯控制系统以及小车定位控制系统,均能通过简单模型进行功能性的实验,而达到理想的效果。

实验教学不仅能够使的学员了解PLC控制工程的基本常识,还能通过实验教学了解到实际应用的价值与意义,实验模型的模拟根据工艺条件可以设置相应的控制程序,模拟小型工程项目能够促进对工业工程编程控制的理解与学习,能够加快掌握编程语言以及操作方法,经验的积累无疑是对未来工业生产时间的最好臂助,因此需要加强实验教学以及动手能力。本质上说,实验教学的目的主要是配合理论的学习,能将课堂上的理论知识通过创造性的思维具现在实验教学中,举一反三,实验任务的安排可以适当综合性的选择,对实验任务的目的要求必须明确,加强在实验探索过程中的原理性的学习与深化,重点难点能够激发自身的主观能动性,积极翻阅资料,以便理解,做好实验前的准备,实验教学的规范化,能够很好的提高我国可编程序控制器人才的培养,是培养可编程序控制器的主要手段方法,因此在科技战略发展的角度上来说,PLC可编程序控制器的教学必定会越来越受到重视与关注,国家对微电子技术的发展也将提升到新的高度。

虽然,国内PLC可编程序控制器的实验教学发展迅猛,但是实验教学的工作量普遍较大,消耗材料多,成本高,普及程度还有待提高升。

参考文献:

[1] 范玉平.PLC在电工技术实验教学中的应用[J].实验室研究与探索,2000,(3):18-42.

[2] 夏建生.国外电工学课程教学若干特点及探讨[J].南京:电气电子教学学报,2000,22(3).

《C语言程序设计》实验教学探讨 篇12

在C语言实验中,主要是引导学生突破传统的思维方式,培养学生读、写程序和调试程序的能力以及提高上机的学习兴趣和自主实验的方法技巧等。以下是笔者结合教学实践,从几个方面总结如何加强实践环节的教学。

1 编写符合学生实际情况的实验讲义,注重学生综合实验能力的培养

目前,C语言实验方面的教材和参考资料很多,但是绝大部分内容广泛,针对性不强,不好直接拿来当作学生的实验指导书,主要有以下几个原因:第一,学生没有明确的实验目标,实验兴趣不大。上机时一些学生无所事事或玩游戏,不但害了自己,还影响其他同学。第二,现有教材中上机实验都立足于C语言本身的一些语言规则,和实际开发脱节,没有较容易理解和生动有趣的范例,比较死板、枯燥。第三、现有实验大多注重语句、语法等,没有把编程解题思路和程序测试等放在首位,对学生分析问题和解决问题的能力训练不够。为此,教师需要结合自己的教学经验,针对专业特色和教学要求编写针对性较强的实验指导书,以达到以下几个目的:(1)每个实验目的明确;(2)明确实验预习内容,让学生每次实验都作好预习准备;(3)实验指导部分重在指出此次实验的重点内容、不易理解和易出错的环节,而不是理论教材的重复讲述;(4)精选实验题目,以达到每一道题都能体现一个或多个知识点,并较多地设置“陷阱”,尽量让学生出错,把问题留给学生去思考和解决。根据难易程度分必作题和选作题,必作题要求在上机时间内完成,选作题供学有余力的同学参考,以满足不同层次学生的需求。

2 规范实验活动过程,量化评分标准

学生是实验的主体,要提高实验教学效果,学生必须要对实验有足够的兴趣和重视。然而,认为实验课无关紧要的思想还是比较普遍,因此作为实验教师就应当制定一些规章制度来规范整个实验过程,在C语言实验教学过程中实验教学过程中主要从以下几个方面进行规范。

2.1 检查实验预习报告

由于是程序设计课程,如果学生上机时才来思考、写程序和调试,绝大部分同学根本不能完成实验任务,甚至根本没法动手。为了提高实验教学效果,在自编的实验指导书中设有“预习与思考”内容。要求学生在上课之前思考相关问题并将“实验内容”部分的源程序写好。每次上课前,老师严格检查实验预习报告,凡没有预习的同学一律不允许进实验室。这样,可以促使学生对相关的内容进行一定时间的预习和思考,实验教学效果较明显。

2.2 严格考勤制度和实验现场考评

在实验教学过程中应注意培养学生的动手能力、独立科研能力及合作精神,绝不允许“一人动手大家看”这种“放羊式”现象出现。学生在做完实验后都必须由教师检查其结果,打分后方可离开,凡无结果或结果不理想者,必须补做或提供条件让其重做,促使学生在实验中勤动手,也使学生们具有成就感。对于部分综合型的实验尤其强调分工合作,实行小组长负责制,争取小组成员一起协调配合完成。

2.3 认真批阅实验报告加强反馈

每次实验结束,要求学生上交实验报告。对每一份实验报告都认真批阅,在不正确的地方作出批注,并提示学生错误的原因让他进一步思考;对表现好的学生下评语给予鼓励。这样做有几个好处:(1)能够检验学生上机实践的效果;(2)能及时发现和校正学生所出现的问题;(3)能够激发学生对此门实验课程的学习兴趣;(4)老师能清楚地了解学生对相关知识的掌握情况,教学更加有针对性。实践证明,认真批阅实验报告后,下次同学们上机时会更认真,所写的实验报告更工整、规范。

2.4 量化评分标准

实验课不同于理论课,实验操作能力是评价学生成绩的一个主要方面,不能仅以试卷的形式来评分,因此需要制定了严格的评分标准,将学生们在课堂上的表现以分数形式量化,比如可这样规定(实验成绩30分):其中操作和实验结果10分、实验报告5分、实验考试5分、提问5分、纪律5分:包括迟到早、旷课、环境整洁等。这样可以让学生有紧迫感,杜绝“放羊”现象的发生。

3 改革实验教学方法

在以前的实验教学中,老师在上机之前将实验过程中可能涉及到的问题先作讲解,在实验过程中,当学生问到问题时,马上给出正确的解决方案,甚至帮学生将问题解决,很少让学生去思考。这样可能下次学生遇到相同的问题时仍然没法解决。然而,学生在整个实验过程中,是否积极开动脑筋,所收到的效果是大不一样的。现在,在教学过程中切实采用“启发式”教学方法,主要体现在:(1)在课前,针对本次实验的内容提出几个问题让学生思考后作答,这样就会促使学生应用所学过的理论知识对教师所提的问题积极思考,并通过实验来验证解决;(2)对学生在实验过程中所遇到问题,并不马上将解决的方法都告诉学生,而是引导学生分析,在什么情况下才会出现这种错误,如果要解决它有哪几种思路,留几分钟的时间给学生自己思考。比如针对以下3个C语句:int b=7;float a=2.5,c=4.7;a+(int)(b/3*(int)(a+c)/2)%4,让学生计算表达式的值并上机验证。采用的教学方法是先让学生用笔计算,之后上机验证,看两个结果是否一致。一般会发现一部分学生出错,就可提出以下几个问题供他们思考:(1)整个表达式的结果是int型还是float型?(2)(int)(a+c)的结果是多少?是整型还是实型?(3)两个整型数据相除结果是什么类型?(4)“%”运算符的功能是什么?左右两边的数据要求是什么类型?

比起“填鸭式”的灌输,“启发式”教学方法可以让学生积极开动脑筋思考,对本实验的理解就会更加深刻,学到的知识也更扎实。

4 设计综合性的实验

以往大多数同学在学完C语言后,普遍反映能看懂例题,但遇到实际问题就无从下手,这主要是教材上的例题缺少实际意义。为此,我们可以设计短期任务与长期任务结合的上机内容。以一个大题目作为长期任务,再按不同功能模块分解开来,形成一个个短期任务。每一章学过之后要求完成一项或几项编程作业,而各章的编程作业不是孤立的,而是相互联系的,实际上它们都是一个较大型较复杂程序的组成部分。这样就可以使学生的任务形成一种连贯性,在整个学科的学习过程中始终都有一个总任务的驱动,而学生又在一个又一个短期任务的驱动下,体验着一次又一次迈向成功的喜悦。例如,以“学生成绩管理系统”为课程设计的长期任务,从常用输入/输出语句printf和scanf开始,让学生编写主函数并在主函数中调用若干个空函数形成一个文本型菜单的雏形;学习常用数据类型后,再编写一个验证密码输入的函数;选择结构后,要求编写一个菜单选取函数;循环控制和数组后,要求建立班级课程的成绩输入输出函数;学完结构体类型后,要求使用结构体数组来存储和处理学生的信息;学习链表后,要求利用单链表动态管理学生的成绩;最后在“文件”这一章,要求利用文件操作完成学生成绩管理。当学完整个课程,完成了平时要求的各项编程作业之后,就会发现,原来自己完成的远不是零碎的程序段,而是在制作程序的各个部件,只要通过简单的程序拼装,就可以构成一个比较复杂的程序。这也在潜移默化中培养了学生采用各个击破的方法解决实际问题的意识。最后,学生从整体的角度来审视整个程序的设计,并通过上机进行综合调试,达到提高编程能力的目的。

5 采用协作方式的实验组织形式

协作学习由David W.和Roger R.Jonson教授提出,是学生以小组形式参与、为达到共同的学习目标、在一定的激励机制下最大化个人和他人习得成果,而合作互助的一切相关行为。协作学习是一种通过小组或团队的形式组织学生进行学习的一种策略。小组成员的协同工作是实现班级学习目标的有机组成部分。小组协作活动中的个体(学生)可以将其在学习过程中探索、发现的信息和学习材料与小组中的其他成员共享,甚至可以同其他组或全班同学共享。在此过程中,学生之间为了达到小组学习目标,个体之间可以采用对话、商讨、争论等形式对问题进行充分论证,以期获得达到学习目标的最佳途径。学生学习中的协作活动有利于发展学生个体的思维能力,增强学生个体之间的沟通能力以及对学生个体之间差异的包容能力。此外,协作学习对提高学生的学习业绩、形成学生的批判性思维与创新性思维、对待学习内容与学校的乐观态度、小组个体之间及其与社会成员的交流沟通能力、自尊心与个体间相互尊重关系的处理等都有明显的积极作用。

采用协作方式来组织实验,是值得广大教师探讨并推广的一种形式。在C语言实验教学过程中,在尊重学生个体差异和一人一机基础上,利用局域网,将学生分成小组进行协作实验,将实验心得体会、结论等在网上共享。改变以前那种各自为阵,互不往来的实验组织方式。协作学习对提高学生的学习业绩、形成学生的批判性思维与创新性思维、对待学习内容与学校的乐观态度、小组个体之间及其与社会成员的交流沟通能力、自尊心与个体间相互尊重关系的处理等都有明显的积极作用。

6 结束语

C语言的实践教学在该课程的教学过程中占有举足轻重的地位,本文通过对C语言课程多年的教学经验和教学改革的实践和体会,提出了增强实践教学和加强学生动手能力的培养想结合的思想,使学生在实践教学的同时,也锻炼和培养了都手能力,为大学计算机语言课程的实践教学提出了一个新的思路和方法。当然,对于实验课的教学,还有许多方面需要我们进一步完善和提高。

摘要:《C语言程序设计》是高校计算机教学的一门基础课,实验教学在其中占有非常重要的地位。本文就如何强化C语言实验教学进行了探索,并提出了一些可行的方法。通过教学实践表明,这些方法和措施能有效地提高教学效果以及学生的动手能力。

关键词:C语言,实验教学改革,探讨

参考文献

[1]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,1999.

上一篇:骨料加工下一篇:网络德育的特点