pascal教程1.doc_第1页
pascal教程1.doc_第2页
pascal教程1.doc_第3页
pascal教程1.doc_第4页
pascal教程1.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

第一章、pascal介绍一、pascal的基本语法单位 1、基本符号 AZ;az;09;+,-,*,/,=,=,(,),:=,;,.,:,., 注意:pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。 2、保留字 AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,MOD,NIL,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH。 注意:所起的文件名不能与保留字相同。 3、标识符 以字母打头的字母数字串,长度小于等于8。 标准标识符(共三十九个): 标准常量: false,true,maxint 标准类型: integer,real,char,boolean,text 标准文件: input,output 标准函数: abs,arctan,chr,cos,eof,eoln,exp,ln,odd,ord,ored,round,sin,sqr,sqrt,succ,trunc 标准过程: get,new,pack,page,put,read,readln,reset,rewrite,unpack,write, writeln二、程序结构 1、由三大部分组成:程序首部,说明部分,语句部分。 PROGRAM 程序名(input,output); 解释 CONST pi=3.14159; VAR r,l,s:real; BEGIN write(input r:); read(r); l:=2*pi*r; write(l=,l,s=,s); END; 2、大量使用标点符号,保留字后不加标点符号(END除外)。 第二章、顺序结构程序设计一、标准数据类型 1、实型(real) 小数表示法、指数表示法 2、整型(integer) 正、负整数和零 maxint=32767 pred:前导;succ:后继 例:pred(3)=2;succ(3)=4; pred(true)=false; succ(false)=true 3、字符型(char) 是指在两个单引号中的一个字符。 ord:取序数 例:ord(A)=65 4、布尔型(boolean) false;true 用于布尔型的运算:NOT、AND、OR ord(true)=1;ord(false)=0二、常量和变量的定义 常量的定义:CONST pi=3.14159; blank= ; 变量的定义:VAR r,l,s:read; cl:char;三、表达式及赋值语句 例:b2-4ac 写成:sqt(b)-4*a*c 赋值:=四、输入输出语句 1、输入语句:read();readln() 注:表达式里面变量与变量之间用逗号隔开; readln表示下一个语句将从下一行开始操作; 输入时,整型或实型用空格或回车隔开,字符型之间无需分隔,一个接一 个输入。 2、输出语句:write();writeln() 注:对real或integer限定场宽:write(a=,a:2:0) a为real型第三章、选择结构程序设计一、if 语句格式:IF THEN ESLE注:1、ELSE与最近的并且未被配对的ELSE配对; 2、复合,如果THEN或ELSE带有多个语句,则要用BEGINEND括起来。二、CASE语句格式:CASE OF : : : ELSE END注:1、值表的三种表达方式:“1:”;“2,4,6:”;“10.100:” 2、CHAR,INTEGER,BOOLEAN有序第四章、循环结构程序设计一、FOR语句格式:1、FOR := TO DO ; 2、FOR:= DOWNTO DO 。例1:输入10个数,求最大值、最小值、和、及平均值。PROGRAM ten(input,output);VAR a,s,max,min,avg:real; i:integer;BEGIN write(please input:); read(a); s:=a; max:=a; min:=a; FOR i:=2 TO 10 DO BEGIN read(a); s:=s+a; IF amax THEN max:=a ELSE IF amin THEN min:=a END; avg:=s/i; writeln();END.例2:求s=1!+2!+3!+10!program sum_fac(input,output);var i,j,s,m:integer;begin s:=0: for j:=1 to 10 do begin m:=1; for j:=1 to i do m:=m*j; s:=s+m; end; write();end;二、while语句 格式:WHILE DO 例1:输入一串字符串,求第一个“,”前的大小写字母个数和其它字符个数。program string(input,output);var ch:char; c,s,o:integer;begin write(); read(ch); c:=0; s:=0; o:=0; while ch, do begin if (ch=A)and(ch=a)and(ch=z) then s:=s+1 else o:=o+1; read(ch); end; write();end.三、REPEAT语句格式:REPEAT UNTIL例:以字符(char)的形式读入一实数,以实形(real)输出该数。第五章、函数与过程程序设计一、函数(包括标准函数和自定义函数) 1、函数的定义 格式:FUNCTION 函数名():返回值类型; VAR BEGIN END 注:1、形参表每个参数都写明其类型; 2、有且只有一个返回值,并且要将返回值赋值给函数名。 例:求五边形的面积 function area(a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c); end; 2、函数的调用 1)、函数的调用必然出现在表达式中(等号的右边),不能以单独地在语句出现 2)、调用时,将每个实参传递给对应的形参 program ml_area(input,output); var l1,l2,l3,l4,l5,l6,l7,s:real; function area(a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c); end; begin write(input); readln(l1,l2,l3,l4,l5,l6,l7); s:=area(l1,l2,l6)+area(l2,l6,l7)+; writeln(s=,s:10:3); end.二、过程格式:PROCEDURE() VAR BEGIN END;例1某过程的形参表为(var a,b:real;c,d:integer;var e:char); 主程序中有如下变量说明:x,y:real; m:integer; next:char; 则以下实参表中合法的有:(1、2、3) 1、(x,y,m+3,70,next) 2、(y,x,m,m,next) 3、(y,x,35,m DIV 10,next) 4、(m,x,30,10,next) 5、(x,y,m,10) 6、(35,0,y,m,10,next) 7、(x,y,m,m/10,next) 8、(A,B,30,10,next)例2求程序输出的结果。program ex(input,output);var x,y,z:integer;procedure s(x:integer; var y:integer); var z:integer begin x:=5; y:=6; z:=7; end;begin x:=1; y:=2; z:=3; s(x,y); writeln(x,y,z);end.输出结果:1 6 3例3:求五个数中的最大值。program max_in_5(input,output);var n1,n2,n3,n4,n5:integer;procedure lagest_in_three(a,b,c:integer;var e:integer) begin e:=a; if be then e:=b; if ce then e:=c; end;begin write(); readln(n1,n2,n3,n4,n5); lagest(n1,n2,n3,n1); lagest(n1,n4,n5,n1); write(n1);end.三、嵌套例:计算、program Cmn(input,output);function fax(x:integer):integer: var i:integer; begin fac:=1; for i:=1 to x do fac:=fac*i; end;function c(a,b:integer):real; begin c:=fac(a)/fac(b)*fac(a-b) end;begin writeln(c(9,3)=,c(9,3); writeln(c(8,5=,c(8,5);end.四、递归 函数或过程调用它本身,称为递归。例1、用递归计算n! =m!/n!(m-n)!program fac_n(input,output);var n:integer;function fac(n:integer):integer; begin if n=1 then fac:=1 else fac:=n*fac(n-1); end;例2、用递归计算 1)、function power(a,b:integer):integer; begin if b=1 then power:=a else power:=a*power(a,b-1); end; 2)、procedure power(a,b:integer;var c:integer); begin if b=1 then c:=a else power(a,b-1,c); c:=a*c; end; 例3、输入一串字符串(以.结束)按逆顺输出program revers(input,output);procedure rever; var c:char; begin read(c); if c. then rever; write(c); end;begin rever;end.五、标识符的作用域1、全局变量和局部变量 1)、全局变量:在主程序中被说明,作用域:整个程序; 2)、局部变量:在子程序中被说明,作用域:主程序及其下级的程序。2、子程序(function、precedure)的作用域 一个子程序可以调用它的下一级了程序,或可以调用在它之前定义的同级子程序。例写出程序运行的结果。program range(input,output);var x,y:integer;procedure p1; var x,z:integer; begin x:=10; y:=y

温馨提示

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

评论

0/150

提交评论