2、【
简答题】
试题二(15分)
[说明]
某公司要组建一个小型Windows局域网,包括1台服务器和10台PC机,网络结构如图2所示。该公司在服务器上建立自己的商业网站,网站域名定为“www.economical.com”。
[问题1](4分)
为了将公司内所有的计算机连接起来。图2中的(A)处可采用哪两种类型的设备?
[问题2](1分)
该网络的物理拓扑结构是什么类型?
[问题3](3分)
该公司在服务器上安装了DNS,以便把公司主页发布到Internet上。请问DNS的主要功能是什么?
[问题4](4分)
给出“局域网上所有用户以共享同一IP地址方式来访问Internet”的两种解决方案。
[问题5](3分)
在服务器和Internet接入之间安装采用IP过滤技术的防火墙,请问IP过滤技术是如何实现的?
[15分]
解析:
[问题1]
(1) 集线器(或Hub);
(2) 交换机。
[问题2] 星型。
[问题3]
DNS服务器为客户提供存储、查询和搜索其它主机域名和IP地址的服务。主要实现域名与IP地址之间的转换,以解决IP地址难以记忆的问题。
[问题4]
(1) 在服务器上安装代理服务器软件(例如Wingate),各PC机通过代理服务器访问Internet;
(2) 在服务器端启动Internet连接共享服务,各PC机共享服务器的Internet连接。
[问题5]
IP过滤技术可将访问者和被访问者限制在一个特定范围内,可通过以下两种方法实现:
(1) 由管理员配置IP分组过滤表,IP过滤模块根据IP分组中报头的源地址、目的地址、端口号等信息,对来往的IP分组进行过滤,允许或者禁止某些IP地址的访问。
(2) 通过配置代理服务器来限制内部用户对Internet的访问。
3、【
简答题】
试题四(共15分,每空3分)
[说明]
图4是用JavaScript编写的电子公告栏程序的执行效果,实现了预设消息的循环逐条发布。程序采用逐字延时的方式显示每条消息,模拟了类似打字机的效果。
[HTML文本]
<html>
<body>
<title>电子公告栏</title>
<script language=”JavaScript”>
var i = 0; // 表示从当前消息中提取的字符个数
var TextNumber = -1; // 当前所显示的消息的序号(取值范围0-7)
var TextInput = new Object(); // 存放消息的数组
TextInput[0] = “中科院发表全基因纠测序论文”;
TextInput[1] = “未来两天中东部地区各有降水,局部地区大幅降温”;
TextInput[2] = “俄一直升机执行任务时坠毁,机上12人可能全遇难”;
TextInput[3] = “美国宇航局:哥伦比亚号解体在返航时已经注定”;
TextInput[4] = “统计显示Google取代雅虎成为最大搜索服务网站”;
TextInput[5] = “挑战极限自然条件,联想昭阳勇攀珠峰!”;
TextInput[6] = “第一攻击手刘昌赫再试牛刀,力压李世右”;
TextInput[7] = “姚明击败奥尼尔大威,美刊非白人体育人士列第一”;
TotalTextInput = 8;
var HotText = “ ”; // 当前要显示的公告消息
var Text = “ “; // 目前已经滚动显示出的文字
var Speed = 50; // 显示速度
var TimerId; // 定时器标识
var TimerOn = false; // 定时标记
function nextMessage() // 显示下一条消息
{
if (!TimerOn)
{
TimerOn = true;
clearTimeout (TimerId);
TextNumber = __(1)__ ; // 计算下一条消息在数组中的存放位置
document.forms[0].elements[1].value = TextNumber +1;
HotText = __(2)__ ; // 当前待显示的消息
teletype();
}
}
function teletype()
{
if (TimerOn)
{
TimerId = __(3)__ ; // 将消息写在消息框中
document.forms[0].elements[0].value = __(4)__ ;
}
}
function rollMessage() // 从待显示的消息中提取前i 个字符返回给teletype()显示
{
i++;
var CheckSpace = HotText.substring(i-1,i);
CheckSpace = ““ + CheckSpace;
if (CheckSpace == “ “) i++;
if (i >= HotText.length + 1)
{
TimerOn = false;
Text = HotText.substring(0,i);
i = 0;
return (Text);
}
Text = HotText.substring(0,i);
return (Text);
}
</script>
</head>
<body>
<form>
<p align=”center”>电子公告栏</p>
<table>
<-- 中间省略网页结构性文档 -->
<input TYPE=”text” value=”共8条” SIZE=”5” name=”1”>
<input TYPE=”button” VALUE=”下一条” _dj=” __(5)__ ”>
</table>
</form>
</body>
</html>
[15分]
解析:
(1) (TextNumber+1)%TotalTextInput或 ++TextNumber%TotalTextInput
(2) TextInput[TextNumber]
(3) setTimeout(“teletype( )”,Speed)
(4) rollMessage( )
(5) nextMessage( )
4、【
简答题】
试题五(共15分,每空3分)
[说明]
图5是用JavaScript编写的同学录程序的执行效果。程序的具体功能是通过将“鼠标左键单击的左框中按钮的标记”保存在Cookie中,实现了点击不同的按钮在右框内显示不同的内容。
[HTML文本]
<html>
<head>
<meta http-equiv=”Content-Type” c_dj=”text/html; charset=gb2312”>
<title>同学录</title>
<script language=”JavaScript”>
var ButtonSelected; // 用户按下的按钮的标记
function getCookie(name) {....} // 读取Cookie值,代码省略
function setCookie(name,value) {....} // 写Cookie值,代码省略
function deleteCookie(name) {....} // 删除Cookie,代码省略
function refresh(i) // 保存按钮标记并刷新当前网页显示
{
setCookie(“ButtonSelected”,i);
history. ___(1)___ ;
}
function load() // 初始化Cookie值
{
var Expdate = new Date();
Expdate.setTime(expdate.getTime() + (5*24*60*60 + 1000));
ButtonSelected = 0;
setCookie(“ButtonSelected”, ButtonSelected, Expdate);
}
function Address(strName, strSex, strAddress, strMobile) // 设置通讯录字段的值
{
this.name = strName;
this.sex = strSex;
this.address = strAddress;
this.mobile = strMobile;
return this;
}
function initArray(iSize) // 初始化数组
{
if (initArray.argument.length)
this.length = iSize;
else
this.length = 0;
for (var i=0; i<this.length; i++)
this[i] = null;
return this;
}
addresses = ___(2)___ ; // 创建一个存放5个记录的数组
addresses[0] = new Address(“高阳”,”男”,”上海市徐汇区”,”130000000”);
addresses[1] = new Address(“刘东升”,”男”,”北京市上地”,”135000000”);
addresses[2] = new Address(“王丽”,”女”,”成都市建设路”,”133000000”);
addresses[3] = new Address(“赵磊”,”男”,”沈阳市五里河”,”139000000”);
addresses[4] = new Address(“张强”,”男”,”南京市紫金山”,”138000000”);
function printAddress(ObjAddr) // 输出通讯录中的一行
{
return “<TD>” + objAddr.name + “</TD><TD>” + ObjAddr.sex + “</TD><TD>” + ObjAddr.address + “</TD><TD>” + ObjAddr.mobile +”</TD>”;
}
</script>
</head>
<body Onload = “ ___(3)___ ”>
<p align=”center”>同学录</p>
<table border=”1” width=”882” height=”1” align=”left”>
<tr><td width=”100” height=”26”>
<input type=”button” value=” 通讯录 “ name=”Btxl” _dj=”refresh(1)”></td>
<td width=”766” height=”140” rowspan=”17” valign=”top” align=”center”>
<script>
ButtonSelected = ___(4)___ ; // 读取上次点击的按钮的标记
if (ButtonSelected == 1)
{
document.write(“<table border=1><tr><th>姓名</th><th>性别</th>”);
document.write(“<th>通信地址</th><th>手机号码</th></tr>”)
for (var i=0; i<address.length; i++)
{
document.write(“<tr>”);
document.write(printAddress(addresses[i]));
document.write(“</tr>”);
}
document.write( ___(5)___ );
}
else if(ButtonSelected == 2)
{
// 若选择其他按钮则执行其他操作,代码省略
}
</script>
</td>
<-- 省略网页结构性文档 -->
</table>
</body>
</html>
[15分]
解析:
(1) go(0)
(2) new initArray(5)
(3) load( )
(4) getCookie(“ButtonSelected”)
(5) “</table>”