Professional Documents
Culture Documents
6443381a-943a-4686-a29b-48e709a90ef0
6443381a-943a-4686-a29b-48e709a90ef0
ﻣﻔﺎھﯾم ﻋﺎﻣﺔ
أﻗﺳﺎم ﻟﻐﺎت اﻟﺑرﻣﺟﺔ
ﻣﻔﺎھﯾم ﻓﻲ اﻟﺑرﻣﺟﺔ
ﻣراﺣل ﺗرﺟﻣﺔ اﻟﺑرﻧﺎﻣﺞ
أﻧواع اﻷﺧطﺎء ﻓﻲ اﻟﺑرﻣﺟﺔ
2
ﻣﻔﺎھﯾم ﻋﺎﻣﺔ
اﻟﺑرﻧﺎﻣﺞ :ھو ﻣﺟﻣوﻋﺔ ﻣن اﻻواﻣر ﻣﻛﺗوﺑﺔ ﺑﻠﻐﺔ ﺑرﻣﺟﺔ ﻣﻌﯾﻧﺔ ﯾﻧﻔذھﺎ ﺟﮭﺎز اﻟﺣﺎﺳب اﻻﻟﻲ ﻟﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت أو ﺗﻧﻔﯾذ ﻋﻣﻠﯾﺎت
أو ﺣل ﻣﺷﻛﻠﺔ ﻣﻧطﻘﯾﺔ.
اﻟﺑرﻣﺟﺔ :ﻋﻣﻠﯾﺔ ﻛﺗﺎﺑﺔ ﺗﻌﻠﯾﻣﺎت وأواﻣر ﻟﺟﮭﺎز اﻟﺣﺎﺳوب أو أي ﺟﮭﺎز آﺧر ،ﻟﺗوﺟﯾﮭﮫ وإﻋﻼﻣﮫ ﺑﻛﯾﻔﯾﺔ اﻟﺗﻌﺎﻣل ﻣﻊ اﻟﺑﯾﺎﻧﺎت .أو
ﻧﺳﺗطﯾﻊ ﺗﻌرﯾﻔﮭﺎ ﺑﺄﻧﮭﺎ ﻣﺟﻣوﻋﮫ ﻣن اﻟﺗﻌﻠﯾﻣﺎت اﻟﺗﻲ ﯾﻛﺗﺑﮭﺎ اﻟﻣﺑرﻣﺞ ﺑﺈﺣدى ﻟﻐﺎت اﻟﺑرﻣﺟﺔ ﻷداء ﻋﻣل ﻣﻌﯾن او ﺣل ﻣﺷﻛﻠﮫ ﻣﻌﯾﻧﮫ
وﯾﻘوم اﻟﺣﺎﺳب ﺑﺗﻧﻔﯾذھﺎ
أﻗﺳﺎم ﻟﻐﺎت اﻟﺑرﻣﺟﺔ:
ھﻧﺎﻟك ﻧوﻋﺎن ﻣن ﻟﻐﺎت اﻟﺑرﻣﺟﺔ ھﻣﺎ :
-١ﻟﻐﺎت ﻣﻧﺧﻔﺿﺔ اﻟﻣﺳﺗوى )(low level languages
وھﻲ ﻟﻐﺎت ﻗرﯾﺑﺔ ﺟدا ﻣن ﻓﮭم اﻟﺣﺎﺳب اﻻﻟﻲ وﺗﺳﻣﻰ أﯾﺿﺎ ً اﻟﻠﻐﺎت اﻟﺑﺳﯾطﺔ
- ٢ﻟﻐﺎت ﻋﺎﻟﯾﺔ اﻟﻣﺳﺗوى ) ( High level languages
اﻟﻠﻐﺎت اﻟﻌﺎﻟﯾﺔ اﻟﻣﺳﺗوى ھﻲ ﻟﻐﺎت اﻟﺗﻲ ﺗﻛون اواﻣرھﺎ ﻋﺑﺎرة ﻋن ﺟﻣل وﻛﻠﻣﺎت ﻣﻔﮭوﻣﺔ ﻟﻠﻣﺳﺗﺧدم ﻟذﻟك ﺗﻌﺗﺑر ﺳﮭﻠﺔ
اﻻﺳﺗﺧدام ﺑﺧﻼف اﻟﻠﻐﺎت اﻟﻣﻧﺧﻔﺿﺔ اﻟﻣﺳﺗوى ،وﺗﺳﻣﻰ اﯾﺿﺎ ﺑﺎﻟﻠﻐﺎت اﻟﻣﺗﻘدﻣﺔ .
3
Low level languages
ﻟﻐﺎت ﻣﻧﺧﻔﺿﺔ اﻟﻣﺳﺗوى
4
High level languages
ﻟﻐﺎت ﻋﺎﻟﯾﺔ اﻟﻣﺳﺗوى
اﻟﻠﻐﺎت اﻟﻌﺎﻟﯾﺔ اﻟﻣﺳﺗوى ھﻲ اﻟﻠﻐﺎت اﻟﺗﻲ ﺗﻛون اواﻣرھﺎ ﻋﺑﺎرة ﻋن ﺟﻣل وﻛﻠﻣﺎت ﻣﻔﮭوﻣﺔ ﻟﻠﻣﺳﺗﺧدم ﻟذﻟك ﺗﻌﺗﺑر ﺳﮭﻠﺔ اﻻﺳﺗﺧدام ﺑﺧﻼف
اﻟﻠﻐﺎت اﻟﻣﻧﺧﻔﺿﺔ اﻟﻣﺳﺗوى ،ﻛﻣﺎ اﻧﮫ ﯾﻣﻛن ﺗﻧﻔﯾذ ﻋﻣﻠﯾﺔ ﻣﻌﯾﻧﺔ ﺑﻛﺗﺎﺑﺔ ﺳطر واﺣد ﺑﻌﻛس اﻟﻠﻐﺎت اﻟﻣﻧﺧﻔﺿﺔ اﻟﻣﺳﺗوى اﻟﺗﻲ ﺗﺣﺗﺎج اﻟﻌدﯾد ﻣن
اﻟﺳطور ﻟﺗﻧﻔﯾذ ﻋﻣﻠﯾﺔ واﺣدة .
ﻛﻣﺎ ﯾوﺟد اﻟﻛﺛﯾر ﻣن ﻟﻐﺎت اﻟﺑرﻣﺟﺔ اﻟﻌﺎﻟﯾﺔ اﻟﻣﺳﺗوى واﻟﺗﻲ ﺗﺳﺗﺧدم ﻟﺑرﻣﺟﺔ ﺗطﺑﯾﻘﺎت ﻓﻲ ﻣﺟﺎﻻت ﻣﺧﺗﻠﻔﺔ .
5
High level languages
ﻟﻐﺎت ﻋﺎﻟﯾﺔ اﻟﻣﺳﺗوى
oﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺑﺎﻟﻛﺎﺋﻧﺎت :وﺗﺳﻣﻰ اﯾﺿﺎ اﻟﺑرﻣﺟﺔ ﺑﺎﻟﻌﻧﺎﺻر ﻓﻲ ھذه اﻟﻠﻐﺎت ﯾﺗم ﺗﺟﻣﯾﻊ اﻟﺑﯾﺎﻧﺎت ﻣﻊ اﻻواﻣر اﻟﺧﺎﺻﺔ ﺑﮭﺎ ﺗﺣت ﻛﺎﺋن
واﺣد وﯾﻌطﻰ اﺳم ﻣﻌﯾن وﯾﻣﻛن اﺳﺗﺧداﻣﮫ ﻋدة ﻣرات داﺧل اﻟﺑرﻧﺎﻣﺞ.
ﻣﺛﺎل:
ﻟﻐﺔ اﻟﺳﻲ ﺑﻠس ﺑﻠس : C++ﺗُﻌ ّد ھذه اﻟﻠﻐﺔ ﻣن أﻛﺛر اﻟﻠﻐﺎت ﺷﯾوﻋﺎ ً واﺳﺗﺧداﻣﺎ ً ﻣن ﻗﺑل اﻟﻣﺑرﻣﺟﯾن ،وھﻲ اﻟﻧﺳﺧﺔ اﻟﻣﺣدّﺛﺔ ﻣن
ﻟﻐﺔ ،Cﺣﯾث ﺗم اﺳﺗﺧداﻣﮭﺎ ﻓﻲ ﻛﺗﺎﺑﺔ أﻧظﻣﺔ اﻟﺗﺷﻐﯾل وﻛﺗﺎﺑﺔ ﺑراﻣﺞ اﻟﺗﺳﻠﯾﺔ ﻣﺛل اﻷﻟﻌﺎب،
ﻟﻐﺔ اﻟﺟﺎﻓﺎ Javaوﻣن أھم ﻣﻣﯾّزات ھذه اﻟﻠﻐﺔ أﻧّﮭﺎ Object Orientedﺑﻣﻌﻧﻰ أﻧّﮭﺎ ﺗدﻋم إﻧﺷﺎء اﻟﻛﯾﺎﻧﺎت اﻟﺗﻲ ﻣن ﺷﺄﻧﮭﺎ أن
ﺗﺟﻌل ﻋﻣﻠﯾّﺔ اﻟﺑرﻣﺟﺔ أﻛﺛر ﺳﮭوﻟﺔ وأﻣﺎﻧﺎً ،ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ ذﻟك ﻓﮭﻲ ﺗدﻋم اﻟرﺳوﻣﺎت واﻷﺻوات ﻓﻲ اﻟﺗطﺑﯾﻘﺎت اﻟﺗﻲ ﯾﺗم إﻧﺷﺎؤھﺎ،
أ ّﻣﺎ ﻛﻠﻣﺔ ﺟﺎﻓﺎ ﺑﺎﻷﺻل ﻓﺗﻌﻧﻲ اﻟﻘﮭوة.
ﻣﻼﺣظﺔ:
ﺟﻣﯾﻊ ﻟﻐﺎت ﻋﺎﻟﯾﺔ اﻟﻣﺳﺗوى ﯾﺟب ﺗﺣوﯾﻠﮭﺎ اﻟﻰ ﻟﻐﺔ اﻵﻟﺔ ﺣﺗﻰ ﯾﻔﮭﻣﮭﺎ اﻟﺣﺎﺳب اﻻﻟﻲ ،ﻟذﻟك ﻓﺈن ﻟﻛل ﻟﻐﺔ ﻣﺗرﺟم ﺧﺎص ﯾﻘوم ﺑﺗﺣوﯾﻠﮭﺎ
اﻟﻰ ﻟﻐﺔ اﻵﻟﺔ .
6
High level languages
ﻟﻐﺎت ﻋﺎﻟﯾﺔ اﻟﻣﺳﺗوى
7
ﻣﻔﺎھﯾم ﻓﻲ اﻟﺑرﻣﺟﺔ
اﻟﺑرﻧﺎﻣﺞ اﻟﻣﺻدري :Source Programھو اﻟﺑرﻧﺎﻣﺞ اﻟﻣﻛﺗوب ﻣن ﻗﺑل اﻟﻣﺑرﻣﺞ ﺑﺄي ﻟﻐﺔ ﺑرﻣﺟﺔ ﻋدا ﻟﻐﺔ اﻵﻟﺔ.
اﻟﺑرﻧﺎﻣﺞ اﻟﮭدﻓﻲ /اﻟﺗﻧﻔﯾذي :Target Programھو اﻟﺑرﻧﺎﻣﺞ اﻟﻣﻛﺗوب ﺑﻠﻐﺔ اﻵﻟﺔ )ﻟﻐﺔ اﻟﺻﻔر واﻟواﺣد(.
اﻟﻣﺗﻐﯾرات :ﺟﻣﻊ ﻣﺗﻐﯾر وﻣﺎ ھو إﻻ ﻣﻛﺎن ﻣﺣدد ﻓﻲ اﻟذاﻛرة ﯾﻌطﯾﮫ اﻟﻣﺑرﻣﺞ اﺳﻣﺎ ً وﯾﺣدد ﻟﮫ ﻧوﻋﺎ ً ﺛم ﯾﺳﺗﺧدﻣﮫ ﻟﺣﻔظ وﺗﺧزﯾن
ﻗﯾﻣﺔ ﻣﻌﯾﻧﺔ ﻗﺎﺑﻠﺔ ﻟﻠﺗﻐﯾر ﺑﻌد إﺟراء اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ وﺗﻧﻔﯾذ اﻷواﻣر اﻟﺑرﻣﺟﯾﺔ .
اﻟﺛواﺑت :ﺟﻣﻊ ﺛﺎﺑت وھو ﻋﺑﺎرة ﻋن ﻣﺗﻐﯾر ﺛﺎﺑت ﯾﺧﺗﻠف ﻋن اﻟﻣﺗﻐﯾر اﻟﺳﺎﺑﻖ ﻓﻲ ﻛون ﻗﯾﻣﺗﮫ ﺗﺑﻘﻰ ﻛﻣﺎ ھﻲ ﻻ ﺗﺗﻐﯾر طﯾﻠﺔ
اﻟﺑرﻧﺎﻣﺞ وﻻ ﺗﺗﺄﺛر ﺑﺎﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ وﻻ ﻏﯾرھﺎ ﻣن اﻷواﻣر.
اﻟﻣدﺧﻼت :ھﻲ اﻟﺑﯾﺎﻧﺎت واﻟﻣﻌﻠوﻣﺎت اﻟﺗﻲ ﻧﺣﺗﺎج اﺳﺗﺧداﻣﮭﺎ وﺗﻛون ﻣدﺧﻠﺔ ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم أو ﻣن ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت أو ﻣن
ﻣﻠﻔﺎت ﺧﺎرج اﻟﺑرﻧﺎﻣﺞ.
اﻟﻣﺧرﺟﺎت :ھو ﻋﺑﺎرة ﻋن اﻟﻧواﺗﺞ اﻟﺗﻲ ﺳﺗظﮭر ﻋﻠﻰ اﻟﺷﺎﺷﺔ و ﻛل ﻣﺎ ﯾﻣﻛن اﻋﺗﺑﺎره ﻧﺗﯾﺟﺔ ﻟﻠﺑرﻧﺎﻣﺞ .
اﻟﻣﺑرﻣﺞ :ھو اﻟﺷﺧص اﻟذي ﯾﻘوم ﺑﺻﻧﺎﻋﺔ اﻟﺑرﻧﺎﻣﺞ وﻛﺗﺎﺑﺔ اﻟﺗﻌﻠﯾﻣﺎت اﻷواﻣر ﺑﺎﺳﺗﺧدام ﻟﻐﺎت اﻟﺑرﻣﺟﺔ.
8 اﻟﻣﺳﺗﺧدم :ھو اﻟﺷﺧص اﻟذي ﯾﺳﺗﺧدم اﻟﺑرﻧﺎﻣﺞ وﯾﺳﺗﻔﯾد ﻣن اﻟﻛود اﻟﻣﻧﺷﺄ ﻣن ﻗﺑل اﻟﻣﺑرﻣﺞ.
اﻟﺗرﺟﻣﺔ
إن اﻟﺑرﻧﺎﻣﺞ اﻟذي ﯾﻛﺗﺑﮫ اﻟﻣﺑرﻣﺞ ﯾﺳﻣﻰ اﻟﺑرﻧﺎﻣﺞ اﻟﻣﺻدري Source programو ﺣﺗﻰ ﯾﺻﺑﺢ ﻗﺎﺑل ﻟﻠﺗﻧﻔﯾذ ﻻ ﺑد ﻣن
ﺗﺣوﯾﻠﮫ إﻟﻰ ﻟﻐﺔ اﻵﻟﺔ.
ﺗﺳﻣﻰ ﻋﻣﻠﯾﺔ اﻟﺗﺣوﯾل ﻣن اﻟﺑرﻧﺎﻣﺞ اﻟﻣﺻدري إﻟﻰ ﺑرﻧﺎﻣﺞ ﺗﻧﻔﯾذي) اﻟﮭدف( ﻋن طرﯾﻖ اﻟﻣﺗرﺟﻣﺎت ﺑﺎﻟﺗرﺟﻣﺔ.
ھﻧﺎك ﻣﺟﻣوﻋﺔ ﻣن اﻟﻣﺗرﺟﻣﺎت أھﻣﮭﺎ:
اﻟﻣﻔﺳر .١
اﻟﻣﺗرﺟم اﻟﻌﺎﻟﻲ ).(compiler .٢
اﻟﻣﺟﻣﻊ ).(Assembler .٣
9
ﻣراﺣل ﺗرﺟﻣﺔ اﻟﺑرﻧﺎﻣﺞ
اﻟﻣﻔﺳر: .١
وھو ﻋﺑﺎرة ﻋن ﺑرﻧﺎﻣﺞ ﯾﻌﻣل ﻋﻠﻰ ﺗرﺟﻣﺔ اﻟﺑرﻧﺎﻣﺞ اﻟﻣﺻدري ﺟﻣﻠﺔ ﺟﻣﻠﺔ ﺣﯾث ﺗﻘوم ﺑﺗﺣوﯾل ﻛل ﺟﻣﻠﺔ إﻟﻰ ﺟﻣﻠﺔ أو أﻛﺛر
ﻗﺎﺑﻠﺔ ﻟﻠﺗﻧﻔﯾذ وﯾﻧﻔذھﺎ ﺛم ﯾﻧﺗﻘل ﻟﺗرﺟﻣﺔ اﻟﺟﻣﻠﺔ اﻟﺗﺎﻟﯾﺔ.
ﺑﺷﻛل ﻋﺎم إن اﻟﻣﻔﺳر ﯾﻘوم ﺑﺗﺣﻘﯾﻖ اﻟوظﺎﺋف اﻟﺗﺎﻟﯾﺔ:
oﺗﺣﻠﯾل ﺟﻣﻠﺔ اﻟﺑرﻧﺎﻣﺞ اﻟﻣﺻدري.
oﻓﺣص ﺟﻣﻠﺔ اﻟﺑرﻧﺎﻣﺞ اﻟﻣﺻدري واﻛﺗﺷﺎف اﻷﺧطﺎء اﻹﻣﻼﺋﯾﺔ واﻟﻘواﻋدﯾﺔ و ﺗﺣدﯾدھﺎ.
oوﻓﻲ ﺣﺎﻟﺔ اﻟﺧﻠو ﻣن اﻷﺧطﺎء ﻓﺈن اﻟﻣﻔﺳر ﯾﻌﻣل ﻋﻠﻰ ﺗوﻟﯾد ﺷﻔرة ﺛﻧﺎﺋﯾﺔ ﺛم ﯾﻘوم ﺑﺗﻧﻔﯾذھﺎ.
10
ﻣراﺣل ﺗرﺟﻣﺔ اﻟﺑرﻧﺎﻣﺞ
.٣اﻟﻣﺟﻣﻊ ).(Assembler
ﯾﻌﻣل ﺑﻧﻔس اﻟطرﯾﻘﺔ اﻟﺗﻲ ﯾﻌﻣل ﺑﮭﺎ اﻟﻣﺗرﺟم اﻟﻌﺎﻟﻲ إﻻّ أﻧﮫ ﯾﺧﺻص ﻟﺗرﺟﻣﺔ اﻟﺑراﻣﺞ اﻟﻣﻛﺗوﺑﺔ ﺑﻠﻐﺔ ﺑرﻣﺟﺔ ﻣﺗدﻧﯾﺔ
اﻟﻣﺳﺗوى ﻛﻠﻐﺔ اﻟﺗﺟﻣﯾﻊ )(Assembly language
12
ﻣراﺣل ﺗرﺟﻣﺔ اﻟﺑرﻧﺎﻣﺞ
اﻟﻤﺘﺮﺟﻢ
اﻟﻤﻠﻒ اﻟﻤﺼﺪر Complier اﻟﻤﻠﻒ اﻟﺘﻨﻔﯿﺬي
program1.cpp program1.exe
13
ﻣراﺣل ﺗرﺟﻣﺔ اﻟﺑرﻧﺎﻣﺞ
14
أﻧواع اﻷﺧطﺎء ﻓﻲ اﻟﺑرﻣﺟﺔ
ھﻧﺎك ﻧوﻋﯾن ﻣن اﻷﺧطﺎء اﻟﺗﻲ ﻗد ﺗﻛون ﻣوﺟودة ﻓﻲ اﻟﺑرﻧﺎﻣﺞ اﻟﻣﺻدري وھﻲ :
اﻷﺧطﺎء اﻟﺗﻲ ﯾﻣﻛن ﻟﻠﺣﺎﺳوب اﻛﺗﺷﺎﻓﮭﺎ وﻣن ﺑﯾﻧﮭﺎ: .١
اﻷﺧطﺎء اﻹﻣﻼﺋﯾﺔ.
اﻷﺧطﺎء اﻟﻧﺣوﯾﺔ واﻟﻘواﻋد وذﻟك ﻋﻧدﻣﺎ ﯾﺧرج اﻟﻣﺑرﻣﺞ ﻋن اﻟﻘواﻋد اﻟﻣﺗﺑﻌﺔ ﻓﻲ ﺻﯾﺎﻏﺔ وﺗرﻛﯾب اﻟﺟﻣﻠﺔ.
أﺧطﺎء ﺗﻧﻔﯾذﯾﺔ ﯾﻣﻛن اﻛﺗﺷﺎﻓﮭﺎ أﺛﻧﺎء اﻟﺗﻧﻔﯾذ ﻛﺎﻟﻘﺳﻣﺔ ﻋﻠﻰ ﺻﻔر أو وﺟود ﻧﻘص ﻓﻲ اﻟﻣدﺧﻼت.
اﻷﺧطﺎء اﻟﺗﻲ ﻻ ﯾﻛﺗﺷﻔﮭﺎ اﻟﺣﺎﺳوب ﻣﺛﺎل ﻋﻠﻰ ذﻟك : .٢
إﻋطﺎء اﻟﺣﺎﺳوب ﺑﯾﺎﻧﺎت ﺧﺎطﺋﺔ.
اﻟﺧطﺄ ﻓﻲ اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ اﻟﻣراد ﺗﻧﻔﯾذھﺎ.
أﺧطﺎء اﻟﺗﺻﻣﯾم اﻟﺧﺎﺻﺔ ﺑﺈﻧﺗﺎج اﻟﺗﻘﺎرﯾر وذﻟك ﻷن اﻟﺣﺎﺳوب ٍﯾﺗﻘﯾد وﺑﺷﻛل ﺻﺎرم ﺑﺎﻟﻣواﺻﻔﺎت اﻟﺗﻲ ﯾزود ﺑﮭﺎ ﻋن
طرﯾﻖ اﻟﺑرﻧﺎﻣﺞ اﻟﻣﻛﺗوب ﻣن ﻗﺑل اﻟﻣﺑرﻣﺞ.
15