《顺序结构程序设计.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+
2、10;“/”运算的结果系统认为是实型 writeln(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.输出是:
3、输出是:?例例4 交换两个变量的值交换两个变量的值方法一:var a,b,t:integer;Begin a:=10;b:=20;t:=a;a:=_;b:=_;Writeln(a,b);End.注:用变量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.二、输入语句二、输入语句读语句有三种格式
5、: read (变量名表); readln (变量名表); readln ;注意注意1:输入项中的括号内可以是一组变量,多个时用逗号隔开。写在括号中的变量,都要在变量说明中预先说明。如:Read (a,b,c,d) 或Readln (a,b,c,d);注意注意2:程序运行后,执行到read或readln时,系统处于等待状态,等待用户从键盘上输入数据。 输入数据时数值数据之间用空格或回车分隔,最后一个一定用回车表示输入结束。注意注意3:如果是字符数据,不需要加如果是字符数据,不需要加 ,否则,否则系统把单引号作为字符看待;系统把单引号作为字符看待;输入多个字符数据时,不能用空格分隔,可以连输入多
6、个字符数据时,不能用空格分隔,可以连续输入或用回车键一个一个字符分隔输入续输入或用回车键一个一个字符分隔输入.如:如:readln(a););Readln(b) ;例例5:Var a,b,c: char;Begin readln (a,b,c); Writeln (b)end.但如果输入:但如果输入:x _ y _z注意注意4:程序运行后,从键盘输入的数据必须是常量,且输入的数据一定要与变量类型保持一致。注意注意5:当输入项中的变量为多个时,要求输入的相应数据个数不能少于其变量的个数。当输入多时,后面无效;输入少时,系统仍处于等待状态,表示没有输入完,接着输入的数据无论是换行输入还是不换行输入
7、均有效 注意注意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 5 a b c 6 7 8 9 0 i j k L 10 20 M N若程序改为如下格式,结果又发生什么变化
8、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); readln (b , c); readln ( c ,
9、 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); readl
10、n (x); Writeln(ch1+ch2); writeln (x) End. 输入:34 7 输出:1 2 34 5 67 8 9red yellow blue编程题编程题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、输入一个学生的三门课的成绩,编写程序,计算
11、并输出他的平均成绩。输入的成绩全是整数,输出的平均成绩通过四舍五入,只保留整数位。样例:输入:90 80 70 输出:80三、输出语句三、输出语句 输出语句输出语句输出语句又称写(write)语句。一、三种格式如下: write(输出量表);输出后不换行 writeln(输出量表);输出后换行 writeln;输出一个回车符,强行将输出光标转到下一行二、注意事项1、输出量可以是: 变量。输出变量的值。输出多个变量时,变量间用“,”分隔。 表达式。输出的是表达式的值。 常量。直接输出常量值。 (数值、字符常量、字符串、布尔量) 输出项中加单引号的内容将会原样显示出来。 如:writeln(1+2
12、) 输出:3 但:writeln(1+2) 输出:_输出一个实型数据标准场宽为输出一个实型数据标准场宽为24,且是以科学计数形式输出来的,其且是以科学计数形式输出来的,其余类型是按实际长度输出。余类型是按实际长度输出。 2、场宽的限制在输出不同格式的数值时的作用:单场宽单场宽形式:X : nX 代表输出项,n表示输出项所占的列数。 除实型数外除实型数外,其他类型数据都可以运用。如:writeln(5:3); writeln(OK!:8); a:=123; writeln(a:2); writeln( :5); 输出如下: _ _ 5 (前面有个空格,输出共是位)_ _ _ _ _ OK!(输出
13、共位,前面有个空格)(要求输出占位,但实际是位,不足,按实际的输出)_ _ _ _ _ (输出个空格)右对齐,左补空格右对齐,左补空格输出项可以是整型、字符型、输出项可以是整型、字符型、布尔型,不能是实型布尔型,不能是实型双场宽双场宽 格式:X:n1:n2 X表示输出项,n1表示所占的列数,包括符号位、小数点与小数部分;n2表示小数部分的位数,小数部分需四舍五入。双场宽主要针对实型数据。 实型数据不带格式限制时,以科学计数法的形式输出,和我们的一般书写习惯不同。如果加上场宽的限制,则可以有不同的效果,如下例:例例1var a:real;begin a:=15/8;writeln(a);输出 1
14、.8750000000E+00writeln(a:6:3); 输出 _ 1.875 , 共位,小数点保留两位,数据占5位,前面多加1空格 writeln(a:0:2);输出 1.88,整数部分按实际位数输出,小数保留两位,四舍五入 writeln(a:0:0):输出 2 ,只输出整数部分,小数部分四舍五入end.以保证数据正确输出为前提,不改变数值的大小以保证数据正确输出为前提,不改变数值的大小例例 写出下列程序的输出结果:Var a ,b :integer; t : boolean;Begin readln (a, b); t:=ab; writeln(t);End.输入:3 1 输出:?输
15、入:1 3 输出:? 复习:数据的四种类型: Integer(整型) Real (实型) Char (字符型) Boolean (布尔型) 布尔型是一种判断关系,其数据只有两个:真和假,分别用true(真)false(假)来表示. Falsetrue,有not,and,or,xor四种运算2=3 的结果是_ 23的结果是 _A=b相当于_运算类型运算类型运算符运算符操作数类型操作数类型结果类型结果类型算术运算符,*整数或实数整数或实数/整数或实数整数或实数Div ,mod整数整数整数整数关系运算符,除文件类型以外各种数据类型布尔型标准类型,枚举型,子界型=标准类型,枚举型,子界型,集合in顺序
16、类型,集合逻辑运算Not,and,or,xor布尔布尔型集合运算,*集合集合赋值运算:=除文件类型以外各种数据类型除文件类型以外各种数据类型例例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,c:5);字符型数据输出writeln(end:5);输出常量writeln(d,d:5);d 是布尔型变量,值是TRUE,不控制场宽以正常输出,占个字符的位置。请写出结果:四、复合语句四、复合语句由若干条语句组成的语句序列,每个语句可以是