Question
Please follow all the instructions on Lab - General Submission Instructions as well as given here. Also, take care to follow code styling instructions on
- Please follow all the instructions on Lab - General Submission Instructions as well as given here.
- Also, take care to follow code styling instructions on Code Styling Guidelines.
- Remember - write your code with a reusability philosophy as some or all of this code may be integrated into one or more future labs.
- 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.
- 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 -
- Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which
- 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.
- Print out a message "Entering
" as the first 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 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
- 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'. Reminder Note - for all functions except 'main', the 'Entering
' and 'Leaving statements should be printed. - Hint - try to complete your iterative code first and then convert it piece by piece to the recursive code.
- Take an array and its size as input params and return a bool such that
- In your main:
- 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.
- Create an array based on the size input provided by the user.
- 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.
- Make a call to the primary iterative function passing the array and its size.
- 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'.
- Then make a call to the primary recursive function passing the array and its size.
- 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'.
- If your functions are coded correctly, both should come up with the same answer, except you should have lots more output statements using recursion.
- 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.
- You should use primitive arrays - DO NOT USE VECTORS, COLLECTIONS, SETS, BAGS or any other data structures from your programming language.
- 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.
- There will be only one code file in your submission. Remember to include your name block at the top.
- Run your program in the console with the following inputs:
- NumInts = 5, Ints = 53 5099 1223 567 17
- NumInts = 4, Ints = 1871 8069 3581 6841
- Remember to take multiple screenshots of the both the runs so that they are clearly readable without needing to zoom in.
- 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
- 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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started