文档库 最新最全的文档下载
当前位置:文档库 › 小学信息学奥赛教程

小学信息学奥赛教程

小学信息学奥赛教程
小学信息学奥赛教程

目录

第一章计算机基础知识 (1)

1.1 计算机发展史 (1)

1.2 计算机的组成 (2)

1.5 计算机语言 (4)

1.3 预防计算机中毒 (5)

1.4 数制 (6)

习题 (8)

第二章认识Pascal (11)

2.1 安装及删除Pascal系统 (11)

2.2 Free Pascal窗口界面 (13)

2.3 程序演示 (17)

习题 (19)

第三章 Pascal 语言基础知识 (20)

3.1 关键字与标识符 (20)

3.2 Pascal 的数据类型 (21)

3.3 常量、变量及表达式 (23)

3.4 ASCⅡ码 (25)

3.5 标准函数 (26)

3.6 自定义函数 (27)

3.7 Pascal 程序结构 (30)

习题 (32)

第四章 Pascal简单语句 (35)

4.1 赋值语句 (35)

4.2 输入(read、readln)语句 (36)

4.3 输出(write、writeln)语句 (38)

4.4 条件(if)语句 (41)

4.5 分情况case语句 (42)

4.6 For循环语句 (43)

4.7 当型循环(while/do)语句 (46)

4.8 直到型循环(repeat/until)语句 (47)

习题 (48)

第五章文件操作 (53)

5.1 类型文件 (53)

5.2 文本文件 (55)

习题 (61)

第六章 Pascal 算法基础 (53)

6.1 一维数组 (53)

6.2 排序算法 (55)

6.3 综合实例 (57)

习题 (61)

附录习题解答 (53)

9.18 大课间电脑兴趣组动员会

第一章计算机基础知识

1.1 计算机发展史

公元前5世纪,中国人发明了算盘,广泛应用于商业贸易中,算盘被认为是最早的计算机,并一直使用至今。算盘在某些方面的运算能力要超过目前的计算机,算盘的方面体现了中国人民的智慧。

现代计算机发展历程

第一代电子管计算机(1946-1957)

世界上第一台计算机于1946年诞生于美国的宾夕法尼亚大学。它的名字叫埃尼阿克(ENIAC是Electronic Numerical Integrator and Computer的英文缩写)。ENIAC代表了计算机发展史上的里程碑,它通过不同部分之间的重新接线编程,还拥有并行计算能力。ENIAC使用了18000多个电子管,70000多个电阻器,有5百万多个焊接点,耗电160千瓦,其运算速度为每秒5000次,占地170平方米,重达30多吨。第一代计算机的特点是操作指令是为特定任务而编制的,每种机器有各自不同的机器语言,功能受到限制,速度也慢。另一个明显特征是使用真空电子管和磁鼓储存数据。

第二代晶体管计算机(1957-1964)

1948年,晶体管发明代替了体积庞大电子管,电子设备的体积不断减小。1956年,晶体管在计算机中使用,晶体管和磁芯存储器导致了第二代计算机的产生。第二代计算机体积小、速度快、功耗低、性能更稳定。1960年,出现了一些成功地用在商业领域、大学和政府部门的第二代计算机。第二代计算机用晶体管代替电子管,还有现代计算机的一些部件:打印机、磁带、磁盘、内存、操作系统等。计算机中存储的程序使得计算机有很好的适应性,可以更有效地用于商业用途。在这一时期出现了更高级的COBOL和FORTRAN等语言,使计算机编程更容易。新的职业(程序员、分析员和计算机系统专家)和整个软件产业由此诞生。

第三代集成电路计算机(1964-1972)

1958年德州仪器的工程师Jack Kilby发明了集成电路(IC),将三种电子元件结合到一片小小的硅片上。更多的元件集成到单一的半导体芯片上,计算机变得更小,功耗更低,速度更快。这一时期的发展还包括使用了操作系统,使得计算机在中心程序的控制协调下可以同时运行许多不同的程序。

第四代大规模集成电路计算机(1972-现在)

大规模集成电路(LSI) 可以在一个芯片上容纳几百个元件。到了80 年代,超大规模集成电路(VLSI) 在芯片上容纳了几十万个元件,后来的(ULSI) 将数字扩充到百万级。可以在硬币大小的芯片上容纳如此数量的元件使得计算机的体积和价格不断下降,而功能和可靠性不断增强。70 年代中期,计算机制造商开始将计算机带给普通消费者,这时的小型机带有

友好界面的软件包,供非专业人员使用的程序和最受欢迎的字处理和电子表格程序。1981 年,IBM 推出个人计算机(PC) 用于家庭、办公室和学校。80 年代个人计算机的竞争使得价格不断下跌,微机的拥有量不断增加,计算机继续缩小体积。与IBM PC 竞争的Apple Macintosh 系列于1984 年推出,Macintosh 提供了友好的图形界面,用户可以用鼠标方便地操作。

第五代计算机---具有人工智能的计算机。目前仍处在探索、研制阶段。

1.2 计算机的组成

一个完整的计算机系统,由硬件系统和软件系统两大部分组成的。

1.2.1 硬件

计算机硬件从外观上看主要有显示器、主机箱、键盘和鼠标;从逻辑功能上看,可以分为控制器、运算器、存储器、输入设备、输出设备五个部分。

打开计算机主机箱,里面有一块印刷电路板,这就是计算机的主机板(简称主板),一般地,计算机的重要控件都做在计算机的主板上。主板的类型和品种很多,从类型上来说,它们都是以CPU来分类的,CPU芯片在主板上是可以插拔的。主板上还许多部件,如ROM、RAM、总线槽、插座、电池等。

1. CPU

CPU是中央处理器(Central Processing Unit)的英文缩写,由运算器和控制器组成。它是计算机的运算控制中心,是计算机中集成度最高、最贵重的一块芯片。它是由几千~几千万个晶体管组成的超大规模的集成电路芯片。计算机所有数据的加工处理都是在CPU中完成的。CPU 还负责发出控制信号,使计算机的各个部件协调一致地工作。

2. 存储器

存储器由内部存储器(简称为内存)和外部存储器(简称为外存)组成。

①内部存储器

计算机要执行的程序、要处理的信息和数据,都必须先存入内存,才能由CPU取出进行处理。

内存一般可以分为随机读写存储器(RAM)和只读存储器(ROM)两种。

ROM中存储的数据只能读出,而用一般的方法不能写入。它的最大优点是它保存的数据在断电后不会丢失,因此用来保存计算机经常使用且固定不变的程序和数据。ROM中保存的最重要的程序是基本输入输出系统BIOS,这是一个对输入输出设备进行管理的程序。

RAM中存储的数据可以随时取出来(称为读出),也可以随时存入新数据(称为写入)或对原来的数据进行修改。RAM的缺点是断电以后所存储的所有数据都将丢失。

充当内存的集成电路芯片是做在一小条印刷电路板上的,称为内存条。内存条可以很方便地插在主板上,其容量现在一般为1GB、2GB等。

②外部存储器

内存的容量有限,且价格较贵,关机以后内存中所存储的数据就消失了,因此计算机还必须有外存来存储数据。外存的特点是存储容量大、价格较低,所存储的数据在计算机关机后也不会丢失。外存主要有硬盘、光盘、软盘、U盘等。

3. 输入/输出设备

输入设备就是把数据送入计算机的设备,它接受用户的程序和数据,并转换成二进制代码送入计算机的内存中存储起来,供计算机运行时使用。输出设备就是把经过计算机处理的数据,以人们能够识别的形式输出的设备。输入/输出设备就如同人有了眼睛可以看、耳朵可以听、嘴巴可以讲、手可以写字一样,输入/输出设备是计算机与外界沟通的桥梁。

输入设备有键盘、鼠标、扫描仪、手写笔等。键盘主要用来输入各种文字、数据和命令。鼠标主要用于绘图以及快速地移动光标进行选择或输入。扫描仪主要用来将图形或图像资料输入到计算机中。手写笔主要用来输入信息。

输出设备有显示器、打印机、绘图仪、音箱等。显示器,能显示计算机输出的文字、图形或图像;打印机能把计算机输出的文字、图形、图像等打印到纸上,主要有喷墨打印机、激光打印机和针式打印机等;音箱能输出经过计算机处理的声音信息。

(9.19.2014讲)

1.2.2 软件

计算机如果只有硬件将无法工作,还需要软件配合才能正常运行。计算机软件可以分为系统软件和应用软件两大类。

1. 系统软件

系统软件是一种综合管理计算机硬件和软件资源,为用户提供工作环境和开发工具的大型软件。主要包括:

操作系统软件是计算机的大管家,负责管理和控制计算机各个部件协调一致地工作,是一个最基本、最重要的系统软件。一台计算机必须通过操作系统才能正常工作。主要的操作系统软件有DOS、Windows 98、WindowsXP、Unix、Linux、Netware等。

2. 应用软件

应用软件是计算机用户为了解决某些具体问题而编制的软件。如图书馆资料检索软件、人事管理软件、工资管理软件、辅助教学软件(CAI)等。还有为各种不同用途编制的专用软件,如文字处理软件(Word、WPS)、电子表格软件(Excel)、游戏等。

1.3 计算机语言

计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。

计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。

其中机器语言、汇编语言也称为低级语言。

1. 机器语言

机器语言,是第一代计算机语言。计算机发明之初,用计算机的语言去命令计算机工作,一句话,就是写出一串串由"0"和"1"组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。因此程序就是一个个的二进制文件。

由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。但使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。此外每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。

2. 汇编语言

为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用"ADD"代表加法,"MOV"代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。

汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。

3. 高级语言

从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言——FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、BASIC、Pascal、C、C++、VC、VB、Delphi、JA V A等。

高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。1969年,提出了结构化程序设计方法,1970年,第一个结构化程序设计语言——Pascal语言出现,标志着结构化程序设计时期的开始。

80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。在此之前的高级语言,几乎都是面向过程的,程序的执行是流水线似的,在一个模块被

执行完成前,人们不能干别的事,也无法动态地改变程序的执行方向。这和人们日常处理事物的方式是不一致的,对人而言是希望发生一件事就处理一件事,也就是说,不能面向过程,而应是面向具体的应用功能,也就是对象(Object)。其方法就是软件的集成化,如同硬件的集成电路一样,生产一些通用的、封装紧密的功能模块,称之为软件集成块,它与具体应用无关,但能相互组合,完成具体的应用功能,同时又能重复使用。对使用者来说,只关心它的接口(输入量、输出量)及能实现的功能,至于如何实现的,那是它内部的事,使用者完全不用关心,C++、Virtual Basic、Delphi就是典型代表。

高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。

1. 4 预防计算机中毒

计算机病毒是一种人为恶意编制的程序,它隐藏在计算机系统中,能破坏计算机的工作程序和数据,使计算机不能正常运行。计算机病毒具有传染性、繁殖性、潜伏性和破坏性,它能利用系统信息资源生存、繁殖,并通过磁盘、光盘和网络等途径传播,造成极大的危害。

常用的杀毒软件:国产主要有瑞星杀毒软件、金山毒霸、江民KV2008、KILL等;国外主要有诺顿杀毒(Norton)、卡巴斯基(Kaspersky)等。

1. 预防方法

病毒的传染无非是两种方式:一是网络,二是软盘、光盘、优盘等存储媒介。如今网络的盛行,通过互联网传递的病毒要远远高于后者。为此,我们要特别注意在网上的行为,因为有些网站很有可能就是网络陷阱。

①安装防病毒软件,并经常进行升级。病毒总是领先一步,先有病毒,然后才有反病毒软件,所以要及时升级以便能查杀最新出现的计算机病毒。定期举行全盘杀毒。

②不使用盗版软件或来历不明的程序。不随便下载、复制、保存Internet、U盘、软盘或者局域网内其它电脑中的程序。

③对外来程序在使用前要进行杀毒,确定无病毒后,才能使用。

④平时留心病毒的发展动态,譬如流行的CIH 病毒,知道了它的发作条件是每月的二十六日,那么在不能确定自己的电脑是否被CIH病毒感染的时候,最简单的做法就是通过更改电脑的日期跳过二十六日这一天。

⑤除了以上预防方法外,平时还要做好重要资料的备份。以便电脑中毒后的恢复。

2. 病毒之后的解决办法

如果不小时感染病毒了,也不要慌,试试以下方法,减少损失。

①停止运行现有的程序,启动反病毒软件,对电脑进行全盘扫描。

②发现病毒后,我们一般应利用反病毒软件清除文件中的病毒,如果病毒不能被清除,

一般应将其删除,然后重新安装相应的应用程序。

③某些病毒在Windows 正常状态下无法完全清除或者删除,此时我们可以进入安全模式,进行查杀病毒,并清除或删除病毒。

④如果病毒还是无法清除或删除,可以用“干净”(既未感染病毒)的系统盘,重新安装系统。这可能为造成一些资料的丢失,所以在平时要注意重要资料的备份,安装前把重要资料复制到非系统盘分区。

1.5 数制

1.5.1 数学预备知识

1. 幂的定义:a n

读作a 的n 次方,也可以读作a 的n 次幂,表示n 个a 相乘,即:

n 个

a *a *a a 例如:104

=10*10*10*10=10000 关于幂的运算,有如下的运算规律: (1)a m

*a n

=a m+n

; (2)(a m

)n

=a mn

; (3)a 0=1; (4)a -n =

n a

1

。 1.5.2 数制简介

我们通常所说的数都是指十进制数。十进制数有如下的特点: ● 有10个数码:0、1、2、3、4、5、6、7、8、9; ● 进位的规律是:逢十进一。

在计算机中,广泛采用的是只有“0”和“1”两个基本符号组成的二进制数,而不使用人们习惯的十进制数,原因如下:

(1)二进制数在物理上最容易实现。例如,可以只用高、低两个电平表示"1"和“0”,也可以用脉冲的有无或者脉冲的正负极性表示它们。

(2)二进制数用来表示的二进制数的编码、计数、加减运算规则简单。

(3)二进制数的两个符号“0”和“1”正好与逻辑命题的两个值"是"和"否"或称"真"和"假"相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利的条件。

二进制数的基数是2,只有0和1两个数字,逢2进1。为了进一步了解数制的转换及其

有关的规律,我们必须学习数制有关的基本理论。

基数:数制所使用数码的个数。例如,二进制的基数为2;十进制的基数为10。

数码:数制中表示基本数值大小的不同数字符号。例如,十进制有10个数码:0、1、2、3、4、5、6、7、8、9。

位权:数制中某一位上的1所表示数值的大小(所处位置的价值)。例如,十进制的123,1的位权是100即102,2的位权是10即101,3的位权是1,即100。

因此,(123)10=1*102+2*101+3*100

1.5.3 数制的表示法

常用的进位数制如下表:

不同进位制数的表示如下:

十进制数 100可表示为100D或者(100)10;

二进制数 100可表示为100B或者(100)2

八进制数 100可表示为100Q或者(100)8

十六进制数100可表示为100H或者(100)16

1.5.4 将其他数进制转换成十进制数

把二进制数按照权位展开,然后各项相加,就得到相应的十进制数。

将二进制数(10110.101)2转换成十进制数。

(10110.101)2=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3

=16+4+2+0.5+0.125 =(22.625)D

1.5.5 十进制数转换成为二进数

将十进制数转换成其他进制数,必须把整数及小数部分分开进行转换,最后合并成为一个新的其他进制的数。

1. 整数部分

采用“除以2取余,逆序输出”的方法。

例:将(25)10转换成二进制数。

2 |25

2 |12 ……余数1

2 |6 ……余数0

2 |

3 ……余数0

2 |1 ……余数1

0 ……余数1

按照逆序输出的原则,得到:(25)10=(11001)2

2. 小数部分

采用“乘以2取整,顺序输出”的方法。

例如:将(0.375)10转换成二进制数。

0.375

× 2

=0.75……取整0

0.75

× 2

=1.5……取整1

0.5

× 2

=1.0……取整1

根据以上的算式,我们最后按照顺序输出的原则得到:

(0.375)10=(0.011)2

【习题】

一、填空题

1.世界上第一台计算机于()年诞生于()国的宾夕法尼亚大学,它的名字叫()。

2.个人计算机也称为()。

3.一个完整的计算机系统,由()和()两大部分组成的。

4.硬件从逻辑功能上看,可以分为()、()、()、()、()五个部分。

5.中央处理器也称为()。

6.存储器由()和()组成。

7.内部存储器(简称为内存)一般可以分为()和()两种。

8.计算机软件可以分为()和()两大类。

9.计算机程序设计语言的发展,经历了从()语言、()语言到()语言的历程。

10.1970年,第一个结构化程序设计语言——()语言出现。

11. 用幂表示下列各数:

(1)3*3*3*3

(2)9*9*9*9*9*9*9*9

12. 计算:

(1)83

(2)163

(3)26+23+22+2+1

(4)44+2*43+3*42+4+1

13. 将下列各数转换成十进制数

(1)(20314)5

(2)(12B)16

14. 将下列各数转换成二进制数:

(1)(335)10;

(2)(0.625)10;

(3)(11.8125)10。

二、选择题

1.与(10010100)2对应的十进制数是()。

(A)128 ;(B)148 ;(C)186;(D)236。

2.十进制数127转换成二进制数是()。

(A)11111111;(B)01111111;(C)10000000;(D)11111110。

3. 在一个非零无符号二进制整数之后添加一个0,则此数的值为原数的

(A)4倍;(B)2倍;(C)1/2倍;(D)1/4倍。

4. 在下列四个数中,最大的数是()

(A)(73.5)10;(B)(1001101.01)2;(C)(115.1)8;(D)(4C.4)16

5. 下列各式中不正确的是()

(A)(10)16=(16)10;(B)(10)5>(5)10;(C)(10)5<(5)10;(D)(11)2+(11)2=(110)2

14. 计算机病毒的特点是()

(A)传播性、潜伏性、易读性与隐蔽性(B)破坏性、传播性、潜伏性与安全性(C)传播性、潜伏性、破坏性与隐蔽性(D)传播性、潜伏性、破坏性与易读性

三、不定项选择题

1.第一代计算机使用的是()。第二代计算机使用的是()。第三代计算机使用的是()。第四代计算机使用的是()。

A、晶体管

B、电子管

C、大规模、超大规模集成电路

D、集成电路

2.计算机病毒具有以下()特性?

A、传染性

B、繁殖性

C、潜伏性

D、破坏性

3.以下是杀毒软件的()?

A、瑞星

B、KILL

C、卡巴斯基

D、金山毒霸

4.()语言,是第一代计算机语言。

A、机器

B、汇编

C、高级

D、解释

5. 以下断电之后仍能保存数据的有()。

A. 寄存器

B. ROM

C. RAM

D. 高速缓存

6.Linux是一种( )。

A. 绘图软件

B. 程序设计语言

C. 操作系统

D. 网络浏览器

7. CPU是( )的简称。

A. 硬盘

B. 中央处理器

C. 高级程序语言

D. 核心寄存器

8. 下面( )是系统软件

A) DOS和MIS B) WPS和UNIX C) DOS和UNIX D) UNIX和Word

9. 下列各组设备中,全部属于输入设备的一组是( )

A) 键盘、磁盘和打印机 B) 键盘、扫描仪和鼠标

C) 键盘、鼠标和显示器 D) 硬盘、打印机和键盘

10. 在计算机中采用二进制,是因为( )

A) 可降低硬件成本 B) 两个状态的系统具有稳定性

C) 二进制的运算法则简单 D) 上述三个原因

四、判断题

1.反病毒软件总是领先一步,先有反病毒软件,然后才有病毒。

2.因特网上会传染病毒,所以不上网,只使用光盘,就不会感染病毒了。

3.(101011)2=(42)10

4.1KB=1024MB

5.文件的扩展名表示文件的类型。(如bmp是文本文件的扩展名,txt是图片文件的扩展名等)

五、简答题

1、外部存储器(简称为外存)主要有哪些?

2、输入设备主要有哪些?

3、输出设备主要有哪些?

4、你知道的操作系统有哪些?

5、你知道的杀毒软件有哪些?

第二章认识Pascal

PASCAL语言也是一种计算机高级语言,它是瑞士苏黎世联邦工业大学的N.沃斯(Wirth N)教授于1968年设计完成的,1971年正式发表。它的命名是为了纪念法国数学家Pascal。

PASCAL语言是一种结构化的程序设计语言,可以用来编写应用程序。它又是一种系统程序设计语言,可以用来编写顺序型的系统软件(如编译程序)。它的功能强、编译程序简单,是70年代影响最大一种算法语言。

目前信息学奥赛Pascal语言规定必须使用Free Pascal 1.0.10及以上版本作为编译器。Free Pascal是一个32位的编译器,理论上可以使用4GB的内存,因此实际上几乎可以使用系统中的所有剩余内存(除非赛题中有内存限制)。在本书中,我们选择Free Pascal(2.04版)作为编译器,有关编程问题算法都是在这一软件中完成编译工作的。

2.1 安装Free Pascal

2.1.1 安装Free Pascal

下载了Free Pascal(版本2.04)后,运行安装文件,将出现“Setup – Free Pascal”的英文安装界面。可以根据需要,按提示一步一步安装。推荐直接点击“next”按钮按默认安装。

2.1.2 卸载Free Pascal

当Pascal 系统文件发生错误或出现更先进的Pascal版本时,可以先删除老版本的系统程序,再安装新版本的系统程序。

具体操作方法是:选择菜单:“开始→所有程序→Free Pascal→uninstall Free Pascal”后,将可见到如图2-1所示的对话框,选择“是”,系统将开始卸载Free Pascal,直到结束。

(图2-1)

2.1.3 设置Free Pascal属性

安装Free Pascal(版本2.04,以下简称FP)后,在桌面上会创建一个快捷启动图标(如果没有这个快捷启动的图标,可自己创建快捷方式),双击这个图标启动Free Pascal后,往往在窗口中会看到很多中文乱码,这是由于默认设置不档的原因造成的。因此,我们必须对这个软件的工作环境进行个性化的设置。

在桌面启动的快捷方式右击鼠标,在弹出的快捷菜单中选择“属性”,进入到属性设置对话框中,切换到“选项”,在其中的“当前代码页”选择框右边单击鼠标,选择其中为“437 (OEM-美国)”(图2-2),再单击“确定”按钮后再次启动Free Pascal,界面上便没有中文乱码了。

(图2-2)

另外,在图2-2所示的Free Pascal属性设置对话框中,我们还可以进行字体、布局、颜色、兼容性等多种设置。具体设置方法,可进入各自的对话框,进行各种设置的尝试。如果想程序在运行时全屏显示,在图2-2的“显示选项”中选择“全屏”,则程序运行时便以全屏的方式进行显示。

2.2 Free Pascal 使用界面

Free Pascal 启动成功后,会出现下图2-3所示窗口,由标题栏、菜单栏、编辑区、状态栏和滚动条构成。

选择菜单:File New ,我们便创建了一个新的Pascal 程序窗口,如图2-4所示。

退出Free Pascal 方法是:选择主菜单File 中菜单项Exit ,或者通过键盘命令ALT+X ,可以彻底退出Pascal ,若有未存储过的内容,系统会给出提示询问是否要保存。

(图2-4)

(图2-3)

Free Pascal 共有10条主菜单,分别是:File 、Edit 、Search 、Run 、Compile 、Debug 、Tools 、Options 、Window 、Helps ,这些菜单中的子菜单及有关说明如下。

1. File (文件)菜单

2. Edit (编辑)菜单

在这个编辑菜单中,一些常用的操作都有快捷键操作,遗憾的是象复制、粘贴等常用Windows 几乎统一的Ctrl+C 、Ctrl+V 在这里却是:Ctrl+Ins 、Shift+ Ins ,必须特别注意。

另外,如果我们要把Windows 其他文档上的程序复制到Free Pascal 中,可以使用编辑菜单中的“Paste from Windows ”命令。而在这里的“Copy to Windows ”则是与之相反的操作:可以把程序复制到Free Pascal 以外的文档中。

(图2-5)

(图2-6)

4. Run (运行)菜单

5. Compile (编译)菜单

(图2-7)

(图2-8)

(图2-9)

7. Tools (工具)菜单

8. Options (选项)菜单

(图2-11)

(图2-10)

10. Help (帮助)菜单

2.3 程序演示

下面通过一个简单的Pascal 程序来说明如何完成一个程序的输入、编辑、编译、链接、运行、保存等操作。

程序如下:

program tuxing(input,output); var h,k:integer; begin

for h:=1 to 4 do

(图

2-14)

(图2-13)

begin

write (' ':h);

for k:=1 to 6 do write ('*');

writeln

end

end.

下面,我们来介绍在Free Pascal中录入、编译上面程序的方法。

1. 录入程序

启动Free Pascal后,选择菜单“File New”,在编辑窗口中录入以上程序。在输入的过程中可使用光标键和删除键进行编辑操作,每行输完后按回车键换行。程序输入后,效果如图2-15所示。

(图2-15)

2. 保存程序

选择主菜单File中的菜单项Save,或按快捷键F2,在出现的对话框中输入文件名:tuxing.pas,单击“OK”,则该程序就以tuxing.pas为文件名保存在当前目录了。

3. 运行程序

选择主菜单Run中的菜单项Run,或按快捷键Ctrl+F9,则完成程序的运行,在Output 窗口中会出现程序的运行结果,按F5键将输出窗口放大,以便看清所有的运行结果,再按F5可还原窗口。该程序的运行结果如图2-16所示。

(图2-16)

也可以在运行后通过快捷键Alt+F5切换到用户屏幕,以便观察运行结果。再按任一键可返回编辑窗口。

信息学奥赛培训计划(复赛)

信息技术学科信息学奥赛社团培训计划 制定人:玄王伟 2018年10月

信息学奥赛培训计划方案推进信息技术教育是全面实施素质教育的需要,是培养具有创新精神和实践能力的新型人才的需要。信息学奥赛的宗旨为:“丰富学生课余生活,提高学生学习兴趣,激发学生创新精神。”为此,我们应以竞赛作为契机进而培养学生综合分析问题、解决问题的意识和技能。 为响应学校号召,积极参与信息技术奥林匹克竞赛,校本课程特别开设C++语言程序设计部分,利用社团活动时间对部分学生进行辅导。教学材料以信息学奥赛一本通训练指导教程为主,力图让学生们对编写程序有较深入了解的同时,能够独立编写解决实际问题的算法,逐步形成解题的思维模式。因学习内容相对中小学学生具有一定的难度,本课程采用讲练结合的形式,紧紧围绕“程序=算法+数据结构”这一核思想,以数学问题激发学生学习兴趣,进而达到学习目标。为更好地保证信息学奥赛的培训效果,特制订本培训计划。 一、培训目标 1.使学生具备参加全国信息学奥林匹克竞赛分区联赛NOIP(初赛、复赛)的能力。 2.使学生养成较好的抽象逻辑推理能力、严谨的思维方式和严密的组织能力,并使学生的综合素质的提高。 3.使学生初步具备分析问题和设计算法的能力。 二、培训对象 我校小学及初中对信息学感兴趣且初赛成绩较好的学生,人数共

计14人,其中小学组12人,普及组2人。 三、培训要求 严格培训纪律,加强学生管理;信息学社团的组建由学生自愿报名、教师考察确定;培训过程中做与培训无关的事如打游戏、上网聊天等,一经发现作未参加培训处理;规定的作业、练习必须按时保质保量完成,否则按未参加培训处理。 四、培训内容 1.深入学习计算机基础知识,包括计算机软硬件系统、网络操作、信息安全等相关知识内容,结合生活实际让学生真正体会到参加信息学奥赛的乐趣。 2.全面学习C++语言的基础知识、学会程序的常用调试手段和技巧,在用C++解决问题的过程中引入基础算法的运用。 3.深入学习各类基础算法,让学生真正理解算法的精髓,遵循“算法+数据结构=程序”的程序设计思想,在算法设计的教学实例中引入数据结构的学习,从而形成一定的分析和解决问题的能力。 4.以实例为基础,展开强化训练,使学生开始具备运用计算机独立解决实际问题的能力。用计算机解决现实问题的最重要的一个前提就是数据模型的建立和数据结构的设计。数据模型的建立、数学公式的应用,是计算机解决问题的关键。因此,加强与数学学科的横向联系非常必要。 五、培训时间 自2018年10月份第三周开始至2018年11月中旬结束,包括每

最新中小学信息学竞赛活动开展工作总结

中小学信息学竞赛活动开展工作总结 中小学信息学竞赛活动开展工作总结 今年10月下旬,局领导明确中小学生的信息学竞赛由我站负责。我们当时觉得接受这个任务压力重大,这是因为我区的这一块工作与其他县(市、区)相比,差距较大,而且离开明年市赛只有四个多月的时间。当时的情况是邱隘中心小学有一定基础,华泰小学刚刚起步,其余小学都没有开展,就连前几年在这方面开展相对较好的咸祥镇中心小学也正处在停顿状态。我们设想如果经过100分的努力,也只能是刚刚接近三等奖,这在明年竞赛中还是反映不出成绩来。针对上述情况,我们确定了小学突破、初中紧跟的工作措施。具体小结如下: 一、小学生竞赛辅导起动快,成效显著。 1:统一认识、落实措施 我们迅速分别召开了愿意加入本项活动的小学正职校长及负责教学的校级领导会议。会上大家统一了认识,树立了信心,校长们表示一定会按排好工作,落实好切实可行的措施。 2:师生同学、共同进步

我区小学信息学老师多数是中师毕业,在校没有系统学过PASCAL 语言,带学生参加竞赛有较大难度,如果按常规先办教师培训班,学成后再去辅导学生,至少是一年以后的事情了。为了早出成绩,我们采取了师生同学的办法,教师现学现教,一边教一边学。自1月3日将举行***区小学生信息学竞赛,想利用这次比赛,进一步提高我区小学生信息学竞赛水平,赛后还将全区前30名学生集中起来,举办冬令营。 二、初中生竞赛工作方向确定,措施落实。 1:组织比武,了解师能 为了解掌握我区初中信息学教师的知识水平和教学能力,经教育局同意,组织了初中信息学教师信息学竞赛辅导水平比武活动,比武分初赛和复赛(初赛为笔试,笔试成绩不理想),月底将评出一、二、三等奖。 2:确定训点,强力推动 在了解掌握初中信息学教师师能的基础上,并给合小学竞赛活动开展情况,确定初中信息学竞赛培训点,同时出台相关政策,推

中小学信息学程序设计竞赛细则

中小学信息学程序设计竞赛细则 一、竞赛组织 1.由武汉市中小学信息技术创新与实践活动组委会负责全市的竞赛组织工作,竞赛由全市统一命题,各区按全市统一要求负责考务工作。 2.活动分为二个阶段,第一阶段为初赛阶段,竞赛以笔试闭卷形式,按小学组、初中组和高中组三个学段同时进行,由各区具体负责实施。第二阶段为复赛阶段,竞赛以上机形式,按小学组、初中组和高中组三个学段进行。复赛由市统一命题,统一安排考场,地点待定。 二、竞赛的报名和办法 1.报名费每生20元。 2.竞赛报名以区为单位,统一组织学生报名。 3.3月20日(星期五)前各区、系统集中到市教科院信息技术教育中心(6012室)报名,过时不再补报。 4.各区、系统向市报名时,只需按组别和语种、各校报名人数、指导教师姓名等要求填好的初赛报名表,以及缴纳相应的报名费,无须交具体参赛名单。初赛报名表如下: 三、竞赛日期和时间 1.初赛时间:待定 2.复赛时间:待定 四、竞赛形式及试题类型 小学组(LOGO或BASIC)中学组(C或PASCAL) 复赛:全卷满分100分,考试时间小学80分钟、中学120分钟。中学采用的程序设计语言:C和PASCAL。小学采用的程序设计语言:LOGO或BASIC。 竞赛分组:小学组,BASIC、LOGO任选。中学分初中组和高中组,C、PASCAL任选。

附件:武汉市青少年信息学(计算机)奥林匹克竞赛内容及要求: A、小学组 一、初赛内容与要求 1.计算机的基本知识 ★诞生与发展★特点★计算机网络、病毒等基本常识 ★在现代社会中的应用★计算机的基本组成及其相互联系 ★计算机软件知识★计算机中的数的表示 2.计算机的基本操作 ★MS—DOS与Windos98操作系统使用基础知识(启动、命令格式、常用格式) ★常用输入/输出设备的种类、功能、特性、使用和维护 ★汉字输入/输出方法和设备★常用计算机屏幕信息 3.程序设计基本知识 (1)程序的表示 ★自然语言的描述★QBASIC和LOGO4. 0语言描述 (2)数据结构的类型 ★简单数据的类型;整型、实型、字符型 ★构造类型;数组、字符串 (3)程序设计 ★结构化程序设计的基本概念★阅读程序的能力 ★具有完成下列过程的能力 现实世界(问题):指知识范畴的问题—信息世界(表述解法)—计算机世界(将解法用计算机能够实现的数据结构和算法述出来) (4)基本算法处理 ★字串处理★排序★查找 二、复赛内容与要求 在初赛的内容上增加以下一些内容: (1)计算机软件: ★操作系统的基本知识 (2)程序设计: ★设计测试数据的能力★编写文档资料的能力 (3)算法处理 ★简单搜索★统计★分类★递归算法 三、有关分组内容及难度的说明 (1)LOGO语言 A.熟练掌握尾归和多层递归,对中间递归有一定的了解,熟练掌握字表处理基本命令。 B.掌握取整、随机、随机化、求商取整、求商取余函数的使用方法。 (2)BASIC语言 A.BASIC语言的一维数组:正确定义一个数组,掌握数组中各元素间的相互关系,熟练掌握对数组中各元素的赋值和引用,其中包括对数组所进行的几种基本处理,如选数列中最大、最小数,对有序数列的插入,对数列进行排序、查找等。 B.BASIC语言的函数:熟练地掌握数值函数的运用(如取整函数、随机函数、绝对值函数等)。 B、中学组

信息学奥赛基础知识习题(答案版)

信息学奥赛基础知识习题(答案版) 一、选择题(下列各题仅有一个正确答案,请将你认为是正确的答案填在相应的横线上) 1.我们把计算机硬件系统和软件系统总称为 C 。 (A)计算机CPU (B)固 件 (C)计算机系统 (D)微处 理机 2.硬件系统是指 D 。 (A)控制器,器运算 (B)存储器,控制器 (C)接口电路,I/O设备 (D)包括(A)、(B)、(C) 3. 计算机软件系统包括 B 。 A) 操作系统、网络软件 B) 系统软件、应用软件 C) 客户端应用软件、服务器端系统软件 D) 操作系统、应用软件和网络软件4.计算机硬件能直接识别和执行的只有 D 。 (A)高级语言 (B)符号语言 (C)汇编语言 (D)机器语言 5.硬盘工作时应特别注意避免 B 。 (A)噪声 (B)震动 (C)潮 湿 (D)日光 6.计算机中数据的表示形式是 C 。 (A)八进制 (B)十进制 (C)二进 制 (D)十六进制

7.下列四个不同数制表示的数中,数值最大的是 A 。 (A)二进制数11011101 (B)八进制数334 (C)十进制数219 (D)十六进制 数DA 8.Windows 9x操作系统是一个 A 。 (A)单用户多任务操作系统 (B)单用户单任务操 作系统 (C)多用户单任务操作系统 (D)多用户多任务操 作系统 9.局域网中的计算机为了相互通信,必须安装___B__。 (A)调制解调器(B)网卡(C)声卡(D)电视卡 10.域名后缀为edu的主页一般属于__A____。 (A)教育机构(B)军事部门(C)政府部门(D)商业组织 11. 在世界上注册的顶级域名是__A____。 (A)hk(B)cn(C)tw(D) 12.计算机能够自动、准确、快速地按照人们的意图进行运行的最基本思想是( D )。 (A)采用超大规模集成电路(B)采用CPU作为中央核心部件 (C)采用操作系统(D)存储程序和程序控制 13.设桌面上已经有某应用程序的图标,要运行该程序,可以 C 。 (A)用鼠标左键单击该图标 (B)用鼠标右键单击该 图标 (C)用鼠标左键双击该图标 (D)用鼠标右键双击该 图标

(完整)信息学奥赛(NOIP)必看经典书目汇总,推荐文档

信息学奥赛(NOIP)必看经典书目汇总! 小编整理汇总了一下大神们极力推荐的复习资料!(欢迎大家查漏补缺) 基础篇 1、《全国青少年信息学奥林匹克分区联赛初赛培训教材》(推荐指数:4颗星) 曹文,吴涛编著,知识点大杂烩,部分内容由学生撰写,但是对初赛知识点的覆盖还是做得相当不错的。语言是pascal的。 2、谭浩强老先生写的《C语言程序设计(第三版)》(推荐指数:5颗星) 针对零基础学C语言的筒子,这本书是必推的。 3、《骗分导论》(推荐指数:5颗星) 参加NOIP必看之经典 4、《全国信息学奥林匹克联赛培训教程(一)》(推荐指数:5颗星) 传说中的黄书。吴文虎,王建德著,系统地介绍了计算机的基础知识和利用Pascal语言进行程序设计的方法 5、《全国青少年信息学奥林匹克联赛模拟训练试卷精选》 王建德著,传说中的红书。 6、《算法竞赛入门经典》(推荐指数:5颗星) 刘汝佳著,算法必看经典。 7、《算法竞赛入门经典:训练指南》(推荐指数:5颗星) 刘汝佳著,《算法竞赛入门经典》的重要补充 提高篇 1、《算法导论》(推荐指数:5颗星) 这是OI学习的必备教材。

2、《算法艺术与信息学竞赛》(推荐指数:5颗星) 刘汝佳著,传说中的黑书。 3、《学习指导》(推荐指数:5颗星) 刘汝佳著,《算法艺术与信息学竞赛》的辅导书。(PS:仅可在网上搜到,格式为PDF)。 4、《奥赛经典》(推荐指数:5颗星) 有难度,但是很厚重。 5、《2016版高中信息学竞赛历年真题解析红宝书》(推荐指数:5颗星) 历年真题,这是绝对不能遗失的存在。必须要做! 三、各种在线题库 1、题库方面首推USACO(美国的赛题),usaco写完了一等基本上就没有问题,如果悟性好的话甚至能在NOI取得不错的成绩. 2、除此之外Vijos也是一个不错的题库,有很多中文题. 3、国内广受NOIP级别选手喜欢的国内OJ(Tyvj、CodeVs、洛谷、RQNOJ) 4、BJOZ拥有上千道省选级别及以上的题目资源,但有一部分题目需要购买权限才能访问。 5、UOZ 举办NOIP难度的UER和省选难度的UR。赛题质量极高,命题人大多为现役集训队选手。

小学生信息学奥林匹克竞赛试题

武进区小学生信息学奥林匹克竞赛试题 BASIC 语言二小时完成 一.选择一个正确答案代码(A/B/C/D),填入每题的括号内 (每题1分,共20分) 1.在计算机内部,一切信息存取、处理和传递的形式是( ) A)ASCII码 B)BCD码 C)二进制 D)十六进制 2.在树型目录结构中,不允许两个文件名相同主要指的是( ) A)同一个磁盘的不同目录下B)不同磁盘的同一个目录下 C)不同磁盘的不同目录下 D)同一个磁盘的同一个目录下 3.WORD是一种( ) A)操作系统 B)文字处理软件 C)多媒体制作软件 D)网络浏览器 4. 计算机病毒传染的必要条件是:( )。 A)在内存中运行病毒程序 B)对磁盘进行读写操作 C)在内存中运行含有病毒的可执行程序 D)复制文件 5. 在Windows 98中,通过查找命令查找文件时,若输入 F*.?,则下列文件( )可以被查到。 A) F.BAS B)FABC.BAS C) F.C D) EF.C 6.断电后计算机信息依然存在的部件为( ) A)寄存器 B)RAM存储器 C)ROM存储D)运算器 7.2KB的内存能存储( )个汉字的机内码 A)1024 B)516 C)2048 D)218 8.若我们说一个微机的CPU是用的PII300,此处的300确切指的是( ) A)CPU的主时钟频率 B)CPU产品的系列号 C)每秒执行300百万条指令 D)此种CPU允许最大内存容量 9. 资源管理器的目录前图标中增加“+”号,这个符号的意思是()。 A)该目录下的子目录已经展开 B)该目录下还有子目录未展开 C)该目录下没有子目录 D)该目录为空目录 10.E-mail邮件本质上是一个( ) A)文件 B)电报 C)电话D)传真 11.一台计算机的内存容量是128MB,那么128MB=()字节。 A)128*1000 B)128*1024 C)128*1024*1024 D)128 12.若已知一个栈的入栈顺序是1,2,3,…,n,其输出序列为P1,P2,P3,…,Pn,若

信息学奥赛数据结构教程PASCAL版

信息学奥赛数据结构教程PASCAL版第二课堆栈和队列 一、堆栈 1(概述 栈(stack)是一种特殊的线性表。作为一个简单的例子,可以把食堂里冼净的一摞碗看作一个栈。在通常情况下,最先冼净的碗总是放在最底下,后冼净的碗总是摞在最顶上。而在使用时,却是从顶上拿取,也就是说,后冼的先取用,后摞上的先取用。好果我们把冼净的碗“摞上”称为进栈,把“取用碗”称为出栈,那么,上例的特点是:后进栈的先出栈。然而,摞起来的碗实际上是一个表,只不过“进栈”和“出栈”,或者说,元素的插入和删除是在表的一端进行而已。 一般而言,栈是一个线性表,其所有的插入和删除均是限定在表的一端进行,允许插入和删除的一端称栈顶(Top),不允许插入和删除的一端称栈底(Bottom)。若给定一个栈S=(a1, a2,a3,…,an),则称a1为栈底元素,an为栈顶元素,元素ai位于元素ai-1之上。栈中元素按a1, a2,a3,…,an 的次序进栈,如果从这个栈中取出所有的元素,则出栈次序为an, an-1,…,a1 。也就是说,栈中元素的进出是按后进先出的原则进行,这是栈结构的重要特征。因此栈又称为后进先出(LIFO—Last In First Out)表。我们常用一个图来形象地表示栈,其形式如下图:

通常,对栈进行的运算主要有以下几种: (1) 往栈顶加入一个新元素,称进栈; (2) 删除栈顶元素,称退栈; (3) 查看当前的栈顶元素,称读栈。 此外,在使用栈之前,首先需要建立一个空栈,称建栈;在使用栈的过程中, 还要不断测试栈是否为空或已满,称为测试栈。 2(栈的存储结构 栈是一种线性表,在计算机中用向量作为栈的存储结构最为简单。因此,当用编程语言写程序时,用一维数组来建栈十分方便。例如,设一维数组STACK[1..n] 表示一个栈,其中n为栈的容量,即可存放元素的最大个数。栈的第一个元素,或称栈底元素,是存放在STACK[1]处,第二个元素存放在STACK[2]处,第i个元素存放在STACK[i]处。另外,由于栈顶元素经常变动,需要设置一个指针变量top,用来指示栈顶当前位置,栈中没有元素即栈空时,令top=0,当top=n时,表示栈满。 3(对栈的几种运算的实现方法: (1)建栈 continue to respond 5min. Remove the absorption tube, 1cm Cuvette, wavelength of 400nm, to standard pipes zero regulating and absorbs

2015小学生信息学竞赛试题

中山市第七届小学生信息学邀请赛试题 比赛时间:2015年4月19日上午9:00-12:00 题目一览 注意事项: 1.提交要求:首先在电脑的E盘下建立一个文件夹,名字为你的中文姓名,在该文件夹下建立一 个文本文件,名字也是你的中文姓名,把你所在学校、姓名、班级、家庭联系电话写在该文本文件中,最终你要提交的PAS文件或CPP文件也必须放在以你的中文姓名命名的文件夹下。如你的名字叫张三,一共有5道题,题目的文件名分别是1,2, 3, 4, 5,那么张三同学提交的目录结构如下: E:\ ---张三 (以姓名命名的文件夹) ---张三.TXT (以姓名为文件名的文本文件,内容包括学校、姓名、班级、电话) --- 1.PAS或1.CPP或1.c (题目1的源程序) --- 2.PAS或2.CPP或2.c (题目2的源程序) --- 3.PAS或3.CPP或3.c (题目3的源程序) --- 4.PAS或4.CPP或4.c (题目4的源程序) --- 5.PAS或5.CPP或5.c (题目5的源程序) 1.严格按照题目所要求的格式进行输入、输出,否则严重影响得分。 1.题目测试数据有严格的时间限制,超时不得分。 2.输入文件格式不用判错;输入输出文件名均已给定,不用键盘输入。 3.程序完成后,要按指定的文件名提交源文件。 2.三个小时完成。 3.本次竞赛的最终解释权归中山市教育教学研究室信息技术科所有。

1.连续零(难度系数:容易) (1.pas/cpp/c) 【题目描述】 输入两个正整数a和b,s为a到b之间(包含a、b)所有整数的乘积,求s末尾从个位开始有多少个连续的0。 比如a=1,b=7,那么s=1*2*3*4*5*6*7=5040,答案就是1,不是2。 【输入格式】 一行两个正整数,分别表示a和b(1<=a,b<=10^6)。 【输出格式】 输出一行一个整数,即0的个数。 【数据范围】 1<=a,b<=1000 000

信息学奥赛试题汇编

第19届全国青少年信息学(计算机)奥林匹克BASIC 试题说明: 请考生注意,所有试题的答案要求全部做在答题纸上。 一、基础知识单项选择题(共10题,每小题3分,共计30分) 1、存储容量2GB相当于() A、2000KB B、2000MB C、2048MB D、2048KB 2、输入一个数(可能是小数),再按原样输出,则程序中处理此数的变量最好使用() A、字符串类型 B、整数类型 C、实数类型 D、数组类型 3、下列关于计算机病毒的说法错误的是() A、尽量做到使用正版软件,是预防计算机病毒的有效措施。 B、用强效杀毒软件将U盘杀毒后,U盘就再也不会感染病毒了。 C、未知来源的程序很可能携带有计算机病毒。 D、计算机病毒通常需要一定的条件才能被激活。 4、国标码的“中国”二字在计算机内占()个字节。 A、2 B、4 C、8 D、16 5、在计算机中,ASCⅡ码是( )位二进制代码。 A、8 B、7 C、12 D、16 6、将十进制数2013转换成二进制数是( )。 A、11111011100 B、11111001101 C、11111011101 D、11111101101 7、现有30枚硬币(其中有一枚假币,重量较轻)和一架天平,请问最少需要称几次,才能找出假币( )。 A、3 B、4 C、5 D、6 8、下列计算机设备中,不是输出设备的是()。 A、显示器 B、音箱 C、打印机 D、扫描仪 9、在windows窗口操作时,能使窗口大小恢复原状的操作是() A、单击“最小化”按钮 B、单击“关闭”按钮 C、双击窗口标题栏 D、单击“最大化”按钮 10、世界上第一台电子计算机于1946年诞生于美国,它是出于()的需要。 A、军事 B、工业 C、农业 D、教学二、问题求解(共2题,每小题5分,共计10分) 1、请观察如下形式的等边三角形: 边长为 2 边长为4 当边长为2时,有4个小三角形。 问:当边长为6时,有________个小三角形。 当边长为n时,有________个小三角形。 2、A、B、C三人中一位是工人,一位是教师,一位是律师。已知:C比律师年龄大,A和教师不同岁,B比教师年龄小。问:A、B、C分别是什么身分? 答:是工人,是教师,是律师。 三、阅读程序写结果(共4题,每小题8分,共计32分) 1、REM Test31 FOR I =1 TO 30 S=S+I\5 NEXT I PRINT S END 本题的运行结果是:( 1) 2、REM Test32 FOR I =1 TO 4 PRINT TAB (13-3*I); N=0 FOR J =1 TO 2*I-1 N=N+1 PRINT N; NEXT J PRINT NEXT I END 本题的运行结果是:( 2)

信息学奥赛教程C++版之令狐文艳创作

目录 令狐文艳 青少年信息学奥林匹克竞赛情况简介 信息学奥林匹克竞赛是一项旨在推动计算机普及的学科竞赛活动,重在培养学生能力,使得有潜质有才华的学生在竞赛活动中锻炼和发展。近年来,信息学竞赛活动组织逐步趋于规范和完善,基本上形成了“地级市——省(直辖市)——全国——国际”四级相互接轨的竞赛网络。现把有关赛事情况简介如下: 全国青少年信息学(计算机)奥林匹克分区联赛: 在举办1995年NOI活动之前,为了扩大普及的面,并考虑到多数省、直辖市、自治区已经开展了多年省级竞赛,举办了首届全国青少年信息学(计算机)奥林匹克分区联赛。考虑到不同年级学生的知识层次,也为了鼓励更多的学生积极参与,竞赛设提高组、普及组,并分初、复赛进行,这样可以形成一个梯队,确保每年的竞赛活动有比较广泛扎实的基础。 从1995年起,至2001年共举办了七届全国青少年信息学奥林匹克分区联赛,每年举办一次(下半年十月左右),有选手个人奖项(省、国家级)、选手等级证书、优秀参赛学校奖项。 安徽省青少年信息学(计算机)奥林匹克复决赛(简称AHOI): 省级信息学奥赛是一个水平较高的、有较大影响力的学科竞赛。由各市组织代表队参赛,参赛名额实行动态分配制度,每年举办一次(上半年五月左右)。从1984年起安徽省奥林匹克竞赛活动得到了蓬勃发展。奖项有个人一、二、三等奖,女选手第一、二、三名,奖励学校团体总分1-8名、市团体总分1-8名。 全国青少年信息学(计算机)奥林匹克竞赛(简称NOI):由中国算机学会主办的、并与国际信息学奥林匹克接轨的一项全国性青少年学科竞赛活动。1984年举办首届全国计算

机竞赛。由各省市组织参赛,每年举办一次。奖项有个人一、二、三等奖,女选手第一、二、三名,各省队团体总分名次排队。 国际青少年信息学(计算机)奥林匹克竞赛(简称IOI):每年举办一次,由各参赛国家组队参赛。 全国青少年信息学(计算机)奥林匹克分区联赛竞赛大纲 在初赛的内容上增加以下内容(2008年修改稿):

的信息学奥赛——算法入门教程

全国青少年信息学奥林匹克联赛 算法讲义 算法基础篇 (2) 算法具有五个特征: (2) 信息学奥赛中的基本算法(枚举法) (7) 采用枚举算法解题的基本思路: (7) 枚举算法应用 (7) 信息学奥赛中的基本算法(回溯法) (14) 回溯基本思想 (14) 信息学奥赛中的基本算法(递归算法) (18) 递归算法的定义: (18) 递归算法应用 (19) 算法在信息学奥赛中的应用(递推法) (25) 递推法应用 (26) 算法在信息学奥赛中的应用(分治法) (32) 分治法应用 (33)

信息学奥赛中的基本算法(贪心法) (38) 贪心法应用 (39) 算法在信息学奥赛中的应用(搜索法一) (44) 搜索算法应用 (45) 算法在信息学奥赛中的应用(搜索法二) (48) 广度优先算法应用 (50) 算法在信息学奥赛中的应用(动态规划法) (56) 动态规划算法应用 (58) 算法基础篇 学习过程序设计的人对算法这个词并不陌生,从广义上讲,算法是指为解决一个问题而采用的方法和步骤;从程序计设的角度上讲,算法是指利用程序设计语言的各种语句,为解决特定的问题而构成的各种逻辑组合。我们在编写程序的过程就是在实施某种算法,因此程序设计的实质就是用计算机语言构造解决问题的算法。算法是程序设计的灵魂,一个好的程序必须有一个好的算法,一个没有有效算法的程序就像一个没有灵魂的躯体。 算法具有五个特征: 1、有穷性:一个算法应包括有限的运算步骤,执行了有穷的操作后将终止

运算,不能是个死循环; 2、确切性:算法的每一步骤必须有确切的定义,读者理解时不会产生二义性。并且,在任何条件下,算法只有唯一的一条执行路径,对于相同的输入只能得出相同的输出。如在算法中不允许有“计算8/0”或“将7或8与x相加”之类的运算,因为前者的计算结果是什么不清楚,而后者对于两种可能的运算应做哪一种也不知道。 3、输入:一个算法有0个或多个输入,以描述运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件。如在5个数中找出最小的数,则有5个输入。 4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果,这是算法设计的目的。它们是同输入有着某种特定关系的量。如上述在5个数中找出最小的数,它的出输出为最小的数。如果一个程序没有输出,这个程序就毫无意义了; 5、可行性:算法中每一步运算应该是可行的。算法原则上能够精确地运行,而且人能用笔和纸做有限次运算后即可完成。 如何来评价一个算法的好坏呢?主要是从两个方面: 一是看算法运行所占用的时间;我们用时间复杂度来衡量,例如:在以下3个程序中, (1)x:=x+1 (2)for i:=1 to n do

小学生信息学奥赛模拟试题及思路(Qbasic)

小学生信息学奥赛模拟试题及思路(Qbasic) 建立文件夹 本次模拟赛的考号即为选手发送答案用的邮箱“@”符号之前的部分(例如,如果你用fx@https://www.wendangku.net/doc/7810278849.html,这个邮箱发送答案,那么你的考号即为fx)。 请你用考号建立一个文件夹,并在这个文件夹中为本次竞赛的每个题目建立一个子文件夹,这些子文件夹的名字分别是:ARCH、RANK、QUEUE、HIDE、FOURCOL。 每建立一个正确的文件夹可以得到2分。本部分共10分(不包括考号文件夹)。 提交答案时,请将每个题目的代码文件分别放入各自的文件夹中,放在其它位置不计分。题目文件夹中,除了代码文件之外,请不要有其它文件。将自己的考号文件夹压缩为rar格式后,将此rar文件作为附件发送到bjnoi@https://www.wendangku.net/doc/7810278849.html,,主题请写“小学生模拟题答卷”,并请在邮件正文中写明如下信息:姓名、性别、年龄、学校、年级。10:10前提交的答案有效。 本次模拟赛每个题目有10个测试点,每个测试点2分,每个题满分20分。本次模拟赛满分110分。 注:本套题目难度等级(*:送分,**:容易,***:中等,****:较难,*****:难) 阿基米德特性(*) 至少该做对的题目:1,2,3 应该做对的题目:1,2,3,4 ARCH.BAS / ARCH.C / ARCH.CPP / ARCH.PAS 【问题描述】 所谓“阿基米德特性”是这样的一条性质:对任意两个整数、,保证,总存在整数,使得。 请编写一个程序,对输入的、,输出最小的。 【输入文件】 文件名:ARCH.IN 文件中只有两个整数、,且有。 【输出文件】 文件名:ARCH.OUT 文件中只有一个整数,表示使得的最小的整数。 【样例输入】 2 9 【样例输出】 5 思路: 1. 选择结构实现,第二个数整除第一个数+1(见参考程序ARCH.BAS) 2. 循环结构实现(while形式) m=1 do while a*m<=b m=m+1 loop print m 允许并列的排名(**)

在信息学奥赛辅导中我的几点做法

在信息学奥赛辅导中我的几点做法 各位老师,大家好! 首先感谢范老师给我这次机会,在这里与大家一起交流关于信息学奥林匹克竞赛辅导的一些问题,我把我的一些做法与大家共同探讨,不当之处还请各位老师能够批评指正! 信息学竞赛有NOIP(全国奥林匹克信息学竞赛联赛)和NOI(全国奥林匹克信息学竞赛)和IOI(国际奥林匹克信息学竞赛),这些竞赛首选语言都是PASCAL语言,它的特点有:严格的结构化形式,丰富完备的数据类型、运行效率高、差错能力强,有益于培养良好的程序设计风格和习惯,信息学竞赛的辅导也就是指导学生在PASCAL语言环境下进行程序设计,下面我从学生选取、辅导计划、辅导内容、辅导形式等几个方面做一下介绍: 一、选取培养对象,制定授课规划 程序设计要求学生以PASCAL语言为媒介,通过构造算法去解决由现实生活中抽象出来的各种问题。如果说计算机应用是“人脑延伸”的话,程序设计即为这种延伸的最高形式。程序设计对人的能力的要求是比较高的,也是多方面,编程者不仅要熟悉计算机语言功能,还要有娴熟的编程技术,还要具备扎实的数学基础和算法知识和相应的实践能力、创造能力。 为此,我们辅导学生首先考虑到培养对象的选取,每年新学期开始,我都会从刚入学新生中招收50名左右的学生,学生学习成绩(尤其数学成绩)在班里名列前茅,辅导他们学习Pascal语言。 大体分三个阶段,第一阶段分为三个环节,第一个环节是标识符、数据类型、语句体等基本概念,第二个环节是表达式组成和基本语句运用,第三个环节是选择、循环结构,数组类型。在这三个环节当中引导学生理解结构化程序设计的基本思想和方法。经过一个阶段的学习,有的学生接受不了这种枯燥、乏味的程序,会自动退出,很自然地就筛选掉一部分学生。 第二个阶段对剩余的同学进行集中训练,做大量的数组、循环结构的练习试题,如冒泡排序、进制转换、打印杨辉三角形、奇数魔方阵、马鞍数、数学黑洞等。这个阶段学生的语言语法熟练了以后,再逐步深入学习,我们可以依据学生的学习状态对学生进行二次选拔。选拔出优秀的学生(在培训中注意发现那些对程序设计有兴趣、有潜力、可塑性强的学生),进入第三个阶段的学习,再进行函数和过程、文件、高精度(加减乘除/输入输出/组合数),查找排序,素数判定/方程的解/因式分解,进制转换及应用,N皇后问题(回溯法)等基本算法的学习;学算法时,先让学生自己想,尝试去做;然后看标准算法和标准程序,再对比一下优劣,取长补短。基本的算法必须是牢记的。这也今后竞赛编程的基础。 每年进行的全国奥林匹克信息学竞赛联赛分为初赛和复赛时间分别为十月份和十一月份,初二学生一开学就要辅导关于数据结构的知识,包括简单一点的数据结构:栈、队列、链表等;复杂一点的数据结构:树和图,基本概念(二叉树的计数)和基本算法(最短路径等);简单的深度搜索和广度搜索;更多的算法:动态规划等;初等组合:这是信息学解题的思维方式;图论:主要是基础概念方面的,用于理解算法;数学问题:这类题目考的是数学思维,或是数学建模创造力。一定要加强实战模拟练习,提高熟练程序和解题经验。 辅导完这些就到了每年的十一月份参加NOIP(全国奥林匹克信息学竞赛联赛)。 二、注重自主性学习,辅导小组的形式多样性 信息学竞赛知识不是我们上课讲给学生的word、excel,也不是让他们制作幻灯片,而是一门语言,需要我们课外辅导,辅导时间不足,这也是我们信息学奥赛辅导难度大的一个重要原因,为了提高效率,我们应该注重自主性学习,教师是学生学习的领导者,学生才是学习过程的主体,辅导过程中强调以学生自主学习为主,刻意培养学生自主学习模式,适当引导激发兴趣,让学生感受到程序的独特魅力。当学生掌握了一些知识、产生了参与活动的兴趣,具备了一定的学习能力后,他们会急于自己获取更多的知识。

CHH信息学奥赛培训教案

PASCAL程序设计 第1章计算机的发展与应用 1.1 计算机发展简史 1.1.1 第一台电子计算机的诞生 1946年,世界上第一台数字式电子计算机由美国宾夕法尼亚大学的物理学家约翰·莫克利(John Mauchly)和工程师普雷斯伯·埃克特(PresperEckert)领导研制成功,取名为ENIAC(Electronic Numerical Integrator And Calculator)。它可以在1秒进行5000次加减运算,3毫秒便可以进行一次乘法运算,能存储20个字长为10位的十进制数。 1.1.2 计算机发展的几个阶段 第四代计算机以大规模集成电路VLSI为计算机的主要功能部件,用16K、64K或集成度更高的半导体存储器作为主存储器。 新机器要继承原有机器指令系统中的全部指令,使得同一系列计算机的指令系统越来越复杂,这些计算机被称为“复杂指令系统计算机”,简称CISC。 日趋庞大的指令系统降低了系统性能,而机器中最常常的是一些简单指令,这些指令仅占指令系统中指令总数的20%,1975年提出了精简指令系统,简称RISC。 冯·诺依曼型计算机是采用存储程序方式进行工作。 研制中的第五代计算机,是一种智能计算机,具有自动识别自然语言、图形、图像有能力,具有理解和推理能力,具有知识获取、知识更新能力。研制朝两个方向努力:①创建非冯·诺依曼式语言,LISP、PROLOG、F.P.;②创建以人脑神经系统处理信息的原理为基础的非冯·诺依曼式的计算机模型,生物计算机、光子计算机、量子计算机。 1.2 计算机对现代社会的影响 1.2.1 计算机应用概述 1、科学计算:利用计算机解决科学研究和工程技术中所提出的复杂的数学问题。 2、数据处理:利用计算机对所获取的信息进行记录、整理、加工、存储和传输等。 3、人工智能:利用计算机来模仿人类的智力活动。 4、自动控制:利用计算机对动态的过程进行控制、指挥和协调。

2014年小学信息学竞赛模拟上机试题

2014年小学信息学竞赛模拟上机试题 试题名称输入文 件名 输出文 件名 内存限制时限甜蜜的烦恼冰壶比赛分数统计平方数 space.inCurling.incount.insquare.inspace.outCurling.outcount.outsquare.out128 MB128 MB128 MB128 MB1秒1秒关于竞赛中不同语言使用限制的说明 一.关于使用Pascal语言与编译结果的说明 1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc 的编译结果为准。 2.允许使用数学库(uses math子句),以及ansistring。但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭: {$R-,Q-,S-}),也不支持与优化相关的选项。 二.关于C++语言中模板使用的限制说明 1.允许使用的部分: 标准容器中的xx集合,迭代器,串,流。 相关的头文件: 2.禁止使用的部分: 序列: vector,list,deque

序列适配器: stack,que,priority_que xx容器: map,multimap,set,multiset 拟容器: valarray 散列容器: hash_map,hash_set,hash_multimap,hash_multiset 所有的标准库算法 相关头文件: 题1.甜蜜的烦恼(space.pas/c/cpp) 【问题描述】 最近珍珍学会了使用电脑,她发现可以利用电脑解决很多事情,并且效率会快许多。比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。现在,她使用菜单命令: “编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。真是又快又准,太爽了! 今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。她想这容易解决,继续查找“李达”,没有?查找“李达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!

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

中学信息学奥林匹克竞赛培训教程 Pascal语言和程序设计基础 (第一部分)

第一部分 Pascal语言和程序设计基础 预备知识 基本程序结构和几个概念:: 标识符保留字常量变量运算符表达式标准数据类型 Pacal语言程序结构 Program prog_name; var变量申明; begin 程序体; 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(a[i]); readln; for i:=n downto 1 do write(a[i]:4); writeln; end. 以上是一个PASCAL程序。从键盘读入4个数据,逆序输出。 一般来说,一个PASCAL程序包括以下几个部分: 程序头:program pname; 其中,program是保留字,表示程序从这个地方开始,pname是标识符,是程序的名字,可由程序员自定。保留字是PASCAL选定的,具有固定意义和用法的专用单词或缩写,这些单词不允许作其它使用。如上,“program”就有“程序从这里开始”这样一种特别的意义,而“const”就有“常量说明从这里开始”的意义。我们不能再用“program”、“const”来作为其它变量、常量等的名字。标识符是以字母开头的字母数字串,其长度最大为8个字符。用来表示常量、变量、类型、文件、过程、函数和程序的名字。如“pname”、“i”、“j”、“a1”就是合法的标识符;但“1a”、“#a”是非法的标识符。有一点要注意的是,在PASCAL中,字母除了作为字符值或字符串值之外,其大小写是无关的。如标识符“A1”和“a1”在PASCLA看来是同一标识符。在PASCAL中除了保留字和自定义的标识符外,还有一类有特殊含义的标识符,这类标识符称为标准标识符。它们是用来标记程序中经常引用的处理对象,如常量、函数。(PASCAL定义的保留字和标准标识符附后) 标识符在命名的时候要注意: 1、名字要易记易读,有意义。如8皇后问题程序名可以是“queen”也可以是“huanghou”等; 2、不能用保留字、标准标识符作为自定义的标识符。 说明部分: const n=4; type ar=array [1..4] of integer; var i:integer; a:ar; 其中,const部分是常量说明,说明一些在以下部分用到的,在整个程序执行过程不改变值的量。这些量PASCAL称为常量。在程序中用到这个值的地方均用常量名来代替。如上题中定义“n=4”指本程序处理4个数值,在下面的程序体中就用“n”来代替具体的值(如for i:=1 to n)。如果要改变处理数据个数,则只在常量说明部分修改“n=4”这一句就行了,而不用在程序中每一个用到的地方都加以修改。这样不但在编写程序的时候很方便,也增加了程序的可读性,修改时更方便。

NOIP信息学奥赛普及组初赛C++试题

NOIP2016第二十二届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 竞赛时间:2016年10月22日14:30~16:30 一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项) 1.以下不是微软公司出品的软件是( )。 A.Powerpoint B.Word C.Excel D. Acrobat Reader 2.如果256种颜色用二进制编码来表示,至少需要( )位。 A.6 B.7 C.8 D.9 3.以下不属于无线通信技术的是( )。 A.蓝牙B.WiFi C.GPRS D.以太网 4.以下不是CPU生产厂商的是( )。 A.Intel B.AMD C.Microsoft D.IBM 5.以下不是存储设备的是( )。 A.光盘B.磁盘C.固态硬盘D.鼠标 6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S 和字母键D的顺序循环按键,即CapsLock、A、S、D、CapsLock、A、S、D、……,屏幕上输出的第81个字符是字母( )。 A.A B.S C.D D.a 7.二进制数00101100和00010101的和是( )。 A.00101000 B.01000001 C.01000100 D. 8.与二进制小数0.1相等的八进制数是( )。 A.0.8 B.0.4 C.0.2 D.0.1 9.以下是32位机器和64位机器的区别的是( )。 A.显示器不同B.硬盘大小不同 C.寻址空间不同D.输入法不同 10.以下关于字符串的判定语句中正确的是( ) A.字符串是一种特殊的线性表B.串的长度必须大于零 C.字符串不可以用数组来表示D.空格字符组成的串就是空串 11.一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二 叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i处、 右孩子位于下标(2i+1)处),则图中所有结点的最大下标为( ) 。 A.6 B.10 C.12 D.15 12.若有如下程序段,其中s、a、b、c均己定义为整型变量,且a、c均己赋值(c大于0)。 s=a; for (b=1;b<=c;b++) s=s+1; 则与上述程序段修改s值的功能等价的赋值语句是( )。 A. s=a+b; B. s=a+c; C. s=s+c; D. s=b+c; 13.有以下程序: #include using namespace std; int main() { int k=4,n=0; while(n

江苏信息学奥赛数据结构教程

初赛复习三数据结构 程序=算法+数据结构: 算法:对特定问题求解步骤的一种描述。他又正确性,可读性,健壮性,效率和地存储量。 算法的时间复杂度: 1.1 基本概念和术语 1.数据(data): 是对客观事物的符号的表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。 2.数据元素(data element): 是数据的基本单位,在计算机程序中通常作为一个整体来处理。一个数据元素由多个数据项(data item)组成,数据项是数据不可分割的最小单位。 3.数据结构(data structure): 是相互之间存在一种或多种特定关系的数据元素的集合。数据结构是一个二元组,记为: data_structure=(D,S).其中D为数据元素的集合,S是D上关系的集合。 数据元素相互之间的关系称为结构(structure)。根据数据元素之间关系的不同特性,通常由下列四类基本结构: (1)集合:数据元素间的关系是同属一个集合(2)线性结构:数据元素间存在一对一的关系。(3)树形结构:结构中的元素间的关系是一对多的关系。 (4)图(网)状结构:结构中的元素间的关系是多对多的关系。

1.2 数据的逻辑结构和物理结构 逻辑结构:数据元素之间存在的关系(逻辑关系)叫数据的逻辑结构。 物理结构:数据结构在计算机中的表示(映象)叫数据的物理结构。 一种逻辑结构可映象成不同的存储结构:顺序存储结构和非顺序存储结构(链式存储结构和散列结构)。 第二章 线性表 (1)了解线性表的逻辑结构是数据元素之间存在着线性关系,在计算机中表示这种关系的两种不同的存储结构是顺序存储结构和链式存储结构。 (2)熟练掌握线性表的两种存储结构:顺序存储结构和链式存储结构. (3)熟练掌握线性表的两种存储结构的基本算法:查找、插入、删除等. 1.线性表简单的定义A=(a0,a1,a2,...,an-1) (1)有且仅有一个开始结点(表头结点)a0,它没有直接前驱,只有一个直接后继; (2)有且仅有一个终端结点(表尾结点)an-1,它没有直接后继,只有一个直接前驱; (3)其它结点都有一个直接前驱和直接后继; (4)元素之间为一对一的线性关系。 设有一批整数(12,56,45,86,77,……,),如何存放呢? 下图是一个简单链表结构示意图: 其中:①每个框表示链表的一个元素,称为结点。 ②框的顶部表示了该存储单元的地址(当然,这里的地址是假想的)。 ③每个结点包含两个域:一个域存放整数,称为数据域,另一个域存放下一个结点(称为该结点的后继结点,相应地,该结点为后继结点的前趋结点)的地址。 ④链表的第一个结点称为表头,最后一个结点表尾,称为指针域; ⑤指向表头的指针head 称为头指针(当head 为nil 时,称为空链表),在这个指针变量中 存放了表头的地址。 ⑥在表尾结点中,由指针域不指向任何结点,一般放入nil 。 ⒈结点的插入 如下图所示,要在P 结点和Q 结点之间插入一个结点m,其操作如下: 只要作如下操作即可: New(m);//分配存储空间 read(m^.data); m^.next:=q; p^.next:=m; ⒉结点的删除 如下图所示,要在删除结点P 的操作如下: 要删除结点P,则只要将其 前趋结点的指针域指向P 的后 继结点即可。 q^.next:=p^.next; dispose(p);//释放存储空间 2.2环形链表结构 在单向链表中,表尾结点的指针为空。如果让表尾结点 的指针域指向表头结点,则称为单向环形链表,简称单链环。 如图所示。 type p=^ rec ;//指针 rec=record //记录型 data :integer; next:pointer; end; var head:pointer; next data P P:指针 P^:指针指向的数据 P^.data P^.next type p=^node node=record data:integer; next:p; end;

相关文档
相关文档 最新文档