Chapter 模組 台灣師範大學數學系 黃聰明.

Slides:



Advertisements
Similar presentations
营养学基础知识 Chapter 1. 了解几个概念 营养 营养素 食品(区分:人参、当归、 红枣、枸杞)
Advertisements

第2章第2章 第 1 节 生物与非生物. [ 猜谜语 ] 名字叫做牛, 不会拉犁头; 说我力气小, 背着房子走。 ( 打一动 物)
第七章 营养配餐 【知识目标】 ①了解中国居民膳食指南,知道食谱编制理论和方法。 ②掌握食谱编制的基本原则,理解食谱编制的步骤。
少年儿童营养配餐与饮食安全 科学饮食为孩子的未来积攒本钱.
說 劍 《莊子‧雜篇》─ 第 一 組 賴泊錞 謝孟儒 張維真 羅苡芸
母婴护理与保健 孕妇培训课程 胎儿保健 聊城职业技术学院 王守军.
大學入學考試中心 九十六學度學科能力測驗試題 國文科 -哈利波特番外篇-
庄国洪 Tel: (O) 免疫与健康 庄国洪 Tel: (O)
第四章:长期股权投资 长期股权投资效果 1、控制:50%以上 有权决定对方财务和经营.
性教育教學模組設計 主題:身體自主權 台中市忠明國小 巫偉鈴.
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
Demo-dataSource與DropDownList
8.1 動量與動量變化 E 熱 身 何謂動量? 動量與力 進度評估 1 撞 擊 進度評估 2 ? ? 8.1 動量與動量變化.
CHAPTER 6 動量守恆與其應用 第一節 動量與衝量 第二節 動量守恆 第三節 碰撞.
整体销售方案 中山市美好物业代理有限公司
肖 冰 深圳市达晨创业投资有限公司 副总裁 深圳市达晨财信创业投资管理公司 总裁
可爱的蜗牛 一、蜗牛冬眠 二、蜗牛进食 三、蜗牛排泄 四、蜗牛呼吸.
情緒與壓力管理 手部舒壓運動 第六組.
臺中市頭家國小 生理衛生講座 青春期的奧秘 ‧說到青春期,你會想到? ‧班級表現最好的,有獎徵答有優先權。 葉孟娟老師、黃文玲老師.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
PPP规范性文件的解读 主讲人:王周欢 2016年4月.
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
1. 民主社會裡,公民的參與有其重要性,而透過政治參與無法達成下列哪一項目的?
第四章 营养状况评价.
第四章:代谢与平衡 第一节:食物与营养.
食品营养成分的检验. 食品营养成分的检验 科学探究的一般过程: 形成假设 设计方案 收集数据 表达交流 处理信息 得出结论 探究:馒头和蛋糕中是否含有淀粉和脂肪 假设:馒头和蛋糕中含有淀粉和脂肪.
五-4 台灣的生活禮俗 組員:603 15號 黃醴萬 6號 吳家熙 5號 楊証傑 11號 李偉新.
Chapter 4 流程控制.
第四章 时间序列的分析 本章教学目的:①了解从数量方面研究社会经济现象发展变化过程和发展趋势是统计分析的一种重要方法;②掌握时间数列编制的基本要求;③理解和掌握水平速度两方面指标的计算及运用④理解和掌握长期趋势分析和预测的方法。 本章教学重点:现象发展的水平指标和速度指标。 本章教学难点:现象变动的趋势分析。
我的心得報告 經過篩選,挑中我們 十多位學生由學校推薦進入公司,開始他們的學習之旅 學習的過程中有想像不到的意外驚喜
一、液压与气压传动的控制元件分类 1、按用途分类 根据控制元件在系统中的作用,可分为下几类: 方向控制阀 压力控制阀 3) 流量控制阀
第1节 光的干涉 (第2课时).
CHAPTER 5 現值法 工程經濟學 Chapter 5 現值法. CHAPTER 5 現值法 工程經濟學 Chapter 5 現值法.
第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案. 第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案.
算法和程序设计 第4课 分支结构的算法设计 •.
第9章 运行时的存储组织 重点:符号表的内容、组织,过程调用实现, 难点:参数传递,过程说明语句代码结构,
第十三章 收入和利润.
狂賀!妝品系同學美容乙級通過 妝品系三甲 學號 姓名 AB 陳柔諺 AB 陳思妤 AB 張蔡婷安
行行重行行,與君生別離。 相去萬餘里,各在天一涯。 行行重行行:走了一程又一程 生別離:在有生之年分離 語出楚辭:「悲莫悲兮生別離,
第八章 符号表 符号表的作用: 一致性检查和作用域分析; 辅助代码生成..
第五章 数 组 Fortran 90数组的特点: *** 可以逐个元素对数组进行操作,也可以对数组整体、数组段直接进行操作;
建立VB.NET應用程式 資管系 助理教授 詹曉苓.
陳維魁 博士 儒林圖書公司 第七章 參數的傳遞 陳維魁 博士 儒林圖書公司.
副程式 將可以重複使用的程式區塊獨立而成 寫在Private Sub 函數名稱() 副程式碼 End Sub 呼叫副程式
如何寫工程計畫書 臺北市童軍會考驗委員會 高級考驗營 版.
笫11章指针 指针是现代程序设计语言中一个非常重要的概念,它使语言的功能大大加强。FORTRAN90以前的FORTRAN版本,没有指针这种数据类型,FORTRAN90对其作了重大改进,引入了指针的概念。但是值得注意的是,FORTRAN90的指针与C语言中的指针并不相同,因为它并不代表一个变量的地址,而是代表一个变量的别名,实质上它相当于C++里的引用,本章介绍指针的概念与应用。
Chapter 2 Basic Elements of Fortran
程式語言Visual Basic 傳址與傳值
3.5 用递归法解决问题 黄学鸿.
Visual Basic程序设计.
第4章 常量和变量 常量和变量都是程序中预留的用于保存数据的内存空间。常量的值在程序运行过程中始终不会发生变化。而变量的值在程序的运行过程中是可以变化的。在Fortran语言中,有五种基本的数据类型可供使用。他们分别是整型(INTEGER)、实型(REAL)、复型(COMPLEX)、字符型(CHARACTER)和逻辑型(LOGICAL)。按用途,又可以分数值型、字符型和逻辑型三种。相应的常量和变量也可以分为这三种。本章将按照用途介绍常量和变量的基本概念。
產品語意 班級:夜四技產設三甲 學生:鄭舜鴻 學號:9A01C023 指導教師:唐蔚.
暴力、草莽、土野、情色、權慾 —華西街的成人童話
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
青眼究極龍 之 賓果連線 簡豪天、宋華敏製作.
刑事訴訟法 不受理.
Chapter 指標.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
例題:某人由地面同時向空中拋出 A、B 兩球,A 球之初速為 vA,仰角為 θA,B 球則為 vB 及 θB,且 θA > θB。設兩球在同一水平面內運動,而且所達到的最大高度也相同,則下列敘述何者為正確? (A) vA > vB (B) A 球之水平射程較 B 遠 (C) 兩球同時到達最高點.
大綱:整數的加法 整數的減法 蘇奕君 台灣數位學習科技股份有限公司
第九章 运行时存储空间组织 网上教学系统: : 编译原理
第14章 基本数值算法举例 数值计算是Fortran语言的强项,也是Fortran语言发明者的初衷。本节主要介绍在计算机程序设计语言学习中经常遇到的一些基本数值算法。目的在于加深对Fortran语言的理解和分析,解决问题的一般思路,并希望通过这些例程介绍一些代码编写方面的技巧。
西式點心 派的種類 單皮派 雙皮派 油炸派 派的製作 派的烤焙.
线段 射线 直线.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
三 顺序结构程序设计 厦大附中信息技术.
厉害了,我的国! 15会计2班团支部 2018年4月20日.
程序调试与错误处理.
104學年度第二學期 燈音開課 03/14燈光開課.
99 教育部專案補助計畫案明細 大類 分項 教育部補助 學校配合款 工作項目 計畫主 持人 執行期限 文號 備註 設備費 業務費 管理學院
Presentation transcript:

Chapter 模組 台灣師範大學數學系 黃聰明

M-1 Public and Private 程式說明 module test implicit none private var_1 public var_2,sub_1 integer :: var_1,var_2 ... contains subroutine sub_1 … end module test 將模組內的變數或函式定義成只能在此模組內使用的變數或函式 內定的狀態為 public 將模組內的變數或函式定義成可以對外界公開使用的變數或函式 函式要放在contains中

M-1 Public and Private < Ex0M01. 完整程式> <接下頁> module bank    implicit none    private money    public LoadMoney, SaveMoney, Report    integer :: money = 1000000    contains       subroutine LoadMoney(num)           implicit none           integer :: num           money=money-num           return       end subroutine < Ex0M01. 完整程式> <接下頁> 變數 money 只能在 module bank 中使用,主程式中不能使用 money 變數 將 LoadMoney, SaveMoney, Report 定義成可以對外界公開使用的函式

M-1 Public and Private < Ex0M01. 完整程式> <接下頁>       subroutine SaveMoney(num)          implicit none          integer :: num           money=money+num           return       end subroutine subroutine Report()          write(*,"('銀行目前庫存',I,'元')") money          return end module bank < Ex0M01. 完整程式> <接下頁>

M-1 Public and Private < Ex0M01. 完整程式> < Ex. 執行結果> program ex0M01    use bank    implicit none    call LoadMoney(100)    call SaveMoney(1000)    call Report()    stop end program ex0M01 < Ex0M01. 完整程式> < Ex. 執行結果> TEST

M-2 USE 更改模組中變數名稱 use指令後面,可以臨時把 module 裡面的變數或函式名稱改名 module A implicit none integer :: va end module A module B integer :: va, vb end module program main use A, aa=>va use B ... use指令後面,可以臨時把 module 裡面的變數或函式名稱改名 把 module A 中的變數 va改名為 aa 來使用,若不使用 “use A, aa=> va”,module A 和 module B 都同時擁有名稱為 va 的變數,在主程式中同時使用這兩個 module 時,會出現變數名稱重複的問題

M-2 USE 只使用模組中的某些變數 use指令後面,可以臨時只選擇 module 裏面所需之變數或函式 module A implicit none integer :: va, vb, vc end module module B integer :: va, vb program main use A, only : vc use B ... use指令後面,可以臨時只選擇 module 裏面所需之變數或函式 只用 module A 中的變數 vc,其他 va 和vb 變數都不使用,因此不會與 module B 中的va 和vb 變數衝突

M-2 USE 合併使用 use指令後面,可以臨時 只選擇 module 裏面所需之變數或函式並名稱改名 module A implicit none integer :: va, vb, vc end module module B integer :: va, vb program main use A, only : c => vc use B ... use指令後面,可以臨時 只選擇 module 裏面所需之變數或函式並名稱改名 只用module A 中的變數 vc,不過把 vc 改名成 c 來使用

M-2 USE < Ex0M02. 完整程式> <接下頁> module MA implicit none real :: a,b contains subroutine getx() write(*,"('x=',F5.2)") -b/a return end subroutine end module < Ex0M02. 完整程式> <接下頁>

M-2 USE < Ex0M02. 完整程式> <接下頁> module MB use MA implicit none real :: c contains subroutine getx2() real :: a2, d, sqrt_d a2=2*a d=b*b-4*a*c if ( d>=0 ) then sqrt_d = sqrt(d) write(*,"('x=',F5.2,',',F5.2)")(-b+sqrt_d)/a2, (-b-sqrt_d)/a2 < Ex0M02. 完整程式> <接下頁>

M-2 USE < Ex0M02. 完整程式> < Ex0M02. 完整程式> <接下頁> else write(*,*) "無實數解" end if return end subroutine end module < Ex0M02. 完整程式> <接下頁> subroutine sub1() use MA implicit none a=2.0 b=3.0 call getx() return end subroutine < Ex0M02. 完整程式> <接下頁>

M-2 USE < Ex. 執行結果> < Ex0M02. 完整程式> < Ex0M02. 完整程式> TEST subroutine sub2() use MB implicit none a=1.0 b=4.0 c=4.0 call getx2() return end subroutine < Ex0M02. 完整程式> program main implicit none call sub1() call sub2() end program < Ex0M02. 完整程式>

M-3 Interface Overload Overload subroutine 在程式碼中可以同時擁有多個名稱相同,但是參數型態、 數目不同的函式,程式會自動根據傳入的參數,來決定 要呼叫哪一個函式 Overload subroutine 在 module 中使用 interface,可以用來定義一個虛擬的 函式名稱

M-3 Interface < Ex0M03. 完整程式> <接下頁> module MA implicit none interface show module procedure show_int module procedure show_character end interface contains subroutine show_int( n ) integer, intent(in) :: n write(*,"('n=',I3)") n return end subroutine show_int < Ex0M03. 完整程式> <接下頁> 虛擬的函式名稱show

M-3 Interface < Ex0M03. 完整程式> <接下頁> subroutine show_character( str ) implicit none character(len=*), intent(in) :: str write(*,"('str=',A)") str return end subroutine show_character end module < Ex0M03. 完整程式> <接下頁>

M-3 Interface < Ex. 執行結果> < Ex0M03. 完整程式> TEST program main use MA implicit none call show_int(1) call show(1) call show_character("FORTRAN 95") call show("FORTRAN 95") stop end program < Ex0M03. 完整程式> 參數是整數, 會自動選擇呼叫show_int 參數是字串, 會自動選擇呼show_character