DEVRY CIS170B WEEK 5 ILAB

Question # 00030264 Posted By: steve_jobs Updated on: 11/02/2014 06:38 AM Due on: 12/12/2014
Subject Computer Science Topic General Computer Science Tutorials:
Question
Dot Image

Print
iLab 5 of 7: Arrays and Strings - (45 points)
Note!

Submit your assignment to the Dropbox located on the silver tab at the top of this page.

(See the Syllabus section "Due Dates for Assignments & Exams" for due dates.)

Remember This!

Connect to the iLab here.

iLAB OVERVIEW

Scenario and Summary

You will code, build, and execute two programs requiring arrays and ArrayLists. The first program will determine statistics for a video game tournament. The second program will alphabetize a list of last names.

Deliverables

Submit the following to this week's Dropbox:

  1. A zipped Visual Studio project folder for each programming exercise. Refer to the Deliverables section of the Week 1 iLab page for detailed instructions on how to zip a project folder.
  2. A single MS Word file named YourLastName_Lab1_ex1.docx containing the following items:
    • The source code for each program in the lab: Your source code should use proper indentation, include meaningful comments, and be error free. Start each with a specification that includes your name, the lab and exercise number, and a description of what the program accomplishes, similar to this: /* Specification: First Name Last Name Lab 1 Exercise # This program does X */
    • Labeled screenshot(s) of the output windows for each program, showing that each program produces correct results

NOTE: A screenshot of a window can be created by first clicking on it to activate it. Next, press the key or key combination your specific computer uses to do a "print screen" (typically the Prnt Scrn or Prnt key in combination with the ctrl or FN key). Then, click the MS Word "paste" option to paste the screenshot into the MS Word file.

Objectives and Grading

Lab Objectives:

  1. To be able to explain the need for arrays in a program
  2. To be able to determine the appropriate array data type to use in a given program
  3. To be able to write a program that implements arrays
  4. To be able to explain the way memory is allocated for arrays in a program
  5. To be able to explain the fact that arrays are objects in C#
  6. To be able to write a program that implements an ArrayList

Your lab grade will be based upon:

  1. the formatting of your source code;
  2. the use of meaningful identifiers;
  3. the extent of internal documentationl; and
  4. the degree to which an exercise's specifications are met.

Preparation:

If you are using the Citrix remote lab, follow the login instructions located in the iLab tab in Course Home.

iLab Steps


Part A: Tournament Stats

Requirements

Your mission: Write a program to determine statistics for a video game tournament. The user will input names and scores of all tournament players. The program will calculate the average score and display the players who scored below average.

The program will implement these functions:

  • Main(): Declares variables for the number of players and average score, and two arrays of size 100: one to store player names and the other to store their respective scores. Calls the following functions in sequence, passing necessary parameters by reference:
    • InputData( ): Gets player names and scores from the user and stores them into the two arrays for an unknown number of players up to 100.
    • DisplayPlayerData(): Displays each player's name and score.
    • CalculateAverageScore( ): Calculates the average score and returns it by value.
    • DisplayBelowAverage( ): Displays the names and scores of players who scored below average.

Sample output:

Enter Player Name (Q to quit): Bob

Enter score for Bob: 3245

Enter Player Name (Q to quit): Sue

Enter score for Sue: 1098

Enter Player Name (Q to quit): Dave

Enter score for Dave: 8219

Enter Player Name (Q to quit): Pat

Enter score for Pat: 3217

Enter Player Name (Q to quit): Q

NameScore
Bob3245
Sue1098
Dave8219
Pat3217
Average Score: 3944.75
Players who scored below average

NameScore
Bob3245
Sue1098
Pat3217
Press any key to continue . . .

Tips

Best practices:Don't try to write too much at a time! First, write an outline in comments based on the requirements and the pseudocode. Then, implement each function one at a time. Start each by writing a shell that just accepts data and perhaps prints it out for testing purposes. Test by calling the function from Main(). Then, add more functionality. Keep working incrementally, compiling and testing as you go. Set breakpoints and use the debugger at each phase to make sure your logic is working correctly. Then, use the same approach to implement each of the other functions.

Pseudocode

  • Main Function
    • Declare player and score arrays, and variables for number of players and average score.
    • Call the InputData( ) function, passing arrays and number of players variable by reference
    • Call the DisplayPlayerData( ) function, passing arrays and number of players variable by reference
    • Call the CalculateAverageScore( ) function, passing arrays and number of players by reference. Store returned value in average variable.
    • Display the average score
    • Call the DisplayBelowAverage( ) function, passing arrays and number of players variable by reference, passing average variable by value

  • InputData function
    • Loop while the number of players is less than the length of the array
    • Prompt for the player's name
    • If the user entered Q, break out of the loop
    • Prompt the user for the player's score
    • Add 1 to the number of players

  • DisplayPlayerData function
    • Loop to display the name and score of each player

  • CalculateAverageScore function
    • Loop to add up the scores
    • Divide by the number of players to calculate the average score
    • Return the average score to main

  • DisplayBelowAverage function
    • Loop to display the names and scores of all players who scored below the average score

END OF PART A


Part B: Alphabetical Order

Requirements

Your mission: Write a program to alphabetize a list of last names. The user will input an undetermined number of last names. The program will display the number of names entered and alphabetized lists of the names in ascending (A-Z) and descending (Z-A) order.

Your program will store the names in an ArrayList object. It will use various ArrayList properties and methods to implement the program requirements.

Sample output:

Enter a last name: Roberts
Keep going? (Y/N): y
Enter a last name: DeLay
Keep going? (Y/N): y
Enter a last name: Foreman
Keep going? (Y/N): y
Enter a last name: Ganguly
Keep going? (Y/N): n

4 last names entered

Names in Ascending Order

DeLay
Foreman
Ganguly

Names in Descending Order

Roberts
Ganguly
Foreman
DeLay

Tips

Best practices:Don't try to write too much at a time! First, write an outline in comments based on the requirements and the pseudocode. Then, work on instantiating an ArrayList object, followed by implementing the loop that will get user input. As always, keep things simple and implement incrementally. Review the list of ArrayList methods and properties in the textbook and experiment with the ones you think you'll need.

Pseudocode

  • Main function
  • Instantiate ArrayList object
  • Loop to get last names, until user wants to quit
    • Add each last name to the ArrayList
  • Display the count of the last names
  • Sort the ArrayList
  • Loop to display the names
  • Reverse the order of the ArrayList
  • Loop to display the names

END OF LAB


Dot Image
Tutorials for this Question
  1. Tutorial # 00029720 Posted By: steve_jobs Posted on: 11/02/2014 08:44 AM
    Puchased By: 3
    Tutorial Preview
    The solution of DEVRY CIS170B WEEK 5 ILAB...
    Attachments
    CIS170_Week5_SYKESN.docx (118.74 KB)

Great! We have found the solution of this question!

Whatsapp Lisa