信息奥赛培训材料_第1页
信息奥赛培训材料_第2页
信息奥赛培训材料_第3页
信息奥赛培训材料_第4页
信息奥赛培训材料_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

信息奥赛培训材料信息奥赛培训材料 赣榆县华杰双语学校信息技术奥赛培训材料辅导老师朱传松培训地 点二楼机房xx 9信息奥赛培训材料时间地点辅导老师培训内容备注 第一讲Pascal语言概述与Pascal程序的组成 一 Pascal语言概述Pascal是一种计算机通用的高级程序设计语言 其主要特点有严格的结构化形式 丰富完备的数据类型 运行效率 高 查错能力强 Pascal语言有益于培养良好的程序设计风格和习惯 NOI 全国奥林匹克信息学竞赛 把Pascal语言定为唯一提倡的程序设 计语言 二 Pascal的启动找到Pascal目录 进去后双击bp exe让其执行即 可 三 Pascal工作界面几个常用的功能键F2保存F3打开Alt F9编译Ct rl F9运行 四 Pascal程序基本组成例1 1计算半径为R的圆面积S programArea 程序首部 已知半径求圆的面积 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是保留字 接着是程序名 由字母和数字组成 并且以字母 打头 最后以分号表示程序首部结束 下面是程序主体的开始 2 程序体a 说明部分说明部分用于定义和说明程序中用到的数据 由单元说明 标号说明 常量说明 类型说明 变量说明 函数或 过程说明组成 并且这些数据的说明次序必须按照以上次序 但是一个简单的Turbo Pascal程序也可以不包含说明部分 也就是说说明部分是可选的 b 执行部分执行部分描述了程序要执行的操作 它必须以一个Pascal保留字begin开始 以保留字end后跟句点结束 其间是一些执行具体操作的语句 并且以分号作为语句之间的分 隔符 begin和end必须成对出现 这是一个Pascal程序所必须有的 紧跟end之后的句号表示执行部分的结束 也表示整个程序的结束 此后的任何语句都无效 3 一个完全的Pascal程序结构program程序名 uses已知单元说明 label标号说明 const常量说明 type类型说明 var变量说明 function函数说明 procedure过程说明 begin语句 语句 语句end 信息奥赛培训材料时间地点辅导老师培训内容备注程序设 计的常用预备知识 关键字 标识符 数据类型 常量变量 函 数 算术符与表达式2 1Pascal的保留关键字和标识符1 保留字 关 键字 所谓保留字是指在Pascal语言中具有特定的含义 你必须了解 它的含义 以便于正确的使用 否则会造成错误 标准Pascal语言中的保留字一共有35个 它们不能用作程序名或变 量名 下面是Pascal语言的保留字 AND ARRAY BEGIN CASE CONST DI V 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 W ITH 标识符 1 标识符的定义标识符就是以字母开头的字母数字序列 有效长度 为63个字符 并且大小写等效 可以用来标示常量 变量 程序 函数等 2 标识符的分类a 标准标识符指Pascal语言预先定义的标识符 具 有特殊含义 以下列举了Pascal语言部分常用的标准标识符标准常量False True标准类型Boolean CharReal Integer标准函数Abs SqrSqrt标准过程Read ReadlnWrite Writeln标准文件Input Outputb 用户字定义标识符由用户自己根据需要定义的标识符 1 选用的标识符不能和保留字相同 2 在定义标识符时应注意 见名知义 的原则 即用有含义的英 文单词或汉字拼音来作为名字 2 2Pascal的数据类型Pascal提供了丰富的数据类型 这些数据类型 可以分为三大类简单类型 构造类型和指针类型 其中简单类型可 以分为标准类型 整型 实型 字符型和布尔型 和自定义类型 枚举型和子界型 构造类型可以分为数组类型 集合类型 记录 类型和文件类型 在这里主要介绍整型 实型 字符型和布尔型四种常用的数据类型 类型符号取值范围信息奥赛培训材料时间地点辅导老师培训内容备 注程序设计的常用预备知识 关键字 标识符 数据类型 常量 变量 函数 算术符与表达式2 1Pascal的保留关键字和标识符1 保 留字 关键字 所谓保留字是指在Pascal语言中具有特定的含义 你 必须了解它的含义 以便于正确的使用 否则会造成错误 标准Pascal语言中的保留字一共有35个 它们不能用作程序名或变 量名 下面是Pascal语言的保留字 AND ARRAY BEGIN CASE CONST DI V 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 W ITH 标识符 1 标识符的定义标识符就是以字母开头的字母数字序列 有效长度 为63个字符 并且大小写等效 可以用来标示常量 变量 程序 函数等 2 标识符的分类a 标准标识符指Pascal语言预先定义的标识符 具 有特殊含义 以下列举了Pascal语言部分常用的标准标识符标准常量False True标准类型Boolean CharReal Integer标准函数Abs SqrSqrt标准过程Read ReadlnWrite Writeln标准文件Input Outputb 用户字定义标识符由用户自己根据需要定义的标识符 1 选用的标识符不能和保留字相同 2 在定义标识符时应注意 见名知义 的原则 即用有含义的英 文单词或汉字拼音来作为名字 2 2Pascal的数据类型数据是程序设计的一个重要内容 其重要特征 数据类型 确定了该数据的形 取值范围以及所能参与的运算 Pascal提供了丰富的数据类型 这些数据类型可以分为三大类简单 类型 构造类型和指针类型 其中简单类型可以分为标准类型 整 型 实型 字符型和布尔型 和自定义类型 枚举型和子界型 构造类型可以分为数组类型 集合类型 记录类型和文件类型 在这里主要介绍整型 实型 字符型和布尔型四种常用的数据类型 类型符号取值范围整型Integer 32768 32767实型Real2 9e 39 1 7e38布尔型Boolean false和true字符型Char字符型必须用单引号括起来信息奥赛培训材 料时间地点辅导老师培训内容备注顺序结构程序设计3 1赋值语句赋 值语句是最简单的语句 其一般形式为 赋值语句 的作用是计算表达式的值 并赋给变量 对于任何一个变量必须首先赋值 然后才能引用 否则 未赋初值 的变量将以一个随机值参与运算 另外 赋值号两边的类型必须相同 例关于赋值的例子program example var a b integer begin a 3 b 2 writeln a writeln b a a b writeln a writeln b b a b writeln a writeln b a a b writeln a writeln b readln end 3 2输入语句通过计算机的外设把数据送到计算机内存的过程称 为输入 Turbo Pascal语言的输入语句有如下两种形式read readln 是一个或几个由逗号隔开的变量标识符 他们必须在程序说明部分预先说明 他们可以是整型 实型或字符 型 布尔型不可以直接读入 例如a b c为整型变量 read a b c 之后键盘输入203040结果a 2 0 b 30 c 40readln语句和read语句不同之处在于输入数据到各变 量之后 readln自动换行 从下一行开始再输入数据 一个read语句执行完后 数据行中多余的未读数据可以被下一个输 入语句读入 而一个readln于执行完后 数据行中多余未读数据就 没有用了 readln语句中可以不包含变量名表 即有以下等价情况readln a b readln等价于readln a b 输入语句 输入的数据类型必须和变量一一对应 如果输入的是一串整数或实数 数据间用空格或回车分隔 若输入 的是一串字符 则不用分隔 例输入语句示例program shuru var x real c char begin write please inputthe number XXX XX readln c x writeln The priceis c x end 信息奥赛培训材料时间地点辅导老师培训内容备 注3 3输出语句输出是将内存中的数据送到外设的过程 Pascal的输出语句有两种形式write writeln 其中是一串用逗号分隔的常量 变量 函数名 表 达式或字符串 如果是变量 函数名 表达式 则将其计算结果输出 如果是常量 或字符串 则直接输出其值 writeln和writeln的区别在于write语句是输出项输出后 不换行 光标停留在最后一项后 writeln语句按项输出后 自动换行 光标 则停留在下一行的开始位置 writeln语句允许不含有输出项 即仅writeln 表示换行 Pascal语言把输出项的数据显示占用的宽度称为域宽 你可以根据 输出格式的要求在输出语句中自动定义每个输出项的宽度 定义宽度时分为单域宽和双域宽 1 单域宽输出格式 用于科学计数法 writeln I n 在n个字符宽的输出域上按右对齐方式输出I的值 若n大于I的实 际位数 则在I值前面补 n I的实际位数 个空格 若I的实际位数大于n 则自动突破限制 n必须是整数 2 双域宽输出格式 用于小数形式输出 writeln a mn 双域宽主要用于实型数据的输出 M表示小数点前面的位数 n表示小数点后面的位数 例输出语句的例子program shuchu const s pascal var i integer r real c char b boolean begin i 12345 r 123 45c a b true writeln i writeln i 6 writeln r r 6 1 writeln c c 10 writeln b b 10 e nd 3 4复合语句复合语句是由若干语句组成的序列 语句之间用分 号 隔开 并且以begin和end括起来 作为一条语句 复合语句的一般形式begin语句1 语句2 语句n end例变量值 的交换program jiaohuan var a b t integer begin a 10 b 20 begin t a a b b t end writeln a a b b end 信息奥赛培训材 料时间地点辅导老师培训内容备注4 1IF语句IF语句是由一个布尔表 达式和两个供选择的操作序列组成 运行时根据布尔表达式求值结果 选取其中之一的操作序列执行 有两种形式的IF语句类型一ifthen 类型二ifthenelse 当布尔表达式的值为真 则 执行then后面的语句 值为假时有两种情况要么什么也不做 要么 执行else后面的语句 注意else前面没有分号 因为分号是两个语句之间的分隔符 而els e并非语句 如果在该处添了分号 则在编译的时候就会认为if语句到此结束 而把else当作另一句的开头 输出出错信息 例根据学生的成绩给予相应的等级 对应关系如下 以下 Program Score Var S real Ch char Begin Writeln Please inputScore Readln s If s 90 and s80 and s60 and s 79 then ch C If s0时候 计算x x 并且输出x和x x program lianxie3 var x x1 real begin readln x x if x 0then begin x1 x x writeln x x x1 writeln x x end end 当if语句 嵌套时 Pascal约定else总是和最近的一个if配对 4 2case语句case语句是由一个表达式和众多可选择的操作序列组成 运行时 根据表达式的求值结果 在众多的分支中选取一个分支执 行 其形式为case表达式of常量1语句1 常量n语句n else语句n 1 可 选项 end 表达式只能是顺序类型 除了实型以外的简单类型 其值必须是唯一确定并且和常量类型相同 case语句执行和表达式值相匹配的case常数所指向的那条语句 如 果没有相匹配的值 则执行else部分 如果有的话 或者什么也不 做 在else前面的语句末尾有分号 这是和if语句不同的 以下 program chengji var s real ch char begin write Please inputthe score readln s if s 0 and sb then交换a与b2 2 if b c then交换b与c2 3 if a b then交换a与b通过2 1步 将使a中的数小于b中的数通过2 2步 将使b中的数小于c中的数 因而现在c中放的是最大的数由于通 过2 2步的交换 a中的数可能不再b中的数 因而应执行2 3步 以保证a小于b源程序为了交换两个数 需引入中间变量temp programbijiao var a b c temp real begin writeln Please inputthree number readln a b c if a b then begin temp a a b b temp end if b c thenbegin temp b b c c temp end if a b thenbegin temp a a b b temp end writeln a b c readln end 信息奥赛 培训材料时间地点辅导老师培训内容备注循环结构程序设计6 1For 语句for语句用来描述已知重复次数的循环结构 for语句有两种形式 1 for控制变量 初值to终值do语句 2 for控制变量 初值downto终值do语句 第一种形式的for语句是 递增循环 首先将初值赋给控制变量 接着判断控制变量的值是否小于或等于 终值 若是 则执行循环体 在执行了循环体之后 自动将控制变 量的值该为它的后继值 并重新判断是否小于或等于终值 当控制变量的值大于终值时 退出for循环 执行for语句之后的语 句 第二种形式的for语句是递减循环 首先将初值赋给控制变量 接着判断控制变量的值是否大于或等于 终值 若是 则执行循环体 在执行了循环体之后 自动将控制变 量的值该为它的前趋值 并重新判断是否大于或等于终值 当控制变量的值小于终值时 退出for循环 执行for语句之后的语 句 for语句中的初值 终值 控制变量的数据都必须是顺序类型 当初值和终值确定后 重复的次数就确定不变了 并且控制变量在 重复语句内不能施加任何赋值操作 例计算1 2 3 99 100program jia var n sum integer begin sum 0 for i 1to100do sum sum i writeln sum end 6 2while语句while语句用于 当满 足某一条件时进行循环 的情况 while语句的语法格式while布尔表达式do语句 循环结束条件在进 入循环体之前测试 若最初的测试值为false 则根本不进入循环体 也就是说while循环是是属于当型循环 为了能使while重复能终止 循环体中一定要有影响布尔表达式的操 作 否则该循就是一个死循环 例计算从 到某个数之间所有奇数的和 program jishu var odds limit sum integer begin readln limit sum 0 odds 1 while odds limit dobegin sum sum odds odds odds 2end writeln sum 1 end 信息奥赛培 训材料时间地点辅导老师培训内容备注6 3repeat语句repeat语句用 于 重复执行循环体 一直到指定的条件为真时为止 语法格式为repeat语句1 语句n until布尔表达式 repeat重复 基本上有和while重复一样的描述循环计算的能力 但有一些不同在 repeat语句的结构中 布尔表达式求值在计算操作之后 而while语 句中 布尔表达式求值在计算操作之前 也就是说repeat至少执行 一次循环体 while语句的成分语句只能是一个语句 因此 当重复动作包含多个语句时 要用begin和end 使它变成一 个复合语句 而repeat语句的保留字repeat和until已经起语句括号作用 可以包 含多个语句而无须begin和end repeat语句中 当布尔表达式为true时结束循环 而while语句中 是当表达式为false时才结束循环 当描述由计算操作后的情况确定重复是否继续进行的计算时 通常 用repeat语句描述 6 4goto语句goto语句是一种无条件转向语句 它可以控制直接从程 序的一条语句转向另一条语句 goto语句的语法形式为goto标号 其中标号必须是不超过 位整数 的正整数或标识符组成 但标号必须在说明语句中先予以说明 goto语句会使程序出现一种称为 乱面条 的结构 因此你最好还 是不要去用 练习 1 计算1 2 3 50的积 2 百钱买百鸡 是我国古代的著名数学题 题目这样描述3文钱可以买1只公鸡 2文钱可以买一只母鸡 1文钱 可以买3只小鸡 用100文钱买100只鸡 那么各有公鸡 母鸡 小鸡多少只 要求用 循环结构程序设计计算出各有公鸡 母鸡 小鸡多少只 信息学奥 赛第七讲枚举型 子界型 函数与过程 集合与记录 指针 一 枚举型和子界型7 1 1类型定义类型定义的语法格式type 7 1 2枚举类型通过预定义列出所有值的标识符来定义一个有序集合 这些值的次序和枚举类型说明中的标识符的次序是一致的 枚举类型的形式 标识符1 标识符n 例如daystype sunday monday tuesday wednesday thursday friday saturday 枚举元素 只能是标识符 而不能是数值常量或字符常量 例如以下的定义是错误的type daystype sun mon tue wed thu fri sat 枚举元 素是标识符 不要把作为枚举元素的标识符视作变量名 它不能被 赋值 同一个枚举元素不能出现在两个或两个以上的枚举类型定义中 例如以下的定义是错误的type daytype1 monday tuesday daytype2 monday wednesday 可以 将枚举类型的定义和变量的定义结合在一起 例如var a monday tuesday sunday 枚举类型属于顺序类型 根据定义类型时各枚举元素的排列顺序确定它们的序列 序列号从0 开始 例如已经定义daystype ord sunday 0 su sunday monday pred friday thursday Turbo Pascal不允许直接读写枚举值 所以枚举值的输出常用case语句间 接的输出 枚举值的输入 则要一一判断读入字符是否是枚举类型的标识符 若是才能赋给枚举变量 否则就会出错 例如枚举值的输出case dayof sunday write sunday monday write monday tuesday write tuesday wednesday write wednesday thursday write th ursday friday write friday saturday write saturday end type信息奥赛培训材料时间地点辅导老师培训内容备注7 1 3子 界类型子界类型是由整型 字符型 枚举型 布尔型的两个常量指 定该类型的值域区间 子界类型的形式常量 常量两个常量必须是同一种顺序类型 例如a b 要求a b例如type a 1 3 b a d 可以将子界类型的定义和变量的定义结合在一 起 例如var a 1 9例按月 日 年顺序读入一日期 输出该日期是这一年中 的第几天 program date var year 0 xx month i 1 12 day 1 31 dayth integer begin read month day year dyath 0 for i 1to month 1do casei of1 3 5 7 8 10 12 dayth dayth 31 2 if year mod4 0 and year mod1000 or year mod400 0 then dayth dayth 29else dayth dayth 28 4 6 9 11 dayth dayth 30 end dayth dayth day writeln dayth end 二 函数和过程7 2 1函数如果一个子程序执行后能够返回其结果值 那么它就可以用于表达式中 称这种子程序为函数 这种语句序 列的定义称为函数说明 函数说明形式如下function函数名 形式参数表 函数类型 说明部 分 begin语句1 语句2 语句n end函数返回一个函数值 过程则能完成一系列各种操作 函数的调用方式出现在表达式中 而过程调用是一句独立的语句 例计算 X 的函数function zhoufei x real real var z integer begin ifx 0then z x elsez x zhoufei z end Turbo Pascal规定一个函数只能求出一个简单值 7 2 2过程给某个语句序列组成的子程序赋于一个适当的名字 程序中凡是需要出现这个语句序列的地方 可以简单的写上子程序 的名字 这种完成一个操作的子程序称为过程 子程序的定义称为过程说明 过程说明由过程首部和过程体组成 其形式如下procedure过程名 形式参数表 过程首部说明部分 begin执行语句 end 例输出两个数中最大值 的过程procedure largest a b integer begin ifa b thenwriteln a else writeln b end 信息奥赛培训材料时间地点辅导老师培训内容备注 三 集合与记录7 3 1集合以已知序数类型值的集合为值 所构成的 类型是集合类型 称已知序数类型为基类型 集合类型的定义形式为集合类型名 set of基类型基类型中不能超过256个可能值 且它们的序数值应在0 255之间 表示一个集合值的最通用的方法是逐个枚举集合的元素 下面是集合值标记的例子 3 9 15 20 由3 9 15 20组成的 集合 空集 l p z 由字符l m n o p z组成的集合 两个相连的集合对象之间 可以通过下列运算符进行运算集合运算 符 产生一个包含两个集合元素的集合 产生一个只包含两个集合元 素公共元素的集合 产生一个包含所有属于第一个集合 但不属于第二个机和的元素的 集合例如 A B C D 等于 A B C D A B C A 等于 A A B C A 等于 B C 关系运算符 检查两个集合所包含的元素相同检查两 个集合不相等 检查第一个集合中的元素包含第二个集合中的所有元素in检查集合 基类型的一个元素属于集合例如 A B C A B C 等于true A B C C B A 等于FALSE7 3 2记录记录是描述同一对象的一组类型可能 不同的数据的集合 使用记录类型实现了数据逻辑关系和存放形式上的一致 定义记录类型的一般形式记录类型名 record域名1类型1 域名2类 型2 域名m类型m end 例如表示学生信息的记录定义type stype record name string 20 number integer sex male female class 1 2 0address string end 域为记录类型的元素 记录的每个域都有名称 不同域的数据类型可以各不相同 这一点 是数组所不能做到的 引用记录变量的元素采用以下标记法 1 直接引用 其形式为记录变量名 域名例如var str1 str2 stype 则str1 name表示学生str1的姓名 str2 sex表示 学生str2的性别 2 使用with开域语句 其形式为with记录变量名do语句在with语句 中 引用记录变量名不再冠以记录变量名 以简化对记录中域的引 用写法 例如描述100个学生的数据信息 引入元素类型为stype的数组stude nts var students array 1 100 of stype number of boy number of girl k integer 例如下面是一段 统计一个班级中男生人数和女生人数的程序 begin number of boy 0 number of girl 0 for k 1to100do withstudent k do ifsex male thennumber of boy number of boy 1else number of girl number of girl 1end with语句的嵌套结构的一 般形式withdo withdo withdo 上面的嵌 套格式也可以简写为withdo 信息奥赛培训材料时间地点辅导老师培训内容 备注 四 指针7 4 1指针的动态变量1 定义指针类型在Pascal中 指针 变量中存放的某个存储单元的地址 即指针变量指向某个存储单元 一个指针变量仅能指向某一种类型的存储单元 这种数据类型是在 指针类型的定义中确定的 称为指针类型的基类型 指针类型定义如下类型名 基类型名 例如type q integer var a b c q 说明q是一指向整型存储单元的指针类型 其中 为指针 符 a b c均定义为指针变量 分别可以指向一个整型存储单元 上例也可定义为var a b c integer 指针也可以指向有结构的存储单元 例如type person record name string 10 sex male female age 20 70end var pt person pt为指向记录类型person的指针变量 2 动态变量应用一个指针指向的动态存储单元即动态变量的形式如 下指针变量名 例如p q r 指针变量p和它所指向的动态变量 p 之间有如下关系P P 以下语句把整数5存放到p所指向的动态变量p 中去p 5 以下语句把p所指向的p 中的值赋给整型变量i i p 如果指针变量p并未指向任何存储单元 则可用下列赋值语句 p nil 其中nil是TurboPascal保留字 表示 空 相当于C里面 的null7 4 2对动态变量的操作在Turob Pascal程序中 动态变量不能由var直接定义而是通过调用标准过程 new建立的 过程形式为new 指针变量名 如果有下列变量定义语句var p integer 仅仅说明了p是一个指向整型变量单元的指针变量 但 这个整型单元并不存在 在指针变量p中还没有具体的地址值 在程序中必须通过过程调用语句new p 才在内存中分配了一个整型 变量单元 并把这个单元的地址放在变量p中 一个指针变量只能存 放一个地址 在同一时间内一个指针只能指向一个变量单元 当程序再次执行new p 时 又在内存中新建立了一个整型变量单元 并把新单元的地址存放在p中 从而丢失了旧的变量单元的地址 为了节省内存空间 对于一些已经不使用的现有动态变量 应该使 用标准过程dispose予以释放 过程形式为dispose 指针变量名 为new 指针变量名 的逆过程 其作用是释放由指针变量所指向的动态变量的存储单元 例如在用了new p 后在调用dispose p 则指针p所指向的动态变量 被撤销 内存空间还给系统 这时p的值为nil 例输入两个数 要求先打印大数后打印小数的方式输出 用动态变 量做 program dongtai type intepter integer var p1 p2 intepter procedure swap var q1 q2 intepter var p integer begin p q1 q1 q2 q2 p end begin new p1 new p2 writeln input2data readln p1 p2 if p1 writeln output2data p1 4 p2 end 信息奥赛培训材料 时间地点辅导老师培训内容备注第十二届全国青少年信息学奥林匹 克联赛初赛试题 一 单项选择题 共10题 每题1 5分 共计15分 每题有且仅有一个正确答案 1 在以下各项中 不是CPU的组成部分 A 控制器B 运算器C 寄存器D ALUE RAM2 BIOS 基本输入输出系统 是一组固化在计算机内 上一个ROM芯片上的程序 A 控制器B CPU C 主板D 内存条E 硬盘3 在下面各世界顶级的奖项中 为计算机科 学与技术领域作出杰出贡献的科学家设立的奖项是 A 沃尔夫奖B 诺贝尔奖C 菲尔兹奖D 图灵奖E 南丁格尔奖4 在编程 时 使用任一种高级语言 不一定是Pascal 如果需要从磁盘文 件中输入一个很大的二维数组 例如1000 1000的double型数组 按行读 即外层循环是关于行的 与按列读 即外层循环是关于列 的 相比 在输入效率上 A 没有区别B 有一些区别 但机器处理速度很快 可忽略不计C 按 行读的方式要高一些D 按列读的方式要高一些E 取决于数组的存储 方式 5 在Pascal语言中 表达式 21xor2 的值是 A 441B 42C 23D 2 4E 256 在Pascal语言中 判断a不等于0且b不等于0的正确的条件 表达式是 A nota 0ornotb 0B not a 0 and b 0 C not a 0an db 0 D a0 or b0 E a0 and b0 7 某个车站呈狭长形 宽度只能容下一台车 并且只有一个出入口 已知某时刻该车站状态为空 从这一时刻开始的出入记录为 进 出 进 进 进 出 出 进 进 进 出 出 假设车辆入站的顺序为1 2 3 则车辆出站的顺序为 A 1 2 3 4 5B 1 2 4 5 7C 1 4 3 7 6D 1 4 3 7 2E 1 4 3 7 58 高度为n的均衡的二叉树是指如果去掉叶结点及相应的树枝 它应该 是高度为n 1的满二叉树 在这里 树高等于叶结点的最大深度 根结点的深度为0 如果某个 均衡的二叉树共有2381个结点 则该树的树高为 A 10B 11C 12D 13E 210 19 与十进制数1770 625对应的八进制数是 由OIFans 收集A 3352 5B 3350 5C 3352 1161D 3350 1151E 前4个 答案都不对10 将5个数的序列排序 不论原先的顺序如何 最少都 可以通过 次比较 完成从小到大的排序 A 6B 7C 8D 9E 10 二 不定项选择题 共10题 每题1 5分 共计15分 每题正确答案的个数大于或等于1 多选或少选均不得分 11 设A B D true C E false 以下逻辑运算表达式值为真的有 A A B C D EB A B C D E C A B C D E D A B C D E12 xx 16 32 8的结果是 A 8234 10B 202A 16C 100000000110 2D 2042 1613 设栈S的初始状态为空 元素a b c d e依次入栈 以下 出栈序列不可能出现的有 A a b c e dB b c a e d C a e c b dD d c e b a14 已知6个结点的二叉树的先根遍历是123 456 数字为结点的编号 以下同 后根遍历是325641 则该二叉 树的可能的中根遍历是 由OIFans 收集A 321465B 321546C 2315 46D 23146515 在下列各数据库系统软件中 以关系型数据库为主体 结构的是 A ACCESSB SQLServer C OracleD Foxpro16 在下列各软件中 属于NOIP竞赛 复赛 推荐 使用的语言环境有 A g g B TurboPascal C TurboCD freepascal17 以下断电之后将不能保存数据的有 A 硬盘B ROMC 显存D RAM18 在下列关于计算机语言的说法中 正确 的有 A Pascal和C都是编译执行的高级语言B 高级语言程序比汇编语言程 序更容易从一种计算机移植到另一种计算机上C C 是历史上的第一 个支持面向对象的计算机语言D 高级语言比汇编语言更高级 是因 为它的程序的运行效率更高19 在下列关于计算机算法的说法中 正 确的有 A 一个正确的算法至少要有一个输入B 算法的改进 在很大程度上 推动了计算机科学与技术的进步由OIFans 收集C 判断一个算法的好 坏 主要依据它在某台计算机上具体实现时的运行时间D 目前仍然 存在许多涉及到国计民生的重大课题 还没有找到能够在计算机上 实施的有效算法20 在下列关于青少年信息学竞赛的说法中 你赞成 的是 本题不回答为0分 答题一律满分 A 举行信息学竞赛的目的 是为了带动广大青少年学科学 爱科学 为造就一大批优秀的计算机科学与技术人才奠定良好的基础B 如 果竞赛优胜者不能直接保送上大学 我今后就不再参与这项活动了C 准备竞赛无非要靠题海战术 为了取得好成绩 就得拼时间 拼体 力D 为了取得好成绩 不光要看智力因素 还要看非智力因素 优秀选手应该有坚韧不拔的意志 有严谨求实的作风 既要努力奋 进 又要胜不骄败不馁信息奥赛培训材料时间地点辅导老师培训内 容备注三 问题求解 共2题 每题5分 共计10分 1 将xx个人分 成若干不相交的子集 每个子集至少有3个人 并且 1 在每个子集中 没有人认识该子集的所有人 2 同一子集的任何3个人中 至少有2个人互不认识 3 对同一子集中任何2个不相识的人 在该子集中恰好只有1个人 认识这两个人 则满足上述条件的子集最多能有个 2 将边长为n的正三角形每边n 等分 过每个分点分别做另外两边的平行线 得到若干个正三角形 我们称为小三角形 正三角形的一条通路是一条连续的折线 起点是最上面的一个小三 角形 终点是最下面一行位于中间的小三角形 在通路中 只允许由一个小三角形走到另一个与其有公共边的且位 于同一行或下一行的小三角形 并且每个小三角形不能经过两次或 两次以上 图中是n 5时一条通路的例子 设n 10 则该正三角形的不同的通路的总数为 四 阅读程序写结果 共4题 每题8分 共计32分 1 Programex40 1 var u v array 0 3 of integer i x y integer beginx 10 y 10 fori 0to3doread u i v 0 u 0 u 1 u 2 u 3 div7 v 1 u 0 div u 1 u 2 divu 3 v 2 u 0 u 1 divu 2 u 3 v 3 v 0

温馨提示

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

评论

0/150

提交评论