请问你是想参加NOIP吗?
如果无基础,建议学PASCAL(又称教学语言),很适合入门者,其他语言可以举一反三。学完这个,再深入学习数据结构和算法设计 (另外买书)。到此时,应付比赛没大问题了。
若想再深入学习,可以转成C或C++ (看实际情况)。
至于知识要求,英语不要愁,没多少生词。
数学很难说,非常活,任何知识都可能考到,需要较强的能力。如果还有疑问再向我咨询。
下面是PASCAL的简介
Pascal是一种计算机通用的高级程序设计语言。Pascal的取名是为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。1971年,瑞士联邦技术学院尼克劳斯·沃尔斯(N.Wirth)教授发明了另一种简单明晰的电脑语言,这就是以电脑先驱帕斯卡的名字命名的Pascal语言。Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。它一出世就受到广泛欢迎,迅速地从欧洲传到美国。沃尔斯一生还写作了大量有关程序设计、算法和数据结构的著作,因此,他获得了1984年度“图灵奖”。 以法国数学家命名的Pascal语言现已成为使用最广泛的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。 正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一,NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。 ps:高级语言发展过程中,Pascal是一个重要的里程碑。Pascal语言是第一个系统地体现了E.W.Dijkstra和C.A.R.Hoare定义的结构化程序设计概念的语言。
在中国的信息学奥林匹克竞赛中,过去比较常用的Pascal编程工具是Turbo Pascal。Turbo Pascal是DOS下的一种16位编程工具,在Delphi出现之前,它是世界上最多人使用的Pascal编程工具,拥有编译速度极快的先进编译器和功能强大而又简便易用的集成开发环境(IDE),在微机程序员中广为流行,正是它的出现奠定了Pascal在DOS/Windows平台上不可动摇的根基,现在常见的版本有Turbo Pascal 5.5、Turbo Pascal 6.0和Borland Turbo Pascal with Objects 7.0。Turbo Pascal 6.0与Turbo Pascal 5.5相比,主要是IDE更为强大,而其程序设计功能改变不大,只是增加了一些新的功能,例如可以内嵌asm汇编语句等。而Borland Turbo Pascal with Objects 7.0(简称Borland Pascal 7.0)则有了新的飞跃,首先是IDE进一步加强,提供了程序浏览器,然后是程序设计功能有了很大的提升,新增了一些十分有用的标准子程序,支持比较完善的面向对象程序设计功能,并提供了DOS实模式、DOS保护模式和Windows模式三种程序编译模式,能够编写出可以使用扩充内存(XMS)的保护模式应用程序或者在Windows 3.x下运行的Windows程序,另外还提供了一个对象窗口库(OWL),使用它可以快速的开发出具有一致的视窗界面(DOS或Windows 3.x)的应用程序。Borland Pascal 7.0在1992年推出,是Turbo Pascal系列在DOS下的最后版本。
信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查参赛选手的智力和使用计算机编程解题的能力。信息学奥林匹克竞赛要求参赛选手有如下能力:针对竞赛题目中的要求构建数学模型,构造出有效的算法和选用相应的数据结构,写出高级语言程序,上机调试通过。程序设计是信息学奥林匹克竞赛的基本功,因此,青少年参与竞赛活动的第一步是必须掌握一门高级语言及其程序设计方法。 以纪念法国数学家而命名的Pascal语言是使用最广泛的计算机高级语言之一,被国际上公认为程序设计教学语言的典范。其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。正因为这些特点,Pascal语言可以被方便地用于描述各种数据结构和算法,编写出高质量的程序。尤其是对于青少年程序设计初学者,Pascal?语言有利于顺利入门,有益于从一开始培养良好的程序设计风格和习惯,越来越多的各类学校都把Pascal语言作为程序设计教学的第一语言。IOI(国际奥林匹克信息学竞赛)把Pascal语言规定为二种程序设计语言之一,?NOI(全国信息学奥林匹克竞赛)把Pascal语言定为唯一提倡的程序设计语言,NOIp(全国信息学奥林匹克联赛)把Pascal定为最主要的程序设计语言。 Pascal语言有多种版本,本教材采用的Turbo Pascal 7.0(或Borland Pacsal 7.0) 是目前PC机上使用最多的一种高效Pascal,是迄今为止DOS环境下的最高版本。Turbo Pascal 7.0 所需硬件环境是任意型号的PC机,并且仅需一台1.44M软盘驱动器(?当然有其它条件更好);最小软件系统包括Turbo.exe(集成环境)和Turbo.tpl(标准单元库)两个文件,如果包括Turbo.hlp(求助文件)则更有利于学习。Turbo Pascal 7.0可以工作在DOS操作系统或Windows操作系统环境下。 第一课 Pascal语言知识 一、Pascal 语言概述 Pascal语言是一种算法语言,它是瑞士苏黎世联邦工业大学的沃思教授于1968年设计完成的,1971年正式发表。Pascal语言是在ALGOL60的基础上发展而成的。它是一种结构化的程序设计语言。它的功能强、编译程序简单,是70年代影响最大一种算法语言。 从使用者的角度来看,Pascal语言有以下几个主要的特点: ⒈ 结构化 Pascal可以方便地书写出结构化程序。这就保证程序的正确性和易读性。在结构化这一点上,比其它算法语言更好一些。 ⒉ 数据类型丰富 Pascal提供了整数型、实型型、字符型、布尔型、枚举型、子界型以及由以上类型构成的数组类型、集合类型、记录类型和文件类型。此外,还提供了其它许多语言中所没有的指针类型。丰富的数据结构和上述的结构化性质,使得Pascal可以被方便地用来描述复杂的算法。 ⒊ 适用性好 既适用于数值运算,也适用于非数值运算领域。有些语言只适用于数值计算,有些语言则适用于商业数据处理和管理领域。Pascal的功能较强,能广泛应用于各种领域。 ⒋ 书写较自由 不象有些算法语言那样对程序的书写格式有严格的规定。Pascal允许一行写多个语句,一个语句可以分写在多行上,这样就可以使Pascal程序写得象诗歌格式一样优美,便于阅读。 由于以上特点,许多学校选Pascal作为程序设计课程中的一种主要的语言。它能给学生严格而良好的程序设计的基本训练。培养学生结构化程序设计的风格。
二、Pascal语言程序的基本结构
任何程序设计语言都有一定的规则。使用Pascal语言必须遵循其本身所规定的规则来编写程序。尽管不同版本的Pascal语言所采用的符号的数量、形式不尽相同,但其基本成分一般都符合标准Pascal的规定。下面我们首先来了解Pascal语言的程序基本结构。 为了明显起见,先举一个最简单的Pascal程序例子: 【例1】 program li1(input,output); {程序首部} const pi=3.1415926; {程序体 说明部分} var r,l,s:real; begin {执行部分} write(‘input r:’); readln(r); s:=pi*r*r; l:=2*pi*r; writeln(‘s=’,s); writeln(‘l=’,l); readln; end.{ 程序体} 从这个简单的程序可以看到: ⒈ 一个Pascal程序分为两个部分:程序首部和程序体(或称分程序)。 ⒉ 程序首部是程序的开头部分,它包括: ⑴程序标志。用"program"来标明这是一个Pascal 程序。Pascal规定任何一个Pascal程序的首部都必须以此字开头。在Free Pascal语言中,首部也可省略。 ⑵程序名称。由程序设计者自己定义,如例中的li1。在写完程序首部之后,应有一个分号。 ⒊ 程序体是程序的主体,在有的书本里也称"分程序"。程序体包括说明部分(也可省略)和执行部分两个部分。 ⑴说明部分用来描述程序中用到的变量、常量、类型、过程与函数等。本程序中第二行是"变量说明",用来定义变量的名称、类型。 Pascal规定,凡程序中用到的所有变量、符号常量、数组、过程与函数、记录、文件等数据都必须"先说明,再使用"。 ⑵执行部分的作用是给出需要计算机执行的操作。 执行部分以"begin"开始,以"end"结束,其间有若干个语句,语句之间以分号隔开。执行部分之后有一个句点,表示整个程序结束。 ⒋ Pascal程序的书写方法比较灵活。书写程序应结构清晰、容易阅读理解。在编写程序时希望读者尽量模仿本书中例题程序格式。 ⒌ 在程序中,一对大括号间的文字称为注释。注释的内容由人们根据需要书写,可以用英语或汉语表示。注释可以放在任何空格可以出现的位置。执行程序时计算机对注释不予理睬。
参考资料:http://baike.baidu.com/view/9355.htm