算法与程序设计
算法的特征:
1.有穷性
2.确定性
3.输入
4.输出
5.可行性
算法的描述:
1.自然语言
2.流程图
3.伪代码
程序的三种基本结构:
顺序结构(sequence structure),选择结构(selection structure),循环结构(loop structure)。
程序设计语言的产生与发展:
程序设计语言
程序设计语言(PDL/Programming Language)
什么是程序设计语言
程序设计语言是指用来编译、解释、处理各种程序时所使用的机器语言,它包括汇编语言、解释程序、编译程序及高级语言等,如Visual Basic(简称VB)、Visual C++(简称VC)、Delphi等。
程序设计语言的发展
程序设计语言是人们为了描述计算过程而设计的一种具有语法语义描述的记号。程序设计语言与现代计算机共同诞生、共同发展,至今已有60余年的历史,早已形成了规模庞大的家族。进入20世纪80年代以后,随着计算机的日益普及和性能的不断改进,程序设计语言也相应得到了迅猛发展。
最早的第一代程序设计语言是机器语言。机器语言是一种用二进制代码“0”和“1”表示的、能被计算机直接识别和执行的语言,它是一种低级语言。用机器语言编写的程序称为计算机机器语言程序,这种程序不便于记忆、阅读和书写。每一种机器都有自己的机器语言,即计算机指令系统,因此没有通用性。
第二代程序设计语言是汇编语言。汇编语言是一种用助记符表示的面向机器的程序设计语言,即符号化的机器语言,如用助记符ADD表示加 法、STORE表示存数操作等。用汇编语言编制的程序称为汇编语言程序,机器不能直接识别和执行,必须由汇编程序翻译成机器语言程序(目标程序)才能运 行。汇编语言适用于编写直接控制机器操作的底层程序,它与机器类型密切相关。因此,机器语言和汇编语言都是面向机器的语言,一般称为低级语言。
第三代程序设计语言是所谓的高级语言。高级语言是一种比较接近自然语言和数学表达式的计算机程序设计语言,是“面向用户的语言”。一般 用高级语言编写的程序称为“源程序”,计算机不能直接识别和执行,必须把用高级语言编写的源程序翻译成机器指令才能执行,通常有编译和解释两种方式。编译 是将源程序整个编译成目标程序,然后通过连接程序将目标程序连接成可执行程序。解释是将源程序逐句翻译,翻译一句执行一句,边翻译边执行,不产生目标程序,由计算机执行解释程序自动完成。
1956年由美国科学家John Backus领导的小组设计的FORTRAN语言是高级语言的开端,由于它的简洁和高效,成为此后几十年科学和工程计算程序开发的主流语言。但 FORTRAN是面向计算机专业人员的语言,为了普及计算机语言,使计算机应用更为大众化,之后又出现了Basic语言(解释型)。
随着计算机技术的发展和应用的深入,在20世纪70年代,由结构化程序设计的思想孵化出了两种结构化程序设计语言:Pascal和C。其中Pascal语言强调可读性,使其至今仍为学习算法和数据结构等软件基础知识的首选教学语言;而C语言强调语言的简洁和高效,使之成为几十年中主流的软件开发语言。
随着面向对象程序设计思想的普及,20世纪80年代,由AT&T贝尔实验室在C语言的基础上设计并实现的c++语言成为众多面向对象语言中的代表。随后,c++和其他高级语言如BAsIC、Pascal等,结合可视化的界面编程技术、面向对象思想及数据库技术,产生了所谓的第四代语言——面向对象语言,如Ⅵsual Basic、Delphi、Visual c++、c++Builder等。
程序设计语言的分类
从发展进程可分为面向机器的语言和高级语言。
(1)面向机器的语言(机器语言、汇编语言):依赖于结构,其指令系统随机器而异、生产效率低、容易出错、难以维护。
(2)高级语言:使用的概念和符号与人们通常使用的比较接近,一条语句往往对应若干条机器指令,其特性不依赖于特定的计算机。
从应用特点可做如下分类:
(1)基础语言:如Basic、FORTRAN、COBOL、ALGOL等,历史悠久、应用广泛。
(2)结构化语言:具有为某种特殊应用而设计的、独特的、很强的过程能力和数据结构能力的特点,如PL/l,Pascal,C,Ada等。
(3)专用语言:具有为某种特殊应用而设计的独特语法形式,应用范围较宽,如APL(数据和向量运算)、BLISS(开发编译程序和操作系统)、FORTH(开发微处理机软件)、LISP和Prolog(适合于人工智能领域)。
从语言的内在特点可做如下分类:
(1)系统实现语言:提供控制语句和变量类型检测等功能,同时允许程序员直接使用机器操作,如C。
(2)静态高级语言:提供某些控制语句和变量说明的机制,但程序员不能直接控制,由编译程序生成的机器操作,静态分配存储,如COBOL、FORTH。
(3)块结构高级语言:提供有限的动态存储分配,如ALGOL、Pascal。
(4)动态高级语言:动态地完成所有存储管理,即执行个别语句可能分配或释放存储,如某些专用语言。
(5)甚高级语言(4GL):以数据或知识为基础,以对集合的处理代替对单个记录或元素的处理,能支持对大型数据库进行高效处理的机制,如SQL。
注释语句以单引号开头
Format()函数可以设置常量、变量或表达式值的输出格式,使用方法:Format(常量或变量,格式控制串)