problem solving and program design in c (5th edition) by jeri r. hanly and elliot b. koffman

Post on 01-Jan-2016

37 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Problem Solving and Program Design in C (5th Edition) by Jeri R. Hanly and Elliot B. Koffman. Slides By Dr. Daniyal Alghazzawi. CP 202 Chapter 2. CHAPTER 2 - Outline. Software Development Method Variables vs. Constants Memory Syntax (Grammar) Data Types Input / Output Functions - PowerPoint PPT Presentation

TRANSCRIPT

Problem Solving and Program Design in C

(5th Edition)

by Jeri R. Hanly and Elliot B. Koffman

CP 202Chapter 2

Slides ByDr. Daniyal Alghazzawi

CHAPTER 2 - Outline Software Development Method Variables vs. Constants Memory Syntax (Grammar) Data Types Input / Output Functions Changing the Display Output Using Comments Writing a Program in C

Be A Problem Solver You need to be a problem solver. A good problem solver a good programmer. Programmers use the Software Development

Method. This is what you will learn in this course.

The Software Development Method

ImplementationProblem AnalysisDesign /Algorithm

Testing Maintenance

1. 2. 3. 4. 5. 6.

The Software Development MethodCase Study: Converting Miles to Kilo

1. Problem:Your summer surveying job requires you to study some maps that give distances in kilometers and some that use miles. You and your coworkers prefer to deal in metric measurements. Write a program that performs the necessary conversion.

ImplementationProblemProblem AnalysisDesign /Algorithm

Testing Maintenance

1. 2. 3. 4. 5. 6.

The Software Development MethodCase Study: Converting Miles to Kilo

2. Analysis (تحليل):1. Problem Input: miles2. Problem Output: kilometers3. Relevant Formula: 1 mile = 1.609 kilometers

ImplementationProblem AnalysisAnalysisDesign /Algorithm

Testing Maintenance

1. 2. 3. 4. 5. 6.

The Software Development MethodCase Study: Converting Miles to Kilo

3. Design / Algorithm:1. Get the distance in miles.2. Convert the distance to kilometers. (1 kilometer = 1.609 miles)3. Display the distance in kilometers.

ImplementationProblem Analysis Design /AlgorithmDesign /Algorithm

Testing Maintenance

1. 2. 3. 4. 5. 6.

The Software Development MethodCase Study: Converting Miles to Kilo

4. Implementation:(تنفيذ)

ImplementationImplementationProblem AnalysisDesign /Algorithm

Testing Maintenance

1. 2. 3. 4. 5. 6.

The Software Development MethodCase Study: Converting Miles to Kilo

5. Testing:1. Verify that the program works properly.2. Try few test cases.

ImplementationProblem AnalysisDesign /Algorithm TestingTesting Maintenance

1. 2. 3. 4. 5. 6.

The Software Development MethodCase Study: Converting Miles to Kilo

6. Maintenance (صيانة):1. Remove undetected errors.2. Keep it up-to-date.

ImplementationProblem AnalysisDesign /Algorithm

Testing MaintenanceMaintenance

1. 2. 3. 4. 5. 6.

Variables (متغير) Use variables to store the values in the

algorithm. Variables vs. Constants (ثابت). Algorithm without variables:1. Get the distance in miles.2. Convert the distance to kilometers. (1 kilometer = 1.609 miles)3. Display the distance in kilometers.

Algorithm with variables:1. Get the value X (X: the distance in miles)2. Y = X / 1.609 (Y: the distance in kilo)3. Display the value Y

Variables Choose good names for the variables:

No need to write any comment Easy to track Case sensitive Don’t use a Reserved Word

The algorithm with good variables’ names:1. Get the value TotalMiles2. TotalKilo = TotalMiles / 1.6093. Display the value TotalKilo

Variables Syntax (القاعدة) in C

True or False:1. X = 10;2. Y = 203. Z = 15.5;4. Y = X + Z;5. Y = Y + 1;6. Z = Y – 1.5 + 5;7. 23 = Z;8. Z = Z / 2 + 5;

variable = expression ;

Variables Syntax (القاعدة) in C

True or False:1. X = 10;2. Y = 20 False; Why?3. Z = 15.5;4. Y = X + Z;5. Y = Y + 1;6. Z = Y – 1.5 + 5;7. 23 = Z; False; Why?8. Z = Z / 2 + 5;

variable = expression ;

Variables and Memory (الذاكرة) The memory stores the last value of each

variable in the program. The following program consists of 3 variables.

Show the value of each variable in the memory after executing each statement?1. X = 10;2. Z = 15.5;3. Y = X + Z;4. Y = Y + 1;5. Z = Y – 1.5 + 5;6. Z = Z / 2 + 5;7. X = Z % 3;

What are the values of (X, Y, Z) in the memory after executing the program?

# X Y Z

1. 10

2. 15.5

3. 25.5

4. 26.5

5. 30

6. 20

7. 2

Data Types ( البيانات (نوعية

Note: there are other data types.

Data Types (Syntax in C)

Example of each data type with an assigned value.1. int id;2. double dollar;3. char gender;4. 5. id = 0750428;6. dollar = 3.75;7. gender = ‘M’;

int variable_list ;double variable_list ;

char variable_list ;

Output Operations and Functions The output operations and functions will help

you to display variables and values on the screen.

Display “Hello…” on the screen in C? use the function printf

printf(“Hello…”); Display “Hello” in 1st line and “good” in 2nd

line? use the Newline Escape Sequence \n

printf(“Hello\ngood”);

Output Operations and Functions Display the value of the variable X?

If the variable is integer, use the Placeholder %dprintf(“%d”, X);

If the variable is double, use the Placeholder %fprintf(“%f”, X);

If the variable is character, use the Placeholder %cprintf(“%c”, X);

Display “My age is “ then the variable AGE? printf(“My age is %d”, AGE);

Write an example using the two variables: age,GPA? printf(“I am %d years old, my GPA: %f\n”, age,

GPA);

Note: no need to memorize some terms, such as “Placeholder”

Output Functions Syntax

Examples:1. printf(“Enter the object mass in grams?”);2. printf(“I am %d years old, and my gpa is %f\n”,

age, gpa);

printf (format string);printf (format string, print list);

You can ask a user to enter a value, so what is the function to get this value?

Input Operations and Functions The input operations and functions will help

you to get values for the variables from a user .(مستخدم)

Get the value for the variable X? If the variable is integer, use the Placeholder %d

scanf(“%d”, &X); If the variable is double, use the Placeholder %lf

scanf(“%lf”, &X); If the variable is character, use the Placeholder %c

scanf(“%c”, &X); Get 3 characters from the user for the variable name?

scanf(“%c%c%c”, &name);

Input Function Syntax

Examples:1. scanf(“%c%d”, &first_initial, &age);

scanf (format string, input list);

Input/Output Function Ask the user to enter the distance in miles and

display the distance in kilometers?1. double miles, kms;

2. printf(“Enter the distance in miles: “);

3. scanf(“%lf”, &miles);

4. kms = miles * 1.609;

5. printf(“That equal %f kilometers.\n”, kms); What will you see on the screen after run these

steps?Enter the distance in miles: 102.9That equal 165.5661 kilometers.

How to change the display from 165.5661 to 165.57 ?

Changing the Display - Integer Example:

1. int X;2. X = 102;3. printf (“X1 = %d\n”, X);4. printf (“X2 = %4d\n”, X);5. printf (“X3 = %5d\n”, X);

Run:X1 = 102

X2 = 102

X3 = 102

Value Format

DisplayedOutput

234 %4d ▒234

234 %5d ▒▒234

234 %6d ▒▒▒234

234 %1d 234

-234 %4d -234

-234 %5d ▒-234

-234 %6d ▒▒-234

-234 %2d -234

Changing the Display - Double Example:

1. double X, Y, Z;2. X = 10.233. Y = 102.235;4. Z = 20.25. printf (“>%6.2f\n”, X);6. printf (“>%.2f\n”, Y);7. printf (“>%6.2f\n”, Z);

Run:> 10.23

>102.24

> 20.20

Value Format

Displayed Output

3.14159 %5.2f ▒3.14

3.14159 %3.2f 3.14

3.14159 %5.3f 3.142

3.14159 %4.2f 3.14

3.14159 %5.1f ▒▒3.1

3.14159 %8.5f ▒3.14159

0.1234 %4.2f 0.12

-0.006 %8.3f ▒▒-0.006

-0.006 %.3f -0.006

-0.006 %4.2f -0.01

-0.006 %8.5f -0.00600

-3.14159

%.4f -3.1416Hint: write the displayed output first, and then write the format

Using Comments With your comments, it will easy to remember

the job of each statement in your program. Each comment starts with /* and end up with

*/ For example:

1. /* DECLARATIONS */

2. double miles, kms;

3. /* EXECUTABLE STATMENTS */

4. printf(“Enter the distance in miles: “);/* ask the user */

5. scanf(“%lf”, &miles); /* get the miles */

6. kms = miles * 1.609; /* miles to kms */

7. printf(“That equal %f kilometers.\n”, kms);

Note: you need to learn writing Mathematical Formulas in C

Be Ready to Write a Program in C Any group of statements needs to be inside a

function. (Note: you will learn later more about functions and write more than one function)

The main function will be executed first.1./* include the header files here for any external function, such as input/output functions */

2./* define any Constant (not Variable) here */

3.int main (void)

4.{

5. /* Declare the variables here */

6. /* Write the executed statements */

7. return (0);

8.}

Be Ready to Write a Program in C

Program 1:Miles-to-Kilometers Conversion

What will be displayed on the screen after run this program?

Program 2:Finding the Value of the Coins1 Dollar = 100 cents , 1 Quarter = 25 cents , 1 dime = 10 cents1 Nickels = 5 cents , x pennies = x cents

What will be displayed on the screen after run this program? (2 slides)

Program 2:Finding the Value of the Coins (cont’d)

What is the problem that this program tries to solve?

Common Programming Errors Learn in the lab:

Debugging Syntax Errors Run-Time Errors Undetected Errors

CHAPTER 2 - Conclusion Software Development Method Variables vs. Constants Memory Syntax (Grammar) Data Types Input / Output Functions Changing the Display Output Using Comments Writing a Program in C

top related