简介:在大伙房水库监测预警平台的开发过程中,为了节约开发时间并优化程序结构、提高运行效率,综合利用C#这种现代语言高效开发的特点和FORTRAN这种古老计算机语言描述工程算法准确、严谨的优势。本文讨论了FORTRAN和C#混合编程的特点,研究了C#与FORTRAN混合编程的实现方法。关键词FORTRAN;混合编程;工程计算;DLL中图分类号TP314文献标识码A文章编号1007-9599(2010)04-0000-01ImplementationofFORTRAN&C#MixingProgrammingagainstLargekitchenWarningPlatformDevelopmentShangTao,FuJinxiang,MaXingyuan,TangYulan(ShenyangArchitectureUniversity,Shenyang110168,China)AbstractDuringthedevelopmentoflargekitchenResMonitoringandWarningPlatform,inordertosavedevelopmenttimeandimproveoperationefficiency,usingC#LanguagewhichisthemoderncomputerlanguagealsohasthecharacteristicsofefficientdevelopmentandFORTRANLanguagewhichcanrigorousandaccuratedescriptionofengineeringalgorithmtogetherisnecessary.ThispaperhasdiscussedthecharacteristicsofmixingprogrammingwithC#andFORTRANlanguage.KeywordsFORTRAN;Mixingprogramming;Engineeringcalculation;DLL一、FORTRAN与C#语言的发展及优势以大伙房水库监测预警平台的开发为例。平台需要采用大量先进的计算机编程技术,应用大规模数据库,提供可靠的安全保障,优秀的网络访问能力。这就需要构建平台的编程语言能完整简洁地支持当今最新的编程技术。C#语言就是这样一种语言,作为微软首推的编程语言,C#几乎支持所有最新的编程技术提供了极高的开发效率5。但是该平台又有着显著的工程计算软件的特点,需要严谨的科学计算语言对算法进行描述,同时有许多经过多年工程实践积累的工程计算代码可以被重用。FORTRAN语言最早被应用在工程开发之中,同时在FORTRAN语言50多年的发展中,积累了大量的优秀正确的代码。所以研究C#语言与FORTRAN的混合编程在该项目中的开发中有着重要的意义。(一)FORTRAN语言的发展及优势FORTRAN在数值计算领域有其独有的优势,首先它是最早的高级语言,有大量优秀正确可靠的源代码可以使用,如果能充分利用FORTRAN源代码可以大量节约工程软件设计开发的时间。FORTRAN语言有更为严格的语法,支持直接对数组和复数进行计算,非常适合严谨的科学计算领域1-3。(二)C#语言的发展及优势微软在推出.NETFramework第一版时推出的新语言C#,派生于C的简洁语法,继承了C++语言的灵活性,并且支持快速开发,随着C#3.0版本的发布,C#作为微软公司建议的开发语言,已经受到越来越多的程序开发人员的青睐5。二、FORTRAN与C#混合编程的方法(一)命名约定的一致由于C#语言是严格区分大小写的,而FORTRAN在默认情况下不区分大小写,如果不解决命名一致问题就会导致链接失败。FORTRAN的缺省方式是使符号名在OBJ文件中变成大写,在C#中调用一个缺省的子例程时用一个纯大写的名称生成调用就可以成功publicstaticexternvoidDLLTEST;(二)参数传递一致因为C#默认是值传递,而FORTRAN默认是引用传递。我们在参数传递中必须保持传递的一致性。简单的方法是使用C#的关键字ref,将C#的参数传递类型定义为引用类型publicstaticexternvoidDLLTEST(refinta,refintb);(三)数组参数传递在传递数组参数时,需要周全地考虑行和列的储存位置对调的问题5。还应注意,C#的数组下标从0开始,而FORTRAN的数组下标默认从1开始。如在C#中定义数组A34,共20个元素;同样的定义A(3,4)在FORTRAN中共12个元素1-3。并且进行数组传递还要注意,只需要传递数组的首地址即可,DLL需要的是数组的起始位置。三、FORTRAN与C#混合编程的实现下面试写水库监测预警平台中一个模型计算程序来说明FORTRAN和C#在混合编程的实际应用。启动VisualStudio,选择IntelVisualFortranLibrary中的Dynamic-linkLibrary,并给项目命名。新建“FortranFile”项,并给文件命名。然后在该文件中书写算法代码。编译完成后,在该项目的debug子目录下找到生成的dll文件。新建VisualC#Windows窗体应用程序。并给项目命名,将生成的dll文件拷贝到新项目的debug目录下。在进行连接之前需要在C#中增加对动态链接库操作的类的引用usingSystem.Windows.Forms;usingSystem.Windows.InteropServices;声明外部函数的部分代码publicpartialclassForm1Form{DllImport("dlltest.dll")publicstaticexternvoidFORDLL(reffloatV,reffloatQIN,reffloatBOD,...);...之后就可以对FORTRAN编写的外部函数进行调用,得到正确的结果。四、结论经过本文的讨论,可以看到运用FORTRAN与C#混合编程可以容易地实现。平台的代码极大的缩短,并且可以方便地重用FORTRAN语言的优秀代码,大大缩短开发时间,并且提高程序的执行效率。参考文献1司岩,周福才.FORTRAN程序设计基础J.大连理工大学出版社,1996,52刘卫国,蔡旭辉.FORTRAN90程序设计教程J.人民邮电大学出版社,2003,23张晓霞,田秀萍.Fortran90程序设计教程J.兵器工业出版社,2005,104Nagel.C等著.黄静译.C#高级编程J.清华大学出版社,2008,105周涛,郭占元,郭向荣.Fortran与C#混合编程在土木工程计算中的应用J.中南大学,2009,3
简介:随着我国教育体制的全面改革,中职教育也开始成为培养专业技术人才的重要培训基地。在经济迅速发展的今天,网络成为日常生活必不可少的一部分,在中职教育中计算机专业课教学在网络时代的推动下,也逐步成为中职教学必不可少的专业课程。但是,当前在中职的计算机专业课程教学中存在着一些问题,例如:学生听不懂、动手操作能力不强等问题,这就需要中职计算机专业教师改变专业课教学模式,探寻一条新的、适合中职学生知识发展水平和动手操作水平的计算机专业课程教学模式。该文通过理论联系实践做出总结,采用混合式学习模式对学生进行计算机专业课程教学,可以收到较高的教学效果,并将其整理成文字为中职计算机专业课程教学提供更多的参考,从而更好地促进学生计算机专业水平进一步提升。
简介:依据开展混合式教学的目标,从课程内容、支撑平台和混合模式3方面提出混合式教学的总体思路,基于首都师范大学智能机器人技术及其仿真课程2016—2017年度开展的混合式教学实践,从混合式教学设计、在线学习监督分析、现场教学环节设计、教学效果分析等几个方面进行尝试,研究发现混合式教学模式能够提高学生的学习积极性,增强学生的团队协作意识和自我表达能力,提升学生对知识的总结归纳和运用能力,但混合式教学模式对教师提出了更高的要求,教师要勇于创新,挖掘混合式教学模式的优势,提出更多的课堂教学形式。