Skip to content Skip to navigation Skip to collection information

OpenStax-CNX

You are here: Home » Content » Programming Fundamentals - A Modular Structured Approach using C++ » Practice 2: Program Planning & Design

Navigation

Table of Contents

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Endorsed by Endorsed (What does "Endorsed by" mean?)

This content has been endorsed by the organizations listed. Click each link for a list of all content endorsed by the organization.
  • CCQ display tagshide tags

    This collection is included in aLens by: Community College of Qatar

    Comments:

    "Used in the Computer Programming Fundamentals I course."

    Click the "CCQ" link to see all content they endorse.

    Click the tag icon tag icon to display tags associated with this content.

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • OrangeGrove display tagshide tags

    This collection is included inLens: Florida Orange Grove Textbooks
    By: Florida Orange Grove

    Click the "OrangeGrove" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • Houston Community College display tagshide tags

    This collection is included in aLens by: Houston Community College

    Comments:

    "COSC1436 Programming Funaamentals I"

    Click the "Houston Community College" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • Featured Content display tagshide tags

    This collection is included inLens: Connexions Featured Content
    By: Connexions

    Comments:

    "Programming Fundamentals - A Modular Structured Approach Using C++ is a new course written by Kenneth Leroy Busbee, a faculty member at Houston Community College. This text introduces students to […]"

    Click the "Featured Content" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

Also in these lenses

  • Busbee's Compter Science display tagshide tags

    This collection is included inLens: Busbee's Computer Science Lens
    By: Kenneth Leroy Busbee

    Comments:

    "Texas Common Course Numbering: COSC1336 or COSC1436"

    Click the "Busbee's Compter Science" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

  • Lens for Engineering

    This module and collection are included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

  • eScience, eResearch and Computational Problem Solving

    This collection is included inLens: eScience, eResearch and Computational Problem Solving
    By: Jan E. Odegard

    Click the "eScience, eResearch and Computational Problem Solving" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Practice 2: Program Planning & Design

Module by: Kenneth Leroy Busbee. E-mail the author

Summary: Questions, exercises, problems, etc. that support this chapter in the "Programming Fundamentals - A Modular Structured Approach using C++" collection/textbook.

Learning Objectives

With 100% accuracy during a: memory building activity, exercises, lab assignment, problems, or timed quiz/exam; the student is expected to:

  1. Define the terms on the definitions as listed in the modules associated with this chapter.
  2. Create a pseudocode document for a programming problem
  3. Create a test data document for a programming problem

Memory Building Activities

Link to: MBA 02

Exercises

Exercise 1

Answer the following statements as either true or false:

  1. Coding the program in a language like C++ is the first task of planning. You plan as you code.
  2. Pseudocode is the only commonly used planning tool.
  3. Test data is developed for testing the program once it is code into a language like C++.
  4. The word pseudo means false and includes the concepts of fake or imitation.
  5. Many programmers pick up the bad habit of not completing the planning step before starting to code the program.

Solution

Answers:
  1. false
  2. false
  3. false
  4. true
  5. true

Miscellaneous Items

None at this time.

Lab Assignment

Creating a Folder or Sub-Folder for Chapter 02 Files

Depending on your compiler/IDE, you should decide where to download and store source code files for processing. Prudence dictates that you create these folders as needed prior to downloading source code files. A suggested sub-folder for the Bloodshed Dev-C++ 5 compiler/IDE might be named:

  • Chapter_02 within the folder named: Cpp_Source_Code_Files

If you have not done so, please create the folder(s) and/or sub-folder(s) as appropriate.

Download the Lab File(s)

Download and store the following file(s) to your storage device in the appropriate folder(s). You may need to right click on the link and select "Save Target As" in order to download the file.

Download from Connexions: Solution_Lab_01_Pseudocode.txt

Download from Connexions: Solution_Lab_01_Test_Data.txt

Detailed Lab Instructions

Read and follow the directions below carefully, and perform the steps in the order listed.

  • Navigate to your sub-folder: Chapter_02 and print the: Solution_Lab_01_Pseudocode.txt and the: Solution_Lab_01_Test_Data.txt files. Review the printouts in conjunction with your Lab 01 source code file. Note: In Lab 01 we gave you step by step directions for modifying the Compiler_Test.cpp source code file into the Lab_01.cpp source code file. I could have given you the pseudocode and test data files, but you had not received any instructions about them. Now, after having studied the Chapter 2 materials, these files should make sense.
  • Make copies of the: Solution_Lab_01_Pseudocode.txt and Solution_Lab_01_Test_Data.txt and rename them: Lab_02_Pseudocode.txt and Lab_02_Test_Data.txt
  • Here is the problem. Your local bank has many customers who save their change and periodically bring it in for deposit. The customers have sorted the coins (pennies, nickels, dimes and quarters – forget half dollars and dollar coins) and know how many (an integer data type) of each value they have but have evolved (or their environment has made them lazy). They have lost their ability to do simple arithmetic.  They can’t seem to determine the total value of all of the coins without a calculator (or computer).  Write a program to interact with the customers and to determine and report the total value of their coins.
  • No! No! No! We are not going to write a program (create source code) using the C++ programming language. We are going to design a plan for a program using pseudocode as our model. Additionally, we need to develop some test data for use in testing our model.
  • Start your text editor (Microsoft Notepad. Set the font on Notepad to: Courier 12 font because Courier uses the same amount of space horizontally for each letter. It will make the information in the files show as it should be seen. Open your Lab 02 pseudocode text file. Change all items as needed to be able to solve the above problem. NOTE: You may use any application software that will let you open, modify and save ASCII text files. You may even use the Bloodshed Dev-C++ 5 compiler/IDE software to view, modify and save ASCII text files; after all, our source code files are ASCII text files with a special extension of .cpp
  • Open your Lab 02 test data text file. Modify the text file as appropriate. Use your test data and step through your pseudocode. Does everything seem to work? Have you missed something?
  • When you are satisfied that you have your program plan and test data completed, close your text files. That’s right, I said, "Save and close your text files." Files should be properly closed before being used by other software and this includes the Operating System software that moves, copies and renames files.
  • After you have successfully written this program, if you are taking this course for college credit, follow the instructions from your professor/instructor for submitting it for grading.

Problems

Problem 02a – Instructions

Create simple IPO pseudocode to solve the following:

Problem: I have a friend who is visiting from Europe and he does not understand exactly how much gas he is buying for his car. We need to write a program that allows him to enter the gallons of gas and convert it to liters (metric system). NOTE: One US gallon equals 3.7854 liters.

Problem 02b – Instructions

Create test data for the following:

Problem: A major restaurant sends a chef to purchase fruits and vegetables every day. Upon returning to the store the chef must enter two pieces of data for each item he purchased. The quantity (Example: 2 cases) and the price he paid (Example: $4.67). The program has a list of 20 items and after the chef enters the information, the program provides a total for the purchases for that day. You need to prepare test data for five (5) items: apples, oranges, bananas, lettuce and tomatoes.

Collection Navigation

Content actions

Download:

Collection as:

PDF | More downloads ...

Module as:

PDF | More downloads ...

Add:

Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks