11(2009-11-23)第一章.doc

上传人:m**** 文档编号:551802476 上传时间:2023-09-04 格式:DOC 页数:7 大小:113KB
返回 下载 相关 举报
11(2009-11-23)第一章.doc_第1页
第1页 / 共7页
11(2009-11-23)第一章.doc_第2页
第2页 / 共7页
11(2009-11-23)第一章.doc_第3页
第3页 / 共7页
11(2009-11-23)第一章.doc_第4页
第4页 / 共7页
11(2009-11-23)第一章.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《11(2009-11-23)第一章.doc》由会员分享,可在线阅读,更多相关《11(2009-11-23)第一章.doc(7页珍藏版)》请在金锄头文库上搜索。

1、第一章 引 论本章是引言部分,主要介绍程序设计的一些背景知识和基本概念。1.1 计算模型、高级语言与程序设计。1.2程序设计语言Pascal简介下面我们先对Pascal语言作一简要介绍。1.2.1 Pascl 语言的发展1.2.2 Pascal 语言的特点Pascal语言的主要特点是:(1) Pascal语言最主要的革新在于它引入了灵活的数据类型和数据结构;(2) 良好的语言控制机制,能够很好地支持结构化程序设计。虽然,Pascal语言具有非常丰富的数据类型和结构形式,但它并不是在各个方面都很成功。在以后提出的一种无goto语句的语言Modula-2中,克服了Pascal语言的很多缺陷,特别在

2、语法上消除了语言中存在的二义性问题,同时引入模块化程序设计以支持大型软件系统的开发,对这个学科的发展影响深远。1.2.3 Pascal 语言的符号、约定1标准Pascal 语言的字符集合标准Pascal 语言的字符集合(Character Set)由字母、数字和其它一些字符构成,具体如下:(1) 字母(26个)26个英文字母。除了在字符串中外,Pascal 语言字母的大小写被视为相同的。(2) 数字(10个)0 1 2 3 4 5 6 7 8 9 (3) 其它(20个)+ - * / = . , : ; ( ) (表示空格)2标准Pascal 语言的符号(1) 保留字(特定符号字,35个)标准

3、Pascal 语言中共有35个保留字。它们是:and array begin case const div do downto else end file for functiongoto if in label mod nil not of or packed procedure program recordrepeat set then to type until var while with注意:在Pascal 语言中不允许程序员在程序中使用与保留字相同的标识符另作它用。标识符的概念在下面给出。(2) 定界符(非字特定符号,21个)标准Pascal 语言中还有一些不是表示成字的特定符号,

4、这些符号用来确定语法单位,称它们是定界符(分隔符(Separator),21个)。它们是:+ - * / = = . . , ; := (和) 和 和(1) 保留字(特定符号字,35个)(2) 定界符(非字特定符号,21个)(3) 标识符标识符(Identifier)是用来标识(表示)符号常量、变量、类型、过程、函数、程序、文件的名字的符号。标识符的概念是由英国著名计算机科学家、图灵奖获得者威尔克斯(M. V. Wilkes)提出的。标准Pascal 语言规定,标识符是由字母开头的字母数字串组成,长度不超过8个字符(不同的编译程序的实现版本可以规定其长度不同)。另外,Pascal 语言中除了在

5、字符串(String)的值之外,不区分大小写字母,所以,标识符DATA与data是同一标识符。Pascal 语言中的标识符被分为标准标识符和用户自定义标识符两种。 标准标识符标准标识符(Standard Identifier)是Pascal 语言预先定义好的标识符,它们有特定的意义,用来作为常量名、类型名、过程名、函数名、文件名等,因此又称为预定义的标识符。标准Pascal语言规定了以下40个标准标识符:标准常量名有:false、true、maxint标准类型名有:integer、real、char、boolean、text标准过程名有:pack、unpack、new、dispose、put、

6、get、reset、rewrite、page、read、readln、write、writeln标准函数名有:abs、sqr、sqrt、exp、round、sin、cos、arctan、trunc、succ、pred、chr、ord、ln、odd、eof、eoln标准文件名有:input、output 用户自定义的标识符用户可以根据自己的需要,遵循下面语法定义标识符,这种标识符被称为用户自定义的标识符。标识符的语法图如图1-1所示。图1-1 标识符的语法图用户自定义标识符时,应注意以下几点: Pascal 语言中用户自定义的标识符在程序中必须遵循先定义后使用的原则,即一个用户自定义标识符必须首

7、先出现在程序的说明部分,然后才能在其程序的后面部分使用。 标准Pascal 语言中,在一个标识符中不能出现任何从语法上不允许的字符(包括定界符)。例如,a&b、my+name等作为标识符均是错误的。 由于保留字在程序中具有特定的语法含义,因此禁止使用保留字作为用户自定义的标识符。例如,将begin、for等用作表示程序实体的标识符是错误的。 从语法上讲,允许使用标准标识符作为用户自定义标识符。但是,为了保证程序的可读性,避免引起错误,建议不要使用标准标识符作为用户自定义的标识符,许多编译程序也禁止用户将标准标识符另作它用。 标识符的命名风格是程序设计风格(Programming Style)的

8、一个组成部分。程序设计风格中的“风格”是指程序员在创作中喜欢和习惯使用的表达自己作品题材的方式,并形成统一的风范。通俗地说,程序设计风格是指,为了使写出的程序容易被人们阅读、理解和使用而建立的一整套约定、准则、方法和规定,等等。为了增强程序的可读性(即可理解性。衡量程序的可读性的原则是理解程序代码时需要关心和记忆的知识越少越好),用户自定义标识符时应该遵循以下四个原则:A.“按义取名”的原则,即所定义的标识符的名字能够完全而又准确地描述它所代表的问题领域的实体对象,或者说用户命名的标识符最好是看到名字就能知道它所表示的含义。例如,用Area表示某程序中用到的面积变量,用Time_of_Day表

9、示一天所含有的时间变量。不过,在程序中使用标识符所代表的问题领域实体对象描述作为标识符名字时,可能带来标识符名字过长的问题。例如,Student_number_of_xiamen_university。标识符名字过长不但使程序的输入变得困难,而且也给程序布局带来不便,为此,我们建议标识符的命名最好是在描述其所代表的问题领域实体对象的前提下,尽可能使其长度少于20个字符。为了将过长的标识符的长度缩短到少于20个字符,常常使用缩写技术。下面是常用的缩写技术:a) 使用标准的缩写,例如字典缩写表中的标准缩写;b) 使用每个单词的头一个或几个字母,一般来说,单词的首部比尾部重要;c) 去掉无用后缀;d

10、) 保留单词每个音节中最容易引起注意的发音,一般辅音比元音重要;e) 保留标识符中具有典型意义的单词。B.“由名字能够区分标识符种类”的原则。标准Pascal 语言的标识符有符号常量、变量、类型、过程、函数、程序和文件的名字七种。符号常量、变量、类型、程序和文件的名字应该是名词或名词词组;函数和过程名字应该是动词或动词词组,最好是动宾词组;变量名字最好能够体现其所属的数据类型;等等。C“体现其作用域”原则。标识符的名字最好能够体现其作用域,特别地,要突出其是否为全局变量。当然,应该在程序中尽可能地少使用全局变量。一旦在程序中使用了全局变量,那么最好能把它们显式地表示出来。例如,每个全局变量均以

11、global作为其前缀,等等。D“规范化的书写”原则。标识符规范化的书写技术是用下划线或大写字母将名字的各单词区分开来。例如,student_name或StudentName显然比studentname可读性好得多。最后,我们列出一些应避免的标识符名字:a) 应避免容易产生误会的名字或缩写。如果程序同时用到Compact_disk和Current_date两个变量,那么最好不要把任意一个缩写为CD;b) 应避免含义相同或相近的名字,如最好不要同时使用input和in_val;c) 应避免含义不同但拼写相似的名字,如c1ient_records和c1ient_reports,不应该用client

12、_recs和client_reps来表示;d) 应避免使用发音相同或相近的名字,如know和now;e) 应避免在名字中使用数字,如file1,file2等,尽量使用其他方法区别这种变量,而不是仅仅在后面加上不同的数字;f) 应避免同时使用含有难以辨认的字符,如数字1、字母l和字母I,数字0和字母o或O,数字5和字母S或s,数字6和字母G等;g) 应避免使用汉语拼音作为标识符名字,更不要使用汉语拼音缩写,因为它们破坏程序的协调性。程序设计语言都是英文,插一个汉语拼音就显得很不自然,将来程序也难于对外交流。1.2.4 Pascal 语言源程序的结构标准Pascal 语言的源程序(Source P

13、rogram)结构是有严格规定的,而且也是固定的。为了说明Pascal 语言源程序的结构,我们先看一个简单的例子。例1 下列程序是一个自动生成杨辉三角形的程序。Program YanghuiTriange1(input,output);Const n=10; The value of n is the line numbers of yanghuis triangle .Type yht=array 1.n,1.n of integer;Varrow: 1.n ;column: integer;indent: integer;yh: yht;Procedure generate_yh_Tria

14、nge;beginfor row:=2 to n dobeginyhrow,1:= 1;yhrow,row:= 1;for column:= 2 to row-1 doyhrow,column:= yhrow-1,column-1+ yhrow-1,column;endend;Procedure print_yh_Triange;beginindent:=25;for row:=1 to n dobeginwriteln ( :indent);for rowcolumn:=1 to row do write(yhrow,column:4, );writeln;indent:= indent-2

15、endend;Beginyh1,1:= 1;generate_yh_Triange;print_yh_Triange;End.从上面的程序可以看出,Pascal 语言源程序的结构分为两部分:程序首部和程序体。1程序首部程序首部(Program Heading)是指程序的开头部分,它是由保留字program、程序名和程序参数表(Program Parameter List)三部分构成,并以分号结束。程序名是用户自定义的标识符,用于标记程序。因此,用户命名时要严格遵守标识符的有关规则。程序参数表表明程序与外部环境之间的关系。在现代计算机系统中,这个外部环境通常指操作系统(Operating System)。最常用的参数是input和output,它们是两个标准文件(Standard File),分别表示程序的输入数据是从标准文件(一般指终端键盘,可通过事先设置确定)输入,计算的结果将输出到标准文件(一般指显示器或打印机)上。例1的程序中,程序首部为:Program Y

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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