Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 BIL106E Introduction to Scientific & Engineering Computing Organizational matters Fortran 90 ( subset F ): Basics Example programs in detail.

Similar presentations


Presentation on theme: "1 BIL106E Introduction to Scientific & Engineering Computing Organizational matters Fortran 90 ( subset F ): Basics Example programs in detail."— Presentation transcript:

1 1 BIL106E Introduction to Scientific & Engineering Computing Organizational matters Fortran 90 ( subset F ): Basics Example programs in detail

2 2 Top-down programming 4 basic steps 1.Specify the problem clearly 2.Analyze the problem and break it down into its fundamental elements 3.Code the program according to the plan developed at step 2 4.Test the program exhaustively, and repeat steps 2 and 3 as necessary until the program works in all situations that you can envisage

3 3 Program = Data Types + Algorithms  Data types: what you work on  Algorithms: what you do with them

4 4 Structure of a program Heading ( program, module, etc.) ‏ specification part execution part subprogram part end program statement

5 5

6 6 Data Types Five basic types: 1.integer 2.real 3.complex 4.character 5.logical Data types of ‘container’ classes

7 7 Integers a whole number (positive, negative or zero) ‏ no decimal point Examples 0 123 -23456 +123789

8 8 Reals Numbers with decimal fractions There has to be decimal point Examples 1.23456 -0.001987 5678. Another representation: 1.952e3 (1.952*10^3) 0.1952e4 123.456e-8

9 9 Character Sequence of symbols from the Fortran character set Enclosed between double quotes Examples "This is a string" "I do, I don't" "1234abc345"

10 10 Logical Can take only two values:.TRUE..FALSE.

11 11 Identifiers Names used to identify programs, constants, variables, etc. Identifiers must begin with a letter This can be followed by up to 30 letters, digits, underscores F_World is Case sensitive lower or upper case letters are important YourName not equal equal yourname But most of the FORTRAN compiler are case insensitive. PROGRAM, program, proGRAM, pRoGrAm are all the same.

12 12 Identifiers Examples Current Decay_Rate pressure an_identifier_with_a_long_name the_best_program

13 13 Constants 1029 is an integer constant 12.3 is a real constant "What a nice day!" is a character constant

14 14 Variables: Variables: It is usual for people to associate a name or phrase with a piece of information. For example, the phrase "today's date" has an associated numeric value which varies day by day. This is similar to the concept of a program variable; a program variable is some object (named by the programmer) which uniquely identifies a piece of data stored in memory. Variables are value containers Compiler associates with a variable a memory location Value of a variable at any time is the value stored in the associated memory location at that time

15 15 Variables 123.56 23456 MEMORY Hello World 1234567 Message Payment

16 16 Declarations of Variables Form: type-specifier :: list Declares that the identifiers in the list have the specified type Type statements must appear in the specification part of the program Examples integer :: number_years, counts, months real :: Mass, Velocity, Acceleration character (len=12) :: MyName, YourName

17 17 implicit none It should be placed at the beginning of the specification part You have to declare all variables you will be using in the program!

18 18 Variable initialization All variables are initially undefined Initialization in the declarations Examples: real :: W=1.2, z=5.67, mass=4.56 integer :: year=1998, count=0

19 19 Named constants Form: type-specifier, parameter :: list Examples integer, parameter :: INITCOUNT = 30 real, parameter :: G = 9.81 It's a good idea to write named constants in upper case

20 20 Arithmetic operations Variables and constants can be processed by using operations and functions appropriated to their types. Operations

21 21 Operator Operation + Addition, unary plus - Subtraction, unary minus * Multiplication / Division ** Exponentiation

22 22 Operations Examples To calculate B2 B2 - 4AC B**2 - 4*A*C Types are important: 9/4 = 2 9.0/4.0 = 2.25 Mixed-mode expressions: 3 + 8.0/5 * 3 + 8.0/5.0 * 3 + 1.6 * 3.0 + 1.6 * 4.6 =???

23 23 Priority rules All exponentiations are performed first; consecutive exponentiations are performed from right to left  All multiplications and divisions are performed next; in the order in which they appear from left to right  Additions and subtractions are performed last, in the order in which they appear from left to right  ** *, / +, -

24 24 Some examples 2 ** 3 2 = 512 10/5 *2 = 2 * 2 = 4 To calculate 5 1/3 5.0**(1.0/3.0) ‏ but not 5.0**1.0/3.0

25 25 Library functions abs(x) Absolute value of x cos(x) Cosine of x radians exp(x) Exponential function int(x) Integer part of x sqrt(x) Square root of x

26 26 Assignment statement Form: variable = expression Assigns the value of expression to variable Assignment is not a statement of algebraic equality; it is a replacement statement Examples Density = 2000.0 Volume = 3.2 Mass = Density*Volume WeightRatio = log(Mass/90.) ‏

27 27 Programs need to communicate with users! Two kinds of I/O (for the moment!): –Formatted I/O –List-directed I/O List-directed output print *, output-list write (unit=*, fmt=*) output-list List-directed input read *, input-list read (unit=*, fmt=*) input-list

28 28 List-directed I/O Examples print *, "Tell me your birthday" write (unit=*, fmt=*) a, b, c**2 read *, day, month, year

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39 ! Asks the hour and the minute values of the ! present time and displays it as a sentence. program showtime integer :: hh,mm print *, " Input the hour, in the 24 hours format. (hh)" read *, hh print *, " Input the minute. (mm)" read *, mm print *, "" print *, " THE TIME IS ",mm," MINUTES AFTER ",hh end program showtime

40 40 CLASSWORK In Einstein’s famous equation E=mc 2, the energy E is in joules if the mass m is in kilograms and c is the speed of light in meters per second (=2.9979*10 8 ). Write a program to calculate the energy equivalent of a given mass. Roughly how much energy is equivalent to the mass of a sugar cube (approximately 1 gram)?

41 41 A body that experiences a uniform acceleration moves a distance s and a velocity v in a time t, respectively, where s and v are given by the formulae:,, v=at+u where a is the acceleration in m/s 2, and u is the initial velocity in m/s. A body falling freely under gravity is in such a situation, with a=g=9.81 m/s 2. Write a program that asks for the user initial downward velocity (in m/s) and time of flight (in s and v) of the body. The program should then calculate and print the height and the velocity from which the body fell.


Download ppt "1 BIL106E Introduction to Scientific & Engineering Computing Organizational matters Fortran 90 ( subset F ): Basics Example programs in detail."

Similar presentations


Ads by Google