📜  Fortran-决策(1)

📅  最后修改于: 2023-12-03 15:30:51.007000             🧑  作者: Mango

Fortran 决策

Fortran (Formula Translation) 是一种面向科学和工程计算的编程语言,由 IBM 公司开发。它的历史可以追溯到20世纪50年代,是一种非常成熟的语言。在科学、工程、金融等领域中,Fortran仍然是非常流行的编程语言之一。

决策语句

在编程中,决策语句是一个非常基本和重要的概念。它用于根据某些条件执行不同的操作。在Fortran中,常见的决策语句有 IF、SELECT CASE 和 WHERE。

IF 语句

IF 语句是最常用的决策语句之一。它的基本语法如下:

IF (condition) THEN
    statement
ELSE
    statement
END IF

上面的条件可以是一个逻辑表达式,当其为 true 时,执行第一个语句;否则,执行第二个语句。

下面是一个简单的 IF 语句的例子:

program if_example
    implicit none
    integer :: a = 5

    if (a > 10) then
        write(*,*) "a is greater than 10"
    else
        write(*,*) "a is less than or equal to 10"
    end if
end program if_example

上面的程序中,如果a大于10,则输出"a is greater than 10";否则输出"a is less than or equal to 10"。

SELECT CASE 语句

SELECT CASE 语句是另一种常用的决策语句。它用于根据不同的条件执行不同的操作。其基本语法如下:

SELECT CASE (expression)
    CASE (value1)
        statement
    CASE (value2)
        statement
    ...
    CASE DEFAULT
        statement
END SELECT

上面的expression可以是一个算术表达式或一个字符表达式。当expression等于value1时,执行第一个语句;当其等于value2时,执行第二个语句;以此类推。如果expression的值都不等于任何一个value,那么就执行默认语句。

下面是一个简单的 SELECT CASE 语句的例子:

program select_case_example
    implicit none
    integer :: a = 2

    select case (a)
        case (1)
            write(*,*) "a is 1"
        case (2)
            write(*,*) "a is 2"
        case default
            write(*,*) "a is neither 1 nor 2"
    end select
end program select_case_example

上面的程序中,因为a等于2,所以输出"a is 2"。

WHERE 语句

WHERE 语句是Fortran 90中引入的一种语句。它用于根据条件对数组的元素进行操作。其基本语法如下:

WHERE (condition)
    array = expression
END WHERE

上面的condition可以是一个逻辑表达式。当其为 true 时,对数组array中满足condition的元素进行操作,将其设置为expression的值。

下面是一个简单的 WHERE 语句的例子:

program where_example
    implicit none
    integer :: a(5) = [1, 2, 3, 4, 5]
    integer :: b(5)

    where (a > 3)
        b = a**2
    end where

    write(*,*) b
end program where_example

上面的程序中,对于a中大于3的元素,将b中对应的元素设置为a的平方。因此输出的结果为[0 0 0 16 25]。

结论

Fortran 不仅是一种历史悠久的编程语言,也是一种功能丰富、灵活多样的语言。决策语句是其基本的概念之一,IF、SELECT CASE 和 WHERE 三种语句都非常常用。掌握这些语句对于编写高质量的代码非常重要。