2006下半年程序员考试真题及答案-下午卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2006下半年程序员考试真题及答案-下午卷
试题一至试题三是必答题
试题一(共15 分)
阅读以下说明和算法,完善算法并回答问题,将解答写在答题纸的对应栏内。
[说明]
假设以二维数组 G[1..m,1..n]表示一幅图像各像素的颜色,则 G[i,j]表示区域中点(i,j)处的颜色,颜色值为 0 到 k 的整数。
下面的算法将指定点(i0,j0)所在的同色邻接区域的颜色置换为给定的颜色值。
约定所有与点(i0,j0)同色的上、下、左、右可连通的点组成同色邻接区域。
例如,一幅8×9 像素的图像如图 1-1 所示。
设用户指定点(3,5),其颜色值为 0,此时其上方 (2,5)、下方 (4,5)、右方 (3,6)邻接点的颜色值都为 0,因此这些点属于点(3,5)所在的同色邻接区域,再从上、下、左、右四个方向进行扩展,可得出该同色邻接区域的其他点(见图 1-1 中的阴影部分)。
将上述同色区域的颜色替换为颜色值 7 所得的新图像如图 1-2 所示。
[算法]
输入:矩阵 G,点的坐标(i0,j0),新颜色值 newcolor。
输出:点(i0,j0)所在同色邻接区域的颜色置换为 newcolor 之后的矩阵 G。
算法步骤(为规范算法,规定该算法只在第七步后结束):
第一步:若点(i0,j0)的颜色值与新颜色值 newcolor 相同,则 (1) ;
第二步:点(i0,j0)的颜色值→oldcolor;创建栈 S,并将点坐标(i0,j0)入栈;
第三步:若 (2) ,则转第七步;
第四步:栈顶元素出栈→(x,y),并 (3) ;
第五步:1) 若点(x,y-1)在图像中且 G[x,y-1]等于 oldcolor,则(x,y-1)入栈 S;
2) 若点(x,y+1)在图像中且 G[x,y+1]等于 oldcolor,则(x,y+1)入栈 S;
3) 若点(x-1,y)在图像中且 G[x-1,y]等于 oldcolor,则(x-1,y)入栈 S;
4) 若点(x+1,y)在图像中且 G[x+1,y]等于 oldcolor,则(x+1,y)入栈 S;
第六步:转 (4) ;
第七步:算法结束。
[问题]
是否可以将算法中的栈换成队列?回答: (5) 。
试题二(共 15 分)
阅读以下说明和 C 函数,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
某单位准备进行一次选举,对指定的 n 名(n<80)候选人进行投票。
为了简化选举工作,事先印制了写有这 n 名候选人姓名的选票,投票者只需将选中者名下的圆圈涂黑即可。
规定每张选票上被涂黑的圆圈数不得超过 3 个,也不得少于 1 个,否则视为无效选票。
投票结束后,所有选票经计算机扫描处理,形成了描述选票状态的文本文件。
例如,n=8 时所形成的文件如下:
01011000
10010100
10011000
11111111
00000000
00111000
…
其中,每行表示一张选票的数据,每列代表一位候选者的得票情况。
第 i 行第 j 列为1,表示第 i 张选票上投了第 j 名候选人 1 票。
函数 statistic( )的功能是读入选票数据,并统计每位候选者的得票数,函数返回有效选票数。
[C 函数]
int statistic(FILE *fp,int candidate[],int n)
{ /* 从文件中读入选票数据,n 为候选人数量(n<80),从有效选票中统计每位候选者的得票数并存入 candidate[],函数返回有效选票数*/
char str[80]; /* str 保存读入的一张选票数据 */
int i,tag = 0; /* tag 用于判断每张选票是否有效 */
int q = 0; /* q 用于计算有效选票数 */
for(i = 0; i < n; i++)
candidate[i] = 0;
while ( (1) ) {
fgets(str,80,fp); /* 读入一张选票数据 */
for(tag = 0,i = 0; (2) ; i++)
if (str[i] == '1') tag++;
if ( (3) ){ /* 若是有效选票,则进行统计 */
(4) ;
for (i = 0; i < n; i++)
if (str[i] == '1') (5) ;
}
}
return q;
} /* statistic */
试题三(共 15 分)
阅读以下说明和 C 函数,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
若一个矩阵中的非零元素数目很少且分布没有规律,则称之为稀疏矩阵。
对于 m 行n 列的稀疏矩阵 M,进行转置运算后得到 n 行 m 列的矩阵 MT,如图 3-1 所示。
为了压缩稀疏矩阵的存储空间,用三元组(即元素所在的行号、列号和元素值)表示稀疏矩阵中的一个非零元,再用一维数组逐行存储稀疏矩阵中的所有非零元素(也称为三元组顺序表)。
例如,图 3-1 所示的矩阵 M 相应的三元组顺序表如表 3-1 所示,其转置矩阵 MT 的三元组顺序表如表 3-2 所示。
表3-1 矩阵M
行号列号元素值0 1 -3
0 4 5
1 3 10
2 0 12
3 1 1
4 3 4 -7 表3-2 M的转置矩阵MT
行号列号元素值
0 2 12
1 0 -3
1 3 14
3 1 10
4 0 5
4 3 -7
函数 TransposeMatrix(Matrix M)的功能是对用三元组顺序表表示的稀疏矩阵 M 进行转置运算。
对 M 实施转置运算时,为了将 M 中的每个非零元素直接存入其转置矩阵 MT 三元组顺序表的相应位置,需先计算 M 中每一列非零元素的数目(即 MT 中每一行非零元素的数目),并记录在向量 num 中;然后根据以下关系,计算出矩阵 M 中每列的第一个非零元素在转置矩阵 MT 三元组顺序表中的位置:
cpot[0] = 0
cpot[j] = cpot[j-1] + num[j-1] /* j 为列号 */
类型 ElemType、Triple 和 Matrix 定义如下:
typedef int ElemType;
typedef struct { /* 三元组类型 */
int r,c; /* 矩阵元素的行号、列号 */
ElemType e; /* 矩阵元素的值*/
}Triple;
typedef struct { /* 矩阵的三元组顺序表存储结构 */
int rows,cols,elements; /* 矩阵的行数、列数和非零元素数目 */
Triple data[MAXSIZE];
} Matrix;
[C 函数]
int TransposeMatrix(Matrix M)
{
int j,q,t;
int *num, *cpot;
Matrix MT; /* MT 是 M 的转置矩阵 */
num = (int *)malloc(M.cols*sizeof(int));
cpot = (int *)malloc(M.cols*sizeof(int));
if (!num || !cpot)
return ERROR;
MT.rows = (1) ; /* 设置转置矩阵 MT 行数、列数和非零元数目 */
MT.cols = (2) ;
MT.elements = M.elements;
if (M.elements > 0) {
for(q = 0; q < M.cols; q++)
num[q] = 0;
for(t = 0; t < M.elements; ++t) /* 计算矩阵 M 中每一列非零元素数目 */
num[M.data[t].c]++;
/* 计算矩阵 M 中每列第一个非零元素在其转置矩阵三元组顺序表中的位置 */
(3) ;
for(j = 1;j < M.cols; j++)
cpot[j] = (4) ;
/* 以下代码完成转置矩阵 MT 三元组顺序表元素的设置 */
for(t = 0; t < M.elements;t++){
j = (5) ; /* 取矩阵 M 的一个非零元素的列号存入 j */
/* q 为该非零元素在转置矩阵 MT 三元组顺序表中的位置(下标)*/
q = cpot[j];
MT.data[q].r = M.data[t].c;
MT.data[q].c = M.data[t].r;
MT.data[q].e = M.data[t].e;
++cpot[j]; /* 计算 M 中第 j 列的下一个非零元素的目的位置 */
} /* for */
} /* if */
free(num); free(cpot);
/*此处输出矩阵元素,代码省略*/
return OK;
} /* TransposeMatrix */
试题四(共 15 分)
阅读以下应用说明以及用 Visual Basic 编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
[应用 4.1]
设应用程序的运行窗口内有一个文字标签(Label)以及一个框架,其中有三个复选框(chk1,chk2,chk3),各个复选框单击事件过程的程序代码如下:
Private Sub chk1_Click( )
Label.fontBold = chk1.Value
End Sub
Private Sub chk2_Click( )
Label.fontItalic = chk2.Value
End Sub
Private Sub chk3_Click( )
Label.fontUnderLine = chk3.Value
End Sub
三个复选框 chk1、chk2、chk3 的功能分别是: (1) 。
[应用 4.2]
设应用程序的运行窗口内有两个文本框 Txt1 和 Txt2,其初始内容为空。
在 Txt1 文本框中输入一个数值,当光标离开此文本框(例如进入文本框 Txt2)时,执行的程序代码如下:
Private Sub Txt1_LostFocus()
dim x as double
x = Val(Txt1.Text)
If x<0 Or x>100 Then
Txt1.Text = ""
MsgBox$ ("请重新输入!")
Txt1.SetFocus
Else
Txt2.Text = Txt1.Text
End If
End Sub
该程序代码的功能是:若在文本框 Txt1 中输入的数值小于 0 或大于 100,当光标离开此文本框时, (2) ;否则,将其值复制到文本框 Txt2 中。
[应用 4.3]
在下面的应用中,当窗口内发生 Click 事件时,窗口内将显示如图 4-1 所示的杨辉三角形(每一行都是二项式展开的系数)。
请完善程序代码
Private Sub Form_Click()
Dim i, j, c As Integer,StrTemp As String
Dim a(9) As Integer
a(0) = 0: a(1) = 1
StrTemp = Str(a(1)) + Space(3) CurrentX = (ScaleWidth - TextWidth(StrTemp)) / 2
Print StrTemp
For j = 2 To 9
a(j) = 1
For c = j-1 To 2 Step -1
a(c) = (3)
Next
(4) = ""
For c = 1 To j
StrTemp = StrTemp & Str( (5) ) & Space(5 - Len(Str(a(c))))
Next
CurrentX = (ScaleWidth - TextWidth(StrTemp)) / 2
Print StrTemp
Next
End Sub
试题五(共 15 分)
阅读以下说明和 C 函数,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
某班级有 N 名学生,他们可根据自己的情况选修名称和数量不尽相同的课程。
设 N等于 6,学生信息、所选课程及成绩用链表结构存储,如图 5-1 所示。
程序中相应的类型定义如下:
#define N 6
struct node{
char cname[5]; /*课程名*/
int grade; /*成绩*/
struct node *next; /*指针,指示某学生选修的下一门课程及成绩*/
};
struct student{
char xh[5]; /*学号*/
char name[20]; /*姓名*/
struct node *link; /*指针,指示出选修的课程及成绩链表*/
}stud_info[N];
stud_info[]为一个全局数组。
函数 func (char kc[],int *num)的功能是统计选修了课程名为 kc 的学生的人数,并返回该课程的平均成绩(若无人选修该课程,则平均成绩为 0),参数 num 带回选修课程 kc 的学生人数。
[C 函数]
double func (char kc[],int *num)
{
int i,count = 0,sum = 0; /*count 用于记录选修课程名为 kc 的学生的人数*/ double avg = 0.0;
struct node *p;
for(i = 0; i < N; i++){
p = (1) ; /*取第 i 个学生所修课程链表的头指针*/
while (p) {
if ( (2) ) {
sum = (3) ;
count++;
break;
} /*if*/
p = p->next;
} /*while*/
}
(4) ;
if ( (5) )
avg = (double)sum / count; /* 计算平均成绩 */
return avg;
} /*func*/
试题六(共 15 分)
阅读以下说明和 C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
在下面的C++代码中,类 SalesTicket 能够完成打印票据正文的功能,类HeadDecorator 与 FootDecorator 分别完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文!
这是票据的脚注!
------------------------
这是票据的台头!
这是票据的脚注!
[C++程序代码]
#include <iostream>
using namespace std;
class SalesTicket {
public:
(1) printTicket() { cout << "这是票据正文!" << endl;}
};
class Decorator : public SalesTicket{
SalesTicket *ticket;
public:
Decorator(SalesTicket *t){ ticket = t; }
void printTicket(){
if(ticket != NULL)
ticket->printTicket();
}
};
class HeadDecorator : public Decorator{
public:
HeadDecorator(SalesTicket *t): (2) { }
void printTicket() {
cout << "这是票据的台头!" << endl; Decorator::printTicket();
}
};
class FootDecorator :public Decorator{
public:
FootDecorator(SalesTicket *t): (3) { }
void printTicket() {
Decorator::printTicket();
cout << "这是票据的脚注!" << endl;
}
};
void main(void) {
SalesTicket t; FootDecorator f(&t);
HeadDecorator h( (4) );
h.printTicket();
cout << "------------------------"<< endl;
FootDecorator a(NULL);
HeadDecorator b( (5) );
b.printTicket();
}
试题七(共 15 分)
阅读以下应用说明以及用 Visual Basic 编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
[应用说明]
某应用程序用于监测某种设备的工作温度(20~200 度),其运行窗口中,包括一个温度计(矩形形状 shpMeter)以及其中指示当前设备温度的水银柱(矩形形状 shpT), 文字标签标记了温度刻度;另有一个图片框 picCurve,用于动态描述检测到的温度曲线(用户见到的曲线与水银柱等高变化);命令按钮“开始检测”(cmdStart)用于启动温度检测,命令按钮“暂停检测”(cmdStop)用于暂停检测。
矩形形状 shpT(水银柱)属性 visible 初始设置为不可见,属性 Filltype 设置为solid(实心),FillColor 设置为红色;图片框 picCurve 的属性 AutoRedraw 设置为 True;再创建一个定时器 TimT,属性 Enabled 初始设置为 False(不起作用),属性 Interval(定时间隔)设置为 500 毫秒。
为模拟设备温度的检测,程序中利用了(0,1)之间均匀分布的伪随机数获得[20,200] 之间的随机温度 T。
为了便于在图片框 picCurve 中绘制曲线,程序中对该图片框建立了坐标系统,左上角为原点(0,0),水平向右方向为 X 轴,垂直向下方向为 Y 轴,右下角坐标为(50,180)。
为了便于观察记录的温度值,图片框中从上到下创建了 5 条水平线
Ls(i),i=0,1,…4,并在程序中按等间隔排列进行位置设置。
程序中每隔半秒算出曲线点(x,y),其中x=0,1,2,…,再用直线段连接各相邻曲线点形成温度曲线。
[Visual Basic 程序代码]
Dim (1) As Integer '声明全局变量
Private Sub CmdStart_Click( )
TimT.Enabled = True
ShpT.Visible = True
End Sub
Private Sub CmdStop_Click( )
TimT.Enabled = False
End Sub
Private Sub Form_Load( )
Dim i, H As Integer
PicCurve.Scale (0, 0)-(50, 180)
'设置图片框坐标系:左上角-右下角H = 30 'H 等于图片框高度的六分之一
For i = 0 To 4 '设置 5 条水平线 Ls(i)的位置
Ls(i).X1 = 0 'Ls(i)起点横坐标
Ls(i).Y1 = H * (2) 'Ls(i)起点纵坐标
Ls(i).X2 = 50 'Ls(i)终点横坐标
Ls(i).Y2 = Ls(i).Y1 'Ls(i)终点纵坐标
Ls(i).BorderColor = &HC0C0C0 '设置水平线颜色
x = 0 '设置曲线坐标初值
End Sub
Private Sub timT_Timer()
Dim T, H As Integer 'T 为即时温度,H 为图片框中温度点显示高度
T = Int(Rnd * 181) + 20 '模拟随机产生设备温度(20~200 度)
'按当前温度显示水银柱
H = ShpMeter.Height * (3) '算出水银柱的高度
ShpT.Top = (4) - H '设置水银柱顶部位置
ShpT.Height = H '设置水银柱的高度
'绘制温度曲线
y = (5) '算出曲线上当前点的纵坐标
If x = 51 Then '当超出图片框时
PicCurve.Cls '清除图片框内以前画的曲线
x = 0 '设置重画曲线的初值
ElseIf x > 0 Then '除左边点外
PicCurve.Line (x-1,Lasty)-(x,y),vbRed '由前 1 点到当前点画红色线段
End If
x = x + 1 '准备下一点坐标
Lasty = y '保存当前坐标供下次使用
End Sub
试题八(共 15 分)
阅读以下说明和 Java 程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
在下面的 Java 程序代码中,类 SalesTicket 能够完成打印票据正文的功能,类HeadDecorator 与 FootDecorator 分别完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文!
这是票据的脚注!
------------------------
这是票据的台头!
这是票据的脚注!
[Java 程序代码]
public class SalesTicket {
public void printTicket() {
System.out.println("这是票据正文!");
}
}
public class Decorator extends SalesTicket{
SalesTicket ticket;
public Decorator(SalesTicket t){
ticket = t;
}
public void printTicket(){
if(ticket != null)
ticket.printTicket();
}
}
public class HeadDecorator extends Decorator{
public HeadDecorator(SalesTicket t) {
(1) ;
}
public void printTicket() {
System.out.println("这是票据的台头!");
super.printTicket();
}
}
public class FootDecorator extends Decorator{
public FootDecorator(SalesTicket t) {
(2) ;
}
public void printTicket() {
super.printTicket();
System.out.println("这是票据的脚注!");
}
}
public class Main {
public static void main(String[] args) {
T = new HeadDecorator( (3) );
T. (4) ;
System.out.println("------------------------");
T = new FootDecorator( (5) ); T.printTicket();
}
}
参考答案
试题一
(1)转第七步
(2)栈空
(3)G[x,y] ← newcolor
(4)第三步
(5)可以
试题二
(1) !feof(fp)
(2) i < n && str[i]!='\0'
(3) tag > = 1 && tag <= 3
(4) q++
(5) candidate[i]++
试题三
(1) M.cols
(2) M.rows
(3) Cpot[0] = 0
(4) Cpot[j-1] + num[j-1]
(5) M.data[t].c
试题四
(1)对文字标签中的文字,分别控制其粗体、斜体和下划线设置
(2)将该文本框清空;弹出消息框,提示重新输入;光标定位于该文本框中(3) a(c) + a(c-1)
(4) StrTemp
(5) a(c)
试题五
(1) stud_info[i].link
(2) !strcmp(p->cname,kc)
(3) sum + p ->grade
(4) *num = count
(5) count ! = 0
试题六
(1) virtual void
(2) Decorator(t)
(3) Decorator(t)
(4) &f
(5) &a
试题七
(1) x,Lasty
(2) (i+1)
(3) (T - 20) / 180
(4) ShpMeter.Top + ShpMeter.Height
(5) 200 - T
试题八
(1) super(t)
(2) super(t)
(3) new FootDecoratro (new SalesTicket()) (4) printTicket()
(5) new HeadDecorator (null)
附赠资料:
程序员考试高频考点
《顺序结构》
顺序结构用来描述一个计算或操作序列,表示从序列的第一个计算开始,顺序执行序列中的每个计算,直至序列的最后一个计算。
通常,一个复杂的计算过程不能用一个简单的计算来表达,而需把复杂的计算描述成简单计算的序列。
1.复合语句
在C语言中,将顺序执行的语句序列,用花括号括起来,构成C语言的复合语句。
在逻辑上视复合语句为单个语句,它也能用作其它结构语句的成分语句。
在很多场合,复合语句内还会包含其它结构语句。
2.表达式语句
在顺序结构中,最频繁使用的是表达式之后接上一个分号。
例如,在赋值表达式之后接上分号,完成用表达式的值更新某变量,习惯称这种表达式语句为赋值语句;在函数调用之后接上分号,完成指定的计算功能,习惯称这种表达式语句为函数调用语句。
常用输入输出库函数
最基本的输入输出库函数有字符输入函数、字符输出函数、格式输入函数和格式输出函数。
1.字符输入函数
字符输入函数getchar()的功能是从标准输入设备上(通常是键盘终端)读取一个字符。
该函数没有参数,对它的每次调用,就返回下一个输入字符的ASCII代码值。
例如,执行语句
ch=getchar();
使变量ch得到输入字符的ASCII代码值。
一般情况下,这里的变量ch为char型或int 型。
当程序在输入字符后,用ch判定输入文件是否结束时,变量ch必须是int型的。
这是因为文件结束标记值是-1,是int型的。
程序中常用EOF表示当前读人字符是文件结束标记,常量名EOF在文件Stdio.h中被定义为-1.
2.字符输出函数
字符输出函数ptuchar()有一个字符的ASCII代码值参数,函数调用putchar(ch)的功能是将以出值为其ASCII代码的字符输出到标准输出设备(通常是终端显示屏)上。
这里ch可以是char型或int型数据。
3.格式输入函数
格式输入函数scanf()的作用是从标准设备读人字符序列,按格式控制字符率所包含的格式解释输入字符序列,并将解释结果存储到对应的变量中。
调用格式输入函数scanf()的一般形式为scanf(格式控制字符串,变量地址,变量地址,……)
格式控制字符串是字符串表达式,通常是由一对双引号括起来的字符串常量,直接用于解释输入字符序列。
格式控制字符率可以包含:
空白类字符(空格符或制表符),它们使输入跳过空白类字符,直到遇到下一个非空白类字符。
普通字符(不包括%),它们要求输入字符流中下一个字符与它相同。
格式转换说明,以字符‘%’开头至输入格式符结束的字符序列组成。
格式转换说明引导对下一输入字符段进行转换。
格式转换说明的一般形式为%
[w][h/l/L]输入格式符
输入格式符共有14个,有12种不同输入格式,其中大纲要求掌握的7种输入格式符的意义见表3.1.用方括号括住的内容是输入格式修饰说明,可以缺省,它们的意义是:
(1)*——星号(赋值抑制符),对应的输入数据项按格式要求被输入,但结果不存储。
带星号的格式转换说明不对应变量地址。
用它来跳过一个输入数据项。
(2)——整型常数(域宽说明),表示输入数据项的字符段的有效字符数。
若实际输入字符段的字符数小于W,以实际有效字符为准。
对于数值数据输入格式来说,输入域定义为从下一个非空白类字符起(因此可能跳过若干个空格符、制表符、换行符),到一个与数值数据相矛盾的字符,或直到输入了指定个数的字
符数;对于字符率输入格式来说,输入域定义为从下一个非空白类字符起,输入非空白类字符,直至遇到空白类字符,或直到输入了指定个数的非空白字符。
(3)h/l/L长度修饰符,指明输入数据项的存储类型。
h修饰格式符d,o,X时,表示输入的整数按短整型存储。
l修饰格式符d,O,X时,表示输入的整数按长整型存储。
l修饰格式符e,f时,表示输入的实数按double型存储。
缺省时,对于格式符d,o,x,表示输入的整数按int整型存储;对于格式符e,f,表示输入的实数是按float型存储。
《处理串行线路故障》
1、HDLC封装
High-level Data Link Control(HDLC)是用于串行链路的一种封装方法,HDLC是Cisco 路由器串行接口的缺省封装方法。
处理串行链路故障的第一步就是查看链路两端要使用相同的封装类型。
Show interface serial 1 ;查看接口信息
Clear counters serial number ;复位接口的计数器到0
正常情况下,接口和line都是up的。
线缆故障、载波故障和硬件故障都可导致接口down,通过校验电缆连接、更换硬件(包括电缆)、检查载波信令定位问题。
接口up,line down:CSU/DSU故障、路由器接口问题、CSU/DSU或载波的时间不一致、没有从远端路由器接收到keepalive信令、载波问题。
应验证本地接口和远端接口的配置。
接口重启的原因:
数秒内排队的包没有被发送;
硬件问题(路由器接口、线缆、CSU/DSU);
时钟信令不一致
环路接口
接口关闭
线协议down且接口定期重启
show controllers serial 0 ;显示接口状态、是否连有线缆、时钟速率
show buffers ;查看系统buffer池,接口buffer设置
debug serial interface ;显示HDLC或Frame Relay通信信息
2、CSU/DSU环路测试
有四种类型的环路测试:
在本地CSU/DSU上测试本地环路;
在远端CSU/DSU上测试本地环路;
从本地NIU到远端CSU/DSU测试远端环路;
从远端NIU到本地CSU/DSU测试远端环路;
用PPP封装的串行链路上,PPP用协商Magic Number检测环回网络。
3、串行线中总结:
1)症状和问题:
症状或情形问题
Interface is administratively down;line protocol is down 1)接口被从命令行关闭2)不允许重复的IP地址,两个使用相同IP地址的接口将down
Interface is down;line protocol is down 1)不合格的线缆2)没有本地提供商的信令3)硬件故障(接口或CSU/DSU、线缆)4)时钟
Interface is up;line protocol is down 1)未配置的接口:本地或远程2)本地提供商问题3) Keepalive序号没有增加4)硬件故障(本地或远端接口、CSU/DSU)5)线路杂音6)时钟不一致7)第2层(如LMI)
Interface is up;line protocol is up(looped)链路在某处环路
Incrementing carrier transition counter 1)来自本地提供商的信号不稳定2)线缆故障3)硬件故障
Incrementing interface resets 1)线缆故障,导致CD信号丢失2)硬件故障3)线路拥塞
Input drops,errors,CRC,and framing errors 1)线路速率超过接口能力2)本地提供商问题3)线路杂音4)线缆故障5)不合格线缆6)硬件故障
Output drops 接口传输能力超过线路速率
2)问题和行动
问题解决行动方案
本地提供商问题 1)检查CSU/DSU的CD信号和其它信号,看链路是否在发送和接收信息2)如果没有CD信号或有其它问题,联系本地提供商处理故障
不合格或故障的线缆 1)使用符合设备要求的线缆2)使用breakout盒检查3)交换故障线缆
未配置的接口 1)使用show running-config校验接口配置2)确认链路两端使用相同的封装类型
Keepalive问题 1)验证keepalive被发送2)配置了keepalive发送,debug keepalive3)验证序号在增加4)如果序号不增加,运行环路测试5) CSU/DSU环路,序号仍不增,则硬件故障
硬件故障 1)更换硬件
接口在环路模式 1)检查接口配置2)如果在接口配置有环路,移除3)如果接口配置被清除,清除CSU/DSU环路模式4)如CSU/DSU不在环路模式,可能是提供商置环
接口administratively down 1)检查是否有重复的IP地址2)进行接口配置模式,执行no shutdown
线路速率大于接口能力 1)使用hold-queue减少进入的队列尺寸2)增加输出的队列尺寸
接口速率大于线路速率 1)减少广播流量2)增加输出的队列3)如有需要,使用队列算法
《处理帧中继故障》
DLCI用于在帧中继中标识虚拟链路,DLCI仅仅是本地信令,DLCI与第3层IP地址相映射。
处理帧中继的步骤:
1)检查物理层,线缆或接口问题;
2)检查接口封装;
3)检查LMI类型;
4)校验DLCI到IP的映射;
5)校验Frame Delay的PVC;
6)校验Frame Delay的LMI;
7)校验Frame Delay映射;
8)校验环路测试。
1、帧中继的show命令
show interface
show frame-relay lmi ;显示LMI相关信息(LMI类型、更新、状态)
show frame-relay pvc ;输出PVC信息、每条DLCI的LMI状态、…)
show frame-relay map ;提供DLCI号信息和所有FR接口的封装
2、帧中继的debug命令
debug frame-relay lmi ;显示LMI交换信息
debug frame-relay events ;显示协议和应用程序使用DLCI的细节
3、帧中继总纳
1)症状和问题
症状或情形相关问题
Frame Realy link is down 1)线缆故障2)硬件故障3)本地服务商问题4) LMI
类型不一致5) Keepalive没有被发送6)封装类型不一致7) DLCI不一致。
从Frame Delay网络不能ping远端主机 1) DLCI指定了错误的接口2)封装类型不一致3) ACL问题4)接口配置错误。
2)问题和行动
问题解决行动方案
线缆故障 1)检查线缆并测试接头2)更换线缆
硬件故障 1)执行环路测试,以分离硬件2)将线缆连接到路由器的另一同样配置的接口,如OK,则需更换硬件
本地服务提供商问题 1)如环路测试使LMI状态up,但不能连接远端着站点,联系本地载波2)包含载波问题,就好象FR配置错误,如DLCI不一致或封装不一致。
LMI类型不一致 1)校验路由器的LMI类型与PVC上的每个设备都一致2)如使用公共提供商网络,不能访问LMI,与提供商联系。
Keepalive问题 1)使用show interface查看是否keepalive被禁用,或校验keepalive 被正常配置2)如果keepalive设置错误,进入配置模式并在接口上指定keepalive间隔。
封装类型 1)校验两端路由器的封装方式相同,如有非Cisco路由器,必须用IETF.用show frame-relay命令显示封装信息。
2)用encapsulation frame-relay ietf更换封装方式,与可用frame-relay map设置某个PVC的封装。
DLCI不一致 1)用show running-config和show frame-relay pvc显示指派给某接口的DLCI号2)如DLCI号配置正常,联系供应商校验FR交换机是否了相同的DLCI.
ACL问题 1)使用show ip interface显示应用到接口上的ACL2)分析ACL,如有需要,删除或修改它。
《PPT演示文稿基本操作》
1.如何设置空白演示文稿?
打开演示文稿后,点幻灯片版式里面的内容版式第1个模版
2.如何设置不同的幻灯片版式?
打开演示文稿后,点幻灯片版式里面的任意模版
3.如何建立新的幻灯片的一页?
3-1.打开演示文稿后,点格式工具栏里面的新幻灯片按钮即可在右侧的大纲视图里面的坐标点处自动插入
3-2.使用CTRL+M键即可
4.如何在幻灯片右侧显示幻灯片设计模块?
打开演示文稿后,点格式工具栏里面的设计按钮即可
5.幻灯片的设计分为哪几个部分?
包括3个部分,分别为设计模板,配色方案和动画方案
6.如何快速的切换幻灯片设计模块的三个模块?
6-1.打开演示文稿后,幻灯片设计下面有前后翻转按钮,可以快速切换
6-2.可以直接选中自己想要的模块内容
7.如何快速选中整个的幻灯片中的内容?
使用CTRL+A快捷键
8.如何快速的选择单个幻灯片的某些连续不连续内容?
8-1.使用鼠标左键从左上角拖到右下角,便可以
8-2.按住CTRL键,逐个选择可以(包括连续和不连续)
9.幻灯片里面的视图有几种?
有3种,普通视图,幻灯片浏览视图,幻灯片播放视图
10.普通视图分为哪两种形式?
大纲视图和幻灯片视图模式
11.常用的菜单栏有哪些?
主菜单栏,常用工具栏,格式,绘图,图片,艺术字,符号
12.如何设置幻灯片的背景颜色?
在幻灯片空白处右键选背景即可设置其背景,可以是图片,颜色,图案
13.幻灯片可以灰度视图吗?
可以,在常用工具栏里面有一个按钮,红绿蓝按钮可灰度视图
14.可以利用 PPT 实现图片格式的转化吗?
可以,任何格式的图片都可以插入PPT中,选中图形后右键另存为图片,可以存为JGP 格式。
15.如何对PPT里面的图片进行裁剪?
选中图片后使用裁剪工具多图片进行左右上下或者整体的裁剪
16.如何设置艺术字相关?
在艺术字工具栏中,可以编辑艺术字,改变其样式,格式设置,形状设置,高度设置,对齐设置,排列设置,字体间距设置,选中艺术字可以对其进行旋转,拉伸和放缩。
17.如何放大或者缩小幻灯片的显示比例
选中要显示的模块部分,CTRL+鼠标中间滚轮
18.如何压缩幻灯片中的图片?
18-1.在图片所在的幻灯片上单击图片工具栏上的图片压缩按钮,选择文档中的所有图片,删除裁剪区域选项然后进行压缩
18-2.选中某图片,右键,然后压缩选项,然后设置需要压缩符合的条件进行压缩。