为个体教育智慧搭桥、铺路、筑巢

信息学奥林匹克竞赛辅导之Pascal语言基础

  • 作者: 白净, 程洁 主编
  • 出版社:东北师范大学出版社
  • 标准书号ISBN: 978-7-5681-2981-7
  • 定价:36.00元
  • 出版时间2017年4月第1版
  • 开本:16
  • 用纸:胶版纸
  • 页码:120
  • 购买地址:http://suo.im/3pyKZ3
内容简介

作者简介

白净,1983年出生,华东师范大学毕业,现任深圳市龙岗区平安里学校信息教师,深圳市龙岗区教坛新秀,深圳市龙岗区信息学奥林匹克竞赛教练,带领学生多次获得信息学奥赛市级、省级奖项,主持区级科研课题研究两项,开发并参与开发两项区级校本课程,一项校级信息学竞赛课程。

程洁,1986年出生,华东师范大学毕业,现任深圳市龙岗区平安里学校信息教师,深圳市龙岗区信息骨干教师,多次承担国家级、区级公开课,开发或参与开发两项区级校本课程,热爱教学,现场课、基本功比赛多次获奖。

目录

第 1 章?Turbo Pascal简介

1.1?学习目标

1.2?Turbo Pascal系统的使用

1.3?上机实践

第 2 章?Pascal语言程序基础

2.1?学习目标

2.2?Pascal程序的基本格式

2.3?常量

2.4?变量

2.5?Pascal语言中的运算符

2.6?Pascal标准函数的使用

2.7?课后练习

第 3 章?Pascal顺序结构程序设计

3.1?学习目标

3.2?Pascal赋值语句

3.3?输出(write、writeln)语句

3.4?输入(read、readln)语句

3.5?练习与答案

3.6?顺序结构程序设计

3.7?练习

第 4 章?Pascal选择结构程序设计

4.1?学习目标

4.2?简单的if语句

4.3?if语句的嵌套

4.4?case语句

4.5?练习

第 5 章?Pascal循环结构程序设计

5.1?学习目标

5.2?for循环

5.3?练习

5.4?while语句

5.5?repeat语句

5.6?习题

第 6 章?函数和过程

6.1?学习目标

6.2?函数

6.3?过程

6.4?习题 

试读章节

Turbo Pascal简介

1.1?学习

(1)了解Turbo Pascal的界面组成。

(2)使用Turbo Pascal完成程序的书写、编译、调试,并运行以查看结果。

(3)熟悉Turbo Pascal中的常用快捷键。

1.2?Turbo Pascal系统的使用

1.2.1?系统的启动

运行系统目录下的启动程序Turbo.exe,即可启动系统。屏幕上出现如图1-1所示的集成环境。

1.2.2?Turbo Pascal系统集成环境简介

界面最顶上一行为主菜单。中间蓝色框内为编辑窗口,在它的编辑窗口内可以进行程序的编辑。最底下一行为提示行,显示出系统中常用命令的快捷键,如,将当前编辑窗口中文件存盘的命令的快捷键为F2,获得系统帮助的快捷键为F1,等等。

1.2.3?新建程序窗口

按F10运行主菜单,选择File 菜单,执行其中的New命令,就可建立一个新的程序窗口(默认文件名为Noname00.pas或Noname01.pas等)。

1.2.4?程序的输入、编辑

在当前程序窗口中,以行为单位输入程序。事实上,程序窗口是一个全屏幕编辑器,所以对程序的编辑与其他编辑器的编辑方法类似,这里不再赘述。

1.2.5?常用命令的快捷方式(见表1-1

表1-1?常用命令的快捷方式

快捷键

功能描述

F3

打开文件

Alt+F3

关闭一个文件

F2

存储

F6

切换一个窗口

Ctrl+Insert

复制

Shift+Del

剪切

Shift+Insert

粘贴

Ctrl+Y

删除一行

Alt+Backspace

撤消

1.2.6?常用调试程序命令(见表1-2

表1-2?常用调试程序命令

快捷键

功能描述

F9

编译程序 (程序有错误时光标会停在错误的地方)

Ctrl+F9

运行程序

Alt+F5

查看程序运行结果

F7

单步执行

Ctrl+F7

断点调试时,添加变量名

Ctrl+Break

中断程序运行

Ctrl+F2

重新执行程序

1.3?上机实践

请同学们在Turbo Pascal中,完成图1-1中的程序,运行并查看结果。

 

Pascal语言程序基础

2.1?学习

(1)掌握Pascal程序书写的基本格式与规范。

(2)掌握常量的定义和使用。

(3)掌握变量的定义和使用。

(4)理解计算机程序中使用常量和变量的意义。

(5)能够使用算术表达式完成相应的数学计算。

(6)掌握标准函数的使用。

(7)理解计算机程序中使用函数的意义。

2.2?Pascal程序的基本格式

学习写作文的时候,教师总是从作文的格式开始讲起,一篇好的文章,格式很重要,便于读者的阅读也便于作者思路的整理。

计算机程序同样也有自己固定的格式,书写时要严格遵循格式要求。

一般来说,一个Pascal程序包括以下几个部分:

例 1: 随机输入四个数字,倒序输出结果。

2.2.1?程序首部

program是保留字,表示程序从这个地方开始。

pname是标识符,是程序的名字,可由程序员自定。

标识符在命名的时候要注意:

名字简单且有意义。例如,汉诺塔问题的程序名可以是“hanoi”也可以是“hannuo”等。

不能用保留字、标准标识符作为自定义的标识符。例如,PROGRAM PROGRAM、PROGRAM false 就是非法情况,编译时会报错。

标识符是以字母开头的字母数字串,其长度最大为8个字符。用来表示常量、量、类型、文件、过程、函数和程序的名字。如“pname”“i”“j”“a1”就是合法的标识符;但“1a”“#a”则是非法的标识符。

保留字是Pascal选定的,具有固定意义和用法的专用单词或缩写,这些单词不允许作其他使用。如上,“PROGRAM”就有“程序从这里开始”这样一种特别的意义,而“CONST”就有“常量说明从这里开始”的意义。我们不能再用“PROGRAM”“CONST”来作为其他变量、常量等的名字。

Pascal的35个保留字:

AND, ARRAY, BEGIN, CASE, CONST, DIV, DO, DOWNTO, ELSE, END, FILE, FOF, FUNCTION, GOTO, IF, IN, LABEL, MOD, NIL, NOT, OF, OR, PACKED, PROCEDURE, PROGRAM, RECORD, REPEAT, SET, THEN, TO, TYPE, UNTIL, VAR, WHILE, WITH.

常用的标准标识符有:

标准常量:false, true, maxint, maxlongint.

标准类型:integer, boolean, real, char, text.

标准文件:input, output.

标准函数:abs, arctan, chr, cos, eof, eoln, exp, in, odd,

        ord, pred, round, sin, sqr, sqrt, succ, trunc.

标准过程:assign, get, new, dispose, pack, put, bead,

        readln, reset, rewrite, unpack, write, writeln.

2.2.2?程序说明部分

程序执行部分使用的标号、常量、类型、变量、记录、文件、过程和函数,都必须在说明部分说明。

2.2.3?程序体

程序体是以“begin end.”括起来的语句系列。“end”后面是一个小圆点,标志着程序结束。

程序体以“分层缩进”的风格来写,以便提高程序的可读性。所谓的“分层缩进”是指在逻辑上同一级的语句其起始点对齐,下一级的语句向右缩进。

执行部分是Pascal程序的核心部分。执行部分必须以“begin”开始,以“end.”结束。执行部分包含的语句之间以“;”隔开。“end.”后的句点,表示整个程序的结束。“begin”和“end.”不是语句,只是作为执行部分的起止标志,因此,在最后一个语句与END之间不需要用分号。

2.3??

定义符号常量的一般格式:

const <常量标识符>=<常量>

const部分是常量说明,说明一些在以下部分用到的、在整个程序执行过程中不改变值的量。这些量,Pascal称为常量。

常量说明部分以关键字const开头,后面的标识符为常量标识符,其中“=”号后的常量为整数、实数、字符、字符串(字符、字符串常量在后面章节中将做介绍)。而且,在常量说明部分可以将几个常量说明成符号常量,共用一个关键字“const”。

2.3.1?使用常量的优点

程序中用到这个值的地方均可用常量名来代替。如上题中定义“n=4”指本程序处理4个数值,在下面的程序体中就用“n”来代替具体的值(如for i:=1 to n)。如果要改变处理数据个数,则只在常量说明部分修改“n=4”这一句就行了,而不用在程序中每一个用到的地方都加以修改。这样不但在编写程序的时候很方便,也增加了程序的可读性,修改时更方便。

2.3.2?常量类

1.?常量

整型常量采用我们平常使用的十进制整数表示。如138,0,-512 等都是整型常量,而18.或18.0 都不是整型常量。

Pascal 中有一个标准标识符maxint,它代表所使用的计算机系统允许的最大整型数,而最小的整型数即为-maxint-1。

Turbo Pascal还定义了长整数常量maxlongint,其值为2147483647。

2.?常量

实型常量包括正实数、负实数和实数零。Pascal中表示实型常量的形式有
两种。

(1)进制表示法。这是人们日常使用的带小数点的表示方法。如0.0,-0.0,+5.61,-8.0,-6.050等都是实型常量,而0.,.37都不是合法的实数形式。

(2)科学记数法。科学记数法是采用指数形式的表示方法,如1.25×105可表示成1.25e+05。在科学记数法中,字母“e”表示10 这个“底数”,而e之前为一个十进制表示的小数,称为尾数,e 之后必须为一个整数,称为“指数”。如-1234.56e+26 ,+0.268e-5,1e5 是合法形式,而.34e12 , 2.e5 , e5,e,1.2e+0.5 都不是合法形式的实数。

无论实数用十进制表示法还是科学记数法表示,它们在计算机内的表示形式是一样的,总是用浮点方式存储。

和整数相比,实数能表示的范围大得多,但值得注意的是,实数的运算比整数的运算速度慢且无法像整数那样精确表示,只能近似表示。

3.?字符常量

在Pascal 语言中,字符常量由单个字符组成,所有字符来自ASCII 字符集,共有256 个字符。在程序中,通常用一对单引号将单个字符括起来表示一个字符常量。如,'a','A','0'等。特殊地,对于单引号字符,则要表示成''''。对于ASCII字符集中,按每个字符在字符集中的位置,将每个字符编号为0~255,编号称为对应字符的序号。

4.?布尔常量

布尔型常量仅有两个值,真和假,分别用标准常量名true和false表示。它们的序号分别为1和0。

5.?符号常量

一个常量既可以直接用字面形式表示(称为直接常量, 如 124,156.8),也可以用一个标识符来代表一个常量,称为“符号常量”。

关于符号常量,应注意下列几点:

(1)符号常量一经定义,在程序的执行部分就只能使用该常量标识符,而不能修改其值。

(2)使用符号常量比直接用数值更能体现“见名知意”的原则,也便于修改参数,故一个较好的程序中,应尽量使用符号常量,在执行部分基本上不出现直接常量。

2.4??

变量代表了一个存储单元,其中的值是可变的,故称为变量。

常量是有类型的数据,变量在某一固定时刻用来存放一个常量,因此也应有相应的类型。如整型变量用来存放整数,实型变量用来存放实数。

2.4.1?Pascal语言的基本变量(见图2-1、表2-1

表2-1?Pascal中变量的类型

Type

Description

Character

Typically a single octet (one byte). This is an integer type

Integer

The most natural size of integer for the machine

Real

A single-precision floating point value

Boolean

Specifies true or false logical values. This is also an integer type

Enumerated

Specifies a user-defined list

Subrange

Represents variables whose values lie within a range

String

Stores an array of characters

2.4.2?Pascal语言的变量声明

变量一定要先说明后引用。即所有在程序体中用到的“名字”必须都在说明部分说明过才能引用,否则就会出错,通不过编译,也执行不了。

所有的变量声明时,由var关键字声明指定的变量列表,后跟一个冒号(:)和类型。变量声明的语法是:

var variable_list:type;

2.4.3?Pascal语言的变量初始化

变量被分配一个冒号和等号,后面的常量为表达式的值。分配一个值的一般形式是:

variable_name:=value;

默认情况下,在Pascal语言中的变量未初始化为零。它们可能包含垃圾值。所以,一个更好的做法是在程序中初始化变量。

age:integer =15;taxrate:real=0.5;grade:char ='A';name:string='John Smith';

2.4.4?Pascal语言的变量应用实

上面的代码编译和执行时,会产生以下结果:

Please enter your first name:

John

Please enter your surname:

Smith

Welcome to the world of Pascal John Smith

2.5?Pascal语言的运算符

2.5.1?Pascal算术运算符实

假设变量a等于10,变量b等于20:

a+b的结果为30;

a-b的结果为-10;

a*b的结果为200;

b div a的结果为2;

b mod a的结果为0。

算术运算符实例:

上面的代码编译和执行时,会产生以下结果:

Line 1 - Value of c is 31

Line 2 - Value of c is 11

Line 3 - Value of c is 210

Line 4 - Value of d is 2.10

Line 5 - Value of c is 1

Line 6 - Value of c is 2

<span style="fo

精彩书评
登录通行证