一天一门编程语言Fortran 语言程序设计极简教程
Posted 禅与计算机程序设计艺术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一天一门编程语言Fortran 语言程序设计极简教程相关的知识,希望对你有一定的参考价值。
文章目录
Fortran 语言程序设计极简教程
Fortran 是一种高级编程语言,它主要用于科学计算和数学计算,也可以用于开发商业应用程序。本教程将向您展示如何使用 Fortran 语言来编写程序。
一、Fortran 语言的基本语法
1.1 注释
Fortran 语言中的注释以 !
开头,例如:
! This is a comment
1.2 标识符
标识符是用于标识程序中的变量、函数、常数等的名称。Fortran 语言中的标识符需要遵守以下规则:
- 标识符只能由字母、数字和下划线组成,且不能以数字开头。
- 标识符的长度不受限制,但最好不要超过 6 个字符。
- 标识符是区分大小写的。
1.3 变量
Fortran 语言中的变量分为三类:
- 整型变量:用于存储整数值,例如
i
、j
、k
等。 - 实型变量:用于存储实数值,例如
x
、y
、z
等。 - 字符型变量:用于存储字符串,例如
str
、name
等。
除此之外,Fortran 语言中还有其他类型的变量,例如指针变量、数组变量、结构体变量等。
1.4 语句
Fortran 语言中的语句可以分为以下几类:
- 控制语句:用于控制程序的流程,例如
if
、do
、while
等。 - 赋值语句:用于给变量赋值,例如
x = 10
、y = 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 语言程序设计极简教程的主要内容,如果未能解决你的问题,请参考以下文章