第一篇:pascal语法解释
我是在高一接触pascal语言,因为参加NOI的需要,顺理成章的要使用Turbo Pascal来写程序了。半年后,我开始想着如何编写Windows程序,又理所当然的找上Delphi。初见Delphi,除了begin,end让我觉得倍感亲切外,Object Pascal里的增加的面向对象的语法却让我很是吃惊,当时的我可根本不懂什么叫面向过程,面向对象;最可恶的是,国内那些教育家们,除了会拿着清华的那本精简的不能再精简的pascal教材照本宣科外,似乎再也没有什么实质性的工作了,传说中的《Turbo Pascal大全》更是无处可寻,所以关于unit,interface这些Delphi里随处可见的关键字我也很不明白。所幸,其后不久,我得到一本名为《计算机反病毒技术》的书,里面统统都是用Turbo Pascal编写的源代码,通过它我迅速明白了早已存在于Turbo Pascal中unit,interface等关键字的含义和用法,又以Delphi中的Help文档为扶手,开始蹒跚学步了。
印象中,国内Delphi作家似乎更偏爱编写应用实例类的技术书籍,至于语法这种东西,没有几个人愿意多去涉及,即使书中必须谈及,也是寥寥数笔,匆匆带过,或者干脆与某本书类似。对Object Pascal语法讲解最好,最权威的恐怕就算《Delphi5开发人员指南》了,这本书至今也是备受推崇的。但与如今泛滥的C++书籍相比,Delphi仍然逊色许多,也难怪很多新手特别是从来没有接触过pascal语言的新手,在学习Object Pascal时会遇到不少困难。自己的感觉是:在从Turbo Pascal向Delphi过渡的过程中,由于没有正确的指引,走了很多弯路;由于没有正确的桥梁,必须要一步实现大跨越。所以,在这里,我提出自己曾经遇见的沟壑,路标性给出我自己的认识和总结,希望给入门的同学们一些帮助。我不打算详细介绍语法知识,并假设你已经有一点pascal语言和面向对象概念的基础。要想学习相关详细知识,我推荐各位一定要阅读《Delphi开发人员指南》和Delphi Help文档中的相关章节。
● 记录体和类
习惯了在一个Program模块内写完所有面向过程代码的我,有几天的时间一直未能彻底明白在非Unit模块中,非继承的自定义类的框架,语法是如何的,VCL源代码虽然经典,却过于繁杂,不能让我迅速掌握根本,我需要一个最简单又最能说明问题,完整的可运行的代码,苦于无处寻求答案,只好亲自动手,探索对应关系,终成其下两段代码。
program TP;{本代码在Turbo Pascal 7.0下编译通过} type MyRecord = record {...} end;var MR: MyRecord;procedure Procedure1;begin {Procedure1 Code} end;
{=========== main ===========} begin {以这个begin为标志,主程序开始,其作用相当于C/C++中的main函数} Procedure1;end.是一段及其简单的包含记录类型声明和过程声明的代码,二者基本规则如下:用户自定义的数据类型,需要放在以保留字“type”开头的代码段中;过程(procedure)和函数(function)要放在以保留字“var”开头的代码段中;最后一个夹在begin和end间的代码段是主程序的开始,也就是整个程序的入口,作用相当于C/C++里的main函数,请注意,只有在以program保留字开头的代码模块中,这个begin和end才具有程序入口的作用。
另外,在Turbo Pascal中已经支持原始的面向对象,它的声明关键字是Object,与现在我们常见的Class不同。语法如下:
object Field;Field;...Method;
Method;end;
Method允许以下几种形式:
procedure MethodName(:type);
或者function MethodName(:type):type;
或者constructor MethodName(: type [;:type]);[virtual];
或者destructor MethodName[(: type)];[virtual];
不错的,构造函数和析构函数都支持virtual,在构造函数中,还有一个有用的东西是Fail函数,当构造函数的初始化失败时,它可以用来释放已经分配的资源。遗憾的是,Object里面还没有区分私有共有。接下来的代码,是Turbo Pascal的Help文档中,关于Fail函数的演示代码,可以让大家对此有个较深的认识,Turbo Pascal却是是很强大和优秀的。
type PBase = ^TBase;TBase = object(TObject){在这里就已经出现Tobject了,是不是很亲切?} constructor Init(FailMe: Boolean);end;
PDerived = ^TDerived;TDerived = object(TBase)constructor Init(FailMe: Boolean);end;
constructor TBase.Init(FailMe: Boolean);begin
inherited Init;
if FailMe then Fail;end;
constructor TDerived.Init(FailMe: Boolean);begin
if not inherited Init(FailMe)then
{判断父类的初始化是否成功}
{ Ancestor failed to construct, we must fail too }
Fail;
{ Otherwise, proceed with construction } {...} end;var
P: PObject;
X: Boolean;begin
for X := False to True do begin
P := New(PDerived, Init(X));
if P <> nil then
begin
writeln(''Object constructed sucessfully'');
Dispose(P, Done);
end
else
writeln(''Object failed to construct'');end;end.回到Delphi中,再看下面的代码:
program Delphi;
{代码在Delphi7.0下编译通过}
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TMyClass = class(TObject)public
constructor Create;
procedure PrintClassName;
private
ClassName: string;end;
var
MyClass: TMyClass;
constructor TMyClass.Create;begin
ClassName := ''TMyClass'';end;
procedure TMyClass.PrintClassName;begin
writeln(ClassName);end;
{=========== main ===========} begin
MyClass := TMyClass.Create;
MyClass.PrintClassName;
MyClass.Free;
readln;end.类作为用户自定义的一种数据类型,其声明的规则,成员函数、过程的实现方法都符合经典 Pascal的基本规则,唯一不同的是保留字变了,从记录体变成了类(详细比较代码结构和语法规则),这也说明Object Pascal是在经典Pascal的基础上进行了面向对象内容的语法扩充。当然,内部的运行机制并没有表面语法扩充这么轻松,可那是编译器的事情,在这里,我们完全不用理会。差点忘记告诉读者怎么调试上面的代码了:在IDE环境主菜单里选择 File | New | Other,在New Item项里选择Console Application,这时出现了代码编辑框,再将上面的代码贴入,F9,完成!
代码内的{$APPTYPE CONSOLE}是一个编译开关,它告诉编译器,这是控制台程序,在格式上它与注释的差别就是那个“$”符号;TMyClass = class(TObject)可以简写为
TMyClass = class,表示TMyClass类从TObject类继承而来,TObject是Delpi中所有对象的祖先,这也是为什么我在代码中没有声明Destroy过程却仍然能够使用的原因;Delphi中类的构造很有趣,请注意MyClass := TMyClass.Create这一句,这与C++不同。readln使程序停顿下来,直到用户按下回车键才结束程序退出。更多详细内容请参考《Delphi开发人员指南》2.17.1节。
上面两段代码相互对应,虽然很简单,不过我却认为他们在某种程度上很容易让同学发现由经典Pascal向Object Pascal过渡的一些方法,对Object Pascal的类定义语法有个初步了解,这是很重要的一步。当初我要是能够看到这两段代码,或许能少浪费很多时间了。
● unit模块
在Turbo Pascal的Help文档里,是这样说明unit功能的:Units are the basis of modular programming inBorland Pascal.You use units to createlibraries and to divide large programs into logically related modules。传统上,我们都将所有代码集中在一个program模块中,可是面对更加复杂的功能代码,正确的划分功能封装功能对代码管理和以后的维护有着重要的作用,而使用unit模块正好解决了这些问题。其语法规则如下:
unit identifier;{ Heading }
interface { Public symbols }: uses { Uses clause } const { Constants } type { Types } var { Variables } procedure { Procedures } function { Functions } implementation { Private symbols }: uses { Uses clause } label { Labels } const { Constants } type { Types } var { Variables } procedure { Procedures} function { Functions } begin { Initialization } statement;{ Statements } statement end.Interface部分用来声明对外接口,也就是可以被外部引用该文件的程序使用的函数和过程;implementation部分包含接口部分声明的各种函数、过程具体实现的代码;begin一直到最后的end之间都是初始化部分,可以为本unit内的各种变量,过程,函数初始化。如果没有内容需要初始化,那么begin可以省略,但end.必须存在。
在Delphi下经典Pascal中的unit部分有了变动,请看来源于Delphi Help文档的说明: unit Unit1;interface uses { List of units goes here } { Interface section goes here } implementation uses { List of units goes here } { Implementation section goes here } initialization { Initialization section goes here } finalization { Finalization section goes here } end.可见Initialization部分的关键字begin,被Initialization取代了,并且增加了一个finalization部分。Initialization部分的代码可以这样写: initialization begin {do something…} end;也可以这样写: initialization {do something…}
finalization部分的功能,有点类似于析构函数,它主要针对本unit模块中initialization部分初始化的资源进行释放,并且是在程序结束时运行,如果程序以Halt过程结束了,该部分的程序将不能执行。
Unit模块中的interface等关键字和结构初看似乎有些限制程序员的自由度,但也正是这种语法规定体现出Pascal语言的严谨和优美,为减少程序出错的几率做出保证。
program相当文章的提纲挈领,unit则是文章的各个段落。Delphi里,program模块包含在.prj文件中,unit模块包含在传统的.pas文件中。这就是为什么在Delphi中我们经常面对的是为各个窗口服务的unit模块,而非在一个program中写完所有代码。不过我在Delpi的Help中看到这样一句话:In traditional Pascal programming, all source code, including the main program, is stored in.pas files.不知道这算思考角度不同还是算bug,毕竟这种语法并非Delphi中才有,Turbo Pascal程序员也一直在采用这种方法组织程序结构。
给出一个简单的initialization例子。在菜单中选择File | New | Application,再在窗体上放置一个按钮,双击该按钮编写它的Click事件处理代码,完整代码如下:
unit Unit1;interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);private { Private declarations } public { Public declarations } end;var Form1: TForm1;Msg: string;implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);begin ShowMessage(Msg);Msg := ''second'';end;
initialization Msg := ''first'';end.以上所述,是过渡中两个基本的重要问题,弄懂它们方可初步明白自己为什么要这样编写代码,该在哪里编写代码,如何扩展代码功能。
● 我推荐的参考书籍
Delphi参考书籍
《Delphi 5 开发人员指南》机械工业出版社 《Inside VCL》李维 电子工业出版社 《Delphi深度历险》陈宽达 科学出版社 《Pascal精要》网络下载电子版
Windows参考书籍
《Programming Windows》Charles Petzold 《Windows2000开发人员指南》中国水利水电出版社
Delphi组件参考书我暂时没有发现特别好的,平时我主要依靠论坛,源代码,Delphi自带的Demo和文档来学习组件的使用。
● 再说点
现在有一些大学取消了Pascal语言课程,去年的ACM大赛也取消了Pascal语言的使用,不禁心寒,启蒙教育没有人做了,这些都使得Delphi在学生中的处境更加艰难。在国内的Delphi论坛上,常常见到许多半吊子程序员在享受Delphi的快速开发的时候,嘴巴里还在责备Delphi功能太弱,不能搞什么底层开发,甚至直接责怪Pascal语言,殊不知,在Dos年代,有多少著名软件使用Pascal开发出来的呢,有多少底层控制程序有着Pascal的身影呢?现在我手头上还有Pascal编写的病毒代码,反病毒代码,IC芯片控制代码。
或许正是Delphi的RAD能力降低了程序开发的门槛,让很多半吊子进入了程序界,RAD开发蒙蔽了许多半吊子编程者(称呼他们为程序员或许稍欠火候)的眼睛,但是国内的教育界同样有着不可推卸的责任,选修课开VB的不少,讲Delphi的很少,我曾经还遇到过一个从心底里就瞧不起Delphi,不啻谈论的老师,而事实上他根本就没有用过Delphi。我现在常去外国网站,发现国内被争论不休的问题,在国外早就有人在做,并且做的非常棒。
第二篇:成语解释例句及出处和语法
1. 一拥而入:
【解释】:拥:拥挤。一下子全都拥了进去,挤了进去。
【出自】:明·冯梦龙《醒世恒言》卷十五:“众人一拥而入,迎头就把了缘拿住,押进里面搜捉,不曾走了一个。”
例句:体育场的大门刚一打开,球迷们就一拥而入。2. 怒气冲冲: 【解释】:盛怒的样子。
【出自】:清·魏秀仁《花月痕》第十二回:“[钱同秀]一手将烟灯砸在地下,说道:‘好好,你们做了一路!’就怒气冲冲的出来上车。”
【示例】:张学海不等汤阿英说完,就~地质问:‘陶阿毛有啥不同?他不也是工人吗?’
冲冲:感情激动的样子。形容非常生气。例句:不知为什么,他怒气冲冲地走进了教室。3. 聚精会神:
【解释】:会:集中。原指君臣协力,集思广益。后形容精神高度集中。【出自】:汉·王褒《圣主得贤臣颂》:“聚精会神,相得益(章)彰。” 【示例】:看校样时的~,就和在写作的时候一样,因为我的目的要使它没有一个错字。◎邹韬奋《经历·一个小小的过街楼》 【近义词】:目不转睛、专心致志、全神贯注 【反义词】:心不在焉、神不守舍、心神不定
【语法】:联合式;作主语、谓语、定语、状语;含褒义 聚、会:聚集。形容注意力非常集中。
例句:教室里同学们都在聚精会神地听老师讲课。4. 自言自语:
【解释】:自己一个人低声嘀咕。
【出自】:元·无名氏《桃花女》第四折:“你这般鬼促促的,在这自言自语,莫不要出城去砍那桃树吗?” 自己和自己说话。
例句:在路口经常可以看到一个老人,坐在那里自言自语。5. 千钧一发:
【解释】:比喻情况万分危急。
【出自】:《汉书·枚乘传》:“夫以一缕之任,系千钧之重,上悬无极之高,下垂不测之渊,虽甚愚之人,犹知哀其将绝也。”唐·韩愈《与孟尚书书》:“其危如一发引千钧。”
【示例】:正在~的时刻,一位不知名的解放军战士奋不顾身跳进冰冷的河水中,救起了落水儿童。【近义词】:危在旦夕
【反义词】:安然无恙、安如磐石
【语法】:主谓式;作谓语、定语;用于人或事十分危急 形容情况十分危急。
例句:就在要撞车的千钧一发的时候,司机紧急刹住了汽车。6. 精兵简政:
【解释】:精减人员,缩减机构。
【出自】:郭沫若《洪波曲》第十四章:“只要肯认真抗战,这种精兵简政,分头并进,倒也似乎更要合理些了。” 【近义词】:精打细算、缩衣节食 【反义词】:叠床架屋、尾大不掉
【语法】:联合式;作主语、宾语、定语;指精减人员,缩减机构
简:使简化。
例句:有些单位必须精兵简政,不断提高工作效率。7. 五光十色:
【解释】:形容色彩鲜艳,花样繁多。
【出自】:南朝梁·江淹《丽色赋》:“五光徘徊,十色陆离。” 【示例】:故宫珍宝馆的玻璃柜里,摆着~的稀世奇珍。【近义词】:五颜六色、万紫千红 【反义词】:色彩单一
【语法】:联合式;作谓语、定语、状语;含褒义 例句:一到夜晚,五光十色的灯把厦门装扮得更加美丽。8. 雨后春笋:
【解释】:指春天下雨后,竹笋一下子就长出来很多。比喻事物迅速大量地涌现出来。
【出自】:宋·张耒《食笋》诗:“荒林春雨足,新笋迸龙雏。”
【示例】:国内废科举,兴学校,好象~,努力学习西方。◎毛泽东《论人民民主专政》
形容新生事物大量涌现。
例句:改革开放以来,工厂如雨后春笋般地不断涌现。9. 琳琅满目:
【解释】:琳琅:精美的玉石。满眼都是珍贵的东西。形容美好的事物很多。【出自】:南朝·宋·刘义庆《世说新语·容止》:“今日之行,触目见琳琅珠玉。” 【示例】:这些寿礼陈列在坤宁宫的东西庑中,~。◎姚雪垠《李自成》第二卷第三十一章
【近义词】:金碧辉煌、美不胜收
【反义词】:疮痍满目
【语法】:主谓式;作谓语、定语、状语;指满眼都是珍贵的东西 比喻眼前出现了许多精美的事物。
例句:那里展出的的东西琳琅满目,使我们的眼睛应接不暇。10. 顶天立地:
【解释】:头顶云天,脚踏大地。形容形象高大,气慨豪迈。
【出自】:宋·释普济《五灯会元》卷五十六:“汝等诸人,个个顶天立地。”元·纪君祥《赵氏孤儿》第一折:“我韩厥是一个顶天立地的男儿。” 【示例】:先生是楚国的栋梁,是~的柱石。◎郭沫若《屈原》第三幕 【近义词】:英姿勃勃、威风凛凛、气概不凡 【反义词】:瞻前顾后
【语法】:联合式;作定语、补语;用于人 形容形象非常高大,气概豪迈。
例句:他大公无私,真是一个堂堂正正、顶天立地的男子汉。11. 千方百计:
【解释】:想尽或用尽一切办法。
【出自】:《朱子语类·论语十七》:“譬如捉贼相似,须是着起气力精神,千方百计去赶他。”
【示例】:这个老匪开初~想收买这支已经武装了的工人队伍,可是工人们坚决拒绝加入匪股。◎曲波《林海雪原》十四 【近义词】:想方设法
【反义词】:无计可施、束手无策
【语法】:联合式;作状语、宾语;含褒义 方:方法。讲:办法。想尽和用尽各种办法。
例句:老师千方百计调动我们的学习积极性。》 12. 津津有味:
【解释】:津津:兴趣浓厚的样子。指吃得很有味道或谈得很有兴趣。【出自】:汉·王褒《洞箫赋》:“哀悁悁之可怀兮,良醰醰而有味。” 【示例】:话是这样说,可是谈起理论,许宁还是一套套地向道静谈得~,头头是道。◎杨沫《青春之歌》第一部第十二章 【近义词】:兴致勃勃
【反义词】:味同嚼蜡、索然无味、枯燥无味 【语法】:偏正式;作谓语、宾语;含褒义 例句:他正在津津有味地看着一本漫画书。13. 争先恐后:
【解释】:抢着向前,唯恐落后。
【出自】:清·张春帆《宦海》第十四回:“一个个争先恐后的直抢上来。” 【示例】:在学校举行的运动会上,各班同学~,奋力争先。【近义词】:力争上游
【语法】:联合式;作谓语、状语;形容人的动作等 例句:发令枪一响,运动员们争先恐后地在跑道上飞奔起来。14. 如饥似渴:
【解释】:形容要求很迫切,好象饿了急着要吃饭,渴了急着要喝水一样。【出自】:三国魏·曹植《责躬》计:“迟奉圣颜,如渴如饥。”
【示例】:我~地把那二十几页的长文,一口气读下去。◎郭沫若《革命春秋·学生时代》
【近义词】:迫不及待、手不释卷
【反义词】:不慌不忙、四平八稳
【语法】:联合式;作谓语、宾语、定语、状语;含褒义 比喻要求很迫切,就像饿了急着要吃饭,渴了急着要喝水一样。例句:同学们如饥似渴地努力学习。15. 兴高采烈:
【解释】:兴:原指志趣,后指兴致;采:原指神采,后指精神;烈:旺盛。原指文章志趣高尚,言词犀利。后多形容兴致高,精神饱满。
【出自】:南朝梁·刘勰《文心雕龙·体性》:“步夜俊侠,故兴高而采烈。” 【示例】:阿二忽然对于曾沧海的威吓全没怕惧,反而~的说起来了。(茅盾《子夜》四)
【近义词】:欢天喜地、喜气洋洋 【反义词】:无精打采、闷闷不乐
【语法】:联合式;作谓语、定语、状语;含褒义 兴:兴致。采:精神。烈:旺盛。形容非常高兴的神情。例句:庆“六一”的游园活动中,同学们兴高采烈地玩了许多游戏。16. 小心翼翼:
【解释】:翼翼:严肃谨慎。本是严肃恭敬的意思。现形容谨慎小心,一点不敢疏忽。
【出自】:《诗经·大雅·大明》:“维此文王,小心翼翼。”
【示例】:母亲~地起床做饭,心里欣喜地想,让儿子多睡一会,不要惊醒他。◎冯德英《迎春花》第二章 翼翼:严肃,谨慎的样子。
例句:他小心翼翼地把花瓶擦干净,然后轻轻地放在书桌上。17. 焕然一新:
【解释】:焕然:鲜明光亮的样子。改变旧面貌,出现崭新的气象。
【出自】:唐·张彦远《历代名画记·论鉴识收藏购求阅玩》:“其有晋宋名迹,焕然如新,已历数百年,纸素彩色未甚败。”
【示例】:依中国法度,造作旗帜大纛,~。◎清·陈忱《水浒后传》第十一回
【近义词】:耳目一新、焕然如新 【反义词】:依然如故
【语法】:偏正式;作谓语、宾语;含褒义
焕然:鲜明光亮的样子。形容旧的面貌改变了,呈现出崭新的面貌。例句:看到我们班焕然一新的精神面貌,校长脸上露出了欣慰的笑容。18. 沁透心脾:
例句:花儿开了,飘来了一阵阵沁透心脾的香味。19. 赞叹不已:
【解释】:已:止,完。连声赞赏不止。
【出自】:清·吴敬梓《儒林外史》第34回:“庄绍光看了,赞叹不已。” 例句:看到他写了漂亮的毛笔字,大家赞叹不已。20. 波澜壮阔:
【解释】:原形容水面辽阔。现比喻声势雄壮或规模巨大。
【出自】:南朝·宋·鲍照《登大雷岸与妹书》:“旅客贫辛,波路壮阔。” 【示例】:七言诗须~,顿挫激昂,大开开阖耳。◎清·郎廷槐《师友诗传续录》
【近义词】:浩浩荡荡、气势磅礴 【反义词】:一潭死水
【语法】:主谓式;作谓语、定语;含褒义,用于文章、运动等
例句:面对波澜壮阔的大海,他十分激动。21. 初出茅庐:
【解释】:茅庐:草房。原比喻新露头脚。现比喻刚离开家庭或学校出来工作。缺乏经验。
【出自】:明·罗贯中《三国演义》第三九回:“直须惊破曹公胆,初出茅庐第一功。”
【示例】:那傻小子是“~”,我们准可以扫光他!◎鲁迅《彷惶·高老夫子》 【近义词】:初露头角、乳臭未干、初露锋芒 【反义词】:老成持重、老马识途
【语法】:动宾式;作谓语、宾语、定语;用于刚出道 例句:他虽然初出茅庐,工作起来却是有条有理。22. 举世闻名:
【解释】:举世:全世界。全世界都知道。形容非常著名。
【出自】:北齐·颜之推《颜氏家训·杂艺》:“王逸少风流才士,萧散名人。举世但知其书,翻以能自蔽也。”
【示例】:中国的象牙雕刻是杰出的,北京的山水人物和广州的花卉动物牙雕,尤其~。◎秦牧《高高翘起的象鼻子》 【近义词】:遐迩闻名、誉满天下 【反义词】:默默无闻
【语法】:主谓式;作谓语、宾语、定语;含褒义 例句:中国的万里长城是举世闻名的伟大建筑。23. 攻无不克:
【解释】:克:攻下。没有攻占不下来的。形容力量无比强大。
【出自】:《战国策·秦策二》:“是知秦战未尝不胜,攻未尝不取,所当未尝不
破也。”
【示例】:中国人民解放军~,战无不胜,所向披靡。【近义词】:战无不胜
【语法】:兼语式;作谓语、定语;形容力量无比强大
例句:他领导的科研小组,十几年来以攻无不克的气势,解决了一个又一个难题。
24. 胸有成竹:
【解释】:原指画竹子要在心里有一幅竹子的形象。后比喻在做事之前已经拿定主意。
【出自】:宋·苏轼《文与可画筼筜谷偃竹记》:“故画竹,必先得成竹于胸中。” 【示例】:毛委员~,决定马上向南去追赶部队。◎陈伯钧《毛主席率领我们上井岗山》 成:完成,现成。
例句:这次考试,我胸有成竹,一定能取得好成绩。25. 迫不及待:
【解释】:迫:紧急。急迫得不能等待。形容心情急切。
【出自】:清·李汝珍《镜花缘》第六回:“且系酒后游戏,该仙子何以迫不急待。”
【示例】:他~地推开门,走进屋去。【近义词】:刻不容缓、急不可待 【反义词】:待机而动
【语法】:偏正式;作谓语、状语;形容心情急迫 例句:他那迫不及待的样子,引起了一阵哄堂大笑。26. 别具一格:
【解释】:别:另外。另有一种独特的风格。
【出自】:清·吕留良《与施愚山书》:“咏见赠诗,风力又别具一格。” 【示例】:这个画家的人物画拙中见巧,~。【近义词】:标新立异、别开生面、别有风味 【反义词】:如出一辙、千篇一律、依样葫芦
【语法】:动宾式;作谓语、定语;用于文学、艺术、书法等 别:别处的,独特的。
例句:他写的这本书构思巧妙,别具一格。27. 不假思索:
【解释】:假:假借,依靠。形容做事答话敏捷、熟练,用不着考虑。【出自】:宋·黄榦《黄勉斋文集》卷四:“戒惧谨独,不待勉强,不假思索,只是一念之间,此意便在。”
【示例】:华安~,援笔立就,手捧所做呈上。◎明·冯梦龙《警世通言》卷二十六
【近义词】:一挥而就、脱口而出、一目十行 【反义词】:慢条斯理、深思熟虑
【语法】:动宾式;作谓语、定语、状语;指懒于思考,不负责任的办事 例句:他复习得很全面,对于老师提的问题,他都能不假思索就回答出来。28. 神机妙算:
【解释】:神、妙:形容高明;机、算:指计谋。惊人的机智,巧妙的计谋。形容善于估计复杂的变化的情势,决定策略。
【出自】:《后汉书·王涣传》:“又能以谲数发擿奸伏,京师称叹,以为涣有神算。”李贤注:“智算若神也。”
【示例】:(周)瑜大惊,慨然叹日:‘孔明~,吾不如也。’ ◎明·罗贯中《三
国演义》第四十六回 【近义词】:锦囊妙计
【反义词】:无计可施、束手无策
【语法】:联合式;作谓语、宾语、定语;含褒义 例句:诸葛亮草船借箭,真是神机妙算啊!29. 理直气壮:
【解释】:理直:理由正确、充分;气壮:气势旺盛。理由充分,说话气势就壮。【出自】:明·冯梦龙《古今小说》卷三十一:“便捉我到阎罗殿前,我也理直气壮,不怕甚的。”
【示例】:只要我们~,怕他怎的!◎清·李宝嘉《官场现形记》第十七回 【近义词】:振振有词、义正言辞 【反义词】:强词夺理、理屈词穷
【语法】:联合式;作谓语、定语、状语;含褒义 例句:他的话理直气壮,说得大家不知如何回答。30. 完璧归赵:
【解释】:本指蔺相如将和氏璧完好地自秦送回赵国。后比喻把原物完好地归还本人。
【出自】:《史记·廉颇蔺相如列传》:“城入赵而璧留秦;城不入,臣请完璧归赵。”
【示例】:请放心,不要多久,这两件东西定会~。此事放在弟身上好啦。◎姚雪垠《李自成》第一卷第二十六章 【近义词】:物归原主 【反义词】:支离破碎
【语法】:主谓式;作谓语、宾语;指物归原主
例句:现在我把这本书完璧归赵,请你查收。31. 同心协力:
【解释】:心:思想;协:合。团结一致,共同努力。
【出自】:汉·贾谊《过秦论》:“且天下尝同心并力攻秦矣,然困于险阻而不能进者,岂勇力智慧不足哉?”《周书·崔谦传》:“然后与宇文行台,同心协力,电讨不庭,则桓文之勋,复兴于兹日矣。” 【示例】:只要我们大家~,就没有克服不了的困难。【近义词】:齐心协力
【反义词】:勾心斗角,同床异梦
【语法】:联合式;作谓语、定语、状语;含褒义 例句:只要我们同心协力,就一定能战胜困难。32. 开卷有益:
【解释】:开卷:打开书本,指读书;益:好处。读书总有好处。【出自】:晋·陶潜《与子俨等疏》:“开卷有得,便欣然忘食。” 【反义词】:读书无用
【语法】:主谓式;作宾语、定语、分句;指读书总有好处 例句:要做到开卷有益,首先就要选择读好的书。33. 各抒己见:
【解释】:抒:抒发,发表。各人充分发表自己的意见。
【出自】:唐·李翱《李文权文集·陵庙日时朔祭议》:“先儒穿凿,各伸己见,皆托古圣贤之名以信其语,故其所记各不同也。”
【示例】:据我主意,何不~,出个式子,岂不新鲜些? ◎清·李汝珍《镜花缘》第七十四回
【近义词】:各持己见、各抒所见
【语法】:动宾式;作谓语;指各人充分发表自己的意见 例句;在班级会议上,大家各抒己见,气氛热烈。34. 忐忑不安:
【解释】:忐忑:心神不定。心神极为不安。
【出自】:清·吴趼人《糊涂世界》卷九:“两道听了这话,心里忐忑不定。” 【示例】:母亲谨慎地窥视着一切动静,心里~,她怕有人出卖星海。◎冯德英《苦菜花》第十章
【近义词】:惶惶不安、坐立不安 【反义词】:心安理得、悠然自得
【语法】:联合式;作谓语、定语、状语;含贬义
例句:昨天晚上我忘了背课文,今天上语文课时,我忐忑不安,生怕被老师叫到。
35. 心惊肉跳:
【解释】:形容担心灾祸临头,恐慌不安。
【出自】:元·无名氏《争报恩》第三折:“不知怎么,这一会儿心惊肉战,这一双好小脚儿再走也走不动了。”
【示例】:在那个闷热的夜晚,发生了那种淑娴现在想起还~的事情,使她的精神受到极大的创伤。◎冯德英《迎春花》第十五章 【近义词】:心胆俱裂、魂飞魄散 【反义词】:神色不惊、镇定自若
【语法】:联合式;作谓语、宾语、补语;形容人极度惊惧恐慌 惊:惊慌。
例句:做了坏事的人,一遇到警察就会吓得心惊肉跳。
36. 自作自受:
【解释】:自己做了蠢事坏事,自己倒霉。
【出自】:宋·释普济《五灯会元》:“僧问金山颖:‘一百二十斤铁枷,教阿谁担?’颖曰:‘自作自受。’”
【示例】:他这会子不说保养着些,还要捉弄人;明儿病了,叫他~。◎清·曹雪芹《红楼梦》第五十一回
【近义词】:自食其果、自讨苦吃、自投罗网 【语法】:连动式;作谓语、宾语;含贬义 例句:他今天落到这样的下场,完全是自作自受。37. 大名鼎鼎:
【解释】:鼎鼎:盛大的样子。形容名气很大。
【出自】:清·李宝嘉《官场现形记》第二十四回:“你一到京打听人家,像他这样大名鼎鼎,还怕有不晓得的。”
【示例】:当时有华灵毡士者,~之学者。◎清·梁启超《格致学沿革考略》 【近义词】:赫赫有名、名扬天下、举世闻名、鼎鼎大名 【反义词】:无名鼠辈、无声无息
【语法】:主谓式;作定语;用于人和事物 例句:他现在已是一个大名鼎鼎的歌手了。38. 人声鼎沸:
【解释】:鼎:古代煮食器;沸:沸腾。形容人群的声音吵吵嚷嚷,就象煮开了锅一样。
【出自】:明·冯梦龙《醒世恒言》卷十:“一日午后,刘方在店中收拾,只听得人声鼎沸。”
【示例】:广场这时已是一片锣鼓喧天,~。
【近义词】:人欢马叫、震耳欲聋 【反义词】:万籁俱寂、鸦雀无声
【语法】:主谓式;作谓语、宾语、定语;比喻人声嘈杂 例句:工地上,人声鼎沸,一派繁忙紧张的景象。39. 车水马龙:
【解释】:车象流水,马象游龙。形容来往车马很多,连续不断的热闹情景。【出自】:《后汉书·明德马皇后纪》:“前过濯龙门上,见外家问起居者,车如流水,马如游龙。”
【示例】:花天酒地,闹个不休,~,日无暇晷。◎清·吴趼人《二十年目睹之怪现状》第一回
【近义词】:门庭若市、络绎不绝 【反义词】:门可罗雀、门庭冷落
【语法】:联合式;作谓语、定语;形容繁华热闹的景象 例句:节日里,大街上车水马龙,热闹极了。40. 摩肩接踵:
【解释】:肩碰着肩,脚碰着脚。形容人多拥挤。
【出自】:《战国策·齐策一》:“临淄之途,车毂击,人肩摩。”《宋史·李显忠传》:“入城,宣布德意,不戮一人,中原归附者踵接。” 【示例】:节日的公园里,游人~,十分拥挤。【近义词】:熙熙攘攘、熙来攘往 【反义词】:地广人稀
【语法】:联合式;作谓语、定语、状语;形容人多时 例句:春节前几天的菜市场上,人们摩肩接踵,忙着买东西。41. 熙熙攘攘:
【解释】:熙熙:和乐的样子;攘攘:纷乱的样子。形容人来人往,非常热闹拥挤。
【出自】:《史记·货殖列传》:“天下熙熙,皆为利来;天下攘攘,皆为利往。” 【示例】:共青团员都打扮成去远足的样子,每人提了个提包,有的是挂包,~的会集在厂里的球场上。◎茹志娟《新当选的团支书》 【近义词】:人山人海、水泄不通 【反义词】:门前冷落、门可罗雀
【语法】:联合式;作谓语、定语;形容人多喧闹
例句:节日期间,公园里熙熙攘攘,人们笑逐颜开,真热闹啊呀!42. 一丝不苟:
【解释】:苟:苟且,马虎。指做事认真细致,一点儿不马虎。
【出自】:清·吴敬梓《儒林外史》第四回:“上司访知,见世叔一丝不苟,升迁就在指日。”
【示例】:我们在学习上,应有~的精神。【近义词】:小心谨慎、小心翼翼、不苟言笑 【反义词】:粗枝大叶、马马虎虎
【语法】:主谓式;作谓语、定语、补语;含褒义
例句:陈老师无论做什么事情都是那么认真负责,一丝不苟。43. 惟妙惟肖:
【解释】:描写或模仿的非常逼真。
【示例】:她扮演一位英雄的母亲,言谈举止,无不惟妙惟肖。【近义词】:栩栩如生 【反义词】:画虎类犬
【语法】:联合式;作谓语、定语、补语;含褒义
妙:好。肖:想像。
例句:这幅画上的几只小猫画得惟妙惟肖,好像一叫这会跑出来似的。44. 郑人买履:
【解释】:用来讽刺只信教条,不顾实际的人。【出自】:《韩非子·外储说左上》 【近义词】:生搬硬套、死搬教条
【语法】:主谓式;作定语、状语;含贬义
例句:我们做任何事情时都要根据实际情况,灵活处理,否则就会闹郑人买履的笑话。45. 自相矛盾:
【解释】:矛:进攻敌人的刺击武器;盾:保护自己的盾牌。比喻自己说话做事前后抵触。
【出自】:《韩非子·难一》:“楚人有鬻盾与矛者,誉之曰:‘吾盾之坚,莫之能陷也。’又誉其矛曰:‘吾矛之利,于物无不陷也。’或曰:‘以子之矛陷子之盾,何如?’其人勿能应也。” 【示例】:这些理论~。
例句:说话做事不能前后抵触,要不就会自相矛盾。46. 了如指掌:
【解释】:了:明白;指掌:指着手掌。形容对事物了解得非常清楚,象把东西放在手掌里给人家看一样。
【出自】:《论语·八佾》:“或问禘之说。子曰:‘不知也;知其说者之于天下也,其如示诸斯乎!’指其掌。”何晏集解引包咸曰:“孔子谓或人言知禘礼之说者,于天下之事,如指示掌中之物,言其易了。”
【示例】:只这一相形之下,美丑高低,便~了。◎闻一多《冬夜评论》
【近义词】:一目了然、一清二楚、洞若观火 【反义词】:疑团莫释、一团漆黑
【语法】:偏正式;作谓语;指对事物十分了解
例句:陈教师教了我们班四年了,他对每一个同学的情况真是了如指掌啊!47. 不动声色:
【解释】:声:言谈;色:脸色。在紧急情况下,说话、神态仍跟平时一样没有变化。形容非常镇静。
【出自】:宋·欧阳修《相州昼锦堂记》:“垂绅正笏,不动声色,而措天下于泰山之安。”
【示例】:他也~,勤勤慎慎办他的公事。◎清·李宝嘉《官场现形记》第十二回
【近义词】:不露声色、无动于衷、泰然自若 【反义词】:不知所措、失魂落魄、手足无措
【语法】:动宾式;作谓语、定语、状语;形容在紧急情况下不改变声色 例句:接完电话,他不动声色地走了出去。48. 若无其事:
【解释】:象没有那回事一样。形容遇事沉着镇定或不把事情放在心上。【出自】:冯德英《苦菜花》第三章:“王柬芝若无其事地闩上门,又叫她点着灯,他那双眼睛四处巡视着。” 【近义词】:不动声色、泰然自若 【反义词】:六神无主、张皇失措
【语法】:动宾式;作谓语、定语、状语;指人的态度
例句:我们都在紧张地复习准备考试,他却若无其事地看漫画书。49. 无与伦比:
【解释】:伦比:类比,匹敌。指事物非常完美,没有能跟它相比的。【出自】:唐·韩愈《论佛骨表》:“数千百年以来,未有伦比。” 【示例】:在这段时间里,他受到祖国人民~的最热情的接待。◎魏巍《东方·归来》
【近义词】:无可比拟、前所未有 【反义词】:不相上下、同日而语
【语法】:复杂式;作谓语、定语;含褒义
50. 星罗棋布:
【解释】:罗:罗列;布:分布。象天空的星星和棋盘上的棋子那样分布着。形容数量很多,分布很广。
【出自】:汉·班固《西都赋》:“列卒周匝,星罗云布。”
【示例】:到了晚上,那电气灯,自来火,~,照耀得彻夜通明,光辉如同白昼。◎清·彭养鸥《黑籍冤魂》第十五回 【近义词】:浩如烟海、漫山遍野 【反义词】:寥若晨星
【语法】:联合式;作谓语、定语、状语;形容数量多分布广 例句:大大小小的商店星罗棋布,热闹非凡。51. 美不胜收:
【解释】:胜:尽。美好的东西很多,一时看不过来。
【出自】:清·钱泳《履园丛话·艺能·治庖》:“惟鱼之一物,美不胜收。” 【示例】:展览馆里展出的各种工艺品琳琅满目,~。【近义词】:琳琅满目 【反义词】:不堪入目
【语法】:主谓式;作谓语、定语、补语;含褒义 例句:景区里的石雕美不胜收。
第三篇:pascal编程基础练习题
pascal编程基础练习题
一、不定项选择和填空题
1、下列关于程序语言的叙述,不正确的是()
A、编写机器代码不比编写汇编代码容易
B、高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行
C、同样一段高级语言程序通过不同的编译器可能产生不同的可执行程序
D、汇编代码可被CPU直接运行
E、不同的高级语言语法略有不同
2、下列哪一种程序设计语言是解释执行的()
A、Pascal
B、GWBASIC
C、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—TYPE
B、VAR—CONST—LABEL—TYPE
C、LABEL—CONST—TYPE—VAR
D、CONST—VAR—TYPE—LABEL 8、下面对Pascal程序组成结构的描述错误的是()
A、程序体可以为空
B、程序的注释部分只能写在程序中一条语句的最后
C、程序首都的参数部分可有可无
D、一个完整的PASCAL程序的主程序只能有一个
9、要编写并执行—个PASCAL程序,—般的步骤是()
A、①用编辑软件编写源程序
②用PASCAL的编译程序把源程序转换成目标程序
③用连接程序把目标程序转换为可执行程序
④运行可执行程序
B、①用编辑软件编写源程序
②修改和调试源程序
③用PASCAL的编译程序把源程序转换成可执行程序
④运行可执行程序
C、①用编辑软件编写源程序
②用连接程序把源程序转换成可执行程序
③试运行可执行程序
④修改后再运行可执行程序
D、①用编辑软件编写源程序
②用连接程序把源程序转换为目标程序
③用PASCAL的编译程序把目标程序转换为可执行程序
④运行可执行程序
10、PASCAL源程序中不止确的注释语句是()
A、用一对“{”和“}”括起来的字符串
B、用一对“/*”和“*/”括起来的字符串
C、用—对“(*”和“*)”括起来的字符串
D、A)或 B)11、以下正确的PASCAL实数是()
A、0.56E2.5B、2.56E
2C、.318ED、34.E5 E、EF、3E-G、.1
5H、15.12、每个Pascal程序的分程序中都必须包括()
A、变量说明、语句
B、语句
C、类型定义、变量说明、语句
D、常量说明、变量说明、语句 13、下列中合法的Pascal标识符是()
A、Char set
B、RECORD
C、Abs
D、π
E、A1B2C3 F、FOR
G、2ab
H、a[1] 14、设a、b、c为整型变量,并有以下程序段
Read(a);Readln(b,c);
Readln(c,b);Readln(a,b);
writeln(a,b,c)
若运行时输入:
3<ENTER>5 6<ENTER>8 9<ENTER>
其中<ENTER>表示回车符,则输出是()
A、12
3B、147
C、784 15、下列表达式中,其值为TRUE的是()
A、150>=150
B、100>150
C、Abs(-200)<>200
D、Succ('A') E、'ab'<'abc' F、Succ(False)=True G、0dd(35+1)=FaLse H、219<>219 16、有变量说明: VAR i1,i2:Integer; r1,r2:Real; b1,b2:Boolean; 设各变量均已赋值,下列中错误的赋值语句是() A、b2:=Ord(r1>r2) B、i2:=i1+r 1C、b1:=i1=i2 D、b1:=b1+b2 E、i2:=i1+i2 DIV i 1F、i1:=i1/i 2G、r2:=3/5*Sqr(r1+r2) H、r1:=r2+r1 17、下面一段程序是用())语言书写的 int funcl(int n){ int i,sum=0; for(i = 1;i<=n;i++) sum+= i*i; return sum;} A、FORTRAN B、PASCAL C、C D、PROLOG E、BASIC 18、设全集E={1,2,3,4,5},集合A={1,4},B={l,2, 5},C={2,4),则集合(A∩B)∪~C为() A、空集 B、{1} C、{3,5} D、{1,5} E、{1,3,5} 19、运算17 MOD 4的结果是() A、7 B、3C、1D、4 20、已知a、b、c、d、e、f、g均为整数变量,其值分别为2、4、6、8、10、12、14,若输出结果为 4 10 14 则输出语句应是() A、Write(a:3,b:3);write(c:3,d:3,e:3);Write(f:3,g:3) B、Writeln(a:3,b:3);Write(c:3,d:3,e:3);Writeln(f:3,g:3) C、Writeln(a:3,b:3);Writeln(c:3,d:3,e:3);Writeln;Writeln(f:3,g:3); D、Write(a:3,b:3);Writeln;Write(c:3);Writeln(f:3,g:3);Write(f:3,g:3)21、把整数7转换为字符‘7’的表达式是哪一个() A、Chr(7)-0rd('0') B、Chr(7-0rd(0)) C、Chr(7+0rd('0')) D、Chr(7+0rd(0))22、下列类型定义中,合法的是() A、TYPE a=10..10; B、TYPE b=0..Sqr(10); C、TYPE c=1.0..10.0; D、TYPE d=10..5;23、以下运算符中运算优先级最高的是() A、+ B、OR C、>= D、DIV 24、已知有如下说明: VAR a,b:Integer; c,d:Real; 下面赋值语句合法的是() A、c:=a+b B、a:=Trunc(c) C、a:=a+b/c D、b:=a div d 25、设有变量说明:VAR s:(C,G,A,J,K);则函数Succ(A)的取值是() A、G B、3C、J D、B 26、表达式True AND NOT Odd(-202)<(7-3<=4)的值是() A、True B、False C、0 D、1 27、下列常量说明中合法的是() A、CONST color=red..blue; B、CONST CONST=10*5;C、CONST x1:=3.9; D、CONST abc='abc';28、已知a、b、c、d是同类型简单变量,且都已有互不相同的值,执行下列语句 b:=a; a:=c; d:=a; d:=b; 后,其值相等的变量是() A、a,d B、a,c C、c,b D、b,d 29、下面合法的常量是() A、.2 5B、“RED” C、'%' D、3E-2.5 30、设a、b、c、d、e均为整型变量,且s= 13、b= 2、c= 10、d= 3、e=2,则表达式a-b*c DIV d MOD e的值是:() A、1 3B、-7 C、1 1D、0 信息学奥赛pascal程序设计复习题 一、读下面程序段,请写出程序运行结果。read(a,b)if a<=b then begin t:=a;a:=b;b:=t;end;else read(b,a)writeln(‘a+b=’,a+b);end.输入:4,2,3,1 输出: 二、编程题 1、编程将能被2、3整除,但被5除余1的最小自然数找出来。 2、已知某数是2,3,5的倍数,被11除余10,被13除余7,被17除余13。求满足条件的最小自然数。(14684) 3、在屏幕上读入一个四位数,将千百十个位上的数打印出来。 4、求满足下列条件的三位数。(1)它的各位数字不同且不为零。 (2)这个数等于所有由它的各个数字所组成的两位数的和。 5、在屏幕上读入十个整数,并打印出来,并计算他们的和和平均数。 6、将一个不大于7位的自然数X的各位数字分离,并按从高位往低位的顺序分行打印。 7、将一个不大于2147483647的自然数X的各位数字分离,并按从高位到低位的顺序分行打印出来。 8、输入30个数a1,a2,a3,„a30,计算x和y的值。 9、已知x=a1+a2+„+a30, y=a1+a2+„+a15-a16-a17„-a30.分别输入一个班30个学生的语文成绩,数学成绩,英语成绩。求出每位学生的总分和平均分。 一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确答案。) 1.在以下各项中,()不是CPU的组成部分。 A.控制器 B.运算器 C.寄存器 D.主板 2.在关系数据库中,存放在数据库中的数据的逻辑结构以()为主。 A.二叉树 B.多叉树 C.哈希表 D.二维表 3.在下列各项中,只有()不是计算机存储容量的常用单位。 A.Byte B.KB C.UB D.TB 4.ASCII码的含义是()。 A.二→十进制转换码 B.美国信息交换标准代码 C.数字的二进制编码 D.计算机可处理字符的唯一编码 5.一个完整的计算机系统应包括()。 A.系统硬件和系统软件 B.硬件系统和软件系统 C.主机和外部设备 D.主机、键盘、显示器和辅助存储器 6.IT的含义是()。 A.通信技术 B.信息技术 C.网络技术 D.信息学 7.LAN的含义是()。 A.因特网 B.局域网 C.广域网 D.城域网 8.冗余数据是指可以由其它数据导出的数据。例如,数据库中已存放了学生的数学、语文和英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看作冗余数据。冗余数据往往会造成数据的不一致。例如,上面4个数据如果都是输入的,由于操作错误使总分不等于三科成绩之和,就会产生矛盾。下面关于冗余数据的说法中,正确的是()。 A.应该在数据库中消除一切冗余数据 B.用高级语言编写的数据处理系统,通常比用关系数据库编写的系统更容易消除冗余数据 C.为了提高查询效率,在数据库中可以保留一些冗余数据,但更新时要做相容性检验 D.做相容性检验会降低效率,可以不理睬数据库中的冗余数据 9.在下列各软件,不属于NOIP竞赛(复赛)推荐使用的语言环境有()。 A.gcc B.g++ C.Turbo C D.Free Pascal 10.以下断电后仍能保存数据的有()。 A.硬盘 B.高速缓存 C.显存 D.RAM 11.在下列关于计算机语言的说法中,正确的有()。 A.高级语言比汇编语言更高级,是因为它的程序的运行效率更高 B.随着Pascal、C等高级语言的出现,机器语言和汇编语言已经退出了历史舞台 C.高级语言比汇编语言程序更容易从一种计算机上移植到另一种计算机上 D.C是一种面向对象的高级计算机语言 12.近20年来,许多计算机专家都大力推崇递归算法,认为它是解决较复杂问题的强有力的工具。在下列关于递归算法的说法中,正确的是()。 A.在1977年前后形成标准的计算机高级语言“FORTRAN77”禁止在程序使用递归,原因之一是该方法可能会占用更多的内存空间 B.和非递归算法相比,解决同一个问题,递归算法一般运行得更快一些 C.对于较复杂的问题,用递归方式编程一般比非递归方式更难一些 D.对于已经定义好的标准数学函数 sin(x),应用程序中的语句“y=sin(sin(x));”就是一种递归调用 13.一个无法靠自身的控制终止的循环成为“死循环”,例如,在C语言程序中,语句“while(1)printf(“*”);”就是一个死循环,运行时它将无休止地打印*号。下面关于死循环的说法中,只有()是正确的。 A.不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不做死循环检查 B.有些编译系统可以检测出死循环 C.死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出死循环 D.死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也可以检测的14.在Pascal语言中,表达式(23 or 2 xor 5)的值是()。 A.18 B.1 C.23 D.32 15.在Pascal语言中,判断整数a等于0或b等于0或c等于0的正确的条件表达式是()。 A.not((a<>0)or (b<>0)or (c<>0))B.not((a<>0)and(b<>0)and(c<>0))C.not((a=0)and(b=0))or(c<>0)D.(a=0)and(b=0)and(c=0) 16.地面上有标号为A、B、C的三根柱,在A柱上放有10个直径相同中间有孔的圆盘,从上到下依次编号为1,2,3„„,将A柱上的部分盘子经过B柱移入C柱,也可以在B柱上暂存。如果B柱上的操作记录为“进、进、出、进、进、出、出、进、进、出、进、出、出”。那么,在C柱上,从下到上的编号为()。 A.2 4 3 6 5 7 B.2 4 1 2 5 7 C.2 4 3 1 7 6 D.2 4 3 6 7 5 17.与十进制数1770对应的八进制数是()。 A.3350 B.3351 C.3352 D.3540 18.设A=B=True,C=D=False,一下逻辑运算表达式值为假的有()。 A.(「A∧B)∨(C∧D∨A) B.「(((A∧B)∨C)∧D) C.A∧(B∨C∨D)∨D D.(A∧(D∨C))∧B 19.(2070)16 +(34)8 的结果是()。A.(8332)10 B.(208A)16 C.(100000000110)2 D.(20212)8 20.已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为节点的编号,以下同),中根遍历是4 2 6 5 1 7 3,则该二叉树的后根遍历是()。 A.4 6 5 2 7 3 1 B.4 6 5 2 1 3 7 C.4 2 3 1 5 4 7 D.4 6 5 3 1 7 2 1楼 2007-11-2 20:38 回复 枫叶寒霜 二、问题求解(共2题,每题5分,共计10分)。 1、(子集划分)将n个数(1,2,„,n)划分成r个子集。每个数都恰好属于一个子集,任何两个不同的子集没有共同的数,也没有空集。将不同划分方法的总数记为S(n,r)。例如,S(4,2)=7,这7种不同的划分方法依次为{(1),(234)},{(2),(134)},{(3),(124)},{(4),(123)},{(12),(34)},{(13),(24)},{(14),(23)}。当n=6,r=3时,S(6,3)=______________。 (提示:先固定一个数,对于其余的5个数考虑S(5,3)与S(5,2),再分这两种情况对原固定的数进行分析。) 2、(最短路线)某城市的街道是一个很规整的矩形网络(见下图),有7条南北向的纵街,5条东西向的横街。现要从西南角的A走到东北角的B,最短的走法共有多少种?___________(图画不了) 三、阅读程序写结果(共4题,每题8分,共计32分。) 1、program j301;var i,a,b,c,x,y:integer; p:array[0..4] of integer;begin y:=20; for i:=0 to 4 do read(p); readln; a:=(p[0]+p[1])+(p[2]+p[3]+p[4])div 7; b:=p[0]+p[1] div((p[2]+p[3])div p[4]); c:=p[0]*p[1] div p[2]; x:=a+b-p[(p[3]+3)mod 4]; if(x>10) then y:=y+(b*100-a)div(p[p[4] mod 3]*5) else y:=y+20+(b*100-c)div(p[p[4] mod 3]*5); writeln(x,',',y);end.{注:本例中,给定的输入数据可以避免分母为0或数组元素下表越界。} 输入:6 6 5 5 3 输出:______________________ 2、program j302;var a,b:integer;var x,y:^integer; procedure fun(a,b:integer);var k:integer; begin k:=a;a:=b;b:=k;end;begin a:=3;b:=6; x:=@a;y:=@b; fun(x^,y^); writeln(a,',',b);end.输出:_______________________________ 3、program j303; var a1:array[1..50] of integer;var i,j,t,t2,n,n2:integer;begin n:=50; for i:=1 to n do a1:=0; n2:=round(sqrt(n)); for i:=2 to n2 do if(a1=0)then begin t2:=n div i; for j:=2 to t2 do a1[i*j]:=1; end; t:=0; for i:=2 to n do if(a1=0)then begin write(i:4);inc(t); if(t mod 10=0)then writeln; end; writeln;end.输出:_____________________________________________ _____________________________________________ 4、Program j304;Type str1=string[100];Str2=string[200];Var S1:str1;s2:str2; Function isalpha(c:char):Boolean;Var i:integer;Begin i:=ord©; if((i>=65)and(i<=90))or((i>=97)and(i<=122))then isalpha:=true else isalpha:=false;end; function isdigit(c:char):Boolean;var i:integer;begin i:=ord©;if(i>=48)and(i<=57)then isdigit:=true else isdigit:=false;end; procedure expand(s1:str1;var s2:str2);var i,j:integer;a,b,c:char;begin j:=1;c:=char(1);i:=0; while(i<=ord(s1[0]))do begin inc(i);c:=s1; if c='-' then begin {1} a:=s1[i-1];b:=s1[i+1]; if(isalpha(a)and isalpha(b))or(isdigit(a)and isdigit(b))then begin dec(j); while(ord(upcase(a)) begin s2[j]:=a;inc(j);inc(a);end; end else begin s2[j]:=c;inc(j);end;end{1} else begin s2[j]:=c;inc(j);end;end;s2[0]:=char(j-2);end;begin readln(s1);expand(s1,s2);writeln(s2);end.2楼 2007-11-2 20:38 回复 枫叶寒霜 输入:wer2345d-h454-82qqq 输出:__________________________ 四、完善程序(前4空,每空2.5分,后6空,每空3分,共28分)。 1、(求字符的逆序)下面的程序的功能是输入若干行字符串,每输入一行,就按逆序输出该行,最后键入-1终止程序。 请将程序补充完整。 Program j401; type str1=string[100];var line:str1;kz:integer; procedure reverse(var s:str1);var I,j:integer;t:char;begin i:=1;j:=length(s); while(i t:=s;s:=s[j];s[j]:=t; ;; end;end;begin writeln(‘continue?-1 for end.’); readln(kz); while()do begin readln(line); ; writeln(line); writeln(‘continue?-1 for end.’); readln(kz); end;end.2 3 3 2-1 1 3 4 1 1 5 4 4 5 5 2、(棋盘覆盖问题)在一个2k×2 k个方格组成的棋盘中恰有一个方格与其它方格不同(图中标记为-1的方格),称之为特殊方格。现用L型(占3个小方格)纸片覆盖棋盘上除特殊方格的所有部分,各纸片不得重叠,于是,用到的纸片数恰好是(4 k-1)/3。在下表给出的一个覆盖方案中,k=2,相同的3各数字构成一个纸片。 下面给出的程序使用分治法设计的,将棋盘一分为四,依次处理左上角、右上角、左下角、右下角,递归进行。请将程序补充完整。 (图画不了...郁闷)Program j402; type arr1=array[1..65] of integer; arr2=array[1..65] of arr1; var board:arr2;tile:integer;size,dr,dc:integer;procedure chessboard(tr,tc:integer;dr,dc:integer;var size:integer);var t,s:integer;begin if(size=1)then; t:=tile;inc(tile); s:=size div 2; if then chessboard(tr,tc,dr,dc,s)else begin board[tr+s-1]:=t; end; if(dr else begin board[tr+s-1][tc+s]:=t; ;end; if(dr>=tr+s)and(dc board[tr+s][tc+s]:=t; ;end; if(dr>=tr+s)and(dc>=tc+s)then chessboard(tr+s,tc+s,dr,dc,s)else begin board[tr+s][tc+s]:=t;;end;end; procedure prt1(n:integer);var I,j:integer;begin for I:=1 to n do begin for j:=1 to n do write(board[j]:3); writeln;end;end;begin writeln(‘input size(4/8/16/64):’); readln(size);writeln(‘input the position of special block(x,y):’); readln(dr,dc);board[dr][dc]:=-1; tile:=1;chessboard(1,1,dr,dc,size);prt1(size);end.3楼 2007-11-2 20:38 回复 222.187.96.* 请问有答案吗? 6楼 2007-12-13 10:57 回复 枫叶寒霜 NOIP2007年普及组(Pascal语言)参考答案与评分标准 一、单项选择题:(每题1.5分)1.D 2.D 3.C 4.B 5.B 6.B 7.B 8.C 9.C 10.A 11.C 12.A 13.A 14.A 15.B 16.D 17.C 18.D 19.A 20.A 二、问题求解:(每题 5分) 1.90 2.210 三、阅读程序写结果 1.15, 46(对1个数给4分,无逗号扣1分) 2.3, 6 3.2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 4.wer2345defgh45456782qqq 四、完善程序(前4空(①--④),每空2.5分,后6空(⑤--⑩),每空3分) (说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查) 1.① inc(i)或i:=i+1 ② dec(j)或 j:=j-1 ③ kz<>-1 ④ reverse(line) 2.⑤ exit ⑥(dr⑦ chessboard(tr,tc,tr+s-1,tc+s-1,s)⑧ chessboard(tr,tc+s,tr+s-1,tc+s,s)⑨ chessboard(tr+s,tc,tr+s,tc+s-1,s)⑩ chessboard(tr+s,tc+s,tr+s,tc+s,s) 第九届全国青少年信息学奥林匹克联赛初赛试题及答案 (普及组PASCAL语言 二小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●● 一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分,共30分)1.下列计算机设备中,既是输入设备,又是输出设备的是()。A)键盘 B)触摸屏 C)扫描仪 D)投影仪 E)数字化仪 2.下列分辨率的显示器所显示出的图像,最清晰的是()。A)800*600 B)1024*768 C)640*480 D)1280*1024 E)800*1000 3.下列说法中,正确的是()。 A)在内存中,可执行程序用二进制码表示,源程序用八进制表示。B)程序和数据在内存中都是用二进制码表示的。C)内存中数据的存取是以二进制位为单位的。D)中央处理器CPU执行的每条指令的长度都不同。 E)一般来说,在计算机内部,中文信息用十六进制表示,英文信息用八进制表示。 4.下列说法中,错误的是()。 A)程序是指令的序列,它有三种结构:顺序、分支和循环。B)地址总线决定了中央处理器CPU所能访问的最大内存空间的大小。C)中央处理器CPU内部有寄存器组,用来存储数据。D)不同厂家生产的CPU所能处理的指令集不一定相同。E)数据传输过程中不可能会出错。 5.CPU访问内存的速度比访问下列哪个存储设备要慢()。A)寄存器 B)硬盘 C)软盘 D)磁带 E)光盘 6.下列电子邮件地址,正确的是()。 A)wang@hotmail.com B)cai@jcc.pc.tool@rf.edu.jp C)162.105.111.22 D)ccf.edu.cn E)http://www.xiexiebang.com 7.数字图像文件可以用下列哪个软件来编辑()。A)画笔(Paintbrush)B)记事簿(Notepad)C)Recorder D)WinRAR E)MidiSoft 8.下列哪个软件不是操作系统软件的名字()。A)Windows XP B)DOS C)Linux D)OS/2 E)Arch/Info 9.下列哪个不是个人计算机的硬件组成部分()。A)主板 B)操作系统 C)电源 D)硬盘 E)软驱 10.图灵(Alan Turing)是()。 A)美国人 B)英国人 C)德国人 D)匈牙利人 E)法国人 11.第一个给计算机写程序的人是()。A)Alan Mathison Turing B)Ada Lovelace C)John von Neumann D)John McCarthy E)Edsger Wybe Dijkstra 12.十进制数2003等值于二进制数()。 A)11111010011 B)10000011 C)110000111 D)010000011l E)1111010011 13.运算式(2008)10-(3723)8的结果是()。 A)(-1715)10 B)(5)10 C)(-5)16 D)(111)2 E)(3263)8 14.下列关于程序语言的叙述,不正确的是()。A)编写机器代码不比编写汇编代码容易。 B)高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行。C)同样一段高级语言程序通过不同的编译器可能产生不同的可执行程序。D)汇编代码可被CPU直接运行。E)不同的高级语言语法略有不同。 15.假设A=true,B=false,C=true,D=true,逻辑运算表达式A∧B∨C∧D的值是()。A)true B)false C)0 D)1 E)NULL 16.一个高度为h的二叉树最小元素数目是()。A)2h+l B)h C)2h-1 D)2h E)2h-l 17.已知队列(13,2,11,34,41,77,5,7,18,26,15),第一个进入队列的元素是13,则第五个出队列的元素是()。 A)5 B)41 C)77 D)13 E)18 18.下列关于文件的叙述,不正确的是()。A)一个可执行程序其实也是一个文件。B)文件可大可小,大的文件一张软盘装不下。 C)一个文件夹下面可以有两个同名的文件,只要它们的大小不同就行了。D)文件的创建日期和最新修改日期可以在资源管理器中看到。E)某些文件的内容可以用记事本(Notepad)看到。19.活动硬盘的容量比固定硬盘的容量()。A)大 B)小 C)相等 D)不一定大 E)大致相等 20.IP地址是一个()位二进制码。A)8 B)16 C)32 D)64 E)12 二.问题求解(每题5分,共10分)1.现在市场上有一款汽车A很热销,售价是2万美元。汽车A每加仑汽油可以行驶20英里。普通汽车每年大约行驶12000英里。油价是每加仑1美元。不久我公司就要推出新款节油汽车B,汽车B每加仑汽油可以行驶30英里。现在我们要为B制定价格(它的价格略高于A):我们预计如果用户能够在两年内通过节省油钱把B高出A的价钱弥补回来,则他们就会购买B,否则就不会购买B。那么B的最高价格应为 万美元。 2.无向图G有16条边,有3个4度顶点、4个3度顶点,其余顶点的度均小于3,则G至少有 个顶点。 三.阅读程序(每题8分,共32分)1.program Programl; var a,x,y,okl,ok2:integer; begin a :=100: x:=l0; y:=20; okl:=5: ok2:=0; if((x>y)or((y<>20)and(okl=0))and(ok2<>0))then a:=1 else if((okl<>0)and(ok2=、0))then a:=-1 else a:=0; writeln(a); end. 输出: 2.program Program2; var a,t:string; i,j:integer; begin a:=`morning`; j:= l; for i:=2 to 7 do if(a[j] 3.program Program3; Var a,b,c,d,sum:longint; begin read(a,b,c,d); a:=a mod 23: b:=b mod 28; c:=c mod 33; sum:=a*5544+b* 14421+c*1288-d;sum:=sum+21252;sum:=sum mod 21252;if(sum=0)then sum:=21252;writeln(sum); end. 输入:283 102 23 320 输出: 4.program program4; var a: array[0..5] of integer; sum,n,max,i,j,k:integer; cover:array[0..22000]of boolean; begin read(a[5],a[4],a[3],a[2],a[1],a[0]); if((a[5]=0)and(a[3]=0)and(a[1]=0))then begin a[5]:=a[4];a[4]:=a[2]; a[3]:=a[0]; a[2]:=0 a[0]:=0; end: for i:=0 to 5 do if(a[i]>10)then a[i]:=10+(a[i] mod 2); sum:=0: for i:=0 to 5 do sum:=sum+a[i]*(6-i); if((sum mod 2)<>0)then begin writeln(`Can``t be divided.`); Exit;End;sum:=sum div 2; max:=0; cover[0]:=True; for i:=1 to sum*2 do cover[i]:=False; for i:=0 to 5 do begin j:=0; while(j 输入:4 7 9 20 56 48 输入:1000 7 101 20 55 1 输入:2000 5 l 1 0 0 输出: 输出: 输出: 四、完善程序(第l空2分,其余每空3分共28分)1.一元二次方程 题目描述: 方程ax^2+bx+c=0,要求给出它的实数解. 输 入: 三个实数:a,b,c,是方程的三个系数(a≠0). 输 出: 如果无实数解,则输出“No solution”; 如果有两个相等的实数解,则输出其中一个,四舍五入到小数点后面3位; 如果有两个不等的实数解,则解与解之间用逗号隔开,同样要四舍五入到小数点后3位。 输入样例: l 2 1 输出样例:-1.000 程 序: program Program41; var a,b,c,m:real; begin read(a,b,c); m:=b*b-4*a*c; if(①)then begin write(② :0:3); write(` , `);write((-1*b-sqrt(m))/(2*a):0:end else if(④)then write(⑤)else begin write(`No solution`); end ③); end. 2.翻硬币 题目描述: 一摞硬币共有m枚,每一枚都是正面朝上。取下最上面的一枚硬币,将它翻面后放回原处。然后取下最上面的2枚硬币,将他们一起翻面后再放回原处。再取3枚,取4枚„„直至m枚。然后再从这摞硬币最上面的一枚开始,重复刚才的做法。这样一直做下去,直到这摞硬币中的每一枚又都是正面朝上为止。例如,m为1时,翻两次即可。m为2时,翻3次即可;m为3时,翻9次即可;m为4时,翻11次即可;m为5时,翻24次即可;„;m为30时,翻899次即可;„ 输 入: 仅有的一个数字是这摞硬币的枚数m,0 为了使这摞硬币中的每一枚又都是正面朝上所必需翻的次数。输入样例: 30 输出样例: 899 程 序: program Programl; var m:integer; function solve(m:integer):integer; vat i,t,d:integer; flag:boolean;begin if(m=1)then so1ve:= ① else begin d:=2*m+1; t:= 2;i:= 1;flag:=False; repeat if(t=1)then begin solve:= ② flag:=True; end else if(③)then begin solve:=i*m-1; flag:=True; end else t:= ④ ; i:=i+1; until flag; end end;begin read(m);if((m>0)and(m<1000))then writeln(⑤);end.第九届全国青少年信息学奥林匹克联赛初赛试题 普及组参考答案 一、选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分,多选无分,共30分) 题号 1 2 3 4 5 6 7 8 9 10 选择 B D B E A A A E B B 题号 11 12 13 14 15 16 17 18 19 20 选择 B A B D A B B C D C 二.问题解答(每题5分,共10分)1.答: 2.04 2.答: 11 三.阅读程序,并写出程序的正确运行结果:(每题8分,共32分)(1)程序的运行结果是:-1(2)程序的运行结果是;mo(3)程序的运行结果是:8910(4)程序的运行结果是:Can't be divided Can be divided Can't be divided 四.根据题意,将程序补充完整(第1空2分,其余每空3分 共28分)PASCAL语言 ================= 题一 ① m>0 ②(-l*b+sqrt(m))/(2*a); ③ 3 ④ ABS(M)<0.0001 ⑤-1*b/(2*a):0:3 题二 ① 2 ② i*m ③ t=2*m ④(t*2)mod d ⑤ solve(m) 信息学初赛试题 ------------------奥赛题库 加入时间:2005-10-18 9:25:46 yczxwang 点击:501 相关信息 一、单选题(共25题,每题2分,合计50分) 1.计算机内采用________存储各种信息。 a)二进制 b)六十进制 c)十进制 d)八进制 2.下列语言中,用________书写的代码是不需要编译就可以在机器上运行的。 a)C++语言 b)汇编语言 c)Pascal语言 d)机器语言 3.提出图灵机理论的是________。 a)图灵 Turing b)冯·诺依曼 von Neumann c)里奇 Ritchie d)盖茨 Gates 4.C语言的创始人为________。 a)图灵 Turing b)冯·诺依曼 von Neumann c)里奇 Ritchie d)斯特劳斯特鲁普 Stroustrup 5.以下________不是栈的基本运算。 a)删除栈顶元素 b)删除栈底元素 c)判断栈是否为空 d)将栈置为空栈 6.计算机软件保护法旨在保护软件的________。 a)著作权 b)使用权 c)销售权 d)复制权 7.Linux是一种________。 a)绘图软件 b)程序设计语言 c)操作系统 d)网络浏览器 8.NOI比赛中,提交文件的文件名应该_________。 a)全部大写 b)全部小写 c)大小写无所谓 d)按照题目要求大小写 9.下列软件中_____是文字编辑软件。 a)WinZIP b)Linux c)Word d)free pascal compiler 10.CPU是________的英文缩写。 a)硬盘 b)中央处理器 c)高级程序语言 d)核心寄存器 11.NOI比赛中,提交的源代码文件应该存放在_________。 a)任意地方 b)用户目录中 c)用户目录下的任意目录中 d)用户目录下对应的题目目录中 12.目前常见的个人计算机使用__________位的CPU。 a)64 b)32 c)16 d)8 13.下列字串中,________是一个可能的电子信箱地址。 a)ddd.tod.com b)125.31.57.1 c)http://www.xiexiebang.com d)email@web.de.com.kr 14.高级程序设计语言编写的源程序代码,需要经过_______才能被计算机直接运行。 a)解释 b)编译 c)破解 d)删除 15.下列名词中,________不是高级程序设计语言。 a)JAVA b)Windows c)Pascal d)C++ 16.一般来说,一种数据结构就是_________。 a)一种数据的表示方法 b)一种数据的操作方法 c)一种数据的表示及其相关操作 d)一种编程方法 17.目前NOI规定使用的操作系统是________。 a)Windows系列 b)OS/2 c)Unix d)Linux 18.与二进制数01011010等值的十六进制数为________。 a)55 b)AA c)A5 d)5A 19.计算机术语“算法”指的是__________。 a)代数运算方法 b)逻辑运算方法 c)解决问题的、有具体步骤的方法 d)统计方法 20.一个字节为________比特。 a)4 b)8 c)16 d)32 21.下列名词中,________不是网络传输协议的名称。 a)ftp b)telnet c)http d)email 22.计算机中访问速度最快而又最紧缺的存储资源是________。 a)寄存器 b)主存储器 c)高速缓存 d)外围存储设备 23.队列元素的进队出队原则是________。 a)先进先出 b)先进后出 c)后进先出 d)只进不出 24.NOI的全称是()。 a)National Office in Industry b)Natural Orange in India c)National Olympiad in Informatics d)Naval Officer in Information 25.ACM/ICPC是一项________。 a)国际高中生程序设计竞赛 b)国际大学生程序设计竞赛 c)国际大学生创造发明大赛 d)国际中学生科技夏令营 二、不定项选择题(共10题,每题2分,合计20分) 26.显示器是一种________。 a)输入设备 b)存储设备 c)输出设备 d)寄存器 27.程序的结构有________。 a)顺序结构 b)倒序结构 c)选择结构 d)循环结构 28.计算机中,常用KB作为内存大小的单位,1KB是________字节。 a)1000 b)1000000 c)1024 d)1048576 29.操作系统的主要功能是________。 a)管理硬件 b)管理文件系统 c)系统监控和维护安全 d)编译高级语言程序 30.下列关于文件的叙述,________是不正确的。 a)可执行程序可以保存为文件形式 b)文件可大可小,大的文件用一张软盘可能装不下 c)一个文件夹下面可以有两个同名的文件,只要它们的大小不同就行了 d)Linux环境中,普通用户可以读些系统中所有文件 31.衡量一个算法的优劣应该关注________。 a)正确性 b)输出格式 c)空间效率 d)时间效率 32.下列关于程序语言的叙述,________是不正确的。 a)编写机器代码比编写汇编代码容易 b)高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行 c)汇编代码可被CPU直接运行 d)不同的CPU可能拥有不同的机器代码指令集 33.下列物品中那些不是软件________。 a)CPU b)硬盘 c)光驱 d)Linux 34.数据结构中,________都是树的一种。 a)二叉树 b)堆 c)循环链表 d)霍夫曼树 35.在计算机上,由于________的限制我们无法精确表示一个无理数。 a)显示器大小 b)存储位数 c)运算速度 d)算法效率 三、判断正误,正确用“T”表示,错误用“F”表示。(共5题,每题2分,合计10分) 36.常见的高级程序设计语言有Java, C++, C, Pascal, Basic 等。 37.计算机中,汉字的编码主要有 国标码(GB)和 大五码(BIG)两种。 38.根据摩尔定律,CPU的性能价格比每18个月翻一倍。 39.常用的汉字输入法有五笔、智能ABC、激光照排等。 40.Windows是个人电脑上唯一的操作系统。 四、填空题(共5题,每题4分,合计20分) 41.用十六进制的地址编码给存储器的字节编地址,其地址是0000到FFFF,则该存储器的容量是 ________________字节(用数字准确表示,不使用K、M等简写单位)。 42.世界上第一台通用电子计算机ENIAC,于________年诞生于美国宾夕法尼亚州立大学摩尔分校。 43.NOI比赛中,某道题目的名称是first,题目要求提交源代码;某选手在比赛用机上的用户名是 user18,用户主目录是/home/user18,该选手使用Pascal语言编程,则该选手在提交first题目的源代码 文件时,该源代码文件的全路径名是(包括目录名和文件名)________。(Pascal源代码文件的后缀名 为.pas) 44.Linux系统中,管理员用户(超级用户)的缺省用户名是________。 45.在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用二分法查找12,所需的关键码 比较的次数为________。 答案: 一.单选题 1.a 2.d 3.a 4.c 5.b 6.a 7.c 8.d 9.c 10.b 11.d 12.b 13.d 14.b 15.b 16.c 17.a 18.d 19.c 20.b 21.d 22.a 23.a 24.c 25.b 二.不定项选择题 26.c 27.acd 28.c 29.abc 30.cd 31.acd 32.ac 33.abc 34.abd 35.b 三.判断正误 36.T 37.T 38.T 39.F 40.F 四.填空题 41.65536 42.1946 43./home/user18/first/first.pas 44.root 45.4 uses crt;var headx,armlx,armrx,bodyx,legx,heady,armly,armry,bodyy,legy:integer;blood:integer;eblood:array [1..9] of integer;etowards,towards,x:string;earmrx,earmlx,elegx,ebodyx,eheadx:array [1..9] of integer;head,arml,armr,body,leg:char;i1,i:integer;ehead,earml,earmr,ebody,eleg:char;stepstart,steps,enerys,enerys1:integer;firststart:integer;kk:char;active,enery:array [1..9] of integer;time:longint;skilling,deaths,skilllevel:integer;skilltime:longint;skillactive:string;freezing:integer;label 1;procedure printplayer(pr:integer);begin if pr=0 then begin textcolor(red);gotoxy(headx,heady);write(head);gotoxy(armlx,armly);write(arml);gotoxy(armrx,armry);write(armr);gotoxy(bodyx,bodyy);write(body);gotoxy(legx,legy);write(leg);textcolor(white);end else begin textcolor(green);gotoxy(eheadx[pr],17);write(ehead);gotoxy(earmlx[pr],18);write(earml);gotoxy(earmrx[pr],18);write(earmr);gotoxy(ebodyx[pr],18);write(ebody);gotoxy(elegx[pr],19);write(eleg);textcolor(white);end;end;function locationOK(lOk:integer):boolean;var lOk1:integer;begin locationOK:=true;for lOK1:=1 to i-1 do if enery[lOk1]=enery[i] then locationOK:=false;if enery[i]=bodyx then locationOK:=false;end;procedure printstep;var psp:integer;begin gotoxy(stepstart,20);for psp:=1 to steps do write('=');end;function direct(dr:integer):boolean;var dr1:integer;begin direct:=true;for dr1:=1 to enerys do if(enery[dr1]=dr)and(active[dr1]=1)direct:=false;end;procedure clearplayer(cp:integer);begin gotoxy(cp,19);write(' ');gotoxy(cp-1,18);write(' ');gotoxy(cp,17);write(' ');end;procedure turnside;begin gotoxy(38,24);write(' ');gotoxy(38,24);write(towards);end;procedure fightover(fo:string);begin if fo='left' then begin gotoxy(armlx-1,armly); then write('=');gotoxy(armlx-1,armly);write(' ');end;if fo='right' then begin gotoxy(armrx+1,armry);write('=');gotoxy(armrx+1,armry);write(' ');end;end;procedure ifs(is1:string);var is2,is3:integer;is4:string;is5:array [1..9] of integer;begin for is2:=1 to enerys do is5[is2]:=eblood[is2];if is1='left' then for is2:=1 to enerys do if active[is2]=1 then begin if armlx-1=earmrx[is2] then eblood[is2]:=eblood[is2]-5;if armlx-1=ebodyx[is2] then eblood[is2]:=eblood[is2]-10;if armlx-1=earmlx[is2] then eblood[is2]:=eblood[is2]-15;end;if is1='right' then for is2:=1 to enerys do if active[is2]=1 then begin if armrx+1=earmlx[is2] then eblood[is2]:=eblood[is2]-5;if armrx+1=ebodyx[is2] then eblood[is2]:=eblood[is2]-10;if armrx+1=earmrx[is2] then eblood[is2]:=eblood[is2]-15;end;for is2:=1 to enerys do if active[is2]=1 then if abs(enery[is2]-headx)<=3 then begin gotoxy(enery[is2],23);str(is5[is2],is4);for is3:=1 to length(is4)do write(' ');gotoxy(enery[is2],23);write(eblood[is2]);end;end;procedure levelup(lu:integer);var lu1:string;lu2:char;lu3:integer;begin case lu of 1:lu1:='frozen the enemy';end;gotoxy(30,25);write('press ''g'' to get the new skill');repeat lu2:=readkey;until lu2='g';gotoxy(30,25);write(' ');gotoxy(1,25);write('You''ve gotten a new skill:press ''f'' to ',lu1,'.Press Enter to continue');lu2:=readkey;gotoxy(1,25);for lu3:=1 to 79 do write(' ');end;procedure killing;var kill:integer;kill1:string;begin for kill:=1 to enerys do if(eblood[kill]<=0)and(active[kill]=1)then begin clearplayer(enery[kill]);enerys1:=enerys1-1;active[kill]:=0;gotoxy(enery[kill],21);write(' ');gotoxy(enery[kill],22);write(' ');gotoxy(enery[kill],23);str(eblood[kill],kill1);for i1:=1 to length(kill1)do write(' ');deaths:=deaths+1;if(deaths=10+skilllevel*5)and(skilllevel+1<2)then begin skilllevel:=skilllevel+1;skilling:=skilllevel;deaths:=0;levelup(skilllevel);end;end;end;procedure printblood;begin gotoxy(51,24);write(' ');gotoxy(51,24);write(blood);end;procedure printbloods(pb:integer);begin gotoxy(enery[pb],21);write('');gotoxy(enery[pb],22);write('');gotoxy(enery[pb],23);write(eblood[pb]);end;procedure useskill(us:integer);var us1:integer;begin case us of 1:begin time:=time-240000;freezing:=1;for us1:=1 to enerys do if active[us1]=1 then begin textcolor(blue);gotoxy(eheadx[us1],17);write(ehead);gotoxy(earmlx[us1],18);write(earml);gotoxy(earmrx[us1],18);write(earmr);gotoxy(ebodyx[us1],18);write(ebody);gotoxy(elegx[us1],19);write(eleg);textcolor(white);end;end;//case of //2: end;end;begin towards:='left';headx:=40;heady:=17;armlx:=39;armly:=18;armrx:=41;armry:=18;bodyx:=40;bodyy:=18;legx:=40;legy:=19;blood:=100;head:='';arml:='=';armr:='=';body:='';leg:='A';ehead:='';earml:='=';earmr:='=';ebody:='';eleg:='A';clrscr;randomize;gotoxy(30,24);write('towards:',towards);gotoxy(45,24);write('blood:',blood);printplayer(0);skilltime:=1000000;skillactive:='active';gotoxy(60,24);write('skill:',skillactive);repeat if enerys1=0 then begin enerys:=random(8)+1;enerys1:=enerys;steps:=random(60)+enerys;repeat stepstart:=random(75-steps)+1;until(legx>stepstart)and(legx ');gotoxy(legx,14);write(' ');gotoxy(30,25);write(' printplayer(0);if random(5)=1 then begin '); gotoxy(10,25);write('You''ve gotten a bag,open it to added your blood.(press ''o'')');repeat kk:=readkey;until kk='o';gotoxy(10,25);write(' ');if blood+80<100 then blood:=blood+80 else blood:=100;printblood;end;end else begin firststart:=1;printstep;end;for i:=1 to enerys do begin printplayer(i);active[i]:=1;eblood[i]:=100;printbloods(i);end;end;if keypressed then begin kk:=readkey;case kk of 'a':begin towards:='left';if(bodyx-1>stepstart)and(direct(bodyx-1))then begin headx:=headx-1;armlx:=armlx-1;armrx:=armrx-1;bodyx:=bodyx-1;legx:=legx-1;clearplayer(headx+1);printplayer(0);turnside; end;end;'d':begin towards:='right';if(bodyx+1 ');gotoxy(66,24);write(skillactive);useskill(skilling);end;end;time:=time+2000;skilltime:=skilltime+2000;end;if time>=40000 then begin time:=0;if freezing=1 then begin freezing:=0;for i:=1 to enerys do if active[i]=1 then printplayer(i);end;for i:=1 to enerys do if active[i]=1 then begin if enery[i]-headx>0 then etowards:='left' else etowards:='right';if abs(enery[i]-headx)>3 then begin if etowards='left' then begin enery[i]:=enery[i]-1;earmlx[i]:=earmlx[i]-1;earmrx[i]:=earmrx[i]-1;ebodyx[i]:=ebodyx[i]-1;eheadx[i]:=eheadx[i]-1;elegx[i]:=elegx[i]-1;clearplayer(eheadx[i]+1);printplayer(i);end;if etowards='right' then begin enery[i]:=enery[i]+1;earmlx[i]:=earmlx[i]+1;earmrx[i]:=earmrx[i]+1;ebodyx[i]:=ebodyx[i]+1;eheadx[i]:=eheadx[i]+1;elegx[i]:=elegx[i]+1;clearplayer(eheadx[i]-1);printplayer(i);end;if etowards='left' then i1:=1 else i1:=-1;gotoxy(enery[i]+i1,21);write(' ');gotoxy(enery[i]+i1,22);write(' ');gotoxy(enery[i]+i1,23);str(eblood[i],x);for i1:=1 to length(x)do write(' ');printbloods(i);end else begin if etowards='left' then begin gotoxy(earmlx[i]-1,18);write('=');gotoxy(earmlx[i]-1,18);write(' ');if earmlx[i]-1=armrx then blood:=blood-1;if earmlx[i]-1=bodyx then blood:=blood-2;if earmlx[i]-1=armlx then blood:=blood-3;end;if etowards='right' then begin gotoxy(earmrx[i]+1,18);write('=');gotoxy(earmrx[i]+1,18);write(' ');if earmrx[i]+1=armlx then blood:=blood-1;if earmrx[i]+1=bodyx then blood:=blood-2;if earmrx[i]+1=armrx then blood:=blood-3;end;printblood;if blood<=0 then goto 1;end; end;end;time:=time+1;skilltime:=skilltime+1;if(skilltime>=1000000)and(skillactive='not active')then begin skillactive:='active';gotoxy(66,24);write(' ');gotoxy(66,24);write(skillactive);end;if skilltime>=10000000 then skilltime:=8000000;until 1=0;1:clrscr;gotoxy(30,12);write('game over');readln;end. 文档为doc格式 大连盼达汉语学校www.xiexiebang.com 对外汉语教学如何解释语法点 在对外汉语课堂教学中,解释语法点的方法可从形式、意义、功能三方面去考虑、 *形式:结构本身、相关结构(如...... 第一章 简单程序 无论做任何事情,都要有一定的方式方法与处理步骤。计算机程序设计比日常生活中的事务处理更具有严谨性、规范性、可行性。为了使计算机有效地解决某些问题,须...... 一提到语法,许多英语学习者都会紧皱眉头,深深地叹气,同时也会马上联想到高中厚厚的语法书,还有一堆做不完搞不明白的语法题,那么对于雅思写作,语法的重要性在哪里呢?其实如果对雅思...... 初、高中英语知识的有效衔接 河北盐山中学 田宝葵 高中是初高中阶段承前启后的一年,初高中英语的有效衔接关系到学生整个高中阶段英语学习成绩的好坏和教师教学任务是否能够...... 第一篇 基本操作 --解锁用户 alter user 用户 account unlock; --锁定用户 alter user 用户 account lock; alter user scott account unlock; --创建一个用户yc 密码为a...... 资料编辑隐私设置应用设置帐户设置 邮件订阅最近使用 日志相册音乐分享小组礼物商城留言照片美容工坊人人农场虫虫帝国小小战争VIP会员迷你世界校园频道奇妙之旅整蛊专家...... Html语法大全 访问过的可连接文字的颜色 语法格式: .leftmargin 页面左侧的留白距离.topmargin 页面顶部的留白距离 语法格式: 注:value为长度值为数字align 属性 语法:文字...... 1111 (see 、hear 、notice 、find 、feel 、listen to 、 look at (感官动词)+do eg:I like watching monkeys jump 2 (比较级 and 比较级) 表示越来越怎么样 3 a piece of......第四篇:pascal竞赛试题及答案
=tc+s)then chessboard(tr,tc+s,dr,dc,s) 第五篇:pascal射击游戏完整版
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。 对外汉语教学如何解释语法点(共5则范文)
第一节 Pascal 程序结构和基本语句
语法
语法
oracle语法大全
韩语语法
Html语法大全
全能语法大全