第一个程序
Pascal语言的编译器有很多,我们这里以Dev-Pascal为主要编程工具。该软件界面如下:
我们输入如下代码后编译运行。
1 2 3 4 5 | program my_program; {程序首部,程序名或简单说明} begin {程序开始的标志} write('Hello,World'); {屏幕上输出单引号下的内容} readln; {等待操作者按一次回车} end. {程序结束的标志} |
如果没有输入错误的话,计算机应能在黑背景上显示“Hello,World”。
例:计算a+b的值。
1 2 3 4 5 6 7 8 9 10 | program circle; var a,b,x:integer;{定义变量} begin a:=100; b:=50; x:=a+b; writeln('a+b=',x);{输出并换行} readln; end. |
Pascal字符与符号
1.标识符
(1) 标识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。
(2) 标识符的分类:
a.保留字(关键字)
所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。下面是Pascal语言的保留字:
AND ARRAY BEGIN CASE CONST DIV DO DOWNTO
ELSE END FILE FOR FUNTION GOTO IF IN
LABEL MOD NIL NOT OF OR PACKED PROCEDURE
PROGRAM RECORD REPEAT SET THEN TO TYPE
UNTIL VAR WHILE WITH
b.标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。
以下列举了Turbo Pascal语言部分常用的标准表识符:
标准常量 False Maxint True
标准类型 Boolean Char Real Integer
标准函数 Abs Arctan Chr Cos Eof Eoln Exp
Ln Odd Ord Pred Round Sin Sqr
Sqrt Succ Trunc
标准过程 Dispose Get New Pack Page Put Read
Readln Reset Rewrite Unpack Write Writeln
标准文件 Input Output
Pascal数据类型
Pascal 提供了丰富的数据类型,在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。
1.整型
一个整型数据用来存放整数。Pascal支持五种预定义整型,它们是shortint(短整型)、 integer(整型)、 longint(长整型)、 byte(字节型)和 word(字类型)。每一种类型相应的整数取值范围以及所占用的内存字节数见下表:
类型 | 数值范围 | 占字节数 | 格式 |
ShorIint | -128-128 | 1 | 带符号8位 |
Integer | -3276-32767 | 2 | 带符号16位 |
LongInt | -2147483648-2147483647 | 4 | 带符号32位 |
Byte | 0-255 | 1 | 带符号8位 |
Word | 0-65535 | 2 | 带符号16位 |
Pascal规定了两个预定义整型常量标识符maxint和maxlongint,他们各表示确定的常数值,maxint为32767,longint为2147483647,他们的类型分别是integer 和longint
2.实型
一个实型数据用来存放实数。Pascal支持五种预定义实型,它们是single(单精度实型)、real(基本实型)、double(双精度实型)、extended(扩展实型)、comp(装配实型)。每一种类型相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度见下表:
类型 | 数值范围 | 占字节数 | 有效位数 | 编译开关 |
Single | 1.5e-45-3.4e+38 | 4 | 7-8 | {$N+} |
Real | 2.9e-39-1.7e+38 | 6 | 11-12 | |
Double | 5.0e-324- 1.7e+308 | 8 | 15-16 | {$N+} |
Extended | 1.9e-4932-1.1E+4932 | 10 | 19-20 | {$N+} |
Comp | -263+1-263-1之间的整数 | 8 | 19-20 | {$N+} |
除real型外,其它几种关数类型使用时必须要打开编译开关才可使用。
例如下面的程序:
1 2 3 4 5 6 7 8 9 10 11 | {$n+} program compute; var a,b:integer; divide:Extended; begin write('Enter a,b=');ReadLn(a,b); divide:=a/b; writeln(a,'/',b,'=',divide); readln; end. |
3.布尔型
一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和true,并且false的序号是0,true的序号是1。false 和true都是预定义常数标识符,分别表示逻辑假和逻辑真。并且true<false。boolean是布尔型的标识符。
4.字符型
字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。
常量和变量
1.常量:
它的语法格式是:
const
<常量标识符>=<常量>;
例如:
const
counter:integer=0;
flag:boolean=true;
index:0..100=0;
2.变量:
它的语法格式是:
var
<变量标识符列表>:<类型>;
例如:
var
a,b,c:integer;
m,n:real;
标准函数
1.算术函数
函数标识符 | 自变量类型 | 意义 | 结果类型 |
abs | 整型、实型 | 绝对值 | 同自变量 |
arctan | 整型、实型 | 反正切 | 实型 |
cos | 整型、实型 | 余弦 | 实型 |
exp | 整型、实型 | 指数 | 实型 |
frac | 整型、实型 | 小数部分 | 实型 |
int | 整型、实型 | 整数部分 | 实型 |
ln | 整型、实型 | 自然对数 | 实型 |
pi | 无自变量 | 圆周率 | 实型 |
sin | 整型、实型 | 正弦 | 实型 |
sqr | 整型、实型 | 平方 | 同自变量 |
sqrt | 整型、实型 | 平方根 | 实型 |
例:abs(-4)=4 abs(-7.49)=7.49 arctan(0)=0.0
sin(pi)=0.0 cos(pi)=-1.0 frac(-3.71)=-0.71
int(-3.71)=-3.0 sqr(4)=16 sqrt(4)=2
2.标准函数
函数标识符 | 自变量类型 | 意义 | 结果类型 |
odd | 整型 | 判断奇数 | 布尔型 |
pred | 离散类型 | 求前趋 | 同自变量 |
succ | 离散类型 | 求后继 | 同自变量 |
例:odd(1000)=false pred(2000)=1999 succ(2000)=2001
odd(3)=true pred('x')='w succ('x')='y'
3.转换函数
函数标识符 | 自变量类型 | 意义 | 结果类型 |
chr | byte | 自变量对应的字符 | 字符型 |
ord | 离散类型 | 自变量对应的序号 | longint |
round | 实型 | 四舍五入 | longint |
trunc | 实型 | 截断取整 | longint |
例:chr(66)='B' ord('A')=65 round(-4.3)=-5 trunc(2.88)=2
4.杂类函数
函数标识符 | 自变量类型 | 意义 | 结果类型 |
random | 无自变量 | [0,1]间的随机实数 | real |
random | word | [0,自变量间的随机整数) | word |
randomize | 无自变量 | 初始化内部随机数产生器 | longint |
upcase | 字符型 | 使小写英文字母变为大写 | 字符型pascal语言难学吗 |
downcase | 字符型 | 使小写英文字母变为大写 | 字符型 |
运算符和表达式
.算术运算符
运算符 | 运算 | 运算对象 | 结果类型 |
+ | 加 | 整型、实型 | |
- | 减 | 整型、实型 | |
* | 乘 | 整型、实型 | |
/ | 除 | 整型、实型 | |
div | 整除 | 整型 | 整型 |
mod | 取余 | 整型 | 整型 |
逻辑运算符
运算符 | 运算 | 运算对象 | 结果类型 |
not | 逻辑非 | 布尔型 | 布尔型 |
and | 逻辑与 | 布尔型 | 布尔型 |
or | 逻辑或 | 布尔型 | 布尔型 |
xor | 逻辑异或 | 布尔型 | 布尔型 |
.关系运算符
运算符 | 运算 | 运算对象 | 结果类型 |
= | 等于 | 简单类型 | 布尔型 |
<> | 不等于 | 简单类型 | 布尔型 |
< | 小于 | 简单类型 | 布尔型 |
> | 大于 | 简单类型 | 布尔型 |
<= | 小于等于 | 简单类型 | 布尔型 |
>= | 大于等于 | 简单类型 | 布尔型 |
优先级
运算符 | 优先级 |
not | 1(高) |
*,/,div,mod,and | 2 |
xor,+,-,or | 3 |
in,=,<>,>=,<=,<> | 4(低) |
表达式
数学表达式 | PASCAL表达式 | 注意 |
2a | 2*a | *号不能省略 |
a÷b | a/b | 除号的写法 |
a≠b | a<>b | 不等号的写法 |
a≤b | a<=b | 小于等于号的写法 |
输入输出语句
1.输出语句:
数据类型 | 标准场宽 | 实例 | 输出结果 |
整型 | 实际整数长度 | Writeln(-1) Writeln(34) | -1 34 |
实型 | 17 | Writeln(-11.22) Writeln(123456) | 科学计数法 |
布尔型 | 4或5 | Writeln(3>5) Writeln(true) | False True |
字符型 | 1 | Writeln(‘a’) | A |
字符串型 | 串长 | Writeln(‘abcd232) | Abcd232 |
自定义场宽:
例如:
设置整型时:
Writeln(i:6,ch:5);
设置实型数据时:
Writeln(r:10:4);
2.输入语句:
例如:
Read(a,b,c);
Readln(a,b,c);
注意:如果输入语句中有ln则给程序中变量输入完数据后,清空键盘缓冲区,没有ln则输入后不清空键盘缓冲区。
Pascal语句结构
IF语句
IF语句的一般格式是:
IF 条件
THEN 语句1{条件为真时的响应、处理}
ELSE 语句2;{条件为假时的响应、处理}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论