银行常用程序设计语言培训课件

上传人:日度 文档编号:149728340 上传时间:2020-10-29 格式:PPT 页数:41 大小:217KB
返回 下载 相关 举报
银行常用程序设计语言培训课件_第1页
第1页 / 共41页
银行常用程序设计语言培训课件_第2页
第2页 / 共41页
银行常用程序设计语言培训课件_第3页
第3页 / 共41页
银行常用程序设计语言培训课件_第4页
第4页 / 共41页
银行常用程序设计语言培训课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《银行常用程序设计语言培训课件》由会员分享,可在线阅读,更多相关《银行常用程序设计语言培训课件(41页珍藏版)》请在金锄头文库上搜索。

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

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

3、此限制; 算法代表了对问题的解, 而程序是算法在计算机上特定的实现, 程序是一个算法的表达; 一个算法若用程序设计语言来表达, 它就是一个程序。,2006.3.3,5,程序、算法和进程,算法与数据结构相辅相成: 解决某一特定类型的问题的算法可选定不同的数据结构, 而选择恰当与否将直接影响算法的效率;反之, 一种数据结构的优劣由各种算法的执行来体现。 进程是执行一个算法的活动。,2006.3.3,6,结构化程序设计(structured programmingSP),概念:结构化程序设计(SP)是由E.Dijkstra(戴文斯特拉)于上世纪70年代提出,它主张用顺序、选择和重复三种基本控制结构来

4、嵌套连接成具有复杂层次的“结构化程序”,每种基本结构只有一个出口和一个入口,并完成单一操作。 基本思想:支持自顶向下,逐步求精的设计思想。 优点:清晰(最大优点)、生产率高、具有固定风格、易维护并可重新设计。 对于大多数程序语言来讲,只要保持固定的风格和使用预处理技术,便可执行结构化程序。,2006.3.3,7,关于SP,结构化程序设计方法(SP)可归纳为三点: 1、由顶向下(Top Down)逐步精细的程序设计方法。 2、使用三种基本控制结构(顺序、选择、循环)来 构造单入口单出口的程序。 3、采用主程序员组的开发人员的组织方式。 5个子系统,S,S1,S2,S3,S4,S5,S4.1,S4

5、.2,S4.3,S5.1,S5.2,S5.3,S5.4,2006.3.3,8,3.1 结构化程序设计基本原理,3.1.1 程序设计基本要素 1.解题的基本模式,人解题的基本模式,计算机解题的基本模式 以人为主导, 计算机为主体 计算机只部分替代人脑的功能,2006.3.3,9,2.问题分析,问题分析的诸环节 精确描述问题:力求考虑周密,分析详尽,描述精确。 识别数据输入:识别哪些数据需从外部提供(输入),如何提供. 判定信息输出:从计算机输出必要的信息,如何传送。 正确设置变量:用于输入数据、处理、输出等。,如:求解ax2+bx+c=0的实根, 要用系数a, b, c和x1, x2变量,200

6、6.3.3,10,建立数学模型:对给定问题抽象出数学描述形式。是问题分析的核心。数值型问题易建立数学模型(如F=(9/5)C+32) ,而非数值型问题则较难。 数学解析表达式仅仅是数学模型的主要形式之一,而切不可误以为“数学模型就是数学解析表达式”。 决定处理方式:决定用人工还是计算机处理。 采用计算机处理方式的判定条件如下: 当人工处理方式所需时间和费用比计算机处理方式代价高时; 当解决所给定问题的数值计算或数据处理工作量非常大,难于用人工处理方式来进行时; 当同一性质的给定问题重复出现率高,要求多次作类似处理,而且每次解决有关问题的处理过程基本上大向小异; 当要求解决所给问题的响应速度快、

7、信息可靠性好、数据精度高、自动化程度高时。 选择计算方法:精心选择最佳的计算方法. 结论:问题分析事关重大, 必须高度重视.,2006.3.3,11,例3-11 求一元五次方程x5+7x-60的实根(绝对误差精确到0.000001)的计算方法,可有如下两种迭代法,但其结果却截然不同。 先看计算方法1:x2= 其迭代计算过程及结果如下: 迭代次数 x1 x2 绝对误差 |x1-x2| 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

8、.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.014919 9 0.8079550.807957 0.000002 10 0.8079570.807957 0.000000,结论:结果发散 算法失败,结论:结果收敛 看法成功,2006.3.3,12,3.1.2 算法

9、设计初步,继问题分析阶段之后,就进入应用计算机解决问题的关键性阶段算法设计(algorithm design),即设计算法的全过程。算法是计算机程序设计的核心,是计算机科学中最基本的重要概念之一。,2006.3.3,13,3.1.2 算法设计初步,1.系统与算法 可控系统与非控系统 可控系统:与人类关系密切相关. 即系统运行全过程中施控子系统与受控子系统彼此响应、协同工作的行为方式。其根本模式可抽象为系统算法(system a1gorithm),简称算法 非控系统:如地震,海啸,台风等. 当且仅当系统目标、操作执行者、操作对象、操作方式、控制方式都相同的算法,才是相同的算法。 算法公式五大要素

10、:算法=系统目标+操作执行者+操作对象+操作方式+控制方式,2006.3.3,14,算法、程序和进程,算法的定义: 算法是一组明确的, 可执行的步骤的有序集合。 程序: 是一个算法的表达。 进程: 是执行程序的活动, 因此一个进程可等价地定义为执行算法的活动. 结论: 程序、算法和进程是不同的, 但也是有联系的,一个程序是一个算法的表示, 而一个进程又是执行一个算法的活动。,2006.3.3,15,2.计算机与算法,算法:是解题过程的精确描述,由有限条可完全机械执行的,有确定结果的指令(或命令,语句)构成. 所谓计算机算法,是指: “人计算机”系统为解决给定问题, 需要以“人为主导、计算机为主

11、体”, 对所论问题的数据, 采取所设定的顺序结构、选择结构、循环结构、并行结构、子算法结构及其结构化组合的控制方式, 来组织和控制所认定的操作方式, 并一步一步具体实施的有穷操作过程的描述。 人的主导作用:算法设计程序编码结果分析。 计算机的主体作用:计算机按好算法编写的程序执行并出结果 借助计算机来解决给定的问题,其热点、重点、难点都是算法设汁,而绝不是人们常常误认为的程序编码。因此循着“对好巧妙绝”的算法设计发展轨迹,努力探索和追求解决同一问题的算法族中佼佼者最优算法,是算法设计人员应有的宝贵品质和良好习惯。,2006.3.3,16,3.算法的系统目标,算法之所以特别重要和有用,并不是算法

12、本身,而是算法被执行(即其操作被一步一步具体施行)后所输出的信息执行结果。因为执行结果不仅是算法的系统目标的具体实现,尤其是人们所关心结果的具体兑现。因此,凡能正确实现系统目标的算法,即能向人们提供正确及时、清晰直观、简明易懂、信息完备的执行结果的算法,都是应当提倡的良好算法;反之,则是应该防止的病态算法甚至错误算法 。 例3-13:试设计并比较“求最小1、2、3位数的算术平均数”的良好算法和病态算法。,2006.3.3,17,4.算法的操作执行者与操作对象,算法的操作执行者,其主导是人,其主体是计算机,要妥然处理好两者关系; 算法的操作对象必然是解决给定问题所涉及到的数据; 避免出现脱离数据

13、的算法和脱离算法的数据; 优先使用最基础的数据类型, 特别是整型、实型、字符(串)型和逻辑型。,2006.3.3,18,5.算法的操作方式与控制方式,操作方式:分成数据运算和职能操作 职能操作:是数据输入、内部处理和数据输出操作的总称。 三大基本职能操作:输入操作、赋值操作与输出操作,是算法设计的基础. 算法的流程控制与控制结构 : 顺序:最简单 选择:最常用结构之一 循环:也是最常用结构之一 并行: 子算法: 上述前三种统称为算法基本结构,共性:一个入口.一个出口,无死程序 (永远执行不到),无死循环块,2006.3.3,19,举例,设计一算法,求S=12+23+34+910 算法1:算法:

14、,开始,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,结束,先判后运算,先运算后判,2006.3.3,20,6.算法的基本特征,有穷性:有始有终是算法的最基本特征, 即算法必须由有限步组成(P53中的例3-16不是算法)。 确定性:算法的每步操作必须唯一确定, 无歧义性。 数据输入:有零个或多个输入项。 信息输出:一个算法至少有一个已获得有效信息的输出操作。 可执行 性:各步操作均能由计算机执行有穷次完成。,2006.3.3,21,3.1.3 数据结构初步,结构:可认为是特定元素间

15、的关系 数据结构: 即数据间的关系. 一般说来,数据的组织和构造方式称为数据结构( Data structure),且可概述为: 数据结构=系统目标+操作执行者+数据性质+数据组织。也可简单理解为 数据结构=数据+关系 数据结构=(D,R) 其中,D是数据元素的有限集,R是D上关系的有限集。 研究数据的性质、规律及其组织和构造方式、方法的计算机科学分支也称为数据结构 常见的数据结构:数组、记录、文件、队列、串、链表、树、图、数据库等,2006.3.3,22,学习数据结构的目的,早期的计算机主要处理数值问题, 程序员的精力主要代集中在程序设计的技巧上, 无需重视数据结构, 随着计算机应用领域的发展, 非数值计算问题占了90%以上的时间, 解决这类问题的关键不再是数学分析和计算方法, 而是要设计出合适的数据结构。 例学生信息检索系统, 当需要查找某学生的有关情况, 需建立一个按学号顺序排列的信息表,以及分别按姓名、专业、年级排列的索引表,这4个表构成的文件就是学生信息系统的数学模型。在这类文档管理数学模型中,计算机处理的对象间存在简单的线性关系。故称为线性数据结构。 描述这类非数值计算问题的数学模型不再是数学方程,而是如表、树、图之类的数据结构。 因此,数据结构主要研究非数值计算的程序设计中所出现的计算机操作对象,以及它们间的关系和操作的学科。,2006.3.3,2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号