问题 综合

阅读下列材料,回答下列问题。(10分)

遥感技术在水文学方面的应用范围是广泛的,如水资源调查、水资源动态研究、冰雪研究等。例如:青藏高原的高山冰雪覆盖区及新疆、内蒙古浩瀚无垠的戈壁沙漠地带,人们难以到达,利用遥感资料有助于掌握这些地区的冰雪消融以及江、河、湖、泊的分布、面积、水量、水质、水文资料等。

下图中,图A为某地区的平面图,图B为图A中河流R的纵剖面图,表格为图A中P地的月平均温度和月降水数据。

月份123456789101112
月平均气温(℃)-7.3-2.55.311.716.720.522.421.015.99.41.6-5.7
月平均降水量(mm)0.50.62.56.013.011.019.828.517.09.01.60.5
⑴在卫星遥感影像图上,可以找出侵蚀高山上的雪线和河流R的共同的直接解译标志是_____________。

⑵运用遥感技术对该地区探测的优点是探测范围大、___________、___________、获取信息量大。

⑶根据表中的气候数据,判定P地所在地区属于_________气候(类型)。河流R的主要水源补给形式是____________________________。

⑷遥感资料显示,近年来山区森林面积不断缩小,河流R的水量不断减少,河流尾闾地区的农业区不断缩小,主要人为原因可能有_______________和_______________。

⑸卫星遥感影像资料还表明,近年来该地区侵蚀高山上的雪线在升高,做出此判断采用的方法是_____________________________________________。

⑹导致雪线上升的环境问题可能是__________________________________________。

答案

⑴色调

⑵获取资料快  受地面限制少

⑶温带大陆性  高山冰雪融水和夏季降水

⑷中上游地区工农业用量增加  上游森林被大量砍伐

⑸对比分析不同时期该地区的卫星影像资料(2分)

⑹温室效应(或全球变暖)

问答题
多项选择题

1.SMTP是发送E-mail的协议,常用以下5条命令发送E-mail:
HELO,与SMTP服务器握手,传送本机域名;
MAILFROM:,传送发信者的信箱名称;
RCPTTO:,传送接收者的信箱名称;
DATA,发送邮件数据(包括信头和信体);
QUIT,退出与SMTP服务器的连接。
2.试题中直接利用的类及方法如下:
(1)类ServerSocket(int port)实现TCP服务器接口(socket),它提供两种构造函数,用它们来指定服务器插口所用的端口,并监听到达的连接请求。类中的主要方法有:
accept( ):启动服务器插口监听并等待,直到建立连接为止,一旦建立连接就返回Socket类的一个对象。
getInetAddress( ):返回插口所连接的主机地址。
getLocaIPort( ):返回在服务器插口上建立了连接的端口。
close( ):关闭服务器插口。
(2)类InetAddress包装了Internet地址。类中的主要方法有:
getLocaIHost( ):返回一个代表本机Internet地址的InetAddress对象。
getaddress( ):获得数字表示的IP地址。
getHostName( ):获得域名。
(3)类Socket实现基于连接的客户插口。类中的主要方法有getInetAddress( ):返回一个与插口连接的客户机的Internet地址,其类型为InetAd-dress。getlnputStream( ):用来访问与插口相关的输入流。getOutputStream( ):用来访问与插口机关的输出琉。close( ):关闭插口。
(4)readLine( )是输入流类的一个方法,用于服务器或客户从对方读入一行输入流信息。
(5)用户白定义类NVTInputStream(InputStream inStream, OutputStream outStream)实现了网络虚拟终端输入接口。
(6)用户自定义类NVTOutputStream(OutputStream outStream)实现了网络虚拟终端输接口。
3.下面是用Java语言实现的一个简单SMTP服务器程序的部分代码。
[程序代码]
import java.net. *:
import java.io. *;
import jdg. yan. NVTlnputStream; //用户自定义类包
import jdg. yan. NVTOutputStream; //用户自定义类包
public class SMTPServer App

public static void main(String args[])

SMTPServer server=new SMTPServer( );
server. run( );


class SMTPServer

static final int HELO=1;
static final int MAIL=2;
static final int RCPT=3;
static final int DATA=4;
static final int END_DATA=5;
static final int OUIT=6;
static final int FINISHED=9;
NVTOutputStream out;
NVTInputStream in;
String hostName;
public SMTPServer( )

super( );

public void run( )
try
ServerSOcket server= (1) ;//在1145号端口建立下CP服务器插口
int localPort=server. getLocalPort( );//监听连接端口
hostNama= (2) ;//获取本地主机域名
SVstem. out. prfntln("listening on port"+locaIPort+".");
boolean finished=false;
do
Socket client= (3) ;//监听等待,直到建立连接,返回对象client
Stnng destName= (4) ;//获得所连接的客户主机IP地址的域名
int destPort=client. getPort( );//所连接的客户主机端口号
System. out pnntln("Accepted connection to"+destNama+"on port"+destPort+"."
//控制台显示连接
out=new NVT0utputStream(client. get OutputStream( ));
In=new NVTInputStream( (5) );//建立与连接关联的输入流
(6) ;//接收邮件
(7) ;//关闭连接对象
while(! finished);
catch(UnknownHostException ex)
SVstem.out.printtn("UnknownHostException occurred.");//出错处理
cath(lOException ex)
System. out. println("lOException occurred.");


vold getMail( ) //实现SMTP的子集,从客户接收邮件
out. println("Server220"+hostName+"Ready!");
int state=HELO; //设置状态为HELO,state保存与客户通信的状态
do //接收并处理从邮件客户接收到的命令
String line="";
out. println("Server 250 HELO, OK!");
try
line= (8) ;//从虚拟终端读取一行
if(line==null)state=FINISHED;
catch(IOException ex)
System. out. prmntln("Server IOExceptlon occurred.");
System.exit(1);

switch(state)
case HELO:
if( (9) )//若该行信息为传送本机域名

out. println("Server 250 Hello");
System. out. println(line);
state=MAIL;
else
out. println("Server 500 ERROR");
System. out. println("Server"+line);

state=FINISHED;
break’
case MAIL: //省略代码
case RCPT: //省略代码
case DATA:
if( (10) )//若该行信息为发送邮件数据

out. println("354 mail input; end with.");
System. out. println(line);
state=END_DATA;
else
out. println("500 ERROR");
System. out. println(line);

break;
case END_DATA;//代码省略
case QUIT://代码省略

while(state!=FtNISHED);

//判断客户收到的命令是否与指定的命令字符串相匹配
boolean commandls(String s, String line)
int n=s. length( );
if(s.equalslgnoreCase(line. substring(0.n)))return true;
return false;