Presentation is loading. Please wait.

Presentation is loading. Please wait.

Simple C++ Programs ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne.

Similar presentations


Presentation on theme: "Simple C++ Programs ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne."— Presentation transcript:

1 Simple C++ Programs ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne

2 206_C22 Program Structure  Object-Based Programming  Program Structure  Dev-C++

3 206_C23 Object-Based Programming  Object-Oriented Programming Identify the data requirements of the problem How the data will be used in the program  Abstract Data Types Class Inheritance

4 206_C24 C++ Program /* */ /* Program chapter1_1 */ /* */ /* This program computes the distance between */ /* two points */ #include using namespace std;

5 206_C25 C++ Program int main() { // Declare and initialize objects double x1(1), y1(3), x2(4), y2(7), side1, side2, distance; // Compute sides of right triangle side1 = x2 - x1; side2 = y2 - y1; distance = sqrt(side1 * side1 + side2 * side2);

6 206_C26 C++ Program // Print distance cout << "The distance between the two points is " << distance << endl; // Windows friendly exit system("PAUSE"); return 0; } /* */

7 206_C27 Program Structure  Comments /* */ /* Program chapter1_1 */ // Declare and initialize objects  Preprocessor Directives #include  Using Directive using namespace std;

8 206_C28 Program Structure  Main Function int main() { }  Declarations object types initial values // Declare and initialize objects double x1(1), y1(3), x2(4), y2(7), side1, side2, distance;

9 206_C29 Program Structure  Statements // Compute sides of right triangle side1 = x2 - x1; side2 = y2 - y1; distance = sqrt(side1 * side1 + side2 * side2); // Print distance cout << "The distance between the two points is " << distance << endl;  Return return 0;

10 206_C210 General Program Structure preprocessing directives int main() { declarations; statements; }

11 206_C211 Dev-C++  Bloodshed Software Dev-C beta 9.2 ( ) (9.0 MB) with Mingw/GCC Download from: SourceForge

12 206_C212 Dev-C++ New Source File Compile Run

13 206_C213 Windows Friendly Exit // Windows friendly exit system("PAUSE"); return 0;

14 206_C214 Summary  Object-Based Programming  Program Structure  Dev-C++

15 206_C215 Simple C++  Constants and Variables  C++ Operators  Standard Input and Output

16 206_C216 Constants and Variables  Objects Constants Specific values Variables Memory locations Identifiers Begin with alphabetic character Lowercase or uppercase letters (case sensitive) Can contain digits (not first character) Cannot be a keyword

17 206_C217 Scientific Notation  Floating-Point 2.5, , 15.0  Scientific Notation 25.6 = 2.56 x = -4.0 x  Exponential Notation 25.6 = 2.56e = -4.0e-3  Mantissa Precision Example  Exponent Range

18 206_C218 Numeric Data Types  Integers short int long  Floating-Point float double long double

19 206_C219 Boolean Data Type  Example bool error(false), status(true); cout << error << endl << status;  Program Output 0101

20 206_C220 Character Data Type  ASCII Appendix B 7-bit binary  Character Constant Single quotes 'A', 'b', '3' Can be interpreted as character or integer '3' != 3

21 206_C221 String Data  String Constant Sequence of characters Double quotes "Fred", "C17"  String Objects string class

22 206_C222 String Class /* */ /* This program prints a greeting */ /* using the string class. */ #include #include // Required for string class using namespace std;

23 206_C223 String Class int main() { // Declare and initialize two string objects. string salutation("Hello"), name("Jane Doe"); // Output greeting. cout << salutation << ' ' << name << '!' << endl; // Exit program. return 0; } Hello Jane Doe!

24 206_C224 Symbolic Constants  Const Declared and initialized Cannot be changed within the program const double PI = acos(-1.0); const double LightSpeed = e08;

25 206_C225 C++ Opeartors  Assignment Operator identifier = expression;  Expression Constant, Object, Result of an Operation double sum(10.5); int x1(3); char ch('a'); double sum; int x1; char ch; sum = 10.5; x1 = 3; ch = 'a';

26 206_C226 Assignment Operator  Multiple Assignments x = y = z = 0;  Type Conversion long double double float long integer integer short integer info lostno loss

27 206_C227 Arithmetic Operators  Unary Operators Positive + Negative -  Binary Operators Multiplication * Division / Modulus % Addition + Subtraction - Precedence 2 3 4

28 206_C228 Mixed Operations  Operation between values of different types Value of lower type promoted Cast Operator (type) Examples

29 206_C229 Expressions  Distance = x 0 + v 0 t + at 2 double distance, x0, v0, a, t; distance = x0 + v0*t + a*t*t;  Tension = ?

30 206_C230 Increment and Decrement  Unary Operators Increment ++ Decrement --  Prefix ++count  Postfix count--  Examples

31 206_C231 Abbreviated Assignment  Abbreviated Assignment Operators x = x + 3;x +=3; y = y * 2;y *=2;  Lowest Precedence (evaluate last) a = (b += (c + d)); a = (b = b + (c + d)); b = b + (c + d); a = b;

32 206_C232 Standard Output  Standard Output #include cout << "Hello " << name;  Stream Manipulators #include setprecision(n), fixed, scientific setw(n), left, right, setfill(ch) dec, oct, hex endl

33 206_C233 Standard Output /* */ /* Program chapter2_4 */ /* */ /* This program computes area of a circle. */ #include using namespace std;

34 206_C234 Standard Output const double PI=acos(-1.0); int main() { // Declare and initialize objects. double radius(4.6777), area; // Compute area area = PI*radius*radius;

35 206_C235 Standard Output // Output results cout << setprecision(4) << "The radius of the circle is: " << setw(10) << radius << " centimeters" << endl; cout << scientific << "The area of the circle is: " << setw(12) << area << " square centimeters" << endl;

36 206_C236 Standard Input  Standard Input #include cin >> var1 >> var2 >> var3;  Whitespace used as delimiters blanks, tabs, newlines  Values must be compatible with data type of objects  Stream Manipulators #include skipws, noskipws

37 206_C237 Summary  Constants and Variables  C++ Operators  Standard Input and Output

38 206_C238 Problem Solving  Basic Functions  Numerical Technique Linear Interpolation  Problem Solving Applied Wind-Tunnel Data Analysis

39 206_C239 Basic Functions  Basic Math Functions #include Arguments are type double  Elementary Math Functions fabs(x), abs(n) sqrt(x), pow(x,y) ceil(x), floor(x) exp(x), log(x), log10(x)

40 206_C240 Basic Functions  Trigonometric Functions Angles in radians(180 degrees = π radians) sin(x), cos(x), tan(x) asin(x), acos(x), atan(x), atan2(y,x) const double PI = acos(-1.0); double angle_deg, angle_rad; angle_deg = angle_rad*(180/PI); angle_rad = angle_deg*(PI/180);

41 206_C241 Practice velocity = sqrt(pow(v0,2) + 2*a*(x - x0));

42 206_C242 Other Functions  Hyperbolic Functions sinh(x), cosh(x), tanh(x)  Character Functions #include toupper(ch), tolower(ch) isdigit(ch), isupper(ch), islower(ch) isspace(ch), ispunct(ch)

43 206_C243 Interpolation  Use data points to determine estimates of a function f(x) for values of x that were not part of the original set of data Cubic-spline Interpolation Third-degree polynomial Linear Interpolation Straight line a < b < c

44 206_C244 Example  Data Set  Estimate the temp at 2.6s Time, sTemp, deg F

45 206_C245 Problem Solving Applied  Wind-Tunnel Data Analysis Problem Statement Use linear interpolation to compute a new coefficient of lift for a specified flight-path angle Input/Output Description Data Point (a, f(a)) New Coefficient f(b)Data Point (c, f(c)) New Angle (b)

46 206_C246 Problem Solving Applied Hand Example Estimate coefficient of lift at 8.7 degrees Algorithm Development Read coordinates of adjacent points Read new angle Compute new coefficient Print new coefficient Angle (degrees) Coefficient of Lift

47 206_C247 Problem Solving Applied /* */ /* Program chapter2_5 */ /* */ /* This program uses linear interpolation to */ /* compute the coefficient of lift for an angle.*/ #include using namespace std; int main() {

48 206_C248 Problem Solving Applied // Declare objects double a, f_a, b, f_b, c, f_c; // Get user input from the keyboard. cout << "Use degrees for all angle measurements. \n"; cout << "Enter first angle and lift coefficient: \n"; cin >> a >> f_a; cout << "Enter second angle and lift coefficient: \n"; cin >> c >> f_c; cout << "Enter new angle: \n"; cin >> b;

49 206_C249 Problem Solving Applied // Use linear interpolation to compute new lift. f_b = f_a + (b-a)/(c-a)*(f_c - f_a); // Print new lift value. cout << fixed << setprecision(3); cout << "New lift coefficient: " << f_b << endl; // Windows friendly exit system("PAUSE"); return 0; }

50 206_C250 Problem Solving Applied Testing

51 206_C251 Summary  Basic Functions  Numerical Technique Linear Interpolation  Problem Solving Applied Wind-Tunnel Data Analysis  End of Chapter Summary C++ Statements Style Notes Debugging Notes


Download ppt "Simple C++ Programs ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne."

Similar presentations


Ads by Google