PASCAL语言介绍(1)_第1页
PASCAL语言介绍(1)_第2页
PASCAL语言介绍(1)_第3页
PASCAL语言介绍(1)_第4页
PASCAL语言介绍(1)_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces, 简称NOIP) 比赛中使用的程序设计语言是:PASCAL或C/C+10月份举行初赛初赛全部为笔试,满分100分。试题由四部分组成:1、选择题:共20题,每题1.5分,共计30分。每题有5个备选答案,前10个题为单选题(即每题有且只有一个正确答案,选对得分),后10题为不定项选择题(即每题有1至5个正确答案,只有全部选对才得分)。普及组20个都是单选题。2、问题求解题:共2题,每题5分,共计10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,

2、并推算出问题的解。考生给出的答案与标准答案相同,则得分;否则不得分。3、程序阅读理解题:共4题,每题8分,共计32分。题目给出一段程序(不一定有关于程序功能的说明),考生通过阅读理解该段程序给出程序的输出。输出与标准答案一致,则得分;否则不得分。4、程序完善题:共2题,每题14分,共计28分。题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句或语句的一部分并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对则得分;否则不得分。 复赛 复赛的题型全部为上机编程题。题目包括4道题,每题100分,共计400分。每一试题包括:题目、问题

3、描述、输入输出要求、样例描述及相关说明。测试时,测试程序为每道题提供了5-10组测试数据,考生程序每答对一组得1020分,累计分即为该道题的得分。l计算机基础知识计算机基础知识1 计算机的产生与发展计算机的产生与发展2 计算机系统组成及工作原理计算机系统组成及工作原理3 计算机中有关数及编码的知识计算机中有关数及编码的知识l操作系统简介操作系统简介1 文件和目录文件和目录2 命令命令奥赛大纲l计算机网络常识计算机网络常识1 网络基础知识网络基础知识2 Internet简介简介l计算机信息安全基础知识计算机信息安全基础知识1 计算机的网络安全计算机的网络安全2 计算机病毒计算机病毒事实上,即使有

4、了汇编语言(ASM语言),如果要它在屏幕上输出“你好”两个汉字,你也许需要让它发送无数个指令给屏幕让屏幕画很多很多点。于是就诞生了更加高级的语言,比如Pascal语言。program hello_world;begin writeln(Hello World!);end.编译器Compilerexe文件机器语言是一种只有计算机才读得懂的语言,也是计算机唯一能够直接读懂的语言。这种语言只有两个字母:0和1。Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要

5、特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。正因为Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。FPascal4NOI-2KXP文件 编辑查找运行 编译调试工具选项窗口帮助菜单栏Free Pascal 程序首部程序首部说明部分说明部分执行部分执行部分程序体程序体

6、plus_b_1.pasplus_b_2.pasTurbo Pascal中的整型数中的整型数Turbo Pascal中的实型数中的实型数2.4 2.4 常量常量常量:在某个程序的整个过程中其值不变的量。常量:在某个程序的整个过程中其值不变的量。整型常量整型常量 整型常量采用我们平常使用的十进制整数表示。如整型常量采用我们平常使用的十进制整数表示。如 138,0,-512 等都是整型常量,而等都是整型常量,而18.0 都不是整型常量。都不是整型常量。 Pascal定义了:定义了:(1)整数常量:)整数常量:Maxint = 32767;(2)长整数常量:)长整数常量:MaxLongInt = 2

7、147483647;5.5.符号常量符号常量用一个标识符来代表一个常量,称为用一个标识符来代表一个常量,称为“符号常量符号常量” 。 定义符号常量的一般格式定义符号常量的一般格式: CONST = 常量说明部分既定义了常量说明部分既定义了常量名常量名及其及其值值,又隐含定义了常量的,又隐含定义了常量的类型类型。Const pi=3.14159; max=500;注意:注意: 符号常量一经定义,在程序的符号常量一经定义,在程序的执行部分执行部分就只能使就只能使用该常量标识符,而不能修改其值。用该常量标识符,而不能修改其值。 使用符号常量比直接用数值更能体现使用符号常量比直接用数值更能体现“见名知

8、义见名知义”的原则,也便于修改参数,故一个较好的程序中,的原则,也便于修改参数,故一个较好的程序中,应尽量使用符号常量,在执行部分基本上不出现直应尽量使用符号常量,在执行部分基本上不出现直接常量。接常量。2.5 2.5 变量变量(1)变量:变量:变量代表了一个变量代表了一个存储单元存储单元,其中的值是可变的,故,其中的值是可变的,故称为变量。称为变量。(2)变量三要素:变量名、变量类型、变量值。变量三要素:变量名、变量类型、变量值。例如:例如:vara,b,c:integer;m,n:real;ch:char; 2.62.6运算符和表达式运算符和表达式 (1)(1)运算符运算符a.a.算术运算

9、符算术运算符运算符运算符 运算运算对象结果类型运算运算对象结果类型+加整型、实型加整型、实型只要有一个运算对象是实型,结果就只要有一个运算对象是实型,结果就-减整型、实型减整型、实型是实型,如果全部的运算对象都是整是实型,如果全部的运算对象都是整*乘整型、实型乘整型、实型型并且运算不是除法,则结果为整型,型并且运算不是除法,则结果为整型,/除整型、实型除整型、实型若运算是除法,则结果是实型。若运算是除法,则结果是实型。div 整除整除 整型整型 整型整型mod 取余取余 整型整型 整型整型program ceshi;var a,b:integer; c:real;begin a:=4; b:=

10、5; c:=6.7; writeln(a,+,b,=,a+b); writeln(a,+,c,=,a+c:10); writeln(b,+,c,=,b+c:10); readln;end.4+5=94+ 6.7000000000E+00= 1.070E+015+ 6.7000000000E+00= 1.170E+01b.逻辑运算符逻辑运算符运算符运算运算对象结果类型运算符运算运算对象结果类型not逻辑非布尔型布尔型逻辑非布尔型布尔型and逻辑与布尔型布尔型逻辑与布尔型布尔型or 逻辑或布尔型布尔型逻辑或布尔型布尔型xor逻辑异或布尔型布尔型逻辑异或布尔型布尔型c.关系运算符关系运算符运算符运算

11、运算对象结果类型运算符运算运算对象结果类型=等于简单类型布尔型等于简单类型布尔型 不等于简单类型布尔型不等于简单类型布尔型大于简单类型布尔型大于简单类型布尔型= 大于等于简单类型布尔型大于等于简单类型布尔型(2)优先级优先级运算符优先级运算符优先级not1(高高)*,/,div,mod,and 2xor,+,-,or 3in,=,=,=, 4(低低)2.2.表达式表达式(1)算术表达式:算术表达式是由算术算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。运算符连接常量、变量、函数的式子。 A+BC+D(A+B)/(C+D)B2-4ACSQRT(B*B-4*A*C)X0且且X0(X

12、=0)AND(X=0)(2)(2)布尔表达式:布尔表达式:Turbo PascalTurbo Pascal提供给布尔表提供给布尔表达式以下基本操作:逻辑运算和关系运算。达式以下基本操作:逻辑运算和关系运算。 2.7 赋值语句赋值语句(1)格式)格式 变量标识符变量标识符 := 表达式表达式 (2)语义)语义 赋值语句的执行是赋值语句的执行是“先计算,后赋值先计算,后赋值” 。即先计算。即先计算表达式表达式的值,然后将的值,然后将值赋给变量标识符,具有值赋给变量标识符,具有计算和赋值的双重功能计算和赋值的双重功能。 program ceshi;program ceshi;varvar num:i

13、nteger; num:integer;beginbegin num:=789; num:=789; num:=num div 10; num:=num div 10; num:=num div 10; num:=num div 10; num:=num div 10; num:=num div 10;end.end. 2.8 输出语句(写语句)输出语句(写语句) 输出语句的作用是将程序运算的结果输出到屏幕或打印输出语句的作用是将程序运算的结果输出到屏幕或打印机等机等输出设备输出设备。这里通常是指输出到。这里通常是指输出到屏幕屏幕。 (一)输出语句的两种格式(一)输出语句的两种格式 1、wri

14、te语句语句 格式格式Write(表达式表达式1,表达式,表达式2,); 如如:write(1 , 2 , 3 , 4); write(a, b, c, d); write(My name is Li Ping!); 2、writeln语句语句 格式格式: Writeln(表达式表达式1,表达式,表达式2,)或或writeln (二二)输出语句的输出语句的功能功能 计算机执行到某一输出语句时,计算机执行到某一输出语句时,先计算先计算出输出语句中的每个表出输出语句中的每个表达式的值,然达式的值,然后输出后输出到屏幕上。到屏幕上。write(1,2,3,4);write(5,6); writeln

15、(1,2,3,4);write(5,6); Write 语句与语句与 writeln 语句语句区别区别:(1)write语句输出后,不换行;语句输出后,不换行;(2)writeln语句输出后,换行;语句输出后,换行;1234561234 56 Writeln; 输出空行或换行输出空行或换行Writeln(x , y);Write(x , y);Writeln;例例1:某仓库:某仓库 5月月 1 日有粮食日有粮食 100 吨,吨,5月月 2 日又日又调进调进20 吨,吨,5月月 3 日卖出库存的日卖出库存的3 分之二,分之二,5月月 4日日又调进库存的又调进库存的 3 倍粮食,问该仓库从倍粮食,

16、问该仓库从 5 月月 1 日到日到 5 月月 4 日期间每天的粮食分别是多少吨?日期间每天的粮食分别是多少吨?(输出每天的输出每天的库存量库存量)例例2:有三个小朋友甲乙丙。甲有:有三个小朋友甲乙丙。甲有50粒糖果,乙有粒糖果,乙有43粒糖果,丙有粒糖果,丙有13粒糖果。现在他们做一个游戏。粒糖果。现在他们做一个游戏。从甲开始,将自己的糖分三份,自己留一份,其余从甲开始,将自己的糖分三份,自己留一份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。问最后甲、乙、丙三人各有多与丙也依次这样做。问最后甲、乙、丙三人各有多少粒糖果?少粒糖

17、果?Program ex1; Var n : integer; Begin n:=100;Writeln(5.1:,n); 100 n:=n+20;Writeln(5.2:,n); 120n:=n div 3;writeln(5.3:,n); 40n:=n *4;writeln(5.4:,n); 160Readln; End. program ex2; var A,B,C:integer; begin A:=50;B:=43;C:=13; 初始状态初始状态 A:=A div 3; B:=B+A;C:=C+A; 甲小朋友分糖果甲小朋友分糖果 B:=B div 3; A:=A+B;C:=C+B;

18、乙小朋友分糖果乙小朋友分糖果 C:=C div 3; A:=A+C;B:=B+C; 丙小朋友分糖果丙小朋友分糖果 writeln(A=,A,B=,B,C=,C); 输出结果输出结果 51 35 16 readln; end. (三)输出语句的输出格式(三)输出语句的输出格式 整数默认输出格式为:十进制数;整数默认输出格式为:十进制数;实数默认输出格式为:科学记数法;实数默认输出格式为:科学记数法;(如想用小数形式输出,要自己另行定义)。(如想用小数形式输出,要自己另行定义)。 默认的输出格式默认的输出格式 pascal语言为整型量、实型量、布尔型量和字语言为整型量、实型量、布尔型量和字符串符串

19、( 用一对单引号括起来的字符序列用一对单引号括起来的字符序列)规定了规定了每种数据所占的每种数据所占的宽度宽度(即一个数据占几列即一个数据占几列) ,一,一个数据所占的宽度称为个数据所占的宽度称为“场宽场宽”或或“字段宽字段宽” 。系统给出的默认场宽称为系统给出的默认场宽称为标准场宽标准场宽。【附表】【附表】标准标准Pascal指定场宽指定场宽 指定单场宽指定单场宽. 格式:格式:write(表达式表达式:N)或或writeln(表达式表达式:N),其中其中N为为自然数自然数;若数据实际长度小于指定场宽时,则若数据实际长度小于指定场宽时,则“向右靠向右靠齐,左留空格齐,左留空格”。如如: wr

20、ite(1234:8);write(abcdef:12); 输出结果输出结果: 1234abcdef对于标准实型数据指定单场宽时,如果指定的宽度对于标准实型数据指定单场宽时,如果指定的宽度小于小于8位,则数据按位,则数据按8位格式位格式“ *.*Enn”输出。输出。指定双场宽指定双场宽 如果希望以如果希望以小数形式小数形式输出实数输出实数,可以用指定可以用指定双场宽双场宽方法输出。方法输出。 格式为:格式为:write(实型表达式实型表达式:m:n),m :总宽度总宽度,n:小数位宽度。小数位宽度。如如 : write(sqrt(75):9:4); 输出输出:8.6602 思考思考1: wri

21、te(sqrt(75):5:4); 输出输出:8.6602思考思考2: write(sqrt(75):3:1); 输出输出:8.7【综合实例】【综合实例】【例【例3】 写出写出ex3的输出结果的输出结果. program ex3; const s=abcd; var i:integer; r:real; c:char; b:boolean; begin i:=1234; r:=12.345; c:=#; b:=true; writeln(i, i:6, i:3); writeln(r, r:8:4, r:6:5); writeln(c, c:5); writeln(s, s:6, s:3);

22、writeln(b, b:5, b:3); end. 1234123412341.2345000000E+011.23451.23450#abcdabcdabcdTRUETRUETRUE 2.9 输入语句输入语句(读语句读语句)1.读语句的一般格式:读语句的一般格式: read(变量名表变量名表); readln(变量名表变量名表); 变量名表变量名表逗号隔开的若干个变量名;逗号隔开的若干个变量名; 功能:功能:从键盘读入数据从键盘读入数据,依次赋给相应的变量。依次赋给相应的变量。 说明:说明:执行到执行到read或或readln语句时,系统处于等待状态,等语句时,系统处于等待状态,等待用户从

23、键盘输入数据,系统根据变量的数据类型的语待用户从键盘输入数据,系统根据变量的数据类型的语法要求判断输入的字符是否合法。法要求判断输入的字符是否合法。如如:执行执行 read(a)语句,语句,a 是整型变量,则输入的字符为是整型变量,则输入的字符为数字字符时是合法的,当输入结束时,则自动将刚接受数字字符时是合法的,当输入结束时,则自动将刚接受的一串数字字符转换为整数赋给变量的一串数字字符转换为整数赋给变量a。 在输入数值型(整型或实型)数据时,数据在输入数值型(整型或实型)数据时,数据间要用空格或回车分隔开各个数据,输入足够间要用空格或回车分隔开各个数据,输入足够个数的数据,否则仍要继续等待输入,但最后个数的数据,否则仍要继续等待输入,但最后一定要有回车,表示该输入行结束,直到数据一定要有回车,表示该输入行结束,直到数据足够,该读语句执行结束,程序继续运行。足够,该读语句执行结束,程序继续运行。【例【例4】 设设 a、b、c 为整型变量,需将它们的值分别为整型变量,需将它们的值分别赋以赋以10,20,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论