培训体系 中学信息学奥林匹克竞赛培训教程

上传人:蜀歌 文档编号:145867741 上传时间:2020-09-24 格式:PDF 页数:33 大小:469.64KB
返回 下载 相关 举报
培训体系 中学信息学奥林匹克竞赛培训教程_第1页
第1页 / 共33页
培训体系 中学信息学奥林匹克竞赛培训教程_第2页
第2页 / 共33页
培训体系 中学信息学奥林匹克竞赛培训教程_第3页
第3页 / 共33页
培训体系 中学信息学奥林匹克竞赛培训教程_第4页
第4页 / 共33页
培训体系 中学信息学奥林匹克竞赛培训教程_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《培训体系 中学信息学奥林匹克竞赛培训教程》由会员分享,可在线阅读,更多相关《培训体系 中学信息学奥林匹克竞赛培训教程(33页珍藏版)》请在金锄头文库上搜索。

1、培训体系 中学信息学奥林匹克竞赛 培训教程 培训体系 中学信息学奥林匹克竞赛 培训教程 中学信息学奥林匹克竞赛培训教程中学信息学奥林匹克竞赛培训教程 Pascal 语言和程序设计基础Pascal 语言和程序设计基础 (第一部分)(第一部分) 第一部分 Pascal 语言和程序设计基础第一部分 Pascal 语言和程序设计基础 预备知识预备知识 基本程序结构和几个概念:: 标识符 保留字 常量 变量 运算符 表达式 标准数据类型 Pacal 语言程序结构Pacal 语言程序结构 ProgramProgram prog_name; varvar 变量申明; beginbegin 程序体; end.

2、end. 例如: program pname; const n=4; type arr=array 1.4 of integer; var i:integer; a:arr; begin for i:=1 to n do read(ai); readln; for i:=n downto 1 do write(ai:4); writeln; end. 以上是一个 PASCAL 程序。从键盘读入 4 个数据,逆序输出。 一般来说,一个 PASCAL 程序包括以下几个部分: 程序头:program pname; 其中,program 是保留字,表示程序从这个地方开始,pname 是标识符, 是程序

3、的名字,可由程序员自定。保留字是 PASCAL 选定的,具有固定意义和用法的专用单词或缩 写,这些单词不允许作其它使用。如上,“program”就有“程序从这里开始”这样一种特别的意 义,而“const”就有“常量说明从这里开始”的意义。我们不能再用“program” 、“const”来作 为其它变量、常量等的名字。标识符是以字母开头的字母数字串,其长度最大为 8 个字符。用来表 示常量、变量、类型、文件、过程、函数和程序的名字。如“pname” 、“i” 、“j” 、“a1”就是合 法的标识符;但“1a” 、“#a”是非法的标识符。有一点要注意的是,在 PASCAL 中,字母除了作为 字符值

4、或字符串值之外,其大小写是无关的 字母除了作为 字符值或字符串值之外,其大小写是无关的。如标识符“A1”和“a1”在 PASCLA 看来是同一标识 符。在 PASCAL 中除了保留字和自定义的标识符外,还有一类有特殊含义的标识符,这类标识符称 为标准标识符。它们是用来标记程序中经常引用的处理对象,如常量、函数。 (PASCAL 定义的保留 字和标准标识符附后) 标识符在命名的时候要注意: 1、名字要易记易读,有意义。如 8 皇后问题程序名可以是“queen”也可以是“huanghou”等 ; 2、不能用保留字、标准标识符作为自定义的标识符。 说明部分: const n=4; type ar=a

5、rray 1.4 of integer; var i:integer; a:ar; 其中,const 部分是常量说明,说明一些在以下部分用到的,在整个程序执行过程不改变值的 量。这些量PASCAL称为常量。在程序中用到这个值的地方均用常量名来代替。如上题中定义 “n=4” 指本程序处理 4 个数值,在下面的程序体中就用“n”来代替具体的值(如 for i:=1 to n) 。如果 要改变处理数据个数,则只在常量说明部分修改“n=4”这一句就行了,而不用在程序中每一个用 到的地方都加以修改。 这样不但在编写程序的时候很方便, 也增加了程序的可读性, 修改时更方便。 常量说明在保留字 “const

6、” 下开始。 可以有多个语句。 常量说明语句的格式是 : “常量名=值 ; ” 。 如“n=4;” 。n 是常量名,4 是该常量的值, “;”是语句分隔符。 type 部分是类型说明,说明一些在以下部分用到的数据类型。如数组、记录、指针等。 类型说明在保留字“type”下开始。可以有多个语句。类型说明语句的格式是:“类型名=类 型说明;” 。如“ar=array 1.4 of integer;” 。ar 是类型名,array 1.4 of integer 是类 型说明, “;”是语句分隔符。 var 部分是变量说明。变量是指在程序执行过程中可以通过赋值语句或读语句来改变值的量。 所有在程序中使

7、用的变量都应该先在变量说明部分说明。PASCAL 中引用的每个变量都有“名字” 和“类型”属性。变量说明“说明”的主要工作是告诉 PASCA 下面程序中要用到这个名字的量,同 时这个量的类型是什么。 变量说明在保留字“var”下开始。可以有多个语句。变量说明语句的格式是:“变量名:变 量类型;” 。其中,如果有多个变量同一类型,则变量名与变量名之间用逗号分隔,变量名与变量 类型之间用冒号分隔。如“i:integer;” (i 是变量名,integer 是类型名) 、 “i、j:integer;” (i、j 是变量名,integer 是类型名) 变量说明要注意:1、有效变量名称不能大于 8 个字

8、符;2、变量名称必须以字母开头;3、在 同一个有效范围内变量名称必须唯一。 各个说明部分均以该部分的保留字开始。如“const”开始常量说明;“type”开始类型说明; “var”开始变量说明。一个程序包含多少种类型的说明,看需要而定,不是每一个程序都必须同 时包含这三种说明。如果程序不须要用到常量,则常量说明部分可以省略;如果不须要用到类型说 明,则类型说明可省 PASCAL 还有一条规则:先说明后引用。即所有在程序体中用到的“名字”必须都在说明部分 说明过才能引用,否则就会出错,通不过编译,也执行不了。如上,类型“ar”先在类型说明中定 义,然后在变量说明中引用;变量 i 在变量说明中定义

9、,在程序中引用。 程序体: begin for i:=1 to n do read(ai); readln; for i:=n downto 1 do write(ai:4); writeln; end. 程序体是以 begin end.括起来的语句系列。 “end”后面是一个小圆点,标识着程序结束, 整个程序只有一个是一个程序的主要部分。编程要完成的工作大部分都在这里完成。程序体中每一 语句均以“ ; ”作为结束符。在书写程序时,以“分层缩进”的风格来写,以便提高程序的可读性。 所谓的“分层缩进”是指在逻辑上同一级的语句其起始点对齐,下一级的语句向右缩进。 运算符 表达式 PASCAL 中的

10、运算符有算术运算符和关系运算符。和我们在数学课中学的基本一样但在写法上有些 不同,在写程序时要特别注意写法的不同: + 加号;- 减号;* 乘号( 数学中写为 );/ 除号( 数学中写为 );MOD 取余 如:8 MOD 2=0,7 MOD 2=1,2 MOD 3=2;DIV 取整 如:8 DIV 2=4,7 DIV 2=3,2 DIV 3=0。在 PASCAL 只有上面 6 种数学运算。其它的就只能利用这 6 种运算的组合通过语句来实现。如 a2(a 的平方) 可以化成 a*a。 大于; 小于; 不等于(数学中写为 );= 大于等 于(数学中写为 ), 变量、常量通过运算符连接起来的式子我们

11、称为表达式。一个单独的变量或常量也是表达式。 如 a、a+3、a*3+b 都是表达式。写表达式时要注意 PASCAL 表达式跟我们已经熟悉的数学表达式在 格式上的区别: 数学表达式PASCAL 表达式注意 2a2*a*号不能省略 aba/b除号的写法 abab不等号的写法 aba = = := ( ) . , : $ (* *) 其中, 有些符号是以双字符作为一个整体, 拆开后就失去原有的意义。 如 “” 是一个表示 “不 等于”的关系运算符,如拆开后就变成了两个关系运算符,分别表示“小于” 、 “大于” 。 PASCAL 使用的保留字有: AND、ARRAY、BEGIN、CASE、CONST

12、、DIV、DO、DOWNTO、ELSE、END、FILE、FOR、FUNCTION、 GOTO 、IF、IN、LABEL、MOD、NIL、NOT、OF、PACKED、PROCEDURE、PROGRAM、RECORD、REPEAT、 SET、THEN、TO、TYPE、UNTIL、VAR、WHILE、WITH、FORWARD 常用的标准标识符有: 标准常量:FALSE TRUE MAXINT MAXLONGINT 标准类型:INTEGER BOOLEAN REAL CHAR TEXT 标准文件:INPUT OUTPUT 标准函数:ABS ACTAN CHR COS EOF ELON EXP LN

13、ODD ORD PRED ROUND SIN SQR SQRT SUCC TRUNC 标准过程:ASSIGN GET NEW DISPOSE PACK PUT READ READLN RESET REWRITE UNPACK WRITE WRITELN 函数格式:函数格式: function fun_name(参数表):数据类型; var 变量声明; begin 函数体; end; 例题:写出计算两个整数 a,b 的和函数 add(a,b)。 过程格式:过程格式: procedure proc_name(参数表); var 变量声明; begin 过程体; end; 例题:写出在屏幕打印一行文

14、字:”hello,Pascal language is very easy!” 函数和过程的调用:函数和过程的调用: 例题:从键盘输入:a,b 两个数,输出由这两个数为直角边的三角形的面积。 【xoi00_01.pas】 program xoi00_01; function area(const a,b:real):real; var s:real; begin s:=a*b/2.0; area:=s; end; procedure myproc; var a,b:real; s:real; begin write(Please input two number a,b:); readln(a

15、,b); s:=area(a,b); writeln(the area of trian is: ,s:5:2); end; = main program = begin myproc; end. 练习: 一、判断以下标识符的合法性: a3 3a a17 abcd ex9.5 二、将下列的数学表达式改写成 PASCAL 表达式: b2-4ac 三、求下列表达式的值: 20 mod 19, 15 mod 9, 7 div 8 ,19 div 3,(45) and (79) or ( 910),2 and (3=3) or (37) 第一节 顺序结构第一节 顺序结构 顺序结构是程序设计中最简单的结

16、构,也是最基本的结构,它就是按照程序书写的顺序逐句执 行程序中的指令。流程图如下: 例题:计算圆的周长的过程: 输入圆的半径;(操作一) 计算圆的周长;(操作二) 输出圆的周长;(操作三) 基本的程序语句: 赋值语句: 赋值语句是最简单的语句,其一般形式为: :=;:=; “:=”称为赋值号,赋值语句的作用是计算表达式的值,并赋给变量。对于任何一个变量必须 首先赋值,然后才能引用,否则,未赋初值的变量将以一个随机值参与运算。另外,赋值号两边的 类型必须相同,但表达式值为整数时,它可自动化为实型后赋给该实型变量,即符合赋值相容。 如:Pi:=3.14;R:=2;Age:=20;S:=Pi*R*R 例:关于赋值的例子 prssogram example; var a,b:integer; begin a:=3; b:=2; a:=a+b; writeln(a); writeln(b);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号