You are on page 1of 23

‫ا

 ا‬
‫دو آد ) ‪( Pseudocode‬‬

‫ﺍﻷﻫﺩﺍﻑ ‪:‬‬
‫ﺒﻨﻬﺎﻴﺔ ﻫﺫﺍ ﺍﻝﻔﺼل ﺴﻴﻤﻜﻨﻙ‪-:‬‬
‫‪ -‬ﺘﻌﺭﻴﻑ ﺍﻝﻤﺼﻁﻠﺢ ‪. Pseudocode‬‬
‫‪ -‬ﻤﻌﺭﻓﺔ ﻤﺯﺍﻴﺎ ﻭﻋﻴﻭﺏ ‪. Pseudocode‬‬
‫‪ -‬ﺘﻁﺒﻴﻕ ﺍﻝﻘﻭﺍﻋﺩ ﻭﺍﻝﻘﻴﻭﺩ ﺍﻝﺨﺎﺼﺔ ﺒـ ‪. Pseudocode‬‬
‫‪ -‬ﺤل ﺍﻝﻤﺴﺎﺌل ﺒﻭﺍﺴﻁﺔ ‪. Pseudocode‬‬

‫‪ ١-٣‬ﻤﻘﺩﻤﺔ ‪:‬‬
‫‪ Pseudocode‬ﻫﻭ ﻁﺭﻴﻘﺔ ﻝﻌﺭﺽ ﺨﻁﻭﺍﺕ ﺤل ﻤﺴﺄﻝﺔ ﻤﻌﻴﻨـﺔ ﺒﺎﺴـﺘﺨﺩﺍﻡ ﺃﻭﺍﻤـﺭ‬
‫ﻤﺨﺘﺼﺭﺓ ‪ .‬ﻭﻝﺘﻭﻀﻴﺢ ﻤﻌﻨﻰ ‪ Pseudocode‬ﻤﻥ ﺍﻝﻤﻬﻡ ﺃﻥ ﻨﻌﺭﻑ ﺃﻥ ﺍﻝﺒﺭﻨﺎﻤﺞ ﺍﻝﻤﻜﺘﻭﺏ ﺒﺈﺤﺩﻯ‬
‫ﻝﻐﺎﺕ ﺍﻝﺒﺭﻤﺠﺔ ﻴﻁﻠﻕ ﻋﻠﻴﺔ " ﻜﻭﺩ " )‪ (code‬ﻭﺃﻥ ﻜﻠﻤـﺔ‬
‫" ‪ " Pseudo‬ﺘﻌﻨـﻰ " ﻏﻴﺭ ﺤﻘﻴﻘـﻰ " ﻓﻴﻜـﻭﻥ ﻤﻌﻨﻰ‬
‫" ‪ " Pseudocode‬ﺍﻝﻜﻭﺩ ﻏﻴﺭ ﺍﻝﺤﻘﻴﻘﻰ ﺃﻭ ﺍﻝﺒﺭﻨﺎﻤﺞ ﻏﻴﺭ‬
‫ﺍﻝﺤﻘﻴﻘﻰ ‪ ،‬ﻭﺫﻝﻙ ﻷﻨﻪ ﺒﺭﻨﺎﻤﺞ ﻏﻴﺭ ﻤﻜﺘﻭﺏ ﺒﺈﺤﺩﻯ ﻝﻐﺎﺕ‬
‫ﺍﻝﺒﺭﻤﺠﺔ ﺃﻱ ﺃﻥ ﺍﻝﻜﻤﺒﻴﻭﺘﺭ ﻻﻴﺴﺘﻁﻴﻊ ﺃﻥ ﻴﺘﻌﺎﻤل ﻤﻌـﻪ ‪.‬‬
‫ﻭﻝﻜﻥ ﻷﻥ ‪ Pseudocode‬ﻴﻜﻭﻥ ﻤﻜﺘﻭﺒـﹰﺎ ﻓـﻰ ﺃﻏﻠـﺏ‬
‫ﺍﻷﺤﻴﺎﻥ ﺒﻁﺭﻴﻘﺔ ﺘﻘﺘﺭﺏ ﻤﻥ ﻝﻐﺎﺕ ﺍﻝﺒﺭﻤﺠﺔ ‪ ،‬ﻓﺈﻨـﻪ ﻤـﻥ‬
‫ﺍﻝﺴﻬل ﺇﻋﺎﺩﺓ ﻜﺘﺎﺒﺘﻪ ﺒﺈﺤﺩﻯ ﻝﻐﺎﺕ ﺍﻝﺒﺭﻤﺠـﺔ ‪ ،‬ﻝﻴﺼـﺒﺢ‬
‫ﺒﺎﻝﺘﺎﻝﻰ ﺒﺭﻨﺎﻤﺞ ﻴﺴﺘﻁﻴﻊ ﺍﻝﻜﻤﺒﻴﻭﺘﺭ ﺃﻥ ﻴﺘﻌﺎﻤل ﻤﻌﻪ ‪.‬‬

‫ﻭﻴﺘﻤﻴﺯ ‪ Pseudocode‬ﺒﺄﻨﻪ ﻻﻴﺸﺘﻤل ﻋﻠﻰ ﺃﺸﻜﺎل ﻨﻤﻁﻴﺔ ﻴﺠﺏ ﺤﻔﻅﻬﺎ ﻜﻤﺎ ﻓﻲ ﺨﺭﺍﺌﻁ‬
‫ﺍﻝﺘﺩﻓﻕ ﻭﻝﻜﻨﻪ ﻤﺒﻨﻰ ﻋﻠﻰ ﻗﻭﺍﻋﺩ ﻗﻠﻴﻠﺔ ‪ ،‬ﻭﺴﻬﻠﺔ ﺍﻻﺴﺘﻴﻌﺎﺏ ﻭﺍﻝﺘﻁﺒﻴﻕ ﺒﺩﺭﺠﺔ ﻋﺎﻝﻴﺔ ﻤﻥ ﺍﻝﻤﺭﻭﻨﺔ ‪.‬‬

‫‪٣٦‬‬
‫‪ ٢-٣‬ﻤﻜﻭﻨﺎﺕ ‪: Pseudocode‬‬
‫ﺇﻥ ﺃﻓﻀل ﻁﺭﻴﻘﺔ ﻝﻠﺘﻌﺭﻑ ﻋﻠﻰ ﻤﻜﻭﻨﺎﺕ ﻫﻭ ﺃﻥ ﻨﺘﻌﺭﻑ ﻋﻠﻴﻬﺎ ﻤﻥ ﺨﻼل ﻤﺜﺎل‪.‬‬
‫ﺸﻜل ‪ ١-٣‬ﻴﻭﻀﺢ ﺠﺯﺀﹰﺍ ﻤﻥ ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﻝﻠﻤﺜﺎل )‪ (٨‬ﻓﻰ ﺍﻝﻔﺼل ﺍﻝﺜﺎﻨﻲ ﺤﻴﺙ ‪:‬‬
‫) ‪ ( HW‬ﺘﻌﻨﻰ ﻋﺩﺩ ﺴﺎﻋﺎﺕ ﺍﻝﻌﻤل ‪ ( OP ) .‬ﺘﻌﻨﻰ ﻤﻘﺎﺒل ﺍﻝﻭﻗﺕ ﺍﻹﻀﺎﻓﻲ ‪ ( PR ).‬ﺘﻌﻨﻰ ﻤﻌﺩل‬
‫ﺍﻷﺠﺭ ‪ ( GR ).‬ﺘﻌﻨﻰ ﺇﺠﻤﺎﻝﻲ ﺍﻷﺠﺭ ‪ .‬ﺃﻤﺎ ﺸﻜل ‪ ٢-٣‬ﻓﻬﻭ ﻋﺒﺎﺭﺓ ﻋﻥ ‪Pseudocode‬‬
‫ﺍﻝﻤﻨﺎﻅﺭ ﻝﺸﻜل ‪١-٣‬‬

‫ﺸﻜل ‪ ١-٣‬ﺠﺯﺀ ﻤﻥ ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﻝﺤل ﻤﺜﺎل ﺭﻗﻡ ‪٨-٢‬‬

‫‪1. If hours worked is greater than 150 Then‬‬

‫)‪Calculate Overtime Pay = (Hours Worked – 150) * 1.5 * (Pay Rate‬‬


‫‪Calculate Gross Pay = 150 * (Pay Rate) + Overtime Pay‬‬
‫‪Else‬‬
‫)‪Calculate Gross Pay = (Pay Rate) * (Hours Worked‬‬

‫)‪2. Calculate TAX = 0.20 * (Gross Pay‬‬

‫ﺸﻜل ‪ ٢-٣‬ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ﺍﻝﻤﻘﺎﺒل ﻝﺸﻜل ‪١-٣‬‬

‫‪٣٧‬‬
‫ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ﺍﻝﻤﻭﺠﻭﺩ ﻓﻰ ﺸﻜل ‪ ٢-٣‬ﻴﻌﻨﻰ ﺍﻵﺘﻲ ‪:‬‬
‫ﺃ‪ -‬ﺇﺫﺍ ﺘﻌﺩﺕ ﺴﺎﻋﺎﺕ ﺍﻝﻌﻤل ﺍﻝـ ‪ ١٥٠‬ﺴﺎﻋﺔ ﻴﺘﻡ ﺘﻨﻔﻴﺫ ﺍﻷﻤﺭﻴﻥ ‪:‬‬

‫) ‪Calculate Overtime Pay = ( Hours Worked – 150) * 1.5 * (Pay Pate‬‬

‫‪Calculate Gross Pay = 150 * ( Pay Rate ) + Overtime Pay‬‬

‫ﺜﻡ ﻴﺘﻡ ﺘﻨﻔﻴﺫ ﺍﻷﻤﺭ ‪:‬‬


‫) ‪Calculate TAX = 0.20 * ( Gross Pay‬‬

‫ﺏ‪ -‬ﺃﻤﺎ ﺇﺫﺍ ﻝﻡ ﺘﺘﺠﺎﻭﺯ ﺴﺎﻋﺎﺕ ﺍﻝﻌﻤل ﺍﻝـ ‪ ١٥٠‬ﺴﺎﻋﺔ ﻓﻴﺘﻡ ﺘﻨﻔﻴﺫ ﺍﻷﻤﺭ‪:‬‬

‫) ‪Calculate Gross Pay = ( Pay Rate ) * ( Hours Worked‬‬

‫ﺜﻡ ﻴﺘﺒﻌﻪ ﺍﻷﻤﺭ ‪:‬‬


‫) ‪Calculate T A X = 0.20 * ( Gross Pay‬‬

‫ﻴﺘﺒﻴﻥ ﻝﻨﺎ ﻤﻤﺎ ﺴﺒﻕ ﺃﻥ ﻤﻜﻭﻨﺎﺕ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ﻫﻰ ‪:‬‬


‫‪ -١‬ﻜﻠﻤﺎﺕ ‪.‬‬
‫‪ -٢‬ﻤﻘﺎﻁﻊ ‪.‬‬
‫‪ -٣‬ﺠﻤل ‪.‬‬
‫ه ات و  ا
ا  ‪ Pseudocode‬‬
‫ﺝذ"!‪.‬‬

‫‪ ٣-٣‬ﻗﻭﺍﻋﺩ ﻭﻗﻴﻭﺩ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ‪:‬‬

‫ﻝ‪ .‬ﻥ‪     Pseudocode 9.‬ووا    


اة ا ‪-:‬‬
‫‪ -١‬ا‪ +‬ر أ!ء
 ات ذات
‪ -./ 0  1 /‬ا! اﻝ 
" ودور‪#‬‬
‫‪ 2‬اﻝ‪. 3‬‬
‫‪ -٢‬آ" ا‪6‬وا
  !‪  5‬ووا ‪ 8‬ﻝ‪. 5 2 -‬‬

‫‪٣٨‬‬
‫‪ ٤-٣‬ﺒﻨﻴﺔ ﺘﺭﻜﻴﺏ ﺍﻝﺒﺭﻨﺎﻤﺞ ‪:‬‬

‫ﻴﺘﻜﻭﻥ ﺍﻝﺒﺭﻨﺎﻤﺞ ﻤﻥ ﺍﻝﻌﺩﻴﺩ ﻤﻥ ﺍﻝﺠﻤل ﺍﻝﺘﺭﻜﻴﺒﻴﺔ )‪ (Structures‬ﻭﺃﻫﻤﻬﺎ ﺍﻝﺠﻤل ﺍﻝﺘﺎﻝﻴﺔ‪:‬‬

‫‪ ١ – ٤-٣‬ﺃﻭﺍﻤﺭ ﻤﺘﺘﺎﻝﻴﺔ ‪:‬‬

‫ﻋﻨﺩ ﺘﺘﺒﻊ ﺘﻨﻔﻴﺫ ﺍﻷﻤﺭ ﻓﻰ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ﻨﺠﺩ ﺃﻥ ﺍﻷﻭﺍﻤﺭ ﺘﻨﻔﺫ ﻭﺍﺤﺩﺍ ﺘﻠـﻭ ﺍﻵﺨـﺭ ﺒـﻨﻔﺱ‬
‫ﺘﺭﺘﻴﺏ ﻜﺘﺎﺒﺘﻬﺎ ﻤﺎ ﻝﻡ ﻴﺨل ﺃﺤﺩ ﺍﻷﻭﺍﻤﺭ ﺒﻬﺫﺍ ﺍﻝﺘﺭﺘﻴﺏ ﻜﻤﺎ ﺴﻨﺭﻯ ﻓﻴﻤﺎ ﺒﻌﺩ ‪.‬‬

‫‪ ٢ – ٤-٣‬ﺍﻻﺨﺘﻴﺎﺭ ﻭﺍﻝﺘﺸﻌﺏ‪:‬‬
‫ﻴﺒﻴﻥ ﺸﻜل ‪ ٣ – ٣‬ﻜﻴﻑ ﻴﻤﻜﻨﻨﺎ ﻜﺘﺎﺒﺔ ﺃﻤﺭ ﺍﻻﺨﺘﻴﺎﺭ ﺒﺎﻝﺴﻭﺩﻭ ﻜﻭﺩ ﺒﺎﺴﺘﻌﻤﺎل ﻤـﺎ ﻴﺴـﻤﻰ‬
‫ﺠﻤﻠﺔ ‪ . IF Statement‬ﺘﻘﺩﻡ ﺠﻤﻠﺔ ‪ IF Statement‬ﺒﺩﻴﻠﻴﻥ ﻝﺘﻨﻔﻴﺫ ﺃﺤﺩﻫﻤﺎ ﺤﻴﺙ ﻴﺘﻡ ﺍﺨﺘﺒـﺎﺭ‬
‫ﺼﺤﺔ ﺤﺎﻝﺔ ﻤﻌﻴﻨﺔ ‪ ،‬ﻓﺈﺫﺍ ﻜﺎﻨﺕ ﺼﺤﻴﺤﺔ ﻴﺘﻡ ﺘﻨﻔﻴﺫ ﺍﻝﺒﺩﻴل ﺍﻷﻭل ﺃﻤﺎ ﺇﺫﺍ ﻜﺎﻨﺕ ﻏﻴﺭ ﺼﺤﻴﺤﺔ ﻓﻴﺘﻡ‬
‫ﺘﻨﻔﻴﺫ ﺍﻝﺒﺩﻴل ﺍﻵﺨﺭ ‪ .‬ﻭﺘﺴﻤﻰ ﺍﻝﺤﺎﻝﺔ ﺍﻝﺼﺤﻴﺤﺔ )‪ (True‬ﻭﻏﻴﺭ ﺍﻝﺼﺤﻴﺤﺔ) ‪ . (False‬ﻭﻋﻠﻰ ﻫﺫﺍ‬
‫ﻓﺈﻨﻪ ﻴﻤﻜﻥ ﺃﻥ ﻴﺘﻡ ﺘﻨﻔﻴﺫ ﺍﻻﺨﺘﻴﺎﺭ ﺒﺎﺴﺘﻌﻤﺎل ﺃﻤﺭ ‪ IF – Then – Else‬ﻜﻤﺎ ﻫﻭ ﻤﺒﻴﻥ ﻓﻰ ﺸـﻜل‬
‫‪٣-٣‬‬

‫‪IF condition being tested is TRUE‬‬

‫‪Then‬‬
‫‪Do all statements listed under “Then”.‬‬
‫‪(executed when the tested condition is “TRUE”).‬‬
‫‪Else‬‬
‫‪Do all statements listed under “Else”.‬‬
‫‪Figure 3.3 IF-THEN-ELSE Control Structure‬‬
‫‪(executed when the tested condition is “FALSE”).‬‬

‫ﺸﻜل ‪ ٣-٣‬ﺍﻝﺠﻤﻠﻪ ﺍﻝﺘﺭﻜﻴﺒﻴﺔ ‪. IF-THEN-ELSE‬‬

‫‪٣٩‬‬
‫ﻭﻴﺠﺏ ﺃﻥ ﻨﺄﺨﺫ ﻓﻲ ﺍﻻﻋﺘﺒﺎﺭ ﻋﻨﺩ ﺇﺠﺭﺍﺀ ﺍﺨﺘﺒﺎﺭ ﻝﺤﺎﻝﺔ ﻤﻌﻴﻨﻪ ﺃﻥ ﻴﺘﻡ ﺼﻴﺎﻏﺔ‬
‫ﺍﻻﺨﺘﺒﺎﺭ ﺒﺤﻴﺙ ﻻ ﺘﺨﺭﺝ ﻨﺘﻴﺠﺘﻪ ﻋﻥ ”‪ “False‬ﺃﻭ ”‪“True‬ﻭﻝﻜﻰ ﻴﺤﺩﺙ ﻫﺫﺍ ﻓـﺈﻥ ﺍﻻﺨﺘﺒـﺎﺭ‬
‫ﻴﻜﻭﻥ ﺒﻌﻘﺩ ﻤﻘﺎﺭﻨﻪ ﺒﻴﻥ ﻗﻴﻤﺘﻴﻥ ﻝﻨﺭﻯ ﺇﻥ ﻜﺎﻨﺕ ﺇﺤﺩﺍﻫﻤﺎ ﺘﺴﺎﻭﻯ ﺍﻷﺨﺭﻯ ﺃﻭ ﻻ ﺘﺴﺎﻭﻴﻬﺎ ﺃﻭ ﺃﻜﺒـﺭ‬
‫ﻤﻨﻬﺎ)>( ﺃﻭ ﺃﺼﻐﺭ ﻤﻨﻬﺎ )<( ﺃﻭ ﺃﻜﺒﺭ ﻤﻨﻬﺎ ﺃﻭﺘﺴﺎﻭﻴﻬﺎ )=>( ﺃﻭ ﺃﺼﻐﺭ ﻤﻨﻬﺎ ﺃﻭ ﺘﺴﺎﻭﻴﻬﺎ )=<(‪.‬‬

‫
اﻝل‪:‬‬

‫‪M= 25‬‬
‫‪N = 12‬‬
‫‪IF ( M >= N ) Then‬‬
‫‪Statement 1‬‬
‫‪ELSE‬‬
‫‪Statement2‬‬
‫‪END IF‬‬
‫‪Statement 3‬‬

‫ﺴﻭﻑ ﻴﻨﺘﺞ ﻋﻨﻬﺎ ﺘﻨﻔﻴﺫ ﺍﻝﺠﻤﻠﺔ ‪ Statement 1‬ﻭ ﺘﺘﺒﻌﻬﺎ ﺍﻝﺠﻤﻠﺔ ‪. Statement 3‬‬

‫ﻴﺘﺒﻘﻰ ﻫﻨﺎﻙ ﻤﻼﺤﻅﺔ ﺃﺨﻴﺭﺓ ﻭﻫﻰ ﺃﻥ ﺒﻌﺽ ﻝﻐﺎﺕ ﺍﻝﺒﺭﻤﺠﺔ ﺘﺴﻤﺢ ﺒﺄﻥ ﺘﻜﻭﻥ ﻨﺘﻴﺠـﺔ ﺍﻻﺨﺘﺒـﺎﺭ‬
‫ﺭﻗﻤﻴﺔ ﺒﺤﻴﺙ ﺇﺫﺍ ﻜﺎﻨﺕ ﺍﻝﻨﺘﻴﺠﺔ ﺼﻔﺭﹰﺍ ﻓﻬﺫﺍ ﻴﻌﻨﻰ "‪ "False‬ﺃﻤﺎ ﺇﺫﺍ ﻜﺎﻨﺕ ﻏﻴﺭ ﺫﻝﻙ ﻓﻬـﺫﺍ ﻴﻌﻨـﻰ‬
‫" ‪ " True‬ﻜﻤﺎ ﻫﻭ ﻤﻭﻀﺢ ﻓﻲ ﺍﻝﻤﺜﺎل ﺍﻝﺘﺎﻝﻲ ‪:‬‬

‫‪X= 10‬‬
‫‪Y=5‬‬
‫‪IF (X – Y) Then‬‬
‫‪Statement 1‬‬
‫‪Else‬‬
‫‪Statement2‬‬
‫‪END IF‬‬
‫‪Statement 3‬‬

‫ ه ا 
   ا  ‪ Statement 1‬ﻭ ﺘﺘﺒﻌﻬﺎ ﺍﻝﺠﻤﻠﺔ ‪. Statement 3‬‬

‫‪٤٠‬‬
‫ﻭﻝﻜﻥ ﺇﺫﺍ ﺘﻡ ﻜﺘﺎﺒﺔ ﺍﻝﺒﺭﻨﺎﻤﺞ ﻜﺎﻝﺘﺎﻝﻰ‬

‫‪X= 10‬‬
‫‪Y = 10‬‬
‫‪IF (X – Y) Then‬‬
‫‪Statement 1‬‬
‫‪Else‬‬
‫‪Statement2‬‬
‫‪END IF‬‬
‫‪Statement 3‬‬

‫ ه ا 
   ا  ‪ Statement 2‬ﻭ ﺘﺘﺒﻌﻬﺎ ﺍﻝﺠﻤﻠﺔ ‪. Statement 3‬‬

‫‪ ٣ – ٤-٣‬ﺍﻝﺘﻜﺭﺍﺭ‪:‬‬

‫ﻴﺴﺘﺨﺩﻡ ﺍﻝﺘﻜﺭﺍﺭ ﻓﻲ ﺍﻝﺒﺭﺍﻤﺞ ﺇﺫﺍ ﺃﺭﺩﻨﺎ ﺃﻥ ﻴﺘﻡ ﺘﻜﺭﺍﺭ ﺘﻨﻔﻴﺫ ﺃﻤﺭ ﻤﻌﻴﻥ ) ﺃﻭ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻷﻭﺍﻤﺭ(‬
‫ﻋﺩﺩ ﻤﺤﺩﺩ ﻤﻥ ﺍﻝﻤﺭﺍﺕ ﺃﻭ ﺇﻝﻰ ﺃﻥ ﺘﺘﺤﻘﻕ ﺤﺎﻝﺔ ﻤﻌﻴﻨﺔ ‪ .‬ﻭﻴﻭﻀﺢ ﺍﻝﺸﻜل ‪ ٤ – ٣‬ﺠﺯﺀ ﻤﻥ ﺨﺭﻴﻁﺔ‬
‫ﺍﻝﺘﺩﻓﻕ ﻝﻠﻤﺜﺎل ‪ ٦-٢‬ﺤﻴﺙ ‪ (Sum) :‬ﻫﻭ ﻤﺠﻤﻭﻉ ﺍﻝﻤﺘﺴﻠﺴﻠﺔ ‪ (T) ،‬ﻗﻴﻤﺔ ﺍﻝﺤﺩ ﺍﻝﺤﺎﻝﻲ ﻭ )‪ (N‬ﻋﺩﺩ‬
‫ﺍﻝﻤﻨﺎﻅﺭ ﻝﻬﺫﺍ ﺍﻝﺠﺯﺀ ﻓﻬﻭ ﻤﻭﻀﺢ ﻓﻲ ﺸﻜل ‪. ٥ – ٣‬‬ ‫ﺍﻝﺤﺩﻭﺩ ﺍﻝﺤﺎﻝﻴﻪ ﺃﻤﺎ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ‬
‫ﺒﺩﺭﺍﺴﺔ ﺍﻝﺸﻜل ‪ ٥ – ٣‬ﻨﺠﺩ ﺃﻥ ﺍﻷﻤﺭ ‪:‬‬

‫‪perform steps 3 through 4 unl T is less than‬‬ ‫‪0.01‬‬

‫ﻫﻭ ﺍﻝﺫﻱ ﻴﺘﻭﻝﻰ ﻋﻤﻠﻴﺔ ﺍﻝﺘﻜﺭﺍﺭ ﺤﻴﺙ ﺇﻥ ﺍﻝﺨﻁﻭﺍﺕ ‪ ٣‬ﻭ ‪ ٤‬ﺴﻴﺘﻡ ﺘﻜﺭﺍﺭﻫﺎ ﺇﻝﻰ ﺃﻥ ﺘﺼﺒﺢ ﻗﻴﻡ )‪(T‬‬
‫ﺃﻗل ﻤﻥ ‪0.01‬‬

‫‪٤١‬‬
.٦-٢ ‫ ﺠﺯﺀ ﻤﻥ ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﻝﺤل ﺍﻝﻤﺜﺎل‬٤-٣ ‫ﺸﻜل‬

1. Initialize the Sum:


Sum = 0
2. Initialize the number of terms N, then find the corresponding
term T:
N=1
T = 1/N
3. Add the new term to Sum:
Sum = Sum + T
4. Increment the number of terms N, then find the
corresponding term T:
5. IF T<0.01 Then
Go to step 6
Else
Perform steps 3 through 4 until T is less than 0.01
END IF
6. Stop processing

. ٥-٣ ‫ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ﺍﻝﻤﻨﺎﻅﺭ ﻝﺸﻜل‬٥-٣ ‫ﺸﻜل‬

٤٢
‫‪ ٥ – ٣‬ﻤﺯﺍﻴﺎ ﻭﻋﻴﻭﺏ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ‪:‬‬

‫ﻨﻭﺠﺯ ﻓﻴﻤﺎ ﻴﻠﻲ ﺒﻌﺽ ﻤﺯﺍﻴﺎ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ‪:‬‬


‫• ﺴﻬل ﺍﻝﻔﻬﻡ ﺤﻴﺙ ﺃﻨﻪ ﻴﺴﺘﺨﺩﻡ ﺍﻝﻜﻠﻤﺎﺕ ﺍﻹﻨﺠﻠﻴﺯﻴﺔ ﺍﻝﻌﺎﺩﻴﺔ‪.‬‬
‫• ﻻ ﻴﺴﺘﻌﻤل ﺭﻤﻭﺯﹰﺍ ﺨﺎﺼﺔ‪.‬‬
‫• ﻻ ﻴﺴﺘﻌﻤل ﻗﻭﺍﻋﺩ ﺨﺎﺼﺔ‪.‬‬
‫• ﻤﻥ ﺍﻝﺴﻬل ﺘﺤﻭﻴﻠﻪ ﺇﻝﻰ ﺒﺭﻨﺎﻤﺞ ﺒﺎﺴﺘﻌﻤﺎل ﺇﺤﺩﻯ ﻝﻐﺎﺕ ﺍﻝﺒﺭﻤﺠﺔ‪.‬‬
‫ﻼ ﺒﻌﺽ ﺍﻝﺸﻲﺀ ﻓـﻲ ﺤﺎﻝـﺔ ﺍﻝﻤﺴـﺎﺌل‬
‫ﺃﻤﺎ ﺃﻫﻡ ﻋﻴﻭﺏ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ﻓﻬﻭ ﺃﻨﻪ ﻗﺩ ﻴﻜﻭﻥ ﻁﻭﻴ ﹰ‬
‫ﺍﻝﻤﻌﻘﺩﺓ ‪.‬‬

‫‪٤٣‬‬
‫‪ ٦ – ٣‬ﺒﻌﺽ ﺍﻷﻤﺜﻠﺔ ﻋﻠﻰ ﺍﻝﺴﻭﺩﻭ ﻜﻭﺩ ‪:‬‬

‫ﺍﻷﻤﺜﻠﺔ ﺍﻵﺘﻴﺔ ﻫﻲ ﻨﻔﺱ ﺃﻤﺜﻠﺔ ﺍﻝﻔﺼل ﺍﻝﺴﺎﺒﻕ ﺍﻝﺘﻲ ﺘﻡ ﺤﻠﻬﺎ ﺒﺨﺭﺍﺌﻁ ﺍﻝﺘﺩﻓﻕ ﻭﻋﻠﻴﻪ ﻓﺎﻨﻪ ﻴﻤﻜﻥ‬
‫ﺍﻝﺭﺠﻭﻉ ﺇﻝﻰ ﻫﺫﻩ ﺍﻝﺨﺭﺍﺌﻁ ﺒﺴﻬﻭﻝﺔ ﻋﻨﺩ ﺍﻝﺤﺎﺠﺔ ‪:‬‬

‫ﻤﺜﺎل ‪١-٣‬‬

‫ﺍﻜﺘﺏ ﺨﺭﻴﻁﺔ ﺘﺩﻓﻕ ﻝﺘﺒﻴﻥ ﻋﻤﻠﻴﺔ ﻗﺭﺍﺀﺓ ﺭﻗﻤﻴﻥ ﺜﻡ ﻗﺴﻤﺘﻬﻤﺎ ﻭ ﺇﻅﻬﺎﺭ ﻨﺎﺘﺞ ﺍﻝﻘﺴﻤﺔ‪.‬‬

‫ﻤﻠﺤﻭﻅﺔ‪ :‬ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﺓ ﻤﻌﻁﺎﺓ ﻓﻰ ﻤﺜﺎل ‪. ٣-٢‬‬

‫ا ‪:‬‬

‫‪1. Input (Read) the first number “number1”.‬‬


‫‪2. Input (Read) the second number “number2”.‬‬
‫‪3. IF the value of number1 = that of number2 Then‬‬
‫”‪Print “Division is impossible because number2 is zero‬‬
‫‪Go to step 4‬‬
‫‪ELSE‬‬
‫‪result = number1 / number2‬‬
‫‪Print number1, number2, and result‬‬
‫‪END IF‬‬
‫‪4. Stop processing.‬‬

‫ ‪ ٦-٣‬د آد  ا


ل ‪.١-٣‬‬

‫ﻤﻊ ﻤﻼﺤﻅﺔ ﺃﻥ ﺃﻭل ﺠﻤﻠﺔ ﻁﺒﺎﻋﺔ ”‪ “Print‬ﻴﺘﺒﻌﻬﺎ ﻗﻔﺯﻩ ”‪ “Go to‬ﺍﻝﻰ ﺍﻝﻌﻨﻭﺍﻥ‪ ٤‬ﻹﻨﻬﺎﺀ‬
‫ﺍﻝﺒﺭﻨﺎﻤﺞ‪.‬‬

‫‪٤٤‬‬
٢-٣ ‫ﻤﺜﺎل‬
. ‫ ﺭﻗﻡ ﻁﺒﻴﻌﻲ‬١٠٠ ‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﺤﺴﺎﺏ ﺤﺎﺼل ﺠﻤﻊ ﺃﻭل‬
: ‫ﻫﺫﺍ ﻴﻌﻨﻰ ﺃﻨﻨﺎ ﻨﺭﻴﺩ ﺃﻥ ﻨﺤﺴﺏ ﻤﺎﻴﻠﻰ‬
١٠٠ + ٩٩ +.............................. + ٣ + ٢ + ١ = ‫ﺍﻝﻤﺠﻤﻭﻉ‬

Sum = 1 + 2 + 3+...........................................+ 99 + 100

. ٤-٢ ‫ ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﺓ ﻤﻌﻁﺎﺓ ﻓﻰ ﻤﺜﺎل‬:‫ﻤﻠﺤﻭﻅــﻪ‬

: ‫ا‬

1. Initialize the Sum:


Sum = 0
2. Initialize the term number N, which is the term itself:
N=0
3. Increment the term number:
N=N+1
4. Add the new term to Sum:
Sum = Sum + N
5. IF N= 100 Then
Go to step 6
Else
Perform steps 3 through 4 until N is equal to 100
END IF
6. Print an output line showing the sum of the first 100 terms of
the series
7. Stop processing

.٢-٣ ‫ د آد  ا


ل‬٧-٣ 

٤٥
‫ﻓﻲ ﺍﻝﺨﻁﻭﺓ )‪ (٣‬ﻓﻲ ﺸﻜل ‪ ٦-٣‬ﻨﺠﺩﺩ ﺍﻹﺸﺎﺭﺓ ﺇﻝﻰ ﺃﻥ‬
‫‪N=N+1‬‬
‫ﻝﻴﺴﺕ ﻤﻌﺎﺩﻝﺔ ﺭﻴﺎﻀﻴﺔ ﻭﻝﻜﻨﻬﺎ ﺘﺴﻤﻰ ﺠﻤﻠﺔ ﺘﺨﺼﻴﺹ " ‪" Assignment Statement‬‬
‫ﻭﻫﺫﻩ ﺍﻝﺠﻤﻠﻪ ﻴﺠﺏ ﺃﻥ ﻴﺄﺨﺫ ﺍﻝﺸﻜل ﺍﻵﺘﻲ ‪:‬‬

‫‪VariableName = expression‬‬

‫ﻗﻴﻤﺔ = ﺍﺴﻡ ﻤﺘﻐﻴﺭ‬


‫ﻭﻴﻘﻭﻡ ﻫﺫﺍ ﺍﻷﻤﺭ )ﻋﻨﺩ ﺘﻨﻔﻴﺫﻩ( ﺒﺤﺴﺎﺏ ﻗﻴﻤﺔ ﺍﻝﺘﻌﺒﻴﺭ ”‪ “expression‬ﺜﻡ ﺘﺨﺯﻴﻥ ﻫﺫﻩ‬
‫ﺍﻝﻘﻴﻤﺔ ﺍﻝﻤﻭﺠﻭﺩﻩ ﻋﻠﻰ ﻴﻤﻴﻥ ﻋﻼﻤﺔ ﺍﻝﺘﺴﺎﻭﻯ ﻓﻰ ﺍﻝﻤﺘﻐﻴﺭ ﺍﻝﻤﻭﺠﻭﺩ ﻴﺴﺎﺭ ﻋﻼﻤﺔ ﺍﻝﺘﺴﺎﻭﻯ‬
‫ﻓﻌﻠﻰ ﺴﺒﻴل ﺍﻝﻤﺜﺎل‬
‫‪N=5‬‬
‫‪N=N+1‬‬

‫ﻓﻲ ﻫﺫﻩ ﺍﻝﺤﺎﻝﺔ ﻴﺘﻡ ﺘﺨﺯﻴﻥ ﺍﻝﻘﻴﻤﺔ ‪ 5‬ﻓﻲ ﺍﻝﻤﺘﻐﻴﺭ ‪ N‬ﻓﻲ ﺍﻝﺨﻁﻭﺓ ﺍﻷﻭﻝﻰ‪ .‬ﻭ ﻓﻰ ﺍﻝﺨﻁﻭﻩ ﺍﻝﺜﺎﻨﻴﻪ‬
‫ﻴﺘﻡ ﺤﺴﺎﺏ ‪ N +1‬ﻭﺘﺨﺯﻴﻥ ﺍﻝﻨﺘﻴﺠﺔ )‪ ( 6‬ﻓﻲ ﺍﻝﻤﺘﻐﻴﺭ ‪ . N‬ﻫﺫﺍ ﻴﻌﻨﻰ ﺃﻨﻨﺎ ﻗﺩ ﻗﻤﻨﺎ ﺒﺯﻴﺎﺩﺓ ‪ ١‬ﺍﻝﻰ‬
‫ﻤﺤﺘﻭﻴﺎﺕ ﺍﻝﻤﺘﻐﻴﺭ ‪. N‬‬
‫ﻭﻋﻠﻰ ﻨﻔﺱ ﺍﻝﻤﻨﻭﺍل ﻓﺈﻥ ‪:‬‬
‫‪Sum = Sum + N‬‬

‫ﺘﻌﻨﻰ ﺃﻀﻑ ﻗﻴﻤﺔ ‪ N‬ﺇﻝﻰ ﺍﻝﻘﻴﻤﺔ ﺍﻝﺤﺎﻝﻴﺔ ﻝـ ‪ Sum‬ﻭﺨﺯﻥ ﺍﻝﻨﺘﻴﺠﺔ ﻓﻲ ‪. Sum‬‬

‫ﻤﺜﺎل ‪٣-٣‬‬
‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﺤﺴﺎﺏ ﺤﺎﺼل ﺠﻤﻊ ﺃﻭل ‪ ٢٥‬ﺭﻗﻡ ﻓﺭﺩﻯ ﻤﻥ ﺍﻷﺭﻗﺎﻡ ﺍﻝﻁﺒﻴﻌﻴﺔ ‪.‬‬
‫ﻫﻨﺎ ﻴﻌﻨﻰ ﺃﻨﻨﺎ ﻨﺭﻴﺩ ﺃﻥ ﻨﺤﺴﺏ ﻤﺎ ﻴﻠﻰ‪:‬‬
‫ﺍﻝﻤﺠﻤﻭﻉ = ‪-----------+٥+٣+١‬ﻫﻨﺎ ﻨﻘﻭﻡ ﺒﺠﻤﻊ ﺃﻭل ‪ ٢٥‬ﺭﻗﻡ ﻓﺭﺩﻯ ﻁﺒﻴﻌﻲ‪.‬‬

‫‪Sum = 1 + 3+ 5 + ……… here we add 25 odd natural numbers.‬‬

‫ﻤﻠﺤﻭﻅــﻪ‪ :‬ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﺓ ﻤﻌﻁﺎﺓ ﻓﻰ ﻤﺜﺎل ‪. ٥-٢‬‬

‫‪٤٦‬‬
: /01‫ا‬

1. Initialize the Sum:


Sum = 0
2. Initialize the number of terms N, and the first term T:
N=0
T=1
3. Add the new term to Sum:
Sum = Sum + T
4. Increment the number of terms by 1, and the term value
by 2:
N=N+1

T=T+2

5. IF N = 25 Then
Go to step 6
Else
Perform steps 3 through 4 until T is less than 0.01
END IF
6. Print an output line showing the sum of the first
25 odd terms of the series
7. Stop processing

.٣-٣ ‫ د آد  ا


ل‬٨-٣ 

٤-٣ ‫ﻤﺜﺎل‬
٠.٠١ ‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﺤﺴﺎﺏ ﻤﺠﻤﻭﻉ ﺍﻝﺤﺩﻭﺩ ﺍﻷﻜﺒﺭ ﻤﻥ ﺃﻭ ﺘﺴﺎﻭﻯ‬
‫ﻓﻰ ﺍﻝﻤﺘﺴﻠﺴﻠﺔ‬
   
  1      …………………………

. ٦-٢ ‫ ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﺓ ﻤﻌﻁﺎﺓ ﻓﻰ ﻤﺜﺎل‬:‫ﻤﻠﺤﻭﻅــﻪ‬

٤٧
: ‫ا‬

1. Initialize the Sum:


Sum = 0
2. Initialize the number of terms N, then find the corresponding
term T:
N=1
T = 1/N
3. Add the new term to Sum:
Sum = Sum + T
4. Increment the number of terms N, then find the
corresponding term T:
N=N+1
T = 1/N
5. IF T<0.01 Then
Go to step 6
Figure 3.8 Pseudocode corresponding to problem 3.3.
Else
Perform steps 3 through 4 until T is less than 0.01
END IF
6. Print an output line showing the sum of all terms until we
reach a term which value is less than 0.01
7. Stop processing

.٤-٣ ‫ د آد  ا ل‬٩-٣ 

٥-٣ ‫ﻤﺜﺎل‬
. A,B,C ‫ ﺃﺭﻗﺎﻡ ﻫﻰ‬٣ ‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻹﻴﺠﺎﺩ ﺍﻝﺭﻗﻡ ﺍﻷﻜﺒﺭ ﻤﻥ ﺒﻴﻥ‬

. ٧-٢ ‫ ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﺓ ﻤﻌﻁﺎﺓ ﻓﻰ ﻤﺜﺎل‬:‫ﻤﻠﺤﻭﻅﺔ‬

٤٨
: ‫ا‬

1. Input (Read) the values of three numbers A, B, and Initialize


the Sum:
2. IF the value of A > that of B Then
Go to step 3
ELSE
Go to step 4
END IF

3. IF the value of A > that of C Then


Print “The maximum value is that of A”
Stop processing
ELSE
Print “The maximum value is that of C”
Stop processing
END IF

4. IF the value of B > that of C Then


Print “The maximum value is that of B”
Stop processing
ELSE
Print “The maximum value is that of C”
Stop processing
END IF

.٥-٣ ‫ د آد  ا


ل‬١٠-٣ 

٤٩
‫ﻤﺜﺎل ‪٦-٣‬‬
‫ﺘﺭﻏﺏ ﺍﻝﺸﺭﻜﺔ ﺍﻷﻫﻠﻴﺔ ﻓﻰ ﻋﻤل ﻨﻅﺎﻡ ﺃﺠﻭﺭ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻝﻜﻤﺒﻴﻭﺘﺭ ﺘﺸﻤل ﺒﻴﺎﻨﺎﺕ ﺍﻝﻤﻭﻅﻑ‬
‫ﻋﻥ ﻓﺘﺭﺓ ﺍﻻﺴﺘﺤﻘﺎﻕ ‪ ،‬ﺍﻝﺭﻗﻡ ﺍﻝﻘﻭﻤﻰ ‪،‬ﺍﻷﺠﺭ ﻓﻰ ﺍﻝﺴﺎﻋﺔ ‪ ،‬ﻋﺩﺩ ﺴﺎﻋﺎﺕ ﺍﻝﻌﻤل ‪.‬‬

‫ﻭﻁﺒﻘﹰﺎ ﻝﺭﻏﺒﺔ ﻗﺴﻡ ﺍﻻﺴﺘﺤﻘﺎﻗﺎﺕ ﻓﺈﻥ ﺍﻝﺘﻘﺭﻴﺭ ﺍﻝﺨﺎﺭﺝ ﻤﻥ ﺍﻝﻜﻤﺒﻴﻭﺘﺭ ﻴﺠﺏ ﺃﻥ ﻴﺸﻤل ﻋﻠﻰ‬
‫ﺒﻴﺎﻨﺎﺕ ﺍﻝﻤﻭﻅﻑ ‪ ،‬ﺒﺎﻹﻀﺎﻓﻪ ﺇﻝﻰ ﺍﺴﺘﺤﻘﺎﻗﺎﺕ ﺍﻝﻤﻭﻅﻑ ﻋﻥ ﺍﻝﻌﻤل ﺍﻹﻀﺎﻓﻰ ﺇﺠﻤـﺎﻝﻰ ﺍﻝﻤﺴـﺘﺤﻕ‬
‫ﻭﻜﺫﻝﻙ ﺼﺎﻓﻰ ﺍﻝﻤﺴﺘﺤﻕ ﺒﻌﺩ ﺨﺼﻡ ﺍﻝﻀﺭﺍﺌﺏ ‪ .‬ﻋﻠﻤ ﹰﺎ ﺒﺄﻥ ﺍﻝﻀﺭﺍﺌﺏ ﺘﺨﺼﻡ ﺒﻤﻌـﺩل ‪%٢٠‬ﻤـﻥ‬
‫ﺇﺠﻤﺎﻝﻰ ﺍﻝﻤﺴﺘﺤﻕ ﻭﺃﻥ ﺍﻝﻌﺎﻤل ﻴﺴﺘﺤﻕ ‪ ١.٥‬ﻤﻥ ﺃﺠﺭ ﺍﻝﺴﺎﻋﺔ ﻋﻥ ﻜل ﺴﺎﻋﺔ ﻋﻤل ﻓـﻭﻕ ﺍﻝـــ‬
‫‪ ١٥٠‬ﺴﺎﻋﺔ ﺍﻻﻭﻝﻰ‪.‬ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﺤل ﻫﺫﺍ ﺍﻝﻤﺜﺎل‪.‬‬
‫‪.‬‬ ‫ﻤﻠﺤﻭﻅــﻪ‪ :‬ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﻩ ﻤﻌﻁﺎﻩ ﻓﻰ ﻤﺜﺎل ‪٨-٢‬‬

‫ا ‪:‬‬

‫‪1. Input the employee’s payroll data:‬‬


‫)‪• Social Security Number (SSN‬‬
‫)‪• Pay Rate (PR‬‬
‫)‪• Hours Worked (HW‬‬

‫‪2. IF Hours Worked is greater than 150 Then‬‬


‫)‪Overtime Pay = ((Hours Worked) – 150) * 1.5 * (Pay Rate‬‬
‫)‪Gross Pay = 150 * (Pay Rate) + (Overtime Pay‬‬
‫‪ELSE‬‬
‫)‪Gross Pay = (Pay Rate) * (Hours Worked‬‬
‫‪END IF‬‬

‫‪٥٠‬‬
3. Tax = 0.20 * (Gross
Gross Pay)
Pay

4. Net Pay = (Gross Pay ) – TAX

5. Write report for the employee including the following items:

1. Social Security Number


2. Pay Rate
3. Hours Worked
4. Gross Pay
5. Tax
6. Net Pay
6. IF the employee is the last one Then
Stop processing
ELSE
Perform steps 1 though 5 until the last employee is processed
END IF

.٦-٣ ‫ د آد  ا ل‬١١-٣ 

٥١
‫•  ا ا ا  ار‪:‬‬

‫ﻤﺜﺎل ‪٧-٣‬‬

‫ﻁﻠﺏ ﻤﺩﻴﺭ ﺇﺤﺩﻯ ﺍﻝﺸﺭﻜﺎﺕ ﻤﻥ ﻗﺴﻡ ﺸﺌﻭﻥ ﺍﻷﻓﺭﺍﺩ ﺘﻘﺭﻴﺭﹰﺍ ﻴﺸﺘﻤل ﻋﻠﻰ ﺍﻝﻤﻌﻠﻭﻤﺎﺕ ﺍﻝﺘﺎﻝﻴﺔ‪:‬‬

‫ﺃ ‪ -‬ﺍﻝﻌﺩﺩ ﺍﻹﺠﻤﺎﻝﻰ ﻝﻜل ﻤﻥ ﺍﻝﺫﻜﻭﺭ ﻭﺍﻹﻨﺎﺙ ‪.‬‬


‫ﺏ ‪ -‬ﻋﺩﺩ ﺍﻝﻤﻭﻅﻔﻴﻥ ﻓﻰ ﻜل ﻓﺌﺔ ﻤﻥ ﺍﻝﻔﺌﺎﺕ ﺍﻝﻌﻤﺭﻴﺔ ﺍﻵﺘﻴﺔ ‪:‬‬
‫‪ -١‬ﺃﻗل ﻤﻥ ‪. ٢٠‬‬
‫‪ -٢‬ﻤﻥ ‪ ٢٠‬ﺇﻝﻰ ‪. ٢٩‬‬
‫‪ -٣‬ﻤﻥ ‪ ٣٠‬ﺇﻝﻰ ‪. ٣٩‬‬
‫‪ -٤‬ﻤﻥ ‪ ٤٠‬ﺇﻝﻰ ‪. ٤٩‬‬
‫‪ -٥‬ﻤﻥ ‪ ٥٠‬ﺇﻝﻰ ‪. ٦٠‬‬
‫‪ -٦‬ﺃﻜﺒﺭ ﻤﻥ ‪. ٦٠‬‬
‫ﺠـ ‪ -‬ﻋﺩﺩ ﺍﻝﻤﻭﻅﻔﻴﻥ ﺍﻝﻤﻭﺠﻭﺩﻴﻥ ﺒﺎﻝﺸﺭﻜﺔ ﻤﻨﺫ ‪ ١٠‬ﺴﻨﻭﺍﺕ ﺃﻭ ﺃﻜﺜﺭ ‪.‬‬
‫ﺩ ‪ -‬ﻋﺩﺩ ﺍﻝﻤﻬﻨﺩﺴﻴﻥ ﺒﺎﻝﺸﺭﻜﺔ ‪.‬‬
‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﻬﺫﻩ ﺍﻝﻤﺴﺄﻝﺔ ‪.‬‬

‫ﻤﻠﺤﻭﻅــﻪ‪ :‬ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﻩ ﻤﻌﻁﺎﻩ ﻓﻰ ﻤﺜﺎل ‪. ٩-٢‬‬

‫ا ‪:‬‬
‫‪1. Set all counters to zero:‬‬

‫‪Male count = Female count = over_60 = 50_60 = 40_49 = 0‬‬


‫‪30_39 = 20_29 = under_20 = 10_YR = ENG = 0‬‬

‫‪2. Input today’s date and store it in variable Today‬‬

‫‪٥٢‬‬
3. Input all data for a single employee:

• Birthday date
• Sex code
• Occupation code
• Date of employment

4. IF sex code is ‘Male’ Then


Male count = Male count + 1
ELSE
Female count = Female count + 1
END IF
5. Calculate the employee’s age:
Age = (Today’s date) – (Birthday date)
6. IF employee’s age greater than 60 Then
Over_60 = Over_60 + 1
Go to 12
END IF
7. IF employee’s age greater than 50 Then
50_60 = 50_60 + 1
Go to 12
END IF
8. IF employee’s age greater than 40 Then
40_49 = 40_49 + 1
Go to 12
END IF
9. IF employee’s age greater than 30 Then
30_39 = 30_39 + 1
Go to 12
END IF
10. IF employee’s age greater than 20 Then
20_29 = 20_29 + 1
Go to 12
٥٣
13. Find the period of employment and store it in variable X:
X = Today – (Date of employment)
14. IF period of employment X is greater than or equal to 10 Then
10_Yr = 10_Yr + 1
END IF
15. IF occupation code = ‘ENG’ Then
ENG = ENG + 1
END IF
16. IF this is the last employee Then
Print a report showing all the needed statistics.
ELSE
Perform steps 3 through 14 until all employees are
processed.
END IF
17. Stop processing.

.٧-٣ ‫ د آ د  ا ل‬١٢-٣ 

‫( ﻫﻲ ﻤﺘﻐﻴﺭﺍﺕ ﻝﺘﺨﺯﻴﻥ‬Male_count, Female_count, 10_YR, and ENG ) ‫ﻻﺤﻅ ﺃﻥ‬


‫ﻋﺩﺩ ﺍﻝﺫﻜﻭﺭ ﻭﺍﻹﻨﺎﺙ ﻭﺍﻝﻤﻭﻅﻔﻴﻥ ﺍﻝﺫﻴﻥ ﻴﻌﻤﻠﻭﻥ ﺒﺎﻝﺸﺭﻜﺔ ﻤﻨﺫ ﻋﺸﺭ ﺴﻨﻭﺍﺕ ﺃﻭ ﺃﻜﺜﺭ ﻭ ﺍﻝﻤﻬﻨﺩﺴﻴﻥ‬
.‫ﺍﻝﺫﻴﻥ ﻴﻌﻤﻠﻭﻥ ﺒﺎﻝﺸﺭﻜﺔ‬

٥٤
‫ﻤﺜﺎل ‪٨-٣‬‬
‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﺤل ﻤﻌﺎﺩﻝﺔ ﺍﻝﺩﺭﺠﺔ ﺍﻝﺜﺎﻨﻴﺔ ﺍﻵﺘﻴﺔ‪:‬‬
‫‪       0‬‬
‫ﻋﻠﻤﹰﺎ ﺒﺄﻥ ﻗﻴﻤﺔ ﺠﺫﺭﻱ ﺍﻝﻤﻌﺎﺩﻝﺔ ‪ X1,X2‬ﻴﺘﻡ ﺤﺴﺎﺒﻬﺎ ﻜﺎﻷﺘﻲ ‪:‬‬
‫‪  √  4‬‬
‫‪
,‬‬ ‫‬ ‫‪… … … … … … … … … … … … . 3.1‬‬
‫‪2‬‬

‫ﺤﻴﺙ ‪ a-b-c‬ﺃﺭﻗﺎﻡ ﺤﻘﻴﻘﻴﺔ ﻤﻊ ﺍﻷﺨﺫ ﻓﻲ ﺍﻻﻋﺘﺒﺎﺭ ﺍﻝﺤﺎﻻﺕ ﺍﻵﺘﻴﺔ ‪:‬‬


‫‪ -١‬ﺇﺫﺍ ﻜﺎﻥ )‪ (b2-4ac‬ﺴﺎﻝﺒﺎ ﻓﺈﻥ ﺠﺫﻭﺭ ﺍﻝﻤﻌﺎﺩﻝﺔ ﻤﺭﻜﺒﺔ ) ﺘﺨﻴﻠﻴﺔ ( ‪.‬‬
‫‪ -٢‬ﺇﺫﺍ ﻜﺎﻥ )‪ (b2-4ac‬ﺘﺴﺎﻭﻱ ﺼﻔﺭﹰﺍ ﻓﺈﻥ ﺍﻝﺠﺫﺭﻴﻥ ﻤﺘﺴﺎﻭﻴﻴﻥ ﻭﻗﻴﻤﺘﻬﻤﺎ‬
‫ﻫﻲ )‪. (-b/2a‬‬
‫‪ -٣‬ﺇﺫﺍ ﻜﺎﻥ )‪ (b2-4ac‬ﺃﻜﺒﺭ ﻤﻥ ﺍﻝﺼﻔﺭ ﻓﺈﻥ ﻗﻴﻤﺔ ﺍﻝﺠﺫﺭﻴﻥ ﺘﺘﺤﺩﺩ ﺒﺎﻝﻤﻌﺎﺩﻝﺔ )‪.(3.1‬‬

‫ا‬

‫‪1. Input the values of a, b, and c.‬‬

‫‪2. Calculate y where y is given by:‬‬


‫   ‬
‫‪3. IF y ≥ 0 Then‬‬
‫‪IF y > 0 Then‬‬
‫ √   ‬
‫ ‬
‫‬
‫ √  ‬
‫ ‬
‫‬

‫‪٥٥‬‬
ELSE

   


END IF

ELSE
Print “The roots are complex.”
Stop processing

END IF

4. Print the values of  


 .

5. Stop processing. .

.٨-٣ ‫
دو آ د  ا ل‬١٣-٣ 

٥٦
‫‪ ٧-٣‬ﺃﺴﺌﻠﺔ ‪:‬‬

‫ﺍﻝﺴﺅﺍل ﺍﻷﻭل‪:‬‬
‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﺭﺴﻭﻤﺔ ﺒﺸﻜل ‪: ١٤-٣‬‬

‫ ‪
 ١٤-٣‬ال اول ‪.‬‬

‫ﺍﻝﺴﺅﺍل ﺍﻝﺜﺎﻨﻰ‪:‬‬
‫ﺇﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﻘﺭﺍﺀﺓ ﻋﻤﺭﻯ ﻫﺎﻨﻰ ﻭ ﻫﺸﺎﻡ ‪ ،‬ﺜﻡ ﻜﺘﺎﺒﺔ ﺍﺴﻡ ﺃﻜﺒﺭﻫﻤﺎ‪.‬‬
‫)ﻤﻼﺤﻅﻪ‪ :‬ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﺓ ﻫﻰ ﺤل ﺍﻝﻤﺴﺄﻝﺔ ‪ ٢ -٢‬ﻓﻰ ﺍﻝﻔﺼل ﺍﻝﺴﺎﺒﻕ(‪.‬‬

‫‪٥٧‬‬
‫ﺍﻝﺴﺅﺍل ﺍﻝﺜﺎﻝﺙ‪:‬‬
‫‪،‬ﺜﻡ ﺘﺤﻭﻴﻠﻬﺎ ﺇﻝﻰ ﺩﺭﺠﻪ ﻤﺌﻭﻴﻪ‬ ‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﻘﺭﺍﺀﺓ ﺩﺭﺠﺔ ﺍﻝﺤﺭﺍﺭﻩ ﺒﺎﻝﻔﻬﺭﻨﻬﺎﻴﺕ ”‪“°F‬‬
‫”‪ “°C‬ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻝﺼﻴﻐﺔ ﺍﻝﺭﻴﺎﻀﻴﺔ‪:‬‬

‫)ﻤﻼﺤﻅﺔ‪ :‬ﺨﺭﻴﻁﺔ ﺍﻝﺘﺩﻓﻕ ﺍﻝﻤﻨﺎﻅﺭﺓ ﻫﻰ ﺤل ﺍﻝﻤﺴﺄﻝﺔ ‪ ٣-٢‬ﻓﻰ ﺍﻝﻔﺼل ﺍﻝﺴﺎﺒﻕ (‪.‬‬

‫ﺍﻝﺴﺅﺍل ﺍﻝﺭﺍﺒﻊ‪:‬‬
‫”‪ “V‬ﻭﻤﺴﺎﺤﺔ ﺴﻁﺤﻬﺎ‬ ‫ﺜﻡ ﺤﺴﺎﺏ ﺤﺠﻤﻬﺎ‬ ‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﻘﺭﺍﺀﺓ ﻨﺼﻑ ﻗﻁﺭ ﻜﺭﺓ ”‪“r‬‬
‫”‪ “A‬ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻝﺼﻴﻎ ﺍﻝﺭﻴﺎﻀﻴﺔ‪:‬‬
‫‬
‫‬ ‫ ‬
‫‬

‫     ‬

‫ﺤﻴﺙ ﺇﻥ‬

‫ ‬
‫ ﻁ 

‫ ‬

‫ﻭ ﻓﻰ ﺤﺎﻝﺔ ﻤﺎ ﺇﺫﺍ ﻜﺎﻨﺕ ﻗﻴﻤﺔ ﻨﺼﻑ ﺍﻝﻘﻁﺭ ﺴﺎﻝﺒﺔ ‪ ،‬ﻴﺠﺏ ﺃﻥ ﻴﻘﻭﻡ ﺍﻝﺒﺭﻨﺎﻤﺞ ﺒﻁﺒﺎﻋﺔ ﺭﺴﺎﻝﺔ‬
‫ﺘﺤﺫﻴﺭﻴﺔ ﺘﻨﺹ ﻋﻠﻰ ﺃﻥ ﻗﻴﻤﺔ ﻨﺼﻑ ﺍﻝﻘﻁﺭ ﻴﺠﺏ ﺃﻥ ﺘﻜﻭﻥ ﻤﻭﺠﺒﺔ ‪ ،‬ﺜﻡ ﺇﻨﻬﺎﺀ ﺍﻝﺒﺭﻨﺎﻤﺞ‪.‬‬

‫ﺍﻝﺴﺅﺍل ﺍﻝﺨﺎﻤﺱ‪:‬‬
‫ﺍﻜﺘﺏ ﺴﻭﺩﻭ ﻜﻭﺩ ﻝﻘﺭﺍﺀﺓ ﺍﻝﺭﻗﻡ ”‪ ، “x‬ﺜﻡ ﺤﺴﺎﺏ ﻗﻴﻤﺔ ﺍﻝﺩﺍﻝﻪ ”‪ “y‬ﺍﻝﻤﻌﻁﺎﺓ ﺒﺎﻝﺼﻴﻐﺔ ﺍﻝﺭﻴﺎﻀﻴﺔ‪:‬‬
‫   ‬
‫  ‬ ‫‬ ‫‪  … … … … … ..‬‬
‫‬ ‫‬ ‫ ‬

‫ﻭ ﺫﻝﻙ ﺒﺠﻤﻊ ﺃﻭل ﻤﺎﺌﺔ ﺤﺩ‪.‬‬

‫‪٥٨‬‬

You might also like