lecture 2 - wordpress.com · lecture 2 c++ structure, and programming 1 . problem solving with...

21
ME 240 Computation for Mechanical Engineering Lecture 2 C++ Structure, and programming 1

Upload: others

Post on 31-Aug-2020

5 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

ME 240 Computation for

Mechanical Engineering

Lecture 2

C++ Structure, and programming

1

Page 2: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Problem Solving with Computers

Problem solving with computers involves several steps:

1. Clearly define the problem.

2. Analyse the problem and formulate a method to solve it.

3. Describe the solution in the form of an algorithm.

4. Draw a flowchart of the algorithm.

5. Write the computer program.

6. Compile and run the program (debugging).

7. Test the program (debugging).

8. Interpretation of results.

2

Page 3: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Algorithms & Flow Charts

Algorithm gives a step-by-step description of the solution

Flow chart gives the logical flow of the solution in a diagrammatic form.

S1: Start

S2: Input N

S3: Set M = 1 and F = 1

S4: Set F = F*M

S5: If M = N GOTO S7

S6: Set M = M + 1 and GOTO S4

S7: Output F

S8: End

3

Page 4: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Beginning or end of an algorithm

Input or output of information

A computation

Decision making

The beginning of the repetition structure.

The direction of flow of the algorithm.

Circles with arrows connect the flowchart between pages.

4

Page 5: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Example

Write an algorithm and draw a flowchart for a program

that inputs a temperature in degrees Fahrenheit and

then converts it to a temperature in Celsius

Hint: )FahrenheitCelsius 32(9

5

Page 6: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Algorithm

1. Start the program

2. Enter the Fahrenheit temperature

3. Calculate the Celsius temperature using following equation:

4. Display the Celsius temperature

5. End the program

)FahrenheitCelsius 32(9

5

Page 7: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Flowchart

Start

End

Enter

Fahrenheit

Calculate Celsius =

Display

Celsius

)32(9

5Fahrenheit

Page 8: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Example

Write an algorithm and draw a flowchart for a program

that reads the radii of two different circles, calculates

circle areas, and then outputs the largest

Hint: Area of a circle = radius2

Page 9: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Algorithm

1. Start the program

2. Enter the circle radii r1 and r2

3. Calculate the areas A1 and A2 from the formula:

A = r2

4. Compare the area of two circles and display the

largest.

5. End the program.

Page 10: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Flowchart

Start

Enter (different)circle

radii, r1, r2

End

Calculate

A1 = r 12 A2 = r 2

2

A1>=A2

Y N Display A2 Display A1

Page 11: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

What is C++?

C++ (pronounced "C plus plus")

is a general-purpose and middle-level programming language

supports procedural programming, object-based programming, object-oriented programming, generic programming and functional programming

is an enhancement to C

was developed by Danish computer scientist Bjarne Stroustrup in 1979 (called C with Classes) at Bell Labs (named C++ in 1983)

was ratified in 1998 ISO/IEC 14882:1998

and in 2003 ISO/IEC 14882:2003

Recently, a revised ISO C++ standard, known informally as C++11, has been published.

11

Page 12: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Computer Programming

Computer programming (coding) is the process of

writing,

testing / debugging / troubleshooting

maintaining

the source code of computer programs.

The source code is written in a programming language, e.g.

// A simple C++ program

#include <iostream>

using namespace std;

int main(){

cout << "Hello World!\n";

return 0;

} 12

Page 13: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Generating an Executable File

set of instructions written by the programmer (high level code) “hello.cpp”

Translates the source code into machine code

(low level code)

The compiled code

(low level code) “hello.obj”

Generates a machine code

(executable code or executable program)

The executable program that you run under an operating system “hello.exe”

13

Page 14: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Our First C++ Program

// First C++ program

#include <iostream>

using namespace std;

int main()

{

cout << "Hello World!";

return 0;

}

Program source file name: hello.cpp

In general C++ files have extentions: .cpp, .c++, .cxx, .cc

14

Page 15: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Line 1: Lines starting with // are considered as comment.

Line 2: Lines starting with # are directives for preprocessor #include <iostream> tells the compiler to include the iostream file containing declarations of basic input output.

Line 3: All variables, objects etc of the std C++ library may be referenced;

for example cout is the part of std namespace.

Line 4: An empty line does nothing except help readability.

Line 5: The main function of the program is declared here. Each C++ program must have only one main() function. The beginning and end of the main() block is indicated by braces { }.

Line 7: Outputs “Hello World” to the screen.

Line 8: [optionally] the return statement terminates the function;

return 0 sends a message to OS: “program ends without an error”

1: // First C++ program 2: #include <iostream>

3: using namespace std;

4:

5: int main()

6: {

7: cout << "Hello World!";

8: return 0;

9: }

15

Page 16: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Compile and Run

output

16

Page 17: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Our Second C++ Program

// Calculates the sum of two integers

#include <iostream>

using namespace std;

int main() {

int a, b, total;

cout << "Enter two integers: ";

cin >> a >> b;

total = a + b;

cout << "The sum is " << total << endl;

return 0;

}

17

Page 18: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Standard Input and Output (I/O)

The standard C++ library includes the header file iostream, where the input and output stream objects are declared.

cout to output data to the screen

cin to input data from the keyboard.

This specific file (iostream) can be found usually under the folder:

for Linux (GCC): /usr/include/ for Windows (Dev-C++): C:\Dev-Cpp\include\

18

Page 19: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Standard Input and Output (I/O)

Basic Output cout << "Hello World!"; Outputs: Hello World!

cout << "Hello " << "World!"; Outputs: Hello World!

cout << 1453; Outputs the number 1453

cout << x; Outputs the content of x

Line break on output Outputs:

cout << "University of ";

cout << "Gaziantep"; University of Gaziantep

cout << "University of\n "; University of

cout << "Gaziantep"; Gaziantep

cout << "University of " << endl; University of

cout << "Gaziantep“; Gaziantep

19

Page 20: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Standard Input and Output (I/O)

Basic Input

cin >> a; reads a value from the keyboard to variable a

cin >> a >> b; reads values from the keyboard to a and b

// Calculates the sum of two integers

#include <iostream>

using namespace std;

int main()

{

int a, b, total;

cout << "Enter two integers: ";

cin >> a >> b;

total = a + b;

cout << "The sum is " << total << endl;

return 0;

}

20

Page 21: Lecture 2 - WordPress.com · Lecture 2 C++ Structure, and programming 1 . Problem Solving with Computers Problem solving with computers involves several steps: 1. Clearly define the

Standard Input and Output (I/O)

If you remove the line “using namespace std;” then

the source code on the previous pages needs modifying

as follows:

// Calculates the sum of two integers

#include <iostream>

int main()

{

int a, b, total;

std::cout << "Enter two integers: ";

std::cin >> a >> b;

total = a + b;

std::cout << "The sum is " << total << std::endl;

return 0;

}

21