全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Tcl/Tk Quiz SheetTime: 2 hoursPart I. Fill Out. (10%) Tcl is for _, its a _ language.生成pkg_Index.tcl文件的命令是_。在执行package require命令的时候,该命令会根据变量_查找相关package所在路径。Tcl命令出错时错误信息一般存放在全局变量_中。用命令_可以列出数组中元素名称。可将一个字符串中的每个字符分开来的list命令是_;如果字符串是“HappyDay”,则完整的命令为_。如果要在这个字符串中每个字符之间插入一个“/”, 则可以使用上面的命令和另一个list命令_来共同完成,完整命令为_。名字空间输出过程/函数的命令是 namespace _。而从名字空间输入过程的命令则是_。在读取文件时,判断已到文件结尾的命令是_。获取过程的脚本的命令是info_;而获取过程的参数的命令是_。判断一个变量是否存在的命令是_。可以用来装载并执行脚本文件的Tcl命令是_。环境变量被存放在一个特殊数组中,即_。根据模式说明来格式化字符串的命令是_,而根据模式来解析字符串的命令是_。Part II. Choice correct answer(s) for the following review questions .(24%)To open a file for reading and writing, which command is right? (1%)open $file rwopen $file r+open $file wopen $file w+In which sentence(s) the variable after (first) “$” can be replaced by its actual value? (3%)catch puts My name is $name errregexp my name is $name “Im a girl, my name is QQ” matchset str My name is $nameeval puts “My name is $name”set var name; puts “My name is $var”if $name = “QQ” puts “$name is bigger than QQ”subst a=$name,b=expr 3*10switch $X “$name” puts ok To find out commands which can be used to destroy an array “arrParams”. unset arrParams array unset arrParamsdestroy arrParamsforget arrParamsWhich character is logical and? |&|& Pick out the correct command(s) whose result is an integer ? expr 10 / 2.0expr 10/2expr int(10/2.0)expr int(expr 10/2.0)Which command can be used to convert hex value “0x23” into a ten digital length integer with all zero filled out at left side?哪个命令可以用来将十六进制数“0x23”转换为10位长度的十进制整数,且右对齐,不足十位则左侧补零,即0000000035? format “%10d” 0x23format “%-10d” 0x23format “%010d” 0x23format “%-010d” 0x23对于 “array names arrParams lif*”正确的说法是 “lif*”是通配符形式而非正则表达式与A相反既是通配符,又是正则表达式以上描述都不对以下那些命令也可以用正则表达式形式? lsearchstring matcharray namesswitch一个脚本文件中定义了若干个过程(函数),形式为proc funcName # Procedure body以下哪个正则表达式可以从脚本文件中将过程名提取出来?regexp t *?proct +(a-zA-Z0-9-_+)t +.*?t $str match funcregexp proct +(a-zA-Z0-9-_+)t +.?t $str match funcregexp proc +?a-zA-Z0-9-_+? +* $str match func代表标准错误输出的是 stdinstdoutstderr代表命令行参数个数的变量是: argvargv0argcargs下面那些命令会对变量直接操作而更改其值: appendconcatlappendlinsertPart III. True or False.(10%)uplevel 1是global即最上一级的下一级,而uplevel #1则是本级的上一级。 upvar中如果level不指定则默认为1,即本级的上一级;而0则表示全局变量。 lappend a a b c和 set a concat $a a b c的结果是一样的。 环境变量数组env在子解释器中可以直接使用。 子解释器就是一个单独线程。 正则表达式中*、+和?具有贪婪性,它们会尽可能多的匹配字符,为了让它们进行非贪婪匹配,可以通过在其后加一个问号“?”的方法来实现。但此非唯一方法。 列表也是字符串,所以可用字符串命令来操作和处理。 数组是特殊的字符串,可以用字符串命令来处理。 用variable而非global定义的名字空间的全局变量只能在本名字空间内可见。 在多重循环控制语句中,最内层循环的break命令只会中断该重循环,而不会中断外层循环. Part IV. Answer the following questions (21%)试列举两种可用来比较字符串大小的方法或命令。(5%)“string compare”,“string equal”和“string match”的输出结果有什么异同?(5%)解释一下正则表达式中 关于“?”、“+”与“*”的“贪婪”和“非贪婪”性,并举例说明和比较。(6%)论述对Tcl中的“命令解释器”和“子命令解释器”的理解。(5%)Part V. Writing Lab. (40%)用after命令和嵌套函数设计一个时钟函数。要求:每隔1秒在终端打印出当时时间,格式为“日期/时:分:秒”。输出结果如下:10%2006-6-21/12:10:022006-6-21/12:10:03在设计测试脚本过程中,经常需要对一定范围内的IP地址按照一定步长进行遍历。试设计这样一个函数,将给定的IP地址增加一个步长并返回新的IP地址。输入参数为初始IP地址和步长。初始IP地址,步长和新IP地址都是点分十进制IP地址。(提示:每段IP地址可视为255进制,即范围是0到255。注意进位的判断) 15%2.1 用伪语言或者流程图描述处理流程。5%2.2 完成代码。10%proc incr_ip_addr ip_addr step set new_ip_addr “”# fill your scripts here return $new_ip_addr #Examples set new_ip_addr incr_ip_addr 10.8.9.1 0.0.0.3 ; # new_ip_addr should be 10.8.9.4 set new_ip_addr incr_ip_addr 10.8.9.254 0.0.0.5; # new_ip_addr should be 10.8.10.3, #because 254 plus 5 is bigger than 255指出下面脚本中的错误并改正。5%3.1 switch 语句 1%switch -exact - $result # To check the result TRUE # This is true. puts TRUE FALSE puts FALSE UNKNOW -default puts UNKNOW value 3.2 在字符串中搜索出IP地址。IP地址的每部分可能为1到3位数字 2%if regexp 0-93,1.0-93,1.0-93,1.0-93,1 $str match puts “the IP address is $match”3.3 2%catch exec ls errStrputs “Execut “
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论