Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please follow all the instructions on Lab - General Submission Instructions as well as given here. Also, take care to follow code styling instructions on

  1. Please follow all the instructions on Lab - General Submission Instructions as well as given here.
  2. Also, take care to follow code styling instructions on Code Styling Guidelines.
  3. Remember - write your code with a reusability philosophy as some or all of this code may be integrated into one or more future labs.
  4. For clarifications, feel free to post Qs on the discussion board - describe your problem in English without any code. Similarly, other students are welcome to answer in plain English to help your fellow students out.
  5. Do not send me email or canvas messages unless there is something personal in the Q or only if I ask you to show me any code. Remember - I will not be giving you your-code-specific answers.

YOU ARE ALLOWED TO WORK IN GROUPS OF UP TO 2 PEOPLE - YOU WILL NEED TO SELF SELECT YOUR GROUP UNDER THE "LAB 1 TEAMS". IF YOU CHOOSE TO WORK SOLO, YOU STILL NEED TO BE IN ONE OF THE 'LAB 1 TEAMS' AS A SINGLE MEMBER.

REMEMBER - When you are submitting the lab, the submission page should identify you as part of a team and not by your name.

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. Take an array and its size as input params and return a bool such that
      • 'true' ==> array and all elements are prime,
      • 'false' ==> at least one element in array is not prime, so array is not prime.
    2. Print out a message "Entering " as the first 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 " as the last 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. return true or false,
      2. not contain any loops to check if a number is prime,
      3. be the most efficient check possible, and
      4. write out the entering and exiting function statement as in #1-2 and #1-4 above.
    7. Remember - replace 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'. Reminder Note - for all functions except 'main', the 'Entering ' and 'Leaving statements should be printed.
    9. Hint - try to complete your iterative code first and then convert it piece by piece to the recursive code.
  2. In your main:
    1. You can expect the user will input the number of elements for the array on one line, not to exceed SORT_MAX_SIZE = 16. You can reasonably expect that the user input will be correct, but you should default it to SORT_MAX_SIZE just in case.
    2. Create an array based on the size input provided by the user.
    3. On the next input line you can expect the user will provide all the array elements separated by spaces. Each of the integers input by the user will be between 1 and 9999, both inclusive. Remember: 1 is not a prime number.
    4. Make a call to the primary iterative function passing the array and its size.
    5. If every member is a Prime, then the 'main' should print out 'Prime Array using iteration', otherwise print out 'Not a Prime Array using iteration'.
    6. Then make a call to the primary recursive function passing the array and its size.
    7. If every member is a Prime, then the 'main' should print out 'Prime Array using recursion', otherwise print out 'Not a Prime Array using recursion'.
    8. If your functions are coded correctly, both should come up with the same answer, except you should have lots more output statements using recursion.
    9. There is no sample output - you are allowed to provide user interactivity as you see fit but programs will be graded for clarity of interaction.
  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 - use the Python list like a primitive array, i.e. get the input into the list in a loop and not as a single statement as you will need to perform input validation. Only use append(), count() and index() methods for a Python list.
  5. There will be only one code file in your submission. Remember to include your name block at the top.
  6. Run your program in the console with the following inputs:
    1. NumInts = 5, Ints = 53 5099 1223 567 17
    2. NumInts = 4, Ints = 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.
  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.pdf Download Design Tools and Documentation.pdf
  9. Upload your code file and the screenshots in one zip file. Do not include anything else.

Grading:

  • 25 pts - EXE created by me from your code works as explained above without needing any code change
  • 15 pts - for the main
  • 25 pts - the IsArrayPrimeIter function
  • 35 pts - the IsArrayPrimeRecur + IsPrimeRecur functions

Your score will be downgraded for not carefully following any of the instructions in Lab - General Submission Instructions or Code Styling Guidelines

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle Solaris 11.2 System Administration (oracle Press)

Authors: Harry Foxwell

1st Edition

007184421X, 9780071844215

More Books

Students also viewed these Databases questions

Question

=+3. This is a project into which you can sink your teeth.

Answered: 1 week ago