1、2010/9/1第三讲第三讲 顺序结构程序顺序结构程序主要内容:主要内容:1 1、读语句、读语句2 2、赋值语句、赋值语句3 3、写语句、写语句一、读语句一、读语句功能:通过输入设备(键盘)给变量提供数据输入语句的格式:read();readln();变量表名:用逗号隔开的变量标识符读语句读语句readread语句语句 语法:read(a1,a2,an);等价于:read(a1);read(a2)read(an);语句执行原理:当程序执行到语句执行原理:当程序执行到read语句时,程序就会停下来语句时,程序就会停下来等待用户输入数据,然后存入相应的变量中。等待用户输入数据,然后存入相应的变量中
2、。program ex;var n,m:real;begin read(m,n);n:=m+n;writeln(n=,n);end.program ex;program ex;varvar n:real;n:real;k:k:booleanboolean;e:integer;e:integer;f:char;f:char;beginbegin read(n,e,k);read(n,e,k);writeln writeln(n,e);(n,e);read(n,e,f);read(n,e,f);writeln writeln(n,e,f);(n,e,f);read(k);read(k);write
3、ln writeln(k);(k);end.end.1.1.整型和实型变量可以共用整型和实型变量可以共用 一个读语句。一个读语句。2.2.但字符型变量不能与整型但字符型变量不能与整型 实型变量共用一个读语句。实型变量共用一个读语句。3.3.布尔型变量不能使用布尔型变量不能使用readread语语 句读入。句读入。读语句读语句read语句的执行过程(对于语句read(a);)1.1.当当a a是字符型变量是字符型变量readread(a a)执行时,从键盘读入一)执行时,从键盘读入一个字符(包括空格),存入变量个字符(包括空格),存入变量a a。2.2.当当a a是整型或实型变量,是整型或实型变
4、量,readread(a a)执行时,系统读)执行时,系统读入一个形成数的序列,遇到不能形成数的字符入一个形成数的序列,遇到不能形成数的字符(空空格符格符),停止读入,将所读取的数存入变量,停止读入,将所读取的数存入变量a a。3.3.当当a a是整型变量时,读入的数必须是整型;当是整型变量时,读入的数必须是整型;当a a是实是实型变量时,读入的数可以是整型也可以是实型。型变量时,读入的数可以是整型也可以是实型。(数据相容性原理)(数据相容性原理)读语句读语句例题例题:program text2;program text2;varvar a,c:integer;a,c:integer;b1,b
5、2,b3:real;b1,b2,b3:real;ch1,ch2:char;ch1,ch2:char;beginbegin read(ch1,ch2);read(ch1,ch2);read(b1,b2,a,c,b3);read(b1,b2,a,c,b3);end.end.结果结果:ch1=x ch2=y:ch1=x ch2=y b1=3.0 b2=4.1 b1=3.0 b2=4.1 a=15 c=3 a=15 c=3 b3=-2.5 b3=-2.5输入:输入:xyxy 3 4.1 15 3 -2.5 3 4.1 15 3 -2.5读语句读语句readln语句语句执行原理:当程序执行到执行原理:当
6、程序执行到readlnreadln时就自动跳到下一行时就自动跳到下一行准备读下一行的数据。不管当前行的数据是否读完。准备读下一行的数据。不管当前行的数据是否读完。语法语法:read(a1,a2,:read(a1,a2,an);an);等价于:等价于:read(a1);read(a2)read(a1);read(a2)read(an);read(an);readlnreadln;读语句读语句readln语句语句program text2;program text2;varvar a,c:integer;a,c:integer;b1,b2,b3:real;b1,b2,b3:real;ch1,ch2
7、:char;ch1,ch2:char;beginbegin read(ch1,ch2);read(ch1,ch2);readln readln(b1,b2,a);(b1,b2,a);read(c,b3);read(c,b3);end.end.输入:输入:xyxy 3 4.1 15 3 -2.5 3 4.1 15 3 -2.5 5 -5.5 8 5 -5.5 8结果结果:ch1=x ch2=y:ch1=x ch2=y b1=3.0 b2=4.1 b1=3.0 b2=4.1 a=15 c=5 a=15 c=5 b3=-5.5 b3=-5.5读语句读语句读语句读语句lreadln语句可以不带变量名语
8、句可以不带变量名.read语句必须跟变语句必须跟变量名量名(read(变量列表变量列表).l语句语句read只管接收数据,语句只管接收数据,语句readln接收完数据接收完数据后,还把同行的其它数据全部宣布作废。后,还把同行的其它数据全部宣布作废。l作用作用:单独的单独的readln;语句在程序中起着暂停作用语句在程序中起着暂停作用,按按enter键继续键继续,通常起着调试程序的作用通常起着调试程序的作用.read语句与语句与readln语句的语法特点语句的语法特点:读语句相关练习读语句相关练习(课堂作业课堂作业)program ex;program ex;varvar n,e,k,f:rea
9、l;n,e,k,f:real;beginbegin read(n,e,f,k);read(n,e,f,k);writeln writeln(n);(n);readln readln;writeln writeln(e);(e);readln readln;writeln writeln(f);(f);readln readln;writeln writeln(k);(k);end.end.1、试一试下面程序、试一试下面程序变量变量说明说明 var a,b,c,d:integer;执行结果执行结果 a b c d 程序程序段一段一 read(a);readln(b,c);read(d);程序程序
10、段二段二 readln(a);read(b,c);read(d)输入输入数据数据 1 2 3 4 56 7 82、完成表格:、完成表格:二、写语句二、写语句将计算结果和其它数据传送到显示器的输出操作将计算结果和其它数据传送到显示器的输出操作写语句的两种形式:写语句的两种形式:Write(Write()WritelnWriteln()写语句写语句输出项的种类:输出项的种类:4类类1.1.表达式:表达式:write(round(write(round(sqrsqr(2.2)+1)div 2(2.2)+1)div 2)write(10080);write(100=0 r=0 格式为:格式为:#.#E
11、#.#E*#r=0 rc;writeln(b);writeln(b:10);writeln(hello pascal b=:25,b:10);end.字符常量和布尔型变量也可以域宽可控的格式输出字符常量和布尔型变量也可以域宽可控的格式输出课堂练习:课堂练习:三、赋值语句三、赋值语句功能功能:对文件类型以外的任何类型的对文件类型以外的任何类型的变量变量赋值赋值赋值语句的格式:赋值语句的格式:=语句执行过程:先计算语句执行过程:先计算(表达式的值表达式的值),后赋值(赋给变量标识符)后赋值(赋给变量标识符)赋值语句赋值语句例如:program ex;const x=*;var n,m:real;k
12、:boolean;c:char;e,f:integer;begin n:=1.0;e:=1;f:=1;c:=x;n:=n-1;m:=3*n+n*n k:=e=f n:=eend.结论:变量的类型与结论:变量的类型与赋值符后面的表达式赋值符后面的表达式的类型必须相同的类型必须相同下面哪些赋值语句是合法的哪些是不合法的结论:可以将整型数据赋值结论:可以将整型数据赋值给实型变量,但是不能将实给实型变量,但是不能将实型数据赋给整型变量型数据赋给整型变量program ex;var n,:real;k:boolean;e,f:integer;begin n:=1.0;e:=1;f:=1;n*n-6*e*
13、f:=0;k:=e;n:=e;f:=n;end.赋值语句赋值语句1.1.赋值号(赋值号(:=:=)左边只能是变量,而不允许是表达式)左边只能是变量,而不允许是表达式2.2.赋值号(:赋值号(:=“赋值符号赋值符号”)与等号()与等号(=“比较操作比较操作符符”)是完全不同的。)是完全不同的。3.3.变量可以多次进行赋值变量可以多次进行赋值4.4.被赋值的变量可以作为因子参与运算;被赋值的变量可以作为因子参与运算;注意:注意:5.5.对于任何一个变量必须首先赋值对于任何一个变量必须首先赋值,然后才能引用然后才能引用,否否则则,未赋初值的变量将以一个随机值参与运算未赋初值的变量将以一个随机值参与运
14、算.6.6.赋值号两边的类型必须相同赋值号两边的类型必须相同,但但整数和实数整数和实数遵守赋值遵守赋值相容性原理相容性原理.赋值语句赋值语句例题例题program text2;program text2;varvar a,b:integer;a,b:integer;beginbegin a:=3 a:=3;b:=2;b:=2;writeln writeln(a=a=,a,a,b=b=,b);,b);a:=a+b;a:=a+b;writeln writeln(a=a=,a);,a);b:=a-b;b:=a-b;a:=a-b;a:=a-b;writeln writeln(a=a=,a,a,b=b=,b);,b);end.end.结论结论:变量的值是最近一次赋值语句执行后变量的值变量的值是最近一次赋值语句执行后变量的值.赋值语句赋值语句program text3;const a=*;b=5;var x,y:integer;m,n:char;a1,a2:real;b1,b2:boolean;课堂练习课堂练习下列语句哪些是正确的哪些是错误的下列语句哪些是正确的哪些是错误的X:=y+b;y:=a1+3*h;a1:=x+y;a2:=3+b;b1:=(31)and(bpred(n)y:=9/3;a1:=a1+5