Microsoft PowerPoint - 03.Fortran程序设计基础1

Similar documents


2015年计算机二级(C语言)模拟试题及答案(三)

CC213

untitled

22.FIT)

*33*!!! "!! #$! %#! "& "! #! %! # ( ) * # +, # -, # +., $ /# ( ) 0 $ +# ( ) 0 $.# ( ) 0 $ # $! % "" " % 1 % & ( * ) * % " " %.! % 2!!"+# ( "&! " ( "#

科学计算的语言-FORTRAN95

没有幻灯片标题

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

教 案 ( 首 页 ) 课 课 编 号 结 构 力 学 总 计 :80 学 时 名 称 学 分 5 其 中 : 类 别 必 修 课 ( ) 选 修 课 ( ) 理 论 课 ( ) 实 验 课 ( 讲 课 :80 学 时 ) 实 验 : 学 时 任 课 教 师 曹 志 翔 职 称 副 教

第3章 Java语言基础

01

Microsoft PowerPoint - string_kruse [兼容模式]

【主持人】:给大家介绍一下,这次的培训是我们画刊部的第三次培训,当然今天特别有幸请来著吊的摄影家李少白老师给我们讲课


<4D F736F F D20A8ECABC8AE61C9DCEBD0EBD05FA4F1C1C95F2E646F63>

数据结构

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

2016 年 地 质 工 程 系 教 学 工 作 安 排 2016 学 年 我 系 将 在 总 结 过 去 工 作 的 基 础 上, 结 合 今 年 学 院 以 抓 质 量 强 内 涵 促 改 革 调 结 构 建 品 牌 细 管 理 重 过 程 为 宗 旨, 以 规 范 管 理 深 化 内 涵 为

<4D F736F F D203136BCADBBD8D2E4D3EBD1D0BEBF2E646F63>

萧山中学课程建设方案.doc


Microsoft Word - 9pinggb_A4.doc

Microsoft Word - 9pinggb_A4-f4.doc

理 论 探 索 事 业 单 位 改 革 的 五 点 思 考 余 路 [ 摘 要 ] 事 业 单 位 改 革 是 中 国 改 革 的 重 要 环 节, 其 影 响 力 和 难 度 不 亚 于 国 有 企 业 改 革 本 文 着 重 围 绕 推 进 事 业 单 位 改 革 应 考 虑 的 五 个 方 面

日 本 位 于 亚 洲 东 部, 太 平 洋 西 北 角, 是 我 国 东 方 的 一 个 岛 国 在 洪 积 世 ( 注 1) 的 大 部 分 时 期 内, 日 本 与 大 陆 相 连 大 约 在 洪 积 世 晚 期 至 冲 积 世 ( 注 2) 初 期, 日 本 各 地 发 生 海 进, 出 现

2深化教育教学改革、创新人才培养模式


Microsoft Word - 9pinggb_let.doc

实 习 上 下 点 表 格 解 释 和 相 关 纪 律 要 求 : 1 表 格 中 所 有 名 词 都 为 简 称, 包 括 医 院 名 称 四 年 级 五 年 级 各 专 业 名 称 等 所 有 时 间 都 为 学 生 装 好 行 李 出 发 时 间, 请 提 前 0 分 钟 将 行 李 运 到

3 基 金 杠 杆 从 分 级 基 金 的 概 念, 我 们 知 道 了 分 级 基 金 的 A 份 额 是 每 年 获 得 固 定 收 益 的 稳 健 份 额,B 份 额 是 具 有 杠 杆 效 应 的 激 进 份 额 分 级 基 金 中 的 杠 杆 一 般 有 三 类 : 份 额 杠 杆 =(A

简报158期.doc

Microsoft Word - 9pingb5_let.doc

退休權益.ppt [相容模式]

Microsoft Word - 1.《國文》試題評析.doc

Ps22Pdf

$%%& ()*+, %&, %-&&%%,. $ %,, $,, & /$- 0(1 $%%& %& 234 %-%, 5&%6&633 & 3%%, 3-%, %643 -%%% :::; 7<9; %-%, 3$%$ :::;

# $# #!# # # # # # # %# # # &# # # # #! "

zt

Microsoft Word - 09.數學 docx

里 再 说 吓 唬 了 孩 子, 肯 定 方 宁 不 忍 所 以 她 不 死 便 罢, 倘 若 死, 只 有 到 办 公 室 沈 若 鱼 冷 静 得 好 像 在 评 点 某 一 电 视 剧 中 的 女 主 角 你 说 她 是 怎 么 死 的? 先 生 又 感 惊 骇 吃 安 眠 药 沈 若 鱼 成

我眼中的好老师

硕士论文正文

ch02_Basic

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

untitled

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

PowerPoint Presentation

数值型常量数值型常量也就是常数 用来表示数量的大小 数值型常量由数字 ' 小数点和正负号构成 例如 )&'(+: & 等 有些很大或很小的数值型常量也可以使用科学记数法形式书写 例如 用 2(&+ 7 & 表示 2(&+ C ' & 用 &(+7: & 表示 &(+C ' : & 数值型数据在内存中

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

投影片 1

<4D F736F F F696E74202D A451A447A67EB0EAB1D0A74BB8D5A44ABEC7B8A8C249A4C0AA52BB50A7D3C440BFEFB6F1B5A6B2A4205BACDBAE65BCD2A6A15D>

<4D F736F F F696E74202D20312EB9FEB6FBB1F5B9A4D2B5B4F3D1A7D5E7C1BCA3BAC3E6CFF2D1D0BEBFC9FAB8B4CAD4B5C4BDE1B9B9BBAFC3E6CAD4BFBCBACBCCBDCBF7D3EBCAB5BCF92E BBCE6C8DDC4A3CABD5D>

以 关 爱 和 感 恩 为 主 题 的 生 活 建 构 教 育 Love-based & Gratitude-centered life-building emphasis 引 导 青 春 叛 逆 期 的 中 小 学 生 正 确 理 解 父 母 之 爱, 体 谅 父 母, 尊 敬 老 师, 学 会

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

第 一 节 科 研 设 计 的 主 要 内 容 确 定 研 究 对 象 设 对 照 组 随 机 分 组 确 定 观 察 指 标 2

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

epub 94-3

设计模式 Design Patterns

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

玉田國小100學年度上學期品德教育月主題

彩圖 6 彩圖 7 彩圖 8 3

C++ 程式設計

Microsoft Word - 11月電子報1130.doc

例 度 讀 讀 不 不 來 念 來 了 讀 不 不 讀 不 讀行 利 了 說 更 了 讀

的 水 準 (2) 與 同 儕 比 起 來 也 處 於 落 後 情 形 者 以 及 (3) 學 科 成 就 明 顯 落 後 者 三 類 型 ( 張 新 仁, 2001) 實 際 操 作 上, 目 前 我 國 所 篩 選 之 學 業 低 成 就 對 象, 乃 以 某 科 目 成 績 為 原 班 級 後

<453A5CC2EDC0F6C5C5B0E6CEC4BCFE5CC3F1B7A8A1A4C9CCB7A8A1A4C3F1CAC2CBDFCBCFB7A8D3EBD6D9B2C3D6C6B6C8D5AACEC4BCFE574F52445CB9D9B7BDD0DEB6A9B5E7D7D3B7FECEF1A3A8A1B6C3F1CBDFBDE2CACDA1B7BACDA1B6C1A2B7A8B7A8A1B7A3A92E646F63>

Microsoft Word - template.doc

2015年计算机二级(C语言)模拟试题及答案(四)

/ / (FC 3)...

Microsoft Word - ch04三校.doc

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义



STRUCT Tag OptTag ID Tag ID 7..4 Declarators VarDec ID VarDec LB INT RB FunDec ID LP VarList RP ID LP RP VarList ParamDec COMMA VarList ParamDec Param

3.1 num = 3 ch = 'C' 2

ccsun33 [u /fortran]% f77 filename.for 这个指令使用 f77 的 compiler, 其中 filename.for 就是我们所编写的 FORTRAN 程序档案 ccsun33 [u /fortran]% f90 filename.for

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

九十一學年度第二學期高屏區東方、大仁、美和、永達、高苑、和春、樹人、慈惠技專校院五年制專科部聯合招收一、二、三、四年級轉學生 簡章

婚姻與生育初探

經濟部工業局食品GMP黃豆加工產品合格產品清單

前 言 中 国, 你 三 明 治 了 么? 做 中 国 三 明 治 这 个 网 站 改 变 了 我 的 生 活 这 是 在 这 本 中 国 三 明 治 一 周 年 精 华 本 前 言 我 最 想 说 的 一 句 简 单 的 话 去 年 的 此 刻, 我 还 西 装 革 履 地 坐 在 写 字 楼 里

竞赛报名与报名审核

Microsoft Word ZLI12A0

PowerPoint Presentation

58 四 川 成 都 成 飞 餐 厅 四 川 省 成 都 市 青 羊 区 成 飞 大 道 优 玛 特 超 市 1 楼 59 四 川 成 都 骡 马 市 四 川 省 成 都 市 青 羊 区 人 民 中 路 二 段 28 号 附 3 号 60 四 川 成 都 通 惠 门 餐 厅 成 都 市 青 羊 区

FY.DOC

untitled

编译原理与技术

python内存管理

Perl

( )

Microsoft Word - 第1篇(1-6).DOC

chap07.key

<4D F736F F D F F315FAAFEA5F333AAF9B645C2E5C0F8AA41B0C8C249BCC6B24DB3E6B443C5E9A5D3B3F8AEE6A6A12E646F63>

3. 反 映 : 4. 五 花 八 门 : 5. 慷 慨 : 6. 参 与 : 7. 慰 劳 : 8. 延 续 : 9. 珍 爱 : 10. 浪 漫 : 三. 找 出 下 列 每 组 词 中 的 近 义 词 或 同 义 词 : 节 日 节 气 节 令 时 节 习 俗 民 俗 仪 式 风 俗 文 献

2

ThreeDtunnel.doc

Transcription:

简单 Fortran 90 程序的构造形式 : 第二讲 Fortran 程序设计基础 (2) [PROGRAM 程序名 ] [ 声明语句 ] [ 执行语句 ] END [PROGRAM [ 程序名 ]] 程序的书写 (P5) PROGRAM MONEY!calculate balance after interest compounded! 根据利息计算余额 REAL BALANCE, INTEREST, RATE BALANCE = 1000 RATE = 0.09 INTEREST = BALANCE * RATE BALANCE = BALANCE + INTEREST PRINT*, 'New balance:', BALANCE } 声明区 } 执行区 字符集 (character sets) 允许出现在一个语言的程序里的字符的全体 26 个大写字母 :A ~ Z 26 个小写字母 :a ~ z 10 个数字 : 0 ~ 9 下划线 : _ 5 个运算符号 : + - * / (**) 特殊字符 : () =., ; : $! % & < >? 空格 END PROGRAM MONEY 终止区 1

标识符 常数和变量 Constant and Variables 给变量 常量 函数等标识符命名时, 必须以字母开头, 后面可接多达 30 个字母 (A~Z a~z) 数字 (0~9) 或下划线 (_) 只能以字母开头 ; 不能含有空格 ; 不区分字母大小写 ; 长度限定为 31 个字符 (Fortran 77 为 6 个字符 ); 避免与关键字 标准例程重名 常数的值在整个程序执行过程中不发生改变 变量可以在程序执行过程中改变它的值 每个变量必须有一个独一无二的名字 变量名最长可以有 31 个字符, 包括字母 数字 下划线 ( _ ) 变量名的第一个字符必须是字母 不能含有空格 不区分大小写 不能与关键字 变量名 (Variable name) 变量 有效的变量名 my_time distance z123456789 long_axis_of_elliptic_circle 无效的变量名 This_is _a_very_long_variable_name 3_day A$ my-help exchange rate 以整型变量为例 : integer a a 为自己取的变量名称, 代表一个存储整数的空间位置, 成为变量 声明后可以通过该名称来赋值或提供变量内容 : 1. program example 2. integer a, b! 声明两个整型变量 a,b 3. a = 3! 将 3 赋给变量 a 4. b = a ** 2! 将变量 b 设定为 a**2, 即 3**2 5. print *, a=, a! 输出变量 a 的内容 6. print *, b=, b! 输出变量 b 的内容 7. stop 8. end example 2

语句 (Statement) 语句是 Fortran 程序的基本单位, 一条语句可包含 0~ 132 个字符 ; 除赋值语句外, 所有的语句都从一个关键字开始 ; 一般情况下, 每行一条语句 ; 如果一行有多条语句, 它们之间以分号分隔, 如 : A=1; B=2; C=3 假如一条语句一行写不完, 允许出现续行, 但要求被续行最后的非空白字符为 & 续行从下一行 ( 非注释行 ) 的第一个非空白字符开始, 如果下一行的非空白字符为 &, 则续行从该字符后的第一个字符开始 Fortran 90 允许出现多达 39 个续行 赋值语句 等号意义 : 代表将右边的数值或计算结果赋给左边变量 a = 1 x1 = (-b+sqrt(b*b-4.*a*c))/(2.*a) a = a * b a = b / a 其它语句 数据类型 Print *, x1 If else End 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 ) LOGICAL 自定义数据类型 ( 派生数据类型 ) 3

INTEGER(1) INTEGER(2) INTEGER(4) 之陳 INTEGER(8) 印斌 整型 (INTEGER) 整型变量 INTEGER I INTEGER([KIND=]n) I n=1, 2, 4, 8 字节 1 byte (8 bits) 2 bytes (16bits) 4 bytes (32 bits) 8 bytes (64 bits) 取值范围 -128~127-32768~32767-2147483648~ 2147483647-9223372036854775808~ 9223372036854775807 备注 2 7 2 15 2 31 2 63 INTEGER*1 a INTEGER*2 b INTEGER*4 c! F77 传统作法 整数的存储 整型 (INTEGER) HUGE 获得取值范围的上限 (P9) 2 7 PROGRAM limit INTEGER I, Big, Small 2 15 Big = HUGE(I) Small = HUGE(I) + 1 2 31 PRINT*, 'Largest number is : ', Big PRINT*, 'Smallest number is : ', Small 2 63 END Fortran Help - HUGE 4

整型 (INTEGER) 整型常量 一般的文字整型变量, 其种类参数取缺省值 ; 也可显式声明种类参数, 如 47_2 其一般形式 :[s]n[_k] s: 正负号 n:0~9 的数字 k: 种类参数 整数之间的除法, 结果也是整数! 如果不能整除, 小数部分无条件舍去! 如 :a=3/2: a=1 a=1/2 a=0 REAL(4) 之陳 REAL(8) 印斌 实型 (REAL) 实型变量 REAL X REAL([KIND=]n) X n=4, 8 DOUBLE PRECISION X 字节 4 bytes (32 bits) 8 bytes (64 bits) 取值范围 ±1.1754944E-38~ ±3.4028235E+38 ± 2.225073858507291E-308~ ± 1.797693134862316E+308 备注 2-126 ~(1-2 -24 ) * 2 128 单精度 双精度 双精度实数相当于 REAL(8), 不能再为它规定种类参数 REAL*4 c REAL*8 c! F77 传统作法 5

实数的存储 实型 (REAL) REAL(4) PROGRAM limitreal REAL(4) X, Big, Small, pre, index Big = HUGE(X)! 取上限 Small = TINY(X)! 取下限 pre = PRECISION(X)! 精度函数 REAL(8) index = RANGE(X)! 指数范围函数 PRINT*, 'The largest number is : ', Big PRINT*, 'The smallest number is : ', Small PRINT*, 'The precesion of real type variable is : ', pre END PRINT*, 'The largest index of real type variable is : ', index 实型 (REAL) 实型常量 带小数点的任何数 : 3 3. -999.9 不带指数的实型常量 : [s]n[_k] -6.48 3.1415926_8 带指数的实型常量 ( 科学计数法 ): [s]ne[s]m[_k] 1.0E6 5.3E-9_8 [s]nd[s]m 1.0D6 以 D 表示的实数不能再带种类参数 单精度 REAL(4) 有效位数为 6-7 位, 注意可能存在如下问题 : a = 1000000. + 0.1 a = 1000000. 常见错误, 大数加小数! 6

EXAMPLE 复数型 (COMPLEX) program usual INTEGER A REAL B 复数型变量 COMPLEX Z COMPLEX([KIND=]n) Z n=4, 8 A = 3/2 B = 1000000. + 0.01 取值范围 备注 END PRINT*, 'A=', A, 'B=',B COMPLE X(4) COMPLE X(8) 8 bytes (64 bits) 16 bytes (128 bits) ±1.1754944E-38~ ±3.4028235E+38 ± 2.225073858507291E-308~ ± 1.797693134862316E+308 复数型 (COMPLEX) 复数型 (COMPLEX) 复数由实部和虚部组成,z=x+yi,x 为实部,y 为虚部,x y 皆为实型变量 设定 z = (x, y)! a = x + iy z = (1.5, 2.5)! a = 1.5 + 2.5i z = 1.5! a = 1.5 + 0i COMPLEX*8 COMPLEX*16! F77 传统作法 复数型变量 (r, i) 复数型常量的类型参数, 取实部和虚部的实数种类参数的极大值 KIND((1, 1.0)) =? KIND((3_8, 4_4)) =? KIND((1_2, 2_8)) =? KIND((1.0, 1.0_8)) =? KIND((1.0D3, 2.5)) =? 7

复数的存储 Complex(4) Complex(8) 逻辑型 (LOGICAL) 逻辑型变量 LOGICAL L LOGICAL([KIND=]N) L N=1, 2, 4, 8 逻辑型常量.TRUE.( 逻辑真 ).FALSE.( 逻辑假 ) Example 字符型 (CHARACTER) program logicexample end logical a,b a =.true. b =.false. write(*,*) a, b 字符型变量 CHARACTER [([LEN=]len)] CHARACTER [([LEN=]len [, [KIND=]n])] CHARACTER [(KIND=n [, LEN=len])] 字符串有两个可选参数 : 长度参数 种类参数 种类参数总是 1, 即一个字符占一个存储字节 假如两个可选参数都没给出, 缺省值取 1: character c 若只给出一个参数, 则代表长度参数 :character(20) c 若给出两个参数, 则依次为长度参数和种类参数 ( 种类参数智能为 1):character(20, 1) c 若采取关键字声明形式, 则参数的顺序可以任意 : character(kind=1, LEN=20) c 8

字符型 (CHARACTER) 字符型 (CHARACTER) 字符型常量 统一以单引号 ( ) 或双引号 ( ) 为界定符 [k_] ch (k 为种类参数, 只能为 1) [k_] ch Ch:Fortran 字符集之内或之外的字符, 字符的个数为字符串的长度 This is a typical character variable! 中文字符也是当然的字符串! 字符型常量 Today s date is 2007-05-14 用连续的两个界定符表示与其相同的字符 界定符必须统一, 要么都是单引号, 要么都是双引号 a= Hello! FOTRAN 90 可以用双引号界定字符串 b= Hello! FOTRAN 77 只能用单引号界定字符串 c= That s right.! 用双引号界定字符串, 可以在字串中任意使用单引号 d= That s right! 用单引号界定字符串时, 输出单引号要连续使用两个单引号 e= That s right.! 用双引号界定字符串时, 输出双引号也要连续用两个双引号 字符串中字符的最大数量 :32767 Example CHARACTER*10! F77 传统作法 program charexample character(len= 6) first character(len=10) second character(len=20) add character(len=30) c c = "That s right." c = 'That"s right' c = "That's""right""." print*, c first="happy " second="birthday" add = first//second! 两个连续的除号可以连接两个字符串 write(*,*) add end 9

Example2 数据类型 1.program charexample2 2. character(len=20) string 3. string = "Good morning." 4. write(*,*) string 5. string(6:) = evening.! 重新设定第 6 个字符以后的字符串 6. write(*,*) string 7.end 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 ) LOGICAL 自定义数据类型 ( 派生数据类型 ) 10