Professional Documents
Culture Documents
اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ
ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻤﯿﻜﺎﻧﯿﻜﯿﺔ
إﻋﺪاد
ﻋﻤﺎد ﻋﺒﺪ اﻟﺮﺳﻮل ﻋﺒﺪ اﻟﺼﺎﺣﺐ
ﻣﺪرس
2014
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 2
: 1 ﺗﻣرﯾن
اﻟﮭدف
(2 واﺳﺗﺧداﻣﺎﺗﮭﺎ ) ﻣﻠﺣقFortran 90 اﻟﺗﻌرف ﻋﻠﻰ واﺟﮭﺔ ﻟﻐﺔ
Fortran program .(وﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﺑﺳﯾط )اﯾﺟﺎد ﻣﺳﺎﺣﺔ اﻟﻣرﺑﻊ
:اﻟﺣل
Program L = ﻧﻔرض ان طول ﺿﻠﻊ اﻟﻣرﺑﻊ
sequare_Area A = ﻣﺳﺎﺣﺔ اﻟﻣرﺑﻊ
Real :: A ,L A = L2
Read * , L
A = A**2
Print * ,A
End
: 2 ﺗﻣرﯾن
: اﻟﮭدف
This Exercise is to use some of FORTRAN intrinsic functions and Arithmetic
Expressions
: ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻟﺣﺳﺎب اﻟﻣﻌﺎدﻟﺔ اﻟﺗﺎﻟﯾﺔ: اﻟﺗﻣرﯾن
Fortran program X 2 3C
D 2
7D 5
Program Eq_1 (C A)
: اﻟﺣل
Real :: D, X, C, A
Read *,D,X,C,A
D = sqrt(x**2 + 3* C) /
(C + A)**2 + 7*D + 5
Print *, “D = “, D
End
ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ ) / (1اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ 4
ﺗﻣرﯾن : 3
اﻟﮭدف :
To generate integer numbers (1 .. 100) without using (Read statement).
اﻟﺗﻣرﯾن :ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻻﯾﺟﺎد ﻣﺟﻣوع اﻻﻋداد اﻟﺻﺣﯾﺣﺔ ﻣن 1اﻟﻰ .100
اﻟﺣل :
ﻧﻔرض
ﻋداد اﻟﺗﻛرار = K
اﻟﻣﺟﻣــــــــوع = Sum
Fortran program
Program allsum
Integer :: K , Sum
Sum = 0
Do K = 1 , 100
Enddo
End
ﺗﻣرﯾن :4
اﻟﮭدف :
To generate even integer numbers (1 .. 100) without using (Read statement).
اﻟﺗﻣرﯾن :ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻻﯾﺟﺎد ﻣﺟﻣوع اﻻﻋداد اﻟزوﺟﯾﺔ اﻟﺻﺣﯾﺣﺔ ﻣن 1اﻟﻰ .100
اﻟﺣل :
ﻧﻔرض
ﻋداد اﻟﺗﻛرار = K
اﻟﻣﺟﻣــــــــوع = Sum
Fortran program
Program allsum
Integer :: K , Sum
Sum = 0
Do K = 2 , 100,2
Enddo
End
ﺗﻣرﯾن :5
اﻟﮭدف :
To generate odd integer numbers (1 .. 100) with out using (Read statement).
اﻟﺗﻣرﯾن :ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻻﯾﺟﺎد ﻣﺟﻣوع اﻻﻋداد اﻟﻔردﯾﺔ اﻟﺻﺣﯾﺣﺔ ﻣن 1اﻟﻰ .100
اﻟﺣل :
ﻧﻔرض
ﻋداد اﻟﺗﻛرار = K
Fortran program اﻟﻣﺟﻣــــــــوع = Sum
Program allsum
Integer :: K , Sum
Sum = 0
Do K = 1 , 100,2
Enddo
End
:6 ﺗﻣرﯾن
: اﻟﮭدف
To use sine , cosine and tangent functions to get values for some angles
without using (Read statement).
( ﻟﻠزواﯾﺎ اﻟﺗﺎﻟﯾﺔ )ﺑدون اﺳﺗﺧدام اﯾﻌﺎز اﻟﻘراءةSine , cosine ,Tangent) ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻻﯾﺟﺎد
(Read
: وطﺑﺎﻋﺔ اﻟﻧﺗﺎﺋﺞ
( 1,3,5,7,9,10,15.20.25.30,45,60,75,90) : اﻟزواﯾﺎ
.Ǒǜңқƣ
ỸǎǑҳỸƚƧỸƹỷƳүƣ
ỷƊƹƧǜ ƩỷỸƧƤƋ
: اﻟﺣل
ﻧﻔرض
K= اﻟزاوﯾـــــﺔ
Fortran program
Program sine_cosine_tangent
Integer :: K
Do K = 1 , 10, 2
Enddo
Do K = 15 , 90, 5
Enddo
End
ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ ) / (1اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ 8
ﺗﻣرﯾن :7
اﻟﮭدف :
To use Ohm law for some current values without using (Read statement).
Integer :: I , V
Real :: R
V = 220
Do I = 1 , 5
R=V/I
Print * , “R = “,R
Enddo
R=V/I
Print * , “R = “,R
Enddo
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 9
:8 ﺗﻣرﯾن
: اﻟﮭدف
To generate integer numbers (1 .. 1000) that are multiple of (5) without using
(Read statement ) and use the rule of multiplication.
.. 1) واﻟﻣﺣﺻورة ﺑﯾن اﻻﻋداد5 ﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﻻﯾﺟﺎد ﺣﺎﺻل ﺿرب اﻻﻋداد اﻟﺻﺣﯾﺣﺔ ﻣن ﻣﺿﺎﻋﻔﺎت اﻟﻌدد
.(Read statement() ǐ ỷңƚƣ
ỷүƌƹỷƥỷқҗǔҳỷƩƳқǎ( 1000
: اﻟﺣل
ﻧﻔرض
K = اﻟرﻗـــــــــــــــم
Fortran program Mult = ﺣﺎﺻل اﻟﺿرب
Program Multiplication
Integer :: K , Mult
Mult = 1
Do K = 5,1000. 5
Mult = Mult * K
Enddo
end
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 10
: 9 ﺗﻣرﯾن
Using Fortran programming language to solve
: اﻟﺣل
ﻧﻔرض
Fortran program K = ﻋداد اﻟﺗﻛرار
Program eq1
Real :: X, Y
Integer:: K, n
Read *, X, n
Y=0
Do K = 1, n
Y = Y + X**k
Enddo
Print *,”y = “, Y
End
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 11
: 10 ﺗﻣرﯾن
Using Fortran programming language to solve equations
1 2 3 n
Y 9 2 4 6 ..........
. 2n
X X X X
: اﻟﺣل
ﻧﻔرض
K = ﻋداد اﻟﺗﻛرار
Fortran program
Program eq2
Real :: X, Y
Integer:: K, n,s
Read *, X, n
Y=9
S = -1
Do K = 1, n
Y = Y + S * K / X**(2*k)
S=-S
Enddo
Print *,”y = “, Y
End
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 12
: 11 ﺗﻣرﯾن
Using Fortran programming language to solve equations
1 2 3 2n 1
Y 5 3
5 7 ........... 2 n 1
X X X X
: اﻟﺣل
ﻧﻔرض
K = ﻋداد اﻟﺗﻛرار
Fortran program
Program eq3
Real :: X, Y
Integer:: K, n,s
Read *, X, n
Y=5
S = -1
Do K = 1, 2*n+1
Y = Y + S * (2*K+1) / X**(2*k+1)
S=-S
Enddo
Print *,”y = “, Y
End
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 13
: 12 ﺗﻣرﯾن
اﻟﮭدف
Using Fortran programming language to solve equations
: ﻓﻲ اﻟﻣﻌﺎدﻟﺔ اﻟﺗﺎﻟﯾﺔY ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻟﺣﺳﺎب
4 8 12 ?
Y 6 ..........
.
X3 X 4 X5 X n2
: اﻟﺣل
ﻧﻔرض
K = ﻋداد اﻟﺗﻛرار
J= اﻟﺑﺳط
Fortran program
Program eq3
Real :: X, Y
Integer:: K, n,s.j
Read *, X, n
Y=5
S = -1
J=4
Do K = 1, n+2
Y = Y + S * J * / X**(k+2)
S=-S
J=J+4
Enddo
Print *,”y = “, Y
End
ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ ) / (1اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ 14
ﺗﻣرﯾن : 13
اﻟﮭدف
Using Fortran programming language to calculate the average
ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻟﻘراءة 50درﺟﺔ ﺣرارة ﻣﺧﺗﻠﻔﺔ و اﯾﺟﺎد اﻟﻣﻌدل .
اﻟﺣل :
ﻧﻔرض
Fortran program درﺟﺔ اﻟﺣرارة = Temp
ﻋداد اﻟﺗﻛرار = K
Program avg
Integer :: K
Sum = 0
Do K = 1 , 50
Read *, Temp
Enddo
End
:14 ﺗﻣرﯾن
اﻟﮭدف
Using Fortran programming language to use the arrays, calculate the average
and using conditional IF statement.
: اﻟﺣل
ﻧﻔرض
Deg = اﻟدرﺟﺔ اﻻﻣﺗﺟﺎﻧﯾﺔ
Pcnt = ﻋداد اﻟدرﺟﺎت اﻟﻧﺎﺟﺣﺔ Psum = ﻣﺟﻣوع اﻟدرﺟﺎت اﻟﻧﺎﺟﺣﺔ
Fcnt = ﻋداد اﻟدرﺟﺎت اﻟراﺳﺑﺔ Fsum = ﻣﺟﻣوع اﻟدرﺟﺎت اﻟراﺳﺑﺔ
K = ﻋداد اﻟﺗﻛرار
Fortran program
Program deg_avg
Integer :: Degree(20), Deg, K, Psum.Pcnt, Fsum, Fcnt
Psum = 0
Pcnt = 0
Fsum = 0
Fcnt = 0
Do k = 1, 20
Read * , Deg
IF ( Deg >= 50) then
Psum = Psum + Deg
Pcnt = Pcnt + 1
Else
Psum = Psum + Deg
Pcnt = Pcnt + 1
Endif
Enddo
Print *, “ Pass average = “, Psum / Pcnt
Print *, “ Fail average = “, Fsum / Fcnt
End
: 15 ﺗﻣرﯾن
اﻟﮭدف
Using Fortran programming language to use the arrays and reversing the
array contents inside the same array
: ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻻداء اﻟﻣﮭﺎم اﻟﺗﺎﻟﯾﺔ
.A ﻋدد ﻣﺧﺗﻠف ﻓﻲ ﻣﺻﻔوﻓﺔ11 ﻗراءة
. داﺧل اﻟﻣﺻﻔوﻓﺔ ﻧﻔﺳﮭﺎA ﻗﻠب ﻣﺣﺗوﯾﺎت اﻟﻣﺻﻔوﻓﺔ
. ﺑﻌد اﻧﺗﮭﺎء اﻟﺧطوة اﻋﻼهA طﺑﺎﻋﺔ ﻣﺣﺗوﯾﺎت اﻟﻣﺻﻔوﻓﺔ
: اﻟﺣل
ﻧﻔرض
Fortran program N = اﻟﻌـــــــــدد
K = ﻋداد اﻟﺗﻛرار
Program array_reverse
Integer :: K
Do k = 1,11
Read * , A(k)
Enddo
Do K = 1, int(11/2)
C = A(k)
A(k) = A(12 - k)
A(12 – k) = C
Enddo
Do k = 1,11
Print * , A(k)
Enddo
End
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 17
: 16 ﺗﻣرﯾن
اﻟﮭدف
Using Fortran programming language to find maximum and minimum
temperatures
واﻟدرﺟﺔ, .( واﯾﺟﺎد اﻟدرﺟﺔ اﻻﻋﻠﻰT) درﺟﺔ ﺣرارة ﻣﺧﺗﻠﻔﺔ ﻓﻲ ﻣﺻﻔوﻓﺔ50 ﻛﺗﺎﺑﺔ وﺗﻧﻔﯾذ ﺑرﻧﺎﻣﺞ ﻟﻘراءة
.اﻻدﻧﻰ
Fortran program : اﻟﺣل
Program max_min ﻧﻔرض
Real :: Temp, maxt, mint, T(50) K = ﻋداد اﻟﺗﻛرار
Do k = 1, 50 maxt = اﻋﻠﻰ درﺟﺔ ﺣرارة
Read T (k) mint = ادﻧﻰ درﺟﺔ ﺣرارة
Enddo
Mint = T(1)
Maxt = T(1)
Do k = 2,50
If ( T(k) > maxt) then
Maxt = T(k)
Else
If ( T(k) < mint) then
Mint = T(k)
Endif
Endif
Enddo
Print *, “minimum temperature = “ , mint
Print *, “maximum temperature = “ , maxt
End
: 17 ﺗﻣرﯾن
اﻟﮭدف
Using Fortran programming language to print “slow”. Medium” and “fast”
depending on speed.
( ﺳرﻋﺔ ﻣرﻛﺑﺔ ﻣﺧﺗﻠﻔﺔ20) ﻗراءة
: طﺑﺎﻋﺔ ﻣﺎ ﯾﻠﻲ وﺣﺳب ﻗﯾﻣﺔ ﺳرﻋﺔ اﻟﻣرﻛﺑﺔ
(Slow) اطﺑﻊ <= اﻟﺳرﻋﺔ40
(Medium) اطﺑﻊ70 < > اﻟﺳرﻋﺔ40
(Fast) اطﺑﻊ => اﻟﺳرﻋﺔ70
: اﻟﺣل
ﻧﻔرض
Fortran program K = ﻋداد اﻟﺗﻛرار
Program fast_slow speed = ةJJJاﻟﺳرع
. ﯾﺗم ﻓﺣص اﻟﺑرﻧﺎﻣﺞ ﻟﺧﻣﺳﺔ ﺳرع ﻣﺧﺗﻠﻔﺔ: ﻣﻼﺣظﺔ
Real :: speed
Integer:: K
Do k = 1,20
Read *.speed
If ( speed >= 70 ) then
Print * , “Fast”
Else
If ( speed <= 40 ) then
Print * , “slow”
Else
Print “medium”
Endif
Endif
Enddo
End
ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ ) / (1اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ 19
ﻣﻼﺣظﺔ :
ﯾﺗم ﻣﻧﺎﻗﺷﺔ ﻣﻌظم اﻟﺗﻣﺎرﯾن أﻋﻼه ﺧﻼل اﻟﻣﺣﺎﺿرات اﻟﻧظرﯾﺔ وﺣﺳب ﻣوﺿوع اﻟﻣﺣﺎﺿرة.
ﻗد ﯾﺗم أداء أﻛﺛر ﻣن ﺗﻣرﯾن واﺣد ﻓﻲ اﻟﺣﺻﺔ اﻟﻣﺧﺗﺑرﺑﺔ اﻟواﺣدة ،ﻣﻊ إﻣﻛﺎﻧﯾﺔ ﺗﺣوﯾر اﻟﺗﻣرﯾن اﻟﻣﻘرر ﻟﺗﻠك
اﻟﺣﺻﺔ اﻟﻣﺧﺗﺑرﯾﺔ و إﺿﺎﻓﺔ ﻣﺧرﺟﺎت ) (outputأﺧرى أو ﺗﻣﺎرﯾن ﺗﻘرر ﺣﯾﻧﮭﺎ.
ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ ) / (1اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ 20
ﻣﻠﺤﻖ 1
Example2
Do k = 1,10,2
اﻟﺠﻤﻞ اﻟﻤﻜﺮرة
End do
ﻓﻲ اﻟﻤﺜﺎل اﻋﻼه ﺗﻜﺮر اﻟﺠﻤﻞ ﺧﻤﺴﺔ ﻣﺮات وﺗﻜﻮن ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ
)K (1,3,5,7,9
ﻓﻲ ﻛﻞ ﺧﻄﻮة ﻣﻦ ﺧﻄﻮات اﻟﺘﻜﺮار اي ﺑﺰﯾﺎدة 2ﻓﻲ ﻛﻞ ﺧﻄﻮة
Example1
Do k = -10,1,-1
اﻟﺠﻤﻞ اﻟﻤﻜﺮرة
End do
ﻓﻲ اﻟﻤﺜﺎل اﻋﻼه ﺗﻜﺮر اﻟﺠﻤﻞ ﻋﺸﺮة ﻣﺮات وﺗﻜﻮن ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ
)K (10,9,8,7,…..,1
ﻓﻲ ﻛﻞ ﺧﻄﻮة ﻣﻦ ﺧﻄﻮات اﻟﺘﻜﺮار اي ﺑﺰﯾﺎدة ) (-1ﻓﻲ ﻛﻞ ﺧﻄﻮة
# Arrays اﻟﻤﺼﻔﻮﻓﺎت
اﻟﻤﺼﻔﻮﻗﺎت ﻓﻲ اﻟﺒﺮﻣﺠﺔ ھﻲ ﻟﺤﺠﺰ ﻋﺪد ﻣﺘﺘﺎﻟﻲ ﻣﻦ اﻟﺨﻼﯾﺎ ﻓﻲ اﻟﺬاﻛﺮة :
Examples :
)Real :: A(5 ﻟﺤﺠﺰ 5ﺧﻼﯾﺎﻣﻦ اﻟﻨﻮع اﻟﺮﻗﻤﻲ اﻟﺤﻘﯿﻘﻲ
)A(1
)A(2
)A(3
)A(4
)A(5
ﻣﻠﺤﻖ 2
2 – From File menu select NEW -> PROJECT WORKSPACE -> Console application after entering the
project name then choose Create
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 27
FILE
NAME
3 -The following screen will appear then choose New Source file
New
Source
اﻟﻤﺮﺣﻠﺔ اﻷوﻟﻰ/ (1) ﻣﺨﺘﺒﺮ ﺑﺮﻣﺠﺔ 28
SOURCE
PROGRAM
AREA
SUMMERY: