软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷4
-
阅读以下说明和Visual Basic 码,将应填入(n)处的字名写在对应栏内
[说明] 已有一个工程文件,窗体上有两个图片框,名称为P1,P2。分别用来表示信号灯合汽车,其中在P1中轮流装入“黄灯.ico”、“红灯.ico”、“绿灯.ico”文件来实现信号灯的切换;还有两个计时器 Timer1 和Timer2,Timer1 用于变换信号灯,黄灯1秒,红灯2秒,绿灯3秒;Timer2用于控制汽车向左移动。运动时,信号灯不断变换,单击“开车”按钮后,汽车开始移动,如果移动到信号灯前或信号灯下,遇到红灯或黄灯,则停止移动。下面是实现上述功能的程序,请填空。
Private Sub Timer41_ Timer()
a=a+1
If (1) Then
a=1
End If
Select Case a
Case 1
P1. Picture = LoadPicture( “黄灯.ico” )
Case 2, 3
P1. Picture = LoadPicture( “红灯”.ico” )
Case4, 5, 6
P1. Picture = LeadPicture( “绿灯. ico” )
(2)
End Select
End Sub
Private Sub Timer2_Timer( )
If (3) And (P2. Left > P1. Left And P2. Left < P1. Left + P1. Width) Or P2. Left < = 100 Then
Timer2. Enabled = False
Else
(4)
End If
End Sub
-
阅读以下说明和Java 码,将应填入(n)处的字名写在的对应栏内。
[说明] 编写一个完整的JavaApplet 程序使用复数类Complex 验证两个复数1+2i 和3+4i 相加产生一个新的复数4+6i。
复数类Complex 必须满足如下要求:
(1) 复数类Complex 的属性有:
RealPart: int 型,代表复数的实数部分
ImaginPart: int 型,代表复数的虚数部分
(2) 复数类Complex 的方法有:
Complex():构造函数,将复数的实部和虚部都置0
Complex (intr,inti):构造函数,形参r为实部的初值,i为虚部的初值。
ComplexeomplexAdd (Complexa):将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者
String ToString():把当前复数对象的实部、虚部组合成s+ bi 的字符串形式,其中a和b分别为实部和虚部的数据。
importjava. applet. * ;
importjava. awt. * ;
publicclassabcextends Applet
{
Complex a, b, c;
publi cvoid init( )
{
a = newComplex(1,2);
b = newComplex(3,4);
c = newComplex();
}
publievoidpaint (Graphicsg)
{
(1)
g. drawstring( “第一个复数:” + a. toString(), 10,50);
g. drawstring( “第二个复数:” + b. toString( ), 10,70 );
g. drawstring( “两复之和:” + c. toString( ), 10,90);
}
}
class Complex
{
int RealPart;
int ImaginPart;
Complex( ) { (2) }
Complex( intr , inti)
{ (3) }
ComplexeomplexAdd (Complexa)
{
Complextemp = newComplex( );
temp. BealPart = RealPart + a. BealPart;
(4)
returntemp;
}
public StringtoString( )
{ return( RealPart + " + " + ImaginPart + " i "); }
}
-
阅读以下说明和C++码,将应填入(n)处的字名写在的对应栏内。
[说明] 设计一个普通函数distance (Point &p1,Point &p2),用于计算p1和p2点之间的距离。本程序执行结果如下:(2,2)与(5,5)之间距离=4.24264
# include < iostream. h >
# include < math. h >
class Point
{
int x, y;
public:
Point(int i, int j) { (1)
int getx( ) { return x;}
int gety( ) { return y; }
void disp( )
{
(2)
}
};
float distance( Point &p1, Point &p2 )
{
float d;
(3)
return d;
}
void main( )
{
(4)
p1. disp ( ); cout < <“与”; p2. diap( );
cout< <“之间距离=” < <distance (p1,p2) < <end1;
}
-
阅读以下说明,回答问题,将解答填入对应的解答栏内。
. [说明] 请完成流程图以描述在数据A(1)至A(10)中求最大数和次大数的程序的算法。并将此改成PAD图。该算法的流程图如下图:
-
将ER图转换成关系模型,并说明主键和外键。
-
阅读以下说明,回答问题1~5,将解答填入对应的解答栏内。
[说明] 编写一个函数根据用户输入的偶对(以输入。表示结束)建立其有向图的邻接表。一个图的邻接表存储结构定义如下:
# include < stdio. h >
# define MAXVEX 30
struct edgenode
{
int adjvex;
char info;
struct edgenode * next;
}
struct vexnode
{
char data;
struct edgenode * link;
}
typedef struct vexnode adjlist [MAXVEX];
实现要求的函数如下:
void creatadjlist ( adjlist g)
{
int i, j, k;
street vexnode * s;
for( k=1; k< =n; k+ +)
{
(1)
g [k]. link = NULL;
}
printf ( “输一个对:” );
scanf ("%d, %d", &i, &j);
while (2)
{
(3)
s- >adjvex =j;
(4)
g [i].link =s;
(5)
}
}
-
阅读以下说明,回答问题1~2,将解答填入对应的解答栏内。
[说明] 设某商业集团数据库中三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。
设仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,每个仓库每存储一种商品有个日期及存储量;商品与商品之间存在着“销售”联系,每个商品可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在着“供应”联系,有月份和月供应量两个属性。
试画出ER图,并在图上注明属性、联系类型、实体标识符;
-
画出上一问中使用的图书馆程序的层次结构图。
-
阅读以下说明,回答问题1~3,将解答填入对应的解答栏内。
[说明] 一个简单的图书馆的对象由图书馆、书、书的副本以及读者组成。对象模型见图。
利用存在的依赖关系构造一个图书馆的对象模型。
-
张三到图书馆借阅一本书,两个月后,他把这本逾期的书返还给图书馆。画出这个场景的时序图。