第一讲-Pascal语言基础知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一讲Pascal语言基础信息学奥赛的内容:程序=计算机语言+数据结构+算法FreePascal或delphiC++等信息学奥林匹克竞赛属于智力与应用计算机解题能力的比赛,题目有相当的难度,解好这类题目,需要具备很强的综合能力.1、观察和分析问题的能力;2、将实际问题转化为数学模型的能力;3、灵活地运用各种算法的能力;4、熟练编写程序并将其调试通过的能力;5、根据题目的要求,自己设计测试数据,检查自己的解法是否正确、是否完备的能力.能够参加信息学竞赛的选手应该具有很强的自学能力,需要学习有关组合数学、图论、基本算法、数据结构、人工智能搜索算法及数学建模等知识,还要学会高级语言和编程技巧,要具备很强的上机操作能力.考察的能力:选手应具备的条件:前提:综合成绩突出1、扎实的数学基础。2、很强的自学能力。3、与同学之间的密切友好的合作与交流。4、持之以恒,坚持不懈的学习。5、耐得住枯燥与寂寞。6、不能以参加竞赛为理由而耽误了其他文化课的学习。程序的基本结构程序的上机调试和运行语言基础一例1:要将一张100元的大钞票,换成等值的10元、5元、2元、1元一张的小钞票,每次换成40张小钞票,每种至少1张。如,有一种换法:10元:9张5元:1张2元:2张1元:1张问:一共有多少种换法。程序的上机调试和运行programex1;varx1,x2,x3,x4,n:integer;beginn:=0;forx1:=1to10doforx2:=1to20doforx3:=1to50doforx4:=1to100doif(10*x1+5*x2+2*x3+x4=100)and(x1+x2+x3+x4=40)thenn:=n+1;writeln(n);end.例2、已知:s=1+1/2+1/3+…+1/n求:使s的值大于10时最小的n。vars:real;n:integer;begins:=0;n:=0;whiles=10dobeginn:=n+1;s:=s+1/n;end;writeln(n);end.例3、编一个程序,从键盘输入一个真分数的分子和分母,输出它的小数形式,精确到小数点后1000位。varn,m,r,q,i:integer;beginread(n,m);r:=n;write('0.');i:=1;whilei=1000dobeginq:=10*rdivm;r:=10*rmodm;write(q);i:=i+1;end;end.上机调试运行步骤:1、运行:FreePascal2、filenew:新建文件3、compilemake:编译,找错误。4、run—〉run:运行5、debugoutput:察看结果program程序名;{可以省略}var变量说明;begin语句;语句;……语句;end.Pascal程序的基本结构vars:real;n:integer;begins:=0;n:=0;whiles=10dobeginn:=n+1;s:=s+1/n;end;writeln(n);end.示例:程序的基本结构从这个简单的程序可以看到:一个PASCAL程序分为两个部分:程序首部和程序体。①程序首部程序首部是程序的开头部分,有保留字program后接程序名及程序参数表组成,由分号结束。程序名是用户自己定义的标识符,参数表一般是文件变量名,用于该程序与外界的数据交流。最常用的参数为input和output。在turbopascal语言中,首部中的参数表可以省略,首部也可省略。②程序体程序体是程序的主体部分,由说明部分和执行部分两部分组成。⑴说明部分:用来描述程序中用到的变量、常量、类型、过程与函数等。本程序中第二行是变量说明,用来定义变量的名称、类型。PASCAL规定,凡程序中用到所有变量、符号常量、数组、标号、过程与函数、记录、文件等数据都必须在说明部分进行定义(或称说明)。也就是说,不允许未说明先使用。⑵执行部分:以begin开始,以end结束,其间有若干个语句,语句之间以分号隔开。一条语句执行一定的功能,所有语句完成程序设计的任务。允许一行写多个语句,也允许一个语句写几行,最后一行的end后加一‘.’号表示结束。2、完整的pascal程序框架:program程序名(程序参数表);label标号说明;const常量说明;type类型说明;var变量说明;function函数说明;procedure过程说明;begin程序语句1;……;程序语句n;end.程序首部程序体说明部分执行部分知识预备基本符号、保留字、标识符一、变量的定义说明:二、Pascal数据类型(整型、实型)三、基本语句(赋值语句、输入语句read、输出语句write)四、算术运算符和算术表达式五、标准函数(数值型函数)语言基础一基本符号、保留字、标识符1.基本符号:是ASCII字符集,主要有:①26个英文字母(不分大小写,字符串中的字母例外。②十个数字符号。③特殊符号+-*/===()[]{}:=.,;:’^..2.保留字:保留字是指pascal语言中一些有特殊含义的英文单词,它们已被pascal语言自己使用,都有专门的用途。Pascal语言中保留字有36个,可分为以下六种类型:①程序、函数、过程的符号:program,function,procedure②说明部分的专用定义符号:array,const,file,label,packed,var,record,set,type,of③语句专用符号:case,do,downto,else,for,goto,if,repeat,then,to,until,while,with,forward④运算符号:and,div,in,mod,not,or⑤分隔符号:begin,end⑥空指针常量:Nil7.PROTECTED,PUBLIC,PUBLISHED,TRY,FINALLY,EXCEPT,RAISE(fp新增保留字)3.标识符:标识符是以字母开头的字母数字序列(大小写等效,可跟下划线_),用来标识常量、变量、程序、函数等。Pascal中允许的标识符的有效长度为63。标识符分为两大类:①标准标识符:标准常量:false,true,maxint(32767)标准类型:integer,real,char,boolean,text标准文件:input,output标准函数:abs,arctan,chr,cos,eof,eoln,exp,ln,odd,ord,pred,round,sin,sqr,sqrt,succ,trunc标准过程:get,new,pack,page,put,read,readln,reset,rewrite,unpack,write,writeln②自定义标识符由用户自己在程序首部或说明部分进行定义,但要注意以下几点:不能与保留字同名;避免与标准标识符同名;最好有一定的含义,增加程序的可读性。例如:在程序中如用到数学中的π,则在定义该常量时可用PI表示。一、变量的定义说明:在程序中用到的所有变量必须事先定义。格式:Var变量表:变量类型;┆变量表:变量类型;如:输入3个整数,求这3个数的平均值。Vara,b,c:integer;aver:real;说明:1)、同一类型的变量可以放在一起,也可分开写,不同类型的不能放在一起。2)、变量名:可以是一个字母,也可以是多个字母和数字的组合,但字母开头。3)、不能重复定义变量。二、Pascal数据类型整型、实型、(字符型和布尔型)1、整型类型数值范围占字节数Byte0..2551Word0..655352Shortint-128..1271Integer-32768..32767;2Longint-2147483648..21474836474Longword0..42949672954Int64-9223372036854775808..92233720368547758078QWord0..1844674407370955161582、实数类型范围有效位数占用字节Real2.9e-39..1.7e3811..126Single1.5E-45..3.4E387-84Double5.0E-324..1.7E30815-168Extended1.9E-4951..1.1E493219-2010Comp-2E64+1..2E63-119-208Varbeginread(a,b);c:=a*b;d:=a/b;writeln(c);writeln(d);End.?例:输入:两个整数a、b(=3000),输出它们的乘积c,商d。实数的定点型格式输出:实数表达式:域宽:小数位数T=63.123write(t);6.312300000000E+01write(t:6:2);63.12write(t:6:5);63.12300如果要求小数点后精确2位小数.Writeln(x:0:2);a,b:integer;c:longint;d:real;1、赋值语句赋值语句是最简单的语句.1)、赋值语句的格式变量名:=表达式;其中“:=”称为赋值号。2)、执行过程计算机先计算赋值号右边表达式的值,然后将表达式的值赋给变量名代表的变量。如:A:=(9*8)-(2-1);A:=A+1三、基本语句2、输入语句read和readln功能:从键盘读入数据项,并把它存到变量中去,使该数据能在以后的计算中使用。输入语句的一般形式为:read(v1,v2,…,vn);readln(v1,v2,…,vn);从键盘逐次读入数据,分别赋给变量v1,v2,…,vn,一行输入多个变量值时,要求数据之间用空格分隔,readln语句要求输入数据后必须回车,使得后继操作从下一行的头上开始。read语句与readln语句区别是:1)read语句是一个接一个地读数据,在执行完本Read语句(读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。如:Read(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语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用。设有下列语句:read(a,b,c);readln(d,e);readln;readln(f,g);其中,所有变量均为整型。设输入的数据如下:1□2←┘3□4□5□6□7□8←┘9□10←┘11□12□13←┘Vara,b,c,d,e,f,g:integer;beginread(a,b,c);readln(d,e);readln;readln(f,g);writeln(a,'',b,'',c,'',d,'',e,'',f,'',g);end.2)readln语句与read语句的第二个区别是:read后一定要有参数表,readln可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车)。经常用于暂停程序的运行,直到输入一个回车3输出语句write和writeln功能:把程序计算的结果,按适当的形式输出到屏幕。1)、write语句格式Write(表达式1,表达式2,……);如:write(x,5,a+b);write(‘MynameisLiping’);2)、writeln语句格式:Write(表达式1,表达式2,……)或writelnWrite语句与writeln语句格式上都相似,但它们在功能上有所不同,两个语句的区别在于:write语句将其后括号中的表达式一个接一个输出后,没有换行。而writeln语句则在输出各个表达式的值后换行。例如以下两个程序段的输出分别为:write(1,2,3,4);write(5,6);输出为:123456writeln(1,2,3,4);write(5,6);输出为:123

1 / 81
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功