第三章
一、知识点拨
这次课,我们讲讲怎么样定义变量和常量
变量的名字命名规则:第一个必须是字母,后面的可以是字母、数字、下划线 判断以下是否正确?
a3 3a a17 abcd ex9.5 α β λ
变量就是可以在程序中可以被改变的。var 用来定义变量。
常量在程序的运行过程中是不可以改变的。const 用来定义常量。 const p=123; {p的值为123} a=12.346; {a的值为12.346}
s='abcdefg'; {s 的值为'abcdefg'字符串}
{以上定义的均为常量,在运行的工程中是不可以被改变的}
var I,j,k:integer; {i,j,k用来表示整数,目前里面的值暂时为0} X,y:real; {x,y用来表示实数,包括整数和小数}
S1:string[5]; {s1用来表示字符串,里面一共可以装5个字符} P:boolean; {p是用来表示真和假的} begin p:=1234; {错误,p不能再给值,因为p是常量} a:=12.346; {错误} s:='12312'; {错误} i:=1.0; {错误,因为i是来表示整数,而1.0有小数部分} j:=1; {正确} k:=8; {正确} x:=1.2345; {正确} y:=4356; {正确,因为y是用来表示实数,包括整数和小数} s1:='sadff'; {正确} p:=true; {正确,真是:true,假是false} end.
二、竞赛练习
输入一个时、分、秒,把它转换为一个秒数。程序名:01.pas 例如 输入 2 3 4 代表2小时3分钟4秒 输出 7384 代表一共有7384 秒
5
第四章
一、知识点拨
赋值语句:
由赋值运算符 := 组成
比如 a:=3 表示把3给a
赋值语句的一般格式:变量名:=表达式
赋值符号其实就是冒号加等于号“:=”,而绝不能只用等于号“=”。冒号的左边(即赋值符号的左边)只能是一个变量名!不能也是表达式,更不能是具体数值。一个赋值语句中只能出现一个赋值符号。
例如:以下赋值语句都是正确的:
X:=1; 把1这个数值赋给X这个变量;
A:=B*C+12*INT(D); 把B*C+12*INT(D)这个表达式的值赋给变量A; Y:=Y+1; 把Y+1的值再赋给Y这个变量, 即累加。 以下赋值语句都是错误的:
S:=T:=1; 不能有两个赋值号在一个语句中; X+2:=4; 赋值号左边不能是表达式;
Z=3; 少了冒号;
以下[例3、1]程序的作用是先把A,B两个变量赋上值(3和2),打印在屏幕上;然后再交换它们的值,再打印在屏幕上: var a,b,c:integer; begin a:=3;
b:=2;
writeln(?a=?,a,? ?,?b=?,b); c:=a; a:=b; b:=c;
writeln(?a=?,a,? ?,?b=?,b); end.
a=3 b=2 a=2 b=3
二、竞赛练习
求三角形面积:给出三角形的三个边长为a,b,c,求三角形的面积。 提示:根据海伦公式来计算三角形的面积:
a?b?c S=
2;Area=
S(S?a)(S?b)(S?c)
程序名:01.pas
其中
4?2 9?3 16?? sqrt(4)=2 sqrt(9)=3 sqrt(16)=?
6
第五章
一、知识点拨
1、下面三段程序运行结果一样吗? Var a:integer; Var a:integer; Var a:integer; B:real; B:real; B:real; Begin Begin Begin A:=2; A:=2; A:=2; B:=2; B:=2; B:=2; Writeln(b/a); Writeln(a/a); Writeln(a div a); End. End. End. 2、如果a,b,c的值分别是2,4,6。执行下列语句后,a,b,c的值各是多少? A:=b;b:=c;c:=a; B:=c;c:=a;a:=b; C:=a;a:=b;b:=c; T:=a;a:=b;b:=c;c:=t;
3、写出下列每小段程序的运行结果(只是程序的一部分): A.write(?*?);write(?*?);write(?*?);write(?*?); B.writeln(?*?);writeln(?*?);writeln(?*?);writeln(?*?);
C.write(?*?);writeln;write(?*?);writeln;write(?*?);writeln;write(?*?);writeln; D.write(??);writeln(?*?);write(??);writeln(?*?);write(??);writeln(?*?);write(??) ;writeln(?*?);
二、竞赛练习
1、编一程序,从键盘输入整数A,B的值,然后把A,B的值交换后输出。
2、从键盘输入两个整数,打印出更小的那个数。
7
第六章
一、知识点拨
布尔类型
要判断“A>B”是否成立,其结果不是一个具体的数值,而是“真”或“假”,即“是”或“否”的问题。这类问题在我们日常生活中是很多的,诸如这类判断的问题,其结果都是只有两个:真或假,这就是我们所说的布尔运算(逻辑运算)。
一、 布尔常量和布尔变量
布尔型的常量或变量的值只有两个:TRUE(真)和FALSE(假)。要把一个变量定义成布尔类型,用的数据类型是:BOOLEAN。例如程序: var a,b:boolean; begin a:=true; b:=false; ?? end.
二、 布尔表达式
布尔表达式有以下两种操作:
1、关系运算符:=;<>; >; <; >=; <=,是用来进行关系操作(对比)运算的
符号,其结果为BOOLEAN型。如:2=3,其结果为FALSE。*注意:这里的“=”与赋值符号“:=”是完全不同的,其作用和结果均不同。 2、逻辑运算符:AND(逻辑和);OR(逻辑或);NOT(逻辑非)。是用来
进行逻辑值的 逻辑运算的。如:(2=3)or (4<>3),值为FALSE。
布尔表达式的运算顺序是:()?函数?NOT?*,/.DIV,MOD,AND,+,-,OR?>,<,>=,<=,<>,=。
布尔表达式中的逻辑运算如下表所示:a和b均为布尔型表达式或常/变量. a b A and b A or b Not a Not b true false false true false True true true true true false False false true false true true False false false false false true True 由上可以看出: 1、用AND运算时,左右两个值同为TRUE时,运算结果才为TRUE,即两
个条件同时满足,结果才为TRUE。这就是我们平常所说的“和”。 2、用OR运算时,左右两个值只需有一个为TRUE,运算结果就为TRUE,
即两个条件满足其中一个,结果就为TRUE。这就是我们平常所说的“或”。
8
3、用NOT运算时,只是把其后的逻辑值取反,即“非”。 4、例:[例4、1] Program q41; Var a,b,c,d:integer; 说明四个整数型变量 P:boolean; 说明一个布尔型变量 Begin 程序开始 A:=1; 赋值 B:=2; 赋值 C:=3; 赋值 D:=4; 赋值 P:=(a=b); 把(A=B)这个逻辑运算的结果赋给P,即P Writeln(p); 的值为FALSE P:=((ad) or (c>b)); 打印P End. 打印(a>d) or (c>b)这个逻辑运算的结果 程序结束 程序运行结果是: false true true
由上可以看出:逻辑运算中的关系运算均用括号“()”括起来。关系运算/逻辑运算的结果也是一个值(BOOLEAN型),所有布尔运算也是表达式,可以赋给一个变量,也可以直接用输出语句输出。打印输出时,屏幕上就显示“false”或“true”。
二、竞赛练习
设X,Y,Z的值分别是FALSE,TRUE,FLASE。写出下列逻辑表达式的值:
not x and not y; true and x or y;
(x and z) or (z and y); x or z and y;
(4>5) and (7<8)
(8>9) or ( 9<10)
2 and ((3=3) or (3<7))
9