free pascal教程

问问题描述

free pascal教程,有没有人理理我?急需求助!

答精选答案

最佳答案

第一章、pascal介绍一、pascal的基本语法单位1、基本符号A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^注意: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);{……} 解释CONSTpi=3.14159;VARr,l,s:real;BEGINwrite('input r:');read(r);l:=2*pi*r;write('l=',l,'s=',s);END;2、大量使用标点符号,保留字后不加标点符号(END除外)。第二章、顺序结构程序设计一、标准数据类型1、实型(real)小数表示法、指数表示法2、整型(integer)正、负整数和零maxint=32767pred:前导;succ:后继[例]:pred(3)=2;succ(3)=4;pred(true)=false;succ(false)=true3、字符型(char)是指在两个单引号中的一个字符。ord:取序数[例]:ord('A')=654、布尔型(boolean)false;true用于布尔型的运算:NOT、AND、ORord(true)=1;ord(false)=0二、常量和变量的定义常量的定义:CONSTpi=3.14159;blank=' ';变量的定义:VARr,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<语句1>ESLE<语句2>注:

1、ELSE与最近的并且未被配对的ELSE配对;

2、复合,如果THEN或ELSE带有多个语句,则要用BEGIN——END括起来。

二、CASE语句格式:CASE <表达式> OF<值表1>:<语句1><值表2>:<语句2>……<值表n>:<语句n>[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);VARa,s,max,min,avg:real;i:integer;BEGINwrite('please input:');read(a);s:=a;max:=a;min:=a;FOR i:=2 TO 10 DOBEGINread(a);s:=s+a;IF a>max THENmax:=aELSEIF a<min THEN min:=aEND;avg:=s/i;writeln(……);END.[例2]:求s=1!+2!+3!+……+10!program sum_fac(input,output);vari,j,s,m:integer;begins:=0:for j:=1 to 10 dobeginm:=1;for j:=1 to i dom:=m*j;s:=s+m;end;write(……);end;二、while语句格式:WHILE <条件> DO<循环体>[例1]:输入一串字符串,求第一个“,”前的大小写字母个数和其它字符个数。program string(input,output);varch:char;c,s,o:integer;beginwrite(……);read(ch);c:=0;s:=0;o:=0;while ch<>',' dobeginif (ch>='A')and(ch<='Z') thenc:=c+1else if (ch>='a')and(ch<='z') thens:=s+1elseo:=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;varp:real;beginp:=(a+b+c)/2;area:=sqrt(p*(p-a)*(p-b)*(p-c);end;2、函数的调用1)、函数的调用必然出现在表达式中(等号的右边),不能以单独地在语句出现2)、调用时,将每个实参传递给对应的形参program ml_area(input,output);varl1,l2,l3,l4,l5,l6,l7,s:real;function area(a,b,c:real):real;varp:real;beginp:=(a+b+c)/2;area:=sqrt(p*(p-a)*(p-b)*(p-c);end;beginwrite('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);varx,y,z:integer;procedure s(x:integer; var y:integer);varz:integerbeginx:=5; y:=6; z:=7;end;beginx:=1; y:=2; z:=3;s(x,y);writeln(x,y,z);end.输出结果:1 6 3[例3]:求五个数中的最大值。program max_in_5(input,output);varn1,n2,n3,n4,n5:integer;procedure lagest_in_three(a,b,c:integer;var e:integer)begine:=a;if b>e thene:=b;if c>e thene:=c;end;beginwrite('……');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:vari:integer;beginfac:=1;for i:=1 to x dofac:=fac*i;end;function c(a,b:integer):real;beginc:=fac(a)/fac(b)*fac(a-b)end;beginwriteln('c(9,3)=',c(9,3));writeln('c(8,5=',c(8,5));end.四、递归函数或过程调用它本身,称为递归。[例1]、用递归计算n! {=m!!(m-n)!}program fac_n(input,output);varn:integer;function fac(n:integer):integer;beginif n=1 then fac:=1else fac:=n*fac(n-1);end;[例2]、用递归计算1)、function power(a,b:integer):integer;beginif b=1 then power:=aelse power:=a*power(a,b-1);end;2)、procedure power(a,b:integer;var c:integer);beginif b=1 then c:=aelse power(a,b-1,c);c:=a*c;end;[例3]、输入一串字符串(以‘.’结束)按逆顺输出program revers(input,output);procedure rever;varc:char;beginread(c);if c<>'.' then rever;write(c);end;beginrever;end.五、标识符的作用域1、全局变量和局部变量1)、全局变量:在主程序中被说明,作用域:整个程序;2)、局部变量:在子程序中被说明,作用域:主程序及其下级的程序。

2、子程序(function、precedure)的作用域一个子程序可以调用它的下一级了程序,或可以调用在它之前定义的同级子程序。[例]写出程序运行的结果。program range(input,output);varx,y:integer;procedure p1;varx,z:integer;beginx:=10; y:=y+1; z:=10;writeln(x,y,z);end;beginx:=1; y:=1;writeln(x,y);p1;writeln(x,y,z);end.结果为:(x y z)1 110 2 101 2 (error)3、在子程序中被改变值的变量可以回传的两种方法:a、变量参数 procedure(var 变量名);b、在上一级程序定义了的,且在下一级程序未被重新定义的。[注]如果主程序的变量在子程序被重新定义,在子程序中主程序的变量被稳藏,在主程序中子程序的变量无效。

答其他回答(1条)

本文来自作者[柠檬工坊奶茶店怎么样]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/xuelitisheng/202609/420410.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 柠檬工坊奶茶店怎么样

    我是公众科技网的签约作者“柠檬工坊奶茶店怎么样”!

  • 柠檬工坊奶茶店怎么样

    希望本篇文章《free pascal教程》能对你有所帮助!

  • 柠檬工坊奶茶店怎么样

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 柠檬工坊奶茶店怎么样

    本文概览:第一章、pascal介绍一、pascal的基本语法单位1、基本符号A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^注意:pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。2、保留字AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,MOD,NIL,OF,OR

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们