
Concept explainers
What is the base case of each of the recursive functions listed in Questions 12, 13, and 14?

Base case:
When the problem is solved without performing recursion is called as a base case.
- In base case, a problem gets solved during its first attempt without getting reiterated to obtain a solution or a problem’s solution could be obtained at the initial stage.
- When a recursive function solves and returns the result without performing any recursive operation is called as Base case of a problem.
Explanation of Solution
Given code:
12.
//include the necessary headers
#include <iostream>
using namespace std ;
//function prototype
int function(int);
//main method
int main()
{
//variable declaration and definition
int x = 10;
//function call to compute the sum
cout << function(x) << endl;
//return the value to be zero
return 0;
}
//function definition
int function(int num)
{
//validates the number is less than or equal to zero
if (num <= 0)
//return the value to be zero
return 0;
else
//call the function recursively
return function(num-1) + num;
}
Explanation:
The above highlighted code is the base case in the given problem, because the value of number is validated to be zero or less than zero, the function will immediately return zero after computing the result.
13.
//include the necessary headers
#include <iostream>
using namespace std;
//function prototype
void function(int);
//main method
int main()
{
//variable declaration
int x = 10 ;
//function call
function(x);
//return the value to be zero
return 0 ;
}
//method definition that displays the given character
void function(int num)
{
//validates the number is greater than zero
if (num > 0)
{
//loop that iterates for the number of times the number that is given
for (int x = 0 ; x < num; x++)
//display the character
cout << '*';
//new line
cout << endl ;
//function call that calls iteratively to display the character in the decremented order
function(num- 1);
}
}
Explanation:
The above highlighted code is the base case for the given code because the code gets executed only when the value of the number that is passed is greater than the zero or else the code will return the zero.
14.
//include the necessary headers
#include <iostream>
#include <string>
using namespace std;
//function protytype that performs the string operations
void function(string, int, int);
//main method
int main()
{
//varible declaration and definition
string mystr = "Hello";
//display the original string
cout << mystr << endl;
//function call that performs string reverse operation
function(mystr , 0 , mystr.size());
//return the value to be zero
return 0;
}
/* function definition that performs the reverse of the string */
void function(string str , int pos, int size)
{
//compares the position of the string with its size
if (pos < size)
{
//function call that performs the string reverse
function(str, pos+ 1, size);
//display the string in reverse order
cout << str[pos];
}
}
Explanation:
The above highlighted code is the base case for the given code, because the function will perform string operation only when the size and position gets validated and if the condition fails, the control will be returned to the called function.
Want to see more full solutions like this?
Chapter 19 Solutions
Starting Out with C++ from Control Structures to Objects (8th Edition)
Additional Engineering Textbook Solutions
HEAT+MASS TRANSFER:FUND.+APPL.
Computer Science: An Overview (13th Edition) (What's New in Computer Science)
Mechanics of Materials (10th Edition)
Introduction To Programming Using Visual Basic (11th Edition)
Java: An Introduction to Problem Solving and Programming (8th Edition)
INTERNATIONAL EDITION---Engineering Mechanics: Statics, 14th edition (SI unit)
- What is the number of injective functions f from set {1,2,....,2n} to set {1,2,....,2n} so that f(x) >= x for all the 1<= x <= n?arrow_forwardIdeal MOSFET Current–Voltage Characteristics—NMOS Device and draw the circuitarrow_forward1. Create a Person.java file. Implement the public Person and Student classes in Person.java, including all the variables and methods in the UMLS. Person -name: String -street: String -city: String +Person(String name, String, street, String, city) +getName(): String +setName(String name): void +getStreet(): String +setStreet(String street): void +getCity(): String +setCity(String City): void +toString(): String Student -Id: int +Person(String name, String, street, String, city, int Id) +getId(): int +setId(int Id): void +toString(): String 2. Create a StudentTest.java file. Implement a public StudentTest class with a main method. In the main method, create one student object and print the object using System.out.println(). Your printing result must follow the example output: name: Mike, street: Morris Ave, city: Union, Id: 1000 Hint: You need to modify the toString methods in the Student class and Person class!arrow_forward
- 1) Apply the Paint Blue algorithm discussed in class to the following Finite Automata. a a a b b a COIS-3050H-R-W01-2025WI-COMB Formal Languages & Automata a b Show the status of the Finite Automata at the conclusion of the Paint Blue Algorithm (mark the visited states with an X and only include edges that have not been followed). 2) Use the pumping lemma to prove the following language is nonregular: L= {ab} = {abbb, aabbbbbb, aaabbbbbbbbb, ...}arrow_forward3) Find CFGs that for these regular languages over the alphabet Σ= {a, b}. Draw a Finite Automata e CFG. 1 COIS-3050H-R-W01-2025WI-COMB Formal anguages & Automata Is that contain the substring aba. (b) The language of all words that have an odd number letters and contains the string bb. (c) The language of all words that begin with the substring ba and contains an odd number of letters. 4) Convert the following FA into a PDA. a a S± b a a Ν Ꮓarrow_forwardCOIS-3050H-R-W01-2025WI-COMB Formal ministic PDA. Are the following words accepted by this Languages & Automata UI MIUSɩ that aTU I ed, indicate which state the PDA is in when the crash occurs. (a) aabbaa (b) aaabab (c) bababa Start (d) aaaabb A Accept Read₁ Push a (e) aaaaaa a b Read, Popi a a,b A Read₂ Accept A Pop₂arrow_forward
- 5) Eliminate the A-productions from the following CFG: Abc COIS-3050H-R-W01-2025WI-COMB Formal Languages & Automata BAabC C CaA | Bc | A 6) Convert the following CFG into CNF. S→ XYZ XaXbS | a |A YSbS | X | bb Z→ barrow_forwardNeed help answering these questions!1. Design a While loop that lets the user enter a number. The number should be multiplied by 10, and the result stored in a variable named product. The loop should iterate as long as the product contains a value less than 100. 2. Design a For loop that displays the following set of numbers: 0, 10, 20, 30, 40, 50 . . . 1000 3. Convert the While loop in the following code to a Do-While loop: Declare Integer x = 1 While x > 0 Display "Enter a number." Input x End Whilearrow_forwardNeed help with these:Design a While loop that lets the user enter a number. The number should be multiplied by 10, and the result stored in a variable named product. The loop should iterate as long as the product contains a value less than 100. 2. Design a For loop that displays the following set of numbers: 0, 10, 20, 30, 40, 50 . . . 1000 3. Convert the While loop in the following code to a Do-While loop: Declare Integer x = 1 While x > 0 Display "Enter a number." Input x End Whilearrow_forward
- Convert the While loop in the following code to a Do-While loop: Declare Integer x = 1 While x > 0 Display "Enter a number." Input x End Whilearrow_forwardPython - need help creating a python program that will sum the digits of a number entered by the user. For example if the user inputs the value 243 the program will output 9 because 2 + 4 + 3 = 9. The program should ask for a single integer from the user, it should then calculate the sum of all the digits of that number and output the result.arrow_forwardI need help with this in Python (with flowchart): Im creating a reverse guessing game. Then to choose a random number from 1 to 100 and the computer program will attempt to guess it, displaying the directions calculated or not. The guess will be displayed and the user will answer if it was correct or not. If correct, the game ends, if not then the computer asks if the guess was too high or too low. Finally inputting an answer and the computer generates a new guess within the proper range. Oh and to make sure the program doesnt guess outside of the ranges produced by the inputs of “too high” and “too low”. The program ending when the user guesses correctly or after the program takes 6 guesses. HELP ASAP!arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageSystems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage Learning
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTNew Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage Learning




