《顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《顺序结构程序设计.ppt(22页珍藏版)》请在课桌文档上搜索。
1、顺序结构程序设计,第三课,顺序结构流程图:,语句1,语句2,语句3,先后次序,例1将一个两位数的数字反向后组成的数输出,var a,b,x,y:integer;begin readln(x);输入一个数 a:=x div 10;a取十位数字 b:=x mod 10;b 取个位数字 y:=b*10+a;反向的两位数 writeln(y);输出 end.,例2写出程序的运行结果,const a=10;常量说明,a在程序中永远不可变var b,c:integer;d:real;begin b:=20;b:=a+b;c:=b div a+10;d:=b/a+10;“/”运算的结果系统认为是实型 wri
2、teln(c,d);end.输出的结果是:13real 实型变量。(注意与 read 的区别),整型可以当成实型,但实型不能当成整型,要注意配匹。实型转整型可用函数round(四舍五入)trunc(截尾)。,例3写出程序的运行结果,Var a:real;x,y,b:integer;Begin x:=100;y:=258;a:=y/x;b:=trunc(a);Writeln(b);Writeln(round(a);End.输出是:?,例4 交换两个变量的值,方法一:var a,b,t:integer;Begin a:=10;b:=20;t:=a;a:=_;b:=_;Writeln(a,b);En
3、d.注:用变量t作为中间变量来保存a,方法二:var a,b:integer;Begin a:=10;b:=20;a:=a+b;b:=_;a:=_;Writeln(a,b);End.注:不用变量t,而用变量a来保存两个数的和。,一、赋值语句,格式变量标识符:=表达式;可以是常量,变量,算术表达式,逻辑表达式,关系表达式,函数功能:将表达式的值赋给变量标识符,先计算后赋值,具有计算和赋值双重功能说明:“:=”称为赋值号,不能与关系运算符的“=”混淆,“:=”具有方向性,是将右边表达式的值赋予左边变量,左侧只能是变量“:=”两边的数据类型必须相同一个赋值语句只能给一个变量赋值被赋值的变量本身可以作
4、为因子参与运算:如:n:=n+1;(在程序中起到计数器的作用)s:=s+x;(在程序中起到累加器的作用)A:=a*x;(在程序中起到累乘器的作用),Var a,b,c:integer;Begin a:=3;b:=4;b:=a+1;a:=a+1;b:=b+1;c:=b+succ(a);writeln(a,b,c);End.,二、输入语句,读语句有三种格式:read(变量名表);readln(变量名表);readln;,注意1:输入项中的括号内可以是一组变量,多个时用逗号隔开。写在括号中的变量,都要在变量说明中预先说明。如:Read(a,b,c,d)或Readln(a,b,c,d);,注意2:程序
5、运行后,执行到read或readln时,系统处于等待状态,等待用户从键盘上输入数据。输入数据时数值数据之间用空格或回车分隔,最后一个一定用回车表示输入结束。,注意3:如果是字符数据,不需要加,否则系统把单引号作为字符看待;输入多个字符数据时,不能用空格分隔,可以连续输入或用回车键一个一个字符分隔输入.如:readln(a);Readln(b);,例5:Var a,b,c:char;Begin readln(a,b,c);Writeln(b)end.但如果输入:x _ y _z,?,注意4:程序运行后,从键盘输入的数据必须是常量,且输入的数据一定要与变量类型保持一致。注意5:当输入项中的变量为多
6、个时,要求输入的相应数据个数不能少于其变量的个数。当输入多时,后面无效;输入少时,系统仍处于等待状态,表示没有输入完,接着输入的数据无论是换行输入还是不换行输入均有效 注意6:read(读而不换行)与readln(读后换行)注意7:read语句读入数字的时候可以用空格隔开,也可以输入一个数字按回车再输入下一个数字,read与readln的区别:读入后是否换行?,对于下面的输入语句,写出它的读入结果。readln(a,b,c);readln(i,j,k,l);readln(m,n)输入数据:1 2 3 4 56 7 8 9 010 20请写出各个变量的值是多少?,解:读入结果为:1 2 3 4
7、5 a b c 6 7 8 9 0 i j k L 10 20 M N,若程序改为如下格式,结果又发生什么变化read(a,b,c);readln(i,j,k,l);read(m,n),修改后结果为:1 2 3 4 5 a b c i j 6 7 8 9 0 k L 10 20 M N,课堂练习,1、已知有如下说明:var a,b:integer;c,d:real;下列赋值语句合法的是()A、c:=a+b B、a:=trunc(c)C、a:=a+b/c D、b:=a div d2、下列合法的常量是()、.25、”red”、%、3E-2.53、设a、b、c为整型变量,并有以下程序段:read(a
8、);readln(b,c);readln(c,b);readln(a,b);Writeln(a,b,c)若运行时输入:则程序输出()A、123 B、147C、784 D、1454、有下列程序VAR ch1,ch2,ch3:char;BEGIN Readln(ch1);Readln(ch2,ch2);Readln(ch3,ch3,ch3);Writeln(ch1,ch2,ch3)END.若运行时输入右侧文本框里内容,则正确的输出是()A、ryb B、reu C、rdl D、blu5、var ch1,ch2:char;x:integer;Begin read(ch1,ch2);readln(x);
9、Writeln(ch1+ch2);writeln(x)End.输入:34 7 输出:,1 2 34 5 67 8 9,red yellow blue,A,B,C,D,编程题,1、输入一个三位数,要求反向输出这个三位数。样例:输入:231 输出:132提示:若三位数是x,个位、十位、百位上的数字分别为:ge,shi,bai,则有:ge:=x mod 10;shi:=x div 10 mod 10;或者是 shi:=x mod 100 div 10 bai:=x div 100输出的数若是y,则y:=ge*100+shi*10+bai;2、输入一个学生的三门课的成绩,编写程序,计算并输出他的平均成
10、绩。输入的成绩全是整数,输出的平均成绩通过四舍五入,只保留整数位。样例:输入:90 80 70 输出:80,三、输出语句,输出语句输出语句又称写(write)语句。一、三种格式如下:write(输出量表);输出后不换行writeln(输出量表);输出后换行writeln;输出一个回车符,强行将输出光标转到下一行二、注意事项1、输出量可以是:变量。输出变量的值。输出多个变量时,变量间用“,”分隔。表达式。输出的是表达式的值。常量。直接输出常量值。(数值、字符常量、字符串、布尔量)输出项中加单引号的内容将会原样显示出来。如:writeln(1+2)输出:3 但:writeln(1+2)输出:_,输
11、出一个实型数据标准场宽为24,且是以科学计数形式输出来的,其余类型是按实际长度输出。,2、场宽的限制在输出不同格式的数值时的作用:单场宽形式:X:nX 代表输出项,n表示输出项所占的列数。除实型数外,其他类型数据都可以运用。如:writeln(5:3);writeln(OK!:8);a:=123;writeln(a:2);writeln(:5);输出如下:_ _ 5(前面有个空格,输出共是位)_ _ _ _ _ OK!(输出共位,前面有个空格)(要求输出占位,但实际是位,不足,按实际的输出)_ _ _ _ _(输出个空格),右对齐,左补空格,输出项可以是整型、字符型、布尔型,不能是实型,双场宽
12、 格式:X:n1:n2 X表示输出项,n1表示所占的列数,包括符号位、小数点与小数部分;n2表示小数部分的位数,小数部分需四舍五入。双场宽主要针对实型数据。实型数据不带格式限制时,以科学计数法的形式输出,和我们的一般书写习惯不同。如果加上场宽的限制,则可以有不同的效果,如下例:例1var a:real;begina:=15/8;writeln(a);输出 1.8750000000E+00writeln(a:6:3);输出 _ 1.875,共位,小数点保留两位,数据占5位,前面多加1空格writeln(a:0:2);输出 1.88,整数部分按实际位数输出,小数保留两位,四舍五入writeln(a
13、:0:0):输出 2,只输出整数部分,小数部分四舍五入end.,以保证数据正确输出为前提,不改变数值的大小,例 写出下列程序的输出结果:Var a,b:integer;t:boolean;Begin readln(a,b);t:=ab;writeln(t);End.输入:3 1 输出:?输入:1 3 输出:?,复习:数据的四种类型:Integer(整型)Real(实型)Char(字符型)Boolean(布尔型)布尔型是一种判断关系,其数据只有两个:真和假,分别用true(真)false(假)来表示.Falsetrue,有not,and,or,xor四种运算,2=3 的结果是_ 23的结果是 _
14、A=b相当于_,例3:写出结果,例4:输入圆的半径,求圆的周长与面积。例5键盘输入两个小数,经过取整后,将其整数部分交换值后输出。,Var a:integer;b:real;c:char;d:boolean;begin a:=1357;b:=1234.5678;c:=%;d:=true;writeln(a,a:5);writeln(b,b:12:5);writeln(c,c:5);writeln(end:5);writeln(d,d:5);end.,分析:writeln(a,a:5);输出两项,前面一项不控制场宽,后面一项控制场宽。writeln(b,b:12:5);双场宽writeln(c,
15、c:5);字符型数据输出writeln(end:5);输出常量writeln(d,d:5);d 是布尔型变量,值是TRUE,不控制场宽以正常输出,占个字符的位置。请写出结果:,四、复合语句,由若干条语句组成的语句序列,每个语句可以是简单语句,如赋值语句、输入语句、输出语句等格式Begin语句1;语句2;语句n;End;,例6:Var max,min,t:integer;Begin readln(max,min);if max min then begin t:=max;max:=min;min:=t end;Wirteln(max,min);end.,课堂作业,、写出下列程序的运行结果。(1)
16、const sum=20;var I,j,t1:integer;x:real;Begin j:=i+5;J:=j+5;T1:=j div 5;X:=j/5;Writeln(t1);Writeln(t1:3);Writeln(x:8:2);End.(2)const a=10;b=20;var c:real;begin c:=a+b;writeln(50);writeln(a:4);writeln(a+b=,a+b);writeln(c:0:1);end.,(3)var a,b:integer;c:char;p:Boolean;Begin a:=2;b:=3;C:=a;P:=a3;Writeln(
17、c=;c);Write(a*b);Writeln(p);End.,、编程题(1)输出如下的图形(2)输入一个字符,输出该字符的序数值(ord)及它的后继字符。样例:输入:A 输出:65 B 65是它的ASCII码,又称序号,B是它的后继 ord()函数和succ()函数(3)将一个秒数转化成小时、分、秒的格式。样例:输入:100 输出:0:1:40(4)输入两个数,要求打印出它的加法、乘法运算的横式,加法运算的竖式。样例:输入:2 3 输出:2+3=52*3=6 6(5)输入一个四位整数,将其各位数字倒序输出。(可以用字符处理),课后习题:,本PPT第21页上的编写程序(1)(5)共5题简单的编程题,请将5个源程序一起压缩后取自己的名字,如:张三(11月3日作业)或者截图,放在word里,将word文档取名为如:张三(11月3日作业)给我,上传码为pascal2013,