1 Chapter 2 Basic Elements of Fortran Programming.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

C Language Elements (II) H&K Chapter 2 Instructor – Gokcen Cilingir Cpt S 121 (June 22, 2011) Washington State University.
CS 117 Spring 2002 Basic Program Elements Chapter 2.
The scanf Function The scanf function reads input from the standard input device into one or more variables Example: scanf(“%lf”, &miles); Reads a real.
Chapter 2 Basic Elements of Fortan
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 27, 2005.
Chapter 2: Introduction to C++.
Introduction to C Programming
FORTRAN PROGRAMMING BASICS MET 50. Programming Basics The basic layout of all programs is as follows (p.33) PROGRAM name = heading (i.e., title) Specifications.
1 BIL106E Introduction to Scientific & Engineering Computing Organizational matters Fortran 90 ( subset F ): Basics Example programs in detail.
1 Chapter Two Using Data. 2 Objectives Learn about variable types and how to declare variables Learn how to display variable values Learn about the integral.
Chapter 2 Getting Started in C Programming
A First Book of ANSI C Fourth Edition
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a.
Fortran 1- Basics Chapters 1-2 in your Fortran book.
Chapter 2: Basic Elements of Java J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition.
C Tokens Identifiers Keywords Constants Operators Special symbols.
Chapter 2 Basic Elements of Java. Chapter Objectives Become familiar with the basic components of a Java program, including methods, special symbols,
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
D-1 University of Washington Computer Programming I Lecture 4: Arithmetic Expressions © 2000 UW CSE.
Input, Output, and Processing
Chapter 2: Using Data.
1 Week 2 n Organizational matters n Fortran 90 (subset F): Basics n Example programs in detail.
CHAPTER 4: CONTROL STRUCTURES - SEQUENCING 10/14/2014 PROBLEM SOLVING & ALGORITHM (DCT 1123)
Constants Numeric Constants Integer Constants Floating Point Constants Character Constants Expressions Arithmetic Operators Assignment Operators Relational.
Copyright © 2012 Pearson Education, Inc. Chapter 2: Introduction to C++
Java Programming: From Problem Analysis to Program Design, 4e Chapter 2 Basic Elements of Java.
Java Programming: From Problem Analysis to Program Design, 5e Chapter 2 Basic Elements of Java.
Chapter 2 Overview of C++. 2 Overview  2.1 Language Elements  2.2 Reserved Words & Identifiers  2.3 Data Types & Declarations  2.4 Input/Output 
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
1 Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
CONSTANTS Constants are also known as literals in C. Constants are quantities whose values do not change during program execution. There are two types.
Chapter 3 – Variables and Arithmetic Operations. Variable Rules u Must declare all variable names –List name and type u Keep length to 31 characters –Older.
Data Types Declarations Expressions Data storage C++ Basics.
Chapter 2 Variables.
Chapter 4 Variables and constants. 4.1 Variables -Use of variables is good programming style -easier to modify -easier for a programmer to understand.
CHAPTER 1 INTRODUCTION TO COMPUTING 1.1 Introduction.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 2A Reading, Processing and Displaying Data (Concepts)
PROGRAM ESSENTIALS. TOKENS  SMALLEST UNITS OF A PROGRAM LANGUAGE  Special Symbols  Mathematical Operators  Punctuation  Word Symbols  Key Words.
CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah.
D-1 University of Washington Computer Programming I Lecture 4: Arithmetic Expressions © 2000 UW CSE.
Variables in C Topics  Naming Variables  Declaring Variables  Using Variables  The Assignment Statement Reading  Sections
Java Programming: From Problem Analysis to Program Design, Second Edition 1 Lecture 1 Objectives  Become familiar with the basic components of a Java.
Chapter 2: Basic Elements of Java J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition.
C-1 9/30/99 CSE / ENGR 142 Programming I Arithmetic Expressions © 1999 UW CSE.
Introduction to Algorithmic Processes CMPSC 201C Fall 2000.
Chapter 4.  Variables – named memory location that stores a value.  Variables allows the use of meaningful names which makes the code easier to read.
Slide 1 Chapter 3 Variables  A variable is a name for a value stored in memory.  Variables are used in programs so that values can be represented with.
2.1 The Part of a C++ Program. The Parts of a C++ Program // sample C++ program #include using namespace std; int main() { cout
Java Programming: Guided Learning with Early Objects Chapter 1 Basic Elements of Java.
Bill Tucker Austin Community College COSC 1315
Topics Designing a Program Input, Processing, and Output
BASIC ELEMENTS OF A COMPUTER PROGRAM
Completing the Problem-Solving Process
BIL 104E Introduction to Scientific and Engineering Computing
ITEC113 Algorithms and Programming Techniques
Introduction to Programming
Java Programming: From Problem Analysis to Program Design, 4e
Introduction to C++ Programming
Chapter 2: Basic Elements of Java
CS150 Introduction to Computer Science 1
Chapter 2: Introduction to C++.
Topics Designing a Program Input, Processing, and Output
Data Types and Expressions
Topics Designing a Program Input, Processing, and Output
Primitive Types and Expressions
DATA TYPES AND OPERATIONS
Presentation transcript:

1 Chapter 2 Basic Elements of Fortran Programming

2 Character set (Table 2-1) 26:UPPER CASEA – Z 26:lower casea – z 10:Digits0 – 9 1:Underscore_ 5:Arithmetic symbols+ - * / ** 17:Other symbols( ). =, ‘ $ : ! “ % & ; ? and blank

3 Case insensitive Example: Apple apple ApPLe ApplE Example: read (*,*) Name write (*,*) name

4 Fortran Statements Executable statements: Actions taken by program Examples: Read (*,*) x, y Z = x + y Write (*,*) “The result = “, z Nonexecutable statements information for proper operation of program Examples: Program name ! This is a comment End program

5 Fortran Statements Each line is 132 characters long If it does not fit, use & to split a statement Example: Output = input1 + input2 Output = input1 & + input2 Output = input1 & & + input2 A statement can be split up to 40 lines

6 Fortran Statements Statements can be named using a label Example: program counter 10integer :: count = 5 20write (*,*) “count = “, count end program A label should be unique It does not indicate line numbers It can be used more than once It does not indicate the program sequence/order Not used in modern Fortran 90/95

7 Fortran Statements Comments: Ignored by Fortran compiler can appear any where in a line start with ! to the end of the line Examples: ! This is a counting program a = b + 1! This statement adds one ! Can I put a comment here? a = b + 1

8 Fortran Program Structure Declaration section Program’s name Types of variables and constants Execution section Actions to be performed by program Termination section Stopping (ending) program execution

9 Fortran Program Structure Example: program first_program ! This is my first program integer, parameter :: x = 3, y=4 integer :: z z = x + y write (*,*) “ x + y = “, z end program

10 Rules of NAMES Any name (program/variable/constant) can be used only once program counter integer :: counter = 5 write (*,*) “counter = “, counter end program Names <= 31 characters this_is_a_very_long_variable_name Spaces not allowed Alphabets + digits + _ Must start with alphabet The following is not acceptable: Program 1st_user Exercise: What’s wrong with this name:A$

11 Program styles A programmer should use a consistent style: Example 1: PROGRAM example1 REAL :: x, y, z WRITE (*,*) “ Enter x, y “ WRITE (*,*) “ ” READ (*,*) x, y, z z = x + y WRITE (*,*) “x + y = “, z END PROGRAM

12 Program styles Another programmer can use a different style: Example 2: program example1 real :: x, y, z write (*,*) “ Enter x, y “ write (*,*) “ ” read (*,*) x, y, z z = x + y write (*,*) “x + y = “, z end program

13 Program styles This style is not acceptable (but it works!): Example 3: program example1 real :: x, y, z WRITE (*,*) “ Enter x, y “ write (*,*) “ ” READ (*,*) x, y, z z = x + y write (*,*) “x + y = “, z end PROGRAM

14 Variable vs. Constant Constant: Once declared, cannot be changed during execution If you try to change it, you get an error Example: REAL, PARAMETER :: GRADE = 88 GRADE = GRADE / 100 Variable: Can change value during execution Example REAL :: GRADE = 88 GRADE = GRADE / 100

15 Data dictionary In the header of the program Example: program converter ! This program converts US Dollars to Omani Rials. ! We use the variables: ! USD: US Dollars ! OR: Omani Rials … end program

16 More about data types 3 Numeric: INTEGER REAL COMPLEX (not covered) 1 Strings of Characters: CHARACTER 1 Logical: LOGICAL Others: Chapter 12: derived data types (not covered in this course)

17 More about data types INTEGER: Either constant or variable +ve, -ve, zero 1,000,000 (error: commas not allowed) (error: decimal point not allowed)

18 More about data types REAL: Constants must have a decimal points ( 300.) 10,000,000. (error: commas not allowed) 105 (error: decimal point missing) 123E5 (error: decimal point missing in mantissa) -34E2.5 (error: decimal point not allowed in exponents)

19 More about data types CHARACTER: Example1 Character :: name name = ‘Ramadhan’ Write (*,*) name Example2 Character (len=8) :: name name = ‘Ramadhan’ Write (*,*) name Example3 Character (len=14) :: word1 Character (len=6) :: word2 word1 = ‘Ramadhan’ Word2 = ‘kareem’ Write (*,*) word1, word2

20 More about data types CHARACTER: Using single/double quotes Example1: Name = Abdullah Name = ‘Abdullah‘ Name = “Abdullah” Name = ‘Abdullah” Write (*,*) ‘I read qura’n daily’ Write (*,*) ‘I read qura’’n daily’ Write (*,*) “I read qura’n daily” Each one surrounds the other: ‘ “Solar energy is a clean source of energy” ‘ “He’s wasting time watching useless TV programs”

21 Implicit none It checks that variables’ types are declared Without it: Any undeclared variable starting with I, J, K, L, M, N are integers (default typing) Other variables are real (default typing) Examples: Program checking read (*,*) monthly_income annual_income = monthly_income * 12 write (*,*) “Annual income = “, annual_income End program

22 Initializing Variables Three ways to initialize Initialize at declaration section Using assignment statement at execution section Using READ to initialize from input device Non-initialized variables might or might not produce an error. Program might work in some machines and fail in others or at the same machine might work some times and fail other times depending on the values stored at the memory location. Rule: All variables must be initialized before using them.

23 Input/output statments READ (*,*) Standard input device (keyboard) Free input format (decided by variable type) e.g: (try inputting more values for each statement) READ i READ i, j READ i, j, x, char (Note: character with specific length will be left justified with all others filled with blank if not entered) WRITE(*,*) Standard output device (screen) Free output format E.g: WRITE(*,*) x WRITE(*,*) ‘Result is: ’, x WRITE(*,*) ‘Result is: ’, COS(x) WRITE(*,*) ‘Result is: ’, x, ‘ And cosine will be: ’, cos(x)

24 Arithmetic operators Assignment: Variable_name = expression Example: Days = months * 30 = is called assignment operator Binary arithmetic operators (e.g. a + b): + Addition - Subtraction * Multiplication / Division ** Exponentiation Unary arithmetic operators (e.g. –b) a

25 Rules No two operators may occur side by side A * - b A ** -2 A ** (-2) Implied multiplication is illegal x ( y + z ) x * ( y + z ) Use parentheses to group terms 2 ** ((8+2)/5)

26 Real Arithmetic (const. & var.) 3. / 4. = / 4. = / 4. = / 4. = / 4. = / 4. = / 4. = / 3. =

27 Integer Arithmetic (const. & var.) 3 / 4 = 0 4 / 4 = 1 5 / 4 = 1 6 / 4 = 1 7 / 4 = 1 8 / 4 = 2 9 / 4 = 2 Truncation of fractions

28 Be careful.. 3. * (1. / 3.) ≠ * ( ) = * (1. / 2.) = * (0.5) = 1.

29 Evaluating expressions Example: Distance = 0.5 * accel * time **2 Distance = (0.5 * accel * time) **2 Rules: Parentheses first ( innermost) 2 * ( 3 + ( 4 – 2 ) – 2 ) Exponentials (right to left) 2 **2 **3 = 2 **8 = 256 Multiplication & Division (left to right) 2 * 4 / 6 Additions & Subtractions (left to right)

30 Evaluating expressions Exercise: Power = (2 – 6) + ( 2 – 1 * (5+5) **2 **0) – 8 = (2 – 6) + ( 2 – 1 * (10) **2 **0) – 8 = (2 – 6) + ( 2 – 1 * (10) **1) – 8 = (2 – 6) + ( 2 – 1 * 10) – 8 = (2 – 6) + ( 2 – 10) – 8 = – 4 + ( – 8) – 8 = – 4 – 8 – 8 = – 20 Note: parentheses must be balanced.

31 Mixed-Mode expressions /4 = / 4 = / 4 = 1.25 Rule: An integer is automatically converted into real in case of mixed arithmetic

32 Mixed-Mode expressions /4 = / 4 = / 4 = 1.25 Rule: An integer is automatically converted into real in case of mixed arithmetic Raising a negative number to real power is not possible 2 ** 2 = 4 -2 ** 2 = 4 4 ** 0.5 = 2 -2 ** 0.5 ??

33 Data conversion To convert real to integer, use INT Anything after the decimal point is truncated Example: INT(3.3) = 3 INT(3.) = 3 INT(0.3) = 0 To convert integer to real, use REAL A decimal point is added Example: REAL(3) = 3. Be careful: NINT ≠ INT NINT is used to round to the nearest integer Example: NINT(3.2) = 3 NINT(3.5) = 4 INT(3.5) = 3

34 INTRINSIC FUNCTIONS Functions: Generic functions (accept more than one type of inputs) Specific functions (accept one data type only) Examples: SQRT(X) ABS(X) SIN(X), COS(X), TAN(X) [X in radian] ASIN(X), ACOS(X), ATAN(X)[result in radian] EXP(X) LOG(X), LOG10(X) MAX(A,B), MIN(A,B) MOD (A,B) More (Table 2-4)

35 Debugging Fortran Program Errors (bugs) Eliminating error (debugging) Types of errors: Syntax errors Run-time errors Logical errors Good practice: Use IMPLICIT NONE Echo all inputs Initialize all variables Use parentheses properly If statement is very long break it into multiple lines Make sure all function and variables in same units