Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

CSC 520 Lab March 9, 2018 Complete the pseudocode-style function that decides if

ID: 3726962 • Letter: C

Question

CSC 520 Lab March 9, 2018 Complete the pseudocode-style function that decides if a CFG G can generate at least 3 strings. Do not use any procedures other than the ones shown. In particular, do not use decideCFLInfinite. Note that decideCFL(g,w) returns true if w E L(g), and false otherwise. boolean atLeast3Strings (CFG g) f int b getBranchingFactor (g: int n- getNumNonterminals(g): int numStrings0: //2a is the alphabet of L(g) if ( decideCFL(g,w) ) 1 ++numstrings I/ for if (numstrings0) //every infinite language must include at //least one string shorter than bn1 ! //atLeast3strings

Explanation / Answer

boolean atLeast3Strings(CFG g){

      int b=getBrachingFactor(g);

      int n=getnumNonterminals(g);

     int numStrings = 0;

     for( w belongs to language and len(w) < b^n){

             if(decideCFL(g,w)) ++numStrings;

             if(numStrings==3) return TRUE;

}

if(numStrings == 0) return FALSE;

}

// I tried to implement the given requirements from given set preocedures only.

// I hope it will be useful for some extent . Thanks in advance.....