Pascal基本语句_.doc_第1页
Pascal基本语句_.doc_第2页
Pascal基本语句_.doc_第3页
Pascal基本语句_.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序的结构: 程序由程序首部和分程序组成。 分程序又由说明部分和语句部分组成。 PROGRAM 程序名(程序参数表) 一般省略不写 LABEL 标号说明; CONST 常量说明; TYPE 类型说明; VAR 变量说明; FUNCTION 函数说明; PROCEDURE 过程说明; BEGIN 语句1; 语句2; 语句 END。 对于每个具体程序不一定包括上述全部说明,若出现必须按上述先后顺序出现。每行可以有多个语句;也可一个语句分多行,但注意分行位置。1) 布尔常量在PASCAL语言中,逻辑运算的值“真”或“假”是“TRUE”或“FALSE”这两个布尔常量来表示的,使用与,与数值型常量可以用符号常来表示一样,也可以在程序的说明部分,用布尔型常量来定义布尔常量,如:CONST T=TURE ;F=FALSE;在程序中用T代表真,F代表假,WRITE(T,F);打印的结果就是TURE FALSE。2) 布尔变量布尔变量对应着用来存放一个逻辑值的内存空间,存放一个布尔常量。它与数值变量一样也必须先定义后使用。如:VAR T,F:BOOLENA;3) 关系表达式常用的关系运算符有:、=、=、=共六个。A、 数值型的数据比较,如136其值为TRUE;98=89其值为FALSE。B、 对其它类型数据的比较,则按照其序号来进行比较如ad其值是FALSE。4) 逻辑运算逻辑运算有三个运算符:NOT(逻辑非)、AND(逻辑与)、OR(逻辑或)。逻辑非的作用是改变参加运算的布尔型数据的逻辑值。如:NOT TRUE的逻辑值是FLASE。逻辑与是两边都是真的时候,表达式的结果才为真,否则为假。如:(A0)AND(B0)表示只有A0并且B0均成立,表达式结果才为真。逻辑或表示两边有一个为真的时候,表达式的结果为真,否则为假。如:(A0)OR(B0)表示(A0)或者(B0)时,表达式结果才为真。运算顺序:括号函数、NOT*、/、DIV、MOD、AND+、-、OR、=、=、=条件语句在日常生活中经常存在两者选一的情况,比如:打开邮箱,输入密码,如果输入正确就可以进入,否则不可以进入。这种情况,在结构化程序中我们称之为选择结构。选择结构的特点是根据给定的条件判断在两条(或多条)可能的路径中选择一条,两条路径分别作不同的处理,即当条件成立时执行A语句,不成立时执行B语句。 IF语句:格式一:IF 条件 THEN 语句1;格式二:IF 条件 THEN 语句1 ELSE 语句2;(为了便于阅读在书写时写成锯齿形式,可使程序结构清晰,易于阅读。这里的条件一般是布尔表达式,或者是一个布尔型变量,当它的取值为真(true)时,就选择then后的语句执行,当它取值为假(false)时,就选择else后的语句执行,then和else后的语句可以是单个语句,当需要多条语句时,必须用begin和end 括起来成为复合语句。例题1:若A=TURE,B=FALSE,X=7,Y=12,M=3,N=35,求下列布尔表达式的值。A AND NOT(MN) AND (XY-M) OR (A OR B)例题2:输入一个数X,要求不使用ABS函数,输出其绝对值。PROGRAM LT2;VARX:REAL; BEGINREADLN(X);IF X0 THEN WRITELN(-N) ELSE WRITELN(X); END. 节日期间,某超市购物优惠规定:所购商品不超过100元时,按九折付款,如超过100元,超过部分按七折收费。编一程序完成超市自动计费的工作。PROGRAM LT3;VAR W,X;REAL;BEGINREAD(W);IF W0 DO BEGIN Writeln (k); k:=k-1 END; 其中 (1)WHIlE 和DO是PASCAL保留关键字,是WHILE循环语句的组成部分。 (2)保留关键字DO后面的“语法”只能是一条语句,称为“循环体”;如果循环体中需要包含多个语句则应该如上例所示,采用一条复合语句。 2,WHILE循环的执行功能 当执行到WHILE语句时 (1)求出布尔表达式的值 (2)若布尔表达式的值为真,则执行循环体内的语句;若为“假”,执行步骤4 (3)重复步骤1和2 (4)循环结束,执行循环后面的语句。 三、REPEAT-UNTIL和WHILE类型的循环 1,REPEAT-UNTIL类型的循环的执行形式 REPEAT 语句1 语句2 语句n UNTIL 布尔表达式 例如:以下循环求n=1+2+3+100 n:=0;t:=i; REPEAT n:=n+t; t:=t+1; UNTIL t100; 其中 (1)REPEAT和UNTIL是PASCAL保留关键字。 (2)在REPEAT和UNTIL之间的语句构成循环。在它们之间可以有任意多个语句,这一点和FOR,WHILE循环不同,FOR,WHILE循环体在语法上只允许一条语句。 2,REPEAT-UNTIL循环的执行功能 (1)遇到REPEAT语句后,即进入循环体,顺序执行循环体内的语句。 (2)遇到UNTIL语句后,求布尔表达式的值。若值为假,则返回步骤1;若为“真”,执行步骤3 (3)循环结束,执行UNTIL后面的下一条语句。 四、多重循环结构求100-999中的水仙花数,(若三位数abc,abc=a*a*a+b*b*b+c*c*c,则称abc为水仙花数。如153=1+125+27=153,则153是水仙花数。)program p4_4var a,b,c:integer;beginfor a:=1 to 9 do for b:=0 to 9 do for c:=0 to 9 do if a*a*a+b*b*b+c*c*c=a*100+b*10+c then write(a*100+b*10+c:6);readlnend.Program p4_4_2Var m,a,b,c:integer;Begin For m:=100 to 999 doBegin A:=m div 100; B:=(m mod 100) div 10;C:=m-a*100-b*10;If a*a*a+b*b*b+c*c*c=m then write (m:6);End;Readln;End.题:1.PROGRAM GAO7_1;VAR P,Q,S,T:INTEGER;BEGINREADLN(P);FOR Q:=P+1 TO 2*P DOBEGINT:=0;S:=(P*Q)MOD(Q-P);IF S=0 THEN BEGIN T:=P+Q+(P*Q)DIV(Q-P);WRITE(T:4);END; END;END. 输入12输出 2.PROGRAM GAO7_2;VAR I,J,H,M,N,K:INTEGER;B :ARRAY1.10OF INTEGER;BEGINREADLN(N);FOR I:=1 TO 10 DOBEGINM:=N;J:=11;WHILE M0 DOBEGIN J:=J-1;BJ:=M MOD 10;M:=M DIV 10 END;FOR H:=J TO 10 DO N:=N+BH;END; WRITELN(N);END. 输入1234输出: 3.PROGRAM GAO7_3;VAR X,Y1,Y2,Y3:INTEGER;BEGINREADLN(X);Y1:=0;Y2:=1;Y3:=1;WHILE Y2=X DOBEGINY1:=Y1+1;Y3:=Y3+2;Y2:=Y2+Y3 END;WRITELN(Y1);END.输入:23420输出:4 PROGRAM P31; VAR i,s,t:Integer;BEGIN t:=0; s:=0; FOR i:=-5 TO 5 DO BEGIN t:=t+1; s:=s+t+i END; Writeln(i=,i); Writeln(t=,t); Writeln(s=,s)END.5 PROGRAM P32; VAR i,j,k,s:Integer;BEGIN s:=0; FOR i:=3 DOWNTO 1 DO BEGIN FOR j:=1 TO 3 DO BEGIN k:=0; REPEAT k:=k+1; s:=s+k UNTIL k=j END; s:=s-k-1 END; Writeln(s=,s)END.6 PROGRAM P33;VAR i,j,k,n:Byte; a:ARRAY 1.20,1.20 OF Byte;BEGIN n:=5; i:=1; j:=1; FOR k:=1 TO n*(n+1) DIV 2 DO BEGIN ai,j:=k; IF Odd(j) THEN IF i=n+1-j THEN BEGIN i:=i-1; j:=j+1 END ELSE i:=i+1 ELSE IF i=1 THEN j:=j+1 ELSE i:=i-1 END; FOR i:=1 TO n DO BEGIN FOR j:=1 TO n+1-i DO Write(ai,j:3); Writeln END; ReadlnEND.7 program P34;var n,jr,jw,jb:integer; ch1:char; ch:array1.20d char; beginreadln(n);for i:=1 to n do read(chi):jr:=1;jw=n;jb:=n;:while (jr0)dobeginj:=j-1;aj:=nmod10;n:=ndiv10;end;s:=0;fori:=jt020dos:=s*p+ai;writeln(s);j:=21;while(sO)dobeginj:=j-1;aj:=smodq;s:=sdivq;end;fori:=jto20dowrite(ai);readln;end.输入:730518输出: 10、programexp1;vari,j,k,n,L0,L1,LK:Integer;a:array0.20ofinteger;beginreadln(n,k);fori:=0ton-1doai:=i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论