第七題(15分,每空3分)
閱讀以下應(yīng)用說明及VB部分的程序代碼,將應(yīng)填入__(n)__處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)
【應(yīng)用說明]
設(shè)一個(gè)簡單的“通訊錄”存儲(chǔ)在一個(gè)Access類型的數(shù)據(jù)庫表中,包括姓名、電話和email三個(gè)字段。下面的應(yīng)用程序?qū)崿F(xiàn)對(duì)“通訊錄”數(shù)據(jù)庫表中的記錄進(jìn)行增加、刪除及修改處理,其運(yùn)行界面如下:
。1)數(shù)據(jù)控件(data1)與"通訊錄"數(shù)據(jù)庫表相連接,用戶可通過"》"和"《"按鈕指定表中的當(dāng)前記錄。
。2)文本框txt_name,txt_phone和txt_email 分別與數(shù)據(jù)庫中的姓名、電話和email字段綁定,用于顯示當(dāng)前記錄的內(nèi)容。
(3)應(yīng)用程序啟動(dòng)時(shí),"確定"按鈕(cmd_ok)和"取消"按鈕(cmd_cancel)不可操作,文本框中顯示表中的第一條記錄,這時(shí)文本框處于不可操作狀態(tài)。
。4)單擊"增加"按鈕(cmd_add)或"修改"按鈕(cmd_modify)后,方可以編輯記錄內(nèi)容,同時(shí)增加、刪除、修改和退出按鈕變?yōu)椴豢刹僮鳡顟B(tài)。增加和修改操作需通過確定和取消按鈕確認(rèn)。
。5)單擊刪除按鈕(cmd_del)后,彈出對(duì)話框,再單擊確定按鈕,當(dāng)前記錄被刪除。
【程序代碼】
private sub enableop(isenabled as Boolean)
txt_name.enabled=isenabled :txt _phone.enabled=isenabled
txt_email.enabled=isenabled
cmd_ok.enabled= isenabled: cmd_cancel.enabled= isenabled
cmd_add.enabled= not isenabled: cmd_del.enabled= not isenabled
cmd_end.enabled= not isenabled: cmd_modify.enabled= not isenabled
end sub
private sub form_load()
call enableop(false)
detal.refresh
if data1.recordset.recordcount=0 then
cmd_del.enabled= false: cmd_modify.enabled= __(1)__
end if
end sub
private sub cmd_add_click() '單擊“增加”按鈕的代碼
call enableop( __(2)__ )
data1.recordset.addnew '在數(shù)據(jù)庫表中添加一個(gè)新記錄
txt_name.__(3)__
end sub
private sub cmd_del_click() '單擊“刪除”按鈕的代碼
on error goto error3
ans=msgbox(“確定刪除嗎?”,vbYesNo+vbInformation,” 操作提示!”)
if (ans=vbyes) then
data1.recordset.__(4)__
data1.recordset.movenext
if data1.recordset.Eof then data1.refresh
end if
exit sub
error3:
msgbox err.description,vbokonly,”錯(cuò)誤提示!”
end sub
private sub cmd_ok_click() '單擊確定按鈕的代碼
on error goto error1
data1.recordset.__(5)__
call enableop(false)
exit sub
error1:
msgbox err.description,vbokonly,”錯(cuò)誤提示!”
data1,updatecontrols
call enableop(false)
end sub
'修改和取消按鈕的程序代碼略
試題八(15分,每空3分)
閱讀以下說明和Java程序,將應(yīng)填入__(n)__處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)
【說明】
以下程序的功能時(shí)三角形、矩形和正方形的面積輸出。
程序由5個(gè)類組成:areatest是主類,類Triangle,Rectangle和Square分別表示三角形、矩形和正方形,抽象類Figure提供了一個(gè)計(jì)算面積的抽象方法。
【程序】
public class areatest{
public static viod main(string args[]){
Figure[]Figures={
New Triangle(2,3,3),new rectangle(5,8),new square(5)
};
for (int i= 0;i< Figures.length;i++){
system.out.println(Figures+”area=”+ Figures.getarea());
}
}
}
public abstract class figure{
public abstract double getarea();
}
public class rectangle extends __(1)__ {
double height;
double width;
public rectangle (double height, double width){
this.height= height;
this. width = width;
}
public string tostring(){
return”rectangle: height=”+ height +”, width=”+ width +”:”;
}
public double getarea(){
return __(2)__
}
}
public class square exends __(3)__
{
public square(double width) {
__(4)__ ;
}
public string tostring(){
return” square:width=”+width”:”;
}
}
public class rectangle entend __(5)__
{
double la;
double lb;
double lc;
public triangle(double la ,double lb,double lc){
this.la=la; this.lb=lb; this.lc=lc;
}
public string tostring(){
return” triangle:sides=”+la+”, ”+lb+”, ”+lc+”:”;
}
public double get area(){
double s=(la+lb+lc)/2.0;
return math.sqrt(s*(s-la) *(s-lb) *(s-lc));
}
}
試題二
(1)j%2,及其等價(jià)形式
(2)i+=2,及其等價(jià)形式
(3)tag>2,或tag==3或tag>=3,及其等價(jià)形式
(4)9
(5)45
試題三
(1)p && k<i,及其等價(jià)形式
(2)!p->next,及其等價(jià)形式
(3)q->next
(4)prep->next
(5)q->next=p
試題四
(1)(h-9)*60+m,及其等價(jià)形式
(2)time + R[k].d[ch-'a']*20 其中ch-'a'可以表示為ch-97,R[k]可以表示為R[R[k].no]
(3)R[t].num == R[j].num && R[t].time > R[j].time,及其等價(jià)形式
(4)t!=i,及其等價(jià)形式,表達(dá)式的值為真也正確
(5)R[i],及其等價(jià)形式
試題五
(1)Asc("A")+i-1,或64+i,及其等價(jià)形式
(2)(h-9)*60+m,及其等價(jià)形式
(3)Combol.Text
(4)Value
(5)Time+R(k).d(m)*20 其中m可表示為Asc(ch)-Asc("A")或Asc(ch)-65,k可表示為R(R(k).no)
試題六 (C++)
(1)public Figure
(2)height*width
(3)public Rectangle
(4)this->height=this->width=width
(5)public Figure 若填public Rectangle只給1分
試題七
(1)False
(2)True
(3)SetFocus
(4)Delete
(5)Update
試題八 (Java)
(1)Figure
(2)height*width
(3)Rectangle
(4)super(width,width)
(5)Figure