• TJUSCSST第二次作业


    作业题目

    Below are four faulty programs. Each includes a test case that results in failure.

    Answer the following questions (in the next slide) about each program.

    public int findLast (int[] x, int y) {
    //Effects: If x==null throw
    NullPointerException
    // else return the index of the last element
    // in x that equals y.
    // If no such element exists, return -1
    for (int i=x.length-1; i > 0; i--)
    {
    if (x[i] == y)
    {
    return i;
    }
    }
    return -1;
    }
    // test: x=[2, 3, 5]; y = 2
    // Expected = 0

    public static int lastZero (int[] x) {
    //Effects: if x==null throw
    NullPointerException
    // else return the index of the LAST 0 in x.
    // Return -1 if 0 does not occur in x
    for (int i = 0; i < x.length; i++)
    {
    if (x[i] == 0)
    {
    return i;
    }
    } return -1;
    }
    // test: x=[0, 1, 0]
    // Expected = 2

    问题

    Identify the fault.

    If possible, identify a test case that does not execute the
    fault. (Reachability)
    If possible, identify a test case that executes the fault, but
    does not result in an error state.
    If possible identify a test case that results in an error, but
    not a failure.

    作业解答:

    1.第一个程序的For循环应该i大于等于0,

    第二个程序应改为for (int i=x.length-1; i >= 0; i--) ;

    2.第一个程序 x = [],  y = 2,

    第二个程序 无论怎么输入 都会execute the fault;

    3.第一个程序  x = [2,3,4],y = 4,

    第二个程序 test: x = [3];

    4 第一个程序 test: x = [2],

    第二个程序 test: x = [1,0,3]。

  • 相关阅读:
    牛客网分糖果
    【bzoj3717】[PA2014]Pakowanie 状压dp
    【bzoj1042】[HAOI2008]硬币购物 背包dp+容斥原理
    [POI2007]堆积木Klo
    【bzoj5018】[Snoi2017]英雄联盟 背包dp
    BZOJ 1492 [NOI2007]
    bzoj 2741 [FOTILE模拟赛] L
    bzoj 1486 最小圈
    计数
    cf 700
  • 原文地址:https://www.cnblogs.com/moody/p/5257930.html
Copyright © 2020-2023  润新知