银行常用程序设计语言

上传人:san****019 文档编号:15963099 上传时间:2020-09-14 格式:PPT 页数:41 大小:261.55KB
收藏 版权申诉 举报 下载
银行常用程序设计语言_第1页
第1页 / 共41页
银行常用程序设计语言_第2页
第2页 / 共41页
银行常用程序设计语言_第3页
第3页 / 共41页
资源描述:

《银行常用程序设计语言》由会员分享,可在线阅读,更多相关《银行常用程序设计语言(41页珍藏版)》请在装配图网上搜索。

1、第3章银行常用程序设计语言,顾浩 胡乃静 董建寅等编著,2020/9/14,2006.8.27,2,主要内容,3.1 结构化程序设计基本原理 程序设计基本要素 算法设计初步 数据结构初步 程序设计方法初步 3.2 银行常用程序设计语言 程序设计方法初步 C语言概述 面向对象程序语言概述,2020/9/14,2006.8.27,3,序,算法是一个很古老的数学概念,最基本的算法就是加、减、乘、除。 计算机程序设计=算法+数据结构+程序设计方法 +计算机语言 其中的核心是算法。 程序是算法的具体表现形式之一 ; 程序编码是算法设计的最终表现形式, 而瑞士计算机科学家Niklaus Wirth是提出

2、数据结构+算法=程序 Algorithms +Data Structure=Programming 的第一人。 程序设计设计的实质是:确定数据的结构, 再加 上一个好算法。,尼克劳斯.沃思 (Niklaus Wirth) PASCAL之父及 结构化程序设计首创者 1984年图灵奖荣获者,2020/9/14,2006.8.27,4,程序、算法和进程,算法是一组明确的、可执行的步骤的有序集合。是指令的有限序列, 其中每条指令表示一个或多个操作。 如算法:F=(9/5)C+32 算法的含义与程序十分相似,但又有区别: 一个程序不一定满足有穷性, 如OS只要系统不遭破坏, 它永远不会停止工作, OS不

3、是一个算法; 程序中的指令必须是计算机可执行的, 而算法中的指令无此限制; 算法代表了对问题的解, 而程序是算法在计算机上特定的实现, 程序是一个算法的表达; 一个算法若用程序设计语言来表达, 它就是一个程序。,2020/9/14,2006.8.27,5,程序、算法和进程,算法与数据结构相辅相成: 解决某一特定类型的问题的算法可选定不同的数据结构, 而选择恰当与否将直接影响算法的效率;反之, 一种数据结构的优劣由各种算法的执行来体现。 进程是执行一个算法的活动。,2020/9/14,2006.8.27,6,结构化程序设计(structured programmingSP),概念:结构化程序设计

4、(SP)是由E.Dijkstra(戴文斯特拉)于上世纪70年代提出,它主张用顺序、选择和重复三种基本控制结构来嵌套连接成具有复杂层次的“结构化程序”,每种基本结构只有一个出口和一个入口,并完成单一操作。 基本思想:支持自顶向下,逐步求精的设计思想。 优点:清晰(最大优点)、生产率高、具有固定风格、易维护并可重新设计。 对于大多数程序语言来讲,只要保持固定的风格和使用预处理技术,便可执行结构化程序。,2020/9/14,2006.8.27,7,关于SP,结构化程序设计方法(SP)可归纳为三点: 1、由顶向下(Top Down)逐步精细的程序设计方法。 2、使用三种基本控制结构(顺序、选择、循环)

5、来 构造单入口单出口的程序。 3、采用主程序员组的开发人员的组织方式。 5个子系统,S,S1,S2,S3,S4,S5,S4.1,S4.2,S4.3,S5.1,S5.2,S5.3,S5.4,2020/9/14,2006.8.27,8,3.1 结构化程序设计基本原理,3.1.1 程序设计基本要素 1.解题的基本模式,人解题的基本模式,计算机解题的基本模式 以人为主导, 计算机为主体 计算机只部分替代人脑的功能,2020/9/14,2006.8.27,9,2.问题分析,问题分析的诸环节 精确描述问题:力求考虑周密,分析详尽,描述精确。 识别数据输入:识别哪些数据需从外部提供(输入),如何提供. 判定

6、信息输出:从计算机输出必要的信息,如何传送。 正确设置变量:用于输入数据、处理、输出等。,如:求解ax2+bx+c=0的实根, 要用系数a, b, c和x1, x2变量,2020/9/14,2006.8.27,10,建立数学模型:对给定问题抽象出数学描述形式。是问题分析的核心。数值型问题易建立数学模型(如F=(9/5)C+32) ,而非数值型问题则较难。 数学解析表达式仅仅是数学模型的主要形式之一,而切不可误以为“数学模型就是数学解析表达式”。 决定处理方式:决定用人工还是计算机处理。 采用计算机处理方式的判定条件如下: 当人工处理方式所需时间和费用比计算机处理方式代价高时; 当解决所给定问题

7、的数值计算或数据处理工作量非常大,难于用人工处理方式来进行时; 当同一性质的给定问题重复出现率高,要求多次作类似处理,而且每次解决有关问题的处理过程基本上大向小异; 当要求解决所给问题的响应速度快、信息可靠性好、数据精度高、自动化程度高时。 选择计算方法:精心选择最佳的计算方法. 结论:问题分析事关重大, 必须高度重视.,2020/9/14,2006.8.27,11,例3-11 求一元五次方程x5+7x-60的实根(绝对误差精确到0.000001)的计算方法,可有如下两种迭代法,但其结果却截然不同。 先看计算方法1:x2= 其迭代计算过程及结果如下: 迭代次数 x1 x2 绝对误差 |x1-x

8、2| 1 0.000000 1.430970 1.430970 2 1.430970 - 1.320610 2.751580 10 1.742900 - 1.440400 3.183300 11 - 1.440400 1.742900 3.183300 显然,计算方法1无论迭代计算多少次,永远不可能求得合乎要求的原方程的实根。 再看计算方法2:x2=6(x14+7),其迭代计算过程及结果如下: 迭代次数 x1 x2 绝对误差 |x1-x2| 1 0.0000000.857143 0.857143 2 0.8571430.795780 0.061363 3 0.7957800.810699 0.

9、014919 9 0.8079550.807957 0.000002 10 0.8079570.807957 0.000000,结论:结果发散 算法失败,结论:结果收敛 看法成功,2020/9/14,2006.8.27,12,3.1.2 算法设计初步,继问题分析阶段之后,就进入应用计算机解决问题的关键性阶段算法设计(algorithm design),即设计算法的全过程。算法是计算机程序设计的核心,是计算机科学中最基本的重要概念之一。,2020/9/14,2006.8.27,13,3.1.2 算法设计初步,1.系统与算法 可控系统与非控系统 可控系统:与人类关系密切相关. 即系统运行全过程中施

10、控子系统与受控子系统彼此响应、协同工作的行为方式。其根本模式可抽象为系统算法(system a1gorithm),简称算法 非控系统:如地震,海啸,台风等. 当且仅当系统目标、操作执行者、操作对象、操作方式、控制方式都相同的算法,才是相同的算法。 算法公式五大要素:算法=系统目标+操作执行者+操作对象+操作方式+控制方式,2020/9/14,2006.8.27,14,算法、程序和进程,算法的定义: 算法是一组明确的, 可执行的步骤的有序集合。 程序: 是一个算法的表达。 进程: 是执行程序的活动, 因此一个进程可等价地定义为执行算法的活动. 结论: 程序、算法和进程是不同的, 但也是有联系的,

11、一个程序是一个算法的表示, 而一个进程又是执行一个算法的活动。,2020/9/14,2006.8.27,15,2.计算机与算法,算法:是解题过程的精确描述,由有限条可完全机械执行的,有确定结果的指令(或命令,语句)构成. 所谓计算机算法,是指: “人计算机”系统为解决给定问题, 需要以“人为主导、计算机为主体”, 对所论问题的数据, 采取所设定的顺序结构、选择结构、循环结构、并行结构、子算法结构及其结构化组合的控制方式, 来组织和控制所认定的操作方式, 并一步一步具体实施的有穷操作过程的描述。 人的主导作用:算法设计程序编码结果分析。 计算机的主体作用:计算机按好算法编写的程序执行并出结果 借

12、助计算机来解决给定的问题,其热点、重点、难点都是算法设汁,而绝不是人们常常误认为的程序编码。因此循着“对好巧妙绝”的算法设计发展轨迹,努力探索和追求解决同一问题的算法族中佼佼者最优算法,是算法设计人员应有的宝贵品质和良好习惯。,2020/9/14,2006.8.27,16,3.算法的系统目标,算法之所以特别重要和有用,并不是算法本身,而是算法被执行(即其操作被一步一步具体施行)后所输出的信息执行结果。因为执行结果不仅是算法的系统目标的具体实现,尤其是人们所关心结果的具体兑现。因此,凡能正确实现系统目标的算法,即能向人们提供正确及时、清晰直观、简明易懂、信息完备的执行结果的算法,都是应当提倡的良

13、好算法;反之,则是应该防止的病态算法甚至错误算法 。 例3-13:试设计并比较“求最小1、2、3位数的算术平均数”的良好算法和病态算法。,2020/9/14,2006.8.27,17,4.算法的操作执行者与操作对象,算法的操作执行者,其主导是人,其主体是计算机,要妥然处理好两者关系; 算法的操作对象必然是解决给定问题所涉及到的数据; 避免出现脱离数据的算法和脱离算法的数据; 优先使用最基础的数据类型, 特别是整型、实型、字符(串)型和逻辑型。,2020/9/14,2006.8.27,18,5.算法的操作方式与控制方式,操作方式:分成数据运算和职能操作 职能操作:是数据输入、内部处理和数据输出操

14、作的总称。 三大基本职能操作:输入操作、赋值操作与输出操作,是算法设计的基础. 算法的流程控制与控制结构 : 顺序:最简单 选择:最常用结构之一 循环:也是最常用结构之一 并行: 子算法: 上述前三种统称为算法基本结构,共性:一个入口.一个出口,无死程序 (永远执行不到),无死循环块,2020/9/14,2006.8.27,19,举例,设计一算法,求S=12+23+34+910 算法1:算法:,开始,S0;k 1,K10?,Ss+k*(k+1),k k+1,“S= ”,s,结束,开始,S0;k 1,Ss+k*(k+1),k k+1,K10?,“S= ”,s,结束,先判后运算,先运算后判,202

15、0/9/14,2006.8.27,20,6.算法的基本特征,有穷性:有始有终是算法的最基本特征, 即算法必须由有限步组成(P53中的例3-16不是算法)。 确定性:算法的每步操作必须唯一确定, 无歧义性。 数据输入:有零个或多个输入项。 信息输出:一个算法至少有一个已获得有效信息的输出操作。 可执行 性:各步操作均能由计算机执行有穷次完成。,2020/9/14,2006.8.27,21,3.1.3 数据结构初步,结构:可认为是特定元素间的关系 数据结构: 即数据间的关系. 一般说来,数据的组织和构造方式称为数据结构( Data structure),且可概述为: 数据结构=系统目标+操作执行者

16、+数据性质+数据组织。也可简单理解为 数据结构=数据+关系 数据结构=(D,R) 其中,D是数据元素的有限集,R是D上关系的有限集。 研究数据的性质、规律及其组织和构造方式、方法的计算机科学分支也称为数据结构 常见的数据结构:数组、记录、文件、队列、串、链表、树、图、数据库等,2020/9/14,2006.8.27,22,学习数据结构的目的,早期的计算机主要处理数值问题, 程序员的精力主要代集中在程序设计的技巧上, 无需重视数据结构, 随着计算机应用领域的发展, 非数值计算问题占了90%以上的时间, 解决这类问题的关键不再是数学分析和计算方法, 而是要设计出合适的数据结构。 例学生信息检索系统

17、, 当需要查找某学生的有关情况, 需建立一个按学号顺序排列的信息表,以及分别按姓名、专业、年级排列的索引表,这4个表构成的文件就是学生信息系统的数学模型。在这类文档管理数学模型中,计算机处理的对象间存在简单的线性关系。故称为线性数据结构。 描述这类非数值计算问题的数学模型不再是数学方程,而是如表、树、图之类的数据结构。 因此,数据结构主要研究非数值计算的程序设计中所出现的计算机操作对象,以及它们间的关系和操作的学科。,2020/9/14,2006.8.27,23,学生信息表,姓名索引表,专业索引表,年级索引表,1 2 3 4 5 6 7 8 9 10,学生信息查询系统中的数据结构,2020/9

18、/14,2006.8.27,24,四类基本逻辑数据结构示意图,集合:数据元素属同一集合, 松散结构,线性结构:数据元素间存在一对一关系,树型结构:数据元素间存在一对多关系,图状结构:数据元素间存在多对多关系,2020/9/14,2006.8.27,25,3.1.4 程序设计方法初步,当用计算机语言来描述一个算法时, 则其表述形式就是计算机语言程序, 简称计算机程序。(Computer program)或程序。而设计程序的全过程,则称程序设计(Program design)。 算法是程序的源泉和基础,算法设计是程序设计的核心和关键 。 程序是算法与数据结构的统一。,2020/9/14,2006.

19、8.27,26,1.程序设计方法学的产生,源于软件危机的产生 程序设计方法学是计算机科学的重要分支; 其核心是结构化算法的控制原则 主要包括下述重要内容: 如何设计数据结构的方法; 算法构造、实施与证明方法; 程序连接方法; 程序调试、测试及验证方法; 程序设计技术与方法 。,2020/9/14,2006.8.27,27,2.程序设计表现技术(1)程序流程图与N-S图,程序设计表现技术无非是两大类:以图形为描述基础的图形表现技术和以语言为描述基础的语言表现技术。其中图形表现技术有许多种,例如:Jackson图(把数据结构转换成软件结构与过程)、SPD(Structured Programmin

20、g Diagram)图、PAD(Problem Analysis Diagram,问题分析图)和N-S图,又名盒图等。 程序流程图是最古老的设计表达工具, 但存在一定缺点; N-S图代替了程序流程图。,2020/9/14,2006.8.27,28,(2)用N-S图表示的3种基本控制结构,三种基本控制结构: 顺序结构: 顺序执行; 选择结构框: 多者必择其一,且仅择其一; 循环结构框: 当型循环(Do While P)结构框:先测试循环 直到型(Do Until P)循环结构框:后测试循环,顺序 选择性 先测试循环 后测试循环,2020/9/14,2006.8.27,29,两种循环结构框,p,s

21、,N,F,T,DO WHILE P当型循环 先判断终止条件,S,DO WHILE P,s,p,N,F,T,DO UNTIL P直到型循环 先执行再判终止条件,S,DO UNTIL P,循环体即S块,2020/9/14,2006.8.27,30,例:在一组数中找出其中的最大数,F,输出MAX值,True,程序流程图,N-S图,2020/9/14,2006.8.27,31,3.2 银行常用程序设计语言,图 3.7 程序设计语言的发展和分类,FORTRAN COBOL BASIC,PASCAL C,C+ JAVA,2020/9/14,2006.8.27,32,3.2.1 COBOL语言概述,1.CO

22、BOL语言(Common Business Oriented Language, 通用商业语言)的发展概况 : 问世于1959年, 被称为是”用于管理的语言”,是目前世界上使 用最多的计算机语言之一,上至大型机小到微型机. 2.COBOL语言的特点 优点: 最适合数据处理领域; 比较接近于自然语言(英语):看程序好像读一篇英语文章 ADD A TO B ;A+BB MOV C TO D ;将变量C的值送到变量D中 通用性强:标准化早, 程度高 结构严谨, 层次分明:分4部若干节, 段后是语句 缺点:繁琐, 源程序冗长,2020/9/14,2006.8.27,33,3.最简单的COBOL程序介绍

23、,例3-19 使计算机在指定的外部设备(终端显示器或打印机)上显示(或打印)出字符串“This is a COBOL program”,然后停止运行。 列:1 6 7 8 12 IDENTIFICATION DIVISION. (标识部) PROGRAM-ID. EXAM1. (程序段标识) ENVI RONMENT DIVISION. (环境部或称设备部) DATA DIVISION. (数据部) PROCEDURE DIVISION. (过程部) S. DISPLAY This is a COBOL program. STOP RUN. 说明: 程序倒数第2段的“S.”是段名, 在本例中过

24、程部只包含一个段, 即S段; 在S段中有两个句子, 每个句子以句点“.”和空格结束。,程序名,保留字 指出程序名,2020/9/14,2006.8.27,34,举例,列:1 678 12 IDEN TIFICATION DIVISION. (标识部) PROG RAM ID. EXAM2. (程序标识段) ENVI RONMENT DIVISION. (环境部) DATA DIVISION. (数据部) WORK ING-STORAGE SECTION. (工作单元节) 77 A PICTURE IS 9(3). (对变量A进行描述) 77 B PICTURE IS 9(3). (对变量B进行

25、描述) PROC EDURE DIVISION. (过程部) S. ACCEPT A (输入A的值) ACCEPT B (输入B的值) ADD A TO B (A + BB) DISPLAY A,B. (显示A和B的值) STOP RUN. (停止运行),2020/9/14,2006.8.27,35,对4个部的说明,4个部的作用 标识部: IDENTIFICATION DIVISION. ,作用是指出源程序名。 环境部: ENVI RONMENT DIVISION. ,是来说明程序运行时使用的计算机系统。 数据部: DATA DIVISION. ,说明程序中用到的全部数据, 含输入输出数据及中

26、间结果等。 过程部: PROCEDURE DIVISION. ,是整个程序的核心, 是程序执行操作的主要部分。 书写规则:保留字后加句点和空格。 节和段:是构成上述4个部的成分, 节由保留字SECTION表示,2020/9/14,2006.8.27,36,运行COBOL程序的步骤,1. 按COBOL语言规定编写对应的COBOL程序; 2. 利用编辑工具(如EDIT等)在硬盘上建立该程序的源程序文件, 文件的扩展名必须为COB。 3. 调用COBOL编译程序, 把上述源程序文件编辑成二进制目标 文件(.OBJ), 具体操作文件命令为: COBOL 文件名.COB 4. 调用连接程序, 把.OBJ

27、文件连接成一个计算机可执行文件(.EXE), 具体操作命令为: LINK 文件名.OBJ 5. 运行执行文件, 其命令为: 文件名.EXE(EXE可省略)。,2020/9/14,2006.8.27,37,3.2.2 C语言概述,1.C语言的发展简史:上世纪70年代发明 2.C语言的特色 C语言与其他语言的比较 把其他高级语言的基本结构与低级语言 的实用性结合了起来。 与汇编语言的比较 C语言的结构化、模块化克服了汇编语言 难读难维护的缺点。C语言又具有汇编 语言的功能,,1983年图灵奖的得主 肯尼思.汤普森 (Kenneth Lane Thompson) 丹尼斯.里奇 (Dennis Mac

28、Alistair Ritchie),1978年出版,2020/9/14,2006.8.27,38,2. C语言的特色,与其他高级语言的比较: C语言有丰富的运算符多达34种。 C语言有多样化的表达式类型, 在其他高级语言中,表达式则要 受到很大的限制。 C语言的数据类型丰富,具有现代语言的各种数据结构。 C语言的输入输出使用的是数据流,而其他高级语言使用的是 记录。 C程序生成的机器代码质量高,内存占用少,运行速度快,程 序执行效率高。 但C毕竟是面向过程的语言, 不太适合编制大型程序。 于是, 增强版的C即C+应运而生, 它在C的功能作了部分扩充, 并增加了面向对象的机制。,2020/9/1

29、4,2006.8.27,39,3.简单的C程序介绍,例3-21:屏幕输出一条信息,程序如下: main ( ) Printf ( “This is the first program . n ” ) 运行结果:This is the first program . 其中main( )被称作“主函数”,在任何一个C程序中都必须有一个且只有一个main( )函数。在main( )函数中有很多C语句,用一对大括号括起来。在本例的程序中,共有一条C语句。这条C语句是一个输出函数,作用是向屏幕输出信息。它将双引号之间的内容原样输出到屏幕。“n”是换行符,它的作用是将光标移到下一行的开始处。,2020/9

30、/14,2006.8.27,40,3.2.3 面向对象程序语言概述,1.面向对象程序设计:把数据结构与操作结合起来 2.面向对象技术的应用和发展 面向对象分析(OOA Object Oriented Analysis) 面向对象设计(OOD Object Oriented Design) 面向对象语言(OOL Object Oriented Language) 面向对象数据库(OODB Object Oriented Data Base) 面向对象的智能程序设计(Object Oriented Intelligent Programming) 面向对象的体系结构(Object Oriented Architecture 面向对象方法学的最基本特点:尽可能模拟人的思维方式.,2020/9/14,2006.8.27,41,3.面向对象语言的分类,(1)基于对象的语言 它支持对象作为语言特征。例Ada语言。 (2)基于类的语言 类是功能很强的软件部件。 (3)面向对象的语言 具有继承性和多态性。 总之, 面向对象的语言可在语言中实施对象与类两者的管理。,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!