案例分析题试题三
阅读以下代码和问题, 回答问题, 将解答填入答题纸的对应栏内
案例分析题试题四
阅读以下说明和C函数,填补函数中的空缺,将解答填入答题纸的对应栏内
案例分析题【说明】
现如今线下支付系统可以使用现金(Cash)、移动支付、银行卡(Card)(信用卡(CreditCard)和储蓄卡(DebitCard))等多种支付方式(PaymentMethod)对物品(Item)账单(Bill)进行支付。图5-1是某支付系统的简略类图。
【Java代码】
Import java.util. ArrayList;
import java.util.List;
interface PaymentMethod {
public (1) ;
}
// Cash、DebitCard和Item实现略,Item中getPrice( )获取当前物品对象的价格
abstract class Card (2) {
private final String name, num;
public Card(String name, String num) {this.name = name; this.num = num; }
@Oveiride
public String toString ( ) {
return String.format(%s card[name = %s, num = %s],this.getType (), name, num);
}
@Override
public void pay(int cents) {
System.out.println(Payed + cents + cents using + toString( ));
this.executeTransaction(cents);
}
protected abstract String getType( );
protected abstract void executeTransaction(int cents);
}
class CreditCard (3) {
public CreditCard(String name, String num) { (4) ; }
@Override
protected String getType( ) { return CREDIT; }
@Override
protected void executeTransaction(int cents) {
System.out.println(cents + paid using Credit Card. );
}
}
class Bill {//包含所有购买商品的账单
private ListItem items = new ArrayList();
public void add(Item item) { items.add(item); }
public intgetTotalPrice( ){/*计算所有 item 的总价格,代码略*/ }
public void pay(PaymentMethod paymentMethod){//用指定的支付方式完成支付
(5) (getTotalPrice( ));
}
}
public class PaymentSystem {
public void pay( ) {
Bill bill = new Bill( );
Item item1 = new Item(1234,10); Item item2 = new Item( 5678,40);
bill.add(item1); bill.add(item2); //将物品添加到账单中
bill.pay(new CreditCard(LI SI, 98765432101)); //信用卡支付
}
public static void main(String[ ] args) {
(6) = new PaymentSystem( );
payment.pay( );
}
}
阅读上述说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
案例分析题阅读以下说明和C代码,填写程序中的空(1)~(5),将解答写入答题纸的对应栏内
【说明】
直接插入排序是一种简单的排序方法,具体做法是:在插入第i个关键码时,k1,k2,,ki-1已经排好序,这时将关键码ki依次与关键码ki-1,ki-2,,进行比较,找到ki应该插入的位置时停下来,将插入位置及其后的关键码依次向后移动,然后插入ki
案例分析题试题二
阅读以下说明和代码, 填补代码中的空缺, 将解答填入答题纸的对应栏内
案例分析题阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内
案例分析题阅读以下C代码,回答下列提出问题,将解答填入答题纸的对应栏内
案例分析题【说明】
现如今线下支付系统可以使用现金(Cash)、移动支付、银行卡(Card)(信用卡(CreditCard)和储蓄卡(DebitCard))等多种支付方式(PaymentMethod)对物品(Item)账单(Bill)进行支付。图6-1是某支付系统的简略类图。
【 C++代码 】
#include
#include〈vector〉
#include〈string〉
using namespace std;
class PaymentMethod {
public: virtual void pay(int cents)=0;
};
// Cash、DebitCard和Item实现略,Item中getPrice( )获取当前物品对象的价格
class Card : public PaymentMethod {
private: string name, num;
public:
Card(string name, string num) {this-name = name; this-num = num; }
string toString( ) {
return this-getType( ) + card[name = + name + ,num = + num + ]; )
}
void pay(int cents) {
cout Payed this-executeTransaction(cents);
}
protected:
virtual string getType( )=0;
virtual void (1) =0:
};
class CreditCard (2) {
public:
CreditCard(stringname, stringnum) (3) {
}
protected:
string getType( ) { return CREDIT ; }
void executeTransaction(int cents) {
cout }
};
class Bill {//包含所有购买商品的账单
private:
vector Item* items; //包含物品的 vector
public:
void add(Item* item){ items.push_back(item); }
int getTotalPrice( ){ /*计算所有item的总价格,代码略*/}
void pay(PaymentMethod* paymentMethod) {//用指定的支付方式完成支付
(4) (getTotalPrice( ));
}
};
class PaymentSystem{
public:
void pay( ) {
Bill* bill = new Bill( );
Item* item1= new Item1234,10); Item* item2 = new Item(5678,40);
bill-add(item1); bill-add(item2); //将物品添加到账单中
(5) (new CreditCard(LI SI, 98765432101)); //信用卡支付
}
};
Intmain( ) {
(6) = new PaymentSystem( );
payment-pay( );
return 0;
}
阅读上述说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
案例分析题【说明】
函数bubbleSort(int arr[], int n, int (*compare)(int,int))的功能是根据调用时传递的比较函数compare对数组arr的前n个元素进行排序
案例分析题【说明】
下面程序运行时,对输入的表达式进行计算并输出计算结果
案例分析题阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内
案例分析题试题一
阅读以下说明和流程图, 填补流程图中的空缺, 将解答填入答题纸的对应栏内
案例分析题试题二
阅读下列说明和C函数,填补函数中的空缺,将解答填入答案纸的对应栏目内
案例分析题试题六
阅读下列说明和 C++代码, 填补代码中的空缺, 将解答填入答题纸的对应栏内
案例分析题试题五
阅读以下说明和 Java 代码, 填补代码中的空缺, 将解答填入答题纸的对应栏内
案例分析题试题四
阅读以下说明、 C 函数和问题, 回答问题,将解答填入答题纸的对应栏内
案例分析题阅读以下说明和Java程序,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内
案例分析题【说明】
某市根据每天早上5点测得的雾霾指数(pm2.5值)决定是否对车辆进行限行
案例分析题试题五
阅读以下说明和 Java 程序, 填补代码中的空缺, 将解答填入答题纸的对应栏内
案例分析题【说明】
如果n位数(n2)是回文数(从左到右读与从右到左读所得结果一致)
