科学计算与程序设计
• 编译过程
编译运行
– 程序员(Programmer)编写程序源代码(Source Code)
– 编译器(Compiler)把源代码转换为可被计算机理解的 机器代码(Machine Code),并把机器代码以可执行 文件(Executable File)的形式保存在磁盘上
• 软件的运行
– 计算机把机器代码读入到内存(Memory),由CPU运 行这些代码,读取输入(Input),产生输出 (Output),完成程序员预定的功能
• 系统语言 主要代表:C语言,用于开发UNIX操作系统。
程序设计语言举例
机器语言 汇编语言 BASIC语言 Fortran90语言
• 计算1+1
机器语言
10111000 00000001 00000000 00000101 00000001 00000000
汇编语言
MOV AX, 1
10111000 00000001 00000000
其的构成
程序 语句
子,
词
词、常量、
变量、函数
程序设计语言四个飞跃 3.第三次飞跃:由80年代初期的面
4向21..第第四二一次次飞飞跃 跃::2从01世9纪4697到0年 19代56的出年现 10过年程的程序设计,跨越到80年代 Jav的a 结构化程序设计语言Ada、C 言的、于的面的P出向时ro现对间lo标象,g、志编计P着程算a单,机sc机出语al语现言、言了从Sm向最Ca+网初l+lT络的、al语基k M 。的二L、跨进越制,的出语现言了发第展四到次可飞以跃编。译的 语 Perl、Postscript等与自然更接 近言的。
科学计算与程序设计
科学流程
实际
预期
发现问题
科学计算与程序设计
解决问题 发表新知 解决问题 发表新知 生成预期
举例
• 参考教材
– 《Fortran 77结构化程序设计》谭浩强,清华大学出版社 – 《Fortran 95程序设计》彭国伦,中国电力出版社 – 《IDL可视化工具入门与提高》闫殿武,机械工业出版社,2003
• 教学目标
– 掌握编程方法和技巧,拓展程序设计的思路,提高学生计算机的 使用能力,服务于后续的科研工作
• 教学内容和课时安排(50+20) –Fortran 90/95程序设计 (30+12)
结构化程序设计 (16+6) 面向对象程序设计 (8+4) 并行程序设计 (6+2)
–IDL 程序设计(20+8)
基本语法和编程基础 (12+4) 图形显示输出(6+2) 读写数据 (2+2)
成绩考核
• 基本原则:少负担,多收获,好成绩 • 平时作业:基本没有 • 上机实验:内容充实,富有价值 • 上机考试:70%,5次平均 • 书面考试:30%,闭卷,6月13日(预)
第1章 Fortran 语言概 述
3. 在计算领域,即程序设计语言。
语言的种类
• 自然语言(Natural Language) 诸如:汉语、英语、法语、俄语、日语... ...
• 人工语言(Artificial Language) 诸如:旗语、哑语……
• 程序设计语言(Programming Language) C语言、BASIC语言、FORTRAN语言…
编译语言
• 一种编译语言对应一种编译器 • 程序员按照该语言的语法编写程序源代码,把自己的意图融
入到代码中 • 编译器读入源代码,把程序员的意图转换成可执行程序,供
他人使用
for语 言
编译器 可执行程序
解释运行
• 解释运行过程
– 程序员编写程序源代码 – 解释器读入源代码,并执行源代码
• 解释运行的语言特点
– 执行速度慢 – 好学易用
• 先编译、后解释
– 把源代码编译成更容易解释的中间代码,然后再解释运行
FORTRAN语言的发展历史
FORTRAN语言是最早出现的计算机高级语言,主要用于 科学和工程计算。FORTRAN是FORmula TRANslation (公式翻译),由美国人John Backus提出,1956年开始正 式使用。
什么是语言?
在长期的历史发展过程中,人类为了交流思想、表达感情、 交换信息,逐步发明了语言。在不同的地理环境、历史条 件和应用背景下生成了不同的语言形式。
语言的作用
1. 描述作用、交流作用和标志作用(软件语言可作为计算技 术发展的里程碑标志)
2. 语言是人类生活的必要工具,不同的语言被使用于不同的 领域和方面
ADD AX, 1
00000101 00000001 00000000
BASIC语言
PRINT 1+1
Fortran90语言
Program main Implicit none Print*, 1+1 end
计算机基本工作过程
• 整个过程的执行者是硬件,但硬件是受软件控制的 • 编程,就是编写软件,使硬件按照人的意图工作
任何用于描述算法和数据结构的一套符号系统均可称为程序 设计语言。
自然语言的缺点
自然语言具有歧义性。即相同的一句话,在不同的场合、 用不同的语气表达回有完全不同的意义。
例如:他才来,许多人还不认识。 三个学校的校长参加座谈。 几个工厂的工人。 学生的天职是读好书。
程序设计语言的特点
• 与自然语言尽量相似、相同。符合人类的思维方式。 • 不能具有歧义性。否则,会需要很多的注解来解释
语言,出现了第三个飞跃 。
程序设计语言的侧重面
• 基于数字计算的语言
主要代表:FORTRAN是为IBM704量身定做的主要面向数学计算。
• 商业语言
主要代表:1960年在美国国防部的主持下开发的COBOL语言。
• 人工智能语言
主要代表:麻省理工学院为IBM 704设计了LISP语言;Prologe则是 面向特殊用途的语言。
两个典型的版本 FORTRANⅡ 1958年 FORTRANⅣ 1962年
1966年美国标准化协会(ANSI)以 FORTRAN Ⅳ为基础,制定了美国国家 标准文本,即FORTRAN66。
1972年国际标准化组织(ISO)宣布 将FORTRAN66作为ISO的FORTRAN 标准文本。
ANSI于1976年提出了FORTRAN66 的修订文本,并于1978年正式公布新 的国家标准,即FORTRAN77。