初级班第一讲新城中学信息学奥赛信息学奥赛简介信息学奥赛是1987年,由保加利亚的Sendov教授在联合国教科文组织第24届全体会议上提出倡议,举办国际信息学奥林匹克竞赛简称IOI,此后每年举办一届。为了在全国青少年中推广普及信息学知识,吸引更多的青少年参加到这项活动中,从一九九五年开始信息学奥赛的全国分区联赛,现在是教育部认可的五大学科(数学、物理、化学、生物、信息学)竞赛之一。NOIPNOIIOI信息学奥赛学习什么?程序设计1.熟练掌握程序设计的工具-计算机语言(初级班)2.学习程序设计的方法-算法设计(中级班)3.学习计算机处理数据的方法-数据结构(中级班)4.用程序解决各种问题(高级版)NOIP竞赛推荐的程序设计语言FreePascalC/C++gcc/g++Pascal语言是一门结构化的语言,它具有丰富的数据类型和控制结构,简明易懂,所以特别适合于教学。1968年瑞士的N.WIRTH教授设计完成了Pascal语言,1971年正式发表。程序体程序首部Pascal程序结构例1、从键盘上输入圆的半径,计算圆的面积,并输出到计算机屏幕。保留字程序名程序说明部分输入输出变量名(可以省略)常量说明变量说明程序执行部分beginend.programli1(input,output);constpi=3.1415926;varr,s:real;beginwrite(‘inputr:’);readln(r);s:=pi*r*r;writeln(‘s=’,s);end.程序执行的结果inputr:2S=12.56636启动freepascal建立自己的文件夹D:\软件\program\fpc\bin\i386-win32建立快捷方式复制快捷方式到自己的文件夹右键单击快捷方式,设置属性起始位置设置为自己文件夹的路径,单击“应用”设置选项-当前代码页-美国英语双击快捷方式启动freepascal新建一个自己的程序新建一个文本文件输入程序代码保存文件,将文件的后缀名修改为pas。将该程序文件拖到pascal快捷方式上。按F9编译,调试程序能够正常运行。执行run-run(ctr+F9);输入数据,回车;执行debug-userscreen(Atl+F5)查看程序运行结果。按任意键返回。programli1;constpi=3.1415926;varr,s:real;beginwrite(‘inputr:’);readln(r);s:=pi*r*r;writeln(‘s=’,s);end.新建程序program程序名;const常量说明;type类型说明;var变量说明;function函数说明;procedure过程说明;begin语句;语句;……语句;end.一个完全的Pascal程序结构程序是用一个一个语句构成的,每个语句后面跟一个分号表示语句结束,程序结束时用句号。programli1;constpi=3.1415926;varr,s:real;beginwrite(‘inputr:’);readln(r);s:=pi*r*r;writeln(‘s=’,s);end.保留字(关键字)所谓保留字是指在Pascal语言中具有特定的含义,一般都是由一个英文单词或者缩写构成,你必须了解它的含义,以便于正确的使用,否则会造成错误。下面是Pascal语言的部分保留字:programconstvarbeginend在以后的学习中会学到更多的保留字。标准标识符指Pascal语言预先定义的标识符,具有特殊含义。以下列举了Pascal语言部分常用的标准表识符:标准常量Maxint标准类型BooleanCharRealIntegerlongint标准函数AbsChrOddOrdSqrSqrtTrunc标准过程ReadReadlnWriteWriteln标准文件InputOutput自定义标识符(即程序员给某个对象取名)程序名、变量名、常量名命名原则1.不得使用保留字和标准标识符;2.只能用英文字母、数字、下划线组成;3.第一个字符必须是英文字母。abc_11_abcbeginname&1programli1;constpi=3.1415926;varr,s:real;beginwrite(‘inputr:’);readln(r);s:=pi*r*r;writeln(‘s=’,s);end.常量(三种类型的常量)(1)常数:程序中用到的具体的数据例如:34,2.45,’student’(2)标准常量:maxint(其值为32767)true、false(布尔型常量)(3)符号常量:(用来代替使用频繁的常量,要先定义)CONST常量标识符=常量;例:ConstPI=3.14159;变量变量就是存储数据的存储单元,变量名就是这些存储单元的逻辑地址。变量定义的一般形式:VAR变量表:数据类型;……变量表:数据类型;例:varr,s:real;vara,b,c:integer;m,n:real;变量必须先说明后引用!Pascal数据类型标准类型结构类型用户自定义类型简单类型数据类型整型(integer,longint)实型(real)字符型布尔型(逻辑型)枚举型子界型数组类型字符串类型集合类型记录类型文件类型指针类型表达式数学表达式PASCAL表达式注意2a2*a*号不能省略a÷ba/b除号的写法a3a*a*a没有乘方计算(a+b)/(a-b)表达式写在一行baba运算符:+-*/divmod10/3=3.3333310div3=310mod3=1小结程序是由一行一行的语句构成每行语句结束时要用分号;程序最后结束时要用句号.程序执行部分用beginend.Begin后面没有标点变量和常量var变量名:数据类型const常量名=常量每个程序可以没有常量,但是必须有变量数据类型整型integer,longint实型realprogramli1;constpi=3.1415926;varr,s:real;beginwrite(‘inputr:’);readln(r);s:=pi*r*r;writeln(‘s=’,s);end.输入程序d002输入程序代码并保存按F9键,检查语法错误执行“run-run”菜单命令(Ctrl+F9)输入45,回车执行“debug-userscreen”菜单命令(Alt+F5)查看程序运行结果Programd002;vara,b,c:longint;beginreadln(a,b);c:=a+b;write(c);end.提交程序登录网站注册账号(就读学校选平江初级班)用帐号登录选择题目将程序代码提交错误代码通过(AC)错误(WA)超时(TLE)内存溢出(MLE)执行错误(RE)编译错误(CE)d003:计算矩形的周长和面积内容:求矩形的周长和面积输入说明:一行两个整数输出说明:一行两个整数周长和面积输入样例:12输出样例:62programd003;vara,b:integer;beginreadln(a,b);write(2*(a+b));write('',a*b);end.d005:求圆的周长和面积内容:求圆的周长和面积输入说明:一行,半径值,实型输出说明:pi=3.1415情况下的周长和面积(保留2位小数),分两行输出输入样例:10.0输出样例:62.83314.15programd005;constpi=3.1415;varr,s,t:real;beginreadln(r);s:=pi*r*r;t:=2*r*pi;writeln(t:0:2);writeln(s:0:2);end.d002加法d003计算矩形的周长和面积d005求圆的周长和面积d007求两数的整数商和余数d009求梯形的面积