Pascal语言基础知识.ppt
《Pascal语言基础知识.ppt》由会员分享,可在线阅读,更多相关《Pascal语言基础知识.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一讲第一讲Pascal语言基础语言基础信息学奥赛的内容:信息学奥赛的内容:程序程序=计算机语言计算机语言+数据结构数据结构+算法算法FreePascal或或delphiC+等等信息学奥林匹克竞赛属于智力与应用计算机解题能力的比赛,题目信息学奥林匹克竞赛属于智力与应用计算机解题能力的比赛,题目有相当的难度,解好这类题目,需要具备很强的综合能力有相当的难度,解好这类题目,需要具备很强的综合能力1、观察和分析问题的能力;、观察和分析问题的能力;2、将实际问题转化为数学模型的能力;、将实际问题转化为数学模型的能力;3、灵活地运用各种算法的能力;、灵活地运用各种算法的能力;4、熟练编写程序并将其调试通
2、过的能力;、熟练编写程序并将其调试通过的能力;5、根据题目的要求,自己设计测试数据,检查自己的解法是否正确、根据题目的要求,自己设计测试数据,检查自己的解法是否正确、是否完备的能力是否完备的能力能够参加信息学竞赛的选手应该具有很强的自学能力,需要学习有能够参加信息学竞赛的选手应该具有很强的自学能力,需要学习有关关组合数学、图论、基本算法、数据结构、人工智能搜索算法及数学建组合数学、图论、基本算法、数据结构、人工智能搜索算法及数学建模等知识模等知识,还要学会高级语言和编程技巧,要具备很强的上机操作能力,还要学会高级语言和编程技巧,要具备很强的上机操作能力考察的能力:考察的能力:选手应具备的条件:
3、选手应具备的条件:前提:综合成绩突出前提:综合成绩突出1、扎实的数学基础。、扎实的数学基础。2、很强很强的自学能力。的自学能力。3、与同学之间的密切友好的合作与交流。、与同学之间的密切友好的合作与交流。4、持之以恒,坚持不懈的学习。、持之以恒,坚持不懈的学习。5、耐得住枯燥与寂寞。、耐得住枯燥与寂寞。6、不能以参加竞赛为理由而耽误了其他文化课的学习。、不能以参加竞赛为理由而耽误了其他文化课的学习。程序的基本结构程序的基本结构 程序的上机调试和运行程序的上机调试和运行语言基础一语言基础一例例1:要将一张要将一张100元的大钞票,换成等值的元的大钞票,换成等值的10元、元、5元、元、2元、元、1元
4、一张的小钞票,每次换成元一张的小钞票,每次换成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;wr
5、iteln(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;wh
6、ilei=1000dobeginq:=10*rdivm;r:=10*rmodm;write(q);i:=i+1;end;end.上机调试运行步骤:上机调试运行步骤:1、运行、运行:FreePascal2、filenew:新建文件新建文件3、compilemake:编译,找错误。编译,找错误。4、runrun:运行:运行5、debugoutput:察看结果察看结果program程序名;程序名;可以省略可以省略var变量说明;变量说明;begin语句;语句;语句;语句;语句语句;end.Pascal程序的基本结构程序的基本结构vars:real;n:integer;begins:=0;n:=0;w
7、hiles=10dobeginn:=n+1;s:=s+1/n;end;writeln(n);end.示例示例:程序的基本结构程序的基本结构 从这个简单的程序可以看到:一个一个PASCALPASCAL程序分为两个部分:程序分为两个部分:程序首部和程序体程序首部和程序体。程序首部 程序首部是程序的开头部分,有保留字program后接程序名及程序参数表组成,由分号结束。程序名是用户自己定义的标识符,参数表一般是文件变量名,用于该程序与外界的数据交流。最常用的参数为input和output。在turbo pascal语言中,首部中的参数表可以省略,首部也可省略。程序体 程序体是程序的主体部分,由说明部
8、分和执行部分两部分组成。说明部分:用来描述程序中用到的变量、常量、类型、过程与函数等。本程序中第二行是变量说明,用来定义变量的名称、类型。PASCAL规定,凡程序中用到所有变量、符号常量、数组、标号、过程与函数、记录、文件等数据都必须在说明部分进行定义(或称说明)。也就是说,不允许未说明先使用。执行部分:以begin开始,以end结束,其间有若干个语句,语句之间以分号隔开。一条语句执行一定的功能,所有语句完成程序设计的任务。允许一行写多个语句,也允许一个语句写几行,最后一行的end后加一.号表示结束。2、完整的、完整的pascal程序框架:程序框架:program 程序名(程序参数表);程序名
9、(程序参数表);label 标号说明;标号说明;const 常量说明;常量说明;type 类型说明;类型说明;var 变量说明;变量说明;function 函数说明;函数说明;procedure 过程说明;过程说明;begin 程序语句程序语句1;程序语句程序语句n;end.程序首部程序体说明部分执行部分知识预备知识预备基本符号、保留字、标识符基本符号、保留字、标识符一、变量的定义说明:一、变量的定义说明:二、二、Pascal数据类型(整型、实型)数据类型(整型、实型)三、基本语句三、基本语句(赋值语句、输入语句赋值语句、输入语句read、输出语句、输出语句write)四、算术运算符和算术表达
10、式四、算术运算符和算术表达式五、标准函数(数值型函数)五、标准函数(数值型函数)语言基础一语言基础一基本符号、保留字、标识符基本符号、保留字、标识符1基本符号:是ASCII字符集,主要有:26个英文字母(不分大小写,字符串中的字母例外。十个数字符号。特殊符号+-*/=():=.,;:.2保留字:保留字:保留字是指保留字是指pascal语言中一些有特殊含义的英文单词,它们已被语言中一些有特殊含义的英文单词,它们已被pascal语言自语言自己使用,都有专门的用途。己使用,都有专门的用途。Pascal 语言中保留字有语言中保留字有36个,可分为以下六种类型:个,可分为以下六种类型:程序、函数、过程的
11、符号:程序、函数、过程的符号: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
12、,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
13、 标准过程:get,new,pack,page,put,read,readln,reset,rewrite,unpack,write,writeln 自定义标识符 由用户自己在程序首部或说明部分进行定义,但要注意以下几点:不能与保留字同名;避免与标准标识符同名;最好有一定的含义,增加程序的可读性。例如:在程序中如用到数学中的,则在定义该常量时可用PI表示。一、变量的定义说明:一、变量的定义说明:在程序中用到的所有变量必须事先定义。在程序中用到的所有变量必须事先定义。格式:格式:Var:;:;如:输入如:输入3个整数,求这个整数,求这3个数的平均值。个数的平均值。Vara,b,c:integer
14、;aver:real;说明:说明:1)、同一类型的变量可以放在一起,也可分开写,不同类型的不能放在一起。)、同一类型的变量可以放在一起,也可分开写,不同类型的不能放在一起。2)、变量名:可以是一个字母,也可以是多个字母和数字的组合,但字母开头。)、变量名:可以是一个字母,也可以是多个字母和数字的组合,但字母开头。3)、不能重复定义变量。)、不能重复定义变量。二、二、Pascal数据类型数据类型整型、实型整型、实型、(字符型和布尔型)、(字符型和布尔型)1、整型整型 类型数值范围 占字节数 Byte0.2551Word0.655352Shortint-128.1271Integer-32768.
15、32767;2Longint-2147483648.21474836474Longword0.42949672954Int64-9223372036854775808.92233720368547758078QWord2、实数、实数 类型类型范围范围有效位数有效位数占用字节占用字节 Real 2.9e-39.1.7e3811.126Single 1.5E-45.3.4E38 7-8 4 Double 5.0E-324.1.7E308 15-16 8 Extended 1.9E-4951.1.1E4932 19-20 10 Comp -2E64+1.2E63-1 19-20 8Varbeginr
16、ead(a,b);c:=a*b;d:=a/b;writeln(c);writeln(d);End.?例例:输入输入:两个整数两个整数a、b(=3000),输出它们的乘积,输出它们的乘积c,商,商d。实数的定点型格式输出实数的定点型格式输出:实数表达式:域宽:小数位数实数表达式:域宽:小数位数T=63.123write(t);write(t:6:2);63.12write(t:6:5);63.12300如果要求小数点后精确如果要求小数点后精确2位小数位小数.Writeln(x:0:2);a,b:integer;c:longint;d:real;1、赋值语句、赋值语句赋值语句是最简单的语句赋值语句
17、是最简单的语句.1)、赋值语句的格式、赋值语句的格式变量名变量名:=表达式;表达式;其中其中“:=”称为赋值号。称为赋值号。2)、执行过程、执行过程计算机先计算赋值号右边表达式的值,然后将表达式的值计算机先计算赋值号右边表达式的值,然后将表达式的值赋给变量名代表的变量。赋给变量名代表的变量。如:如:A:=(9*8)-(2-1);A:=A+1三、基本语句三、基本语句、输入语句、输入语句read和和readln功能:功能:从键盘读入数据项,并把它存到变量中去,使该数据能在从键盘读入数据项,并把它存到变量中去,使该数据能在以后的计算中使用。以后的计算中使用。输入语句的一般形式为:输入语句的一般形式为
18、:read(v1,v2,vn);readln(v1,v2,vn);从键盘逐次读入数据,分别赋给变量从键盘逐次读入数据,分别赋给变量v1,v2,vn,一行输入多个变量值时,要求数据之间用空格分隔,一行输入多个变量值时,要求数据之间用空格分隔,readln语句要求输入数据后必须回车,使得后继操作从下语句要求输入数据后必须回车,使得后继操作从下一行的头上开始。一行的头上开始。read语句与语句与readln语句区别是:语句区别是:1)read语句是一个接一个地读数据,在执行完本语句是一个接一个地读数据,在执行完本Read语语句句(读完本语句中变量所需的数据读完本语句中变量所需的数据)后后,下一个读语
19、句接着下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。如:从该数据输入行中继续读数据,也就是说,不换行。如:Read(a,b);Read(c,d);Read(e);如果输入数据行如下如果输入数据行如下:123456则则a,b,c,d,e的值分别为的值分别为1,2,3,4,5,如果后面无读语句则数据如果后面无读语句则数据6是多余的,这是允许的。是多余的,这是允许的。Readln则不同,在读完本则不同,在读完本Readln语句中变量语句中变量所需的数据后所需的数据后,该数据行中剩余的数据多余无用,该数据行中剩余的数据多余无用,或者说,在读完本或者说,在读完本Readln语句中变量所需
20、数据后,语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用。一定要读到一个回车,否则多余的数据无用。设有下列语句设有下列语句:read(a,b,c);readln(d,e);readln;readln(f,g);其中其中,所有变量均为整型。设输入的数据如下:所有变量均为整型。设输入的数据如下:12345678910111213Vara,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语句的第二个区别是语句的第
21、二个区别是:read后一定要有参数表后一定要有参数表,readln可以不带参数表可以不带参数表,即可以没有任何输入项即可以没有任何输入项,只是等待读入一个换行符只是等待读入一个换行符(回车回车)。经常用于暂停。经常用于暂停程序的运行,直到输入一个回车程序的运行,直到输入一个回车输出语句输出语句write和和writeln功能:功能:把程序计算的结果,按适当的形式输出到屏幕。把程序计算的结果,按适当的形式输出到屏幕。1)、write语句语句格式格式Write(表达式表达式1,表达式,表达式2,);如如:write(x,5,a+b);write(MynameisLiping);2)、writeln
22、语句语句格式格式:Write(表达式表达式1,表达式,表达式2,)或或writelnWrite语句与语句与writeln语句格式上都相似,但它们在功能语句格式上都相似,但它们在功能上有所不同,两个语句的区别在于上有所不同,两个语句的区别在于:write语句将其后括号中的表达式一个接一个输出后,语句将其后括号中的表达式一个接一个输出后,没有换行。没有换行。而而writeln语句则在输出各个表达式的值后换行。语句则在输出各个表达式的值后换行。例如以下两个程序段的输出分别为:例如以下两个程序段的输出分别为:write(1,2,3,4);write(5,6);输出为:输出为:123456writeln
23、(1,2,3,4);write(5,6);输出为:输出为:123456实数的输出格式实数的输出格式实数(实数(real)以浮点型格式输出。例如)以浮点型格式输出。例如805.67对应的浮点对应的浮点数为数为8.056700000000E+02。这种实数表达方式很不方便。这种实数表达方式很不方便。我们可以通过下述形式强迫实数以定点型格式输出:我们可以通过下述形式强迫实数以定点型格式输出:实数表达式:域宽:小数位数实数表达式:域宽:小数位数例如,例如,t的值设为的值设为63.123。下面三条输出语句分别有它们。下面三条输出语句分别有它们右边所示的输出格式:右边所示的输出格式:write(t);wr
24、ite(t:6:2);63.12write(t:6:5);63.12300write(t:0:0);vara,b,t:integer;beginread(a,b);t:=a;a:=b;b:=t;writeln(a=,a,b=,b)end.例:输入两个整数例:输入两个整数a,b,交换他们的值,并输出,交换他们的值,并输出.如:输入:如:输入:3034输出:输出:3430四、算术运算符和算术表达式四、算术运算符和算术表达式1.算术运算符算术运算符运算符运算运算对象结果类型运算符运算运算对象结果类型+加加整型、实型只要有一个运算对象是实型,结果就整型、实型只要有一个运算对象是实型,结果就-减减整型、
25、实型是实型,如果全部的运算对象都是整整型、实型是实型,如果全部的运算对象都是整*乘乘整型、实型型并且运算不是除法,则结果为整型整型、实型型并且运算不是除法,则结果为整型/除除整型、实型若运算是除法,则结果是实型。整型、实型若运算是除法,则结果是实型。div整除整型整型整除整型整型mod取余整型整型取余整型整型2、表达式、表达式是通过运算符把常量、变量、函数调用结合起来组成的。是通过运算符把常量、变量、函数调用结合起来组成的。3+x1+b上机练习题目:上机练习题目:输入一个输入一个3位的正整数,输出他们的各位数字之和与乘积。位的正整数,输出他们的各位数字之和与乘积。如:如:输入:输入:436输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Pascal 语言 基础知识
限制150内