comp122 full course latest 2015 [ all discussions all homework and all ilabs ]

62
devry comp122 full course latest 2015 [ all discussions all homework and all ilabs ] Click Link Below To Buy: http://hwcampus.com/shop/comp122-full-course/ week 1 From Word Problem to Program Design (graded) This week we are looking at the process of analyzing a problem written in English, attempting to understand how we might build a program that solves the problem. Let's begin by looking at the analysis process and discussing what inputs are, what outputs are, and what processing is. What do we look for in a word problem to identify these components? What is an algorithm? diss 2 Using Variables and Arithmetic Expression (graded) Variables are used in a program for storing values. What sort of properties do all variables have in common? What type of arithmetic operations are supported in C++? What role does the data type of a variable have on the type of information the variable can contain and the type of operations that can be performed on the variable? What is operator precedence and how does it impact expression evaluation? week 2 Selecting Between Alternatives (graded)

Upload: hwcampus

Post on 28-Jan-2016

228 views

Category:

Documents


0 download

DESCRIPTION

Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

TRANSCRIPT

Page 1: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

devry comp122 full course latest 2015 [ all discussions all homework and all ilabs ]Click Link Below To Buy:

http://hwcampus.com/shop/comp122-full-course/

week 1

From Word Problem to Program Design (graded)

This week we are looking at the process of analyzing a problem written in English, attempting to understand how we might build a program that solves the problem. Let's begin by looking at the analysis process and discussing what inputs are, what outputs are, and what processing is. What do we look for in a word problem to identify these components? What is an algorithm?

diss 2

Using Variables and Arithmetic Expression (graded)

Variables are used in a program for storing values. What sort of properties do all variables have in common? What type of arithmetic operations are supported in C++? What role does the data type of a variable have on the type of information the variable can contain and the type of operations that can be performed on the variable? What is operator precedence and how does it impact expression evaluation?

week 2

Selecting Between Alternatives (graded)

It is common to need to make choices between different alternatives when solving problems. Alternatives can take different forms. For instance,only do action X if condition 1 is true presents an alternative of either doing or not doing action X. A different form of alternative occurs in the case where we need to do action X if condition 2 is true, otherwise do action Y. Here we have a choice between 2 different actions, and we will always do X or Y depending

Page 2: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

on condition 2. This form can be extended to choosing between 3, 4, or any number of actions where one action is always selected. Lets discuss some real examples where making these types of choices are needed. Identify the alternative actions and the condition that controls the choice.

diss 2

Input and Output Operations (graded)

Many programs require the use of an input mechanism to get data into the program and an output mechanism to present results and guidance. When interacting with a user, a program must output instructions to the user and also output results that are formatte

week 3

Recognizing Repetition (graded)

This week's lecture discusses the different types of repetition situations and how they are controlled. Let's start out by discussing some simple example problems where you see the need for repetition. Is the repetition in your example count controlled, or would it be controlled by some sort of condition? Which type of loop would you choose for your example and why?

Controlling When a Loop Completes (graded)

Loops can be tricky and can cause errors in the program containing them. The trick is to get the loop to execute its body the correct number of times. Let's discuss how to figure out how many times a loop will execute its body. Give an example of a count controlled loop structure, explain how you determine the number of times it will execute its body. How will you determine the number of times a conditional controlled loop with a sample input set executes its body?\

week 4

Debugging and Testing a Program (graded)

Page 3: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

This week we are examining techniques for debugging and testing a program. Let's start off the week by discussing how to debug a program that compiles and links correctly, contains both selection and repetition statements, but does not generate correct output results. What techniques would you use to try to determine where the problems are in the program?

Midterm Review (graded)

The Midterm is this week. The Midterm covers all the material from the first 3 weeks of the course. Look back over the reading materials, homework, and labs from the first 3 weeks. The language summary documents can be a good source of review information about the specifics of C++. Use this thread to ask any questions that you have regarding anything you are uncertain about. If you don’t have a specific question, post some things you have observed about the programming process or about using C++.

week 5

Prob. Decomp. and Recognizing Functions (graded)

Most programming problems are quite large and difficult to fully understand. One approach to dealing with such a problem is to decompose the problem into smaller sub-problems (divide and conquer). Each sub-problem may then be further broken down into even smaller problems (stepwise refinement). Eventually, each remaining problem is small enough to develop a function for. Think about software systems you have used (i.e. word processor, web server, calculator, iPod, etc.) and identify some of the main functions that those systems would need.

Passing Data Between Functions (graded)

Functions would not be very useful if there were no way to pass information between them. Let's use this thread to discuss the mechanisms that functions use to communicate with each other. How does a caller provide values to a called function? How does a called function present a result to the caller? How do pass by value and pass by reference work? What determines when each technique should be used?

Page 4: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

week 6

Arrays and Repetition in Problem Solving (graded)

There are many problems in programming that involve sets of information that can be managed within a program using arrays. Think about some different problems that could be solved using software and that include sets of information that could be represented using arrays. Give an example of an array declaration that could be used in a program to contain the data. Discuss how the data might need to be loaded into the array.

diss 2

Using Loops to Process Array Data (graded)

There are many situations where array data must be processed using loops. Give some examples of such situations. What sort of loop would you choose to use for your situation? Include some code examples illustrating how a program might process your array using a loop.

week 7

Using C Style Strings (graded)

Let's discuss how C-style strings are used in a program. How do you create a C-style string? Give examples. How do you input or output a C-style string? What kinds of tools are available to work with C-style strings? Show some examples of using those tools!

Using the string Data Type (graded)

You have been using the string type throughout this course. What new features have you discovered about the string type this week? Give some examples of how you might be able to use these new string capabilities in a program.

Page 5: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

homework

COMP122

Week 1 Homework

Part 1: Complete the following problems.

1. What is machine code? Why is it preferable to write programs in a high level language such as C++?

2. What does a compiler do? What kinds of errors are reported by a compiler?

3. What does the linker do?

Page 6: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

4. What is an algorithm?

5. Bob enters a pizza shop and notices there are three different sizes of pizzas available. Sizes are given as the diameter of the pizza in inches. The cost of a pizza is based on the size. Bob would like to know which size of pizza has the lowest cost per square inch.

a. Identify the inputs and outputs for this problem.

b. Identify the processing needed to convert the inputs to the outputs.

c. Design an algorithm in pseudocode to solve this problem. Make sure to include steps to get each input and generate each output.

Part 2: Complete the following problems.

1. Given the following expressions, what value would they have in a C++ program?

a. 13 / 4

b. 2 + 12 / 4

c. 21 % 5

d. 3 - 5 % 7

e. 17.0 / 4

f. 8 - 5 * 2.0

g. 14 + 5 % 2 - 3

h. 15.0 + 3.0 / 2.0

2. Given the following variable declarations:

int num1 = 10, num2 = 20, newNum = 30;

double x = 5.0, y = 8.0;

Page 7: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

Determine which of the following assignment statements are valid. For each invalid statement, explain why it is invalid. Assume that each statement immediately follows the above variable declarations.

a. num1 = 15;

b. num2 = num1 - 18;

c. num1 = 5; num2 = 2 + 6; num1 = num2 / 3;

d. num1 + num2 = newNum;

e. x = 12 * num1 - 15.3;

f. num1 * 2 = newNum;

g. x / y = x * y;

h. num2 = num1 % 2.0;

i. newNum = static_cast<int> (x) % 5;

j. x = x + 5;

k. newNum = num1 + static_cast<int> (4.6 / 2);

3. For each of the following lines of variable declarations, identify it as valid or describe what makes the line invalid.

Line 1: n = 12;

Line 2: char letter = ;

Line 3: int one = 5, two;

Line 4: double x, y, z;

4. Write C++ statements that accomplish each of the following:

a. Declare and initialize int variables x to 25 and y to 18.

Page 8: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

b. Declare and initialize an int variable temp to 10 and a char variable ch to 'A'.

c. Add 5 to the int variable x which already exists.

d. Declare and initialize a double variable payRate to 12.50.

e. Copy the value from an existing int variable firstNum into an existing int variable tempNum.

f. Swap the contents of existing int variables x and y. (Declare any new variables you need.)

g. Output the contents of existing double variables x and y, and also output the value of the expression x + 12 / y - 8.

h. Copy the value of an existing double variable z into an existing int variable x.

5. Given the following variable declarations:

int x = 2, y = 5, z = 6;

What is the output from each of the following statements?

a. cout << "x = " << x << ", y = " << y << ", z = " << z << endl;

b. cout << "x + y = " << x + y << endl;

c. cout << "Sum of " << x << " and " << z << " is " << x + z << endl;

d. cout << "z / x = " << z / x << endl;

e. cout << "2 times " << x << " = " << 2 * x << endl;

6. Given the following variable declarations:

int a = 5, b = 6, c;

What is the value of a, b, and c after each of the following statements executes? Assume that the statements execute in the sequence given.

Page 9: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

a. a = b++ + 3;

b. c = 2 * a + ++b;

c. b = 2 * ++c - a++;

COMP122

Week 2 Homework

Complete the following problems.

1. Suppose you are given the following variable declarations:

int x, y;

char ch;

What values (if any) are assigned to x, y, and ch after each of these statements execute?

Assume that the input to each statement is the same: 5 28 36

a. cin >> x >> y >> ch;

Page 10: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

b. cin >> ch >> x >> y;

c. cin >> x >> ch >> y;

d. cin >> x >> y;

cin.get(ch);

2. Suppose you are given the following variable declarations:

int x, y;

char ch;

What values (if any) are assigned to x, y, and ch after each of these statements execute?

Assume that the input to each set of statements is as follows:

13 28 D

14 E 98

A B 56

a. cin >> x >> y;

cin.ignore(50, '\n');

cin >> ch;

b. cin >> x;

cin.ignore(50, '\n');

cin >> y;

cin.ignore(50, '\n');

cin.get(ch);

3. Suppose you are given the following variable declarations:

Page 11: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

int x, y;

double z;

char ch;

Assume you have the following input statement:

cin >> x >> y >> ch >> z;

What values (if any) are stored in x, y, z, and ch if the input is:

a. 35 62. 78

b. 86 32A 92.6

c. 12 .45A 32

4. Write a C++ statement that uses the manipulator 'setfill' to output a line containing 35 asterisk characters.

5. What is the output from the following statements?

a. if ( 60 <= 12 * 5)

cout << "Hello";

cout << " There";

b. if ('a' > 'b' || 66 > static_cast<int>('A'))

cout << "#*#" << endl;

c. if (7 <= 7)

cout << 6 - 9 * 2 / 6 << endl;

d. if (7 < 8)

{

cout << "2 4 6 8" << endl;

Page 12: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

cout << "1 3 5 7" << endl;

}

e. if (5 < 3)

cout << "*";

else if (7 == 8)

cout << "&";

else

cout << "$";

6. Suppose that you have the following variable declarations:

int x = 10;

int y = 15;

int z = 20;

Determine whether the following expressions are true or false.

a. !(x < 10)

b. x <= 5 || y > 15

c. (x != 5) && (y == z)

d. x <= z && (x + y >= z)

7. What is the output of the following code fragment?

int x = 100;

int y = 200;

if (x > 100 && y <= 200)

cout << x << " " << y << " " << x + y << endl;

Page 13: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

else

cout << x << " " << y << " " << 2 * x - y << endl;

8. Given a char variable called gender, write C++ statements to output "Male" if gender contains upper or lower case M, "Female" if it contains upper or lower case F, or "Invalid Gender" if it contains anything else. Use if / else if statements.

9. Given a char variable called gender, write C++ statements to out "Male" if gender contains upper or lower case M, "Female" if it contains upper or lower case F, or "Invalid Gender" if it contains anything else. Use a switch statement.

10. What is the value of the beta variable after the following code executes?

int beta = 3;

switch(beta)

{

case 3:

beta += 3;

case 1:

beta++;

break;

case 5:

beta += 5;

case 4:

beta += 4;

}

Page 14: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

COMP122

Week 3 Homework

Complete the following problems.

1. What is the output from the following C++ code fragment?

int count = 1;

int y = 100;

while(count < 100)

{

y = y - 1;

count++;

}

cout << "y = " << y << " and count = " << count << endl;

2. What is the output from the following C++ code fragment?

int num = 1;

while(num < 10)

{

cout << num << " ";

num += 2;

}

Page 15: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

cout << endl;

3. What is the output from the following C++ code fragment if the following values are the inputs to cin?

38 35 71 14 -10

int sum, num;

cin >> sum;

for(int j = 1; j <= 3; j++)

{

cin >> num;

sum += num;

}

cout << "Sum = " << sum << endl;

4.What is the output from the following C++ code fragment if the following values are the inputs to cin?

38 35 71 14 -1

int sum, num;

sum = 0;

cin >> num;

while(num != -1)

{

sum += num;

cin >> num;

Page 16: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

}

cout << "Sum = " << sum << endl;

5. Write a do - while loop to get 20 numbers from the user and sum them together. Output the sum after the loop. Declare any variables you need.

6.What is the output from the following C++ code fragment if the following values are the inputs to cin?

58 23 75 176 145 -999

int num;

cin >> num;

while(num != -999)

{

cout << num % 25 << " ";

cin >> num;

}

cout << endl;

7.What is the output from the following C++ code fragment?

int count = 10;

while(count-- > 0)

{

cout << count << " ";

}

cout << endl;

Page 17: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

8.What is the output from the following C++ code fragment?

int count = 1;

do

{

cout << count * (count - 1) << " ";

}while(++count <=5);

cout << endl;

9. Given the following C++ code fragment, answer the questions that follow.

int s = 0;

for(int i = 0; i < 5; i++)

{

s = 2 * s + i;

}

a. What is the final value of s?

b. If the expression i++ was replaced with i += 2 what would be the final value of s?

c. If a semi-colon is added following the right parenthesis of the for statement, what would be the final value of s?

10. Write a for statement to add all the multiples of three between 1 and 100. (ie. 3, 6, 9, … 99).

11. How many times will the loop bodies execute in the following loops?

a. int x = 5, y = 50;

Page 18: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

do

{

x += 10;

}while(x < y);

b. int x = 25, y = 5;

while(x >= y)

{

x -= 5;

}

c. int y = 0;

for(int x = 5; x < 100; x += 5)

{

y++;

}

d. int x = 10, y = 1000;

while(x <= y);

{

x *= 10;

}

Page 19: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

COMP122

Week 5 Homework

Complete the following problems.

1. Determine the value of the following expressions.

a. toupper('b')

b. tolower('C');

c. pow(3.0,3.0);

d. sqrt(81.0);

e. fabs(-1.23);

f. floor(22.46);

Page 20: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

g. ceil(33.3);

2. Using the functions in the cmath library, write the following mathematical formulas as C++ expressions.

a. 3.02.4

b. (x - y)1/2Note: the ½ power is the square root

c. |y - 42.3|

d.( -b + (b2 - 4ac)1/2) / 2a

3. Consider the following functions:

int func1(int x)

{

int r, s;

r = 2 * x;

if (r > 10){

s = x / 2;

}

else{

s = x / 3;}

return s - 2;

}

int func2(int a, int b)

{

Page 21: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

int r, s;

s = 0;

for(r = a; r < b; r++)

{

s++;

}

return s;

}

What is the output from the following program fragments?

int a, b;

a. a = 10; cout << func1(a) << endl;

b. a = 5; b = 12;

cout << func2(a, b) << endl;c. a = 8;

b = func1(a);

cout << a << " " << b << " " << func2(a, b) << endl;

4. Write a C++ function that has an input of a char value and returns true if the character is lower case or false otherwise.

5. Write a C++ function that has three inputs which are integers. The function returns true if the first number raised to the power of the second number equals the third number.

6. What is a function prototype? When is it needed?

7. What is the difference between an actual parameter and a formal parameter?

Page 22: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

8. Explain the difference between pass by value parameters and pass by reference parameters.

9. Explain the difference between function parameters, local variables, and global variables regarding the parts of a program that can access these values.

10. What does void signify when used as the return type of a function?

11. What is the output of the following program fragment:

void find(int a, int& b, int& c){int temp;

c = a + b;

temp = a;

a = b;

b = 2 * temp;

}

int main()

{

int x, y, z;

x = 15;

y = 25;

z = 30;

find(x, y, z);

cout << x << " " << y << " " << z << endl;

find(y, x, z);

Page 23: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

cout << x << " " << y << " " << z << endl;

find(z, y, x);

cout << x << " " << y << " " << z << endl;

}

12. Write a C++ function which initializes its three reference parameters. The function should take an int, double, and string parameter and initialize them to 0 and the empty string ("").

COMP122

Week 6 Homework

Complete the following problems.

1. Write C++ statements to do the following:

a. Declare an array alpha of 15 components of type int.

b. Output the value of the 10th component of the alpha array.

Page 24: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

c. Set the value of the 5th component of the alpha array to 35.

d. Set the value of the 9th component of the alpha array to the sum of the 6th and 13th components of the alpha array.

e. Set the value of the 4th component of the alpha array to three times the value of the 8th component minus 57.

f. Output alpha so that five components appear on each line.

2. What is stored in the list array after the following code executes?

int list[5];

for(int j = 0; j < 5; j++)

{

list[j] = 2 * j + 5;

if (j % 2 == 0){

list[j] = list[j] - 3;}

}

3. What does array index out of bounds mean? What can happen if this occurs in your program?

4. Write C++ statements to define and initialize the following arrays using appropriate data types:

a. An array of heights has 6 components which have the following values: 5.5, 5.8, 6.3, 6.6, 4.9, 5.9.

b. An array of weights has 4 components which have the values: 140, 165, 190, 207.

c. An array of symbols which contains the following characters: '$', '%', '@', '!', '|', '&'.

Page 25: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

d. An array of the seasons which contains "Spring", "Summer", "Fall", "Winter".

5. Given the following declaration, what is stored in the 8th element of the array?

int list[10] = {1, 2, 3, 4, 5};

6. When an array is passed as an actual parameter to a function, what is really being passed in to the function? Why are arrays passed this way?

7. Write a for loop to initialize the following array (int data[10]) with the values 10, 9, 8… 1.

8. Given an array of 10 doubles named data, write a loop that loads the array with user input.

9. Given an array of 100 doubles named data, write a loop that creates the sum of all the array elements.

10. Write a loop that finds the smallest element in an integer array called data containing 100 elements.

COMP122

Week 7 Homework

Page 26: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

Part 1: Complete the following problems.

1. Answer the questions that follow given these lines of code.

string str1, str2;

cin >> str1 >> str2;

if(str1 == str2)

{

cout << str1 << " == " << str2 << endl;

}

else if (str1 > str2)

{

cout << str1 << " > " << str2 << endl;

}

else

{

cout << str1 << " < " str2 << endl;

}

a. What do these lines output if the input is "diamond diamond"?

b. What do these lines output if the input is "diamond gold"?

c. What do these lines output if the input is "silver gold"?

2. What is the output of the following program fragment?

string s1 = "Ball Park";

string s2 = "Going to";

Page 27: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

string s3 = "the";

string str;

cout << s2 << " " << s3 << " " << s1 << endl;

cout << s1.length() << endl;

cout << s1.find('P') << endl;

cout << s1.substr(0, 4) << endl;

str = "abcdefghijk";

cout << str << endl;

cout << str.length() << endl;

str[0] = 'A';

str[3] = 'D';

cout << str << endl;

3. What is output from each of the following statements? Assume each statement is independent of all the others.

string str = "Now is the time for the party!";

a. cout << str.size() << endl;

b. cout << str.substr(7, 8) << endl;

c. cout << str.insert(11, "best ") << endl;

d. str.erase(16, 14);

str.insert(16, "to study for the exam!");

cout << str << endl;

Part 2: Complete the following problems.

Page 28: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

4. Given the following declaration: char str[16];

mark the following statements as valid or invalid and if invalid, explain why.

a. strcpy(str, "Hello there");

b. strlen(str);

c. str = "Jacksonville";

d. cin >> str;

e. cout << str;

f. if ( str >= "Nice guy")

cout << str;

g. str[6] = 't';

5. Given the following declarations:

char s1[15];

char s2[15] = "Good Day!";

Write C++ statements to do the following. Note: No loops allowed!

a. Copy s2 to s1.

b. Check if s1 and s2 contain the same string and output a message if they are equal.

c. If s1 is less than s2, output s1. Otherwise output s2.

d. Store the string "Sunny Day" into s1.

e. Store the length of s2 into an int variable named length.

6. Given the following declarations:

char name[21] = "Bob";

Page 29: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

char yourName[21] = "Joe";

char studentName[31] = "Joe Bob";

Mark each of the following as valid or invalid. If invalid, explain why.

a. cin >> name;

b. cout << studentName;

c. yourName[0] = '\0';

d. yourName = studentName;

e. if (yourName == name)

studentName = name;

f. int x = strcmp(yourName, studentName);

g. strcpy(studentName, name);

Page 30: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]
Page 31: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

ilabs

COMP122: Week 1 iLab - Part 1

Introduction to Visual C++.NET (2010) IDE

Objectives

After completing this assignment, you should:

· be able to create an empty console-mode project in VC++.NET;

· know how to enter, compile, build, and run a C++ console-mode program;

· know some basic components of a C++ program, such as#include<iostream>;using namespace std;; int main( );return 0;; opening and closing braces, { and }; and theint data type;

· be able to usecin andcout. for simple text and numeric input and output;

· be able to use basic integer arithmetic operations, including modulus;

· know that integer division truncates;

· understand how the compiler reacts to several common syntax errors;

Page 32: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

· understand the process of developing a test plan, including predicted output for specific inputs (test cases);

· know how a program reacts to division by zero;

· know where the .exe file is stored after a successful build; and

· know how to keep the Command Prompt window open at the end of a console-mode program.

C++ Console-Mode Program Development Procedure

Visual C++ is an IDE (Integrated Development Environment) for writing programs in C++. The object of this laboratory is to introduce you to the basic features of an IDE (source-code entry and editing, compiling, linking, and execution) and some basic C++ programming statements to do some mathematical operations and simple input/output.

WARNING: Accurate typing is the key to success here. Although the compiler is tolerant of extra "white space" (spaces, tabs, and blank lines), it is very fussy about other syntax (punctuation, keywords, variable names, upper and lower case requirements, etc.), so be sure to type in the program below exactlyas written, including case.

In addition to showing how to create and run a program in VC++.NET, this exercise discusses how to test a program, which involves selecting test inputs and predicting what output the program should generate, then observing the actual output, comparing the two, and analyzing any differences.

Open Visual C++ .NET

Open Microsoft Visual C++ 2010.NET by double-clicking on its icon.

Figure1: When you open Visual C++ .NET, it should look similar to this image.

You may find it convenient to maximize this screen if it is not already maximized.

T

Page 33: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

using namespace std;

int main(void)

{

int number1, //INPUT

number2;

cout << "Enter first number: " << endl;

cin >> number1;

cout << "Enter second number: " << endl;

cin >> number2;

ind link it.

A pop-up window asks if you want to re-build the project. ClickYes. You may get one more pop-up window asking if you want to overwrite the existing project. ClickYes if you get this window. If everything is OK, you will get 0 compile errors and 0 warnings.

Results of the build (compile and link) are shown here.

Figure 10: A good build will have 0 compile errors and 0 warnings.

Compiler Errors and Warnings: Debugging

If the code has any syntax errors, you will get compiler errors. If there are any compiler errors, it cannot create an executable file. You must fix all compiler errors before you can execute the program. Error messages appear in the bottom panel of the Visual C++ window. If you cannot see them, use the scrollbar on the right side of the panel. If you double-click an error message, a little arrow will appear in the left margin of the text editor window to indicate the line that may have the error. Compilers are notorious for having misleading error messages and not flagging the correct line, but they at least give you a clue about where the problem is located. If you get compiler errors, try to troubleshoot them yourself. Look

Page 34: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

closely at the line flagged by the compiler and at the line above it (which is often where the error actually is located). Most errors are caused by incorrect typing, misspelling something, incorrect punctuation, or incorrect case.

Oftentimes, a single error in one line will precipitate compiler errors in following lines, even though they are correct. Therefore, the best approach, if you have multiple compiler errors, is to fix the first one and recompile (Build). Often, fixing the first problem also fixes several other errors.

Some lines of code will cause the compiler to issue a Warning instead of an error. If there are only warnings and no errors, the compiler will usually be able to create an executable file. Depending on the problem, your code may still work fine, but, in general, you should fix all warnings so that you get a completely clean build.

If you get any compiler errors or warnings, try to fix them, but if you cannot figure out what to do, ask your instructor or F.A. for assistance. Remember, C++ is quite fussy about most details (punctuation, spelling, case, etc.), so edit your code carefully.

If the code compiles correctly, the next step that Visual C++ .NET performs is linking. This step simply connects your program with prewritten programs and objects that you use in your program (cin andcout in this example).

Background: Testing and Types of Errors

Just because your code compiles without errors, does not mean that it will execute correctly!

It is still possible that a program contains run-time errors.

Run-time errors fall into two basic categories: system errors and logical errors.

System Errors

System errors occur when your program runs and tries to do something that the host computer cannot or will not do, for example, divide by zero. The good news about system errors is that

Page 35: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

the system detects them, stops your program, and gives you an error message.

Week 1 iLab - Part 2

Complete the following two programs:

Programming Problem 1

John wants to know the values of the area and perimeter of a rectangle. John can take measurements of the length and width of the rectangle in inches. John's measurements are expected to be accurate to within 0.1 inch.

1. Identify the inputs and outputs of the problem.

2. Identify the processing needed to convert the inputs to the outputs.

3. Design an algorithm in pseudocode to solve the problem. Make sure to include steps to get each input and to report each output.

4. Identify two test cases, one using whole number values, and one using decimal number values. For each of the two test cases show what inputs you will use and what your expected outputs should be.

5. Write the program to implement your algorithm. Test your program using your test cases. Did your program produce the values predicted in your test cases? Explain.

Programming Problem 2

Shirlee is working with a measurement tool that reports measurements in centimeters. Since Shirlee is unfamiliar with

Page 36: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

centimeters, she would like her centimeter measurements to be converted into yards, feet, and inches. She would also like the result to be properly rounded to the nearest inch. As an example, if the measurement is 312 centimeters, this should be converted to 3 yards, 1 foot, and 3 inches.

1. Identify the inputs and outputs of the problem.

2. Identify the processing needed to convert the inputs to the outputs. HINT: Convert centimeters to total number of inches first! (1 inch = 2.54 cm)

3. Design an algorithm in pseudocode to solve the problem. Make sure to include steps to get each input and to report each output.

4. Identify two test cases other than the example given above. For each of the two test cases show what inputs you will use and calculate what your expected outputs should be.

5. Write the program to implement your algorithm. Test your program using your test cases. Did your program produce the values predicted in your test cases? Explain.

For each of the two programming problems, create a program using Visual C++.Net. Make sure to capture a sample of your program's output. The best way to do this is to click on the console window you want to capture and then press the Alt and PrintScreen keys at the same time. Then paste your captured screen image into a Word document. For each of the two programs, put the screen capture followed by a copy of your source code into your Word document.

Your final programming document should contain in the following order:

1. Answers to all of the questions listed above.

2. Screen capture of the first program followed by source code.

3. Screen capture of the second program followed by source code.

Page 37: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

COMP122

Week 2 iLab

Complete the following two programs:

Programming Problem 1

Write a program that calculates and outputs the monthly paycheck information for an employee, including all the amounts deducted from an employee’s gross pay, and the net pay that is due to the employee. The user of your program will know the employee’s name and the gross pay for the employee. Each employee has the following deductions taken from his gross pay:

Federal Income Tax: 15%

State Tax: 3.5%

Social Security + Medicare Tax: 8.5%

Health Insurance $75

The output from your program should be structured as is displayed below:

Bt your algorithm. Test your program using your test cases.

Programming Problem 2

In a right triangle, the square of the length of one side is equal to the sum of the squares of the lengths of the other two sides. Stephanie has the integer lengths of three sides of a triangle and needs to know if it is a right triangle.

Page 38: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

Write a program to solve this problem. NOTE: The user must be allowed to input the values of the sides in ANY ORDER!

1. Identify the inputs and outputs of the problem.

2. Identify the processing needed to convert the inputs to the outputs.

3. Design an algorithm in pseudocode to solve the problem. Make sure to include steps to get each input and to report each output.

4. Identify five significant test cases including one for incorrect input (ie. Input a letter rather than a digit for the numeric input). (Think about what impact changing the order of the input values should have on your program!) For each of the five test cases show what inputs you will use and calculate what your expected outputs should be.

5. Write the program to implement your algorithm. Test your program using your test cases.

For each of the two programming problems, create a program using Visual C++.Net. Make sure to capture a sample of your program’s output. The best way to do this is to click on the console window you want to capture and then press the Alt and PrintScreen keys at the same time. Then paste your captured screen image into a Word document. For each of the two programs, put the screen capture followed by a copy of your source code into your Word document.

Your final programming document should contain in the following order:

1. Answers to the questions listed above.

2. Screen capture of the first program followed by source code.

3. Screen capture of the second program followed by source code.

COMP122

Page 39: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

Week 3 iLab

Complete the following two programs:

Programming Problem 1

Write a program that generates all the factors of a number entered by the user. For instance, the number 12 has the factors 2 * 2 * 3. This program has the following requirements:

A. The user must enter a positive integer. If the user enters something else, your program should output an error message and let the user enter a new value. Use a do/while loop to make sure the user input is successful.

B. The factors must be output in increasing order. The lowest factor your program should report is 2.

C. Your program should output 4 factors per line, each factor in a field of 10 characters. (Hint: the number of factors output determines when to output endl!)

D. You will need a while loop to report the factors. Here are some helpful hints:

1. If (a % b == 0) then a is a factor of b.

2. When you have found a factor, output the factor and then reduce the number you are working with by dividing the number by the factor… ie) b = b / a;

1. Design an algorithm in pseudocode to solve the problem. Make sure to include steps to get each input and to report the output. Include steps to deal with error cases as specified above.

Page 40: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

2. Identify three test cases, one using a number with 4 factors, one using a negative number, and one using a number with more than 4 factors. For each of the three test cases show what inputs you will use and what your expected outputs should be.

3. Write the program to implement your algorithm. Test your program using your test cases.

Programming Problem 2

This program is designed to analyze the growth of two cities. Each city has a starting population and annual growth rate. The smaller city has the larger growth rate (required). Show the comparative populations of each city year by year until the smaller city has grown larger than the bigger city.

As an example, Dogville has a population of 5000 growing at 20% annually while Cattown has a population of 7000 growing at 10% annually. The projected populations are:

Year Dogville Cattown

1 6000 7700

2 7200 8470

3 8640 9317

4 10368 10249

1. Identify the inputs and outputs of the problem.

2. Identify the processing needed to convert the inputs to the outputs.

3. Design an algorithm in pseudocode to solve the problem. Make sure to include steps to get each input and to report each output.

4. Identify three significant test cases including one for incorrect input (ie Small town has lower growth rate). For each of the three test cases show what inputs you will use and calculate what your expected outputs should be.

Page 41: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

5. Write the program to implement your algorithm. Test your program using your test cases.

For each of the two programming problems, create a program using Visual C++.Net. Make sure to capture a sample of your program’s output. The best way to do this is to click on the console window you want to capture and then press the Alt and PrintScreen keys at the same time. Then paste your captured screen image into a Word document. For each of the two programs, put the screen capture followed by a copy of your source code into your Word document.

Your final programming document should contain in the following order:

1. Answers to the questions listed above.

2. Screen capture of the first program followed by source code.

3. Screen capture of the second program followed by source code.

COMP122

Page 42: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

Week 5 iLab

Objectives

· Apply structured and modular design principles to write programs that meet written specifications and requirements.

· Develop a pseudo-code design using appropriate program structure (sequence, selection, repetition and nesting) to solve a given programming problem.

· Use appropriate selection and repetition statements to implement the design.

· Create user-defined functions to implement a modular design.

· Use appropriate parameter passing mechanisms for passing data into and getting data back from functions.

· Use ostream and iomanip formatting manipulators to display tabulated data.

· Design and implement a menu-driven interface.

Problem Description

This program is to give the user the option of converting a set of temperatures either from Celsius to Fahrenheit (C to F) or vice versa, from Fahrenheit to Celsius (F to C), or to quit the program. If the user selects either C to F or F to C, the program will prompt the user to enter three integer values, a starting temperature, an ending temperature, and an increment. After these values have been entered the program will display a table of equivalent C and F (or F and C) temperatures, from the starting temperature to the ending temperature and incrementing by the increment value each row.

The table must meet all of the following criteria:

The table's column headings should display the degree symbol, e.g., °C and °F.

Page 43: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

The first column must be the "from" temperature (C for C to F or F for F to C) and the second column the "to" temperature (F for C to F or C for F to C).

The calculated "to" temperatures are to be displayed to the nearest tenth of a degree (display exactly one decimal place, even if there is no fractional part, i.e., 75° should display as 75.0°).

Temperatures in both columns must be number-aligned (right-justified for the integer "from" values and decimal point aligned right for the "to" values).

Assume the user enters correct data, e.g., the start temperature, end temperature and increment are all integers and the ending temperature is greater than the starting temperature.

The formula to convert Celsius to Fahrenheit is

The formula to convert Fahrenheit to Celsius is

Function Requirements

You must create and use the following functions:

· displayMenu( ) displays a menu.

· getMenuSelection ( ) gets the menu selection from the user, upper or lower case 'C' for Celsius to Fahrenheit, upper or lower case 'F' for Fahrenheit to Celsius, and upper or lower case 'Q' to quit. Any other input should get an error message "Invalid selection: try again" and re-prompt for the menu selection.

· getStartEndAndIncrement( ) gets the start, end and increment values for the table from the user.

· CtoF( ) converts a Celsius temperature to Fahrenheit.

· FtoC( )converts a Fahrenheit temperatures to Celsius.

· displayTable( ) displays a C to F or F to C table given start, end and increment values and the conversion character the user selected.

Page 44: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

Additional Requirements

· Absolutely NO GLOBAL VARIABLES can be used to implement this program! Any program using global variables will NOT be accepted!

· Use a switch statement to respond to the user's menu selection in the getMenuSelection function.

· After the user selects a valid temperature table option, ask the user to enter start, end, and increment values, then display the table and stop until the user presses the ENTER key to continue (prompt the user, of course). When the user presses ENTER to continue the menu should be redisplayed, allowing the user to make another menu selection (either to display another temperature conversion table or quit).

· Make sure that your code is properly formatted (indentation, etc) and that you have provided suitable documentation of all your functions (comment blocks for program and functions!).

How to print the degree symbol

It is easy enough to find out how to do this by searching the web. The short answer is:

cout << (char)248;

Test Plan

Test cases are generally selected by analyzing the program and determining categories of inputs and outputs, then specifying at least one specific input value (or set of input values) for each category. Inputs for this program include the "selection," or menu input, and integer values to generate a table (start temperature, stop temperature and increment value). Here is an outline of the categories:

1. Menu test cases should include all possible valid menu selections and at least one invalid menu selection.

2. Table test cases should include

Page 45: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

2.1. Inputs that create tables with various numbers of rows

2.2. At least one temperature that calculates to an exact whole number of degrees (e.g., 0 degrees C = 32.0 degrees F).

2.3. Negative starting and ending temperatures.

2.4. At least one temperature that calculates to a fractional number of degrees (e.g., -50 degrees F = -45.6 degrees C).

2.5. Some common, easy to verify conversions, for example

2.5.1. 0 degrees C = 32.0 degrees F (and vice versa)

2.5.2. 100 degrees C = 212.0 degrees F (and vice versa)

2.5.3. -40, the only temperature that is the same in both.

Given these categories, use the table on the next page to record the specific input values you will use for your test plan. Note that you must predict and document what the output will be for each of your test cases, including the calculated values for each row of the temperature tables produced. Test your program using your selected test cases and record the actual observed output from your test cases by pasting screen shots into your report document. Make sure everything works correctly before submitting.

INPUTS

PREDICTED

OUTPUT

Test

Case

Menu

Input

Start Temperature

Page 46: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

Stop Temperature

Increment

1

2

3

4

5

6

7

Report

Your must turn in the following:

1. Source code print out.

2. Filled in test plan table as shown above, including predicted output.

3. Printout (screen shots) of actual output for the test cases in the test plan t

Page 47: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

COMP122

Week 7 iLab

The focus of this lab is on using strings. You will have an opportunity to work with both C style strings and thestring data type. This lab also gives you an opportunity to use what you have learned previously, including using functions, array processing, repetition, and selection. You will also have an opportunity to work with file input and output.

You are to design and implement a program which does encryption and decryption of data from files. Encryption is the process of taking plain lines of text and performing some algorithmic transformation on the data to create an encrypted line of text which looks nothing like the original. Decryption is the process of taking an encrypted line of text and performing some algorithmic transformation on the data to recover the original line of plain text.

Encryption and Decryption Approach

Our approach to encryption and decryption involves two strings. The first is an encryption / decryption string which we will allow to be up to 128 lower case alphabetical characters in length. The second string is a line of text from a file that is to be encrypted or decrypted.

Our basic strategy for encrypting data is based on mapping alphabetical characters to specific values, then doing some simple mathematical operations to create a new value. First of all, every character in either the encryption string or the input string is

Page 48: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

mapped to a number between 0 and 25 based on its position in the alphabet.

A = a = 0

B = b = 1

Z = z = 25

The mapped value of a character is easily obtained by doing the following:

For lower case characters, subtract 'a' from the character.

For upper case characters, subtract 'A' from the character.

To calculate the modified value of the first character of input we add its mapped value to the mapped value from the first character of the encryption string. This modified value is then adjusted using % 26 to make sure that the final modified value is within the 0 - 25 range. To create the final encrypted character value for the first character, simply do the following:

For lower case characters, add 'a' to the modified value.

For upper case characters, add 'A' to the modified value.

This is done for each alphabetic character in the input string. Non-alphabetic characters simply maintain their present value. If the input string is longer than the encryption string, simply reuse mapped values from the encryption string. For instance, if the encryption string has 10 characters (index values 0 - 9), when processing the 11th input character (index 10), simply use the input character index % length of encryption string (in this case 10 % 10 is 0) to select the value from the encryption string to use for mapping.

The decryption process is basically the same as the encryption process. The only difference is the value of the mapped character from the encryption string.

Page 49: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

For lower case encryption, the mapped value = character from encryption string - 'a'

For upper case encryption, the mapped value = character from encryption string - 'A'

For lower case decryption, the mapped value = 26 - (character from encryption string - 'a')

For upper case decryption, the mapped value = 26 - (character from encryption string - 'A')

Program Requirements

Your program must meet the following requirements:

1. You must ask the user if they want to perform an encryption or decryption operation.

2. You must ask the user to enter the name of the file they want to encrypt or decrypt.

3. You must get an encryption key from the user which can be up to 128 characters. The key must be all lower case alphabetic characters.

4. You must have a function which takes the encryption key and creates an encryption map from it. For each character in the encryption key string, subtract the lower case letter 'a' and store the result in the corresponding encryption map array.

5. You must have a function which takes the encryption key and creates a decryption map from it. For each character in the encryption key string, subtract the lower case letter 'a' from it. Then subtract that result from 26 and store the value in the corresponding decryption map array.

6. You must have a function which will do the encryption or decryption transformation. This function takes the following parameters:

A constant C string containing the line of text to be transformed.

Page 50: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

A constant C character array which contains the encryption or decryption map.

An integer which contains the length of the encryption map.

A string reference (output) which will contain the encrypted or decrypted string upon completion.

The core of the encryption / decryption algorithm is as follows:

For each character (the ith character) in the text input line do the following:

if the character is not alphabetical, add it to the end of the output string

if the character is lower case alphabetical

subtract the character 'a' from the character

get the ith % map length element from the map and add it to the character

adjust the value of the character % 26 to keep it within the alphabet

add the character 'a' to the character

add the encrypted character value to the end of the output string

if the character is upper case alphabetical

do the same thing as for lower case except use 'A' instead of 'a'

7. For decryption, the main program should create an ifstream for the file to be decrypted. It should use thegetline method of the ifstream to read lines from the file, call the encryption / decryption function with the line to be decrypted, and display the string which contains the result of the encryption / decryption function call. Repeat until the ifstream reaches the end of the file, then close the ifstream.

Page 51: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

8. For encryption, the main program should create an ifstream for the file to be encrypted. It should also create an ofstream for the file where the encrypted result will be stored. The file name for this file can be gotten from the user or can be the input file name with a special extension added at the end. The getlinemethod of the ifstream is used to read lines from the input file. Then the encryption / decryption function is called to encrypt the line. Display the string containing the result and write the string to the ofstream. Close the ifstream and ofstreams when finished.

9. Make sure that your program allows the user to encrypt / decrypt more than one file per session. This means adding a loop which allows the entire program to repeat until the user has nothing more to do.

Hints

1. Use C strings for the encryption string and the file names. Use char arrays for the encryption and decryption maps. You cannot treat these as C strings because the maps can contain 0 as a valid data item rather than the end of string marker.

2. Use a string type variable to hold the encrypted and decrypted strings. The string type allows you to add characters to the end of a string using the push_back method, and it allows you to dump the contents of the string using the erase method.

3. For input streams, you can use the eof method to determine when you have reached the end of a file.

4. Use a character array to read data from the files. Set the maximum length for this buffer to be 256 characters.

Development Strategy

I would recommend that you build this project in two phases. The first phase should concentrate on getting the encryption and decryption map functions and the encryption / decryption function working. You can test this by using fixed C strings for the input line and the encryption string. Call the map functions, then encrypt the fixed input string, output the result, then decrypt the encrypted string and output the result. When your final output is the same as

Page 52: Comp122 Full Course Latest 2015 [ All Discussions All Homework and All Ilabs ]

the original input, your encryption / decryption functions are working. The second phase adds the file operations.

Testing and Deliverables

When you think you have a working program, use Notepad to create a file with plain text in it. You should enter some different length lines containing a variety of characters. Your file should have at least 10 lines. You should try using short and long encryption keys. Using your program, encrypt the file, then decrypt the encrypted file. Take a screen shot of your decrypted output and paste it into a Word document. Also copy the contents of your original file and the encrypted file into the Word document. Clearly label the contents of the Word document. Then copy your source code into your document. Make sure that you have used proper coding style and commenting conventions!

all ilabs are there week 1,2,3,4,5,6,7