Pascal语言4
复习 1.一个变量可以有多次赋值。
2.赋值相容。整数可以赋值给实数型变量,但实数不能赋值给
整型变量。 3.read(变量表); 4. n:=4; n:=n+1; n=? readln(变量表); readln;
5.
x:integer;
y:real; ch1,ch2:char; 说明变量类型
问:语句 read(x,y,ch1,ch2);和语句 read(ch1,ch2, x,y);哪个更好?
请输入下列程序,注意观察和总结。
Program ex(input,output);
const a=2006; ch=‘!’; begin 想过为什么会有这样的输出结果吗?
writeln(a:6);
writeln(‘happy’:9); writeln(‘new’:10); write(‘year’:13); writeln(ch);
那么它呢?
program ex5(input,output);
begin
writeln(-110.1194 :7:3); end.
那么它呢?
program ex6(input,output);
begin
writeln(-110.1195 :9:3);
end.
试编程1: 请输出图形:***** *** * *** *****
6.readln(x);——表示把输入的值赋值给x,然后换行。 readln;——表示不读取数据,直接换行。
编程,求运行结果。
Program ex_1(input,output);Biblioteka readln(x); readln;
Var x,y,z:real; Begin readln(x);
readln(y,z);
格式2: writeln(输出表); writeln语句与write语句的功能基本相同。
区别:
1. writeln语句的各个输出项也是一个连一个,
但是输出完最后一项后就自动换行。
例:write( ‘3’, ‘6’); ——运行结果:36
writeln(‘3’); writeln(‘6’);
运行结果:3 6
总结: 1.在同一个write语句的输出表中,可以包括常量、变量,
表达式或字符、字符串等不同类型的输出项。
2.各输出项之间用逗号隔开,最后一项末尾没有逗号。
3.字符、字符串则去除单引号后原样输出;变量则输出值;
表达式则计算后输出结果。
4. write语句不换行,各个输出项内容连在一起,它们之
间可以用空格‘ ’ 分隔开来。
例1. write(18);——直接输出18 例2.设已定义pi=3.14159
write(pi); ——输出常量pi
例3.设已定义变量x=20
write(x);
——输出变量x的值20
例4. 设已定义变量x:=8; y:=7;
write(x+y); ——先计算表达式x+y的值,
然后输出值。
例5. 设已定义字符串ch1:=‘abcde’;
Program ex3(input,ouput); Begin writeln(‘*****’); writeln(‘***’:4); writeln(‘*’:3); writeln(‘***’:4); writeln(‘*****’); End.
试编程2: 一个长方形的长为10.5cm,宽为4.6cm,
如果输入的数据为 5.2 9.3
6.1 7.4
8.0 2.8
readln;
readln(y,z); writeln(‘x=’ ,x, ‘ y= ’,y, ‘z=’,z); End.
运行结果是:x=?
y=?
z=?
x=5.2
y=8.0
z=2.8
输出语句 —— write语句、writeln语句
格式1: write(输出表);
write (ch1); ——输出字符串abcde
例6.
write(x,y,z,x*y,x+z); write(‘a’, ‘b’ ,‘a+b’); write(a, ‘+’,b, ‘=’,c);
请输入程序1: 注意输出语句中的参数,并观察运行结果。
program test; const r=3; pi=3.14; var zc:real; begin zc:=2*r*pi; write(‘r=’,r, ‘ ’); write(‘2*pi*’,r, ‘=’,zc, ‘ ’); write(2*pi*r); end.
2. write语句至少必须要有一项输出内容; writeln语句允许没有输出项: writeln; ——仅仅起到换行作用
练习: 写出下列程序的结果。 program d4_2(input,output); var a,b,c,s,t:integer; begin a:=7; b:=8; c:=3; 运行结果: s:=a+b*c; s=76 t=45 t:=(a+b)*c; s=76 s:=s+t; t=45 write(‘s=’,s, ‘ ’,‘t=’,t); writeln; writeln(‘s=’,s); writeln(‘t=’,t); end.
场宽
end.
场宽——数据在输出时所占据的列数。
1.在输出值没有达到规定的场宽时,左面剩余列用空格代替。 比如: writeln(2006:6); 输出结果是 空格空格2006
2.不加场宽说明,系统就会按标准场宽输出。
3.当输出值超出定义的场宽时,自定义的场宽失效,系统按 实际位数输出。 比如:writeln(‘happy’:3); 输出结果是 happy
请输入下列程序,注意观察场宽带来的效果。 Program ex2(input,output); const
a=2006.3245;
b=1.234; begin writeln(a); writeln(a:8:2); 双场宽是用来定义实数型数据的输出格式 比如 writeln(a:8:2); a是实数。 8表示输出实数型数的总列数。 2表示小数部分所占的列数。
请把程序1中的write改成writeln,比较运行结果有何不同? program test2(input,output); const r=3; pi=3.14; var zc:real; begin zc:=2*r*pi; writeln(‘r=’,r, ‘ ’); writeln(‘2*pi*’,r, ‘=’,zc, ‘ ’); writeln(2*pi*r); end.
求长方形的周长和面积。 程序中要用到双场宽。
Program ex4(input,output); var x,y,c,s:real; Begin x:=10.5; y:=4.6; c:=(x+y)*2; s:=x*y; writeln(‘zhouchang:’, c:8:1); writeln(‘mianji:’,s:8:2); End.
writeln(b);
writeln(b:5:2); end.
它的执行结果会和你想的一样吗?
program ex4(input,output); begin writeln(-110.1194 :9:3); end. 虽然显示到屏幕的数是-110.119,但计算机
内存中仍是-110.1194。双场宽输出结果并 未改变该数的精确度。