Algorithms & Data Structures
اﻟﺧوارزﻣﯾﺎت وھﯾﻛﻠﺔ اﻟﺑﯾﺎﻧﺎت
إﻋداد :اﻟوﻟﯾد إﺑراھﯾم اﻟدھﯾش
ﻛﻠﯾﺔ اﻹﺗﺻﺎﻻت واﻟﻣﻌﻠوﻣﺎت ﺑﺎﻟرﯾﺎض
اﻟﺧوارزﻣﯾﺎت وھﯾﻛﻠﺔ اﻟﺑﯾﺎﻧﺎت ھﻲ
اﻟﺧوارزﻣﯾﺎت ھﻲ طرﯾﻘﺔ اﻟﺗﻔﻛﯾر واﻟﺗﺣﻠﯾل أﺛﻧﺎء ﻛﺗﺎﺑﺔ اﻟﻛود اﻟﺑرﻣﺟﻲ ﺣﺗﻰ اﻟوﺻول إﻟﻰ اﻟﻧﺗﯾﺟﺔ اﻟﻣطﻠوﺑﺔ
اﻟﺧوارزﻣﯾﺎت ھﻰ ﻣﺟﻣوﻋﺔ ﻣن اﻟﺧطوات واﻻواﻣر اﻟواﺿﺣﺔ اﻟﺗﻰ ﺗﻛﺗب ﻟﺣل ﻣﺷﻛﻠﺔ ﺑرﻣﺟﯾﺔ ﻣﻌﯾﻧﺔ ,وﯾﻘﺎل أن اﻟﺧوارزﻣﯾﺔ ﺟﯾدة إذا ﻛﺎﻧت ﺳرﯾﻌﺔ ﻓﻰ
.اﻟﺗﻧﻔﯾذ وﻟﮭﺎ ﻛﻔﺎءة ﻋﺎﻟﯾﺔ ﻓﻰ اﻟﺗﺧزﯾن
ھﯾﻛﻠﺔ اﻟﺑﯾﺎﻧﺎت ھﻲ طرﯾﻘﺔ ﻟﺟﻣﻊ اﻟﺑﯾﺎﻧﺎت وﺗﻧظﯾﻣﮭﺎ ﺑطرﯾﻘﺔ ﺗﻣﻛﻧﻧﺎ ﻣن إﺟراء ﻋﻣﻠﯾﺎت ﻋﻠﻰ ھذه اﻟﺑﯾﺎﻧﺎت ﺑطرﯾﻘﺔ ﻓﻌﺎﻟﺔ ﺑﺈﺧﺗﺻﺎر ھﻲ ﻋﻣﻠﯾﺔ
ﺗﺧزﯾن اﻟﺑﯾﺎﻧﺎت ﻓﻰ اﻟﺣﺎﺳب ﺑطرﯾﻘﺔ ﻓﻌﺎﻟﺔ وﻏﯾر ﻣﻌﻘدة وذﻟك ﻟدﻋم ﻧوع اﻟﺑﯾﺎﻧﺎت اﻟﻣراد ﺗﺧزﯾﻧﮭﺎ ﻟﯾﻌﻣل اﻟﻛود او اﻟﺧوارزﻣﯾﺔ ﺑطرﯾﻘﺔ اﺳرع
.واﻛﺛر ﻛﻔﺎءة
اﻟﺗﻣرﯾن اﻷول
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟﺛﺎﻧﻲ
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟﺛﺎﻟث
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟراﺑﻊ
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟﺧﺎﻣس
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟﺳﺎدس
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟﺳﺎﺑﻊ
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟﺛﺎﻣن
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟﺗﺎﺳﻊ
:ﻗم ﺑرﺳم اﻟﺷﻛل اﻟﺗﺎﻟﻲ وذﻟك ﺑﺈﺳﺗﺧدام ﻟﻐﺔ اﻟﺑرﻣﺟﺔ ﺟﺎﻓﺎ
اﻟﺗﻣرﯾن اﻟﻌﺎﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾطﻠب ﻣن اﻟﻣﺳﺗﺧدم أن ﯾدﺧل ﻋدد ﻣﻛون ﻣن أﻛﺛر ﻣن ﺧﺎﻧﺔ واﻟﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺟﻣﻊ اﻷﻋداد ،
ﻣﺛﻼً إذا ﻗﺎم اﻟﻣﺳﺗﺧدم ﺑﺈدﺧﺎل اﻟرﻗم 5678ﻓﺈن ﻧﺎﺗﺞ اﻟطﺑﺎﻋﺔ ﺳﯾﻛون ﺟﻣﻊ اﻷﻋداد 26 = 8+7+6+5
اﻟﺗﻣرﯾن اﻟﺣﺎدي ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻌﻛس اﻷرﻗﺎم اﻟﻣدﺧﻠﺔ ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم ،
ﻣﺛﻼً إذا ﻗﺎم اﻟﻣﺳﺗﺧدم ﺑﺈدﺧﺎل اﻟرﻗم 5678ﻓﺈن ﻧﺎﺗﺞ اﻟطﺑﺎﻋﺔ ﺳﯾﻛون ﺟﻣﻊ اﻷﻋداد 8765
ﺣﻠول اﺧﺗﺑﺎر اﻟﻔﺗرة اﻷوﻟﻰ
1) Write a Java code that print out this sentence "welcome to the exam" multiple times "depending of the number
which will be entered by the user"
(you must use while or for loop to answer the question, the user must enter a number above "0", ask the user to
enter the number of sentences)
Answer
2) Write a Java code that print out the following shape: "when we entered 4 the shape will be:"
4
43
432
4321
(you must use while or for loops to answer the question, the user must enter a number above "0", ask the user to
enter the number of rows)
Answer
ﺣﻠول اﺧﺗﺑﺎر اﻟﻔﺗرة اﻷوﻟﻰ
3) Write a Java code that print out the following shape: "when we entered 4 the shape will be:"
0000
1111
0000
1111
(you must use while or for loops to answer the question, the user must enter a number above "0", ask the user to enter
the number of rows)
Answer
4) Write a Java code that print out all the odd numbers located between two numbers will be entered by the user
(you must use while or for loop to answer the question, ask the user to enter two numbers both must be above "0", and
you have to be sure which number is bigger that the other!)
Answer
اﻟﺗﻣرﯾن اﻟﺛﺎﻧﻲ ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ ﻣﺣﺗوﯾﺎت ﻣﺻﻔوﻓﺔ
اﻟﺗﻣرﯾن اﻟﺛﺎﻟث ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ اﻷرﻗﺎم أﻋﻠﻰ ﻣن أو ﺗﺳﺎوي 60
اﻟﺗﻣرﯾن اﻟراﺑﻊ ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ ﻛم ﻋدد اﻷرﻗﺎم اﻟﻔردﯾﺔ داﺧل ﻣﺻﻔوﻓﺔ ﻣﻌﯾﻧﺔ
اﻟﺗﻣرﯾن اﻟﺧﺎﻣس ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ أﺳﻣﺎء ودرﺟﺎت اﻟطﻼب اﻟﻧﺎﺟﺣﯾن واﻟﺣﺎﺻﻠﯾن ﻋﻠﻰ 60درﺟﺔ وأﻋﻠﻰ
اﻟﺗﻣرﯾن اﻟﺳﺎدس ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ ﻋﻛس ﻣﺣﺗوﯾﺎت اﻟﻣﺻﻔوﻓﺔ
اﻟﺗﻣرﯾن اﻟﺳﺎﺑﻊ ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ ﻋﻛس ﻣﺣﺗوﯾﺎت اﻟﻣﺻﻔوﻓﺔ
اﻟﺗﻣرﯾن اﻟﺛﺎﻣن ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺗرﺗﯾب ﻋﻧﺎﺻر ﻣﺻﻔوﻓﺔ
اﻟﺗﻣرﯾن اﻟﺗﺎﺳﻊ ﻋﺷر
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺗرﺗﯾب درﺟﺎت وأﺳﻣﺎء اﻟطﻼب
اﻟﺗﻣرﯾن اﻟﻌﺷرﯾن
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺎﻟﺑﺣث اﻟﺧطﻲ داﺧل ﻣﺻﻔوﻓﺔ ﻣرﺗﺑﺔ
اﻟﺗﻣرﯾن اﻟواﺣد واﻟﻌﺷرﯾن
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺎﻟﺑﺣث اﻟﺧطﻲ داﺧل ﻣﺻﻔوﻓﺔ ﻏﯾر ﻣرﺗﺑﺔ
اﻟﺗﻣرﯾن اﻟﺛﺎﻧﻲ واﻟﻌﺷرﯾن
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺎﻟﺑﺣث اﻟﺛﻧﺎﺋﻲ داﺧل ﻣﺻﻔوﻓﺔ ﻣرﺗﺑﺔ
اﻟﺗﻣرﯾن اﻟﺛﺎﻟث واﻟﻌﺷرﯾن
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺗﺧزﯾن اﺳﻣﺎء اﻟﻣوظﻔﯾن ورواﺗﺑﮭم وإﺟﻣﺎﻟﻲ ﻣﺑﯾﻌﺎﺗﮭم وإﺟﻣﺎﻟﻲ رواﺗﺑﮭم )إﺟﻣﺎﻟﻲ اﻟراﺗب = اﻟراﺗب
) +إﺟﻣﺎﻟﻲ اﻟﻣﺑﯾﻌﺎت * ( (0.025ﺛم ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑﺗرﺗﯾب ﺑﯾﺎﻧﺎت اﻟﻣوظﻔﯾن ﺑﺷﻛل ﺗﻧﺎزﻟﻲ ﺣﺳب اﻷﻛﺛر ﻣﺑﯾﻌﺎت وﯾﻘوم
اﻟﺑرﻧﺎﻣﺞ ﺑﺈﺿﺎﻓﺔ ﻣﻛﺎﻓﺄة ﻗدرھﺎ ) 5000﷼ (ﻟﻠﻣوظف اﻷﻛﺛر ﻣﺑﯾﻌﺎت وطﺑﺎﻋﺔ إﺟﻣﺎﻟﻲ اﻟﻣﺑﯾﻌﺎت ﻟﻛل اﻟﻣوظﻔﯾن
اﻟﺗﻣرﯾن اﻟراﺑﻊ واﻟﻌﺷرﯾن
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ ﻋﻧﺎﺻر ﻣﺻﻔوﻓﺔ ذات ﺑﻌدﯾن
اﻟﺗﻣرﯾن اﻟﺧﺎﻣس واﻟﻌﺷرﯾن
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ درﺟﺎت 4طﻼب وﻣن ﺛم ﺣﺳﺎب ﻣﺗوﺳط درﺟﺎت ﻛل طﺎﻟب
اﻟﺗﻣرﯾن اﻟﺳﺎدس واﻟﻌﺷرﯾن
ﻗم ﺑﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺟﻣﻊ اﻷرﻗﺎم اﻟﻣوﺟودة ﻓﻲ ﻣﺻﻔوﻓﺗﯾن ذات ﺑﻌدﯾن
اﻟﺗﻣرﯾن اﻟﺳﺎﺑﻊ واﻟﻌﺷرﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة 20ﻋدد ﺻﺣﯾﺢ وﺗﺧزﯾﻧﮭﺎ ﻓﻲ ﻣﺻﻔوﻓﺔ وﻣن ﺛم ﯾﻘوم ﺑﻔﺣص ﺟﻣﯾﻊ اﻷﻋداد اﻟﻣﺧزﻧﺔ ﻓﻲ
اﻟﻣﺻﻔوﻓﺔ واﺳﺗﺧراج اﻷﻋداد اﻟﻔردﯾﺔ ﻣﻧﮭﺎ وﺗﺧزﯾن اﻷﻋداد اﻟﻔردﯾﺔ ﻓﻲ ﻣﺻﻔوﻓﺔ أﺧرى "طوﻟﮭﺎ ﯾﺳﺎوي ﻋدد اﻷﻋداد
اﻟﻔردﯾﺔ ﻓﻲ اﻟﻣﺻﻔوﻓﺔ اﻷﺻﻠﯾﺔ" ﺛم ﻗم ﺑطﺑﺎﻋﺔ ﻣﺣﺗوﯾﺎت اﻟﻣﺻﻔوﻓﺗﯾن ؟
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة 20ﻋدد ﺻﺣﯾﺢ وﺗﺧزﯾﻧﮭﺎ ﻓﻲ ﻣﺻﻔوﻓﺔ وﻣن ﺛم ﯾﻘوم ﺑﻔﺣص ﺟﻣﯾﻊ اﻷﻋداد اﻟﻣﺧزﻧﺔ ﻓﻲ
اﻟﻣﺻﻔوﻓﺔ وطﺑﺎﻋﺔ ﻋدد اﻷﻋداد اﻟزوﺟﯾﺔ اﻟﻣدﺧﻠﺔ ﻓﻲ اﻟﻣﺻﻔوﻓﺔ ؟
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة 20ﻋدد ﺻﺣﯾﺢ وﺗﺧزﯾﻧﮭﺎ ﻓﻲ ﻣﺻﻔوﻓﺔ وﻣن ﺛم ﯾﻘوم ﺑﻔﺣص ﺟﻣﯾﻊ اﻷﻋداد اﻟﻣﺧزﻧﺔ ﻓﻲ
اﻟﻣﺻﻔوﻓﺔ وطﺑﺎﻋﺔ ﻋدد اﻷﻋداد اﻟﻣﺿﺎﻋﻔﺔ ﻟﻠﻌدد " "10اﻟﻣدﺧﻠﺔ ﻓﻲ اﻟﻣﺻﻔوﻓﺔ ؟
اﻟﺗﻣرﯾن اﻟﺛﺎﻣن واﻟﻌﺷرﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة أﺳﻣﺎء ودرﺟﺎت ﻋدد ﻣن اﻟﻣﺗدرﺑﯾن )ﯾﺗم إدﺧﺎل ﻋدد اﻟﻣﺗدرﺑﯾن ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم( وﺗﺧزﯾن
اﻟﺑﯾﺎﻧﺎت ﻓﻲ ﻣﺻﻔوﻓﺗﯾن واﺣدة ﻟﻸﺳﻣﺎء واﻟﺛﺎﻧﯾﺔ ﻟﻠدرﺟﺎت ،ﻣن ﺛم ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑطﺑﺎﻋﺔ أﺳﻣﺎء اﻟﻣﺗدرﺑﯾن اﻟﻧﺎﺟﺣﯾن
واﻟﺣﺎﺻﻠﯾن ﻋﻠﻰ درﺟﺎت ﺗزﯾد ﻋن 60درﺟﺔ واﺳم اﻟﻣﺗدرب اﻟﺣﺎﺻل ﻋﻠﻰ أﻋﻠﻰ درﺟﺔ ؟
اﻟﺗﻣرﯾن اﻟﺗﺎﺳﻊ واﻟﻌﺷرﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة 10درﺟﺎت ﻣن درﺟﺎت اﻟﻣﺗدرﺑﯾن وﺗﺧزﯾﻧﮭﺎ ﻓﻲ ﻣﺻﻔوﻓﺔ )ﻗم ﺑﺈﻓﺗراض أن طول اﻟﻣﺻﻔوﻓﺔ
10وﺳﯾﻘوم اﻟﻣﺳﺗﺧدم ﺑﺈدﺧﺎل اﻟدرﺟﺎت ﺑﺷﻛل ﯾدوي( ﺛم ﻗم ﺑطﺑﺎﻋﺔ ﻣﺣﺗوﯾﺎت اﻟﻣﺻﻔوﻓﺔ وﺣﺳﺎب وطﺑﺎﻋﺔ ﻣﺟﻣوع
وﻣﺗوﺳط ھذه اﻟدرﺟﺎت ؟
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة درﺟﺎت اﻟﻣﺗدرﺑﯾن وﺗﺧزﯾﻧﮭﺎ ﻓﻲ ﻣﺻﻔوﻓﺔ ،ﺛم ﻗم ﺑطﺑﺎﻋﺔ ﻣﺣﺗوﯾﺎت اﻟﻣﺻﻔوﻓﺔ وﺣﺳﺎب وطﺑﺎﻋﺔ
ﻣﺟﻣوع وﻣﺗوﺳط ھذه اﻟدرﺟﺎت ؟
اﻟﺗﻣرﯾن اﻟﺛﻼﺛﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة ﻣﺑﯾﻌﺎت ﻋدد ﻣن اﻟﻣوظﻔﯾن وأرﻗﺎﻣﮭم اﻟوظﯾﻔﯾﺔ )ﻓﻲ ﻣﺻﻔوﻓﺗﯾن( ﺛم ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑطﺑﺎﻋﺔ ھذه
اﻟﻣﻌﻠوﻣﺎت ﺑﺎﻟﺗرﺗﯾب اﻟﺗﺻﺎﻋدي ﺑﻧﺎ ًء ﻋﻠﻰ رﻗم اﻟﻣوظف وطﺑﺎﻋﺗﮭﺎ ﻣرة أﺧرى ﺑﺎﻟﺗرﺗﯾب اﻟﺗﻧﺎزﻟﻲ ﺑﻧﺎ ًء ﻋﻠﻰ أرﻗﺎم
اﻟﻣﺑﯾﻌﺎت ؟
اﻟﺗﻣرﯾن اﻟواﺣد واﻟﺛﻼﺛﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة 10أرﻗﺎم ﻣدﺧﻠﺔ ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم وﺗﺧزﯾﻧﮭﺎ ﻓﻲ ﻣﺻﻔوﻓﺔ ﻣن ﺛم ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑﺎﻟﺑﺣث ﻋن
ﻋدد ﻣرات ﺗﻛرار رﻗم ﻣﻌﯾن "ﻣدﺧل ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم" ﻓﻲ اﻟﻣﺻﻔوﻓﺔ وطﺑﺎﻋﺔ ﻋدد ﻣرات اﻟﺗﻛرار ؟
اﻟﺗﻣرﯾن اﻟﺛﺎﻧﻲ واﻟﺛﻼﺛﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة درﺟﺎت 5ﻣﺗدرﺑﯾن ،ﺣﯾث أن ﻟﻛل ﻣﺗدرب 3ﻣواد وﺗﺧزﯾن اﻟﻘﯾم ﻓﻲ ﻣﺻﻔوﻓﺔ ذات ﺑﻌدﯾن ،
وﻣن ﺛم ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑﺎﻟﺗﺎﻟﻲ:
ﺣﺳﺎب ﻣﺟﻣوع درﺟﺎت ﻛل ﻣﺗدرب وطﺑﺎﻋﺔ اﻟﻧﺗﯾﺟﺔ؟ -
ﻣﺗوﺳط درﺟﺎت ﻛل ﻣﺗدرب وطﺑﺎﻋﺔ اﻟﻧﺗﯾﺟﺔ؟ -
ﻣﺣﺗوﯾﺎت اﻟﻣﺻﻔوﻓﺔ ذات اﻟﺑﻌدﯾن وطﺑﺎﻋﺔ اﻟﻧﺗﯾﺟﺔ؟ -
Methods أﻣﺛﻠﺔ ﻋﻠﻰ اﻟطرق
static void myMethod() {
System.out.println("I just got executed!");
public static void main(String[] args) {
myMethod();
}
Methods أﻣﺛﻠﺔ ﻋﻠﻰ اﻟطرق
static void myMethod(String name, int age) { //parameters action as variables --- void means that the method does
not have a return value
System.out.println("اﻷﺳم ھو: "+name+"--"+ "اﻟﻌﻣر: "+age);
public static void main(String[] args) {
myMethod("15 ," ;)اﻟوﻟﯾد// arguments
myMethod("20 ,";)ﺟﻌﻔر
myMethod("69 ,";)ﻋﺑداﻟﻘدوس
}
Methods أﻣﺛﻠﺔ ﻋﻠﻰ اﻟطرق
static int myMethod(int x,int y) { //the method return value, we do not use "void"
return y + x; }
public static void main(String[] args) {
int h=myMethod(6,5);
System.out.println(h);
}
Methods أﻣﺛﻠﺔ ﻋﻠﻰ اﻟطرق
static int plusMethod(int x, int y) {
return x + y;}
static double plusMethod(double x, double y) {
return x + y;}
public static void main(String[] args) {
int myNum1 = plusMethod(8, 5);
double myNum2 = plusMethod(4.3, 6.26);
System.out.println("int: " + myNum1);
System.out.println("double: " + myNum2);
}
Methods أﻣﺛﻠﺔ ﻋﻠﻰ اﻟطرق
static boolean chick (int b[]) {
int c=0;
for (int i=0; i<b.length ; i++)
if (b[i]%2==1) return false;
return true;}
public static void main(String[] args) {
int a[];
int x=Integer.parseInt(JOptionPane.showInputDialog(";))"أدﺧل طول اﻟﻣﺻﻔوﻓﺔ
a=new int [x];
for (int i=0; i<a.length; i++)
a[i]= Integer.parseInt(JOptionPane.showInputDialog(";))"ادﺧل رﻗم
boolean t= chick(a);
System.out.println(t);}
اﻟﺗﻣرﯾن اﻟﺛﺎﻟث واﻟﺛﻼﺛﯾن
أﻛﺗب طرﯾﻘﺔ ﺗﺳﺗﻘﺑل ﻣﺻﻔوﻓﺔ أﻋداد ﺻﺣﯾﺣﺔ وﺗﻌﯾد trueإذا ﻛﺎﻧت ﺟﻣﯾﻊ ﻋﻧﺎﺻر اﻟﻣﺻﻔوﻓﺔ أﻋداد زوﺟﯾﺔ وﺗﻌﯾد false
إذا ﻛﺎﻧت ﻏﯾر ذﻟك ؟
اﻟﺗﻣرﯾن اﻟراﺑﻊ واﻟﺛﻼﺛﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻘراءة أﺳﻣﺎء ورواﺗب 10ﻣوظﻔﯾن وﺗﺧزﯾﻧﮭﺎ ﻓﻲ ﻣﺻﻔوﻓﺗﯾن ،ﺛم ﯾﻘوم ﺑطﺑﺎﻋﺔ اﺳم و راﺗب ﻛل
ﻣوظف ووﺿﻊ إﺷﺎرة ) (+ﺑﺟﺎﻧب اﻟراﺗب اذا ﻛﺎن أﻛﺑر ﻣن أو ﯾﺳﺎوي ﻣﻌدل اﻟرواﺗب وإﺷﺎرة ) (-إذا ﻛﺎن أﻗل ﻣن اﻟﻣﻌدل
وطﺑﺎﻋﺔ اﻟﻣﺟﻣوع اﻟﻛﻠﻲ ﻟﻠرواﺗب وﻣﻌدل اﻟرواﺗب ؟
اﻟﺗﻣرﯾن اﻟﺧﺎﻣس واﻟﺛﻼﺛﯾن
ﻣﺗطﻠﺑﺎت ﻛﺗﺎﺑﺔ اﻟﺑرﻧﺎﻣﺞ: أﻛﺗب ﺑرﻧﺎﻣﺞ ﻟﺣﺳﺎب إﺟﻣﺎﻟﻲ اﻟﻣﺑﯾﻌﺎت ﻟﻌدد ﻣن ﻓروع ﺻﯾدﻟﯾﺔ "اﻟﻌﻠم اﻷﺧﺿر" وذﻟك ﺣﺳب اﻟﺷروط اﻟﺗﺎﻟﯾﺔ:
اﺳﺗﺧدم ﻣﺻﻔوﻓﺎت ﻟﺗﺧزﯾن ﻗﯾم ﻣﺑﯾﻌﺎت ﻛل ﻓرع اﻟﻔرع اﻷول :ﯾﻘدم ﺧﺻم ﺑﻧﺳﺑﺔ %10ﻟﺟﻣﯾﻊ اﻟﻔواﺗﯾر اﻟﺗﻲ ﺗﺗﺟﺎوز 100﷼
اﻟﻔرع اﻟﺛﺎﻧﻲ :ﻻ ﯾوﺟد ﺧﺻم ﻟﻛن ﯾﺗﺣﻣل اﻟﻔرع ﻗﯾﻣﺔ اﻟﺿرﯾﺑﺔ اﻟﻣﺿﺎﻓﺔ
اﺳﺗﺧدم switchﻟﻼﺧﺗﯾﺎر ﺑﯾن اﻟﻔروع اﻟﻣﺧﺗﻠﻔﺔ
اﻟﻔرع اﻟﺛﺎﻟث :ﯾﻘدم ﺧﺻم 50﷼ ﻟﺟﻣﯾﻊ اﻟﻔواﺗﯾر اﻟﺗﻲ ﺗﺗﺟﺎوز 500﷼
ﻗم ﺑﻛﺗﺎﺑﺔ methodﯾﺗم اﺳﺗدﻋﺎﺋﮭﺎ ﻓﻲ ﻛل ﻣرة
ﯾﺣﺗﺎج اﻟﺑرﻧﺎﻣﺞ اﺣﺗﺳﺎب ﻗﯾﻣﺔ اﻟﺿرﯾﺑﺔ اﻟﻣﺿﺎﻓﺔ ﻣﻣﯾزات اﻟﺑرﻧﺎﻣﺞ:
ﺗﻣﻛﯾن اﻟﻣﺳﺗﺧدم ﻣن ﺗﺣدﯾد ﻋدد اﻷﺻﻧﺎف اﻟﺗﻲ ﺗم ﯾﻣﻛن طﺑﺎﻋﺔ ﺟﻣﯾﻊ اﻟﻣﺑﯾﻌﺎت ﺑﺷﻛل ﻣﻔﺻل ﻟﻛل ﺻﻧف وﻟﻛل ﻋﻣﻠﯾﺔ ﺑﯾﻊ ﺑﻌد ﺗرﺗﯾب اﻟﻣﺑﯾﻌﺎت ﺑﺷﻛل ﺗﻧﺎزﻟﻲ
ﺷراﺋﮭﺎ )ﺑﺷرط أن ﺗﻛون أﻋﻠﻰ ﻣن اﻟﺻﻔر( ﺣﺳب اﻟﻘﯾﻣﺔ
طﺑﺎﻋﺔ إﺟﻣﺎﻟﻲ ﻣﺑﻠﻎ اﻟﻔﺎﺗورة ﻗﺑل وﺑﻌد اﻟﺧﺻم
طﺑﺎﻋﺔ ﻣﺑﻠﻎ اﻟﻔﺎﺗورة ﻗﺑل وﺑﻌد اﺣﺗﺳﺎب ﻗﯾﻣﺔ اﻟﺿرﯾﺑﺔ اﻟﻣﺿﺎﻓﺔ
ﺑﻌض اﻟطرق اﻟﺧﺎﺻﺔ ﺑﺎﻟﺳﻼﺳل اﻟرﻣزﯾﺔ
اﻟﺗﻣرﯾن اﻟﺳﺎدس واﻟﺛﻼﺛﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺈﺧﺗﺑﺎر ذاﻛرة اﻟﻣﺳﺗﺧدم وذﻟك ﺑﺗوﻟﯾد 5أرﻗﺎم ﻋﺷواﺋﯾﺔ ﻣن 100 - 1ﻣن ﺛم ﯾﻘوم اﻟﻣﺳﺗﺧدم ﺑﺈدﺧﺎل
اﻷرﻗﺎم ﺑﻧﻔس اﻟﺗرﺗﯾب وﻓﻲ ﺣﺎل أﺧطﺄ اﻟﻣﺳﺗﺧدم ﻓﻲ إدﺧﺎل أﺣد اﻷرﻗﺎم ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑﺈظﮭﺎر رﺳﺎﻟﺔ ﺧطﺄ واﻟﺧروج ﻣن
اﻟﺑرﻧﺎﻣﺞ ؟
اﻟﺗﻣرﯾن اﻟﺳﺎﺑﻊ واﻟﺛﻼﺛﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ اﻻﺳم اﻷطول ﻣن ﻣﺻﻔوﻓﺔ اﻷﺳﻣﺎء )ﻣدﺧﻠﺔ ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم( وﻋدد ﺣروﻓﮫ ؟
اﻟﺗﻣرﯾن اﻟﺛﺎﻣن واﻟﺛﻼﺛﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻣﻘﺎرﻧﺔ ﻣﺻﻔوﻓﺎت ﻣن ﻧوع intوطﺑﺎﻋﺔ ﻧﺗﯾﺟﺔ اﻟﻣﻘﺎرﻧﺔ ؟
اﻟﺗﻣرﯾن اﻟﺗﺎﺳﻊ واﻟﺛﻼﺛﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑطﺑﺎﻋﺔ ﺛﺎﻧﻲ أﻛﺑر رﻗم ﻓﻲ ﻣﺻﻔوﻓﺔ ﻣن ﻧوع intﻣدﺧﻠﺔ ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم ؟
اﻟﺗﻣرﯾن اﻷرﺑﻌﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺄﺧذ 10أرﻗﺎم ﻣن اﻟﻣﺳﺗﺧدم وﯾﻘوم ﺑﺗﺧزﯾﻧﮭم داﺧل ﻣﺻﻔوﻓﺔ وطﺑﺎﻋﺔ ﻣﺣﺗوى اﻟﻣﺻﻔوﻓﺔ ﻟﻛن ﺑﺷﻛل
ﻋﻛﺳﻲ؟
اﻟﺗﻣرﯾن اﻟواﺣد واﻷرﺑﻌﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﻣﻘﺎرﻧﺔ اﻷﻋداد اﻟﻣدﺧﻠﺔ ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم واﻟﻣﺧرﻧﺔ داﺧل ﻣﺻﻔوﻓﺔ ھل ھﻲ ﻣﺗﺳﺎوﯾﺔ أو ﻻ ؟
اﻟﺗﻣرﯾن اﻟﺛﺎﻧﻲ واﻷرﺑﻌﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺄﺧذ ﺗوارﯾﺦ ﻣﯾﻼد ﻋدد ﻣن اﻟﻣﺷﺗرﻛﯾن ﻣن ﺛم ﯾﻘوم ﺑﺗﺧزﯾن أﻋﻣﺎرھم ﻓﻲ ﻣﺻﻔوﻓﺔ وﺗرﺗﯾﺑﮭم ﺑﺷﻛل
ﺗﺻﺎﻋدي ؟
اﻟﺗﻣرﯾن اﻟﺛﺎﻟث واﻷرﺑﻌﯾن
أﻛﺗب ﺑرﻧﺎﻣﺞ ﻹدﺧﺎل 10أﻋداد وﺗﺧزﯾﻧﮭﺎ ﻓﻲ ﻣﺻﻔوﻓﺔ ﻣن ﻧوع ) doubleﯾﺗم إدﺧﺎل اﻷﻋداد ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم( ﻣن ﺛم
ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑﺎﻟﺗﺎﻟﻲ:
-1طﺑﺎﻋﺔ ﻣﺟﻣوع اﻷﻋداد اﻟﻣدﺧﻠﺔ ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم؟
-2طﺑﺎﻋﺔ ﻋدد اﻷﻋداد اﻟﺳﺎﻟﺑﺔ؟
-3طﺑﺎﻋﺔ ﻋدد اﻷﻋداد اﻟﻔردﯾﺔ؟
-4طﺑﺎﻋﺔ ﻋدد اﻷﻋداد اﻟزوﺟﯾﺔ
-5طﺑﺎﻋﺔ ﻣﺗوﺳط اﻷﻋداد اﻟﻣدﺧﻠﺔ؟