noip初赛复习——程序设计基础.docx 下载本文

OK备战NO IP 2010提高组初赛复习——程序设计基础篇

第一章简单程序 .................................................................. 2

第一节 Pascal程序结构和基本语句 ............................................ 2 第二节顺序结构程序与基本数据类型 ............................................ 4 第二章分支程序 .................................................................. 6

第一节 条件语句与复合语句 ................................................. 6 第二节 情况语句与算术标准函数 ............................................. 7 第三章循环程序 .................................................................. 9

第一节 for循环 ............................................................. 9 第二节 Repeat 循环 ........................................................ 13 第三节 While循坏 ......................................................... 14 第四章函数与过程 ............................................................... 16

第一节函数 ................................................................. 16 第二节自定义过程 ........................................................... 17 第五章 Pascal的自定义数据类型 .................................................. 18

第一节 数组与子界类型 ...................................................... 18 第二节二维数组 ............................................................. 21

第一章简单程序

程序设计语言,是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技 巧,用来向计算机发出指令。按语言级别有低级语言和高级语言之分。

低级语言包括机器语言和汇编语言。它的特点是与特定的机器有关,功效高,但使用 复杂、繁琐、费时、易出差错。

高级语言的表示方法要比低级语言更接近于待解问题的表示方法,其特点是在一定程 度上与具体机器无关,易学、易用、易维护。由于当高级语言程序翻译成相应的低级语言程 序时,一般说来,一个高级语言程序单位要对应多条机器指令,相应的编译程序所产生的目 标程序往往功效较低。(例:Pascal> C、C++、Java等)

第一节Pascal程序结构和基本语句

在未系统学习Pascal语言之前,暂II绕过那些繁琐的语法规则细节,通过下面的简单例 题,初步掌握Pascal程序的基本组成和基本语句的用法。

[例1.1]编程在屏幕上显示a Hello World! \\

Pascal 程序: Program exll; Begin

Writeln('Hello World!*); Readln; End.

这个简单样例程序,希望大家的程序设计学习能有一个良好的开端。程序中的Writein是一 个输出语句,它能命令计算机在屏幕上输出相应的内容,而紧跟Writein语句后是一对圆括 号,其中用单引号引起的部分将被原原本本地显示出来。

[例1?2]已知一辆自行车的售价是300元,请编程计算mim辆自行车的总价是多少? 解:若

总售价用m來表示,则这个问题可分为以下儿步处理:

① 从键盘输入自行车的数目a; ② 用公式 m=300*a计算总售价; ③ 输出计算结果。

Pascal 程序: Program Exl2; Var num9total: integer; Begin

ReadLn(num); total := 300*num; Writeln(ftotal=\\total); Readln; End.

{程序首部} {说明部分} {语句部分} {输入自行车数目}

{计算总售价}

此题程序结构完整,从中可看11!一个Pascal程序由三部分组成:

(1) 程序首部

由保留字Pegram开头,后面跟:个程序名(如:Exll);其格式为: Program程序名; 程序名由用户自己取,它的第一个字符必须是英文字母,其后的字符只能是字母或数 字和下划线组成,程序名中不能出现运算符、标点符和空格。

(2) 说明部分

程序中所用的常量、变量,或类型、及过程与自定义函数,需在使用之前预先说明, 定义数据的属性(类型)。

[例1.2]程序中VarS, R, C: Real;是变量说明,此处说明S, R, C三个变量均为 实数类型变量。只有被说明为某一类型的变量,在程序屮才能将与该变量同类型的数值赋给 该变量。

变量说明的格式为:

(3)

语句部分

指由保留字Begin (开始)至End.(结尾)Z间的语句系列,是解决问题的具体处理步 骤,也是程序的执行部分。

Pascal程序不管是哪部分,每句末尾都必须有分号(;),但允许最接近End的那个语句 末尾

的分号省略;程序结朿的End末尾必须有圆点(.),是整个程序的结朿标志。

程序中花括号“{ }”之间的部分为注释部分。

Pascal程序结构可归纳用如下的示意图来表示: Program程序名; 程序首部 说明部分 标号说明;(Label) 常量说明;(Const) 类型说明;(Type) 变量说明;(Var) 过程或函数说明; Begin 程序体(主程序) 语句部分 语句系列; End. 图1.1 Pascal程序的结构

把处理问题的步骤编成能从上到下顺序执行的程序,是简单稈序的基本特征。再来分析 下面两道例题的Pascal程序结构和继续学习基本语句。 [例1.3]编程计算半径为R的圆的面积和周长。

解:这是一个简单问题,按数学方法可分以下儿步进行处理:

① 从键盘输入半径的值R; ② 用公式S=nR2计算圆面积; ③ 用公式C=2HR计算圆周长; ④ 输出计算结果。

Pascal 程序: Program Exl3; Var r,s£: Real;

{要求告诉圆的半径R }

{程序首

部}