摘要内弹道诸元计算公式繁多,传统计算耗时费力,而根据弹道表进行查找计算又难以精确得数,所以越来越多的火炮工作者开始利用计算机编程来计算内弹道诸元。Fortran是世界上出现最早的高级程序设计语言,最适用于数值计算,所以在数值计算领域大量的程序都是用Fortran所写。但是大部分的Fortran程序都是在dos下运行的,使用很不方便,如果把早期的Fortran程序转换成其他语言,则工作量是巨大的。Visual Basic是一门简单易学的面向对象的高级程序设计语言,在界面设计方面功能强大,深受非计算机专业人士的喜爱。利用VB编写界面调用Fortran程序可以很好的利用Fortran和VB的优点,克服各自的不足。通过VB中的Shell语句对Fortran编译好EXE文件进行调用可以成功实现VB和Fortran的完美混合应用。本文将通过实例详细说明:Fortran语言如何编译成可执行(EXE)文件,Visual Basic语言如何调用Fortran编译的EXE文件,以及Visual Basic 语言调用Fortran程序时参数传递须注意的问题。61141
毕业论文关键词:内弹道计算、Shell函数、Visual Basic、Fortran、混合编程
毕业设计说明书(论文)外文摘要
Title Interior Ballistics Calculation Software Development
Abstract
The date of interior ballistics is difficult to calculate as the variety of formulas,the traditional solution is time-consuming and inefficient. Therefore,more and more artillery engineers chose to use computer instead of the ballistic table.Fortran is one of the earliest hither-level programming languages and is suited for numerical calculation.But most of the Fortran programs run under DOS environment,so it is difficult to use.To overcome this shortcoming,it is reasonble to call the Fortran programs by Visual Basic interface.By the hybird programing of Fortran and Visual Basic,we could get the powerful calculating capabilities of Fortran and the convenient visualization of Visual Basic.Through the examples,this article will explain the detail of these problems,like:how to compile Fortran language into executable (EXE) file;how to call EXE file by Visual Basic interface;the key points should pay attention to during the process of pass parameters between Fortran and Visual Basic.
Key Words:Interior ballistics calculations, Shell function , Visual Basic, Fortran, Hybrid Programming
目录
1绪论 5
1.1课题研究背景、目的和意义 5
1.2论文主要研究工作 8
1.3软件功能 8
1.4本课题拟采用的研究手段 9
2. 总体设计 9
2.1总体设计思路 9
2.2多孔火药的燃烧过程 10
2.3经典内弹道的计算方法 12
2.4混合药形装药内弹道模型及分析 15
2.5 FORTRAN和VISUAL BASIC混合编程 18
3. VB可视化界面的设计 19
3.1输入语句 21
3.2.输入保存语句 21
4内弹道计算FORTRAN程序设计 22
4.1利用龙格-库塔法求解内弹道方程组 22
4.2 FORTRAN程序的编写 24
4.2.1读取输入文件数据 24
4.2.2FORTRAN计算程序的编写 24
5.FORTRAN 和VB混合编程的相互调用问题