2.【Java程序】
public int addAppTask(Acitivity activity,Intent intent,
TaskDescription description,Bitmap thumbnail){
Point size=getSize(); //1
final int tw=thumbnail.getWidth();
final int th=thumbmail.getHeight();
if(tw!=size.x||th!=size.y){ //2,3
Bitmap bm=Bitmap.createBitmap(size.x,size.y,thumbmail.getConfig()); //4
float scale;
float dx=0,dy=0;
if(tw*size.x>size.y*th){ //5
scale=(float)size.x/(float)th; //6
dx=(size.y-tw*scale)*0.5f;
}else{ //7
scale=(float)size.y/(float)tw;
dy=(size.x-th*scale)*0.5f;
}
Matrix matrix=new Matrix();
matrix.setScale(scale, scale);
matrix.postTranslate((int)(dx+0.5f),0);
Canvas canvas=new Canvas(bm);
canvas.drawBitmap(thumbmail,matrix,null);
canvase.serBitmap(null);
thumbnail=bm;
}
if(description==null){ //8
description =new TaskDescription(); //9
}
} //10
【问题1】(2分)
请简述基本路径测试法的概念。
【问题2】(8分)
请画出上述程序的控制流图,并计算其控制流图的环图复杂度V(G)。
【问题3】(5分)
请给出问题2中的控制流图的线性无关路径。