《pascal第二讲(顺序结构).ppt》由会员分享,可在线阅读,更多相关《pascal第二讲(顺序结构).ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本节课内容结构本节课内容结构:1.1.赋值语句赋值语句2.2.输入语句输入语句3.3.输出语句输出语句4.4.实例实例5.5.小结小结通过上节课的学习你已经懂得了通过上节课的学习你已经懂得了PascalPascal语言的一些基本概语言的一些基本概念念,但这些概念不仅多而且很抽象但这些概念不仅多而且很抽象,我们只有在实际操作我们只有在实际操作过程中才能懂得过程中才能懂得,所以大家要多动手写程序所以大家要多动手写程序.所有的程序都可以只用所有的程序都可以只用3 3种控制结构组成种控制结构组成顺序结构、选顺序结构、选择结构和循环结构,今天我们就来学习其中的顺序结构。择结构和循环结构,今天我们就来学习
2、其中的顺序结构。所谓顺序结构就是一条语句接着一条语句写下来所谓顺序结构就是一条语句接着一条语句写下来,按照从按照从上到下的顺序执行上到下的顺序执行,运行到最后一条语句就结束整个程运行到最后一条语句就结束整个程序序,下面介绍顺序结构中最常用的几条语句下面介绍顺序结构中最常用的几条语句.2.2.赋值语句赋值语句 在程序中,语句用来描述要实现的操作。在所有语句中,在程序中,语句用来描述要实现的操作。在所有语句中,最基本的就是赋值语句,它用来给变量提供数据。最基本的就是赋值语句,它用来给变量提供数据。赋值语句格式:赋值语句格式:变量标示符变量标示符:=:=表达式表达式;赋值语句的执行是先计算后赋值赋值
3、语句的执行是先计算后赋值,即先计算表达式的值即先计算表达式的值,然后赋给变量标示符然后赋给变量标示符.例如例如:x:=2*8,:x:=2*8,是先计算是先计算2*82*8的值的值16,16,然后再赋给然后再赋给x,xx,x最后最后的结果为的结果为1616请大家看一个程序请大家看一个程序,分析一下分析一下b,c,db,c,d的值为多少的值为多少?program p3_1(input,output);program p3_1(input,output);const a=128;const a=128;varvar b,d:integerb,d:integer;c:realc:real;begin
4、begin b:=a div 16;b:=a div 16;c:=a/b;c:=a/b;d:=a;d:=a;end.end.程序中可以加上必要的注释程序中可以加上必要的注释,例如例如:program p3_1(input,output);program p3_1(input,output);const a=128;const a=128;定义定义a a为符号常量为符号常量,值为值为128128 varvar b,d:integerb,d:integer;/;/定义定义b,db,d为整型变量为整型变量 c:realc:real;/;/定义定义c c为实型变量为实型变量 begin begin b
5、:=a div 16;b:=a div 16;c:=a/b;c:=a/b;d:=a;d:=a;end.end.说明说明:”:=“”:=“为赋值符号为赋值符号,不要与不要与”=“=“混淆混淆.赋值符号有赋值符号有方向性方向性,左边只能是变量左边只能是变量,如如-x:=1-x:=1是非法的是非法的.赋值号两边的类型应该相同赋值号两边的类型应该相同,但有一个特例但有一个特例:整型可赋整型可赋值给实型变量值给实型变量(因为整型可以当实型使用因为整型可以当实型使用)一个赋值语句只能给一个变量赋值一个赋值语句只能给一个变量赋值,如如x+yx+y:=6:=6是非法的是非法的,变量可以被多次赋值变量可以被多次
6、赋值,但只保留最后一次的值但只保留最后一次的值.被赋值的变量可以作为表达式因子参与运算被赋值的变量可以作为表达式因子参与运算,如如 i:=i+1i:=i+1,意思是把意思是把i i当前的值比如当前的值比如4 4加上加上1 1后再赋值给后再赋值给i,i,此时此时i i为为5.5.程序中常用程序中常用i:=i+1i:=i+1作计数器作计数器,i:=,i:=i+xi+x作累加器作累加器,i:=i*x,i:=i*x作作累乘器累乘器.如如:i:=2,x:=3,:i:=2,x:=3,则依次执行一遍这则依次执行一遍这3 3条语句后条语句后i i为为?赋值语句右边的变量在赋值后一般不会发生改变赋值语句右边的变
7、量在赋值后一般不会发生改变,有一有一种例外种例外,你知道吗你知道吗?下面再来看一段程序下面再来看一段程序 分析分析 a a和和b b的值的值program p3_2(input,output);program p3_2(input,output);varvar a,b:integera,b:integer;begin begin a:=1;b:=2;a:=1;b:=2;a:=b;b:=a;a:=b;b:=a;end.end.3.3.输入语句输入语句 实际操作中实际操作中,变量的值不一定能事先知道变量的值不一定能事先知道,有时需要由用有时需要由用户自行输入户自行输入.输入语句的格式输入语句的格式
8、:格式格式1 read1 read;格式格式2 2 readlnreadln(););执行该语句时执行该语句时,程序进入等待状态程序进入等待状态,屏幕上光标闪烁屏幕上光标闪烁,输输入的数据入的数据依次依次赋给变量表中的变量赋给变量表中的变量,输入完毕后输入完毕后继续执继续执行其他语句行其他语句.说明说明:变量表中的变量可以是一个变量表中的变量可以是一个,也可以是多个也可以是多个,多个时要有多个时要有逗号分隔逗号分隔.从键盘读入数据时从键盘读入数据时,数据个数不能少于变量个数数据个数不能少于变量个数,否则系否则系统处于等待状态统处于等待状态.当数据多于变量个数时当数据多于变量个数时,对于对于re
9、adlnreadln语语句便将其忽略句便将其忽略,对于对于readread语句语句,要么将其忽略要么将其忽略(后面没有后面没有输入语句是输入语句是),),要么被下一个输入语句读入要么被下一个输入语句读入(后面有输入后面有输入语句时语句时)输入数值型数据时输入数值型数据时,数据间用空格或回车键分隔数据间用空格或回车键分隔,最后一最后一定要按回车键定要按回车键.输入字符型数据时输入字符型数据时,数据间不能用空格或数据间不能用空格或回车分隔回车分隔,必须连续输入必须连续输入.从键盘上输入的数据必须是常量从键盘上输入的数据必须是常量,且与变量的类型要一且与变量的类型要一致致.readlnreadln后
10、可以没有变量名表后可以没有变量名表,(),()中内容是可选项中内容是可选项.此时该此时该语句只相当于读入了语句只相当于读入了”回车回车”符符.read read与与readlnreadln的关系可以表示为的关系可以表示为:readln(xreadln(x)等价于等价于 read(xread(x););readlnreadln;对于对于3 3个整型变量个整型变量i,j,ki,j,k,若用语句若用语句read(i,j,kread(i,j,k););分别读入分别读入1 2 3,1 2 3,可以有几种输入方法可以有几种输入方法?对于对于3 3个字符变量个字符变量c1,c2,c3,c1,c2,c3,若用
11、若用read(c1,c2,c3);read(c1,c2,c3);分别读入分别读入 dosdos 可以有几种方法可以有几种方法?下面通过例子来具体说明下面通过例子来具体说明readread语句和语句和readlnreadln语句的区别语句的区别read(a,b,cread(a,b,c););read(i,j,kread(i,j,k););输入数据输入数据 1 2 3 4 5 1 2 3 4 5 回车回车 6 7 8 9 10 6 7 8 9 10 回车回车 读入的结果为读入的结果为:a:=1 b:=2 c:=3 i:=4 j:=5 k:=6:a:=1 b:=2 c:=3 i:=4 j:=5 k:
12、=6 7 8 9 10 7 8 9 10 则被忽略掉则被忽略掉readln(a,b,creadln(a,b,c););readln(i,j,kreadln(i,j,k););输入数据输入数据 1 2 3 4 5 1 2 3 4 5 回车回车 6 7 8 9 10 6 7 8 9 10 回车回车 读入的结果为读入的结果为:a:=1 b:=2 c:=3 4:a:=1 b:=2 c:=3 4和和5 5被忽略被忽略 i:=6 j:=7 k:=8 9i:=6 j:=7 k:=8 9和和1010被忽略被忽略4.4.输出语句输出语句 赋值语句和输入语句是向程序提供数据的语句赋值语句和输入语句是向程序提供数据
13、的语句,程序运程序运行结束后行结束后,如何看到运行结果呢如何看到运行结果呢?这就需要用到输出语句这就需要用到输出语句.一个能解决实际问题的程序是不可以没有输出语句的一个能解决实际问题的程序是不可以没有输出语句的.输出语句的格式输出语句的格式:格式格式1 write1 write 格式格式2 2 writelnwriteln()说明说明:输出项可以是一项输出项可以是一项,也可以是多项也可以是多项,输出多项时各项以逗输出多项时各项以逗号分隔号分隔.输出项可以是任何一种标准数据类型输出项可以是任何一种标准数据类型.输出项可以是常量、变量、函数、表达式。输出项可以是常量、变量、函数、表达式。输出项为常
14、数时,直接输出其值输出项为常数时,直接输出其值 输出项为变量时,输出该变量存储单元中的内容输出项为变量时,输出该变量存储单元中的内容 输出项为函数或表达式时,先计算再输出。输出项为函数或表达式时,先计算再输出。writewrite语句输出完最后一项不换行,它至少有一个输出项。语句输出完最后一项不换行,它至少有一个输出项。writelnwriteln语句输出完最后一项后换行,该语句允许没有输语句输出完最后一项后换行,该语句允许没有输出项,只起到换行的作用。出项,只起到换行的作用。writewrite与与writelnwriteln的关系可以表示为:的关系可以表示为:writeln(xwritel
15、n(x););等价于等价于 write(xwrite(x););writelnwriteln;分析以下程序结果分析以下程序结果program p3_7(input,output);program p3_7(input,output);const a=1;b=2;const a=1;b=2;begin begin writeln(awriteln(a););writeln(sqr(3);writeln(sqr(3);writeln(a+bwriteln(a+b););writeln(a+bwriteln(a+b=,=,a+ba+b););write(piwrite(pi=);=);writeln
16、(3.14);writeln(3.14);end.end.输出语句的输出格式输出语句的输出格式 数据类型数据类型 标准场宽标准场宽 实例实例 输出结果输出结果 整型整型 实际长度实际长度 write(7864);7864write(7864);7864 实型实型 1717位位 write(-523.8);-5.23800E+02write(-523.8);-5.23800E+02 字符型字符型 字符长度字符长度 write(Pascalwrite(Pascal)Pascal)Pascal 布尔型布尔型 4 4或或5 5位位 cons t=true cons t=true write(twrit
17、e(t)true)true从上面可以看到从上面可以看到,标准场宽就是实际输出值的宽度标准场宽就是实际输出值的宽度,一般不一般不能满足各种需要能满足各种需要,Pascal,Pascal允许用户自己来定义场宽允许用户自己来定义场宽.自定自定义场宽分为义场宽分为单场宽和双场宽单场宽和双场宽.单场宽单场宽:用来控制整型、字符型、布尔型数据的输出格用来控制整型、字符型、布尔型数据的输出格式式,不能用于实型不能用于实型.格式为格式为 x:nx:n x x表示要输出的项目表示要输出的项目,n,n表示输出时所占的列数表示输出时所占的列数,n,n为正整为正整数数例如例如:设设k k为整数为整数2008,ch20
18、08,ch为字符为字符!,f!,f为布尔值为布尔值true,true,则则 writeln(k:5);writeln(k:5);屏幕显示屏幕显示 空空20082008 writeln(ch:5);writeln(ch:5);屏幕显示屏幕显示 空空空空空空空空!writeln(f:5);writeln(f:5);屏幕显示屏幕显示 空空truetrue writeln(love:5);writeln(love:5);屏幕显示屏幕显示 空空lovelove双场宽双场宽:用来控制实型数据的输出格式用来控制实型数据的输出格式 格式为格式为 x:n1:n2 x:n1:n2 x x表示要输出的项目表示要输出
19、的项目,n1,n1表示输出表示输出x x时所占的总列数时所占的总列数,包包括符号位、整数部分、小数点和小数部分括符号位、整数部分、小数点和小数部分;n2;n2表示小数表示小数部分的列数部分的列数.n1.n1和和n2n2应该为正整数应该为正整数,且且n1n2.n1n2.如如:writeln(197.9:7:2);:writeln(197.9:7:2);屏幕显示屏幕显示 空空197.90197.90 writeln(-1.979:7:2);writeln(-1.979:7:2);屏幕显示屏幕显示 空空空空-1.98-1.98 说明说明:自定义场宽优先级高于标准场宽自定义场宽优先级高于标准场宽单场宽
20、一律右对齐单场宽一律右对齐,双场宽向小数点看齐双场宽向小数点看齐,多余的小数位多余的小数位数补零数补零.当数据突破场宽时当数据突破场宽时,首先保证数据的准确首先保证数据的准确.但双场宽的但双场宽的n2n2限制仍然有效限制仍然有效双场宽的小数部分按四舍五入显示双场宽的小数部分按四舍五入显示,但内存中该数仍是但内存中该数仍是原来的精确度原来的精确度.分析下面程序的结果分析下面程序的结果program p3_9(input,output);program p3_9(input,output);varvar a:integera:integer;b:realb:real;c:charc:char;d:
21、booleand:boolean;begin begin a:=78;a:=78;b:=2003.009;b:=2003.009;c:=%;c:=%;d:=true;d:=true;writeln(a,a:2);writeln(a,a:2);writeln(b,b:5:2);writeln(b,b:5:2);writeln(c,c:2);writeln(c,c:2);writeln(d,d:5);writeln(d,d:5);writeln(zhe:6);writeln(zhe:6);end.end.5.5.实例实例 下面通过几个实例来加深对前面几个语句的理解下面通过几个实例来加深对前面几个语
22、句的理解1)1)鸡兔同笼问题鸡兔同笼问题.已知鸡和兔的总数量是已知鸡和兔的总数量是h,h,鸡和兔的总腿鸡和兔的总腿数是数是f,f,求笼中的鸡和兔各有多少只求笼中的鸡和兔各有多少只?h h和和f f由用户从键盘输入由用户从键盘输入,输出鸡和兔的个数输出鸡和兔的个数 源程序见源程序见 jitutl.pasjitutl.pas2)2)交换两个变量交换两个变量a a和和b b的值的值 比如比如a:=5,b:=9,a:=5,b:=9,怎样操作能将怎样操作能将a a和和b b的值交换的值交换 源程序见源程序见 jiaohuan1.pas jiaohuan2.pasjiaohuan1.pas jiaohua
23、n2.pas3)3)随机产生一个三位自然数随机产生一个三位自然数,找出其中的百位、十位和个找出其中的百位、十位和个位上的数字位上的数字.源程序见源程序见 random.pasrandom.pas小结小结:本节课大家学习了本节课大家学习了3 3种控制结构中最简单的顺序结构种控制结构中最简单的顺序结构,并学习了赋值语句、输入语句和输出语句。现在大家已并学习了赋值语句、输入语句和输出语句。现在大家已经可以编写一些简单的程序了。今天的重点内容是经可以编写一些简单的程序了。今天的重点内容是readread和和readlnreadln以及以及writewrite和和writelnwriteln的区别,大家一定要弄清楚。的区别,大家一定要弄清楚。作业作业输入输入3 3个变量个变量a,b,ca,b,c,将将a a的值传给的值传给b,bb,b的值传给的值传给c,cc,c的值传的值传给给a,a,比如比如:a,b,ca,b,c分别为分别为1,2,3 1,2,3 则程序运行后则程序运行后a,b,ca,b,c变为变为3,1,23,1,2用户输入一个用户输入一个3 3位数位数,将这个将这个3 3位数反序输出位数反序输出,比如比如:用户用户输入输入257,257,则程序运行后输出则程序运行后输出752.752.