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
declaration statements
statements
statements
Statements
Write(
* ,* ) “ Your Text Here "
Write( * , * ) ‘ Your Text Here ‘
لطباعة رقم
PRINT *, 45
Write ( * ,* ) 45
Slide ( 12 )
Print / Write Function
لطباعة جمله الطريقة األولي
Write( * , * ) "My Name Is Ahmed“
Write( * , * ) "My Favorite Programming Language Is Fortran“
( Read ) Function
Slide ( 14 )
Print / Write Function
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
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
…
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
ا ألقواس >----ا ألس >----ا لضربوا لقسمه >----ا لجمع وا لطرح >----
Slide ( 58 )
Logical Operators
A B A . AND . A . OR . B . NOT . A
B
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 )
end
Slide ( 65 )
Functions Ex( 1 )
real x , y , z , total
Write(*,*) " Enter Value of x : "
Read (*,*) x
Write(*,*) " Enter Value of y : "
Read (*,*) y
Write(*,*) " Enter Value of z : "
Read (*,*) z
total = sum_numbers(x,y,z)
write(*,*)"total value = " , total
Slide ( 66 )
Functions Ex( 2 )
2
2 x ^ +4x +2 ,x<5
F(x) 0 ,x=5
3 x + 1 , x >5
Slide ( 67 )
Built-in Functions
SQRT(x)
ABS(x)
SIN(x)
COS(x)
TAN(x)
EXP(x)
LOG(x)
LOG10(x)
INT(x)
REAL(x)
MOD( x , y )
Slide ( 68 )
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
Integer x ( 10 )
Integer x ( 1 : 10 )
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 )
Integer x ( 3 , 3 )
Integer x ( 1 : 3 , 1 : 3 )
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
أو
Y Is The Largest Value
أو
Z Is The Largest Value
) Slide ( ex
) Ex ( 5
اكتب برنامج يسمح للمستخدم بإدخال األرقام X , Y , Z , Wثم يقوم البرنامج بمعرفة القيمة األكبر
بين الـ 4أرقام
ويخرج الناتج في رسالة بالشكل التالي :
X Is The Largest Value
أو
Y Is The Largest Value
أو
Z Is The Largest Value
أو
W Is The Largest Value
) Slide ( ex
) Ex ( 6
اكتب برنامج لحساب مجموع األعداد من n← 1
…… = The Total Sum ويخرج الناتج في رساله بالشكل التالي :