2015年山东省信息学奥赛夏令营欢迎你加入“聪明人的游戏”全国青少年信息学奥林匹克竞赛,期待你的挑战!!2015年山东省信息学奥赛夏令营学习第一天信息学奥赛介绍语言学习开始——Pascal语言基本语句2015年山东省信息学奥赛夏令营信息学奥林匹克竞赛面向全国中学生的一种竞赛活动旨在激发中学生在计算机科学方面的兴趣培养他们逻辑思维的能力给那些有才华的学生提供相互交流和学习的机会通过竞赛和相关的活动培养和选拔优秀的计算机后备人才。2015年山东省信息学奥赛夏令营信息学奥林匹克竞赛属于智力与应用计算机解题能力的比赛,题目有相当的难度,解好这类题目,需要具备很强的综合能力.1.观察和分析问题的能力;2.将实际问题转化为数学模型的能力;3.灵活地运用各种算法的能力;4.熟练编写程序并将其调试通过的能力;5.根据题目的要求,自己设计测试数据,检查自己的解法是否正确、是否完备的能力.综合能力的体现2015年山东省信息学奥赛夏令营学习内容:掌握一门计算机程序设计语言(Pascal/C/C++)数据结构与算法2015年山东省信息学奥赛夏令营信息学奥林匹克竞赛赛事:1.NOIP(全国信息学奥林匹克分区联赛)NationalOlympiadinInformaticsinProvinces2.NOI(全国信息学奥林匹克竞赛)NationalOlympiadinInformatics3.IOI(国际信息学奥林匹克竞赛)InternationalOlympiadinInformatics2015年山东省信息学奥赛夏令营语言学习开始——Pascal语言一、语言的安装二、界面简介三、典例分析2015年山东省信息学奥赛夏令营安装程序注意如果安装后出现乱码,我们可以在FP窗口最上面的标题栏上右击,在弹出的快捷菜单中选择“默认值”,接着会弹出的控制台窗口属性框,在最下面的“默认代码页”的下拉菜单中选择“437(OEM-美国)”。2015年山东省信息学奥赛夏令营界面介绍标题栏、菜单栏、中间部分为编辑窗口、最底部一行为提示栏(显示系统中常用命令的快捷键,如将当前正在编辑的文件存盘的命令快捷键为F2)1、新建程序:File—New(默认文件名为:Noname01.pas)2、程序运行:Run—Run(或按快捷键:Ctrl+F9)3、查看运行结果:Dubug—Userscreen(或按快捷键:Alt+F5)4、程序的保存:File—Save(或按F2)。第一次保存文件时屏幕上会出现一个对话框要求输入文件名。注意文件保存的目录(默认工作目录可以在FP的快捷方式的属性框中的“起始位置”栏中设置。)5、程序的打开:File—Open(或按F3)2015年山东省信息学奥赛夏令营多动手、模仿是捷径勤思考、实践是王道2015年山东省信息学奥赛夏令营Programex1_1;Beginwrite(’Hello!’);End.大小写无所谓,但是你可以改变一下单引号内的单词大小写,看看有什么变化?2015年山东省信息学奥赛夏令营计算123+56的值Programex1_2;Vara,b:integer;Begina:=10;b:=5;writeln(‘a+b=‘,a+b);End.2015年山东省信息学奥赛夏令营已知长方形的长和宽,求长方形的周长和面积。Programex1_3;Vara,b,c,s:integer;Beginreadln(a,b);c:=2*(a+b);s:=a*b;writeln(’c=’,c,’s=’,s);End.2015年山东省信息学奥赛夏令营求圆的面积Programex1_4;ConstPi=3.1415926;varr:integer;s:real;beginread(r);s:=pi*r*r;writeln(s:0:2);end.2015年山东省信息学奥赛夏令营模仿一下:已知小雄的书包放了3本书,5本作业本和2支笔,你能编程序让计算机算算小雄的书包中一共有多少件学习用品吗?2015年山东省信息学奥赛夏令营典例分析程序由三部分组成:(一)程序首部:Program程序名。由保留字Program开头,后跟一个程序名,程序名的第一个字符必须是英文字母,其后的字符只能是字母或数字和下划线组成。——标识符)(二)说明部分:程序中所用的常量、变量等必须先定义后使用。常量:在程序执行过程中其值不能被改变的数据。变量:在程序执行过程中可以改变值的数据。数据类型:简单类型(分标准类型和用户自定义型)、构造类型、指针类型(三)语句部分由保留字begin至end.语句未尾以分号;结束。程序结束语句end未尾必须用句号。整型、实型、字符型、布尔型枚举型、子界型数组类型、记录类型、集合类型、文件类型program程序名;var变量说明;begin语句;语句;……语句;end.2015年山东省信息学奥赛夏令营保留字Pascal语言中一些有特殊含义的英文单词(这些单词保留给Pascal本身使用)。你已学会了几个保留字:返回2015年山东省信息学奥赛夏令营在程序中用到的所有变量必须事先定义。格式:Var变量表:变量类型;┆变量表:变量类型;如:输入3个整数,求这3个数的平均值。Vara,b,c:integer;aver:real;变量的定义说明:返回变量就相当于一个书包,不过这个“书包”中存放的“书”只是一个数据而已。变量的名称叫做变量名。它可以由字母、数字或下划线构成,但第一个必须是字母。2015年山东省信息学奥赛夏令营标准数据类型整数类型:包括正整数、负整数和零。Vara,b,c:integer;Beginreadln(a);readln(b);c:=a+b;writeln(c);End.12020010000200002000030000测试以下3组数据:输入整数a和b,输出a+b的值。2015年山东省信息学奥赛夏令营Integer:取值范围:-32768——32767(maxint)类型数值范围占字节数Byte0..2551Word0..655352Shortint-128..1271Integer-32768..32767;2Longint-2147483648..21474836474Longword0..42949672954Int64-9223372036854775808..92233720368547758078QWord0..1844674407370955161582015年山东省信息学奥赛夏令营整数的运算符有:+、—、*、DIV(整除)、mod(取余)。15Div6=2(-15)div6=-215Div(-6)=-2(-15)div(-6)=215mod6=3(-15)mod6=-315mod(-6)=3(-15)mod(-6)=-32015年山东省信息学奥赛夏令营类型范围有效位数占用字节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-208实数类型Real类型运算符有:+、-、*、/2015年山东省信息学奥赛夏令营Varbeginread(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;Writeln(d:0:2);2015年山东省信息学奥赛夏令营除法运算1、整除运算:运算符为“div”结果为两个整型数除法的整数商。例如:10Div4=22、求余数运算:运算符为“mod”结果为两个整型数除法的余数。例如:10mod3=13、普通除法:运算符为“/”结果为两个任意数值相除的商(含小数)。例如:10/4=2.52015年山东省信息学奥赛夏令营字符类型Char类型用单引号括起来一个单个字符。字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。Vars:char;s:=’B’2015年山东省信息学奥赛夏令营布尔类型Boolean类型一个布尔型数据用来存放逻辑值(布尔值)。只有两个真和假,分别用标准常量true和False来表示。布尔类型的运算符有:not(非)、and(与)、or(或)vara,b:boolean;A:=43;b:=23;2015年山东省信息学奥赛夏令营基本语句一、赋值语句二、read语句三、write语句2015年山东省信息学奥赛夏令营1、赋值语句赋值语句是最简单的语句.1)、赋值语句的格式变量名:=表达式;其中“:=”称为赋值号。2)、执行过程计算机先计算赋值号右边表达式的值,然后将表达式的值赋给变量名代表的变量。如:A:=(9*8)-(2-1);A:=A+12015年山东省信息学奥赛夏令营2、输入语句read和readln功能:从键盘读入数据项,并把它存到变量中去,使该数据能在以后的计算中使用。输入语句的一般形式为:read(v1,v2,…,vn);readln(v1,v2,…,vn);从键盘逐次读入数据,分别赋给变量v1,v2,…,vn,一行输入多个变量值时,要求数据之间用空格分隔,readln语句要求输入数据后必须回车,使得后继操作从下一行的头上开始。2015年山东省信息学奥赛夏令营及时充电(输入语句)格式作用Read(变量表)接受键盘输入数据存入对应变量Readln(变量表)接受键盘输入数据存入对应变量,然后光标换行Readln不接受数据,光标换行输入数据时,数值数据之间可用空格分开,也可以每输入一个数按一次回车;如果是输入字符或者字符串,两者之间不能用空格分开,只能每输入一个按一次回车。2015年山东省信息学奥赛夏令营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是多余的,这是允许的。2015年山东省信息学奥赛夏令营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.2015年山东省信息学奥赛夏令营2)readln语句与read语句的第二个区别是:read后一定要有参数表,readln可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车)。经常用于暂停程序的运行,直到输入一个回车2015年山东省信息学奥赛夏令营3输出语句write和writeln功能:把程序计算的结果,按适当的形式输出到屏幕。1)、write语句格式Write(表达式1,表达式2,……);如:write(x,5,a+b);write(‘Mynam