In this lab you may use MATLAB to implement the Recursion pr

In this lab, you may use MATLAB to implement the Recursion problems. Do not use a for or a while loop to implement a recursive function.

3. Recursion: Sort Game (One of the reasons why we sort) (25 points) Write a recursive function that guesses a number between 0 and x (x being an input number to the function). If you guess too high, it tells you that and continues. If you guess too low, it tells you that and continues. If you guess the number, it tells you how many guesses you took and stops. So your output might look something like this:

Guess a num between 0 and 100: 33 33 is too high.

1 Guess a num between 0 and 100: 12 12 is too high.

Guess a num between 0 and 100: 6 6 is too low

Guess a num between 0 and 100: 8 8 is too low

Guess a num between 0 and 100: 9 9 is too low.

Guess a num between 0 and 100: 11 11 is too high.

Guess a num between 0 and 100: 10 you guessed 10 in 6 guesses!

Note: write two functions. The first takes as an input parameter a number, and generates a random number between 0 and that input number. It then calls the second, recursive function with about 3 input parameters, including the first function’s input parameter (in the above example, that was the number 100) and the random number (in the above example, that was 10). It is in the recursive function that the user is asked to guess a number. Try testing the function using 8,16,32,64 as the upper limit of the random number (or, in other terms, as input into the first function). This is one of the reasons we sort sets (lists) of numbers so often - it is incredibly more efficient to find a number if we’re searching through a sorted set of numbers than it is to find a number while searching through a randomly ordered set of numbers.

4. Recursion: Cipher (25 points) Write the comments with input, output, and test cases for a recursive function that creates a ”gibberish” language. So if a letter in a word is a vowel, it is replaced with ”ithag”, then the vowel, whereas if the letter is a consonant, it is just included normally. •

For instance, the word ”dog” would be ”dithagog” • ”math” would be ”mithagath”

Solution

Matlab Question for Problem 3)

function GuessTheNumber()
   Up_Lmt = input(\'Enter the upper limit of the random number: \');% Enter the limit
   Number = floor(Up_Lmt*rand(1));% Generate random number
   recursive(Up_Lmt,Number,0); % Call the funcrion
end
function recursive(Up_Lmt,Number,Iter) % Recursive function
   Iter = Iter +1; % increse the number of Recursions
   Guess = input([\'Guess a num between 0 and \',num2str(Up_Lmt),\': \']);% Input the guess
   if Guess == Number % if guess is correst
       fprintf(\'you guessed %d in %d guesses!\ \',Guess,Iter);
   elseif Guess < Number % if guess is less
       fprintf(\'%d is too low.\ \',Guess);
       recursive(Up_Lmt,Number,Iter);
   elseif Guess > Number % If guess is more
       fprintf(\'%d is too high.\ \',Guess);
       recursive(Up_Lmt,Number,Iter);
   end
end

OUTPUT

>> GuessTheNumber
Enter the upper limit of the random number: 8
Guess a num between 0 and 8: 5
5 is too high.
Guess a num between 0 and 8: 2
2 is too high.
Guess a num between 0 and 8: 1
1 is too high.
Guess a num between 0 and 8: 0
you guessed 0 in 4 guesses!
>> GuessTheNumber
Enter the upper limit of the random number: 16
Guess a num between 0 and 16: 8
8 is too high.
Guess a num between 0 and 16: 4
4 is too low.
Guess a num between 0 and 16: 6
6 is too low.
Guess a num between 0 and 16: 5
5 is too low.
Guess a num between 0 and 16: 7
you guessed 7 in 5 guesses!
>> GuessTheNumber
Enter the upper limit of the random number: 32
Guess a num between 0 and 32: 16
16 is too high.
Guess a num between 0 and 32: 8
8 is too low.
Guess a num between 0 and 32: 12
you guessed 12 in 3 guesses!
>>

Matlab function for the problem 4)

function out = gibberish(in)
   out = \'\'; % variable
   if isempty(in) == 0 % Checking vowel or not
       if(in(1) == \'a\'||...
          in(1) == \'e\'||...
          in(1) == \'i\'||...
          in(1) == \'o\'||...
          in(1) == \'u\')
      % creating the new word with ithag
          out = [out,\'ithag\',in(1),gibberish(in(2:end))];
       else
           % not doing anything to the word
          out = [out,in(1),gibberish(in(2:end))];
       end
   end
end

Testing the function

>> out = gibberish(\'dog\')

out =

dithagog

>> out = gibberish(\'math\')

out =

mithagath

>>

In this lab, you may use MATLAB to implement the Recursion problems. Do not use a for or a while loop to implement a recursive function. 3. Recursion: Sort Game
In this lab, you may use MATLAB to implement the Recursion problems. Do not use a for or a while loop to implement a recursive function. 3. Recursion: Sort Game
In this lab, you may use MATLAB to implement the Recursion problems. Do not use a for or a while loop to implement a recursive function. 3. Recursion: Sort Game

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site