Starting Out with C++ from Control Structures to Objects (9th Edition)
Starting Out with C++ from Control Structures to Objects (9th Edition)
9th Edition
ISBN: 9780134498379
Author: Tony Gaddis
Publisher: PEARSON
bartleby

Concept explainers

bartleby

Videos

Textbook Question
Book Icon
Chapter 20, Problem 1RQE

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

Expert Solution & Answer
Check Mark
Program Plan Intro

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?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
A3Q3.c - You are to write a C program that implements the following disk scheduling algorithms: a. FCFS [10 marks] b. SCAN [10 marks] c. C-SCAN [10 marks] d. SSTF [10 marks] e. LOOK [10 marks] f. C-LOOK [10 marks] • Your program will service a disk with 300 cylinders numbered 0 to 299. • • • • The program will service the requests (a list of 20 cylinder numbers) given in the file request.bin. This file contains (4 byte) integer values representing requests ranging from 0-299. Your program will take the initial position of the disk head as the first command line argument and the direction of the head as the second command line argument. It will then output the requests in the order in which they are serviced, and the total amount of head movements required by each algorithm. In particular, your program needs to do the following: Your program should take two command line arguments a) First command line argument - initial position of the disk head (an integer value) b) Second command line…
2. The memory management has contiguous memory allocation, dynamic partitions, and paging. Compare the internal fragmentation and external fragmentation for these three approaches. [2 marks] 3. Suppose we have Logical address space = 24 = 16 (m = 4), Page size=2² =4 (n = 2), Physical address space = 26 = 64 (r = 6). Answer the following questions: [4 marks] 1) Total # of pages ? 2) Total # of frames ? 3) Number of bits to represent logical address? 4) Number of bits to represent offset ? 5) Number of bits to represent physical address? 6) Number of bits to represent a page number? 7) Number of bits to represent a frame number / 4. What is translation look-aside buffers (TLBS)? Why we need them to implement the page table? [2 marks] 5. Why we need shared pages for multiple processes? Give one example to show the benefits. [2 marks] 6. How to implement the virtual memory by using page out and page in? Explain with an example. [2 marks] 7. We have a reference string of referenced page…
8. List three HDD scheduling algorithms. [2 marks] 9. True or False? The NVM has the same scheduling algorithms with HDD. Explain why? [2 marks] 10. Why the modern mouses use polling to detect movements instead of interrupts? [2 marks] 11. What is thrashing? How does it happen? [2 marks] 12. Given a reference string of page numbers 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 and 4 frames show how the page replacement algorithms work, and how many page faults? [6 marks], 1) FIFO algorithm? [2 marks] 2) Optimal algorithm? [2 marks] 3) LRU algorithm? [2 marks] 13. List at least three file systems that you know. [2 marks] 14. In C programming, how the seek to a specific position in the file by offset? [2 marks]

Additional Engineering Textbook Solutions

Find more solutions based on key concepts
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License