CMIS 102

profilessrfilg
week_3_hands-on_lab_3.pdf

1

CMIS 102 Hands-On Lab

Week 3

Overview

This hands-on lab allows you to follow and experiment with the critical steps of developing a program

including the program description, analysis, test plan, design, pseudocode visualization, and

implementation with C code. The example provided uses mathematical operators and variable types.

Program Description

This program will calculate the area of a right triangle. The program will ask the user to enter the base

and height and then use these values to calculate and then print the area of the triangle. The design step

will include pseudocode.

Analysis

I will use sequential programming statements.

I will define two float numbers for the base and height: base, height.

Float numbers were selected as opposed to integers to make sure triangles of all dimensions are

possible and not just whole numbers.

Float number will store the area: area

The area will be calculated by this formula:

Area = ½ * (base * height)

For example if the base was 4.2 and the height was 5.3 the area would be calculated as:

Area = ½ * (4.2 * 5.3) = ½ * (22.26) = 11.13

Test Plan

To verify this program is working properly the following base and height values could be used for

testing:

Test Case Input Expected Output

1 Base=10.1 Height = 12.2 Area = 61.61

2 Base=2.67 Height = 3.23 Area = 4.31

3 Base=100.0 Height = 400.0 Area =20000.0

2

Pseudocode

// This program will calculate the area of a right triangle.

// Declare variables

Declare base, height, area as Float

// Ask User for Inputs

Write “Enter triangle base:”

Input base

Write “Enter triangle height:”

Input height

// Set value of area

Set area=1/2*(base * height)

// Print area

Print “Area of triangle is “ + area

C Code

The following is the C Code that will compile in execute in the online compilers.

// C code

// This program will calculate the area of a right triangle.

// Developer: Faculty CMIS102

// Date: Jan 31, XXXX

#include <stdio.h>

int main ()

{

/* variable definition: */

float base, height, area;

/* Prompt user for base */

printf("Enter the base of the triangle: \n");

// Input the base

scanf("%f", &base);

/* Prompt user for height */

printf("Enter the height of the triangle: \n");

// Input the base

scanf("%f", &height);

// Calculate the Area

area= 0.5 * (base * height);

// Print the result

printf("Area is : %f\n", area);

return 0;

}

3

Setting up the code and the input parameters in ideone.com:

Note the base and height (10.1 and 12.2) are entered in the enter input (stdin) field. You can change

these values to any valid float values to match your test cases.

4

Learning Exercises for you to complete

1. Change the C code to calculate the perimeter of a triangle. Support your experimentation with a

screen capture of executing the new code

2. Prepare a new test table with at least 3 distinct test cases listing input and expected output for

the perimeter of a triangle.

3. What is this line of code doing?

scanf("%f", &height);

How would you change this line if you wanted to input an Integer as opposed to a float?

4. What are the values of f and g after executing the following C?

#include <stdio.h>

int main(void) {

int i,j;

float f,g;

i = 5; j = 2;

f = 3.0;

f = f + j / i;

g = (f + j )/i;

printf("value of f,g is %f,%f\n", f,g);

return 0;

}

Describe specifically, and in your own words, why are the values of f and g different? Support your experimentation with a screen capture of executing the code.

Submission

Submit a neatly organized word (or PDF) document that demonstrates you successfully executed this lab

on your machine using an online compiler. You should provide a screen capture of the resulting output.

Also, provide the answers, associated screen captures, C Code and descriptions of your successful

completion of learning exercises 1, 2, 3 and 4.

The answers to the learning exercises, screen captures, C code and descriptions can be included in the

same neatly organized document you prepared as you ran this lab. Note the code can be embedded in

the word document. However; be sure all code compiles and runs perfectly before submitting the

document.

Submit your document no later than the due date listed in the syllabus or calendar.

5

Grading guidelines

Submission Points

Successfully demonstrates execution of this lab with online

compiler. Includes a screen capture.

3

Provides a new test table with at least 3 distinct test cases

listing input and expected output for the perimeter of a

triangle.

2

Accurately describes the purpose of the scanf code.

Accurately describes how to modify the code to input an

integer as opposed to a float

2

Accurately describe why are the values of f and g different for

the provided code? Supports your experimentation with

screen captures of executing the code

2

Document is well-organized, and contains minimal spelling

and grammatical errors.

1

Total 10