当前位置:文档之家› pascal语言基本知识

pascal语言基本知识

pascal语言基本知识
pascal语言基本知识

信息学奥赛讲义

前言关于信息学奥赛

一、什么是信息学奥赛:

信息学奥赛是形式:参赛学生在规定的3个小时内,完成4个与数学(涵盖小学奥数、中学数学、大学数学)有关的问题的计算机程序设计。阅卷采取计算机自动限时测试(黑箱测试法),通常限时为1秒,超时不得分。每道题测试10个(组)不同数据,通常是由简道难,每个测试点10分,共400分,根据得分多少确定得奖等次。

IOI:国际奥林匹克信息学竞赛

1989年在保加利亚的布拉维茨开始首届举行的一年一度的中学生竞赛,每个国家可以由4人组成国家队参加比赛,共有100多个国家参赛,至今已举办了21届。中国从第一届开始参赛。

作为五项国际奥林匹克学科竞赛之一,信息学奥林匹克竞赛是由联合国教科文组织于1988年发起创建、由来自世界各地20岁以下的中学生参加的计算机科学领域的一项赛事,目的是在青少年中普及计算机科学,为来自世界各地的年轻人提供一个交流机会,并通过比赛和访问学习主办国优秀的文化,加深对主办国的了解。竞赛每年在不同国家举办。中国累计获金牌30块、银牌17块,铜牌12块,安徽省累计获得金牌2块、银牌4块,铜牌5块.

NOI:全国信息学奥林匹克竞赛

由中国计算机学会主办的一项面向全国青少年的信息学竞赛,也是与联合国教科文组织提倡的国际信息学奥林匹克竞赛同步进行的一项竞赛活动。1984年开始首届比赛,每个省选拔5名(2000年前4名)学生组成省队参加比赛,最终选拔出5名学生参加IOI竞赛。

安徽省从首届开始参加比赛,至今已9次获得团体第一,且各次均名列前5名。

AHOI:安徽省信息学奥林匹克竞赛

安徽省组队参加NOI的选拔赛,铜陵市从首届开始参赛,上实际90年代曾多次获得团体总分第一,至今仍保持前5名。

NOIP:全国信息学奥林匹克联赛

由中国计算机学会主办的一项面向全国青少年的普及性信息学竞赛,参加人数较多、设奖面较大。目前,NOIP分为普及组和提高组两个级别。

提高组:主要面向高中学生,是目前高中阶段五大联赛之一。设奖面大,2008年为例:安徽省设一等奖近50名。一等奖获得者将取得高考保送生资格。初中学生也可以报名参加。

普及组:主要面对初中学生,是安徽目前初中阶段唯一奥赛。按照铜陵市中考政策,获得普及组二等奖及以上者,中考获10分加分,同时可免试进入一中理科实验班。

铜陵市从2005年起参加该项比赛活动。已先后数十人次获得提高组一等奖,已毕业学生均已保送进入名牌大学(中国科大、复旦大学、上海交大等),今年高三学生目前已有8人获得NOIP一等奖取得保送生资格。

二、信息学奥赛学什么:

1、计算机语言:

由计算机指令组成的命令集。可控制计算机自动完成某一完整的工作。目前信息学竞赛可以使用的语言有Pascal、C、C++,本期将进行Pascal语言教学。

2、数据结构:

将数学对象和事物对象表达成计算机可以接受的形式,并根据特点把它们有机地组合在一起,勾连数据之间的关系,以便高速高效地加以处理。

3、算法:

解决问题的思路和方法。

4、三者关系:

语言是工具,是表达算法的语言工具,必须达到自然语言的熟练程度。

数据结构是基础,是构建算法的必要基础,采用不同的数据结构将会构建出不同的算法,而不同的算法所消耗的时间和内存空间是不同的。

算法是灵魂,是解决问题的关键。它最终需要用语言表达出来。

程序设计相当于文学创作过程,以《红楼梦》为例:算法相当于小说的故事构思和写作手法;数据结构相当于小说中的人物和人物关系;语言相当与汉语语言。

仅仅会中文语言的人是写不出《红楼梦》的,心里有《红楼梦》故事但不会汉语的人也写不出优美的作品。

三、如何学好信息学:

1、认真听课,勤加练习

要求:每天练习1小时(与上课时间为1:2)

2、从模仿到创新

模仿:从老师的编程过程中学到良好的程序书写规范和程序实现技巧。

创新:勤于将学到的各种算法组合成新算法,解决没有遇到过的问题。

3、注重语言熟练程度

语法熟:熟练掌握Pascal语言的语法和逻辑结构。

输入熟:打字快、准。

思维熟:自觉地应用Pascal语言进行日常生活和数理化学科逻辑思维,达到熟练使用Pascal语言表达自己算法思维结果的目的。

养成良好的书写习惯、加强纠错的能力和程序跟踪能力。

4、多层次交流:

同OIer交流:多上信息学论坛,与全国各地的信息学爱好者交流。

https://www.doczj.com/doc/fe16219358.html,/team/

https://www.doczj.com/doc/fe16219358.html,/program/

https://www.doczj.com/doc/fe16219358.html,/itjs/base/6_6.asp

https://www.doczj.com/doc/fe16219358.html,/course_ware/data_structure/web/main.htm

https://www.doczj.com/doc/fe16219358.html,/category-5-1.html

https://www.doczj.com/doc/fe16219358.html,.sg/~xujia/mirror/https://www.doczj.com/doc/fe16219358.html,/algorithm/ind ex.html

https://www.doczj.com/doc/fe16219358.html,/

5、练习:

除完成老师布置的家庭作业,自己要上网找相关题库。

https://www.doczj.com/doc/fe16219358.html,/

https://www.doczj.com/doc/fe16219358.html,/aosai/sgoi/

【推荐】给大家推荐几个网上题库

大量的练习是每个oi选手成长的必经之路,一般算法书上的练习都没有配套的测试数据,很难判断你写的程序的正确与否。

给大家介绍几个在线测试平台:

https://www.doczj.com/doc/fe16219358.html,aco 【推荐】

网址:https://www.doczj.com/doc/fe16219358.html,

优点:题库难度是递增的,有很多很好的基础题。

缺点:(1)题量较少,共90多题。(2)纯英文网站,不过我们中国人的智慧是无穷的,已经有了有人全部翻译过来了,并且配有解题报告,网址是https://www.doczj.com/doc/fe16219358.html,/index.php/USACO_Training。

2.rqnoj 【推荐】

网址:https://www.doczj.com/doc/fe16219358.html,

优点:题量较大,测评机性能不错。基础题较多,适合初级选手练手。

缺点:题解不多。遇到难题束手无策。

3.vijos 【推荐】

网址:https://www.doczj.com/doc/fe16219358.html,

题量大,题解丰富,……

4.Tyvj 【推荐】

https://www.doczj.com/doc/fe16219358.html,/ 信息学在线测评系统

5.sgu

网址:acm.sgu.ru

纯英文题目。网上也能找到翻译和解题报告。

题目难度较大,属高手进阶篇

四、要求:

1、不得缺课,尤其第一年语言学习期间。任何理由缺课一次即意味放弃。

2、不得打游戏。发现打游戏者不论学的再好,立即清退。

3、文化课不得下降。文化课成绩严重下降者,劝其退出。

第一篇Pascal语言

第一课 Pascal语言概述与预备知识

1、关于Pascal和Lazarus

Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。

以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。

正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。

在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。

下面列出Turbo Pascal的编年史:

我们将采用信息学奥赛专用Pascal语言环境:Lazarus,目前版本为0.9.28,是集程序的输入、编辑、编译、跟踪、调试为一体的语言环境。

2、Lazarus 的启动

双击桌面上的Lazarus图标;或开始→程序→Lazarus→Lazarus

练习:

1、按照上面方法启动Lazarus。

2、关闭除主窗口和Lazarus Source Editor窗口以外的其它窗口。

3、菜单File→New …→Project(Custom Program) →OK

4、删除Lazarus Source Edior窗口中除第一行和最后两行的其它内容。

5、菜单File→Save→将project1换成firstex(注意扩展名不动) →保存。

6、在Lazarus Source Edior窗口中输入下面程序,注意标点符号不能错误,字母不区

分大小写。

program firstex; (该行已有,不需再输入)

var a,b,c:integer;

begin

a:=5;

b:=6;

c:=a*b;

write(c);

readln;

End.

7、菜单File→Save

8、Ctrl_F9(编译),注意观察弹出的Messages窗口中的提示信息

Project "project1" successfully built. :)为没有错误。

如果显示其它信息,则表示程序输入有错误,需要订正。

9、F9(运行程序,查看窗口中运行结果)

10、回车退出

第二课开始编写pascal语言程序

1.1 Lazarus编辑环境

1.2 简单的Pascal程序的结构

1.3 完整的的Pascal程序结构

1.1 Lazarus编辑环境

https://www.doczj.com/doc/fe16219358.html,zarus环境介绍

(1)编辑程序

光标移动键的使用

Backspace键:删除光标前一个字符

Ctrl+N:在光标前插入一行

Ctrl+Y:删除光标所在行

Home:光标移到行首

End:光标移到行尾

PageUp/PageDown:上下翻页

Insert:插入与改写状态切换

(3)编译程序(Compile):Ctrl+F9或菜单Run→Build

(4)运行程序(Run): F9或菜单Run→Run

(5)退出程序运行:菜单Run→Stop

(6)保存程序(Save):Ctrl_S或菜单File→Save

(7)打开原有的程序:Ctrl_O或菜单File→Open

(8)调试时增加观察项:Ctrl+Alt+W或菜单View→Debug windows→Watches

1.2 简单Pascal程序的结构

例1下列是一Pascal源程序:

program firstex; (程序的首部)

var a,b,c:integer;(程序的说明部分)

begin

a:=5;

b:=6; (程序体)

c:=a*b; (程序的执行部分)

write(c);

readln;

End.

1.3 完整的Pascal程序结构

一个完全的Pascal程序结构

program 程序名;

uses 调用单元说明(信息学竞赛不用);

label 标号说明;(一般不用)

const 常量说明;

type 变量类型说明;说明部分

var 变量说明;

function 函数说明;

procedure 过程说明;

begin

语句;

语句;

……

语句;

end.

作业:

1.熟悉Lazarus编辑环境.

2.记住快捷键的使用.

3.编写计算78*67的值的Pascal程序并运行..

第三课 Pascal语言基础知识

2.1 Pascal的字符与符号

2.2 Pascal数据类型

2.3 常量与变量

2.4 标准函数

2.5 运算符和表达式

练习与作业

2.1 Pascal字符与符号

1.标识符

(1) 标识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。例如例1.1中的Area(程序名),pi(符号常量),s、r(变量名)都是标识符。

(2) 标识符的分类:

a.保留字(关键字)

所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。下面是Pascal语言的保留字:

AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FUNTION,

GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH等

b.标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。

以下列举了Turbo Pascal语言部分常用的标准表识符:

标准常量False Maxint True

标准类型Boolean Char Real Integer

标准函数Abs Arctan Chr Cos Eof Eoln Exp

Ln Odd Ord Pred Round Sin Sqr

Sqrt Succ Trunc

标准过程Dispose Get New Pack Page Put Read

Readln Reset Rewrite Unpack Write Writeln 标准文件Input Output

c.用户自定义标识符:由你自己根据需要来定义。

用户为自己的程序、文件、变量、变量类型、函数、过程等所取的名称。

(1)选用的标识符不能和保留字和标准标识符相同。

(2)必须以字母开头,后面跟字母、数字、下划线。

以下列举了你自己在定义标识符时可以用的字符:

2.2 Pascal数据类型

数据是程序设计的一个重要内容,其重要特征----数据类型,确定了该数据的形、取值范围以及所能参与的运算。

Pascal提供了丰富的数据类型,

整型

实型

标准类型字符型

布尔型

静态数据类型自定义类型枚举型

子界型

数组类型Pascal语言数据类型构造类型集合类型

记录类型

文件类型

动态数据类型:指针类型

在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。

1.整型

一个整型数据用来表达和存放一个整数。根据整数的大小,有分为以下不同整数类型。

类型类型名表达整数范围占用内存(字节)

短整型 shortint -128~128 1

字节型 byte 0~255 1

整型 integer -32767~32767 2 整型字型 word 0~65535 2 长整型 longint -2147483648..2147483647 4

无符号长整型Cardinal 0~4294967295 4

超长整型 int64 -9223372036854775808 ~9223372036854775807 8

无符号超长整型 qword 0~18446744073709551615 8请务必记住上表

(计算机内存:以一段电路是否通电来表达和记录一个二进制数位,即每个位只能表达

0和1两个二进制数,称为1个bit;8位合称一个字节,能表示28=256个不同的数,称为

1个Byte;1024B=1KB;1024KB=1MB;1024MB=1GB。现在的家用计算机内存容量一般位1~2GB,

但是信息学竞赛中只允许使用其中的40MB,即41943040个字节,所以牢记各种数据类型所

占用字节数,可以准确估计出我们的程序可以使用多少个数据,从而防止因程序内存溢出导

致0分)

Pascal规定了两个预定义整型常量标识符maxint和maxlonint,他们各表示确定的常

数值,maxint为32767, maxlongint为2147483647,他们的类型分别是integer 和longint

2.实型

实型数据用来表达和存放一个带小数(必须带)的数值,其精度和运算速度低于整型基本实型 real 2.9E-39~1.7E38 6 11~12(有效位数)

单精度实型 single 1.5E-45~3.4E38 4 7~8

实型双精度实型 double 5.0E-324~1.7E308 8 15~16

扩展实型 extended 1.1E4932 10 19~20

装配实型 comp

3.布尔型

一个布尔型数据用来存放逻辑值(布尔值),即逻辑判断的结果。

布尔值序号含义

false 0 假、错、否、不成立等

布尔型的值:

true, 1 真、对、是、成立等

boolean是布尔型的标识符。

4.字符型

字符型用char作为标识符。

例如:

’A’,’B’,’C’,…

’a’,’b’,’c’,…

‘0’,’1’,’2’,…

‘+’,’-’,’*’,…

‘’代表空格字符

’’’代表字符’

字符型数据必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符

型只允许单引号中有一个字符,否则就是字符串。

ASCII码:65-90:A-Z,97-122:a-z, 48-57:0-9

2.3 常量与变量

1.常量

(1)常量:在某个程序的整个过程中其值不变的量。

(2)常量定义:常量定义出现在说明部分。它的语法格式是:

const

<常量标识符>=<常量>;

...

<常量标识符>=<常量>;

常量标识符的类型由定义它的常量的类型决定。

例如:const a=12 隐含说明a是整型;

const r=3.21 隐含说明r是实型......

(3)常量定义部分必须以保留字const开头,可以包含一个或几个常量定义,而且每个

常量均以分号结束。

2.变量

(1)变量:在某个程序中的运行过程中其值可以发生改变的量

(2)变量说明:变量说明出现在说明部分。它的语法格式是:

Var

<变量标识符列表>:<类型>;

...

<变量标识符列表>:<类型>;

其中,保留字var表示开始一个变量说明部分。变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。每个变量说明均以分号结束。

例如:

var a,b,c:integer;

m,n:real;

2.4 标准函数

(1)算术函数

函数标识符自变量类型意义结果类型

abs 整型、实型绝对值同自变量

sqrt 整型、实型平方根实型

sqr 整型、实型平方同自变量

exp 整型、实型指数实型

frac 整型、实型小数部分实型

int 整型、实型整数部分实型

ln 整型、实型自然对数实型

pi 无自变量圆周率实型

sin 整型、实型正弦实型

cos 整型、实型余弦实型

arctan 整型、实型反正切实型

例:abs(-4)=4 abs(-7.49)=7.49 arctan(0)=0.0

sin(pi)=0.0 cos(pi)=-1.0 frac(-3.71)=-0.71

int(-3.71)=-3.0 sqr(4)=16 sqrt(4)=2.0

(2)标准函数

函数标识符自变量类型意义结果类型

odd 整型判断奇数布尔型

pred 有序类型求前趋同自变量

succ 有序类型求后继同自变量

例:odd(1000)=false pred(2000)=1999 succ(2000)=2001

odd(3)=true pred('x')='w’succ('x')='y'

(3)转换函数

函数标识符自变量类型意义结果类型

chr 整型整数转换为字符字符型

ord 有序类型取序号 longint

round 实型四舍五入longint

trunc 实型截断取整longint

例:chr(66)='B' ord('A')=65 round(-4.3)=-5 trunc(2.88)=2

(4)杂类函数

函数标识符自变量类型意义结果类型

random 无自变量[0,1]间的随机实数real

random word [0,自变量]间的随机整数 word

randomize 无自变量初始化内部随机数产生器longint

upcase 字符型使小写英文字母变为大写字符型

downcase 字符型使小写英文字母变为大写字符型

2.5 运算符和表达式

1.运算符和优先级

(1) 算术运算符

运算符运算运算对象结果类型

+ 加整型、实型只要有一个运算对象是实型,结果就是实型,- 减整型、实型如果全部的运算对象都是整型并且运算不是除法,* 乘整型、实型则结果为整型,若运算是除法,则结果是实型。

/ 除整型实型不论运算对象是什么类型和是否能整除,结果都是实型div 整除整型整型

mod 取余整型整型

** 乘方整型整型

(2)优先级

运算符优先级

+、- 1 低

*、/、div、mod 2

** 3

函数 4 高

2.表达式

(1)算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。算术表达式中各个运算符的次序为: ( )-->函数-->*,/,div,mod-->+,-

(2)数学上的表达式与pascal 语言表达式的区别

注意:

a.所有表达式必须以线性形式写出。因此分子、分母、指数、下标等都必须写在同一行上。

b.只能使用合法的标识符。

c.乘号必须用符号“*”明确地指出,不得省略。

d.函数的自变量可以是任意表达式。且函数的自变量一定要写在括号中。

e.为了指定运算的次序可以利用括号。括号必须成对出现。且只有一种括号,即圆括号“(”与“)”,而不得使用方括号及花括号,因为它们有完全不同的意义。

例:

数学表达式 PASCAL 表达式 注意

2a 2*a *号不能省略

a÷b a/b 除号的写法

{[(1+2)*3+1]*3+2}*4+1 (((1+2)*3+1)*3+2)*4+1 只有()没有其它

a ≤

b a<=b 小于等于号的写法

思考与练习:

1、熟记Pascal 的保留字和标准标识符,明确自定义标识符的定义要点。

2、round 函数与trunc 函数有什么区别?举例说明。

3、判断以下自定义标识符的合法性:

a3 3a a17 abcd ex9.5 α β λ

4、将下列的数学表达式改写成PASCAL 算术表达式: ac b 42- d

c b a ++ a 5+b 5 2πr+a (x ≥0)且(y ≥0) 5、求下列表达式的值:

20 mod 19 15 mod 9 7 div 8 19 div 3

Pascal语言编程基础程序

Pascal语言编程基础程序 (常州市) 十进制转二进制 var i,n,j:longint; a:array[1..100] of longint; begin readln(n); i:=1; while n<>0 do begin a[i]:=n mod 2; i:=i+1; n:=n div 2; end; write('Bin:'); for j:= i-1 downto 1 do write(a[j]) end. 数组元素删除 var a:array[1..10]of longint; i,t,x:longint; begin read(x); for i:=1 to 10 do a[i]:=2*i-1; t:=a[x]; for i:=x+1 to 10 do a[i-1]:=a[i]; for i:=1 to 9 do write(a[i]:4); end. 数组元素删除2 var a:array[1..11]of longint; i:longint; begin for i:=1 to 10 do a[i]:=i; a[11]:=a[1]; for i:= 1 to 10 do a[i]:=a[i+1]; for i:= 1 to 10 do write(a[i]:4); end. 数组元素的移动 var a:array[1..10] of longint; s,n,i,x,t:longint; begin readln(n); for i:=1 to n do read(a[i]); readln(x); s:=a[x]; for i:=x+1 to n do a[i-1]:=a[i]; for i:=1 to n-1 do write(a[i],' '); write(s); end. 排除所有异形基因 var a:array[1..100] of longint; n,g,j,i,wz:longint; begin readln(n); for i:=1 to n do read(a[i]); g:=0; for i:=1 to n do if sqr(a[i]) mod 7=1 then begin wz:=i; for j:=wz+1 to n do a[j-1]:=a[j]; g:=g+1 end; write(a[1]); for i:=2 to n-g do write(' ',a[i]); writeln; end. 排除第一个异形基因 var a:array[1..100] of longint; n,i,wz:longint; begin readln(n); for i:=1 to n do read(a[i]); for i:=1 to n do if sqr(a[i]) mod 7=1

PASCAL语言基础

第一章、什么是计算机语言 计算机语言是计算机软件中非常独特的一部份,它属于系统软件,但又和应用软件息息相关。它的作用是:使人类能够用某些命令、指令去让计算机为人类进行数值、逻辑运算。计算机语言中,只有一种语言是计算机能自己识别的,就是最底层、最难的机器语言,这是一般人类所无法接受的语言,所以在此基础上,人们发展出了许多高级的语言,这些语言的共同特点是:人类无需去掌握高深的机器语言,只要掌握这些更容易理解、更贴近人类的高级语言,用高级语言编出程序后,再由语言解释、编译系统去把程序解释、编译成机器语言让计算机去执行。目前最常用的高级语言大致有以下几种: BASIC语言:是一般计算机入门者的首选语言,命令少,容易掌握,从BASIC,BASICA,GWBASIC,TRUE BASIC,TURBO BASIC,QUICK BASIC等一直发展到目前的WINDOWS环境下的VB。 PASCAL语言:最适合科学计算、数据处理的语言,运行、编译速度最快,从TURBO PASCAL 5 .5, 6.0, 7.0一直到现在的WINDOWS环境下的DELPHI以及LAZARUS等面向对象的PASCAL,以及目前信息学竞赛使用的FREE PASCAL各个版本。 C语言:主要适用于应用软件的开发,是计算机人员的必修课,但在算法实现、建模方面不如PASCAL方便。从C,C++,一直到现在的WIONDOWS环境下的VC、C++等。 实际上,我们日常所用的各种软件,包括Windows,WORD、EXCEL、各种游戏等等,全部都是使用程序设计语言编写出来的软件,我们只有掌握了程序设计语言,才能进行计算机软件的开发。 在我们的信息学竞赛中,所有的题目都是非常复杂的数值与逻辑运算,所以世界上广泛采用PASCAL语言作编程工具,我们采用的是FREE PASCAL2.0版本或者相近版本。 我们学习信息学竞赛除了要掌握程序设计语言,能够使用程序设计语言编写程序外,还有一部分要掌握的更加重要的内容就是——算法设计,它能够使我们的程序运行速度更快、效率、精度更高,使我们的程序取得快人一步的优势,算法设计在本书中我们将接触一部分。 第二章、PASCAL语言入门 第一节、PASCAL语言的特点 以法国数学家命名的PASCAL语言是世界上使用最广泛,最有效的语言之一。其主要特点是:严格的结构化形式;丰富完备的数据类型;运行能力、效率高;查错能力强等等。与BASIC、C等语言相比,PASCAL语言更适合科学计算,运行速度最快,编译能力最强,编译成的可执行文件也最小。 PASCAL语言是编译执行的语言(BASIC语言是解释执行),因此在速度与效率上都比BASIC语言提高了一个档次。所谓解释执行,是在程序环境下编写好程序后,执行它时是一句一句地由语言解释器翻译成机器语言,由计算机去执行,计算机能在程序编辑时就发现程序中错误,但程序运行速度慢;而编译执行是在程序环境中编写好程序后,执行时先由编译器把整个程序编译成机器语言,然后再由计算机执行,计算机必须在编译程序时才能发现程序中的错误,但程序运行速度快。 第二节、FREE PASCAL的集成环境

pascal语言基础知识

2.1 Pascal程序基本组成 例1.1计算半径为R的圆面积S program Area; {程序首部} {已知半径求圆的面积} const pi=3.14159; {说明部分——数据描述} var s,r:real; begin{执行部分} readln(r); s:=pi*sqr(r); writeln('s=',s); end. 上述程序第一行称为程序首部。其中用花括号(注释可以用{ }或(* *)来表示)括起来的内容是注释,程序第二行就是一个注释,注释除了给人看,增加程序的可读性外,对程序编译和运行不起作用。一个程序可以包含多个出现在不同处注释,亦可无注释。程序第三行是常量说明,程序第四行是变量说明。程序从begin到end都是执行(语句)部分 (1)程序首部 例1.1的第一行称为程序首部。program是保留字,接着是程序名(由你依据“标示符”规则自行定义),最后以分号表示程序首部结束,下面是程序主体的开始。程序首部在一个Turbo Pascal(仅在Turbo Pascal中有效)程序中并非必须出现,它是可选的。写上它仅起了文档作用。因此,在时间有限的情况下,如果用Turbo Pascal编程完全可以省略程序首部。 (2)程序体 a.说明部分 说明部分用于定义和说明程序中用到的数据,由单元说明、标号说明、常量说明、类型说明、变量说明、函数或过程说明组成,并且这些数据的说明次序必须按照以上次序。但是一个简单的Turbo Pascal程序也可以不包含说明部分,也就是说说明部分是可选的。 b.执行部分

执行部分描述了程序要执行的操作。它必须以一个Turbo Pascal保留字begin开始,以保留字end后跟句点结束,其间是一些执行具体操作的语句,并且以分号作为语句之间的分隔符。begin 和end必须成对出现,这是一个Turbo Pascal程序所必须有的。紧跟end之后的句号表示执行部分的结束,也表示整个程序的结束。此后的任何语句都无效。Turbo Pascal规定紧随end之前出现的分号允许省略。 (3)一个完全的Pascal程序结构 program 程序名; uses 已知单元说明; label 标号说明; const 常量说明; type 类型说明; var 变量说明; function 函数说明; procedure 过程说明; begin 语句; 语句;

1-语言基础习题

《Delphi 语言基础》习题 一、填空 1. Delphi 应用程序中项目文件的扩展名是 。 2. Delphi 中与窗体文件对应的文件是单元文件,其最常用的文件扩展名是 *. 。 3. 在Delphi 集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查 看器(Object Inspector )中的 窗口直接进行设置。属性 或 Properties 4. 在Delphi 中新建一个工程后,用户需要保存.pas 文件和 文件。 5. 对象查看器由对象列表、属性选项卡和 三部分组成。 6. 与数学表达式 ab y b a -++2 3)sin(对应的Object Pascal 表达式是 。 7. 与数学表达式 a xy a b a +++22)(cos 对应的Object Pascal 表达式是 。 8. 结构化程序设计的基本原则是取消goto 语句,程序中仅采用顺序、 和循环三 种控制结构。 9. 与数学表达式 ) sin()(sin 222y x y x ++对应的Object Pascal 表达式是 。 10. 结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能 有 个入口和一个出口。 11. 与数学表达式 a x a by a ++22)(sin 对应的Object Pascal 表达式是 。 12. 与数学表达式 53)(cos 2++x b a 对应的Object Pascal 表达式是 。 13. 对于下面的条件表达式: ((3 <= x )AND (x < 0)) OR (x in [1..10]) 当x = 3 时, 该表达式的值为 。True 14. 与数学表达式 ab y b a ++3)(sin 2对应的Object Pascal 表达式是 。 15. 表达式Trunc (12345.6789*100+0.5)/100的值为 。 12345.68

Pascal程序基本组成与符号

Pascal程序基本组成与符号 hb007 发表于 2006-3-22 8:55:50 一、Pascal程序基本组成 例1计算半径为r的圆的周长C和面积S。 上述程序第一行称为程序首部。用花括号(注释可以用{ }或(* *)来表示)括起来的内容是注释,注释除了给人看,增加程序的可读性外,对程序编译和运行不起作用。一个程序可以包含多个出现在不同处注释,亦可无注释。程序第二行是变量说明。程序从begin到end都是执行(语句)部分。 (1)程序首部 例1的第一行称为程序首部。program是保留字,接着是程序名(由你依据“标示符”规则自行定义),最后以分号表示程序首部结束,下面是程序主体的开始。程序首部在一个Turbo Pascal(仅在Turbo Pasca l中有效)程序中并非必须出现,它是可选的。写上它仅起了文档作用。因此,时间有限的情况下,如果用Turbo Pascal编程完全可以省略程序首部。 (2)程序体 ①说明部分 说明部分用于定义和说明程序中用到的数据,由单元说明、标号说明、常量说明、类型说明、变量说明、函数或过程说明组成,并且这些数据的说明次序必须按照以上次序。但是一个简单的Turbo Pascal程序也可以不包含说明部分,也就是说说明部分是可选的。 ②执行部分 执行部分描述了程序要执行的操作。它必须以一个Turbo Pascal保留字begin开始,以保留字end后跟句点结束,其间是一些执行具体操作的语句,并且以分号作为语句之间的分隔符。begin和end必须成对出现,这是一个Turbo Pascal程序所必须有的。紧跟end之后的句号表示执行

部分的结束,也表示整个程序的结束。此后的任何语句都无效。Turbo Pascal规定紧随end之前出现的分号允许省略。 (3)一个完全的Pascal程序结构 program 程序名; uses 已知单元说明; label 标号说明; const 常量说明; type 类型说明; var 变量说明; function 函数说明; procedure 过程说明; begin 语句; 语句; …… 语句 end. 二、Pascal字符与符号 1、保留字(关键字) 所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。Turbo Pascal语言一共有5 0多个。下面是Pascal语言的保留字:

Pascal基本教程

Pascal基本教程 Pascal基本教程第一章 第一章 Pascal语言概述与预备知识 1 关于Turbo Pascal Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth 教授于六十年代末设计并创立。 以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。 正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。 在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。 下面列出Turbo Pascal编年史 出版年代 版本名称 主要特色 1983 Turbo Pascal 1.0 Turbo Pascal 2.0 Turbo-87 Pascal 提高实数运算速度并扩大值域

1985 Turbo Pascal 3.0 增加图形功能 Turbo BCD Pascal 特别适合应用于商业 1987 Turbo Pascal 4.0 提供集成开发环境(IDE),引入单元概念 1988 Turbo Pascal 5.0 增加调试功能 1989 Turbo Pascal 5.5 支持面向对象的程序设计(OPP) 1990 Turbo Pascal 6.0 提供面向对象的应用框架和库(Turbo Vision) 1992 Turbo Pascal 7.0 面向对象的应用系统、更完善的IDE Turbo Vision 2.0 1993 Borland Pascal 7.0 开发 Object Windows库、 (For Windows) 提供对OLE多媒体应用开发的支持 1995 Delphi Visual Pascal Turbo Pascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体。 1.2 Turbo Pascal 或 Borland Pascal 的启动

PASCAL基本程序结构和概念

要求: 1.程序的结构 2.了解:常量变量运算符表达式标准数据类型 3.学会安装TP并做简单的操作。 PASCAL基本程序结构和概念 标识符保留字常量变量运算符表达式标准数据类型 例1: 为了明显起见先举一个最简单的PASCAL程序例子: 例2: Program ex11; Begin Writeln(‘Hello World!’); ReadLn; End. [例3]已知一辆自行车的售价是300元,请编程计算a辆自行车的总价是多少? 解:若总售价用m来表示,则这个问题可分为以下几步处理: ①从键盘输入自行车的数目a; ②用公式m=300*a 计算总售价; ③输出计算结果。 Pascal程序: Program Ex12; {程序首部} Var a,m : integer; {说明部分} Begin {语句部分} Write(‘a=’); ReadLn(a); {输入自行车数目} M := 300*a; {计算总售价} Writeln(‘M=’,m);{输出总售价} ReadLn; {等待输入回车键} End.

[例4] 输出两个自然数相除的商和余数。 解:设被除数、除数、商和余数,分别为A,B,C,D,均为变量,且都是整数类型。题中未给出具体的自然数A、B,可采用键盘输入方式。 ①给出提示,从键盘输入a, b; ②显示两数相除的数学形式; ③求出a除以b的商c; ④求出a除以b的余数d; ⑤紧接等式后面输出显示商和余数。 Pascal程序: Program Ex14; Var a,b,c,d : integer; Begin Write('INPUT A,B:');{给出提示信息} Readln(a,b);{输入a,b} Writeln;{输出一空行} Write(a,'/',b,'=');{输出等式之后不换行} c:=a div b;{整除运算,取商的整数部分} d:=a mod b;{相除求余运算,取商的余数部分} Writeln(C,'…',d);{输出后自动换行} Readln {等待输入回车键} End. 例5:从键盘读入4个数据,逆序输出 program pname; const n=4; type ar=array [1..4] of integer; var i:integer; a:ar; begin for i:=1 to n do read(a[i]); readln; for i:=n downto 1 do write(a[i]:4); writeln; end. [例1.6]自然数的立方可以表示为两个整数的平方之差,比如43=102-62,请输出自然数1996的这种表示形式。(这里的43用自乘三次的形式4*4*4表示;102也用自乘二次的形式10*10表示) 解:此题没有现成的计算公式能直接利用,但可以自行推出处理方法或构建适当的运算公式,按着构想的处理方案编排出各步骤。 设这个自然数为N,两个平方数分别为X,Y,将问题表示为求N3=X2—Y2

Pascal语法

Pascal语法 第一章、Pascal介绍 一、Pascal的基本语法单位 1、基本符号 A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^ 注意:Pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。 2、保留字 AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,MOD,NIL,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH。 注意:所起的文件名不能与保留字相同。 3、标识符 以字母打头的字母数字串,长度小于等于8。 标准标识符(共三十九个): 标准常量: false,true,maxint 标准类型: integer,real,char,boolean,text 标准文件: input,output 标准函数:

abs,arctan,chr,cos,eof,eoln,exp,ln,odd,ord,ored,round,sin, sqr,sqrt,succ,trunc 标准过程: get,new,pack,page,put,read,readln,reset,rewrite,unpack,wri te,writeln 二、程序结构 1、由三大部分组成:程序首部,说明部分,语句部分。 PROGRAM程序名(input,output); {……}解释 CONST pi=3.14159; VAR r,l,s:real; BEGIN write('input r:'); read(r); l:=2*pi*r; write('l=',l,'s=',s); END; 2、大量使用标点符号,保留字后不加标点符号(END除外)。

Pascal基本语句与程序结构

第1章 Pascal 基本语句与程序结构 第1节 简单Pascal 程序实例 【问题描述】 从键盘上输入圆的半径,从屏幕上输出圆的面积。 【程序设计】 [程序清单] Program p1_1_1(input,output); (程序首部) const pi=3.14159; var r,s:real; begin write('r=?'); readln(r); {读入圆的半径} s:=pi*r*r; {求圆的面积} write('s=',s:12:5); {输出圆的面积} end. 【知识拓展】 1.学习之前,我们先认识几个英文单词。Program(程序)、const 是constant (常量)的缩写、var 是variable (变量)的缩写、begin (开始)、end (结束)。 2.从上面的例子中可以看到一个pascal 程序分为两个部分:程序首部和程序体。 程序首部包括: 程序标志。“program ”用来标识“这是一个pascal 程序”; 程序名称。由程序设计者自己定义,但一般习惯是使程序名能反映出程序的含义。 程序体包括: 说明部分。用来描述程序中用到的数据属性。它分为常量说明和变量说明两部分。 执行部分。它的作用是通知计算机执行指定的操作,如果一个程序中不写执行部 分,在程序运行时计算机什么工作也不做。执行部分以“BEGIN ”开始,以“END.”结束(注意:“END.”后面有一个句点,表示整个程序结束)。它们中间是一些执行具体操作的语句,以分号作为语句间的分隔符,Being 和end 应成对出现。 3.常量是指要程序运行过程中,其值不能被改变的量。本程序中第二、三行是“常 说明部分 执行部分 程序体

Pascal入门教程

第一章 初步认识PASCAL 语言 内容提要 本章介绍了计算机语言的分类及特点,PASCAL 源程序的调试过程。 学习要求 通过对本章的学习,要求学生对计算机语言的发展及特点有一定的了解,认识PASCAL 语言源 程序的一般结构,掌握PASCAL 源程序的调试过程。 第一节 关于计算机语言 在日常生活中,语言是人和人之间交流信息的一种工具。通过语言,我们可以把我 们的想法或要求告诉人家。众所周知,计算机的功能是非常强大的,那么,怎样充分利 用计算机为人类服务呢?其实计算机是一个非常忠实的伙伴,只要让他明白了你的意 思,他一定会又快又好地为你完成任务。但问题是:计算机和人类语言不通,难以了解 人类的意图。对应这种需求,出现了一系列的计算机语言,通过这些计算机语言,我们 便可以和计算机之间进行交流,进而轻松地驾驭计算机。 从计算机问世到现在,计算机语言的发展经历了这样几代: 一 机器语言 计算机是由电子元件构成的,这些电子元件在通电工作时一般有两种状态:导通 或截止,高电平 或低电平┈┈于是便出现了一种用数字1或0作为代码的语言,称为机器语言。这 种语言与机器工作状态相适应,计算机执行起来速度相当快,效率相当高。但因程 序全是一长串二进制代码,程序员编写起来比较吃力,调试程序也十分困难,而且 不同的计算机有不同的机器语言,不能通用。 二 汇编语言 汇编语言又叫符号语言,是用符号来代替机器语言中的二进制代码,这样看起 来就直观多了。比如要把寄存器AX 和BX 中的数相加,结果存放在寄存器AX 中, 用汇编语言就这样写:ADD AX ,BX 。这样程序员在编写时就方便多了。但 计算机不能直接执行汇编程序,必须经过汇编软件将其转换成机器语言后才能执 行。在这个过程中,汇编软件象一个桥梁,连接在机器语言和汇编源程序之间: 汇编语言还是依赖机器硬件,所以不同种类的机器有不同的汇编语言。编写汇编语 言程序需比较熟悉机器硬件短知识,而且指令较多,编写和调试都不是很容易。 三 高级语言 计算机是为人类服务的,如果为了学语言而不得不学习计算机的硬件、工作原 理,这就为许多计算机爱好者设置了不小的障碍。有没有一种语言,人们用不着学习 计算机工作的细节就可以上手?有!这就是高级语言。高级语言比较接近人们的自然 语言,学习起来要容易得多,编写和调试程序也比较方便。但高级语言程序必须先经 过编译程序将其转变成机器语言程序后方可执行。所以这种语言执行起来效率相对较 汇编语言源程序 汇编软件 机器语言

PASCAL语言基础(1)

PASCAL语言基础(1) 1.1 基本思想 编程就是描述要实现的动作以及对这些动作进行操作的数据描述。 编程类似一篇英文文章,由字母、数字、标点符号和空格等按照一套PASCAL语言命令、语法、规则而组成的字符序列。 不言而喻,PASCAL语言的有关命令、语法规则一定要熟记并严格遵守。如果模糊不清,那是学习程序语言的最大障碍,给以后的学习留下极大的隐患。 任一个程序,都包括①程序首部;②程序说明部分;③语句部分。不可缺少。 (1)程序首部 由PROGRAM程序名构成。注意程序名的规则。 (2)程序说明部分 事先要分析问题的有关数据,确定类型;数据必须加以说明,然后才能在程序的语句部分使用。因为不同的数据类型,就有不同的运算规则。 程序的说明部分,必须严格按照以下顺序书写: 标号说明部分;(LABEL) 标号定义部分;(CONST) 类型定义部分;(TYPE) 变量说明部分;(V AR) 过程与函数说明部分; 注意:每一部分都可能为空,既不一定全包括。 ③语句部分 它是程序的执行部分,由一系列语句组成。每一个语句执行一定的功能,完成一定的任务,每个语句间用分号(;)分隔开。语句部分以BEGIN开头,以END结尾,如在END后面加上点号(.)表示整个程序结束. 语句部分最另人关注的应是变量的数据传递、转移、变化、输出格式以及有关动作的有机联系和顺序。 一个事件的解决首先是人脑提出、发现可以表达的数学语言,如果人找不到这种解决问题的数学行为办法,那么计算机是不会自己解决的。从这个意义上讲,要指挥电脑计算或操作,首先是人脑会模仿计算机进行一些必要的运行、运算,在这不用介入到具体的语言环境中,主要是方法设计。这也是通常所说的"算法领先"的原则。 1.2 数据、表达式、赋值语句和输入输出 (一)数据 了解、正确应用数据类型的种类,与学习的深浅程度成正比。 (1)简单类型 标准类型: 整形(integer) 实型(real) 字符型(char) 布尔型(boolean) 枚举型(type..=..) 用户自定义类型{子界型(type..=..) (2)数据类型 结构类型 数组类型(type..arry..of) 集合类型(type..set of..) 记录类型(type.=record..) 文件类型(type..=file of..) 指针类型(type..=↑..) 要参加初中组信息学(计算机)竞赛,看来起码要学会简单类型,数组类型的数据处理; 热点内容是应用循环,数组,字符,变量、灵活表达,学递推算法、回溯算法的基本思想。 pascl初步教程基础(2) 1.3标准数据类型的含义及符号 (1)整型数的取值范围:-32768<=n<=32768;整型运算操作:+、-、*、div、mod;整型关系操作:=、<>、>=、<=,结果为布尔型;有关整型的标准函数: 整型函数

ASCII 码对照表及pascal入门

Free Pascia教材 郑逸飞

原理:十进制数值为每一位数字与其位权之积的和。 方法:转换时,以小数点为起点,分别向左、右两边展开,左边幂指数从0、1、2递增,右边幂指数从-1、-2递减。 例1:(10101.11)2=1*24+0*23+1*22+0*21+1*20+1*2-1+1*2-2 =24+22+20+2-1+2-2=(21.75)10 例2:(3506.2)8=6*80+0*81+5*82+3*83+2*8-1= (1862.25)10 例3:(0.2A)16=2*16-1+10*16-2 = (0.1640625)10 输入语句格式: 格式1:read <变量名表>; 格式2:readln (<变量名表>); 功能:执行该语句时,程序进入等待状态,等待用户从键盘输入数据,输入的数据将依次赋给变量表中的变量,而后程序继续执行其他语句。 1

说明:(1)变量表中变量超过一个时,中间用逗号隔开。从键盘输入数据时,数据的个数不能少于变量个数,否则电脑一直处于等待状态。当数据多于变量个数时,对于readln语句将其忽略,对于read语句时,会补下一句read语句读入,如果没有输入语句,也将其忽略。 (2)输入数值型数据时,必须用空格或回车键分隔,最后一定要用回车键。输入字符型数据时,不能有空格与回车键,必须连续输入,因为空格与回车键也会当作字符。 (3)输入的数据必须是常量,且必须与对应的变量类型相一致。 (4)readln();可以没有变量名表,此时该语句等待从键盘输入回车键。 Readln (x) ; 等价于执行了二条语句:read(x); readln(); 输出语句的格式: 格式1 write <输出项表>; 格式2 writeln (<输出项表>); 功能:按指定的格式将输出项的内容输出到屏幕上。 说明:(1)输出项如果是多项时,各项间用逗号分隔。 (2)输出项可以是常量、变量、函数、表达式。常量直接输出,变量时输出变量的存储单元内容,遇到函数与表达式时,先计算、再输出。 (3)write 语句输完最后一项时,不换行,等待下一条write语句继续输出。Writeln语句输完最后一项时换行,该语句允许没有输出项,起到换行作用。 writeln(x); 等价于执行了write(x); writeln(); 第一章简单程序 无论做任何事情,都要有一定的方式方法与处理步骤。计算机程序设计比日常生活中的事务处理更具有严谨性、规范性、可行性。为了使计算机有效地解决某些问题,须将处理步骤编排好,用计算机语言组成“序列”,让计算机自动识别并执行这个用计算机语言组成的“序列”,完成预定的任务。将处理问题的步骤编排好,用计算机语言组成序列,也就是常说的编写程序。在Pascal语言中,执行每条语句都是由计算机完成相应的操作。编写Pascal程序,是利用Pascal语句的功能来实现和达到预定的处理要求。“千里之行,始于足下”,我们从简单程序学起,逐步了解和掌握怎样编写程序。 第一节Pascal 程序结构和基本语句 在未系统学习Pascal语言之前,暂且绕过那些繁琐的语法规则细节,通过下面的简单例题,可以速成掌握Pascal程序的基本组成和基本语句的用法,让初学者直接模仿学习编简单程序。 [例1.1]编程在屏幕上显示“Hello World!”。 2

pascal编程基础练习题

pascal编程基础练习题 一、不定项选择和填空题 1、下列关于程序语言的叙述,不正确的是() A、编写机器代码不比编写汇编代码容易 B、高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行 C、同样一段高级语言程序通过不同的编译器可能产生不同的可执行程序 D、汇编代码可被CPU直接运行 E、不同的高级语言语法略有不同 2、下列哪一种程序设计语言是解释执行的() A、PascalB、GWBASICC、C++D、FORTRAN 3、解释程序的功能是() A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序D、解释执行汇编语言程序4、下列中没有语法错误的PASCAL程序首都是() A、PROGRAM A1; B、PROGRAM A1(0utPut) C、PROGRAM(Input,OutPut); D、PROGRAM A1(Input OutPut); 5、结构化程序的结构由三种基本结构组成,下面哪个不属于这三种基本结构()A、顺序结构B、输入输出结构构C、分支结构D、循环结构6、Pascal程序必须包括() A、程序首部、说明部分、语句部分B、程序首部、说明部分 C、说明部分、语句部分D、程序首部、语句部分7、标准Pascal程序说明部分的正确顺序是() A、LABEL—CONST—VAR—TYPEB、VAR—CONST—LABEL—TYPE C、LABEL—CONST—TYPE—VARD、CONST—VAR—TYPE—LABEL 8、下面对Pascal程序组成结构的描述错误的是() A、程序体可以为空B、程序的注释部分只能写在程序中一条语句的最后 C、程序首都的参数部分可有可无D、一个完整的PASCAL程序的主程序只能有一个 9、要编写并执行—个PASCAL程序,—般的步骤是() A、①用编辑软件编写源程序 ②用PASCAL的编译程序把源程序转换成目标程序 ③用连接程序把目标程序转换为可执行程序 ④运行可执行程序 B、①用编辑软件编写源程序 ②修改和调试源程序 ③用PASCAL的编译程序把源程序转换成可执行程序 ④运行可执行程序 C、①用编辑软件编写源程序 ②用连接程序把源程序转换成可执行程序 ③试运行可执行程序

Pascal语言基础练习(选择题)

1、分析下面的程序,找出A,B,C,D 对应的语句中正确的是( ) PROGRAM samp(Input,Output); TYPE W=(A,B,C,D,E); V AR I: ‘0’..’9’; T: W; m:Integer; BEGIN A. ReadlnI.; B. Readln(t); C. m:=SqrI.; D. Writeln(t) End. 2、代数式b a b a b a b a *)(+-+-的Pascal 表达式是( ) A.(a-b)/a+b/a-b+a*b B.(a-b)/(a+b)/(a-b)+ab C.(a-b)/((a+b)/(a-b)+a*b) D.(a-b)/((a+b)/(a-b))+a*b 3、以下正确的枚举类型定义是( ) A.mset=(M1,M2,M3,M4); B.xset=(‘x1’,’x2’,’x3’) C.P=(ARRAY,DIV); D.pia=(1c,2d,3a); 4、下列中合法的变量说明是( ) A.V AR r:Real; Num:200; B.V AR a=Real; I=Integer; C.DIM Read,White:Integer; D.V AR i1,i2:Integer; Red,White:Real; 5、以下语句语法正确的是( ) A.PROG Em; B.Program (Output); C.Program (Input,Output); D.Program Exa (Input,Output);

6、如果a,b均为整型变量,则表达式:(a MOD 10=0) OR (a<=10) And (b=5)的数据类型是() A.数值类型 B.布尔类型 C.字符类型 D.表达式不正确 7、设有说明 TYPE byte=0.7; Word=0..15; Re=Real; V AR a:byte; b,c:word; d:Integer; e:re; f:Char; 则下列中不合法的赋值语句是() A.b:=a; B.d:=c; C.e:=d; D.a:=f; 8、下面的字符串中,有效的Pascal字符型数据是() A.’’ B.’HI’ C.’’’ D.C 9、下列哪种类型的常量不能用来定义子界类型() A.Real B.Integer C.Char D.用户定义的任何顺序类型 10、已知r1,r2的实行变量,i1,i2是整型变量,下列各赋值语句中错误的是() A.i2:=i1+i2 DIV i1 B.i1:=i1/i2 C.r2:=2/3*Sqr(r1+r2) D.r1:=r2+i2 11、下面()是Pascal的合法数 A.73e4 B.-e5. C..21 D.1,717,158 12、设有类型定义如下: TYPE Season=(SPRING,SUMMER,AUTUMN,WINTER); City=(BEIJING,SHANGHAI,TIANIN,GUANGZHOU); 表达式ORD(Succ(SPRING)) MOD Pred (Ord(GUANGZHOU))的值是()

PASCAL基础知识

PASCAL基础知识 第一节数据类型 1.常量: 整型常量Maxint表示计算机系统所允许的最大整数,-Maxint-1表示最小整数 实型常量:实型常量包括正实数,负实数,零。表示方法有两种:十进制表示法和科学计数法。 科学计数法:有位数,底数和指数构成。 字符常量:单个引号括起来 布尔常量: 符号常量:符号常量必须先定义后使用CONST 2.变量:自定义标识符必须以字母(包括下划线)开头,后面的字符可以是字母或数字。 3.算术表达式:常用的6个算术运算符:+,-,*,/(实数除),DIV(整除),mod(求余)。 /(实数除)得到的结果为实数4/2=2.0而不等于2。 DIV(整数除)要求参与运算的两个数都是整型,结果也为整形。10 DIV 3=3,5 DIV 10=0,DIV运算只取商的整数部分。 mod(求余)也只能用于整数运算,结果也为整形 4.pascal标准函数: odd() 判断变量是否为奇数 Abs() 绝对值 Sqr() 求平方 Sqrt() 求平方根 Chr(数值表达式) 返回以数值表达式值为编码的字符。数值表达式的取值范围0-255。 ord() 返回字符的ASCII码,结果为整形。在字符范围内和chr()函数互为反函数。 Trunc(1.999)为截尾函数其值为1。 round() 舍入函数 random()随机函数 mod()求余函数 succ(x) 求x的后继succ(‘b’)=’c’ succ(5)=6 succ(false)=true pred(x) 求x的前导pred(‘b’)=’a’ pred(5)=4 pred(true)=false 第三节输出语句(WRITE语句) 1.write 语句write(表达式1,表达式2,表达式3,....); 2.writeln 语句writeln(表达式1,表达式2,表达式3,...);和write的不同之处是输出后 有换行。 第四节输入语句 1.写语句的输出格式:对整数的默认输出格式是十进制形式,对实数的输出,默认的形式 是科学计数法形式。在pascal中一个数据所占的宽度称为“场宽”或“字段宽”。 turbo pascal中默认的字段宽为: 整形:实际长度实型:17 布尔型:4或5 字符串:串长 2.指定场宽: 1)指定单场宽:指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。 若数据的实际长度小于指定场宽时,一律“向右靠齐,左留空格”。对于标准实型数据

pascal语言基本知识

信息学奥赛讲义 前言关于信息学奥赛 一、什么是信息学奥赛: 信息学奥赛是形式:参赛学生在规定的3个小时内,完成4个与数学(涵盖小学奥数、中学数学、大学数学)有关的问题的计算机程序设计。阅卷采取计算机自动限时测试(黑箱测试法),通常限时为1秒,超时不得分。每道题测试10个(组)不同数据,通常是由简道难,每个测试点10分,共400分,根据得分多少确定得奖等次。 IOI:国际奥林匹克信息学竞赛 1989年在保加利亚的布拉维茨开始首届举行的一年一度的中学生竞赛,每个国家可以由4人组成国家队参加比赛,共有100多个国家参赛,至今已举办了21届。中国从第一届开始参赛。 作为五项国际奥林匹克学科竞赛之一,信息学奥林匹克竞赛是由联合国教科文组织于1988年发起创建、由来自世界各地20岁以下的中学生参加的计算机科学领域的一项赛事,目的是在青少年中普及计算机科学,为来自世界各地的年轻人提供一个交流机会,并通过比赛和访问学习主办国优秀的文化,加深对主办国的了解。竞赛每年在不同国家举办。中国累计获金牌30块、银牌17块,铜牌12块,安徽省累计获得金牌2块、银牌4块,铜牌5块. NOI:全国信息学奥林匹克竞赛 由中国计算机学会主办的一项面向全国青少年的信息学竞赛,也是与联合国教科文组织提倡的国际信息学奥林匹克竞赛同步进行的一项竞赛活动。1984年开始首届比赛,每个省选拔5名(2000年前4名)学生组成省队参加比赛,最终选拔出5名学生参加IOI竞赛。 安徽省从首届开始参加比赛,至今已9次获得团体第一,且各次均名列前5名。 AHOI:安徽省信息学奥林匹克竞赛 安徽省组队参加NOI的选拔赛,铜陵市从首届开始参赛,上实际90年代曾多次获得团体总分第一,至今仍保持前5名。 NOIP:全国信息学奥林匹克联赛 由中国计算机学会主办的一项面向全国青少年的普及性信息学竞赛,参加人数较多、设奖面较大。目前,NOIP分为普及组和提高组两个级别。 提高组:主要面向高中学生,是目前高中阶段五大联赛之一。设奖面大,2008年为例:安徽省设一等奖近50名。一等奖获得者将取得高考保送生资格。初中学生也可以报名参加。 普及组:主要面对初中学生,是安徽目前初中阶段唯一奥赛。按照铜陵市中考政策,获得普及组二等奖及以上者,中考获10分加分,同时可免试进入一中理科实验班。 铜陵市从2005年起参加该项比赛活动。已先后数十人次获得提高组一等奖,已毕业学生均已保送进入名牌大学(中国科大、复旦大学、上海交大等),今年高三学生目前已有8人获得NOIP一等奖取得保送生资格。 二、信息学奥赛学什么: 1、计算机语言: 由计算机指令组成的命令集。可控制计算机自动完成某一完整的工作。目前信息学竞赛可以使用的语言有Pascal、C、C++,本期将进行Pascal语言教学。 2、数据结构: 将数学对象和事物对象表达成计算机可以接受的形式,并根据特点把它们有机地组合在一起,勾连数据之间的关系,以便高速高效地加以处理。

相关主题
文本预览
相关文档 最新文档