当前位置:首页 > 08年上半年程序员下午试卷
www.4juan.com 自考及各类其他考试历年试题免费免注册下载 超过2万套word文档试题和答案
}
else return -1; switch (*ptr) {
case '+': Push(&s,b+a); break; case '-': Push(&s,b-a); break; case '*': Push(&s,b*a); break; case '/': Push(&s,b/a); break; } } else
return -1;
ptr++; /*字符指针指向下一字符*/ } /* while */
if (IsEmpty(s)) return -1; else {
(5) *result = Top(s); Pop(&s); /*取运算结果*/ if (!IsEmpty(s)) return -1; return 0; } }
从下列 3 道试题(试题五至试题七)中任选 1 道解答。 如果解答的试题数超过 1 道,则题号小的 1 道解答有效。
试题五(共 15 分)
阅读下列说明、图和 C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明]
已知对某载客车辆(Car)进行类建模,如图 5-1 所示,其中类 Engine 表示发动机引 擎,类 Wheel 表示车轮,类 Body 表示车身,类 Driver 表示司机,类 Passenger 表示乘 客。
图 5-1 类图
[C++代码]
const int (1) = 7; //定义最多载客数
const int MAX_WHEELS = 5; //定义最多轮胎数
class Body{ //此处代码省略 }; //车身类 class Passenger{ //此处代码省略 }; //乘客类
2008年5月软考程序员下午试卷
5
www.4juan.com 自考及各类其他考试历年试题免费免注册下载 超过2万套word文档试题和答案
class Wheel{ //此处代码省略 }; //车轮类
class Driver{ //司机类 public:
string name; //表示第几路公交车司机
Driver(string driverName):name( (2)driverName ){}; //构造函数 };
class Engine{ //引擎类 public:
string engineNo; //引擎编号
Engine(string engineNo){ (3)this ->engineNo = engineNo; } //构造函数 };
class Car{ //汽车类 protected:
Engine * engine; Driver * driver; Body body;
Wheel * wheels[MAX_WHEELS]; Passenger * passengers[MAX_PASSENGERS]; public:
Car(Driver *driver){ //构造函数 this->driver = driver;
engine = new Engine(\型号引擎\
for (int index = 0; index < MAX_WHEELS; index++){ wheels[index] = new Wheel(); }
for (int index = 0; index < MAX_PASSENGERS; index++){ passengers[index] = NULL; } }
virtual ~Car(){ //析构函数
for (int index=0; index < MAX_WHEELS; index++) delete wheels[index];
delete (4)wheels[MAX_WHEELS] ; }
int getPassengerNumber(){ //获取车上乘客数量 //此处代码省略 }
void getOnPassenger(Passenger * aPassenger ){ //乘客上车 //此处代码省略 }
void run(){ //开车
if(driver == NULL){ cout << \司机尚未上车!\return; } //此处代码省略 } };
2008年5月软考程序员下午试卷
6
www.4juan.com 自考及各类其他考试历年试题免费免注册下载 超过2万套word文档试题和答案
void main(){
Driver driver(\第五路公交车司机\ car( &driver(5) ); Passenger passengers[MAX_PASSENGERS];
for (int index = 0 ; index < MAX_PASSENGERS; index ++) //乘客上车处理 car.getOnPassenger(&passengers[index]); car.run(); }
试题六(共 15 分)
阅读以下应用说明以及 Visual Basic 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [应用说明]
某应用程序可选择打开用户指定的文本文件,将其内容显示在指定的文本框内供用 户编辑,并将编辑后的结果保存在用户指定的文件中。运行时的窗口如图 6-1 所示,其 中有六个标签、一个驱动器列表框、一个目录列表框、一个文件列表框、一个文件类型 组合框、一个文件编辑文本框、一个文件名文本框以及两个命令按钮。
该程序的开发要求如下:
(1)通过驱动器列表框(Drive1)、目录列表框(Dir1)和文件列表框(File1), 选择文件。
(2)文件类型组合框(Cmb_type)设置为下拉式列表框,其中有三个供选项,分 别为“所有文件(*.*)”、“文本文件(*.txt)”和 “可执行文件(*.exe)”。在文件列表 框中列出的文件类型会自动与文件类型组合框中选择的文件类型相匹配。
( 3 ) 在 文 件 列 表 框 中 单 击 一 个 文 件 名 时 , 该 文 件 名 会 显 示 在 文 件 名 文 本 框
(Txt_filename)中。
(4)在文件列表框中双击一个文件名时,若是文本文件,则在文件编辑文本框
(Txt_file)中显示该文件的内容并可进行编辑;若不是文本文件,则弹出一个对话框, 提示“请选择文本文件!”
(5)对于编辑后的文本文件,可在文件名文本框(Txt_filename)中输入新的文 件名,并单击命令按钮
2008年5月软考程序员下午试卷
7
www.4juan.com 自考及各类其他考试历年试题免费免注册下载 超过2万套word文档试题和答案
(Cmd_save)进行保存。 [Visual Basic 程序代码]
Private Sub Form_Load() Cmb_type.AddItem \所有文件(*.*)\Cmb_type.AddItem \文本文件(*.txt)\
Cmb_type.AddItem \可执行文件(*.exe)\ = 0 File1.Pattern = \Txt_filename.Text = \Txt_file.Text = \ Sub Private Sub Dir1_Change() File1.Path = (1) End Sub
Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub
Private Sub Cmb_type_click() Select Case Cmb_type. (2) Case 0
File1.Pattern = \ 1 File1.Pattern = \ 2 File1.Pattern = \ Select End Sub
Private Sub Cmd_save_Click()
usrFile = GetFileName() ‘函数 GetFileName 获得要保存的文件名
Open usrFile For Output As #1 ‘定义 usrFile 为 1 号输出文件 Print #1, Txt_file.Text ‘输出到 1 号文件 Close #1 End Sub
Private Sub File1_DblClick()
If right(File1.FileName, 3) <> (3) Then MsgBox \请选择文本文件!\ Sub End If
usrFile = GetFileName() ‘函数 GetFileName 获得要打开的文件名 Open usrFile For Input As #1‘定义 usrFile 为 1 号输入文件 Txt_file.Text = \Do While (4) EOF(1)
Line Input #1, fContext ‘从 1 号文件读入一行 Txt_file.Text = Txt_file.Text + (5) + vbCrLf Loop
Close #1 End Sub ‘其他代码略
试题七(共 15 分)
阅读下列说明、图和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明]
已知对某载客车辆(Car)进行类建模,如图 7-1 所示,其中类 Engine 表示发动机引擎,类 Wheel 表示车轮,类 Body 表示车身,类 Driver 表示司机,类 Passenger 表示乘客。
2008年5月软考程序员下午试卷
8
共分享92篇相关文档