PASCAL程序的基本知识
一、 PASCAL
程序的组成
1. 一个PASCAL程序分为两个部分: (1) 程序首部 (2) 程序体
2. 程序首部是程序的开头部分.它包括: (1) 程序标志------用PROGRAM来标志
(2) 程序名称------只能由字母和数字组成,第一个字符必须是字母;而且程序名内不允许出现空格 3.程序体是程序的主体--------在一般的PASCAL程序中,程序体包括两个部分:说明部分和执行部分. (1)说明部分-------用来描述程序中用到的数据的属性. (2)执行部分------执行部分以BEGIN开始,以END结束.它们之间包含若干个语句,语句之间以分号隔开.
4. 在程序中,一对大括号{ }或(* *)之间的文字称为注释。注释的内容可以用英语或汉语表示。
二、常 量
在程序运行过程中,其值不能被改变的量称为常量。
数,字符,字符串,逻辑值(“真”和“假”)等都是常量,如123,?abc? 等。 1.整型常量--------采用我们平常使用的十进制整数表示。:integer 如:13, 0, -24等都是整型常量,而2.5,3.14都不是整型常量。 2. 实型常量:包括正实数、负实数、实数0两种表示形式: real
(1)小数形式 :必须包含一个小数点,而且小数点两侧都应该有数字, 如: 1.2, - 6. 83。而10.和34不认为是合法的实数形式.
(2)科学记数法E来表示?10?这个底数,1.2E8表示12*108
3. 符号常量
一个常量既可以直接用字面形式表示,也可以用一个标识符来代表一个常量,称为“符号常量”。但符号常量必须在程序中的说明部分定义,也就是说:先定义,后使用。 例如:
const
pi=3.14159;
zero=0; (其中pi,zero均为符号常量)
三、变 量
在程序运行过程中,其值可以改变的量,称为变量。一个变量有一个名字,用一个合法的标识符代表一个变量。变量的类型在程序中的说明部分的VAR区(变量说明区)中定义,如:
VAR
age,day:integer;(*定义整型变量*) a,b:real;(*定义实型变量*) p:char;(*定义字符型变量*)
1
flag:boolean
其中age,day为整型变量,a,b为实型变量
四、标准函数
1. 算术函数 函 数 含 义 自变量类型 函数值的类型 Abs(x) |x| 实(整) 与x相同 Sqr(x) x2 实(整) 与x相同 Sqrt(x) ?x 实(整) 实型 Sin(x) sinx 实(整) 实型 Cos(x) cosx 实(整) 实型 Arctan(x) tan-1x 实(整) 实型 Exp(x) ex 实(整) 实型 Ln(x) lnx 实(整) 实型 2. 转换函数 (1)截尾函数Trunc(x): 将实数的小数部分截去.
eg: Trunc(6.8)=6 trunc(-7.2)= -7其中自变量为实型,函数值为整型. (2) 舍入函数 Round(x): 将实数x的小数部分四舍五入取整. eg: Round(7.8)=8 round(-7.8)= - 8 3. 前趋函数、后继函数
(1) 前趋函数(Pred函数): 取x前面的一个数据.
eg: Pred(5)=4 pred(-6)= -7 pred(?b?)=?a?
(2) 后继函数(Succ函数): 取x后面的一个数据.
eg: succ(8)=9 succ(-7)= - 6 succ(?A?)=?B? 4. 逻辑判断函数
如:Odd 函数是奇数函数
Eoln 函数是行结束函数
Eof 函数是文件结束函数
五、算术表达式
2. 算术运算符 (6个) + (加) - (减) * (乘)
/ (实数除,得到的结果为实型,即使除数和被除数都是整数,结果仍为实型)
如:5.0/2.0=2.5, 2/1=2.0
DIV (整除,它要求除数和被除数均为整型,结果也为整型,运算只取商的整数部分)
如:5 DIV 10=0, -15 DIV 4=-3 , 10 DIV 3=3 MOD (求余或求模)运算符
2
(1) 求余-------取整除后的余数(如果有a MOD b,则所得结果的符号与a相同,其值(绝对值)在0~|b|-1
之间.
a>0
a mod b=a mod b a<0
a mod b=-(|a| mod b) (1) a==0MS完全没意义
eg: 10 MOD 4=2 , -17 MOD 4= -1, -3 MOD 4=-3, 4 MOD (-3)=1, -4 MOD 3= -1 (2)求模----- 规定a MOD b中的b不能为负数. 有三种运算规则:
I.当a>b时,与求余结果相同 8 MOD 3=2
II.当a0时,结果为a 3 MOD 8=3
III.当a
六.赋值语句---- :=
1.作用是对变量赋值 2.先计算(表达式的值),后赋值
3.赋值语句具有计算和赋值的双重功能
注意:不要与等号“=”混淆,只有在赋值语句中才能用赋值号。
七.Write语句和Writeln语句(两者在功能上大体相同,输出格式上略有差别) 1. Write语句将输出项连续输出,输出不换行; write(a); write(b); write(c )
如果a,b,c 的值为2,4,6时,输出结果为: 2 4 6 2. Writeln语句将输出项换行输出 writeln(a); writeln(b); writeln(c )
如果a,b,c 的值为2,4,6时,输出结果为: 2 4 6
3. Write语句必须带有输出项(用括弧括起来的部分) 如: Write(x,y)
而Writeln语句可以不带输出项
3
如: Writeln ;-------(它是一个空语句,它的作用是输出 一个空行) 输入语句------- 读语句
八.read语句和readln语句
1. read语句一个接一个地读数据; read (a,b); read (c,d); read(e); 如果输入的数据如下:
1 2 3 4 5 6
a-----1 b-----2 c----3 d-----4 e-----5 2.readln语句是指读入一个数据行 readln(a,b) ; Readln(c,d); Readln(e);
如果输入数据为以下三行:
1 2 3 4 5 6
7 8 9 10
11 12
则:a--------1 b--------2
c-------7 d--------8 e-------11
九PASCAL中的逻辑运算(布尔运算)
PASCAL中只有两个布尔常量:TRUE( 真)和FALSE(假) 布尔运算符和布尔表达式:
PASCAL中有三个布尔运算符: NOT ------逻辑非 AND ------逻辑与 OR ------逻辑或
十.IF 语句(如果语句)的应用:
1.IF 布尔表达式 THEN 语句1 ELSE
语句2
2.IF语句中使用复合语句:
4
IF a>b then begin t:=a; a:=b; b:=t end else
begin
…… …… end; 3.IF语句中使用嵌套:
IF 布尔表达式1 THEN
IF 布尔表达式2 then 语句21 ELSE
语句22 ELSE
语句12;
十一。Case语句
IF语句只能两种中选择其中之一,而CASE语句能从多种可能情况中选择其中之一。 CASE a OF
1,2:语句1; 3,4,5:语句2; 6,7:语句3
END eg: 某幼儿园只收2至6岁的小孩,2~3岁入小班,4岁入中班,5~6岁入大班,输入年龄,要求打出入什么班。 Program classify(input,output); Var
age: integer; Begin
writeln(?input a age:?) readln(age);
writeln(?the age is :?,age); CASE age OF
2,3:writeln(?enter lower class?);
4: writeln(?enter middle class?); 5,6: writeln(?enter higher class?); END;
Writeln(?refuse?) End.
十二. 循环结构的程序设计
5