`
sjgau
  • 浏览: 97191 次
  • 性别: Icon_minigender_1
  • 来自: 台灣省 台北市
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Fortran 的選擇式結構

阅读更多
這是 Fortran 90 所提供的 選擇性的 程式結構,
很重要。

當 係數 a,b,c= 1, 3, 1 的時候,驗算結果會產生 誤差,
這就是 浮點數的運算,一定會 產生誤差。

如何 正確處理 誤差,是一個很重要的 學問。



分享到:
评论
1 楼 sjgau 2007-01-31  
! main()    
implicit none    
real a,b,c, d, x1,y1, x2,y2    
   
! y= a*(x^2) + b*x + c    
! D= (b^2) - 4*a*c    
! -----------------------------------------------    
   
a= 1.0    
b= 3.0    
! b= 2.0    
! b= 1.0    
   
c= 1.0    
! 修改上面的 a,b,c 係數的值,重新 compile    
! -----------------------------------------------    
   
d= (b*b) - 4.0*a*c    
if (d > 0.0) then    
    print *, 'D > 0.0, D= ', d    
    pause    
   
    x1= (-b + sqrt(d))/(2.0*a)    
    x2= (-b - sqrt(d))/(2.0*a)    
   
    ! 驗算    
    y1= a*(x1*x1) + b*(x1) + c    
    y2= a*(x2*x2) + b*(x2) + c    
    print *, 'x1= ', x1, ', y1= ', y1    
    print *, 'x2= ', x2, ', y2= ', y2    
else if (d < 0.0) then    
    print *, 'D < 0.0, D= ', d    
    pause    
else   
    print *, 'D = 0.0, D= ', d    
    pause    
   
    x1= (-b + sqrt(d))/(2.0*a)    
   
    ! 驗算    
    y1= a*(x1*x1) + b*(x1) + c    
    print *, 'x1= ', x1, ', y1= ', y1    
end if   
   
end !of main()    
! -----------------------------------------------    

相关推荐

    FORTRAN95多媒体课件

    3. **控制结构**:包括顺序执行、分支结构(IF-THEN-ELSE)、循环结构(DO)、选择结构(SELECT CASE)等,用于控制程序流程。 4. **函数与子程序**:FORTRAN95支持用户自定义函数和子程序,可以封装复杂的计算过程...

    Fortran自学教材

    这本书提供了对Fortran2003最重要特性的非正式、教程式介绍。从书的描述来看,它不仅包含了实例,还涵盖了相关原理,因此是一本非常适合自学的教材。此外,由于它支持带有类的最新Fortran特性,这本书对于希望掌握...

    固定管板式设计代码fortran

    在这个项目中,`QS12.F90` 文件很可能是用 Fortran 90 语法编写的源代码文件,包含了一系列用于计算固定管板式换热器性能的算法。 在热力设计阶段,代码可能涉及到以下几个关键知识点: 1. **热传递计算**:包括...

    c与fortran的差别

    C 语言的优点在于灵活,可以定义新的数据结构,例如使用 struct 定义复杂的数据结构。C 语言的 pointer 机制也使得程序员可以自由地处理大数据。除此之外,C 语言在 UNIX 系统中的广泛应用也使得它具有很高的可移植...

    fortran.zip_matlab与fortran

    3. **算法**:Fortran在排序算法上有多种实现,如冒泡排序、选择排序、插入排序、快速排序、归并排序等。这些算法在处理大量数值数据时非常有用。例如,快速排序是一种效率较高的内部排序算法,适合于大型数据集;而...

    Guide to Fortran 2008 Programming

    本书旨在为读者提供一个非正式的、教程式的介绍,帮助读者快速掌握Fortran 2008的核心特性。 #### 四、Fortran 2008的应用领域 由于其强大的数值计算能力和高效的执行效率,Fortran 2008广泛应用于以下领域: - **...

    各语言C++,fortran77,fortran90,matlab之区别

    - **现代化改进:** Fortran90相对于Fortran77做了大量改进,包括增加了动态内存管理、用户自定义数据结构等功能。 - **数组操作:** 引入了更为高效的数组操作机制,简化了复杂的数学运算。 - **并行计算:** 内置了...

    用C++,Matlab,Fortran实现的BP算法

    C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。在C++中实现BP算法,需要利用其强大的数据结构和面向对象特性。程序员需要定义神经元类、层类以及...

    现代Fortran的函数式编程___下载.zip

    5. 不可变数据:虽然Fortran不像某些纯函数式语言那样强制所有数据都是不可变的,但开发者可以选择使用只读变量(`INTENT(IN)`)和常量(`PARAMETER`)来模拟不可变性,这样可以减少副作用,提高代码的可预测性。...

    Fortran的概要分析与介绍

    1. **语法清晰简洁**:Fortran的语言结构简单明了,易于理解和学习。 2. **适用于数值计算**:Fortran特别适合于处理复杂的数值计算问题,如矩阵运算、微分方程求解等。 3. **高效性**:由于其设计之初就是为了提高...

    BP人工神经网络C++、Fortran、Matlab源码

    - 选择不同的编程语言实现可以根据项目需求,如性能要求、可移植性或现有技术栈来决定。 以上是关于BP神经网络及其C++、Fortran和Matlab实现的基础知识,具体的源码实现细节需要进一步研究代码才能深入理解。在...

    fortran语言与matlab和C语言的区别

    Fortran和Matlab的程序结构偏向于声明式和解释式,C语言则更注重命令式和编译式。 在性能方面,由于Fortran语言专注于数值计算优化,所以在处理大规模数值计算问题时,其性能往往优于Matlab和C语言。而Matlab虽然在...

    Fortran与matlab在数组上的对比.docx

    Fortran的代码结构清晰,对于数组操作,需要预先声明数组的类型和大小,例如`real(8) a(n,n)`。此外,Fortran提供了多种赋值方式,如数组构造器`(/1.0, 2.0, 0.0, 4.0/)`和数据声明`data`。在处理大型数组时,...

    Fortran+语言MPI+平行计算程式设计

    ### Fortran+语言MPI+平行计算程式设计 #### 一、前言 在现代高性能计算领域,平行计算已经成为处理大规模数据集和复杂科学计算问题的关键技术。本课程旨在介绍Fortran语言结合MPI(Message Passing Interface)...

    Fortran历史悠久的高性能计算语言.docx

    作为IBM的一个里程碑式的项目,Fortran由约翰·巴克斯领导的团队开发而成,旨在简化科学计算过程,并使编程更接近数学表达式。这一特性使其成为当时科学计算领域的首选语言之一,并对后续编程语言的发展产生了深远...

    关于GA的Fortran程序

    遗传算法是一种搜索启发式算法,它模拟了自然界中的进化过程来寻找优化问题的解决方案。其基本思想是从随机产生的初始解群出发,通过选择、交叉、变异等操作不断产生新的解群,逐步逼近最优解。遗传算法的优点在于其...

    fortran开发的基本流程.doc

    在Fortran开发中,选择合适的数值方法和数据结构对于解决不同类型的科学计算问题至关重要。例如,对于偏微分方程的数值求解,可以采用有限差分法、有限元法、谱方法等。不同的方法适用于不同类型的问题,开发者需要...

    bp.rar_BP_BP fortran

    4. **Matlab实现**:Matlab是一种用于数值计算和符号计算的交互式环境,尤其在工程和科学研究领域广泛应用。其内置的矩阵运算和丰富的工具箱使得编写和调试神经网络模型变得简单,但运行效率相对较低。 5. **性能...

    Fortran是科学计算和高性能计算是科学计算和高性能计算

    在工程领域,Fortran被用来解决复杂的结构力学问题、优化设计参数以及模拟多物理场相互作用等。特别是在汽车、航空航天等行业,对计算效率和准确性的高要求使得Fortran成为不可替代的工具。 ### 三、使用Fortran...

    土石坝施工过程模拟代码,碾压式土石坝的施工流程图,Fortran源码.zip

    本资料包提供了关于土石坝施工过程的模拟代码,特别关注的是碾压式土石坝的施工流程,采用的是Fortran编程语言编写的源码。 Fortran(FORmula TRANslation)是一种早期的高级编程语言,特别适合于数值计算和科学...

Global site tag (gtag.js) - Google Analytics