Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 3 Programming and Software.

Similar presentations


Presentation on theme: "ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 3 Programming and Software."— Presentation transcript:

1 ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 3 Programming and Software

2 Last Time Mathematical Model Physical Problem Mathematical Model DataTheory Numeric or Graphic Results Implementation

3 Last Time Mathematical Model A formulation or equation that expresses the essential features of a physical system or process in mathematical terms Dependent Variable =f Independent Variables Forcing Functions Parameters

4 Mathematical Model Fundamental Laws Conservation of Mass Conservation of Momentum Conservation of Energy

5 Mathematical Model Change = Increase - Decrease Change  0 : Transient Computation Change = 0 : Steady State Computation Expressed in terms of

6 Analytic vs Numerical Solution t (s)v (m/s) 0.00 219.6 432 639.85 844.82 1047.97 1249.96

7 Software Packages Users StandardPower Limited to standard software capabilities Write your own macros and/or software

8 Objectives Computer Implementation of Numerical Methods Introduce Algorithms Discuss Flowcharts Discuss Pseudocodes Programming Tools and Styles

9 Computer Implementation Algorithm Flowchart Pseudocode Computer Program

10 Algorithms & Flowcharts Algorithm The step by step procedure that describes the implementation of a solution strategy. Flowchart The visual representation of an algorithm.

11 Flowchart Symbols Used in Flowcharts

12 Pseudocode and Computer Code Computer Code Set of Instructions in a computer language that direct the computer to perform a certain task. Pseudocode Set of code-like instructions that express the flowchart in a narrative form

13 VISUAL C++

14 FORTRAN

15 Visual Basic

16 MathCAD

17 Building Software… Instructions in TEXT form

18 Building Software… Compiled Form….

19 Building Software… Compiled Form….

20 Building Software… Linked Form…..exe

21 Programming Topics Simple Information Specification –Constants, variables, type declarations Advanced Information Representation –Arrays, data structures, records Mathematical Formulas –Operators, priority rules, intrinsic functions Input/Output Logical Representation –Sequence, selection and repetition Modular Programming –Functions and Subroutines

22 Programming Topics Simple Information Specification –Constants, variables, type declarations Advanced Information Representation –Arrays, data structures, records Mathematical Formulas –Operators, priority rules, intrinsic functions Input/Output Logical Representation –Sequence, selection and repetition Modular Programming –Functions and Subroutines

23 Simple Information Specifications Constants: Value does not change e.g. acceleration of gravity g_SI=9.81 e.g.  pi=3.141592654

24 Simple Information Specifications Variables: Value depends on the problem –User Input Assign descriptive names, e.g. mass instead of m

25 Simple Information Specifications Type Declaration real mass8 decimal accuracy int istepinteger double g_SI16 decimal accuracy BOOL trivialTRUE/FALSE e.t.c.

26 Programming Topics Simple Information Specification –Constants, variables, type declarations Advanced Information Representation –Arrays, data structures, records Mathematical Formulas –Operators, priority rules, intrinsic functions Input/Output Logical Representation –Sequence, selection and repetition Modular Programming –Functions and Subroutines

27 Advanced Information Representation Arrays –N-dimensional matrices of same data type real v(10)velocity at 10 time steps int cell(100,100)100x100 rectangular matrix e.t.c.

28 Advanced Information Representation Structures and Records –Collection of data types struct STUDENT { charName real GPA int Age BOOLInState }

29 Programming Topics Simple Information Specification –Constants, variables, type declarations Advanced Information Representation –Arrays, data structures, records Mathematical Formulas –Operators, priority rules, intrinsic functions Input/Output Logical Representation –Sequence, selection and repetition Modular Programming –Functions and Subroutines

30 Mathematical Formulas Operators, priority rules, intrinsic functions

31 Programming Topics Simple Information Specification –Constants, variables, type declarations Advanced Information Representation –Arrays, data structures, records Mathematical Formulas –Operators, priority rules, intrinsic functions Input/Output Logical Representation –Sequence, selection and repetition Modular Programming –Functions and Subroutines

32 Logical Representation Sequence Computer code is to be implemented one instruction at a time Analytic Solution Enter g,m,c Enter time t Evaluate v Print t,v

33 Logical Representation Selection Computer code flow is split into branches based on a logical decision. Enter g,m,c Check if m=0 Print Error Message OK to continue

34 Logical Representation Repetition Implement instructions repeatedly

35 Programming Topics Simple Information Specification –Constants, variables, type declarations Advanced Information Representation –Arrays, data structures, records Mathematical Formulas –Operators, priority rules, intrinsic functions Input/Output Logical Representation –Sequence, selection and repetition Modular Programming –Functions and Subroutines

36 Modular Programming Module is a self contained and independent code segment Modules are designed to perform a specific, well designed task Functions return a single result Subroutines return several results

37 Example Consider Quadratic Equation With closed form solution

38 Example If a,b,c are given Compute x 1 and x 2 What Do I Need?

39 Example Ask user to input a,b,c Check if a=0 –Linear equation, this solution does not apply Check if a=0 and b=0 –Trivial Solution Check if b 2 -4ac=0 –Double Real Root

40 Example Check if b 2 -4ac>0 –Two Real Roots Check if b 2 -4ac<0 –Imaginary Roots

41 Example START a=0 Loop Input a, b, c Print Solution 1 FALSE 2 TRUE Solve Again TRUE END FALSE

42 Example 1 d Complex Roots d<0d>0 d=0

43 Example 2 b=0 Trivial Solution TRUEFALSE

44 DO INPUT a, b, c d = b**2 – 4*a*c IF a = 0 THEN IF b=0 THEN TRIVIAL SOLUTION ELSE x1 = -c/b ENDIF ELSE IF d<0 THEN COMPLEX ROOTS ELSE IF d = 0 THEN x1=x2=-b/2a ELSE x1 = (-b+SQRT(d))/(2*a) x2 = (-b-SQRT(d))/(2*a) ENDIF PRINT Continue? INPUT Control IF ( CONTROL == FALSE ) EXIT ENDDO PSEUDOCODE START a=0 Loop Input a, b, c Print Solution 1 FALSE 2 TRUE Solve Again TRUE END FALSE

45 Additional Homework Problem 2.8 Do not write a program. Draw the flowchart and pseudocode


Download ppt "ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 3 Programming and Software."

Similar presentations


Ads by Google