资源描述
2015年山东省信息学奥赛夏令营欢迎你加入欢迎你加入欢迎你加入欢迎你加入“聪明人的游戏聪明人的游戏聪明人的游戏聪明人的游戏”全国青少年信息学奥林匹克竞赛,期待你的挑战!全国青少年信息学奥林匹克竞赛,期待你的挑战!全国青少年信息学奥林匹克竞赛,期待你的挑战!欢迎你加入“聪明人的游戏”全国青少年信息学奥林匹克竞赛,期待2015年山东省信息学奥赛夏令营学习第一天学习第一天学习第一天学习第一天信息学奥赛介绍语言学习开始PascalPascal语言基本语句学习第一天信息学奥赛介绍语言学习开始Pascal语言基本2015年山东省信息学奥赛夏令营信息学奥林匹克竞赛面向全国中学生的一种竞赛活动面向全国中学生的一种竞赛活动旨在激发中学生在计算机科学方面的兴趣旨在激发中学生在计算机科学方面的兴趣培养他们培养他们逻辑思维逻辑思维的能力的能力给那些有给那些有才华才华的学生提供相互交流和学习的机会的学生提供相互交流和学习的机会通过竞赛和相关的活动培养和选拔通过竞赛和相关的活动培养和选拔优秀的计算机后备人优秀的计算机后备人才才。信息学奥林匹克竞赛面向全国中学生的一种竞赛活动2015年山东省信息学奥赛夏令营 信息学奥林匹克竞赛属于信息学奥林匹克竞赛属于智力智力与应用计算机解题与应用计算机解题能力能力的的比赛,题目有相当的难度,解好这类题目,需要具备比赛,题目有相当的难度,解好这类题目,需要具备很很强的综强的综合能力合能力1.1.观察和分析问题的能力;观察和分析问题的能力;2.2.将实际问题转化为将实际问题转化为数学模型数学模型的能力;的能力;3.3.灵活地运用各种灵活地运用各种算法算法的能力;的能力;4.4.熟练编写程序熟练编写程序并将其调试通过的能力;并将其调试通过的能力;5.5.根据题目的要求,自己设计测试数据,检查自己的解法根据题目的要求,自己设计测试数据,检查自己的解法是否正确、是否完备的能力是否正确、是否完备的能力 综合能力的体现 信息学奥林匹克竞赛属于智力与应用计算机解题能力的比2015年山东省信息学奥赛夏令营学习内容:掌握一门计算机程序设计语言掌握一门计算机程序设计语言 (Pascal/C/C+)数据结构与算法数据结构与算法学习内容:掌握一门计算机程序设计语言2015年山东省信息学奥赛夏令营信息学奥林匹克竞赛赛事:信息学奥林匹克竞赛赛事:1.NOIP1.NOIP(全国信息学奥林匹克分区联赛)(全国信息学奥林匹克分区联赛)National Olympiad in Informatics in Provinces 2.NOI 2.NOI(全国信息学奥林匹克竞赛)(全国信息学奥林匹克竞赛)National Olympiad in Informatics3.IOI 3.IOI(国际信息学奥林匹克竞赛)(国际信息学奥林匹克竞赛)International Olympiad in Informatics 信息学奥林匹克竞赛赛事:1.NOIP(全国信息学奥林匹克分区2015年山东省信息学奥赛夏令营语言学习开始Pascal语言一、语言的安装二、界面简介三、典例分析语言学习开始Pascal语言一、语言的安装二、界面简介三2015年山东省信息学奥赛夏令营安装程序 注意如果安装后出现乱码,我们可以在FP窗口最上面的标题栏上右击,在弹出的快捷菜单中选择“默认值”,接着会弹出的控制台窗口属性框,在最下面的“默认代码页”的下拉菜单中选择“437(OEM-美国)”。安装程序 注意如果安装后出现乱码,我们可以在F2015年山东省信息学奥赛夏令营界面介绍标题栏、菜单栏、中间部分为编辑窗口、最底部一行为提示栏(显示系统中常用命令的快捷键,如将当前正在编辑的文件存盘的命令快捷键为F2)1、新建程序:FileNew(默认文件名为:Noname01.pas)2、程序运行:RunRun(或按快捷键:Ctrl+F9)3、查看运行结果:DubugUser screen(或按快捷键:Alt+F5)4、程序的保存:FileSave(或按F2)。第一次保存文件时屏幕上会出现一个对话框要求输入文件名。注意文件保存的目录(默认工作目录可以在FP的快捷方式的属性框中的“起始位置”栏中设置。)5、程序的打开:FileOpen(或按F3)界面介绍标题栏、菜单栏、中间部分为编辑窗口、最底部一行为提示2015年山东省信息学奥赛夏令营多动手、模仿是捷径勤思考、实践是王道多动手、模仿是捷径2015年山东省信息学奥赛夏令营Programex1_1;Programex1_1;BeginBeginwrite(Hello!);write(Hello!);End.End.大小写无所谓,但是你可以改变一下单引号内的单词大小写,看看有什么变化?Program ex1_1;大小写无所谓,但是你可以改变一下2015年山东省信息学奥赛夏令营计算123+56的值Program ex1_2;Var a,b:integer;Begin a:=10;b:=5;writeln(a+b=,a+b);End.计算123+56的值Program ex1_2;2015年山东省信息学奥赛夏令营已知长方形的长和宽,求长方形的周长和面积。Program ex1_3;Var a,b,c,s:integer;Begin readln(a,b);c:=2*(a+b);s:=a*b;writeln(c=,c,s=,s);End.已知长方形的长和宽,求长方形的周长和面积。Program e2015年山东省信息学奥赛夏令营求圆的面积Program ex1_4;Const Pi=3.1415926;var r:integer;s:real;begin read(r);s:=pi*r*r;writeln(s:0:2);end.求圆的面积Program ex1_4;2015年山东省信息学奥赛夏令营模仿一下:已知小雄的书包放了3本书,5本作业本和2支笔,你能编程序让计算机算算小雄的书包中一共有多少件学习用品吗?模仿一下:已知小雄的书包放了3本书,5本作业本和2支2015年山东省信息学奥赛夏令营典例分析程序由三部分组成:(一)程序首部:Program 程序名。由保留字Program 开头,后跟一个程序名,程序名的第一个字符必须是英文字母,其后的字符只能是字母或数字和下划线组成。标识符)(二)说明部分:程序中所用的常量、变量等必须先定义后使用。常量:在程序执行过程中其值不能被改变的数据。变量:在程序执行过程中可以改变值的数据。数据类型:简单类型(分标准类型和用户自定义型)、构造类型、指针类型 (三)语句部分 由保留字begin 至end.语句未尾以分号;结束。程序结束语句 end未尾必须用句号。整型、实型、字符型、布尔型枚举型、子界型数组类型、记录类型、集合类型、文件类型program 程序名;程序名;var 变量说明;变量说明;begin语句;语句;语句;语句;语句语句;end.典例分析程序由三部分组成:整型、实型、枚举型、子界型数组类型2015年山东省信息学奥赛夏令营保留字Pascal语言中一些有特殊含义的英文单词(这些单词保留给Pascal本身使用)。你已学会了几个保留字:返回保留字Pascal语言中一些有特殊含义的英文单词(这些单词保2015年山东省信息学奥赛夏令营在程序中用到的所有变量必须事先定义。在程序中用到的所有变量必须事先定义。格式:格式:Var Var :;:;如:输入3个整数,求这3个数的平均值。Var a,b,c:integer;aver:real;变量的定义说明:变量的定义说明:返回变量就相当于一个书包,不过这个变量就相当于一个书包,不过这个“书包书包”中存放的中存放的“书书”只是一个数据只是一个数据而已。变量的名称叫做而已。变量的名称叫做变量名变量名。它可以由字母、数字或下划线构成,但第。它可以由字母、数字或下划线构成,但第一个必须是字母。一个必须是字母。在程序中用到的所有变量必须事先定义。如:输入3个整数,求这32015年山东省信息学奥赛夏令营标准数据类型整数类型:包括正整数、负整数和零。Var a,b,c:integer;Begin readln(a);readln(b);c:=a+b;writeln(c);End.120 20010000 2000020000 30000测试以下测试以下3组数据:组数据:输入整数输入整数a和和b,输出,输出a+b的值。的值。标准数据类型整数类型:包括正整数、负整数和零。Var120 2015年山东省信息学奥赛夏令营Integer:取值范围:-3276832767(maxint)类型数值范围 占字节数 Byte 0.255 1 Word 0.65535 2 Shortint -128.127 1 Integer -32768.32767;2 Longint -2147483648.2147483647 4 Longword 0.4294967295 4 Int64 -9223372036854775808.9223372036854775807 8 QWord 0.18446744073709551615 8Integer:取值范围:-3276832767(max2015年山东省信息学奥赛夏令营整数的运算符有:、*、DIV(整除)、mod(取余)。15 Div 6=2 15 Div 6=2 (-15)div 6=-2(-15)div 6=-215 Div (-6)=-215 Div (-6)=-2(-15)div(-6)=2(-15)div(-6)=215 mod 6=315 mod 6=3(-15)mod 6=-3(-15)mod 6=-315 mod(-6)=315 mod(-6)=3(-15)mod(-6)=-3(-15)mod(-6)=-3整数的运算符有:、*、DIV(整除)、mod(取余)。2015年山东省信息学奥赛夏令营 类型类型 范围范围 有效位数有效位数 占用字节占用字节 Real 2.9e-39.1.7e3811.12 6 Single 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 8实数类型Real类型运算符有:、*、/类型 范围 2015年山东省信息学奥赛夏令营Var begin read(a,b);c:=a*b;d:=a/b;writeln(c);writeln(d);End.?例例:输入输入:两个正整数两个正整数a、b(3;b:=23;布尔类型Boolean 类型var a,b:boolean2015年山东省信息学奥赛夏令营基本语句一、赋值语句二、read语句三、write语句基本语句一、赋值语句二、read语句三、write语句2015年山东省信息学奥赛夏令营1、赋值语句赋值语句是最简单的语句.1)、赋值语句的格式 变量名:=表达式;其中“:=”称为赋值号。2)、执行过程 计算机先计算赋值号右边表达式的值,然后将表达式的值赋给变量名代表的变量。如:A:=(9*8)-(2-1);A:=A+1 1、赋值语句赋值语句是最简单的语句.1)、赋值语句的2015年山东省信息学奥赛夏令营、输入语句read和readln功能:从键盘读入数据项,并把它存到变量中去,使该数据能在以后的计算中使用。输入语句的一般形式为:read(v1,v2,vn);readln(v1,v2,vn);从键盘逐次读入数据,分别赋给变量v1,v2,vn,一行输入多个变量值时,要求数据之间用空格分隔,readln语句要求输入数据后必须回车,使得后继操作从下一行的头上开始。、输入语句read和readln2015年山东省信息学奥赛夏令营及时充电(输入语句)格式作用Read(变量表)接受键盘输入数据存入对应变量Readln(变量表)接受键盘输入数据存入对应变量,然后光标换行Readln不接受数据,光标换行输入数据时,数值数据之间可用空格分开,也可以每输入一个数按一次回车;如果是输入字符或者字符串,两者之间不能用空格分开,只能每输入一个按一次回车。及时充电(输入语句)格式作用Read(变量表)接受键盘输入数2015年山东省信息学奥赛夏令营read语句与readln语句区别是:1)read语句是一个接一个地读数据,在执行完本Read语句(读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。如:read(a,b);read(c,d);read(e);如果输入数据行如下:123 456则a,b,c,d,e的值分别为1,2,3,4,5,如果后面无读语句则数据6是多余的,这是允许的。read语句与readln语句区别是:2015年山东省信息学奥赛夏令营 Readln则不同,在读完本则不同,在读完本Readln语句中变量所需的数语句中变量所需的数据后据后,该数据行中剩余的数据多余无用,或者说,在读完本该数据行中剩余的数据多余无用,或者说,在读完本Readln语句中变量所需数据后,一定要读到一个回车,否语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用。则多余的数据无用。设有下列语句设有下列语句:read(a,b,c);readln(d,e);readln;readln(f,g);其中其中,所有变量均为整型。设输入的数据如下:所有变量均为整型。设输入的数据如下:12 345678 910 11 12 13 Var a,b,c,d,e,f,g:integer;begin read(a,b,c);readln(d,e);readln;readln(f,g);writeln(a,b,c,d,e,f,g);end.Readln则不同,在读完本Readln语句中变2015年山东省信息学奥赛夏令营2)readln语句与read语句的第二个区别是:read 后一定要有参数表,readln可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车)。经常用于暂停程序的运行,直到输入一个回车2)readln语句与read语句的第二个区别是:2015年山东省信息学奥赛夏令营输出语句write和writeln功能:把程序计算的结果,按适当的形式输出到屏幕。1)、write语句格式Write(表达式1,表达式2,);如:write(x,5,a+b);write(My name is Liping);2)、writeln语句格式:Writeln(表达式1,表达式2,)或writeln输出语句write和writeln2015年山东省信息学奥赛夏令营Write语句与writeln语句格式上都相似,但它们在功能上有所不同,两个语句的区别在于:write语句将其后括号中的表达式一个接一个输出后,没有换行。而writeln语句则在输出各个表达式的值后换行。例如以下两个程序段的输出分别为:write(1,2,3,4);write(5,6);输出为:123456writeln(1,2,3,4);write(5,6);输出为:123456Write语句与writeln语句格式上都相似,但它们在功能2015年山东省信息学奥赛夏令营实数的输出格式实数(real)以浮点型格式输出。例如805.67对应的浮点数为8.056700000000E+02。这种实数表达方式很不方便。我们可以通过下述形式强迫实数以定点型格式输出:实数表达式:域宽:小数位数例如,t的值设为63.123。下面三条输出语句分别有它们右边所示的输出格式:write(t);6.312300000000E+01 write(t:6:2);63.12 write(t:6:5);63.12300 write(t:0:0);实数的输出格式2015年山东省信息学奥赛夏令营vara,b,t:char;begin read(a,b);t:=a;a:=b;b:=t;writeln(a=,a,b=,b)end.例:输入两个整数a,b,交换他们的值,并输出.如:输入:30 34 输出:34 30vara,b,t:char;begin read(2015年山东省信息学奥赛夏令营算术运算符和算术表达式1.算术运算符运算符运算运算对象结果类型+加整型、实型只要有一个运算对象是实型,结果就-减 整型、实型是实型,如果全部的运算对象都是整*乘 整型、实型型并且运算不是除法,则结果为整型/除 整型、实型若运算是除法,则结果是实型。div 整除整型整型mod取余整型整型Program ex1_5;Const a=128;Var b,d:integer;c:real;Begin b:=a div 16;c:=a/b;d:=a;write(a:4,b:4,c:4:0,d:4);end.Program ex1_6;Var a:integer;Begin read(a);writeln(a mod 10);writeln(a div 10 mod 10);wrteln(a div 100);End.输入任意一个百位数算术运算符和算术表达式1.算术运算符运算符运算2015年山东省信息学奥赛夏令营是通过运算符把常量、变量、函数调用结合起来组成的。3+x1+bPASCAL表达式有以下计算优先顺序规则:1.括号内的表达式首先计算;2.运算符的优先级有四级,按其优先顺序从高到低排列为:not;*,/,div,mod,and;+,-,or;=,=,IN;不同优先级的两运算符之间的操作数先与具有较高优先级的运算符进行运算;3.同级的运算从左到右进行;另外,有一点需要指出的是,因为关系运算符的优先级最低,当用关系式构造复杂的布尔表达式时,这些关系式作为初等条件必须放在括号里。如:(xy)and(z=y)or(x=0)若不加括号,就是一个错误的表达式。表达式是通过运算符把常量、变量、函数调用结合起来组成的。表达式2015年山东省信息学奥赛夏令营输入一个3位的正整数,输出他们的各位数字之和与乘积。如:输入:436输出:1372var n,a,b,c,x,y:integer;begin readln(n);a:=n div 100;b:=(n div 10)mod 10;c:=n mod 10;x:=a+b+c;y:=a*b*c;writeln(x);writeln(y);end.上机练习题目:输入一个3位的正整数,输出他们的各位数字之和与乘积。var上2015年山东省信息学奥赛夏令营展示实力1 1、写出下列表达式的值。、写出下列表达式的值。12*3+6/4=12*3+6/4=45 div 4=45 div 4=98 mod 10=98 mod 10=2 2、写出下列程序段的运行结果。、写出下列程序段的运行结果。Var my:real;Var my:real;BeginBegin my:=18/4-3;my:=18/4-3;Writeln(my:10:2)Writeln(my:10:2)End.End.Var n,v:integer;Var n,v:integer;BeginBegin read(n);read(n);v:=n mod 5;v:=n mod 5;writeln(writeln(VP=VP=,v),v)End.End.运行时输入运行时输入 3434Var w1,w2:integer;Var w1,w2:integer;BeginBegin writeln(writeln(EnterEnter););Read(w1,w2);Read(w1,w2);W1:=0;W1:=0;W1:=w1+w2;W1:=w1+w2;Writeln(w1)Writeln(w1)End.End.运行时输入运行时输入1515,3636Var k1,k2,fn:integer;Var k1,k2,fn:integer;BeginBeginRead(k1,k2);Read(k1,k2);fn:=k1+2*k2;fn:=k1+2*k2;If fn7 then writeln(fn)If fn7 then writeln(fn)End.End.运行时输入运行时输入1,2,31,2,3展示实力1、写出下列表达式的值。Var my:real;Va2015年山东省信息学奥赛夏令营展示实力3、从键盘输入一个字符,然后显示一个由该字符组成的图案。输入样例输出样例Kkkkkkkkkk4、输入两个整数,让计算机来求它们的和、差、积、商、整数商和余数。输入样例输出样例18518+5=2318-5=1318*5=9018/5=3.6018 div 5=318 mod 5=3展示实力3、从键盘输入一个字符,然后显示一个由该字符组成的图2015年山东省信息学奥赛夏令营标准函数+a-b 标准函数+a-b 2015年山东省信息学奥赛夏令营算术函数函数标识符 意义 x类型结果类型abs(x)绝对值 整型、实型同自变量sqrt(x)平方根 整型、实型实型 int(x)取整数部分 整型、实型实型 exp(x):ex 指数 整型、实型实型 ln(x):logex自然对数 整型、实型实型 e=2.718.转换函数截尾函数trunc(x),舍去实数x的小数部分,并转换为整型。舍入函数round(x),对实数x作四舍五入,并转换为整型。Trunc(5.5)=5 trunc(-5.5)=-5Round(5.5)=6 round(-5.5)=-6Ronnd(5.4)=5 round(-5.4)=-5算术函数函数标识符 意义 2015年山东省信息学奥赛夏令营abs(-4)=4abs(-7.49)=7.49int(3.71)=3.0 sqrt(4)=2.0abs(-4)=42015年山东省信息学奥赛夏令营正确的书写表达式:1)、)、2)、)、正确的书写表达式:2015年山东省信息学奥赛夏令营1、输入三角形的三条边a,b,c,输出三角形的面积。(a,b,c是正整数100,满足三角形条件)上机练习上机练习上机练习2015年山东省信息学奥赛夏令营Var a,b,c:integer;p,s:real;Begin readln(a,b,c);p:=(a+b+c)/2;S:=sqrt(p*(p-a)*(p-b)*(p-c);writeln(s:0:2);End.Var2015年山东省信息学奥赛夏令营快捷键:保存F2;编译F9;运行ctrl+F9;看结果Alt+F5.程序的书写格式:缩2个格 begin end的配对工作目录的设置快捷键:
展开阅读全文