Write the simplest program that will demonstrate iteration vs recursion using the following guidelines -  Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which Takes an array of integers and its size as input params and returns a bool such that 'true' ==> all elements of the array are prime, so the array is prime, 'false' ==> at least one element in array is not prime, so array is not prime.  Print out a message "Entering " as the first executed statement of each function. Perform the code to test whether every element of the array is a Prime number. Print out a message "Leaving " as the last executed statement before returning from the function. Remember - there will be nested loops for the iterative function and there can be no loops at all in the recursive function. For the recursive function - define one other helper function (IsPrimeRecur) which will recursively check if a number is prime or not - it will take the integer dividend (number to be checked for prime) and the integer divisor to perform the division,  return true or false, not contain any loops to check if a number is prime, be the most efficient check possible, and write out the entering and exiting function statement as in #1-2 and #1-4 above.  Remember - replace with the actual name of each function. Including your 'main', there will be a total of 4 functions in your program and only the primary helper functions can be invoked from 'main'. No other functions are needed, so do not add unnecessary helper functions. Reminder Note - for all functions except 'main', the 'Entering ' and 'Leaving statements should be printed. Remember: 1 is not a prime number. Hint - try to complete your iterative code first and then convert it piece by piece to the recursive code.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Please IN C++

Write the simplest program that will demonstrate iteration vs recursion using the following guidelines - 

  1. Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which
    1. Takes an array of integers and its size as input params and returns a bool such that
      • 'true' ==> all elements of the array are prime, so the array is prime,
      • 'false' ==> at least one element in array is not prime, so array is not prime. 
    2. Print out a message "Entering <function_name>" as the first executed statement of each function.
    3. Perform the code to test whether every element of the array is a Prime number.
    4. Print out a message "Leaving <function_name>" as the last executed statement before returning from the function.
    5. Remember - there will be nested loops for the iterative function and there can be no loops at all in the recursive function.
    6. For the recursive function - define one other helper function (IsPrimeRecur) which will recursively check if a number is prime or not - it will
      1. take the integer dividend (number to be checked for prime) and the integer divisor to perform the division, 
      2. return true or false,
      3. not contain any loops to check if a number is prime,
      4. be the most efficient check possible, and
      5. write out the entering and exiting function statement as in #1-2 and #1-4 above. 
    7. Remember - replace <function_name> with the actual name of each function.
    8. Including your 'main', there will be a total of 4 functions in your program and only the primary helper functions can be invoked from 'main'. No other functions are needed, so do not add unnecessary helper functions.
    9. Reminder Note - for all functions except 'main', the 'Entering <function name>' and 'Leaving <function name'> statements should be printed.
    10. Remember: 1 is not a prime number.
    11. Hint - try to complete your iterative code first and then convert it piece by piece to the recursive code.
  2. In your main:
    1. Declare a global integer constant called SORT_MAX_SIZE = 8.
    2. Print a one line message stating exactly "Please enter your input data on one line only."
    3. Then read ONE input line from standard input which will consist of several numbers separated by spaces such that  
      1. The first positive integer number representing the number of elements in the array, followed by
      2. That many positive integer numbers representing the contents of the array to be checked for prime.
      3. You can expect that the user input will be correct as specified here.
    4. Create an array based on the size input provided by the user.
    5. Make a call to the primary iterative function passing the array and its size.
    6. If every member is a Prime, then the 'main' should print out exactly 'Array was found to be prime using iteration', otherwise print out 'Not a Prime Array using iteration'.
    7. Then make a call to the primary recursive function passing the array and its size.
    8. If every member is a Prime, then the 'main' should print out exactly 'Array was found to be prime using recursion', otherwise print out 'Not a Prime Array using recursion'.
    9. If your functions are coded correctly, both should come up with the same answer, except you should have lots more output statements using recursion.
    10. There is no sample output for you to match against but the instructions above are quite clear on how the output should look. The output for each run specified in #6 below can run into several screens.
  3. You should use primitive arrays - DO NOT USE VECTORS, COLLECTIONS, SETS, BAGS or any other data structures from your programming language.
  4. For python programmers - you are allowed to get input into a list and only use of append(), count() and index() methods for a Python list if needed.  
  5. There will be only one code file in your submission and it should be called 'lab1.cpp' or 'lab1.java' or 'lab1.py'. 
  6. Run your program twice in the console with the following inputs:
    1. 5 53 5099 1223 567 17
    2. 4 1871 8069 3581 6841
  7. Remember to take multiple screenshots of the both the runs so that they are clearly readable without needing to zoom in. Collect all your screenshots into one single PDF called 'lab1.pdf' for easy review.
  8. For documentation, include your name block as well pre/post and pseudocode for the 3 functions which are not 'main'. For pre/post documentation and pseudocode examples, see Design Tools and Documentation.pdfDownload Design Tools and Documentation.pdf
  9. Upload your code file and your PDF file in one zip file called 'lab1.zip'. Your zip file should also not include any folders or sub-folders or anything else or you will lose points for not following 
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Randomized Select Algorithm
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education