资源描述
Pascal语言简介,河师大附中信息技术,赛事简介:,信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查参赛选手的智力和使用计算机编程解题的能力。信息学奥林匹克竞赛要求参赛选手有如下能力:1、针对竞赛题目中的要求构建数学模型;2、构造出有效的算法和选用相应的数据结构;3、写出高级语言程序;4、上机调试通过;,Pascal语言特点:,以纪念法国数学家而命名的Pascal语言是使用最广泛的计算机高级语言之一,被国际上公认为程序设计教学语言的典范。其主要特点有:1、严格的结构化形式;2、丰富完备的数据类型;3、运行效率高;4、查错能力强。,IOI(国际奥林匹克信息学竞赛)把Pascal语言规定为二种程序设计语言之一;NOI(全国信息学奥林匹克竞赛)把Pascal语言定为唯一提倡的程序设计语言;NOIp(全国信息学奥林匹克联赛)把Pascal定为最主要的程序设计语言;,Pascal语言特点:,Pascal语言:,Pascal语言有多种版本,我们采用FreePascal6.0版本,FreePascal是由一个国际组织开发的32位Pascal编程工具,属于共享软件,可用于各种操作系统。Windows2000、WindowsXP安装文件:FPascal4NOI-2kXP.exe(2008奥赛文件夹)Windows98安装文件:FPascal4NOI-win98.exe,三:安装与使用如果已经安装过旧版本的FreepascalForNOI,安装新版本前,务必将已安装版本卸载。在做题时,先进入Windows命令行环境,务必在进入程序源代码所在目录后,再执行fp命令启动FreePascal继承开发环境。Pascal语言是编译型程序语言,一般需经过编辑、编译、链接、运行几个步骤方可得到结果,这些步骤是一个反复的过程,Pascal提供了一个称为集成环境的工作系统,它集编辑、编译、调试、运行等功能于一体。,Pascal菜单,启动后的界面见图一。在屏幕顶行是主菜单,包括以下十项子菜单:File文件Edit编辑Search搜索Run运行Compile编译,Pascal菜单,启动后的界面见图一。在屏幕顶行是主菜单,包括以下十项子菜单:Debug调试Tools工具Option选项Window窗口Help帮助,菜单操作:,1、用F10功能键进入主菜单,按“”、“”将光标移至子菜单处,回车。2、用F10功能键进入主菜单,按子菜单命令的首字母F、E、S、R、C、D、T、O、W、H之一。3、Alt-子菜单命令首字母(按Alt键的同时,按首字母)。4、用鼠标直接操作。进入子菜单后,会出现一个下拉式菜单,这时的子菜单又含有多项命令功能供选择。选择的方法是:按命令的首字母或按、键将光标移至命令处回车。有些命令还有多级子菜单供选择。,菜单操作:,在有子菜单出现时,按ESC键可返回上级子菜单或主菜单。在任何时候均可按F10键进入主菜单。屏幕底行提示了各热键(在当前状态下生效的键)对应的功能。例如按F1键可以进入帮助。屏幕中除顶行和底行外的中间大部分窗口为编辑窗口,用于编辑显示程序文本。,一个Pascal程序实例,例:要求在屏幕上输出一句话:FollowmetostudyPascal!(跟我学Pascal!)程序如下:Programmyfirst;beginwrite(FollowmetostudyPascal!);readlnend.选择FileNew命令,打开一个新窗口(原来有窗口则不需要上述操作)。在编辑状态下,输入上述程序。,三、在集成环境内运行程序,我们选择RunRun命令(在Run子菜单下选Run命令,以后同),如果程序正确,系统将按编译、链接、运行的过程自动给出结果:FollowmetostudyPascal!查看输出结果,选择DebugUserscreen命令或Alt+F5可回到输出屏幕,按任意键又返回编辑状态。,四、保存文件,以当前文件名为名存盘,选择FileSave命令,系统以当前文件名NONAME000.PAS为名存盘。选择File/SaveAsto命令,系统将按指定的盘符、路径、文件名存盘,例如:C:MYFIRST.PAS。,退出程序:,选择FileQuit完全退出,因系统所占的内存完全释放,无法再返回Pascal。选择FileDOSshell暂时退出,这时系统暂驻内存,在DOS状态下,可用DOS命令DIR检查文件的情况,键入Exit命令还可返回Pascal。2、选择FileOpen命令,选择或键入已存盘文件名即可将所指文件装入编辑窗口。,习题:,1.下列Pascal程序运行后由用户输入一个数,作为半径r,程序将计算出半径为r的圆的面积。ProgramArea_of_Circle;constpi=3.1416;vars,r:real;beginwriteln(Pleaseinputradius:);readln(r);s:=Pi*sqr(r);writeln(s=,s)end.运行例子:Pleaseinputradius:(显示:请输入半径)5(用户输入5)s=7.8540000000E+01(显示结果)在FreePascal集成环境下输入、运行并保存上述程序。,2输出图形,programex1(input,output);varh,k:integer;beginforh:=1to8dobeginwrite(:20-h);fork:=1to2*h-1dowrite();writeln;endend.,3输入一个四位整数,将这个数反向输出。(例:输入为1367,输出为7631),programex2(input,output);varn,ge,shi,bai,qian:integer;beginwriteln(inputanumber:):readln(n);qian:=ndiv1000;bai:=ndiv100mod10;shi:=nmod100div10;ge:=nmod10;n:=ge*1000+shi*100+bai*10+qian;writeln(n);end.,4猜数程序,programex3(input,output);varx,n,k:integer;beginrandomize;x:=random(10);n:=0;repeatwrite(pleaseinputanumber(0-9):);read(k);n:=n+1;ifk=xthenwriteln(Youareright!);ifkxthenwriteln(Toobig.Pleasetryagain!);ifkx)thenwriteln(Youarefail.Thenumberis,x)end.,
展开阅读全文