Fortran语言

Fortran语言

1、学习Fortran语言语法

一些注意事项

impicit none的内涵
!为注释
integer(kind=1,2,4,8),real …
read( * , * )后面没有逗号 ,read *, write( * , * )后面有逗号 , print *
/=表示不等于,没有!=
** 运算为求幂

参考教程,函数部分在Fortran过程部分

2、求两个数的最大值

命名格式:max_fortran.f90

Program maxnum
Implicit none
      integer(kind=4) :: A=0,B=0
      read(*,*) A, B
      if(A > B) then
        write(*,*) A
      else
        write(*,*) B
      end if
End Program maxnum

3、对任意自然数n,设计一个求n的各位数字的立方和的函数子程序F(n)(如F(121)=13+23+13=1+8+1=10),并调用F(n)求1000以内的所有水仙花数(当一个数各个数位的立方和等于这个数本身时,称这样的数为水仙花数)

flower.f90

program main
  implicit none
  integer(kind=4):: x
  integer F
  read(*, *) x
  print *, F(x)
end program

integer function F(x)
  implicit none
  integer :: x
  integer, parameter :: N = 3
  integer(kind=4) :: num = 0
  !求余不等于0,除以10不小于0
  do while( mod(x,10) /=  0 .and. x/10.0 > 0.00)
    !print*, x/10
    num=num+mod(x,10)**N
    x=x/10
  end do
  !print*, x/10
  F=num

end function


end function

4、二维数组运算,包括加、减、乘、乘逆

op.f90

program main
  implicit none
  integer(kind=4) ::  x,y
  character :: op
  real :: num  
   print *, "请输入运算式"
   read(*,*) x,op,y
   select case (op)
      case('+')
              print *,x+y
      case('-')         
              print *,x-y
      case('*')        
              print *,x*y
      case('/')        
              print *,x/y
      case('^')       
              if(y>0)then 
                print *,x**y
              else
                num = 1.0/x**(-y)      
                print *,num
              end if 

    end select
end program

5、一些学习记录

参考视频
强变量类型语言
IN规定类型ijklmn为整型,其他为 实型
(视频的观点,本人只了解浅表知识)IN很讨厌建议每个程序但与使用implicit None

因为Linux环境的原因,故决定学习gdb调试fortran
参考 fcode 网站视频

编译时加 -g m32表示32位编译器gfortran -g simp.f90 -m32 -o x.exe
更简单gfortran -o max_fortran max_fortran.f90

参考教程

简单调试gdb x.exe
-g生成可调试执行文件gcc -g max.c -o max
b 6在第6行设置断点breakpoint
r运行调试
c继续走
n向下再走一步
q退出

在这里插入图片描述

新学习到的一些命令使用方式cat -n filename显示行数
  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值