输入输出语句.doc

上传人:marr****208 文档编号:137883351 上传时间:2020-07-12 格式:DOC 页数:7 大小:41KB
返回 下载 相关 举报
输入输出语句.doc_第1页
第1页 / 共7页
输入输出语句.doc_第2页
第2页 / 共7页
输入输出语句.doc_第3页
第3页 / 共7页
输入输出语句.doc_第4页
第4页 / 共7页
输入输出语句.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《输入输出语句.doc》由会员分享,可在线阅读,更多相关《输入输出语句.doc(7页珍藏版)》请在金锄头文库上搜索。

1、输入输出语句一、输入语句例1.1 设一铁管长L=2300厘米,内外径R1和R2分别为2厘米和2.2厘米,要求计算出它的质量(密度d为7.8克/立方厘米)。根据我们学过的知识,可以写出以下程序:program ex1(input,output);var L,R1,R2,m,d:real;Begin L:=2300.0; R1:=2.0; R2:=2.2; D:=7.8; 以上为变量赋初值 M:=3.1416*sqr(R2-R1)*d*L; 根据公式求出铁管的质量mEnd.在数学中,通过以上程序可以求出铁管的质量;但是当你在PASCAL中运行时,如果你想换一下变量的值进行运算,那你该怎么办呢?在程

2、序中变量获得一个确定的值,固然可以用赋值语句,但是如果需要赋值的变量较多,或变量的值经常变化,则使用输入语句,将更为方便。读语句是在程序运行时由用户给变量提供数据的一种很灵活的输入动作,它有两种格式:read(x1,x2,x3,,xn) readln(x1,x2,x3,,xn) 其中变量名表是用逗号隔开的若干个变量名组成的。功能:从标准输入文件(即INPUT,一般对应着键盘)中读入数据,并依次赋给相应的变量说明:(1) read和readln是标准过程名,它们是标准标识符(2)执行到read或readln语句时,系统处于等待状态,等待用户从键盘上输入数据,系统根据变量的数据类型的语法要求判断输

3、入的字符是否合法。如执行read(a)语句,a是整型变量,则输入的字符为数字字符时是合法的,当输入结束时,则自动将刚接受的一串数字字符转换为整数赋给变量a(3)在输入数值型(整型或实型)数据时,数据间要用空格或回车分隔开各个数据,输入足够个数的数据,否则仍要继续等待输入,但最后一定要有回车,表示该输入行结束,直到数据足够,该读语句执行结束,程序继续运行判断正误: readln(a、b、c、d);readln(a+b,c);例1.2 用read语句改写上面的程序program ex2(input,output);var L,R1,R2,d,m:real;Begin Read(L,R1,R2,d)

4、; M:=3.1416*sqr(r1-r2)*d*l;End.当程序运行至read语句时,程序就停下来,等待用户通过键盘输入数据:2300.0 2.0 2.2 7.8 符号表示回车注意:(1) 变量名必须在程序的说明部分预先说明,才可以使用。(2) 变量的数据类型必须与输入的数据类型相同。(3) 输入的数据的顺序必须与变量的顺序相同,否则会出错。(4) 要注意输入数据的个数与变量个数的关系。read语句与readln语句的区别:(1)read语句是一个接一个地读数据,在执行完本Read语句(读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。如:Rea

5、d(a,b); Read(c,d); Read(e); 如果输入数据行如下:1 2 3 4 5 6 则a,b,c,d,e的值分别为1,2,3,4,5,如果后面无读语句则数据6是多余的,这是允许的。 Readln则不同,在读完本Readln语句中变量所需的数据后,该数据行中剩余的数据多余无用,或者说,在读完本Readln语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用(2)read 后一定要有参数表,而readln可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车),经常用于暂停程序的运行,直到输入一个回车 二、输出语句输出语句的作用是将程序运算的结果输出到屏幕或打印

6、机等输出设备,这里通常是指输出到屏幕。(一)输出语句的两种格式1、 write语句 格式:Write(表达式1,表达式2,); 如:write(1,2,3,4); write(1.2,3.4,5); write(My name is Liping); 2、 writeln语句 格式:Writeln(表达式1,表达式2,)或writeln (二)输出语句的功能计算机执行到某一输出语句时,先计算出输出语句中的每个表达式的值,并将每一个表达式的值一个接一个地输出到屏幕上。 Write语句与writeln语句格式上都相似,但它们在功能上有所不同,两个语句的区别为:(1) WRITE连续输出;而WRIT

7、ELN输出完后会自动换行;(2) WRITE至少有1个输出项;而WRITELN可以无,表示换一行;WRITE(X,Y)等价于WRITE(X);WRITE(Y); WRITELN(X,Y)等价于WRITE(X);WRITELN(Y);例2.1:写出结果const a:=10;b:=20:beginwriteln(50);writeln(a);writeln(a+b);writeln(a+b=,a+B);End.例2.2: write(1,2,3,4);write(5,6); 输出为: 123456writeln(1,2,3,4);write(5,6);输出为: 1234 56判断正误: writ

8、eln(a:=sin(30);三输出格式 、固定格式pascal语言为整型量、实型量、布尔型量和字符串( 用一对单引号括起来的字符序列)规定了每种数据所占的宽度(即一个数据占几列),一个数据所占的宽度称为“场宽”;系统给出的隐含场宽称为标准场宽,每一种pascal版本给定的标准场宽不尽相同。有时,在程序中往往根据实际情况,需要自己定义场宽。、指定场宽(自己定义场宽):在写语句中输出项含有格式符号时,就是为了指定场宽指定单场宽格式:write(表达式:N)或writeln(表达式:N),其中N为自然数,指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出;注意:a输出数据也根据定义的场宽向

9、右靠齐。b.若数据实际长度小于指定场宽时,则一律“向右靠齐,左留空格”。C当实际长度大于指定场宽时,系统自动向右延伸至恰好的大小位置,突破原来定义的场宽的大小。而且如果是正整数,符号位自动省略。如write(1234:8);write(abcdef:12) 输出结果: 1234abcdef例3.1 写出下列程序的运行结果program ex31(input,output);vara:integer;b:char;c:Boolean;d:real;begina:25;b:=D; c:=false; d:=3.4521;writeln(a=,a:4);writeln(a=,a:1);writeln

10、(b:4);writeln(c=,c:6);writeln(a*a=,sqr(a):1);writeln(d=d:1);end.指定双场宽如果输出项是实数时,如果希望输出的实数不用科学记数法输出,而用小数形式输出,可以用指定双场宽方法输出,双场宽输出格式为:write(实型表达式:m:n),其中m和n都是自然数,m 用以指定整个数据所占的宽度,n指定输出实数的小数位数,如:write(sqrt(75):9:4); 输出:8.6602如果双场宽不能满足输出数据的最低要求,系统自动突破指定的场宽限制,按实际长度输出,如:write(sqrt(75):5:4); 要使小数点后有4位数字,而总场宽为5

11、,是不可能的(因为还有一个小数点,小数点前面还有一个数字),它最低限度要有6列,即输出为:8.6602(舍弃超过场宽的数据坚持四舍五入原则)例1:写出下列程序的输出结果program ex; const s=abcdefg; var i:integer; r:real; c:char;b:boolean; begin i:=1234;r:=1234.5678; c:=#;b:=true; writeln(i,i:6,i:3); writeln(r,r:12:5,r:8:5,r:8:3); writeln(c,c:5); writeln(s,s:10,s:5); writeln(b,b:5,b:

12、3); end.运行结果如下:123412341234 1.2345678000E+031234.567801234.567801234.568 # abcdefgabcdefgabcdefg TRUETRUETRUE、应用例析例2:已知A=253,B=43,输出A*B的运算式子,即输出如下分析:对于该问题,我们只要控制好输出时右靠齐即可。即前四行的总宽度一样(例如为12),第五行总宽度比前面少1。第六、七行总宽度与前四行一样。 参考程序如下: var a,b:integer; begin a:=253;b:=43; writeln(a:10,*,b,=,a*b); writeln(a:12)

13、; write(*:8);writeln(b:4); writeln(-:12); writeln(a*3:12); write(+:6);writeln(a*4:5); writeln(-:12); writeln(a*b:12); end.例1阅读程序,写出运行结果。 Program ex1(input,output); Var ,b,s,d:integer;L,e,g:boolean; BeginA:=3;b:=7;S:=a+b;d:=a div b;L:= a b; Write(s=,s:5); Writeln(d=,d:5); Writeln(l=,l); Writeln(e=,e,

14、g=,g); Writeln(b/a:5:5) End.例2:某仓库5月1日有粮食100吨,5月2日又调进20吨,5月3日卖出库存的3分之二,5月4日又调进库存的3倍粮食,问该仓库从5月1日到5月4日期间每天的粮食分别是多少吨?(输出每天的库存量) 分析:在这个问题中,主要要描述从5月1日到5月4日期间仓库的粮食库存量,且易知它是不断变化的。因此我们可以用一个变量A来描述仓库的粮食库存量程序可写如下: Program ex1; Var A : integer; Begin A:=100;Writeln(5/1:,A); A:=A+20;Writeln(5/2:,A); A:=A div 3;writeln(5/3:,A); A:=A *4;writeln(5/4:,A);Readln; End. 例3:程序填空有三个小朋友甲乙丙。甲有50粒糖

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号