0% found this document useful (0 votes)
35 views142 pages

Fortran Full

يقدم المستند شرحًا مفصلاً عن لغة البرمجة فورتران، حيث يتضمن 57 شرحًا مصورًا عن مفاهيم أساسية مثل المتغيرات والقواعد والشروط والحلقات. كما يتضمن أمثلة توضيحية وتمارين.

Uploaded by

Eng.Hossam Nabil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views142 pages

Fortran Full

يقدم المستند شرحًا مفصلاً عن لغة البرمجة فورتران، حيث يتضمن 57 شرحًا مصورًا عن مفاهيم أساسية مثل المتغيرات والقواعد والشروط والحلقات. كما يتضمن أمثلة توضيحية وتمارين.

Uploaded by

Eng.Hossam Nabil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 142

Fortran

Slide ( 1 )

What I Need
To Start …
Slide ( 2 )

Microsoft
Developer
Studio

W
1
‫) ‪Slide ( 3‬‬

‫خطوات سير البرنامج‬


Slide ( 4 )

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

 ( A --> h + o --> z ) real

( 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

 END PROGRAM program name


Slide ( 10 )

( Print / Write) Function


Slide ( 11 )
Print / Write Function
‫لطباعة نص‬ 

 PRINT *, “ Your Text Here "


 PRINT *, ‘ Your Text Here ‘

 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“

‫لطباعة جمله الطريقة الثانية عن طريق المتغيرات‬ 


 Character name * 10
 Character PL * 10
 name = ’ Ahmed ’
 PL = ‘ Python ’
 Write( * , * ) ‘ My Name Is ’ , name
 Write( * , * ) ‘ My Favorite Programming Language Is  ’ ,  PL
Slide ( 13 )

( Read ) Function
Slide ( 14 )
Print / Write Function

)1( ‫قراءة قيمة من المستخدم طريقة‬ 

 Read *, X
 Read *, X , Y , Z

)2( ‫قراءة قيمة من المستخدم طريقة‬ 


 Read( * , * ) X
 Read( * , * ) X , Y , Z
Slide ( 15 )
EX
) 1 ( ‫مثال‬ 

‫قم بإدخال اسم وعمر الشخص ثم اطبع رسالة ترحيبية‬ 


 program hello
 CHARACTER firstname*10 , secondname*10
 integer age
 write( * , * ) ‘ What is your first name ? '
 read( * , * ) firstname
 write( * , * ) ‘ What is your second name ? ‘
 read( * , * ) secondname
 write( * , * ) ‘ What is your age ? ‘
 read( * , * ) age
 write( * , * ) ‘ Hello ‘ , firstname , secondname
 write( * , * ) ‘ Your Age Is ‘ , age
 END program hello
Slide ( 16 )

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‬‬ ‫‪‬‬

‫مساحة المثلث ) ‪area = w ( w – x ) ( w – y ) ( w – z‬‬ ‫‪‬‬


Slide ( 26 )
Slide ( 27)

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‬‬ ‫‪‬‬

‫برنامج لحساب مجموع األعداد الفردية من ‪n← 1‬‬ ‫‪‬‬

‫برنامج لحساب مجموع األعداد الزوجية من ‪n← 2‬‬ ‫‪‬‬


Slide ( 51 )
‫) ‪Slide ( 52‬‬
‫) ‪Ex ( 11‬‬
‫برنامج لحساب مضروب العدد الذي يدخله المستخدم ‪.‬‬ ‫‪‬‬
Slide ( 53 )
Slide ( 54)

Logical Notes
Slide ( 55 )
Logical variable

 Logical a , b

 Write(*,*) " Enter Value of a : "


 Read (*,*) a
‫تأخذ القيم‬ 

T ----> for true


F ----> for false
Slide ( 56 )
comment

 ! Write(*,*) " Enter A “


 Write(*,*) " Enter B "
 ! Write(*,*) " Enter C "
‫) ‪Slide ( 57‬‬
‫عمليات لحسابية – ‪Priority‬‬
‫ا‬ ‫أولوية ا ل‬

‫‪X= 2+3*4+5+6/2‬‬

‫‪Y = 2 * 4 + 5 * 2 ** 2‬‬

‫‪Z = ( 5 * 4 ) **2 + ( 20 – 5 ) - 3‬‬

‫ا ألقواس ‪ >----‬ا ألس ‪ >----‬ا لضربوا لقسمه ‪ >----‬ا لجمع وا لطرح >‪----‬‬
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 )

real function sum_numbers( x , y , z )


 sum_numbers = x + y + z
 return

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

Only With Read Or Print Statement

Read*, ( ------------ , index = start , end , step )

print*, ( ------------ , index = start , end , step )


Slide ( 75 )
Implied loops Ex( 1 )

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 )

1 + 1/2 + 1/3 + 1/4 + 1/5 + …………………+ 1/n

x=1
sum = 0
Do While ( x <= n )
sum = sum + 1.0 / x
x=x+1
End Do
Slide ( 82 )

Arrays
Slide ( 83 )
Arrays

array_type array_name( index )

or

array_type array_name( start : end )


Slide ( 84 )
Arrays

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(1) X(2) X(3) …… X(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

access X(1) X(2) X(3) X(4) X(5)


Slide ( 87 )
Access Arrays
X ( 6 : 10 )
index 6 7 8 9 10

value 3 45 12 8 60

access X(6) X(7) X(8) X(9) X ( 10 )


Slide ( 88 )
Arrays
Dimension array_name( index )
array_type array_name

Dimension array_name( start : end )


array_type array_name

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(*,*) ' enter x : '


read(*,*) x

write(*,*) ' enter b : '


read(*,*) b

write(*,*)x
write(*,*)b
Slide ( 90 )
Read Arrays
Integer x ( 10 )

write(*,*) ' enter x : '

read(*,*) x

or

Do i = 1 , 10
read( * , * ) x ( i )
enddo
Slide ( 91 )
print Arrays
Integer x ( 10 )

write(*,*) ' enter x : '


read(*,*) x
write( * , * ) x
or
Do i = 1 , 10
write( * , * ) x ( i )
enddo
Slide ( 92 )
print Arrays
Integer x ( 100 ) , n , i
write(*,*) ' enter number of elements : '
read(*,*) n
Do i = 1 , n
read( * , * ) x ( i )
enddo

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 )

index_1 ----> Number of rows

index_2 ----> Number of columns


Slide ( 95 )
Arrays

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)

X(1,1) X(1,2) X(1,3)

X(2,1) X(2,2) X(2,3)

X(3,1) X(3,2) X(3,3)


Slide ( 97 )
Access Arrays
X(1:3,1:3)

X(1,1) X(1,2) X(1,3)

X(2,1) X(2,2) X(2,3)

X(3,1) X(3,2) X(3,3)


Slide ( 98 )
Read Arrays
integer x( 3 , 3 )
do i = 1 , 3
do j = 1 , 3
read(*,*) x( I , j )
enddo
enddo
1,1 1,2 1,3
2,1 2,2 2,3
3,1 3,2 3,3
Slide ( 99 )
print Arrays
Integer x ( 3 , 3 )

do i = 1 , 3
write( * , * ) ( x( i , j ) , j = 1 , 3 )
enddo

1 2 3 or 1,1 1,2 1,3


4 5 6 2,1 2,2 2,3
7 8 9 3,1 3,2 3,3
Slide ( 100 )
read Array for ( m,n ) D
Integer x ( 30 , 30 ) , m , n , i
write(*,*) ' enter number of rows : '
read(*,*) m
write(*,*) ' enter number of columns : '
read(*,*) n
do i = 1 , m
do j = 1 , n
read(*,*) x( I , j )
enddo
enddo
Slide ( 101 )
Arrays Ex
integer x(3,3)
do i = 1 , 3
do j = 1 , 3
if ( i == j ) then
x(i,j) = 1
else
x(i,j) = 0
endif
enddo
Enddo

1 0 0 or 1,1 1,2 1,3


0 1 0 2,1 2,2 2,3
0 0 1 3,1 3,2 3,3
Slide ( 102 )

Formatting
Slide ( 80 )
Formatting
Dimension x ( 10 )
Integer x

Dimension b ( 5 : 20 )
Integer b

write(*,*) ' enter x : '


read(*,*) x

write(*,*) ' enter b : '


read(*,*) 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‬‬

‫ويخرج الناتج في رساله بالشكل التالي ‪:‬‬


‫‪Outline = …….‬‬
‫‪Area‬‬ ‫‪= …….‬‬
‫) ‪Slide ( ex‬‬
‫) ‪Ex ( 2‬‬
‫اكتب برنامج يسمح للمستخدم بإدخال الرقم ْ‪ X‬ثم يقوم البرنامج بمعرفة هل العدد زوجي أم فردي‬ ‫‪‬‬

‫ويخرج الناتج في رسالة بالشكل التالي ‪:‬‬ ‫‪‬‬


‫‪‬‬ ‫‪X Is Even‬‬
‫أو‬ ‫‪‬‬
‫‪‬‬ ‫‪X Is Odd‬‬
‫) ‪Slide ( ex‬‬
‫) ‪Ex ( 3‬‬
‫اكتب برنامج يسمح للمستخدم بإدخال الرقم ‪ , N‬حيث ‪ N‬هي عدد مرات تكرار لقراءة أرقام صحيحة من‬
‫المستخدم ‪ ,‬ثم يقوم البرنامج بحساب عدد األرقام الزوجية وحساب عدد األرقام الفردية ويخرج الناتج في‬
‫رساله بالشكل التالي ‪:‬‬

‫…… = ‪Number Of Even Values‬‬


‫…… = ‪Number Of Odd Values‬‬
‫) ‪Slide ( ex‬‬
‫) ‪Ex ( 4‬‬
‫اكتب برنامج يسمح للمستخدم بإدخال األرقام ‪ X , Y , Z‬ثم يقوم البرنامج بمعرفة القيمة األكبر بين‬ ‫‪‬‬

‫الـ ‪ 3‬أرقام‬ ‫‪‬‬

‫ويخرج الناتج في رسالة بالشكل التالي ‪:‬‬ ‫‪‬‬


‫‪ X Is The Largest Value‬‬

‫أو‬ ‫‪‬‬
‫‪ 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‬‬ ‫‪‬‬

‫اكتب برنامج لحساب مجموع األعداد الفردية من ‪n← 1‬‬ ‫‪‬‬

‫اكتب برنامج لحساب مجموع األعداد الزوجية من ‪n← 2‬‬ ‫‪‬‬

‫ويخرج الناتج في رسالة بالشكل التالي ‪:‬‬ ‫‪‬‬


‫‪‬‬ ‫…… = ‪The Total Sum‬‬
‫) ‪Slide ( ex‬‬
‫) ‪Ex ( 7‬‬
‫اكتب برنامج يسمح للمستخدم بإدخال الرقم ‪ N‬ثم يقوم البرنامج بحساب مجموع المتسلسلة التالية‬ ‫‪‬‬

‫‪‬‬ ‫‪1/1 + 1/3 + 1/5 + 1/7 + 1/9 + …….. + 1/n‬‬

‫‪‬‬ ‫…… = ‪The Total Sum‬‬ ‫ويخرج الناتج في رساله بالشكل التالي ‪:‬‬ ‫‪‬‬

You might also like