信息技术与信息学竞赛汪长喜 主编作者简介、书籍目录、内容摘要、编辑推荐

内容概要

  本书主要包括信息技术和信息学基础模块、程序设计语言Pascal模块、算法与程序设计模块、历届全国信息学奥林匹克联赛复赛试题及算法分析和程序等内容。
  本书共有5章。第1章介绍信息技术和信息学基础知识,第2章介绍Pascal语言知识,第3章介绍算法与程序设计;第4章介绍历届全国信息学奥林匹克联赛初赛试题及解答,第5章介绍历届全国信息学奥林匹克联赛复赛试题及算法分析和程序。本书针对中学生最关心的信息学问题,从试题题型、测试重点、复习策略、应试技巧和全国历届初(复)赛试题等各个方面作了介绍。
  本书适用于初、高中信息技术或信息学奥林匹克联赛的教材,也可作为信息学奥林匹克联赛的基础培训教材。

  作者简介

  汪长喜,学术兼职:中国计算机学会会员、东北三省重点中学计算机统编教材编委、黑龙江省教育学会会员、全国信息学奥林匹克竞赛黑龙江省赛区复赛组织委员会成员、大庆市2007年秋季普通高中新课程实验教材信息技术选用委员会成员。

  著译作品:1999年参加东北三省重点中学

  书籍目录

  第1章 基础模块 1.1 计算机数的表示
  1.1.1 计算机是智能化的电器设备
  1.1.2 二进制数的运算法则
  1.1.3 十进制与二进制、八进制、十六进制数之间的相互转换
  1.1.4 数的定点和浮点表示法
  1.1.5 ASCII编码
  1.1.6 原码、反码与补码 1.2 计算机的发展趋势 1.3 网络基础
  1.3.1 计算机网络
  1.3.2 因特网提供的服务
   1.3.3 因特网上的信息传输
  1.3.4 万维网
  练习题 第2章 程序设计语言模块 2.1 初识Pascal语言
  2.1.1 Pascal语言概述
   2.1.2 Pascal语言的特点
  2.1.3 Pascal语言程序的基本结构
  2.1.4 字符集
  2.1.5 符号
  2.1.6 数据类型的概念 2.2 Pascal语言的基础知识
  2.2.1 常量
  2.2.2 常理定义
  2.2.3 变量
  2.2.4 标准数据类型
  2.2.5 Pascal常用的算术标准函数
  2.2.6 字符类型
  2.2.7 布尔类型
  2.2.8 表达式
  练习题
  2.3 顺序结构程序设计
  2.3.1 赋值语句
  2.3.2 读语句(输入语句)
  2.3.3 写语句(输出语句)
  2.3.4 整形类型变量输出
  2.3.5 应用例析
  练习题
  2.4 简单的分支结构程序设计
  2.4.1 Pascal中的逻辑运算
  2.4.2 布尔常量和布尔变量
  2.4.3 布尔表达式
  2.4.4 if语句(条件语句)
  2.4.5 条件语句嵌套
  2.4.6 case语句(分情况语句)
  练习题 2.5 循环结构程序设计
  2.5.1 用for语句实现循环结构(计数型循环)
  2.5.2 用while语句实现循环结构
  2.5.3 用repeat-until语句实现循环结构
  2.5.4 循环的嵌套
  练习题
  2.6 数组类型
  2.6.1 引入数组的必要性
  2.6.2 一维数组的定义
  2.6.3 一维数组类型常数定义
   2.6.4 一维数组变量的赋值操作
  2.6.5 多维数组
  2.6.6 字符数组与字符串类型
  练习题
  2.7 字符与字符串处理
  2.7.1 字符、字符串类型的使用
  2.7.2 字符串的操作
  2.7.3 字符串的函数和过程 2.8 枚举、子界、集合及记录类型
  2.8.1 枚举类型
  2.8.2 Pascalr 的类型概念
  2.8.3 枚举类型的定义、运算规则和输入输出方法
  ……第3章 算法与程序设计模块第4章 历届全国信息学奥林匹克联赛复赛试题及算法分析和程序

  章节摘录

  第3章 算法与程序设计模块3.1 算法算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。常用的算法:列举了穷举搜索、递归、回溯、递推、模拟、分治、贪心、深度优先搜索、广度优先搜索等几种较为常用的算法,没有做过多的描述,一旦给出具体描述,容易使内容加深,产生严重学科取向的引导,符合教育部普通高中课程方案的特点,对于这些必需的方法和思想,关键不在于学生能不能,而在于教师是否想到,是否有过关注,引发学生对系统方法和思想的思考,重视建立编程思想,强化编程习惯的培养。3.1.1 算法的5个重要特性1.有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。2.确定性:算法中每一条指令必须有确切的含义,不会产生二义性。并且在任何条件下,算法只有唯一的一条执行路径。3.可行性:一个算法是能行的。即算法中描述的操作是执行有限次运算来实现的。 4.输入:一个算法有零个或多个输入。5.输出:一个算法有一个或多个输出。3.1.2 算法设计的要求通常设计一个“好”的算法,应考虑达到以下目标。1.正确性:算法应当满足具体问题的需求。2.可读性:算法主要是为了人的阅读与交流,其次才是机器执行。可读性好有助于人对算法的理解。3.健壮性:当输入数据非法时,算法也能适当地做出反应或进行处理,而不会产生莫明其妙的输出结果。 4.效率与低存储量需求。效率指的是算法执行时间。对于同一个问题如果有多个算法可以解决,执行时间短的算法效率高。低存储量需求指算法执行过程中所需要的最大存储空间。3.1.3 算法分析算法分析的任务是对设计出的每一个具体的算法,利用数学工具,讨论各种复杂度,以探讨某种具体算法适用于哪类问题,或某类问题宜采用哪种算法。 算法的复杂度分时间复杂度和空间复杂度。时间复杂度是在运行算法时所耗费的时间为f(n)(即 n的函数)。空间复杂度是实现算法所占用的空间为g(n)(也为n的函数)。称O(f(n))和O(g(n))为该算法的复杂度。 3.1.4 程序设计1.程序程序是对所要解决的问题的各个对象和处理规则的描述,或者说是数据结构和算法的描述,因此有人说,数据结构+算法=程序。2.程序设计程序设计就是设计、编制和调试程序的过程。程序设计是一门技术,需要相应的理论、技术、方法和工具来支持。就程序设计方法和技术的发展而言,主要经过了结构化程序设计和面向对象的程序设计两个阶段。除了好的程序设计方法和技术之外,程序设计风格也很重要。因为程序设计风格会深刻影响软件的质量和可维护性,良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护。因此,程序设计风格对保证程序的质量很重要。一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序是由人来编写的,为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应该强调简单和清晰,必须可以理解。可以认为,著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。要形成良好的程序设计风格,主要应注重源程序文档化。(1)符号名的命名:符号名的命名应具有一定的实际含义,以便于对程序的功能进行理解。(2)程序注释:正确的注释能够帮助读者理解程序。3.结构化程序设计结构化程序设计方法是程序设计的先进方法和工具。采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护。结构化程序语言仅使用顺序、选择和循环3种基本控制结构就足以表达出各种其他形式结构的程序设计方法。总之,遵循结构化程序的设计原则,按结构化程序设计方法设计出的程序具有明显的优点。其一,程序结构良好、易读、易理解和易维护;其二,可以提高编程工作的效率,降低软件开发成本。

  编辑推荐

  《信息技术与信息学竞赛》由清华大学出版社出版。