一天一门编程语言Fortran 语言程序设计极简教程

Posted 禅与计算机程序设计艺术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一天一门编程语言Fortran 语言程序设计极简教程相关的知识,希望对你有一定的参考价值。

文章目录

Fortran 语言程序设计极简教程

Fortran 是一种高级编程语言,它主要用于科学计算和数学计算,也可以用于开发商业应用程序。本教程将向您展示如何使用 Fortran 语言来编写程序。

一、Fortran 语言的基本语法

1.1 注释

Fortran 语言中的注释以 ! 开头,例如:

! This is a comment

1.2 标识符

标识符是用于标识程序中的变量、函数、常数等的名称。Fortran 语言中的标识符需要遵守以下规则:

  • 标识符只能由字母、数字和下划线组成,且不能以数字开头。
  • 标识符的长度不受限制,但最好不要超过 6 个字符。
  • 标识符是区分大小写的。

1.3 变量

Fortran 语言中的变量分为三类:

  • 整型变量:用于存储整数值,例如 ijk 等。
  • 实型变量:用于存储实数值,例如 xyz 等。
  • 字符型变量:用于存储字符串,例如 strname 等。

除此之外,Fortran 语言中还有其他类型的变量,例如指针变量、数组变量、结构体变量等。

1.4 语句

Fortran 语言中的语句可以分为以下几类:

  • 控制语句:用于控制程序的流程,例如 ifdowhile 等。
  • 赋值语句:用于给变量赋值,例如 x = 10y = x + 1 等。
  • 调用语句:用于调用程序中的函数,例如 call print()call add(x, y) 等。

1.5 运算符

Fortran 语言中的运算符有加法运算符 + 、减法运算符 - 、乘法运算符 * 、除法运算符 / 等,还有其他类型的运算符,例如比较运算符 <><=>= 等。

二、Fortran 语言程序的编写

2.1 基本结构

Fortran 语言程序的基本结构如下:

program program_name
  ! Declaration and statements
end program program_name

2.2 程序的声明

Fortran 语言程序的声明部分可以定义变量和函数,例如:

integer :: a, b, c
real :: x, y, z

function add(a, b)
  add = a + b
end function add

2.3 程序的执行

Fortran 语言程序的执行部分包括控制语句、赋值语句和调用语句,例如:

if (x > 10) then
  x = x - 10
end if

a = 10
b = 20
c = add(a, b)

三、Fortran 语言程序的编译和运行

3.1 编译

Fortran 语言程序的编译是把源代码翻译成机器可以识别的二进制代码,例如:

gfortran program.f -o program.exe

3.2 运行

Fortran 语言程序的运行是把编译后的二进制代码加载到内存中,然后按照程序的指令逐行执行,例如:

program.exe

用Fortran 语言实现斐波那契数列:循环和递归两种方式

1. 斐波那契数列简介

斐波那契数列(Fibonacci Sequence)是由意大利数学家列昂纳多·斐波那契(Leonardoda Fibonacci)在公元1200年提出的,它指的是一串数字,是一个特殊的数列,其特点是第一个与第二个数字都是1,从第三个数字开始,每个数字都是前两个数字之和,即从第三个数起,后一个数是前两个数之和。

斐波那契数列的数字形式如下:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ……

斐波那契数列应用广泛,在数学、建筑学、艺术等有着多种应用,主要的应用有:

  • 财务领域:货币的增长、贷款利息的计算、投资回收期、投资收益计算等;
  • 自然科学领域:动物繁殖、叶片的结构、蜂窝的形状等;
  • 计算机科学领域:计算机算法的设计、编程语言的发展、搜索引擎的索引等;
  • 医学领域:身体器官的发育、病毒繁殖等;
  • 数学领域:数列、数论、代数学等;
  • 建筑学领域:建筑结构设计等。

2. 用Fortran语言实现斐波那契数列:循环方式

用Fortran语言实现斐波那契数列,有两种方法,一种是递归(Recursion),一种是循环(Loop)。下面介绍用Fortran语言实现斐波那契数列:循环方式。

2.1 基本步骤

斐波那契数列,用循环方式实现,基本步骤如下:

  • 首先声明一个变量fibonacci用于存储斐波那契数列;

  • 然后定义一个变量n,用于控制循环次数;

  • 使用for循环,从0开始,到n-1为止;

  • 因为斐波那契数列的前2项是1,所以将fibonacci的第0项和第1项都设置为1;

  • 然后从第2项开始,就是将前2项的和赋值给当前项;

  • 最后输出斐波那契数列,就可以得到斐波那契数列了。

2.2 代码实现

以下代码以Fortran 95为例,实现斐波那契数列:循环方式

program Fibonacci
  implicit none
  integer :: i, n
  real, dimension(:) :: fibonacci  
  
  ! 读取用户输入的数字n
  write (*, *) "请输入要求的斐波那契数列的长度:"
  read (*, *) n
  
  ! 分配内存
  allocate(fibonacci(n))
  
  ! 将斐波那契数列的前2项设置为1
  fibonacci(1) = 1
  fibonacci(2) = 1
  
  ! 将后面的项,都设置为前2项的和
  do i = 3, n
    fibonacci(i) = fibonacci(i-1) + fibonacci(i-2)
  end do
  
  ! 输出斐波那契数列
  write (*, *) "斐波那契数列为:"
  write (*, *) fibonacci
  
  ! 释放内存
  deallocate(fibonacci)

end program Fibonacci

2.3 测试结果

以输入数字10为例,程序运行结果如下:

请输入要求的斐波那契数列的长度:
 10
斐波那契数列为:
           1.00000000       1.00000000       2.00000000       3.00000000       5.00000000
           8.00000000      13.00000000      21.00000000      34.00000000      55.00000000
          89.00000000

3. 用Fortran语言实现斐波那契数列:递归方式

用Fortran语言实现斐波那契数列,有两种方法,一种是递归(Recursion),一种是循环(Loop)。下面介绍用Fortran语言实现斐波那契数列:递归方式。

3.1 基本步骤

斐波那契数列,用递归方式实现,基本步骤如下:

  • 首先声明一个函数fibonacci,用于存储斐波那契数列;

  • 然后定义一个变量n,用于表示想要求的斐波那契数列的项数;

  • 在函数中,首先判断n的值,如果n<=2,则返回1;

  • 否则,就递归调用fibonacci函数,将n-1和n-2的值返回;

  • 返回的两个值,加起来就是斐波那契数列的第n项;

  • 最后输出斐波那契数列,就可以得到斐波那契数列了。

3.2 代码实现

以下代码以Fortran 95为例,实现斐波那契数列:递归方式

program Fibonacci
  implicit none
  integer :: n
  real :: fibonacci
  
  ! 读取用户输入的数字n
  write (*, *) "请输入要求的斐波那契数列的长度:"
  read (*, *) n
  
  ! 调用fibonacci函数,求出斐波那契数列的第n项
  fibonacci = fibonacci(n)
  
  ! 输出斐波那契数列
  write (*, *) "斐波那契数列的第", n, "项为:", fibonacci

contains 
  ! fibonacci函数:实现斐波那契数列:递归方式
  function fibonacci(n)
    implicit none
    integer :: n
    real :: fibonacci
    
    ! 如果 n <= 2,则返回1
    if (n <= 2) then
      fibonacci = 1
    
    ! 否则,返回n-1和n-2的和
    else
      fibonacci = fibonacci(n-1) + fibonacci(n-2)
    end if
  
  end function fibonacci
  
end program Fibonacci

3.3 测试结果

以输入数字10为例,程序运行结果如下:

请输入要求的斐波那契数列的长度:
 10
斐波那契数列的第 10 项为: 55.00000000

以上是关于一天一门编程语言Fortran 语言程序设计极简教程的主要内容,如果未能解决你的问题,请参考以下文章

一天一门编程语言Matlab 语言程序设计极简教程

一天一门编程语言Go 语言程序设计极简教程

一天一门编程语言R 语言程序设计极简教程

一天一门编程语言JavaScript 语言程序设计极简教程

一天一门编程语言Rust 语言程序设计极简教程

一天一门编程语言Lisp 语言程序设计极简教程