Fortran Full
Fortran Full
Slide ( 1 )
What I Need
To Start …
Slide ( 2 )
Microsoft
Developer
Studio
W
1
) Slide ( 3
Variables
Slide ( 5 )
Variables
X = ........
Y = ........
Z = ........
Slide ( 6 )
Variables Declaration
Integer x
Integer x , y , z
Real a
Real a , b , c
Character u * 20
Character u * 20 , k * 20
Slide ( 7 )
Default Variables Declaration
( I --> n ) integer
I,J,K,L,M,N
Slide ( 8 )
Program Format
Slide ( 9 )
Program Layout
PROGRAM program name
declaration statements
statements
statements
Statements
( Read ) Function
) Slide ( 14
Print / Write Function
ﻗراءة ﻗﯾﻣﺔ ﻣن اﻟﻣﺳﺗﺧدم طرﯾﻘﺔ )(1
Read *, X
Read *, X , Y , Z
Exercises
) Slide ( 17
) Ex ( 1
ﺣﺳﺎب ﺣﺎﺻل “ ﺟﻣﻊ – طرح – ﺿرب – ﻗﺳﻣﺔ “ ﻋددﯾن .
Slide ( 18 )
) Slide ( 19
) Ex ( 2
اﻟﺗﺣوﯾل ﻣن ) (Mإﻟﻲ ) (Cmﻋﻠﻣﺎ ﺑﺄن ) . ( M= 100 cm 1
Slide ( 20 )
) Slide ( 21
) Ex ( 3
اﻟﺗﺑدﯾل ﺑﯾن ﻋددﯾن ﻓﻲ ﻣﺗﻐﯾرﯾن . x , y
) Slide (21
) Ex ( 3
اﻟﺗﺑدﯾل ﺑﯾن ﻋددﯾن ﻓﻲ ﻣﺗﻐﯾرﯾن . x , y
) Slide (21
) Ex ( 3
اﻟﺗﺑدﯾل ﺑﯾن ﻋددﯾن ﻓﻲ ﻣﺗﻐﯾرﯾن . x , y
) Slide (21
) Ex ( 3
اﻟﺗﺑدﯾل ﺑﯾن ﻋددﯾن ﻓﻲ ﻣﺗﻐﯾرﯾن . x , y
) Slide (21
) Ex ( 3
اﻟﺗﺑدﯾل ﺑﯾن ﻋددﯾن ﻓﻲ ﻣﺗﻐﯾرﯾن . x , y
) Slide (21
) Ex ( 3
اﻟﺗﺑدﯾل ﺑﯾن ﻋددﯾن ﻓﻲ ﻣﺗﻐﯾرﯾن . x , y
Slide ( 22 )
Slide ( 23 )
Ex ( 4 )
. 7^( x – 4 2 ) ﺣﺳﺎب ﻗﯾﻣﺔ
Slide ( 24 )
) Slide ( 25
) Ex ( 5
ﺣﺳﺎب ﻣﺣﯾط و ﻣﺳﺎﺣﮫ ﻣﺛﻠث أﺿﻼﻋﮫ . x , y , z
ﻋﻠﻣﺎ ﺑﺄن ﻣﺣﯾط اﻟﻣﺛﻠث . outline = x + y + z
w = outline / 2
If Condition
Slide ( 28 )
If Condition
: اﻟﺣﺎﻟﺔ اﻷوﻟﻲ
if ( Condition ) then
Statement _ 1
Statement _ 2
Statement _ 3
…
…
endif
Slide ( 29 )
If Condition
: اﻟﺣﺎﻟﺔ اﻟﺛﺎﻧﯾﺔ
if ( Condition ) then
Statement _ 1
…
…
else :
Statement _ 1
…
…
endif
Slide ( 30 )
If Condition
: اﻟﺣﺎﻟﺔ اﻟﺛﺎﻟﺛﺔ
if ( Condition_1 ) then
Statement _ 1
…
elseif ( Condition_2 ) then
Statement _ 1
…
else :
Statement _ 1
…
endif
) Slide ( 31
) Ex ( 6
اﯾﺟﺎد اﻟﻘﯾﻣﺔ اﻷﻛﺑر ﺑﯾن ﻋددﯾن
Slide ( 32 )
) Slide ( 33
) Ex ( 7
اﯾﺟﺎد اﻟﻘﯾﻣﺔ اﻷﻛﺑر ﺑﯾن ﺛﻼﺛﺔ أﻋداد .
Slide ( 34 )
) Slide ( 35
) Ex ( 8
ﻣﻌرﻓﺔ ھل اﻟﻌدد زوﺟﻲ أم ﻓردي .
Slide ( 36 )
Slide ( 37 )
Nested If
Slide ( 38 )
Nested If
if ( Condition_1 ) then
if ( Condition_2 ) then
Statement _ 1
…
else :
Statement _ 1
…
endif
else :
Statement _ 1
…
endif
) Slide ( 39
) Ex ( 9
اﺧﺗﯾﺎر ﻧوع اﻟﻠﻌﺑﺔ ﺑﻧﺎء ﻋﻠﻲ اﻟطﻔل إذا ﻛﺎن وﻟد أو ﺑﻧت .
Slide ( 40 )
Slide ( 41)
operators
Slide ( 42 )
Relational Operators
.LT. or <
.LE. or <=
.EQ. or ==
.NE. or /=
.GT. or >
.GE. or >=
Slide ( 43 )
Logical operators
.AND.
.OR.
.NOT.
Slide ( 44)
GO TO Statement
Slide ( 45 )
GO TO Statement
GO TO 99
X = 67.8
99 Y = -1
Slide ( 46)
Do Loops
Slide ( 47 )
Loops
DO i = start , end
Statments
....
....
.....
END DO
Slide ( 48)
Nested DO Loops
Slide ( 49 )
Loops
DO i = start , end
DO j = start , end
Statments
....
....
.....
END DO
END DO
) Slide ( 50
) Ex ( 10
ﺑرﻧﺎﻣﺞ ﻟﺣﺳﺎب ﻣﺟﻣوع اﻷﻋداد ﻣن n← 1
Logical Notes
Slide ( 55 )
Logical variable
Logical a , b
X= 2+3*4+5+6/2
Y = 2 * 4 + 5 * 2 ** 2
T T T T F
T F F T F
F T F T T
F F F F T
Slide ( 59 )
Priority Of Logical Operators
----> . Not . ----> . And . ----> . Or .
Slide ( 60 )
Relational Operators Notes
False أوTrue ﻧﺎﺗﺞ أي ﻋﻣﻠﯾﺔ ﻣﻘﺎرﻧﮫ ھو ﻧﺎﺗﺞ ﻣﻧطﻘﻲ أي ﯾﺳﺎوي
.LT. or <
.LE. or <=
.EQ. or ==
.NE. or /=
.GT. or >
.GE. or >=
Slide ( 61 )
Relational Operators Notes
X > y ----> T Or F
5 == 6 ----> F
5 /= 6 ----> T
5 > 6 ----> F
5 >= 6 ----> F
5 < 6 ----> T
5 <= 6 ----> T
Slide ( 62 )
Functions
Slide ( 63 )
Functions
Return_type Function Function_Name ( arguments/variables )
Statements
Function_name = Value
Return
End
Slide ( 64 )
Functions Ex( 1 )
Subroutines
Slide ( 69 )
Subroutines
Subroutine has no return type
Call Statement
It changes the values of the variables
Slide ( 70 )
Subroutines
Subroutine Subroutine _Name ( arguments/variables )
Statements
Return
End
!main program
Call Subroutine _Name ( arguments/variables )
Slide ( 71 )
Subroutine Ex( 1 )
Subroutine swap ( x , y )
real z
z=x
x=y
y=z
Return
End
Slide ( 72 )
Subroutine Ex( 1 )
!main
Real x , y , z
Write(*,*) “ enter x “
Read(*,*) x
Write(*,*) “ enter y “
Read(*,*) y
Call swap( x , y )
Write(*,*) “ after swapping x = “ , x , “ and y = “ , y
Slide ( 73 )
Implied loops
Slide ( 74 )
Implied loops
print*, ( i , i = 100 , 85 , -1 )
100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85
Slide ( 76 )
Nested Implied loops
print*, ( ( ------------ , index1 = start , end , step) , index2 = start , end , step )
print*, ( ( j , i = 1 , 5 , 1) , j = 1 , 3 , 1 )
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
print*, ( ( i , i = 1 , 5 , 1) , j = 1 , 3 , 1 )
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Slide ( 77 )
While loops
Slide ( 78 )
While loops
Used When The Number Of Iterations unknown
Do While ( Condition )
statements
statements
statements
End Do
Slide ( 79 )
While loops
Used When The Number Of Iterations unknown
x=1
Do While ( Condition )
statements
statements
statements
x=x+1
End Do
Slide ( 80 )
While loops Ex( 2 )
Used When The Number Of Iterations unknown
x=1
Do While ( x <= 10 )
write( * , * ) x
x=x+1
End Do
Slide ( 81 )
While loops Ex( 2 )
x=1
sum = 0
Do While ( x <= n )
sum = sum + 1.0 / x
x=x+1
End Do
Slide ( 82 )
Arrays
Slide ( 83 )
Arrays
or
real x ( 10 )
real x ( 1 : 10 )
logical x ( 10 )
logical x ( 1 : 10 )
character x ( 10 ) * 15
character x ( 1 : 10 ) * 15
Slide ( 85 )
Access Arrays
X(n)
1 2 3 …… n
X ( n1 : n2 )
n1 n1+1 N1+2 …… n2
X ( n1 ) X ( n1+1 ) X ( n1+2 ) …… X ( n2 )
Slide ( 86 )
Access Arrays
X(5)
index 1 2 3 4 5
value 20 5 8 23 42
value 3 45 12 8 60
Dimension x ( 10 )
Integer x
Dimension b ( 5 : 20 )
real b
Slide ( 89 )
Arrays
Dimension x ( 10 )
Integer x
Dimension b ( 5 : 20 )
Integer b
write(*,*)x
write(*,*)b
Slide ( 90 )
Read Arrays
Integer x ( 10 )
read(*,*) x
or
Do i = 1 , 10
read( * , * ) x ( i )
enddo
Slide ( 91 )
print Arrays
Integer x ( 10 )
Do i = 1 , n
write( * , * ) x ( i )
enddo
Slide ( 93 )
2D - Array
Slide ( 94 )
Arrays
array_type array_name( index_1 , index_2 )
or
array_type array_name( start_1 : end_1 , start_2 : end_2 )
real x ( 3 , 3 )
real x ( 1 : 3 , 1 : 3 )
logical x ( 3 , 3 )
logical x ( 1 : 3 , 1 : 3 )
character x ( 3 , 3 )* 15
character x ( 1 : 3 , 1 : 3 )* 15
Slide ( 96 )
Access Arrays
X(3,3)
do i = 1 , 3
write( * , * ) ( x( i , j ) , j = 1 , 3 )
enddo
Formatting
Slide ( 80 )
Formatting
Dimension x ( 10 )
Integer x
Dimension b ( 5 : 20 )
Integer b
write(*,*)x
write(*,*)b
Slide ( 102 )
Examples
) Slide ( ex
) Ex ( 1
اﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺣﺳﺎب ﻣﺣﯾط وﻣﺳﺎﺣﺔ ﻣﺛﻠث أﺿﻼﻋﮫ . x , y , z
ﻋﻠﻣﺎ ﺑﺄن
outline = x + y + z
w = outline / 2
) area = w ( w – x ) ( w – y ) ( w – z