SlideShare a Scribd company logo
1
PDF created with pdfFactory trial version www.pdffactory.com
2
‫ﺍﻟﻤﺆﻟﻒ‬ ‫ﻛﻠﻤﻪ‬:
‫ﺍﻟﻬﺎﺌﻠﻪ‬ ‫ﻭﺍﻻﻋﺩﺍﺩ‬ ، ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺸﺩﻴﺩ‬ ‫ﺍﻟﺘﻁﻭﺭ‬ ‫ﺒﻌﺩ‬‫ﺍﻟﻁﻠﺒﻪ‬ ‫ﻤﻥ‬‫ﺘﺘﻌﻠﻡ‬ ‫ﺍﻥ‬ ‫ﺘﺤﺎﻭل‬ ‫ﺍﻟﺘﻰ‬
‫ﻟﻬﻡ‬ ‫ﺍﻻﺴﻠﻡ‬ ‫ﺍﻟﺩﺭﺏ‬ ‫ﻓﻲ‬ ‫ﻴﺴﻴﺭﻭﺍ‬ ‫ﻟﻜﻲ‬ ‫ﻴﺴﻴﺭﺍ‬ ‫ﻭﻟﻭﺸﻴﺌﺎ‬،‫ﺘﻜﻥ‬ ‫ﻟﻡ‬ ‫ﺍﻥ‬ ‫ﺤﺘﻰ‬ ‫ﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﻪ‬ ‫ﻤﻥ‬ ‫ﻻﺒﺩ‬ ‫ﻜﺎﻥ‬
‫ﺍﻟﺠﺩﻴﺩ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﺒﻬﺎ‬ ‫ﻴﺒﺩﺃ‬ ‫ﻟﻜﻲ‬ ‫ﺍﻟﺠﺩﻴﺩﻩ‬ ‫ﺍﻟﺘﻘﻨﻴﺎﺕ‬ ‫ﺒﻤﺴﺘﻭﻯ‬‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻋﺎﻟﻡ‬ ‫ﻓﻲ‬.
‫ﻫﻨ‬ ‫ﻭﻤﻥ‬‫ﻋﻥ‬ ‫ﻴﺘﺤﺩﺙ‬ ‫ﻜﺘﺎﺏ‬ ‫ﺍﻨﺸﺎﺀ‬ ‫ﻓﻜﺭﻩ‬ ‫ﺒﺯﻏﺕ‬ ‫ﺎ‬‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﻠﻐﻪ‬ ‫ﺍﻟﺒﺭﻤﺞ‬،‫ﺍﻥ‬ ‫ﻴﻨﺩﺭ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻭﻗﺕ‬ ‫ﻓﻲ‬
‫ﻋﻥ‬ ‫ﻴﺘﺤﺩﺙ‬ ‫ﻜﺘﺎﺒﺎ‬ ‫ﻨﺠﺩ‬‫ﺍﻟﻠﻐﻪ‬ ‫ﻫﺫﻩ‬‫ﺠﻴﺩ‬ ‫ﺒﺸﻜل‬.
‫ﺍﻟﺤﻘﻴﻘﻪ‬ ‫ﻓﻲ‬‫ﻟﻐﺔ‬ ‫ﻋﻥ‬ ‫ﺘﺘﺤﺩﺙ‬ ‫ﺍﻟﻜﺘﺏ‬ ‫ﻤﻥ‬ ‫ﻜﺜﻴﺭ‬، ‫ﺒﺎﺴﻜﺎل‬‫ﺘﺼﺒﺢ‬ ‫ﻜﻴﻑ‬ ‫ﻴﻌﻠﻤﻙ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻗﻠﻴل‬ ‫ﻟﻜﻥ‬ ‫ﻭ‬
‫ﻤﺒﺭﻤﺠﺎ‬،‫ﺒﺄﻜﻭﺍ‬ ‫ﻤﻠﻲﺀ‬ ‫ﺍﻟﻜﺘﺏ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻥ‬ ‫ﻜﺜﻴﺭ‬‫ﺠﺩﺍ‬ ‫ﺴﻴﺌﺔ‬ ‫ﺩ‬،‫ﺴﻲﺀ‬ ‫ﺘﺼﻤﻴﻤﻬﺎ‬ ‫ﺍﻥ‬ ‫ﻨﺎﺤﻴﺔ‬ ‫ﻤﻥ‬ ‫ﺴﻴﺌﺔ‬،‫ﻭ‬
‫ﺘﻌﻤل‬ ‫ﻻ‬ ‫ﺍﻨﻬﺎ‬ ‫ﻨﺎﺤﻴﺔ‬ ‫ﻤﻥ‬ ‫ﻟﻴﺱ‬.
، ‫ﺍﻟﻜﺘﺏ‬ ‫ﺍﻜﺜﺭ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻟﻤﻜﺭﺭﻩ‬ ‫ﻭﺍﻟﺘﻤﺎﺭﻴﻥ‬ ‫ﺍﻻﻤﺜﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﺘﺘﻭﻗﻊ‬ ‫ﻻ‬ ‫ﻟﺫﻟﻙ‬‫ﺍﺸﺭﺡ‬ ‫ﺍﻥ‬ ‫ﺍﺤﺏ‬ ‫ﻓﺄﻨﺎ‬
‫ﻋﺎﻡ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻤﻨﻬﺎ‬ ‫ﺘﺘﻜﻭﻥ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﻻﻴﻌﺎﺯﺍﺕ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻓﻬﻡ‬ ‫ﺍﻱ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻤﻔﻬﻭﻡ‬،‫ﺸﺭﺡ‬ ‫ﺜﻡ‬
‫ﺨﺎﺹ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬، ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﻤﻥ‬ ‫ﺨﺎﻟﻴﻪ‬ ‫ﺴﻠﻴﻤﻪ‬ ‫ﺠﻤل‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺤﻴﺙ‬ ‫ﻤﻥ‬‫ﺍﻟﺒﺩﻴﻠﻪ‬ ‫ﺍﻟﺨﻁﻭﺍﺕ‬ ‫ﻭﻤﺎ‬
‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻭﺍﻻﺤﺘﻤﺎﻻﺕ‬،‫ﺫﻟﻙ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻤﺎ‬ ‫ﺘﻔﺎﺩﻴﻬﺎ‬ ‫ﻭﻜﻴﻔﻴﻪ‬ ‫ﺍﻟﻨﺎﺘﺠﻪ‬ ‫ﻭﺍﻻﺨﻁﺎﺀ‬.
‫ﻟ‬‫ﺍﻟﻨﻅﺭﻱ‬ ‫ﺍﻟﺸﺭﺡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﺴﺘﺠﺩ‬ ‫ﺫﻟﻙ‬‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﻘﺒل‬ ‫ﻓﻲ‬ ‫ﻜﺒﻴﺭ‬ ‫ﺒﺸﻜل‬ ‫ﻴﻔﻴﺩﻙ‬ ‫ﺴﻭﻑ‬ ‫ﺼﺩﻗﻨﻲ‬ ‫ﻟﻜﻥ‬ ،
‫ﻭﺴﻠﻴ‬ ‫ﺼﺤﻴﺤﻪ‬ ‫ﺒﺼﻭﺭﻩ‬ ‫ﺒﺭﺍﻤﺞ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺤﺎل‬‫ﻤﻪ‬‫ﺍﻴﻀ‬ ،‫ﺎ‬‫ﻓﺴﻭﻑ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﺘﻐﻴﻴﺭ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬
‫ﻜﺜﻴﺭﺍ‬ ‫ﻴﻔﻴﺩﻙ‬.
‫ﻟﻠﺠﻤﻴﻊ‬ ‫ﻤﻭﻓﻘﻪ‬ ‫ﻭﺒﺭﻤﺠﻪ‬ ، ‫ﺍﻻﻭﻗﺎﺕ‬ ‫ﺍﺴﻌﺩ‬ ‫ﻟﻜﻡ‬ ‫ﺍﺘﻤﻨﻰ‬ ‫ﻋﻤﻭﻤﺎ‬،‫ﺍﷲ‬ ‫ﺒﺈﺫﻥ‬!!
‫ﺍﳌﺆﻟــــﻒ‬!!
‫ﺍﻟﺮﺣﻴﻢ‬ ‫ﻋﺒﺪ‬ ‫ﻋﺼﺎﻡ‬ ‫ﻭﺟﺪﻱ‬
PDF created with pdfFactory trial version www.pdffactory.com
3
‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺬﺍ‬ ‫ﻗﺮﺍﺀﻩ‬ ‫ﻗﺒﻞ‬
‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻫﺫﺍ‬،‫ﺩﻋﺕ‬ ‫ﻤﺘﻰ‬ ‫ﺘﻁﻭﻴﺭﻫﺎ‬ ‫،ﻭﺴﻴﺘﻡ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻨﺴﺨﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻴﻀﺎ‬
‫ﺍﻟ‬، ‫ﺫﻟﻙ‬ ‫ﺍﻟﻰ‬ ‫ﺤﺎﺠﻪ‬‫ﻟﻠﺤﺼﻭل‬‫ﻋﻠﻰ‬‫ﺁﺨﺭ‬‫ﻨﺴﺨﺔ‬‫ﻤﻥ‬‫ﻫﺫﺍ‬‫ﺍﻟﻜﺘﺎﺏ‬‫ﻗﻡ‬‫ﺒﻤﺭﺍﺴﻠﺘﻲ‬:
com.hotmail@766_romansy.
‫ﻴﻤﻜﻨﻙ‬‫ﻁﺒﺎﻋﺔ‬‫ﻫﺫ‬‫ﺍ‬‫ﺍﻟﻜﺘﺎﺏ‬‫ﻟﻼﺴﺘﺨﺩﺍﻡ‬‫ﺍﻟﺸﺨﺼﻲ‬،‫ﻓﻘﻁ‬‫ﻭ‬‫ﻴﻤﻨﻊ‬‫ﺍﺴﺘﻐﻼﻟﻪ‬‫ﻓﻲ‬‫ﺃﻴﺔ‬‫ﺃﻤﻭﺭ‬
‫ﺘﺠﺎﺭﻴﺔ‬‫ﺒﺩﻭﻥ‬‫ﺍﻹﺫﻥ‬‫ﺍﻟﺨﻁﻲ‬‫ﻤﻥ‬‫ﺍﻟﻤﺅﻟﻑ‬.
‫ﻓﻲ‬‫ﺤ‬‫ﺎﻟﺔ‬‫ﺒﺎﻥ‬‫ﻭﺠﺩﺕ‬‫ﺠﺯﺀ‬‫ﻤﻥ‬‫ﻫﺫﺍ‬‫ﺍﻟﻜﺘﺎﺏ‬‫ﻏﻴﺭ‬‫ﻭﺍﻀﺤﺔ‬‫ﺃﻭ‬‫ﺒﺤﺎﺠﺔ‬‫ﺇﻟﻰ‬‫ﺸﺭﺡ‬‫ﻤﻔﺼل‬
‫ﻓﺒﺭﺠﺎﺀ‬‫ﺇﺨﺒﺎﺭﻱ‬‫ﺒﺫﻟﻙ‬‫ﻓﻭﺭﺍ‬‫ﻋﻠﻰ‬‫ﺒﺭﻴﺩﻱ‬،‫ﺍﻹﻟﻜﺘﺭﻭﻨﻲ‬‫ﺤﺘﻰ‬‫ﺃﺘﻤﻜﻥ‬‫ﻤﻥ‬‫ﺇﻀﺎﻓﺔ‬‫ﺍﻷﺠﺯﺍﺀ‬
‫ﺍﻟﻨﺎﻗﺼﺔ‬‫ﺃﻭ‬‫ﺘﻭﻀﻴﺢ‬‫ﺍﻷﺠﺯﺍﺀ‬‫ﺍﻟﻐﻴﺭ‬‫ﻭﺍﻀﺤﺔ‬‫ﻓﻭﺭﺍ‬‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﻨﺴﺨﻪ‬ ‫ﻓﻲ‬ ‫ﻁﺒﻌﺎ‬ ،.
‫ﺍﻟﻜﺘﺎ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻜل‬‫ﺍﻟﻤﺅﻟﻑ‬ ‫ﺭﺃﻱ‬ ‫ﻋﻥ‬ ‫ﺘﻌﺒﺭ‬ ‫ﺏ‬‫ﻭﺠﺩﻱ‬‫ﻋﺼﺎﻡ‬‫ﻏﻴﺭ‬ ‫ﻭﻫﻭ‬ ،
‫ﻤﺴﺅ‬‫ﻭ‬‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻟﻬﺫﺍ‬ ‫ﺸﺭﻋﻲ‬ ‫ﻏﻴﺭ‬ ‫ﺍﺴﺘﻌﻤﺎل‬ ‫ﺃﻱ‬ ‫ﻋﻥ‬ ‫ﺘﻤﺎﻤﺎ‬ ‫ل‬.
‫ﺍﻟﻔﻨﻲ‬ ‫ﺍﻟﺩﻋﻡ‬ ‫ﻋﻠﻰ‬ ‫ﻟﻠﺤﺼﻭل‬::
·‫ﺒﺎﻟﻤﺅﻟﻑ‬ ‫ﺍﻟﺨﺎﺹ‬ ‫ﺍﻟﻤﻨﺘﺩﻯ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﺘﺴﺠﻴل‬ ‫ﻗﻡ‬:
tk.2005romansy.www
·‫ﺍﻻﺘﻴﻴﻥ‬ ‫ﺍﻟﺒﺭﻴﺩﻴﻥ‬ ‫ﺍﺤﺩ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺃﻭ‬::
com.hotmail@766_romansy
com.hotmail@wajdyessam
PDF created with pdfFactory trial version www.pdffactory.com
4
‫ﺴﻁﻭﺭ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﻟﻑ‬//
، ‫ﻋﺼﺎﻡ‬ ‫ﻭﺠﺩﻱ‬‫ﺍﺸﺭﻑ‬‫ﺍﻟﻤﻬﺘ‬ ‫ﺍﻟﺴﺎﺤﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻋﻠﻰ‬‫ﻤ‬‫ﺒﺎﻻﻤﻥ‬ ‫ﻪ‬
‫ﻭﺍﻟﺤﻤﺎ‬‫ﻭﺍﻟﺩﺭﻭﺱ‬ ‫ﺍﻟﻤﻘﺎﻻﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻟﻪ‬ ، ‫ﻴﻪ‬‫ﺍﻟﻤﻭﺍﻗﻊ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬
‫ﺍﻟﻌﻠﻤﻴﻪ‬ ‫ﻭﺍﻟﺴﺎﺤﺎﺕ‬‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺒﺭﻤﺠﻪ‬ ‫ﻤﻬﺘﻡ‬ ‫ﻫﻭ‬ ‫ﺤﺎﻟﻴﺎ‬ ،،‫ﺒﺩﺍ‬
‫ﺤﺎﻟﻴﺎ‬‫ﻓﻲ‬‫ﻭﻴﺤﻠﻡ‬ ، ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﻭﺍﻟﻤﻔﺘﻭﺤﻪ‬ ‫ﺍﻟﻤﺨﺘﻠﻔﻪ‬ ‫ﺍﻻﻨﻅﻤﻪ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬
‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻘﺩﻡ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﻤﺯﻴﺩ‬‫ﺒ‬‫ﻟﻐﺘﻲ‬ ‫ﺘﻌﻠﻡ‬Delphi‫ﻭ‬
Assembly‫ﻫﻭ‬ ‫ﺍﻴﻀﺎ‬ ،‫ﻭﻴﺤﺎﻭل‬ ‫ﻭﺘﻁﻭﻴﺭﻫﺎ‬ ‫ﺍﻟﻤﻭﺍﻗﻊ‬ ‫ﺒﺒﺭﻤﺠﻪ‬ ‫ﻤﻬﺘﻡ‬
‫ﻜـ‬ ‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﺘﻌﻠﻡ‬asp‫ﻭ‬html‫ﻭ‬xhtml‫ﻭ‬xml‫ﻭ‬css.
‫ﺍﻻﺴﻡ‬/‫ﺍﻟﺭﺤﻴﻡ‬ ‫ﻋﺒﺩ‬ ‫ﻋﺼﺎﻡ‬ ‫ﻭﺠﺩﻱ‬
‫ﺍﻟﻠﻘﺏ‬/romansy
‫ﺍﻟ‬‫ﺒﻠﺩ‬/‫ﺍﻟﺴﻭﺩﺍﻥ‬
‫ﺍﻻﻴﻤﻴل‬/com.hotmail@766_romansy
WhtEver You Learn... You learn it for your self!!
PDF created with pdfFactory trial version www.pdffactory.com
5
))‫ﻤﺎﻋﻠﻤﺘﻨﺎ‬ ‫ﺍﻻ‬ ‫ﻟﻨﺎ‬ ‫ﻋﻠﻡ‬ ‫ﻻ‬ ‫ﺴﺒﺤﺎﻨﻙ‬
‫ﺍﻟﺤﻜﻴﻡ‬ ‫ﺍﻟﻌﻠﻴﻡ‬ ‫ﺍﻨﺕ‬ ‫ﺍﻨﻙ‬((
‫ﻜﺘﺎﺏ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﺯﺌﻴﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻨﺘﻬﺎﺀ‬ ‫ﺘﻡ‬ ، ‫ﻭﺭﻋﺎﻴﺘﻪ‬ ‫ﺍﷲ‬ ‫ﺒﻔﻀل‬)‫ﺒﻠﻐﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬
‫ﺒﺎﺴﻜﺎل‬. (‫ﺍﻟﺤﻘﻴﻘﻪ‬ ‫ﻓﻲ‬ ‫ﻫﻲ‬ ‫ﻭﺍﻟﺘﻰ‬ ‫ﺍﻟﺒﺴﻴﻁﻪ‬ ‫ﺍﻟﺠﺯﺌﻴﻪ‬ ‫ﻫﺫﻩ‬‫ﺍﻫﻡ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬
‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﻟﻤﻭﺍﻀﻴﻊ‬ ‫ﺍﻟﺩﺭﻭﺱ‬‫ﻴﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺭﻴﺩ‬ ‫ﻤﺒﺭﻤﺞ‬ ‫ﻻﻱ‬ ‫ﺍﻟﺤﻘﻴﻘﻴﻪ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﺘﻌﺘﺒﺭ‬
، ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻋﺎﻟﻡ‬ ‫ﻓﻲ‬ ‫ﺒﻘﻭﻩ‬ ‫ﺭﺠﻠﻪ‬‫ﺍﺼﺒﺤﺕ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺒﺎﻟﻠﻐﺎﺕ‬ ‫ﻤﻠﺊ‬ ‫ﺍﻟﻴﻭﻡ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻓﻌﺎﻟﻡ‬
‫ﻤﻔﻬﻭﻡ‬ ‫ﺘﺸﺭﺡ‬ ‫ﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﻪ‬ ‫ﻤﻥ‬ ‫ﺒﺩ‬ ‫ﻻ‬ ‫ﻜﺎﻥ‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﺒﺎﻟﻴﻭﻤﻲ‬ ‫ﺍﺸﺒﻪ‬ ‫ﺒﺸﻜل‬ ‫ﺘﺘﻁﻭﺭ‬
‫ﻟﻜﻥ‬ ، ‫ﻜﺫﻟﻙ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺍﻥ‬ ‫ﺼﺤﻴﺢ‬ ، ‫ﻟﻠﻤﺒﺭﻤﺞ‬ ‫ﺍﻟﺤﻘﻴﻘﻲ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬
‫ﺼﻌﻭ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻔﺭﻕ‬‫ﺒﻌﺽ‬ ‫ﻋﻥ‬ ‫ﺒﻌﻀﻬﺎ‬ ‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﺒﻪ‬.‫ﻟﻐﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻻﺨﺘﻴﺎﺭ‬ ‫ﺘﻡ‬ ‫ﻟﺫﻟﻙ‬
‫ﺍﻟﻠﻐﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﺨﻼل‬ ‫ﺘﻼﺤﻅﻭﻨﻬﺎ‬ ‫ﻭﺴﻭﻑ‬ ‫ﺴﻬﻭﻟﻪ‬ ‫ﻤﻥ‬ ‫ﺒﻪ‬ ‫ﺘﺘﻤﺘﻊ‬ ‫ﻟﻤﺎ‬ ‫ﻨﻅﺭﺍ‬ ‫ﺒﺎﺴﻜﺎل‬
،‫ﺤﻴﻨﻬﺎ‬ ‫ﻓﻲ‬ ‫ﺴﺘﺘﻌﻠﻤﻬﺎ‬ ‫ﺍﻨﻙ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻻ‬ ‫ﻫﺫﺍ‬،‫ﺍﻴ‬ ‫ﻋﻤﻭﻤﺎ‬ ‫ﻓﺎﻟﻤﺒﺘﺩﺉ‬‫ﺎ‬‫ﻟﻐﻪ‬ ‫ﻜﺎﻨﺕ‬
‫ﺒﺎﻟﺘﻘﻠ‬ ‫ﺘﺒﺩﺃ‬ ‫ﻭﺴﻭﻑ‬ ، ‫ﻭﺍﻟﻤﺸﺎﻜل‬ ‫ﺍﻟﺼﻌﻭﺒﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻴﻭﺍﺠﻪ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬‫ﺹ‬
‫ﻭﺍﻟﻤﻭﺍﻀﻴﻊ‬ ‫ﺍﻟﺩﺭﻭﺱ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﻭﻗﺭﺍﺀﻩ‬ ‫ﺍﻟﺒﺭﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻤﻊ‬ ‫ﺘﺩﺭﻴﺠﻴﺎ‬.
‫ﻨﻅﺭﺍ‬ ، ‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﺸﻬﻭﺭ‬ ‫ﺨﻼل‬ ‫ﻓﻲ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ، ‫ﺍﻻﺨﺭ‬ ‫ﻟﻠﺠﺯﺀ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻤﺎ‬
‫ﺍﻟﻨﻘﺎﻁ‬ ‫ﺒﻌﺽ‬ ‫ﻋﻥ‬ ‫ﺘﺘﻜﻠﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﻟﻤﺼﺎﺩﺭ‬ ‫ﺍﻟﻤﺭﺍﺠﻊ‬ ‫ﻭﻟﻘﻠﻪ‬ ، ‫ﻨﺎﺤﻴﻪ‬ ‫ﻤﻥ‬ ‫ﻟﺼﻌﻭﺒﺘﻪ‬.
‫ﺍﻟﺘﻨﻘل‬ ‫ﻴﺭﻴﺩﻭﻥ‬ ‫ﻟﻠﺫﻴﻥ‬ ‫ﻜﺎﻓﻲ‬ ‫ﻴﻌﺘﺒﺭ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻫﺫﺍ‬ ‫ﺍﻴﻀﺎ‬‫ﺍﺩﺭﺍﻜﻬﻡ‬ ‫ﻓﻭﺭ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻟﻐﻪ‬ ‫ﺍﻟﻰ‬
‫ﻓﻲ‬ ‫ﻴﺘﻌﻤﻘﻭﺍ‬ ‫ﺍﻥ‬ ‫ﻗﺭﺭﻭﺍ‬ ‫ﺍﻟﺫﻴﻥ‬ ‫ﻟﻼﺸﺨﺎﺹ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺠﺯﺀ‬ ‫ﺍﻟﺒﺭﻤﺠﻲ‬ ‫ﻟﻠﻤﻨﻁﻕ‬
‫ﺍﻟﻠﻐﻪ‬ ‫ﻫﺫﻩ‬.
PDF created with pdfFactory trial version www.pdffactory.com
6
‫ﺗﻨﻮﯾــﮫ‬/
‫ﺍﻟﻜﻠﻤﺎﺕ‬ ‫ﻟﺒﻌﺽ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬)‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﻓﻲ‬(‫ﺒﺎﻟﺨﻁ‬ ‫ﻤﻜﺘﻭﺒﻪ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺘﻼﺤﻅ‬ ‫ﺴﻭﻑ‬
‫ﺍﻟﻌﺭﻴﺽ‬)B(‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻜﻠﻤﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻨﻬﺎ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻫﺫﺍ‬ ،‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬‫ﻋﻨﺩ‬ ‫ﺍﻴﻀﺎ‬ ،
‫ﻫﺫﻩ‬ ‫ﻜﺘﺎﺒﺔ‬‫ﺴﻭ‬ ‫ﺍﻟﺒﺎﺴﻜﺎل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬‫ﺒﺎﻟﺨﻁ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺘﻼﺤﻅ‬ ‫ﻑ‬
‫ﺍﻟﻌﺭﻴﺽ‬.
‫ﺒﻌﺩ‬ ‫ﻤﺎ‬ ‫ﻜﺘﺎﺒﺔ‬ ‫ﻋﻠﻰ‬ ‫ﻓﻘﻁ‬ ‫ﺍﻗﺘﺼﺭ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺒﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻜﺘﺎﺒﺔ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺍﻴﻀﺎ‬
‫ﻜﻠﻤﻪ‬begin‫ﻜﺎﻤﻼ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻜﺘﺎﺒﻪ‬ ‫ﻨﺘﻁﺭﻕ‬ ‫ﻭﻟﻥ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬)‫ﻓﻲ‬ ‫ﺍﻻ‬
‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺒﻌﺽ‬(‫ﻜﺘﺎﺘ‬ ‫ﻻﻥ‬ ‫ﻨﻅﺭﺍ‬‫ﺒ‬‫ﻋﺸ‬ ‫ﺯﻴﺎﺩﻩ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺅﺩﻱ‬ ‫ﻜﺎﻤﻠﻪ‬ ‫ﻬﺎ‬‫ﻴﻜﻥ‬ ‫ﻟﻡ‬ ‫ﺍﻥ‬ ‫ﺭﺍﺕ‬
‫ﻓﺎﺌﺩﻩ‬ ‫ﺒﻼ‬ ‫ﺍﻟﺼﻔﺤﺎﺕ‬ ‫ﻤﺌﺎﺕ‬.
‫ﻜﻠﻤﻪ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻴﻀﺎ‬Block‫ﺒﺩﺍﻴﻪ‬ ‫ﺘﻌﻨﻲ‬ ‫ﻭﻫﻲ‬begin‫ﻭﻨﻬﺎﻴﻪ‬end
‫ﺍﻟـ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﺄﻱ‬block‫ﻭﻫﻭ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬begin‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬
‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻭﻫﻲ‬ ‫ﻨﻬﺎﻴﺘﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺒﻌﺩ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬end.‫ﻗﺩ‬ ‫ﺍﻴﻀﺎ‬ ،
‫ﺒﺎﺴﻜﺎل‬ ‫ﺠﻤل‬ ‫ﺒﻌﺽ‬ ‫ﺘﺤﺘﻭﻱ‬‫ﻋﻠﻰ‬Block‫ﺠﻤل‬ ‫ﻤﺜل‬ ‫ﺒﻬﺎ‬ ‫ﺨﺎﺹ‬)if‫ﻭ‬case‫ﻭ‬
for..‫ﺍﻟﺦ‬(‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﺩﺭﻭﺱ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﺘﻔﺼﻴل‬ ‫ﺍﻟﺠﻤل‬ ‫ﻫﺫﻩ‬ ‫ﺫﻜﺭ‬ ‫ﻴﺘﻡ‬ ‫ﻭﺴﻭﻑ‬.
‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻫﻲ‬ ، ‫ﺍﻟﺘﻌﻠﻡ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻁﺭﻕ‬ ‫ﺍﻓﻀل‬ ‫ﻤﻥ‬.‫ﻨﺴﺦ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﺤﺫﺭ‬
‫ﺠﺩﺍ‬ ‫ﺨﺎﻁﺌﻪ‬ ‫ﻁﺭﻴﻘﻪ‬ ‫ﻓﺈﻨﻬﺎ‬ ‫ﻭﻟﺼﻘﻬﺎ‬ ‫ﺍﻻﻜﻭﺍﺩ‬.‫ﺜﻡ‬ ‫ﻭﻓﻬﻤﻬﺎ‬ ‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻋﻠﻴﻙ‬
‫ﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﺍﻋﺎﺩﻩ‬‫ﺍﻟﺘﻁﻭﻴﺭ‬ ‫ﺒﻴﺌﻪ‬ ‫ﻓﻲ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬.
‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺘﻡ‬ ‫ﺍﻴﻀﺎ‬word‫ﺍﻟﻰ‬ ‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﻨﺴﺦ‬ ‫ﻤﺤﺎﻭﻟﻪ‬ ‫ﻋﻨﺩ‬ ‫ﻟﺫﻟﻙ‬
‫ﻗﺭﺍﺌﺘﻪ‬ ‫ﺘﺼﻌﺏ‬ ‫ﻭﺒﺸﻜل‬ ‫ﻤﺭﺘﺒﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺘﺠﺩﻫﺎ‬ ‫ﺴﻭﻑ‬ ، ‫ﺍﻟﺘﻁﻭﻴﺭ‬ ‫ﺒﻴﺌﻪ‬.‫ﻗﻠﻨﺎ‬ ‫ﻜﻤﺎ‬ ‫ﻟﺫﻟﻙ‬
‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﺒﻨﺴﺦ‬ ‫ﺘﻘﻡ‬ ‫ﻻ‬.
PDF created with pdfFactory trial version www.pdffactory.com
7
‫ﺍﻻﻭﻝ‬ ‫ﺍﻟﻴﻮﻡ‬
‫ﻣﱪﳎ‬ ‫ﻟﺘﺼﺒﺢ‬ ‫ﺭﺣﻠﺘﻚ‬ ‫ﺳﺘﺒﺪﺃ‬ ‫ﺍﻟﻴﻮﻡ‬ ، ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻋﺎﱂ‬ ‫ﰲ‬ ‫ﺑﻚ‬ ‫ﻣﺮﺣﺒﺎ‬‫ﰲ‬ ‫ﺧﺒﲑﺍ‬ ‫ﺎ‬
‫ﺍﷲ‬ ‫ﺑﺈﺫﻥ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬.
‫ﺍﳌ‬ ‫ﺑﻌﺾ‬ ‫ﺗﻌﺮﻑ‬ ‫ﻭﺳﻮﻑ‬‫ﻌﻠ‬‫ﺍﻟﻨﻈﺮﻳﻪ‬ ‫ﻮﻣﺎﺕ‬‫ﻣﻜﺘﺸﻔﻬﺎ‬ ‫ﻫﻮ‬ ‫ﻭﻣﻦ‬ ، ‫ﺍﻟﻠﻐﻪ‬ ‫ﻛﻨﺸﺄﻩ‬
‫ﻭﻣﻄﻮﺭﻫﺎ‬.‫ﺍﳍﻴﻜﻠﻴﻪ‬ ‫ﺍﻟﱪﳎﻪ‬ ‫ﺣﻮﻝ‬ ‫ﺍﻟﻨﻈﺮﻳﻪ‬ ‫ﺍﳌﻌﻠﻮﻣﺎﺕ‬ ‫ﺑﻌﺾ‬ ‫ﺍﻳﻀﺎ‬.
‫ﻛﻴﻔﻴﻪ‬ ‫ﺗﻌﻠﻤﻚ‬ ‫ﺧﻼﻝ‬ ‫ﻣﻦ‬ ‫ﻭﺫﻟﻚ‬ ، ‫ﺍﻟﱪﳎﻪ‬ ‫ﰲ‬ ‫ﺍﻻﻭﱃ‬ ‫ﺍﳋﻄﻮﻩ‬ ‫ﺗﺒﺪﺃ‬ ‫ﻭﺳﻮﻑ‬
‫ﺍﻟﺘﻌﺎﻣﻞ‬ ‫ﻭﻛﻴﻔﻴﻪ‬ ، ‫ﺍﻟﱪﻧﺎﻣﺞ‬ ‫ﺍﱃ‬ ‫ﺍﻟﻮﺻﻮﻝ‬‫ﻭﺗﻨﻔﻴﺬﻫﺎ‬ ، ‫ﺍﻟﱪﺍﻣﺞ‬ ‫ﻭﺗﺮﲨﻪ‬ ‫ﻣﻌﻪ‬.
‫ﻳﻘﺎﻝ‬ ‫ﻭﻛﻤﺎ‬
‫ﲞﻄﻮﻩ‬ ‫ﻳﺒﺪﺃ‬ ‫ﻣﻴﻞ‬ ‫ﺍﻻﻟﻒ‬ ‫ﻣﺸﻮﺍﺭ‬.
‫ﺑﺎﻟﺘﻮﻓﻴﻖ‬!
PDF created with pdfFactory trial version www.pdffactory.com
8
‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺘﺎﺭﻴﺦ‬:
‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﻠﻴﺯ‬ ‫ﺍﻟﻔﺭﻨﺴﻲ‬ ‫ﻭﺍﻟﻔﻴﻠﺴﻭﻑ‬ ‫ﺍﻟﺭﻴﺎﻀﻲ‬ ‫ﻗﺼﺔ‬ ‫ﺘﻌﻭﺩ‬Blaise Pascal‫ﺇﻟﻰ‬
‫ﻤﻴﻼﺩﻱ‬ ‫ﻋﺸﺭ‬ ‫ﺍﻟﺴﺎﺩﺱ‬ ‫ﺍﻟﻘﺭﻥ‬ ‫ﻤﻨﺘﺼﻑ‬‫ﻋﺎﻡ‬1642‫ﻭﺍﻟﺫﻱ‬ ‫ﺍﻟﺸﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﺃﻥ‬ ‫ﺤﻴﺙ‬ ‫ﻡ‬
‫ﺭﺒ‬ ‫ﻋﺸﺭ‬ ‫ﺍﻟﺜﺎﻤﻨﺔ‬ ‫ﻴﺒﻠﻎ‬ ‫ﻜﺎﻥ‬‫ﺍﻟﻌﺒﻘﺭﻴ‬ ‫ﺒﻭﺍﺩﺭ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﻟﺫﻱ‬ ‫ﻴﻌﺎ‬‫ﺠﻠﻴﻪ‬ ‫ﺘﺒﺩﻭ‬ ‫ﻭﺍﻻﺨﺘﺭﺍﻉ‬ ‫ﺔ‬
‫ﻤﻭﻟﻌﺎ‬ ‫ﺍﻟﺭﻴﺎﻀﻴﺎﺕ‬ ‫ﻋﻠﻡ‬ ‫ﻓﻲ‬ ‫ﺍﻹﺒﺩﺍﻉ‬ ‫ﺸﺩﻴﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺃﻨﻪ‬ ‫ﻭﺤﻴﺙ‬ ‫ﺃﻋﻤﺎﻟﻪ‬ ‫ﻋﻠﻰ‬
‫ﺒﺎﻻﻜﺘﺸﺎﻓﺎﺕ‬‫ﺍﻟﺭﻴﺎﻀﻴﺔ‬ ‫ﺍﻟﻨﻅﺭﻴﺎﺕ‬ ‫ﻭﺘﻁﺒﻴﻕ‬ ‫ﺍﻟﻌﻠﻤﻴﺔ‬.
‫ﺒﺎﺴﻤﻪ‬ ‫ﻭﺴﻤﻲ‬ ‫ﺁﻟﻲ‬ ‫ﻨﺼﻑ‬ ‫ﺤﺎﺴﺏ‬ ‫ﺃﻭل‬ ‫ﺍﺨﺘﺭﻉ‬ ‫ﺍﻟﺴﻨﻪ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻔﻲ‬)‫ﺒﺎﺴﻜﺎل‬ ‫ﺤﺎﺴﺏ‬
1642(‫ﻭﻫﻭ‬ ‫ﺃﺴﺎﺴﻲ‬ ‫ﻟﺴﺒﺏ‬ ‫ﺫﻟﻙ‬ ‫ﻭﻜﺎﻥ‬ ،‫ﻤﺴﺎ‬‫ﻓﻲ‬ ‫ﻴﻌﻤل‬ ‫ﻜﺎﻥ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺃﺒﻴﻪ‬ ‫ﻋﺩﻩ‬
‫ﻤﺴﺘﺨﺩﻤﺎ‬ ‫ﻟﻴﺎﻟﻴﻪ‬ ‫ﻤﻌﻅﻡ‬ ‫ﻴﻘﻀﻲ‬ ‫ﻜﺎﻥ‬ ‫ﻭﺍﻟﺫﻱ‬ ‫ﻟﻠﻔﻭﺍﺘﻴﺭ‬ ‫ﻤﺤﺼﻼ‬ ‫ﺍﻟﻀﺭﺍﺌﺏ‬ ‫ﻤﺅﺴﺴﺔ‬
‫ﺍﻟﻴﺩﻭﻱ‬ ‫ﺍﻟﻌﺩ‬‫ﻭ‬ ‫ﺤﺼﻠﻬﺎ‬ ‫ﺍﻟﺘﻲ‬ ‫ﺍﻟﻤﺒﺎﻟﻎ‬ ‫ﺤﺴﺎﺒﺎﺕ‬ ‫ﻭﺘﺩﻗﻴﻕ‬ ‫ﺇﺤﺼﺎﺀ‬ ‫ﻓﻲ‬‫ﻴﺸﻜل‬ ‫ﻜﺎﻥ‬ ‫ﻗﺩ‬
‫ﻭﺒﺎﻟﺘﺎﻟﻲ‬ ، ‫ﻟﻌﺎﺌﻠﺘﻪ‬ ‫ﺇﺭﺒﺎﻜﺎ‬ ‫ﺍﻟﺤﺴﺎﺏ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﻁﻲﺀ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬‫ﺍﻟﻭﻗﺕ‬ ‫ﻤﻨﻪ‬ ‫ﻴﺄﺨﺫ‬
‫ﺍﻟﻜﺒﻴﺭ‬.
‫ﺍﻟﻤ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺤﺎﺴﺏ‬ ‫ﻴﺘﻜﻭﻥ‬‫ﺍﻹﻁﺎﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻤﺘﺘﺎﻟﻴﺔ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻤﻥ‬ ‫ﻴﻜﺎﻨﻴﻜﻲ‬
)‫ﺍﻷﻗﺭﺍﺹ‬(‫ﺇﻟﻰ‬ ‫ﺍﻟﺼﻔﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺭﻗﻤﺔ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻜل‬‫ﺍﻹﻁﺎﺭﺍﺕ‬ ‫ﻫﺫﻩ‬ ، ‫ﺍﻟﺘﺴﻌﺔ‬
‫ﺇﺩﺍﺭﺘﻬﺎ‬ ‫ﻭﻴﺘﻡ‬ ‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺇﻟﻰ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﺍﻟﻤﺴﺠﻠﺔ‬ ‫ﺍﻷﺭﻗﺎﻡ‬ ‫ﺘﻘﺭﺃ‬ ‫ﺒﺤﻴﺙ‬ ‫ﻤﺭﺘﺒﻪ‬
‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻴﺩﻭﻴﺎ‬‫ﺇﻟﻰ‬ ‫ﺍﻟﺼﻔﺭ‬ ‫ﻤﻥ‬ ‫ﺩﻭﺭﺘﻪ‬ ‫ﺍﻷﻗﺭﺍﺹ‬ ‫ﻫﺫﻩ‬ ‫ﺃﺤﺩ‬ ‫ﻴﺘﻡ‬ ‫ﻓﻌﻨﺩﻤﺎ‬ ، ‫ﺍﻟﺫﺭﺍﻉ‬
‫ﻓﺈﻥ‬ ‫ﺍﻟﺘﺴﻊ‬‫ﺍﻟﺭﻗﻡ‬ ‫ﻨﺘﻭﺀ‬9‫ﺭﻗﻤﺎ‬ ‫ﻟﻪ‬ ‫ﺍﻟﻤﺠﺎﻭﺭﺓ‬ ‫ﺍﻟﻁﺎﺭﺓ‬ ‫ﻴﺩﻓﻊ‬‫ﺃﻱ‬ ‫ﺫﻟﻙ‬ ‫ﻭﻋﻨﺩ‬ ‫ﻭﺍﺤﺩﺍ‬
‫ﻤﺘﺘﺎﻟﻴﺔ‬ ‫ﻤﻭﺍﻗﻊ‬ ‫ﺘﺴﻌﺔ‬ ‫ﺍﻷﻭﻟﻰ‬ ‫ﺍﻟﻁﺎﺭﺓ‬ ‫ﺩﻭﺭﺓ‬)‫ﻜﺎﻤﻠﺔ‬ ‫ﺩﻭﺭﻩ‬(‫ﺍﻟﻁﺎﺭﺓ‬ ‫ﺘﺩﻓﻊ‬ ‫ﻓﺈﻨﻬﺎ‬
‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬ ‫ﻟﻬﺎ‬ ‫ﺍﻟﺘﺎﻟﻴﺔ‬‫ﺘﺴﺠﻴل‬ ‫ﻴﺘﻡ‬ ‫ﺤﺘﻰ‬ ‫ﻭﻫﻜﺫﺍ‬ ‫ﻭﺍﺤﺩﺍ‬ ‫ﻤﻭﻗﻌﺎ‬‫ﺍﻟﻌﺩﺩ‬.‫ﻭﺒﻬﺫﻩ‬
‫ﺃﻤﺎ‬ ‫ﻭﺍﻟﻁﺭﺡ‬ ‫ﺍﻟﺠﻤﻊ‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﺇﺠﺭﺍﺀ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻭﺍﻟﺩ‬ ‫ﺍﺴﺘﻁﺎﻉ‬ ‫ﺍﻟﻁﺭﻴﻘﺔ‬‫ﻋﻤﻠﻴﺎﺕ‬
‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﺒﺘﻜﺭﺍﺭ‬ ‫ﻓﺘﺘﻡ‬ ‫ﻭﺍﻟﻘﺴﻤﺔ‬ ‫ﺍﻟﻀﺭﺏ‬‫ﻤﺘﻌﺩﺩﺓ‬ ‫ﻤﺭﺍﺕ‬ ‫ﻭﺍﻟﻁﺭﺡ‬ ‫ﺍﻟﺠﻤﻊ‬.
PDF created with pdfFactory trial version www.pdffactory.com
9
‫ﺍﻟﻠﻐﻪ‬ ‫ﺒﺩﺍﻴﻪ‬:
‫ﺍﻨﺸﺌﺕ‬ ‫ﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺔ‬ ‫ﺒﺎﺴﻜﺎل‬‫ﺒﻭﺍﺴﻁﺔ‬‫ﺍﻟﺒﺭﻭﻓﻴﺴﻭﺭ‬Niklaus Wirth‫ﻋﺎﻡ‬ ‫ﻓﻲ‬
1970.‫ﺍﺴﻤﻬﺎ‬ ‫ﻜﺎﻥ‬‫ﺴﺎﺒﻘﺎ‬،‫ﺍﻟﻰ‬ ‫ﻨﺴﺒﻪ‬‫ﻋﺎﻟﻡ‬‫ﺍﻟﻤﺸﻬﻭﺭ‬ ‫ﺍﻟﻔﺭﻨﺴﻲ‬ ‫ﺍﻟﺭﻴﺎﻀﻴﺎﺕ‬
Blaise Pascal.‫ﺍ‬ ‫ﻟﺘﻌﻠﻴﻡ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺼﻨﻌﺕ‬ ‫ﻟﻘﺩ‬‫ﺜﻘﻪ‬ ‫ﻤﺤل‬ ‫ﺘﻜﻭﻥ‬ ‫ﻭﻟﻜﻲ‬ ‫ﻟﺒﺭﻤﺠﻪ‬
‫ﻟ‬‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬ ‫ﺩﻯ‬.‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺔ‬ ‫ﺍﺼﺒﺤﺕ‬ ‫ﻗﺩ‬ ‫ﺍﻟﻭﻗﺕ‬ ‫ﺫﻟﻙ‬ ‫ﻤﻨﺫ‬
‫ﺍﻴﻀﺎ‬ ‫ﹰ‬‫ﺎ‬‫ﺘﺠﺎﺭﻴ‬ ‫ﺍﺴﺘﺨﺩﻤﺕ‬ ‫ﹼﻬﺎ‬‫ﻨ‬‫ﻟﻜ‬ ‫ﻭ‬ ‫ﺍﻜﺎﺩﻴﻤﻴﻪ‬ ‫ﻟﻐﻪ‬ ‫ﻓﻘﻁ‬ ‫ﺍﻨﻬﺎ‬‫ﻟﻐﻪ‬ ‫ﻤﻨﻬﺞ‬ ‫ﻗﺭﺭ‬ ‫ﻭﻗﺩ‬ ،
، ‫ﺍﻟﺩﻭل‬ ‫ﻤﺨﺘﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺠﺎﻤﻌﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻓﻲ‬ ‫ﺒﺎﺴﻜﺎل‬
‫ﺍﻟﻤﺘﺭﺠﻡ‬:
‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻴﻭﺠﺩ‬‫ﻋ‬ ‫ﺘﻌﻤل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﺎﺕ‬‫ﺒﺎﺴﻜﺎل‬ ‫ﻠﻰ‬‫ﺍﺸﻬﺭﻫﺎ‬ ‫ﻭﻤﻥ‬ ،‫ﺍﻟـ‬Free
Pascal‫ﺍﻟﺒﻭﺭﻻﻨﺩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻴﻀﺎ‬Borland Pascal،‫ﺍﻟﺘﺭﺒﻭ‬ ‫ﺍﻟﻨﺴﺨﻪ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻴﻀﺎ‬
‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﺴﻨﺘﻌﻤﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﻫﻰ‬Turbo Pascal،‫ﻨﺴﺨﻪ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻭﻫﻨﺎﻙ‬
‫ﻤﺎﻴﻜﺭﻭﺴﻭﻓﺕ‬ ‫ﺸﺭﻜﻪ‬ ‫ﻤﻥ‬‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻭﺍﻟﻌﺩﻴﺩ‬ ،.
‫ﺍﻟﻤ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻴﻪ‬ ‫ﺘﺨﺘﻠﻑ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻭﺤﻴﺩ‬ ‫ﺍﻟﺸﺊ‬‫ﻜﺘﺎ‬ ‫ﻓﻲ‬ ‫ﻫﻲ‬ ‫ﺘﺭﺠﻤﺎﺕ‬، ‫ﺍﻟﺩﻭﺍل‬ ‫ﺒﻌﺽ‬ ‫ﺒﻪ‬
‫ﺘﻨﻔﻴﺫﻫﺎ‬ ‫ﻭﻁﺭﻕ‬‫ﻜل‬ ،‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﻭﺩﻭﺍﻟﻪ‬ ‫ﻤﻜﺘﺒﺎﺘﻪ‬ ‫ﻟﻪ‬ ‫ﻤﺘﺭﺠﻡ‬.‫ﺍﻟﺒﺭﻤﺠﻴﻪ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﻟﻜﻥ‬
‫ﺍﻟﻤﺘﺭﺠﻤﺎﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻨﻔﺴﻬﺎ‬ ‫ﻫﻰ‬‫ﻓﻘﻁ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻭﻟﻴﺱ‬‫ﻟﻐﺎﺕ‬ ‫ﻟﺠﻤﻴﻊ‬ ‫ﻭﺒﺎﻻﺼﺢ‬
‫ﻻﺨﺭ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﻜﻭﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻁﺭﻕ‬ ‫ﺍﺨﺘﻠﻘﺕ‬ ‫ﻭﺍﻥ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﺍﻟﺒﺭﻤﺠﻴﻪ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﺍﻟﺒﺭﻤﺤﻪ‬،
‫ﻭﺍﺤﺩ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﺍﻟﻨﻬﺎﻴﻪ‬ ‫ﻓﻲ‬ ‫ﻟﻜﻥ‬.
‫ﻟﺫﻟﻙ‬‫ﻟﻠﻐﺘﻪ‬ ‫ﺍﻟﻤﺘﻘﻥ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﺍﻨﺘﻘﺎل‬ ‫ﻋﻨﺩ‬، ‫ﻻﺨﺭﻯ‬ ‫ﻟﻐﻪ‬ ‫ﺍﻟﻰ‬‫ﻭﻗﺕ‬ ‫ﻓﻲ‬ ‫ﻨﻔﺴﻪ‬ ‫ﺴﻴﺠﺩ‬
‫ﺴﻬﻠﻪ‬ ‫ﺍﻟﺠﺩﻴﺩﻩ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻻﻥ‬ ‫ﻟﻴﺱ‬ ‫ﺍﻟﺠﺩﻴﺩﻩ‬ ‫ﻟﻠﻐﻪ‬ ‫ﻤﺩﺭﻙ‬ ‫ﺍﺼﺒﺢ‬ ‫ﻗﺼﻴﺭ‬،‫ﻻﻥ‬ ‫ﻭﻟﻜﻥ‬
‫ﺍﻟﻤﺒﺭﻤﺞ‬‫ﻭ‬ ‫ﻤﺘﻴﻥ‬ ‫ﺍﺴﺎﺴﻪ‬‫ﺍﻟﺒﺭﻤﺠﻴﻪ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﻓﺎﻫﻡ‬.
PDF created with pdfFactory trial version www.pdffactory.com
10
‫ﺍﻟﺒﺭﺍﻤﺞ‬
‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﻠﻤﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬program‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻟﻭﺼﻑ‬ ‫ﺍﻻﻭل‬ ، ‫ﻤﻌﻨﻴﻥ‬ ‫ﻋﻥ‬ ‫ﻟﻠﺘﻌﺒﻴﺭ‬
‫ﺍﻟﻤﺼ‬‫ﺩﺭ‬source code‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻭﺼﻑ‬ ‫ﻭﺍﻟﺜﺎﻨﻲ‬ ، ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻴﻜﺘﺒﻬﺎ‬ ‫ﺍﻟﺘﻲ‬
‫ﺍﻟﺘﻨﻔﻴﺫﻱ‬executable software‫ﺒﺄﻜﻤﻠﻪ‬.‫ﻗﺩ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻜﻠﻤﻪ‬ ‫ﺍﻻﺴﺘﺨﺩﺍﻡ‬ ‫ﻫﺫﺍ‬
‫ﻤﻥ‬ ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﻴﻥ‬ ‫ﺍﻟﺘﻔﺭﻗﻪ‬ ‫ﺴﻨﺤﺎﻭل‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﺍﻻﺭﺘﺒﺎﻙ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻋﻨﻪ‬ ‫ﻴﻨﺘﺞ‬
‫ﺍﺨﺭﻯ‬ ‫ﻨﺎﺤﻴﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﻨﻔﻴﺫﻱ‬ ‫ﻭﺍﻟﺒﺭﻨﺎﻤﺞ‬ ، ‫ﻨﺎﺤﻴﻪ‬.
‫ﻴﻤ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﺒﺄﻨﻪ‬ ‫ﺃﻭ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻴﻜﺘﺒﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺒﺄﻨﻪ‬ ‫ﺘﻌﺭﻴﻔﻪ‬ ‫ﻜﻥ‬
‫ﺍﻟﺘﻁﺒﻴﻕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﻨﻔﻴﺫﻴﻪ‬ ‫ﺍﻻﺠﺯﺍﺀ‬ ‫ﺍﺤﺩ‬.
‫ﺒﻁﺭﻴﻘﺘﻴﻥ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺘﺤﻭﻴل‬ ‫ﻴﻤﻜﻥ‬:‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻫﻲ‬ ‫ﺍﻻﻭﻟﻰ‬
‫ﺒﺘﻨﻔﻴﺫﻫﺎ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺒﺤﻴﺙ‬ ‫ﺍﻟﺤﺎﺴﺏ‬ ‫ﻴﻔﻬﻤﻬﺎ‬ ‫ﺍﻭﺍﻤﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﺘﺤﻭﻴل‬ ‫ﺍﻟﻤﻔﺴﺭ‬
‫ﺍﻟﻔﻭﺭ‬ ‫ﻋﻠﻰ‬.‫ﻭﺍﻟﻁﺭﻴﻘﻪ‬‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﺘﺤﻭﻴل‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻫﻰ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬
‫ﻻﺤﻕ‬ ‫ﻭﻗﺕ‬ ‫ﻓﻲ‬ ‫ﺘﺸﻐﻴﻠﻪ‬ ‫ﺴﻴﻤﻜﻨﻙ‬ ‫ﻭﺍﻟﺫﻱ‬ ، ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻰ‬.‫ﺴﻬﻭﻟﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺒﺎﻟﺭﻏﻡ‬
‫ﻻﻥ‬ ، ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺠﺎﺩﻩ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻓﺈﻥ‬ ، ‫ﺍﻟﻤﻔﺴﺭ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬
‫ﺍﺴﺭﻉ‬ ‫ﺘﺸﻐﻴﻠﻬﺎ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﻪ‬ ‫ﺍﻻﻭﺍﻤﺭ‬.‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻀﻤﻥ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻭﺘﻨﺩﺭﺝ‬
‫ﺍﻟﻤﺘﺭﺠﻤﻪ‬.
‫ﻭﺍﻟﻤﻔﺴﺭ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺒﻴﻥ‬ ‫ﺍﻟﻔﺭﻕ‬
‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻴﺤﻭل‬ ‫ﺒﺤﻴﺙ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﺘﺭﺠﻡ‬ ‫ﺜﻡ‬ ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﻤﻔﺴﺭ‬ ‫ﻴﻘﻭﻡ‬
‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﺘﺭﺠﻤﻪ‬ ‫ﻓﻴﻘﻭﻡ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺍﻤﺎ‬ ، ‫ﻤﺒﺎﺸﺭﻩ‬ ‫ﺍﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻜﺘﺒﻬﺎ‬ ‫ﺍﻟﺘﻰ‬
، ‫ﻻﺤﻕ‬ ‫ﻭﻗﺕ‬ ‫ﻓﻲ‬ ‫ﺘﺸﻐﻴﻠﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺘﻨﻔﻴﺫﻱ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺼﺭ‬
PDF created with pdfFactory trial version www.pdffactory.com
11
‫ﺍﻟﺘﻨﻔ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻭﺯﻴﻊ‬ ‫ﺍﻤﻜﺎﻨﻴﻪ‬ ‫ﺍﻴﻀﺎ‬‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻤﻠﻜﻭﻥ‬ ‫ﻻ‬ ‫ﺍﺸﺨﺎﺹ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺫﻱ‬)‫ﺍﻟﻠﻐﺎﺕ‬
‫ﻟﻠﻤﺘﺭﺠﻡ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬(‫ﻭﺠﻭﺩ‬ ‫ﻤﻥ‬ ‫ﺒﺩ‬ ‫ﻓﻼ‬ ‫ﺍﻟﻤﻔﺴﺭ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻟﻠﻐﺎﺕ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻤﺎ‬ ،
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺘﺸﻐﻴل‬ ‫ﺍﻟﻤﻔﺴﺭ‬.
‫ﻭﺍﻟﻬﻴﻜﻠﻴﻪ‬ ‫ﺍﻻﺠﺭﺍﺌﻴﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬
‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﻥ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﺍﻨﻬﺎ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻨﻅﺭ‬ ‫ﻜﺎﻥ‬ ، ‫ﻗﺭﻴﺏ‬ ‫ﻭﻗﺕ‬ ‫ﺤﺘﻰ‬
‫ﻟﻠﺒﻴﺎﻨﺎﺕ‬ ‫ﺘﺴﺘﺠﻴﺏ‬.‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺤﺩﺩﻩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺍﻻ‬ ‫ﻤﺎﻫﻭ‬ ‫ﻭﺍﻻﺠﺭﺍﺀ‬
‫ﺍﻻﺨﺭ‬ ‫ﺘﻠﻭ‬ ‫ﻭﺍﺤﺩﺍ‬ ‫ﺘﻨﻔﻴﺫﻫﺎ‬ ‫ﻴﺠﺭﻱ‬.‫ﻭﻜﺎﻥ‬ ، ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻓﺼل‬ ‫ﻴﺘﻡ‬ ‫ﻜﺎﻥ‬
‫ﺍ‬ ‫ﺍﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﺴﺘﺩﻋﺕ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺠﺎﺭﺀﺍﺕ‬ ‫ﻤﻌﺭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﻴﻜﻤﻥ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﺠﻭﻫﺭ‬‫ﺨﺭ‬، ‫ﻯ‬
‫ﺘﻐﻴﻴﺭﻫﺎ‬ ‫ﺘﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻭﻤﻌﺭﻓﻪ‬.
‫ﺍﻟﻰ‬ ‫ﻴﺅﺩﻱ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﻭﻗﻑ‬ ‫ﻫﺫﺍ‬ ‫ﻋﻠﻰ‬ ‫ﻭﻟﻠﺘﻐﻠﺏ‬‫ﺍﻨﺸﺎﺀ‬ ‫ﺜﻡ‬ ، ‫ﺍﻻﺭﺘﺒﺎﻙ‬ ‫ﺒﻌﺽ‬ ‫ﺍﺤﺩﺍﺙ‬
‫ﺍﻟﻬﻴﻜﻠﻴﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬structured programming.
‫ﻓﻜﺭﻩ‬ ‫ﺒﺴﺎﻁﺘﻬﺎ‬ ‫ﻓﻲ‬ ‫ﺘﻤﺎﺜل‬ ‫ﺍﻟﻬﻴﻜﻠﻴﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﺍﻟﻤﺒﻨﻴﻪ‬ ‫ﺍﻟﺭﺌﻴﺴﻴﻪ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﺍﻥ‬"‫ﻓﺭﻕ‬
‫ﺘﺴﺩ‬. "‫ﻤﻬﺎﻡ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻤﻥ‬ ‫ﻤﺭﻜﺏ‬ ‫ﺍﻨﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺨﻴل‬ ‫ﻴﻤﻜﻥ‬.‫ﻭﺍﻱ‬
‫ﺘ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺒﺴﻬﻭﻟﻪ‬ ‫ﺘﻭﺼﻑ‬ ‫ﺍﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻋﻘﺩ‬ ‫ﻤﻬﻤﻪ‬‫ﻘ‬‫ﺴﻴﻤﻬﺎ‬‫ﺍﻟﻤﻬﺎﻡ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺍﻟﻰ‬
‫ﺒﺴﻬﻭﻟﻪ‬ ‫ﻭﺍﺴﺘﻴﻌﺎﺒﻬﺎ‬ ‫ﻟﻔﻬﻤﻬﺎ‬ ‫ﺍﻟﻜﺎﻓﻴﻪ‬ ‫ﺒﺎﻟﺩﺭﺠﻪ‬ ‫ﺼﻐﻴﺭﻩ‬ ‫ﺍﻟﻤﻬﺎﻡ‬ ‫ﺘﺼﺒﺢ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻻﺼﻐﺭ‬
‫ﺍﻟﺸﺭﻜﺎﺕ‬ ‫ﺒﺎﺤﺩﻯ‬ ‫ﺍﻟﻤﻭﻅﻔﻴﻥ‬ ‫ﻤﺭﺘﺒﺎﺕ‬ ‫ﻤﺘﻭﺴﻁ‬ ‫ﺤﺴﺎﺏ‬ ‫ﺍﻥ‬ ‫ﺴﺘﺠﺩ‬ ، ‫ﺍﻟﻤﺜﺎل‬ ‫ﺴﺒﻴل‬ ‫ﻋﻠﻰ‬
‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﻤﻬﺎﻡ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﻬﻤﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﻘﺴﻴﻡ‬ ‫ﺒﻤﻘﺩﻭﺭﻙ‬ ، ‫ﺫﻟﻙ‬ ‫ﻭﻤﻊ‬ ، ‫ﻤﻌﻘﺩﻩ‬ ‫ﻤﻬﻤﻪ‬:
1.‫ﻤﻭﻅﻑ‬ ‫ﻜل‬ ‫ﻤﺭﺘﺏ‬ ‫ﻤﻌﺭﻓﻪ‬
2.‫ﺤﺴﺎﺏ‬‫ﺍﻟﻤﻭﻅﻔﻴﻥ‬ ‫ﻋﺩﺩ‬
PDF created with pdfFactory trial version www.pdffactory.com
12
3.‫ﺍﻟﻤﺭﺘﺒﺎﺕ‬ ‫ﻜﺎﻓﻪ‬ ‫ﺠﻤﻊ‬
4.‫ﺍﻟﻤﻭﻅﻔﻴﻥ‬ ‫ﻋﺩﺩ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻤﺭﺘﺒﺎﺕ‬ ‫ﻤﺠﻤﻭﻉ‬ ‫ﺘﻘﺴﻴﻡ‬
‫ﺍﻟﻤﺭﺘﺒﺎﺕ‬ ‫ﺠﻤﻊ‬ ‫ﻤﻬﻤﻪ‬ ‫ﺘﻘﺴﻴﻡ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬)3(‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺨﻁﻭﺍﺕ‬ ‫ﺍﻟﻰ‬:
1.‫ﻤﻭﻅﻑ‬ ‫ﺒﻜل‬ ‫ﺍﻟﺨﺎﺹ‬ ‫ﺍﻟﺴﺠل‬ ‫ﺍﺤﻀﺎﺭ‬
2.‫ﺍﻟﻤﺭﺘﺏ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻭﺼﻭل‬
3.‫ﺍﻟﻤﺭﺘﺒﺎﺕ‬ ‫ﺍﺠﻤﺎﻟﻲ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺭﺘﺏ‬ ‫ﺍﻀﺎﻓﻪ‬
4.‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﻤﻭﻅﻑ‬ ‫ﺴﺠل‬ ‫ﺍﺤﻀﺎﺭ‬
‫ﺘ‬ ‫ﻴﺘﻡ‬ ، ‫ﻭﻫﻜﺫﺍ‬‫ﺘﺼﺒﺢ‬ ‫ﺤﺘﻰ‬ ‫ﻤﻨﻬﺎ‬ ‫ﺍﺼﻐﺭ‬ ‫ﻓﺭﻋﻴﻪ‬ ‫ﻤﻬﺎﻡ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﻘﻌﺩﻩ‬ ‫ﺍﻟﻤﻬﺎﻡ‬ ‫ﻘﺴﻴﻡ‬
‫ﻴﺴﻴﺭﻩ‬ ‫ﺍﻟﻤﺸﻜﻠﻪ‬.
‫ﺍﻟﺘﻁﻭﻴﺭ‬ ‫ﺒﻴﺌﻪ‬
‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺍﻋﺘﻤﺎﺩ‬ ‫ﺘﻡ‬ ، ‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬Turbo Pascal، ‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬
‫ﺒﺨﻼﻑ‬ ، ‫ﺍﻟﺠﺎﻫﺯﻩ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻜﺒﻴﺭ‬ ‫ﻋﺩﺩ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺤﻴﺙ‬ ‫ﺫﻟﻙ‬ ‫ﻓﻲ‬ ‫ﻭﺍﻟﺴﺒﺏ‬
‫ﺍﻟﻠﻐﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻋﻠﻰ‬ ‫ﺘﻌﻤل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﺎﺕ‬ ‫ﺒﻘﻴﻪ‬‫ﻴﻌﻨﻲ‬ ‫ﻻ‬ ‫ﻫﺫﺍ‬ ،‫ﻤﻨﺎﺴ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺒﻘﻴﻪ‬ ‫ﺍﻥ‬‫ﺒﻪ‬
‫ﻟﻠﻌﻤل‬.
‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﺼﻴﺏ‬ ‫ﻋﻨﺩ‬Turbo Pascal‫ﺍﻟﻤﺴﺎﺭ‬ ‫ﻴﺎﺨﺫ‬ ‫ﻋﺎﺩﻩ‬ ،c:tpw،
، ‫ﺍﻟﻤﻠﺤﻘﻪ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺫﻫﺎﺏ‬ ‫ﺜﻡ‬ ، ‫ﺍﺒﺩﺃ‬ ‫ﻗﺎﺌﻤﻪ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻴﻪ‬ ‫ﺍﻟﻭﺼﻭل‬ ‫ﻭﺘﺴﺘﻁﻴﻊ‬
‫ﺍﺨﺘﺭ‬ ‫ﺜﻡ‬tpw‫ﺍﺨﺘﺭ‬ ‫ﺒﻌﺩﻫﺎ‬ ،TPW.EXE.
PDF created with pdfFactory trial version www.pdffactory.com
13
‫ﺍﻻﻜ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﻤﻜﻨﻙ‬ ، ‫ﺍﻻﺴﺎﺴﻴﻪ‬ ‫ﺍﻟﻭﺍﺠﻬﻪ‬ ‫ﻓﻲ‬‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﺩ‬‫ﺘ‬‫ﺍﻴﻀﺎ‬ ، ‫ﻻﺤﻘﺎ‬ ‫ﺘﻌﻠﻤﻬﺎ‬
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﻭﺍﻟﻜﻠﻤﺎﺕ‬ ، ‫ﺍﻻﺯﺭﻕ‬ ‫ﺒﺎﻟﻠﻭﻥ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ، ‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬
‫ﺍﻟﻌﺭﻴﺽ‬ ‫ﺒﺎﻟﺨﻁ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬.
‫ﺍﻟﺤﺎﻟﻰ‬ ‫ﺍﻟﺘﻁﺒﻴﻕ‬ ‫ﻤﺴﺎﺭ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ، ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﺸﺭﻴﻁ‬.
‫ﻨﻼﺤﻅ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻟﻘﻭﺍﺌﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ، ‫ﺍﻟﻘﻭﺍﺌﻡ‬ ‫ﺸﺭﻴﻁ‬.‫ﺘﺨﺘﻠﻑ‬ ‫ﻟﻥ‬ ‫ﻭﻫﻲ‬
‫ﺘﻁﺒﻴ‬ ‫ﺍﻱ‬ ‫ﻋﻥ‬‫ﺍﺨﺭ‬ ‫ﻕ‬)‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺜﻼ‬word(.‫ﻟﻠﻘﺎﺌﻤﻪ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻤﺎ‬compile،
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺘﺭﺠﻤﻪ‬ ‫ﻓﻬﻲ‬.‫ﻭﺍﻟﻘﺎﺌﻤﻪ‬run‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺘﺸﻐﻴل‬ ‫ﻓﻬﻲ‬)‫ﺘﻨﻔﻴﺫﻩ‬ ‫ﺍﻱ‬. (
‫ﻟﺒﻌﺽ‬ ‫ﺍﺨﺘﺼﺎﺭ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺩﻭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ، ‫ﺍﻻﺩﻭﺍﺕ‬ ‫ﺸﺭﻴﻁ‬
‫ﺍﻟﻘﻭﺍﺌﻡ‬ ‫ﺸﺭﻴﻁ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻭﺠﻭﺩﻩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬.
‫ﺍﻟﺼ‬ ‫ﺍﺴﻔل‬ ‫ﻓﻲ‬ ‫ﻴﻭﺠﺩ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﺸﺭﻴﻁ‬‫ﻔﺤﻪ‬)‫ﺸﺭﻴﻁ‬ ‫ﻋﻠﻴﻪ‬ ‫ﻨﻁﻠﻕ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬
‫ﺍﻟﺤﺎﻟﻪ‬(‫ﻭﺍﻟﻌﺎﻤﻭﺩ‬ ‫ﺍﻟﺼﻑ‬ ‫ﺭﻗﻡ‬ ‫ﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻻﻭﻟﻰ‬ ، ‫ﺨﺎﻨﺎﺕ‬ ‫ﺍﺭﺒﻊ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬.
‫ﻻ‬ ‫ﺍﻡ‬ ‫ﺍﻟﺘﻌﺩﻴل‬ ‫ﺒﻌﺩ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺤﻔﻅ‬ ‫ﺘﻡ‬ ‫ﻫل‬ ‫ﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬.‫ﻁﺭﻴﻘﻪ‬ ‫ﻟﺘﻐﻴﺭ‬ ‫ﺍﻟﺜﺎﻟﺜﻪ‬
PDF created with pdfFactory trial version www.pdffactory.com
14
‫ﺍﻟﻜﺘﺎﺒﻪ‬)‫ﺍﻟﻤﻔﺘﺎﺡ‬ ‫ﻤﻥ‬ ‫ﺘﻐﻴﺭﻫﺎ‬ ‫ﺘﺴﺘﻁﻴﻊ‬insert‫ﺍﻟﻤﻔﺎﺘﻴﺢ‬ ‫ﻟﻭﺤﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻭﺠﻭﺩ‬(‫ﻟﻜﻥ‬
‫ﺒﺘﻐﻴﺭﻫ‬ ‫ﺍﻨﺼﺢ‬ ‫ﻻ‬‫ﺍﺒﺩﺍ‬ ‫ﺎ‬.‫ﻋﺭﺽ‬ ‫ﻓﻴﻬﺎ‬ ‫ﻴﺘﻡ‬ ‫ﻻﻨﻪ‬ ، ‫ﺨﺎﻨﻪ‬ ‫ﺍﻫﻡ‬ ‫ﺍﻟﺭﺍﺒﻌﻪ‬ ‫ﺍﻟﺨﺎﻨﻪ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺭﺠﻤﻪ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺍﻻﺨﻁﺎﺀ‬.‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﺘﻡ‬ ‫ﻭﺴﻭﻑ‬
‫ﺍﻟﺨﺎﻨﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺨﻁﺄ‬.
PDF created with pdfFactory trial version www.pdffactory.com
15
‫ﺍﻟﻴﻮﻡ‬‫ﺍﻟﺜﺎﱐ‬
‫ﺍﻟﱪﳎﻪ‬ ‫ﻣﺜﻞ‬ ‫ﻣﻌﻘﺪ‬ ‫ﻣﻮﺿﻮﻉ‬ ‫ﺗﻌﻠﻢ‬ ‫ﰲ‬ ‫ﺍﻟﺼﻌﻮﺑﻪ‬ ‫ﺗﻜﻤﻦ‬
‫ﻋﻠ‬ ‫ﺳﺘﺘﻌﻠﻤﻪ‬ ‫ﳑﺎ‬ ‫ﻛﺜﲑ‬ ‫ﺍﻋﺘﻤﺎﺩ‬ ‫ﰲ‬‫ﺗﻌﻠﻤﻪ‬ ‫ﳝﻜﻨﻚ‬ ‫ﺍﺧﺮ‬ ‫ﺷﻲﺀ‬ ‫ﻛﻞ‬ ‫ﻰ‬.
‫ﺍﻳﻀﺎ‬ ، ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﰲ‬ ‫ﻟﻠﱪﻧﺎﻣﺞ‬ ‫ﺍﻻﺳﺎﺳﻲ‬ ‫ﺍﻟﺘﺮﻛﻴﺐ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬
‫ﻣﺎ‬ ‫ﻧﻮﻋﺎ‬ ‫ﻣﻘﺮﻭﺀ‬ ‫ﻳﻌﺘﱪ‬ ‫ﺑﺮﻧﺎﻣﺞ‬ ‫ﻛﺘﺎﺑﻪ‬ ‫ﻛﻴﻔﻴﻪ‬ ‫ﺍﺩﺭﺍﻙ‬ ‫ﻣﻦ‬ ‫ﺗﺘﻤﻜﻦ‬ ‫ﺳﻮﻑ‬.
‫ﻭﺍ‬ ، ‫ﺍﻟﻮﺣﺪﺍﺕ‬ ‫ﻣﻦ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬ ‫ﺗﺘﻜﻮﻥ‬‫ﻭﺍﻟﺜﻮﺍﺑﺖ‬ ‫ﻭﺍﳌﺘﻐﲑﺍﺕ‬ ، ‫ﻻﺟﺮﺍﺀﺍﺕ‬
‫ﻋ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻳﻜﻮﻥ‬ ‫ﺍﻳﻦ‬ ‫ﺳﺘﺘﻌﻠﻢ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬‫ﻨﻬﻢ‬
‫ﺍﻧﻚ‬ ‫ﺫﻛﺮﻧﺎ‬ ‫ﻛﻤﺎ‬ ‫ﻻﻧﻨﺎ‬ ، ‫ﺍﻟﻜﺜﲑ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻧﻚ‬ ‫ﺗﻌﺘﻘﺪ‬ ‫ﻻ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬
‫ﻣﻦ‬ ‫ﺍﳌﺰﻳﺪ‬ ‫ﻗﺮﺍﺀﻩ‬ ‫ﰲ‬ ‫ﺗﻘﺪﻣﻚ‬ ‫ﺧﻼﻝ‬ ‫ﻣﻦ‬ ‫ﺍﳉﺪﻳﺪﻩ‬ ‫ﺍﳌﻮﺍﺿﻴﻊ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬
‫ﺍﳌﺘﻘﺪﻣﻪ‬ ‫ﺍﳌﻮﺍﺿﻴﻊ‬.
PDF created with pdfFactory trial version www.pdffactory.com
16
‫ﺍﻟﺘﺭﻜﻴﺒﻴﻪ‬ ‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺘﻌﺘﺒﺭ‬structured‫ﺸﻲ‬ ‫ﺍﻱ‬ ‫ﺍﻨﻪ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻫﺫﺍ‬ ،
‫ﻤﺭﺘﺏ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻓﻴﻬﺎ‬ ‫ﻴﻜﺘﺏ‬‫ﻭﻤﻨﻅﻡ‬‫ﻭﺠﻤل‬ ‫ﺍﻟﻘﻔﺯﺍﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻻ‬ ،
‫ﺍﻟـ‬Goto‫ﻭﺍﺤﺩﻩ‬ ‫ﻫﻴﺌﻪ‬ ‫ﺍﻭ‬ ‫ﺼﻴﻐﻪ‬ ‫ﻟﻬﺎ‬ ‫ﻴﻌﻨﻲ‬ ،،‫ﺤﻘﺎ‬!!
‫ﻫﻴﺌﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬‫ﺒﺴﻴﻁ‬ ‫ﺒﺭﻨﺎﻤﺞ‬::
Program name (input, output);
Uses......
Var
...
Begin
{Your program is here}
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺱ‬ ‫ﺭﺃ‬
‫ﺍﻟﺴ‬‫ﻁ‬‫ﻴﻤ‬ ‫ﺍﺴﻡ‬ ‫ﺍﻱ‬ ، ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻟﻜﺘﺎﺒﻪ‬ ‫ﻫﻭ‬ ‫ﺍﻻﻭل‬ ‫ﺭ‬، ‫ﺘﺭﻴﺩ‬ ‫ﻜﻴﻔﻤﺎ‬ ‫ﻭﻀﻌﻪ‬ ‫ﻜﻨﻙ‬
، ‫ﺤﺎﺴﺒﻪ‬ ‫ﺍﻟﻪ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻤﺜﻼ‬ ، ‫ﺘﻜﺘﺒﻪ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺒﺎﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻋﻼﻗﻪ‬ ‫ﻟﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺤﺒﺫ‬ ‫ﻟﻜﻥ‬
‫ﻤﺜﻼ‬ ‫ﺍﺴﻤﻪ‬ ‫ﻴﺼﺒﺢ‬calculate،‫ﻓﻼ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺍﺴﻤﺎﺀ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﻗﻭﺍﻋﺩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻴﻀﺎ‬
‫ﺒﺭﻗﻡ‬ ‫ﺍﻻﺴﻡ‬ ‫ﻴﺒﺩﺃ‬ ‫ﺍﻭ‬ ‫ﻤﺴﺎﻓﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬‫ﺍﻥ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻴﻀﺎ‬ ،‫ﺍﺴﻡ‬
‫ﻜﻠﻤﺘﻴ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﻤﺭﺍﻋﺎﻩ‬ ‫ﻤﻊ‬ ‫ﻤﺘﻼﺼﻘﺘﻴﻥ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻓﻤﻥ‬ ‫ﻥ‬
‫ﻓﻤﺜﻼ‬ ، ‫ﻜﻠﻤﻪ‬ ‫ﻜل‬ ‫ﻤﻥ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﺘﻜﺒﻴﺭ‬WajdyEssam‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻭ‬ ،
‫ﺍﻟﺸﺭﻁﻪ‬ ‫ﻋﻼﻤﻪ‬ ‫ﻭﻀﻊ‬–، ‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻻﺴﻡ‬ ‫ﺒﻴﻥ‬ ‫ﻟﻠﻔﺼل‬wajdy-essam.
PDF created with pdfFactory trial version www.pdffactory.com
17
‫ﺍﻟﻜﻠﻤﺘﻴﻥ‬ ‫ﺍﻤﺎ‬input‫ﻭ‬output‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫل‬ ‫ﻟﺘﻭﻀﻴﺢ‬ ‫ﻓﻬﻰ‬ ،
‫ﻤﺩﺨﻼﺕ‬)‫ﻤﺴﺘﺨﺩ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻱ‬‫ﺒﻴﺎﻨﺎ‬ ‫ﺒﺎﺩﺨﺎل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻡ‬‫ﺕ‬(‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﺍﻭ‬)‫ﺘﻨﻁﺒﻊ‬ ‫ﺍﻱ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻓﻭﺭ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻨﺘﺎﺌﺞ‬. (
‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻤﺜﻼ‬ ، ‫ﻓﻘﻁ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻓﺎﻟﺒﺭﺍﻤﺞ‬
‫ﻓﻴﻜﻭﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻓﻭﺭ‬output‫ﻓﻘﻁ‬!‫ﺒﺩﻭﻥ‬ ‫ﻓﻘﻁ‬ ‫ﻤﺩﺨﻼﺕ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬
‫ﻤﺨﺭﺠﺎﺕ‬)‫ﺒﺎﻻﺼﺢ‬ ‫ﺍﻭ‬ ، ‫ﻤﺎ‬ ‫ﻨﻭﻋﺎ‬ ‫ﻤﺴﺘﺤﻴﻠﻪ‬‫ﻨﺎﺩﺭﻩ‬(‫ﻓﺘﻜﻭﻥ‬input‫ﻓﻲ‬ ، ‫ﻓﻘﻁ‬
‫ﻭﻤﺨﺭﺠﺎﺕ‬ ‫ﻤﺩﺨﻼﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺤﺎل‬)‫ﺍﻻﻏﻠﺏ‬ ‫ﻭﻫﻭ‬(‫ﺍﻻﺜﻨﻴﻥ‬ ‫ﻓﺘﻜﻭﻥ‬
‫ﺍﻱ‬ ، ‫ﻤﻌﺎ‬input, output.
Program example (output);
{‫ﻓﻘﻁ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻋﻠﻰ‬ ‫}ﻤﺜﺎل‬
‫ﺍﻟﻜﻠﻤﺘﻴﻥ‬ ‫ﺘﺠﺎﻫل‬ ‫ﻴﺘﻡ‬ ، ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬outputinput ,‫ﻜﺘﺎﺒﺘﻬ‬ ‫ﻴﺘﻡ‬ ‫ﻭﻻ‬‫ﺎ‬
‫ﺍﻻﻁﻼﻕ‬ ‫ﻋﻠﻰ‬.‫ﻓﻘﻁ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺎﺴﻡ‬ ‫ﻭﻴﻜﺘﻔﻰ‬.
Program test;
‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺍﻴﻀﺎ‬/
Program clean (I ,o);
‫ﺍﻟﺤﺭﻓﻴﻥ‬I‫ﻭ‬o‫ﻟﻜﻠﻤﺘﻰ‬ ‫ﺍﺨﺘﺼﺎﺭ‬ ‫ﻫﻤﺎ‬:input‫ﻭ‬output
‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻨﻪ‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺘﻨﻔﻴﺫ‬ ‫ﻀﺭﻭﺭﻱ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺭﺃﺱ‬ ‫ﺍﻥ‬ ‫ﻜﻤﺎ‬
‫ﺘﻤ‬ ‫ﺘﺠﺎﻫﻠﻪ‬‫ﺘﻤﺎﻤﺎ‬ ‫ﻤﺤﺒﺫ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺨﻴﺎﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻟﻜﻥ‬ ، ‫ﺘﻠﻴﻪ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺒﺎﻟﺠﻤﻠﻪ‬ ‫ﻭﺍﻟﺒﺩﺀ‬ ‫ﺎﻡ‬.
PDF created with pdfFactory trial version www.pdffactory.com
18
‫ﺍﻓﻀل‬ ‫ﺍﻨﺎ‬ ، ‫ﺸﺨﺼﻴﺎ‬)‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﻌﺩﻴﺩ‬(‫ﻭﺘﻭﻀﻴﺢ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬
‫ﻭﻤﺨﺭﺠﺎﺕ‬ ‫ﻤﺩﺨﻼﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﻫل‬.
‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬)‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻤﻜﺘﺒﺎﺕ‬(
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﻪ‬uses‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ،‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﻭﺤﺩﺍﺕ‬
‫ﻓﻲ‬ ‫ﺘﺴﺘﺨﺩﻤﻬﺎ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬.‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﺎﻫﺯﻩ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻫﻨﺎﻙ‬
، ‫ﺒﺭﻨﺎﻤﺠﻙ‬ ‫ﻓﻲ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬‫ﺍﻨﺸﺎﺀ‬ ‫ﻴﻤﻜﻨﻙ‬ ‫ﺍﻭ‬‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﻭﺤﺩﺍﺘﻙ‬)‫ﺸﺭﺤﻬﺎ‬ ‫ﻭﺴﻴﺘﻡ‬
‫ﻭﻗﺘﻬﺎ‬ ‫ﻴﺤﻴﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ، ‫ﺒﺎﻟﺘﻔﺼﻴل‬. (‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﺍﺴﻡ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬unit،
‫ﺍﻟﻤﻜﺘﺒﺎﺕ‬ ‫ﺍﺴﻡ‬ ‫ﻤﻥ‬ ‫ﺒﺩل‬library.‫ﺍﺸ‬ ‫ﻭﻤﻥ‬‫ﻟﻐﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻬﺭ‬
‫ﺒﺎﺴﻜﺎل‬:wincrt‫ﻭ‬windos‫ﻭ‬strings‫ﻭﻏﻴﺭﻫﺎ‬.
‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﺍﺫﺍ‬//
Uses wincrt;
Uses wincrt, windos; { ‫ﺍﻻﺜﻨﻴﻥ‬ ‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ }
‫ﺍﻟﻭﺤﺩﻩ‬ ، ‫ﻤﺒﺴﻁ‬ ‫ﺒﺸﻜل‬unit‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬
‫ﺒﺭﻨﺎﻤ‬ ‫ﻓﻲ‬ ‫ﺘﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﺍﻟﺘﻰ‬‫ﻋﺒﺎﺭﻩ‬ ‫ﻤﺜﻼ‬ ، ‫ﺠﻙ‬writeln‫ﻭ‬readln)‫ﻨﺘﻁﺭﻕ‬ ‫ﺴﻭﻑ‬
‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬ ‫ﻟﻬﻤﺎ‬(‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﺩﺍﺨل‬ ‫ﺘﻀﻤﻴﻨﻬﺎ‬ ‫ﻭﺘﻡ‬ ، ‫ﺍﺠﺭﺍﺀﺍﺕ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬
wincrt.
‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻭﻫﺫﻩ‬ ، ‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﻭﺤﺩﻩ‬ ‫ﺍﻱ‬ ‫ﺍﺫﺍ‬
‫ﺘﻜﻭﻥ‬ ‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬، ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﺩﺍﺨل‬‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﻓﻌﻨﺩﻤﺎ‬، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺭ‬ ‫ﺍﻱ‬
‫ﺍ‬ ‫ﻴﺠﺏ‬‫ﺍﻋﻠﻨﺎ‬ ‫ﻨﻜﻭﻥ‬ ‫ﻥ‬‫ﺍﻻﻤﺭ‬ ‫ﻟﻬﺫﺍ‬ ‫ﺍﻟﻤﺘﻀﻤﻨﻪ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻋﻥ‬.
PDF created with pdfFactory trial version www.pdffactory.com
19
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬Var
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﻪ‬Var)‫ﻓﺈﻨﻪ‬ ، ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻋﻨﺩ‬
‫ﺍﻟﻌﺭﻴﺽ‬ ‫ﺒﺎﻟﺨﻁ‬ ‫ﺒﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﻴﻘﻭﻡ‬Bold(‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺸﻴﺭ‬
‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻓﻲ‬ ‫ﻤﺴﺎﺤﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺘﺴﺘﺨﺩﻤﻬﺎ‬‫ﺒﺎﺴﻜﺎل‬ ‫ﻴﺴﺘﺨﺩﻤﻬﺎ‬
‫ﺤﺴﺏ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻫﺫﻩ‬ ، ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺒﻌﺽ‬ ‫ﻟﺘﺨﺯﻴﻥ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻟﺤﻅﻪ‬ ‫ﻓﻲ‬ ‫ﺘﻌﺎﻟﺞ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬.‫ﻴﺠﺏ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﺴﻤﻴﻪ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬
‫ﺒﺭﻗﻡ‬ ‫ﻴﺒﺩﺃ‬ ‫ﻓﻼ‬ ، ‫ﺍﻟﻘﻭﺍﻋﺩ‬ ‫ﺒﻌﺽ‬ ‫ﻨﺘﺒﻊ‬ ‫ﺍﻥ‬‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﻤﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻭﻻ‬ ،..
‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﻤﻥ‬ ‫ﻭﻏﻴﺭﻫﺎ‬ ، ‫ﺍﻟﺦ‬‫ﺒﺎﻟﺘﻔﺼﻴل‬ ‫ﻻﺤﻘﺎ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﻨﻤﺭ‬.
‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﺘﺒﺩﺃ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻜل‬begin‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻭﺘﻨﺘﻬﻲ‬ ،
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬end.)‫ﺸﻲ‬ ‫ﻭﺍﻱ‬ ، ‫ﻫﻨﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻥ‬ ‫ﻭﻤﻌﻨﺎﻫﺎ‬ ، ‫ﺍﻟﻨﻘﻁﻪ‬ ‫ﻻﺤﻅ‬
‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺍﻟﻴﻬﺎ‬ ‫ﻴﻠﺘﻔﺕ‬ ‫ﻻ‬ ، ‫ﺍﻟﻨﻘﻁﺔ‬ ‫ﻫﺫﻩ‬ ‫ﺒﻌﺩ‬ ‫ﻴﻜﺘﺏ‬(.
‫ﺴ‬ ، ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻥ‬ ‫ﺘﺭﻯ‬ ‫ﻭﻑ‬
‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﻠﻐﻪ‬ ‫ﺍﻟﺨﺎﺼﻪ‬)‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻤﺜل‬if‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻭﺠﻤل‬ ،for(‫ﺘﺤﺘﺎﺝ‬
‫ﺒﺩﺍﻴﻪ‬ ‫ﺍﻟﻰ‬begin‫ﻭﻨﻬﺎﻴﻪ‬end;)‫ﺍﻟﻤﻨﻘﻭﻁﻪ‬ ‫ﺍﻟﻔﺎﺼﻠﻪ‬ ‫ﻻﺤﻅ‬;Semicolon. (
‫ﺍﻟﺠﻤل‬ ‫ﻫﺫﻩ‬)‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ‫ﺍﻟﺘﻰ‬begin‫ﻭ‬end;‫ﺒﻬﺎ‬ ‫ﺨﺎﺼﻪ‬(‫ﻤﺭﻜﺒﻪ‬ ‫ﺠﻤل‬ ‫ﺘﺴﻤﻰ‬
‫ﺍﻴ‬ ‫ﻭﺘﺴﻤﻰ‬‫ﻀﺎ‬Block.
‫ﺒﺎﻟﺠﻤﻠﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺩﺍﺌﻤﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻥ‬ ، ‫ﺘﻼﺤﻅ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬end.‫ﺍﻟـ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻤﺎ‬ ،
Block)‫ﺍﻟﻤﺭﻜﺒﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬(‫ﺒﺎﻟﺠﻤﻠﻪ‬ ‫ﺩﺍﺌﻤﺎ‬ ‫ﻴﻜﻭﻥ‬end;.
‫ﺴﻭﻑ‬‫ﻨﺘ‬‫ﺍﻟﻨﻘﺎﻁ‬ ‫ﻫﺫﻩ‬ ‫ﻋﻥ‬ ‫ﻜﻠﻡ‬‫ﺒﺎﻟﺘﻔﺼﻴل‬‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﺩﺭﻭﺱ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬!!
PDF created with pdfFactory trial version www.pdffactory.com
20
‫ﺍﻟﺘﻌﻠﻴـﻘﺎﺕ‬Comments
‫ﻭ‬ ‫ﻟﺘﻭﻀﻴﺢ‬ ، ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻴﻀﻌﻬﺎ‬ ‫ﻜﻠﻤﺎﺕ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬‫ﺍﻭ‬ ، ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺍﺤﺩ‬ ‫ﻅﻴﻔﻪ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻋﻥ‬ ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺒﻌﺽ‬ ‫ﻟﻜﺘﺎﺒﻪ‬)‫ﻤﺘﻰ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺩﺃ‬ ‫ﻤﺘﻰ‬ ‫ﻤﺜﻼ‬
‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻁﻭﻴﺭ‬ ‫ﺍﺨﺭ‬ ‫ﺃﻭ‬ ‫ﺍﻨﺘﻬﻰ‬. (
‫ﺍﻟﺘﻲ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺍﻟﻰ‬ ‫ﻭﺍﻟﺫﻫﺎﺏ‬ ‫ﺒﺘﺎﺠﻬﻠﻬﺎ‬ ‫ﻴﻘﻭﻡ‬ ، ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﻫﺫﻩ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﺭﻯ‬ ‫ﻭﻋﻨﺩﻤﺎ‬
‫ﺘـﻠﻴﻬ‬‫ﺎ‬)‫ﺘﻅﻬﺭ‬ ‫ﺒﻴﻨﻤﺎ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻭﻗﺕ‬ ‫ﺘﻅﻬﺭ‬ ‫ﻻ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻱ‬‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻟﻜﻭﺩ‬ ‫ﻓﻲ‬
source code(‫ﻭﻫﻤﺎ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻋﻴﻥ‬ ‫ﻭﻫﻨﺎﻙ‬:
1/(* This is Comments *)
2/{ This is another comments }
‫ﻤﻨﻬﻤﺎ‬ ‫ﺘﺸﺎﺀ‬ ‫ﻤﺎ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻴﻤﻜﻨﻙ‬ ، ‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﻓﺭﻕ‬ ‫ﻴﻭﺠﺩ‬ ‫ﻭﻻ‬.
‫ﻭﺍﻟﺠﻤﻠﻪ‬{Your program is here}‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬
‫ﻓﻲ‬ ‫ﻴﻨﻔﺫ‬ ‫ﻻ‬ ‫ﺘﻌﻠﻴﻕ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬.
‫ﺘﻌﻠﻴﻕ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬//
Program wajdy (input, output);
Uses wincrt;
Begin
Writeln ('hello im wajdy essam'); {print my name}
End.
PDF created with pdfFactory trial version www.pdffactory.com
21
‫ﺍﻻﺯﺭﻕ‬ ‫ﺒﺎﻟﻠﻭﻥ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺴﻭﻑ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﻓﻲ‬
‫ﺍﻟﺘﻌﻠﻴﻕ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ،‫ﺍﻟﻔﺎﺘﺢ‬{print my name}‫ﺍﺜﻨﺎﺀ‬ ‫ﻴﻅﻬﺭ‬ ‫ﻭﻟﻥ‬ ،
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬.
‫ﺒﺎﺨﺘﺼﺎﺭ‬ ‫ﺍﺫﺍ‬/‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻟﺩﻭﺍل‬ ‫ﺒﻌﺽ‬ ‫ﻋﻤل‬ ‫ﻻﻴﻀﺎﺡ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬
، ‫ﻟﻠﺒﻘﻴﻪ‬ ‫ﻤﻌﺭﻭﻓﻪ‬ ‫ﻭﻏﻴﺭ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻟﺩﻯ‬ ‫ﻤﻌﺭﻭﻓﻪ‬ ‫ﺘﻜﻭﻥ‬‫ﻟﻜﺘﺎﺒﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻴﻀﺎ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺤﻭل‬ ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺒﻌﺽ‬)‫ﻭﺘﺤﺩﻴﺜﻪ‬ ‫ﺍﻨﺸﺎﺀﻩ‬ ‫ﻜﻭﻗﺕ‬(‫ﺤﻭل‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺍﻭ‬
‫ﻨﻔﺴﻪ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬)‫ﻭﻋﻨ‬ ‫ﻜﺎﻻﺴﻡ‬‫ﺍﻻﻟﻜﺘﺭﻭﻨﻲ‬ ‫ﺍﻟﺒﺭﻴﺩ‬ ‫ﻭﺍﻥ‬. (
، ‫ﺍﻻﻁﻼﻕ‬ ‫ﻋﻠﻰ‬ ‫ﻤﻜﺎﻥ‬ ‫ﺍﻱ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﻤﻜﺎﻥ‬ ‫ﺍﻱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﺘﻜﻭﻥ‬
‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﻴﻔﻀل‬ ‫ﻟﻜﻥ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻫﺫﺍ‬
‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﺤﻭل‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻭﻅﻴﻔﻪ‬ ‫ﺤﻭل‬(‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﺠﺎﻨﺏ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺍﻭ‬ ،
‫ﻤﻌﺭ‬ ‫ﺍﻟﻐﻴﺭ‬‫ﺍﻟﻤ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ، ‫ﻭﻓﻪ‬‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺜﺎل‬)‫ﺍﻻﻤﺭ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬writeln‫ﻏﻴﺭ‬
‫ﻤﻌﺭﻭﻑ‬. (
‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻗﺒل‬ ‫ﻤﺎ‬
)‫ﺍﻟـ‬ ‫ﻗﺒل‬ ‫ﻤﺎ‬ ‫ﺍﻱ‬begin‫ﻭﺍﻟـ‬end.(‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﻴﺨﺼﺹ‬ ‫ﺍﻟﻤﻜﺎﻥ‬ ‫ﻫﺫﺍ‬
‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﺒﺠﻤﻴﻊ‬ ‫ﺍﻗﺼﺩ‬ ، ‫ﺒﺭﻨﺎﻤﺠﻙ‬ ‫ﻓﻲ‬ ‫ﺘﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﺠﻤﻴﻊ‬/
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺭﺍﺱ‬)‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬(‫ﺍ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻪ‬ ‫ﻴﻌﻠﻥ‬‫ﻟﻤﺤﺠﻭﺯﻩ‬program
‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬)‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬(‫ﺍﻟﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬uses
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻌﻨﻭﺍﻴﻥ‬label
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻗﺒل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤل‬type
PDF created with pdfFactory trial version www.pdffactory.com
22
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬)‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬(‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬‫ﺍ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬‫ﻟﻤﺤﺠﻭﺯﻩ‬Var
‫ﻋﻨ‬ ‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﺜﻭﺍﺒﺕ‬‫ﻬ‬‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﺎ‬const
‫ﺍﻻ‬‫ﺠﺭ‬‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﺀﺍﺕ‬‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬Procedure
‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬Function
‫ﺍﻟﺘﻔﺼﻴ‬ ‫ﻤﻥ‬ ‫ﺒﺸﻲﺀ‬ ، ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﻫﺫﻩ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺫﻜﺭ‬ ‫ﻭﺴﻴﺘﻡ‬‫ﻭﻗﺘﻬﺎ‬ ‫ﻴﺤﻴﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ل‬.
‫ﻻﺤﻅﺕ‬ ‫ﻜﻤﺎ‬)‫ﺫﻟﻙ‬ ‫ﺍﻅﻥ‬(‫ﺒﺎﻟﻔﺎﺼﻠﻪ‬ ‫ﻴﻨﺘﻬﻲ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬ ‫ﺴﻁﺭ‬ ‫ﺍﻱ‬ ‫ﺍﻥ‬
‫ﺍﻟﻤﻨﻘﻭﻁﻪ‬semicolon‫ﻭﻫﻲ‬( ; ).‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻔﺎﺼﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻌﻨﻰ‬)‫ﺍﻻﻤﺭ‬ ‫ﺍﻭ‬(
‫ﺍﻨﺘﻬﻰ‬.
‫ﻭﺍﻟـ‬ ‫ﺍﻟﻤﺴﺎﻓﺎﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬Tab‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﻜل‬ ‫ﻟﺘﺤﺴﻴﻥ‬:
‫ﺍﻟﻤﻘﺭﻭﺌﻴﻪ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺒﻬﺎ‬ ‫ﺘﺘﻤﻴﺯ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﻴﺯﺍﺕ‬ ‫ﻤﻥ‬Readability!!‫ﻤﺎﺫﺍ‬
‫ﺍﻟﺘﺘﺒﻊ‬ ‫ﻴﺴﻬل‬ ‫ﻭﺴﻬل‬ ‫ﻤﻨﻅﻡ‬ ‫ﺒﺸﻜل‬ ‫ﻤﻜﺘﻭﺏ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻥ‬ ‫ﺘﻌﻨﻲ‬ ‫؟‬ ‫ﺘﻌﻨﻲ‬
‫ﻓﻲ‬ ‫ﺘﺩﺭﺱ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺴﺎﺴﻴﻪ‬ ‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺠﻌﻠﺘﻬﺎ‬ ‫ﺍﻟﻤﻴﺯﻩ‬ ‫ﻫﺫﻩ‬ ،‫ﻴﺴﺭ‬ ‫ﺒﻜل‬ ‫ﻭﺍﻟﻘﺭﺍﺀﻩ‬
، ‫ﻭﺍﻟﺠﺎﻤﻌﺎﺕ‬ ‫ﺍﻟﻤﻌﺎﻫﺩ‬ ‫ﺍﻏﻠﺏ‬‫ﺍﻥ‬ ‫ﻴﻤﻜﻨﻙ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻴﺯﻩ‬ ‫ﻫﺫﻩ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﻻﻀﺎﻓﻪ‬
‫ﻓﺄﻜﺜ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﻜل‬ ‫ﻤﻥ‬ ‫ﺘﺤﺴﻥ‬‫ﺭ‬.‫ﺴﻴﺄﺘﻲ‬ ‫ﻜﻤﺎ‬.
‫ﻟ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﺍﻫﻡ‬ ‫ﻤﻥ‬‫ﻤﺎ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﺘﺎﺒﺔ‬ ‫ﻋﻨﺩ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﺩﻯ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻫﻭ‬ ،
‫ﻟﻠﺠﻤﻴﻊ‬ ‫ﻭﻤﻘﺭﻭﺀ‬ ‫ﻭﺍﻀﺢ‬)‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬(‫ﺍﺭﺍﺩ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ، ‫ﻨﻔﺴﻪ‬ ‫ﻟﻠﻤﺒﺭﻤﺞ‬ ‫ﺤﺘﻰ‬ ،
‫ﺍﻟﻜﻭﺩ‬ ‫ﻤﻥ‬ ‫ﻗﻁﻌﻪ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺍﻭ‬ ، ‫ﻤﺎ‬ ‫ﺨﻁﺄ‬ ‫ﺘﺼﺤﻴﺢ‬!!‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬
‫ﺘﻌﻠﻴﻘﺎ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﻭﺍﻴﻀﺎ‬ ‫ﻤﺭﺘﺏ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﻏﻴﺭ‬ ‫ﺩﻭﺍل‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺕ‬
‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﺫﻜﺭ‬ ‫ﺘﻡ‬ ‫ﻭﻗﺩ‬ ‫ﻤﺄﻟﻭﻓﻪ‬.
PDF created with pdfFactory trial version www.pdffactory.com
23
‫ﺍﻟﻰ‬ ‫ﻨﺄﺘﻲ‬‫ﻭﺫﻟﻙ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﻜل‬ ‫ﺘﺤﺴﻴﻥ‬‫ﺒ‬‫ﺍﻟـ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﺎﺴﺘﺨﺩﺍﻡ‬Tab‫ﻭﻫﻭ‬
‫ﺍﻟﺠﻬ‬ ‫ﻓﻲ‬ ‫ﻤﻭﺠﻭﺩ‬‫ﻪ‬‫ﺍﻟﻜﻴﺒﻭﺭﺩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻴﺴﺭﻯ‬.
‫ﺍﻻﺘﻲ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﺍﻨﻅﺭ‬)‫ﻋﺎﻤﻪ‬ ‫ﻓﻜﺭﻩ‬ ‫ﺨﺫ‬ ‫ﻓﻘﻁ‬ ، ‫ﺍﻻﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻔﻬﻡ‬ ‫ﺍﻥ‬ ‫ﺘﺘﻭﻗﻊ‬ ‫ﻻ‬(
‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬:
Program clean (I , o);
Uses wincrt;
Var
X: integer;
Begin
Read(x);
If x>10 then writeln (' bigger then 10 ')
Else
Writeln (' less then 10 ');
End.
‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬:
Program clean (I , o);
Uses wincrt;
Var
X: integer;
Begin
Read(x);
If x>10 then writeln (' bigger then 10 ')
Else
Writeln (' less then 10 ');
End.
PDF created with pdfFactory trial version www.pdffactory.com
24
‫ﺍﻻﻥ‬ ، ‫ﻓﻴﻬﻤﺎ‬ ‫ﺍﻟﻨﻅﺭ‬ ‫ﺘﻤﻌﻥ‬‫ﻨﻅﺭﻙ‬ ‫ﻓﻲ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺍﻻﺴﻬل‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬........‫؟؟‬
‫ﺒﻜﺜﻴﺭ‬ ‫ﺍﺴﻬل‬ ‫ﺍﻻﻭل‬ ‫ﺍﻅﻥ‬،‫ﻜﺫﻟﻙ‬ ‫ﺍﻟﻴﺱ‬!!‫ﺘﻡ‬ ‫ﻻﻨﻪ‬‫ﺍﻟـ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬Tab،‫ﻋﻥ‬ ‫ﺍﻤﺎ‬
‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻨﺹ‬ ‫ﺘﺤﺭﻙ‬ ‫ﺍﻥ‬ ‫ﺘﺭﻴﺩ‬ ‫ﻜﻨﺕ‬ ‫ﺍﺫﺍ‬ ، ‫ﺠﺩﺍ‬ ‫ﺴﻬﻠﻪ‬ ‫ﻓﻬﻲ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻪ‬ ‫ﻁﺭﻴﻘﻪ‬
‫ﻤﻔﺘﺎﺡ‬ ‫ﻀﻐﻁ‬ ‫ﻫﻭ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻤﺎ‬ ‫ﻜل‬Tab‫ﻭ‬‫ﺒﻌﺩ‬‫ﺍﻟﺠﻤﻠ‬ ‫ﻜﺘﺎﺒﻪ‬‫ﻪ‬‫ﻭﻀﻐﻁ‬enter‫ﺴﻭﻑ‬
‫ﻤﺒﺎﺸﺭﻩ‬ ‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﺴﻔل‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻴﻨﺘﻘل‬)‫ﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﻗﺒل‬ ‫ﺘﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻱ‬
‫ﺍﻟـ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬Tab. (
‫ﺍﻟﻌ‬ ‫ﺍﻅﻥ‬‫ﺍﺴﺘﺨﺩ‬ ‫ﻤﺤﺎﻭل‬ ‫ﻋﻨﺩ‬ ‫ﻟﻜﻥ‬ ، ‫ﻤﺎ‬ ‫ﻨﻭﻋﺎ‬ ‫ﺼﻌﺒﻪ‬ ‫ﻨﻅﺭﻴﺎ‬ ‫ﻤﻠﻴﻪ‬‫ﺍ‬‫ﺘﺠﺩﻫﺎ‬ ‫ﺴﻭﻑ‬ ‫ﻤﻬﺎ‬
، ‫ﺍﻟﺴﻬﻭﻟﻪ‬ ‫ﻏﺎﻴﻪ‬ ‫ﻓﻲ‬‫ﻭ‬‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺒﻌﺽ‬ ‫ﺒﻜﺘﺎﺒﻪ‬‫ﺍﻟﻌﺩﻴﺩﻩ‬‫ﺍﺼﺒﺤﺕ‬ ‫ﺍﻨﻙ‬ ‫ﺘﻼﺤﻅ‬ ‫ﺴﻭﻑ‬
‫ﺍﻻﻥ‬ ‫ﺍﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﺘﺩﺭﻙ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ‫ﺘﻘﻠﻕ‬ ‫ﻻ‬ ، ‫ﻜﺒﻴﺭﻩ‬ ‫ﺒﻤﻬﺎﺭﻩ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬ ‫ﻋﻠﻰ‬ ‫ﻗﺎﺩﺭﺍ‬.
‫ﻓ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺩل‬ ‫ﺒﺎﺴﻡ‬ ‫ﺘﺴﻤﻴﺘﻪ‬ ‫ﻴﺭﺍﻋﻰ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺴﻤﻴﻪ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬‫ﻭﻅﻴﻔﺘﻪ‬ ‫ﺍﻭ‬ ‫ﻌﻠﻪ‬
‫ﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﺴﻡ‬ ‫ﻨﻔﺴﻪ‬ ‫ﻫﻭ‬ ‫ﻭﻴﻜﻭﻥ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻭﻻ‬،‫ﺍﻴﻀﺎ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺎﻓﺎﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬،‫ﺍﻟﻁﻭﻴﻠﻪ‬ ‫ﻭﺍﻻﺴﻤﺎﺀ‬
‫ﺤﺭﻴﺹ‬ ‫ﻜﻥ‬ ، ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺘﺎﺘﺎ‬ ‫ﻤﺤﺒﺫﻩ‬ ‫ﻏﻴﺭ‬!!
‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺼﻁﻠﺤﺎﺕ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﺍﺴﺘﺨﺩﻤﻨﺎ‬ ‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﺼﻔﺤﺎﺕ‬ ‫ﻓﻲ‬‫ﺍﻅﻥ‬
‫ﻫﺫﻩ‬ ، ‫ﺘﻤﺎﻤﺎ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻁﺭﻴﻕ‬ ‫ﻓﻲ‬ ‫ﺍﻨﺕ‬ ‫ﻫﺫﺍ‬ ‫ﻜل‬ ‫ﻤﻊ‬ ، ‫ﺘﺠﻴﺩﻫﺎ‬ ‫ﺍﻭ‬ ‫ﺘﻔﻬﻤﻬﺎ‬ ‫ﻟﻡ‬ ‫ﺍﻨﻙ‬
‫ﺃﻱ‬ ‫ﻤﺴﺘﻭﻋﺏ‬ ‫ﻏﻴﺭ‬ ‫ﻨﻔﺴﻙ‬ ‫ﺴﺘﺠﺩ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ، ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺤﺎل‬ ‫ﻫﻰ‬
‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﻭﻗﺭﺍﺀﻩ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻜﺘﺎﺒﺔ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﻟﻜﻨﻙ‬ ‫ﺸﻲﺀ‬
‫ﻨﻔﺴﻙ‬ ‫ﺴﺘﺠﺩ‬ ‫ﺍﻟﺩﺭﻭﺱ‬‫ﻤﺒﺘﺩﺉ‬ ، ‫ﻤﺒﺭﻤﺞ‬J
PDF created with pdfFactory trial version www.pdffactory.com
25
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺜﺎﻟﺚ‬
‫ﺍﳌ‬‫ﻭﺍﻟﺜﻮﺍﺑﺖ‬ ‫ﺘﻐﲑﺍﺕ‬
‫ﺗﻘﺪﻡ‬ ‫ﺗﺴﺘﺨﺪﻣﻬﺎ‬ ‫ﺍﻟﱴ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻟﺘﺨﺰﻳﻦ‬ ‫ﻃﺮﻳﻘﻪ‬ ‫ﺍﺗﺒﺎﻉ‬ ‫ﺍﱃ‬ ‫ﺍﻟﱪﺍﻣﺞ‬ ‫ﲢﺘﺎﺝ‬
، ‫ﻭﻣﻌﺎﳉﺘﻬﺎ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻫﺬﻩ‬ ‫ﻟﺘﻤﺜﻴﻞ‬ ‫ﺍﻟﻄﺮﻕ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﻭﺍﳌﺘﻐﲑﺍﺕ‬ ‫ﺍﻟﺜﻮﺍﺑﺖ‬
‫ﺍﻟﻴﻮﻡ‬ ‫ﺳﺘﺘﻌﻠﻢ‬
v‫ﺍﻟﺸﺎﺷﻪ‬ ‫ﻋﻠﻰ‬ ‫ﲨﻠﻪ‬ ‫ﻃﺒﺎﻋﻪ‬ ‫ﻛﻴﻔﻴﻪ‬
v‫ﻛﻴﻔﻴ‬‫ﻭﺍﻟﺜﻮﺍﺑﺖ‬ ‫ﺍﳌﺘﻐﲑﺍﺕ‬ ‫ﻋﻦ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻪ‬‫ﻭﺗﻌﺮﻳﻔﻬﻤﺎ‬
v‫ﺍﻟﻘﻴﻢ‬ ‫ﺗﻌﻴﲔ‬ ‫ﻛﻴﻔﻴﻪ‬‫ﺍﻟﻘﻴﻢ‬ ‫ﻫﺬﻩ‬ ‫ﻭﻣﻌﺎﳉﻪ‬ ‫ﻟﻠﻤﺘﻐﲑﺍﺕ‬
v‫ﺍﻟﺸﺎﺷﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﳌﺘﻐﲑﺍﺕ‬ ‫ﺍﺣﺪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻛﺘﺎﺑﻪ‬ ‫ﻛﻴﻔﻴﻪ‬
PDF created with pdfFactory trial version www.pdffactory.com
26
‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬:
‫ﻟ‬ ‫ﺠﻤﻠﺘﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬‫ﻠ‬‫ﻁﺒﺎﻋﻪ‬‫ﻋﻠﻰ‬‫ﻭﻫﻡ‬ ‫ﺍﻟﺸﺎﺸﻪ‬:
1/write
2/writeln
‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﺍﻟﻔﺭﻕ‬:‫ﺍﻥ‬ ‫ﻫﻭ‬write‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺜﻡ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻴﻁﺒﻊ‬
‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬.
‫ﺠﻤﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬writeln‫ﻓﺎﻥ‬‫ﺍﻟ‬ ‫ﻟﻜﻥ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺘﻨﻁﺒﻊ‬ ‫ﺍﻟﺠﻤﻠﻪ‬‫ﻤ‬‫ﻴﻨﺘﻘل‬ ‫ﺅﺸﺭ‬
‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬.
‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺜﻼﺙ‬ ‫ﻫﻨﺎﻙ‬:
·‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬
·‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬
·‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬ ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬
‫ﺍﻻﻭل‬ ‫ﺍﻟﻨﻭﻉ‬
‫ﺒﻜﺘ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻨﺹ‬ ‫ﺍﻱ‬ ‫ﻟﻁﺒﺎﻋﻪ‬‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻤﺭ‬ ‫ﺎﺒﻪ‬)write‫ﺍﻭ‬
writeln(‫ﻗﻭﺱ‬ ‫ﺒﻔﺘﺢ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺜﻡ‬‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﺩﺍﺨﻠﻪ‬ ‫ﻭﻨﻜﺘﺏ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻭﺍﻏﻼﻗﻪ‬
‫ﺒﻘﻭﺱ‬ ‫ﻨﺤﻴﻁﻬﺎ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﻁﺒﺎﻋﺘﻬﺎ‬ ‫ﺍﻟﻤﺭﺍﺩ‬‫ﺼﻐﻴﺭ‬quote (')‫ﻤﻥ‬
‫ﺍﻟﺠﺎﻨﺒﻴﻥ‬)‫ﺤﺭﻑ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻜﺘﺎﺒﺘﻪ‬ ‫ﻴﺘﻡ‬)‫ﻁ‬(‫ﺍﻻﻨﺠﻠﻴﺯﻴﻪ‬ ‫ﺒﺎﻟﻠﻐﻪ‬(
PDF created with pdfFactory trial version www.pdffactory.com
27
‫ﻤﺜﻼ‬:
1/ Write (' wajdy ');
2/ Writeln (‘Welcome to My Program!! ‘);
‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻓﻲ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺴﻭﻑ‬)‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻋﻨﺩ‬(‫ﻜﻠﻤﻪ‬wajdy
‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻜﻭﻥ‬.
‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬Welcome to My Program !!
‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻴﻨﺘﻘل‬ ‫ﻭﺴﻭﻑ‬)‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺒﺴﺒﺏ‬writeln. (
‫ﻤﺜﺎل‬)‫ﻟﻡ‬‫ﻜﺎﻤل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻜﺘﺏ‬/ (
Begin
Writeln ('I learn Pascal');
Writeln ('Hi, there !');
End.
‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫﺫﺍ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬:
I learn Pascal
Hi, there
‫ﺒﺠﻤﻠﻪ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻜﻭﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬write،،
begin
Write('I learn Pascal');
Write ('Hi, there !');
end.
PDF created with pdfFactory trial version www.pdffactory.com
28
‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫﺫﺍ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬:
I learn Pascal Hi, there
‫ﺍﻥ‬ ‫ﻨﺭﻴﺩ‬ ‫ﺍﻨﻨﺎ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬‫ﻨﺘﺭﻙ‬‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﻭﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻴﻥ‬ ‫ﺴﻁﺭ‬ ‫ﻤﺴﺎﻓﻪ‬
‫ﺘﻜﺘﺏ‬ ‫ﺴﻭﻑ‬:writeln;
‫ﻤﺜﺎل‬//
‫ﺸﻜل‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﺨﺭﻯ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺜﻡ‬ ‫ﻓﺎﺭﻍ‬ ‫ﺴﻁﺭ‬ ‫ﻭﺘﺭﻙ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬
‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬::
Begin
Writeln ('My Name is wajdy essam');
Writeln;
Write (‘do you understand the lesson ');
End.
‫ﻜﺎﻻﺘﻲ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:
My name is wajdy essam
Do you understand the lesson?
Hello World‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﻠﻐﻪ‬ ‫ﻟﻙ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻭل‬
‫ﺍ‬ ‫ﻫﺫﻩ‬ ‫ﺘﺒﺩﺃ‬ ‫ﺃﻥ‬ ‫ﻭﻫﻭ‬ ، ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻜﺘﺏ‬ ‫ﻓﻲ‬ ‫ﻤﺘﺒﻊ‬ ‫ﺘﻘﻠﻴﺩ‬ ‫ﻫﻨﺎﻙ‬‫ﺒﺈﻨﺸﺎﺀ‬ ‫ﺩﺍﺌﻤﺎ‬ ‫ﻟﻜﺘﺏ‬
‫ﺒﺎﺴﻡ‬ ‫ﺒﺭﻨﺎﻤﺞ‬Hello‫ﺍﻟﺘﺭﺤﻴﺒﻴﻪ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺒﻌﺭﺽ‬ ‫ﻴﻘﻭﻡ‬Hello World‫ﻋﻠﻰ‬
‫ﺍﻟﺸﺎﺸﻪ‬.‫ﺒﺄﻥ‬ ‫ﺠﺩﻴﺭ‬ ‫ﺍﻟﻘﺩﻴﻡ‬ ‫ﺍﻟﺘﻘﻠﻴﺩ‬ ‫ﻭﻫﺫﺍ‬‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺒﻪ‬ ‫ﻴﺅﺨﺫ‬.
PDF created with pdfFactory trial version www.pdffactory.com
29
Program Hello (output);
Uses wincrt;
Begin
Writeln (‘Hello World ! ‘);
End.
‫ﺍ‬‫ﺒ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﺘﺏ‬‫ﻴﺌ‬‫ﺒﺘﺸﻐ‬ ‫ﺜﻡ‬ ‫ﺒﺘﺭﺠﻤﺘﻪ‬ ‫ﻭﻗﻡ‬ ، ‫ﺍﻟﺘﻁﻭﻴﺭ‬ ‫ﻪ‬‫ﻴ‬‫ﻠﻪ‬.‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﺴﺘﺠﺩ‬
‫ﺘﻌﺭﺽ‬:Hello World !
‫ﻟﻙ‬ ‫ﻓﺘﻬﺎﻨﻴﻨﺎ‬ ‫ﺫﻟﻙ‬ ‫ﺘﻡ‬ ‫ﺍﺫﺍ‬!‫ﻗﺩ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﻟﻙ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻭل‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﻨﺠﺤﺕ‬ ‫ﻓﻘﺩ‬
‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺍﻥ‬ ‫ﺘﺩﺭﻙ‬ ‫ﺍﻥ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻟﻜﻥ‬ ، ‫ﻟﻠﻐﺎﻴﻪ‬ ‫ﺒﺴﻴﻁﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﺒﺩﻭﺍ‬
‫ﺒﻬﺫﺍ‬ ‫ﺒﺩﺅﺍ‬ ‫ﺍﻟﻤﺤﺘﺭﻓﻴﻥ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬//
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻟﻜﺘﺎﺒﻪ‬ ‫ﻫﻭ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬Hello‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻥ‬ ‫ﻭﺤﻴﺙ‬ ،
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫل‬ ‫ﺒﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺍﻟﺘﻭﻀﻴﺤﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻨﺠﺩ‬ ، ‫ﻓﻘﻁ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻋﻠﻰ‬
‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻫﻲ‬ ، ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﺍﻭ‬ ‫ﻤﺩﺨﻼﺕ‬ ‫ﻟﻪ‬output‫ﻓﻘﻁ‬.
‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻫﻲ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺴﻁﺭ‬‫ﻻﻥ‬ ‫ﻭﻨﻅﺭﺍ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬
‫ﺍﻻﻤﺭ‬write‫ﻭ‬writeln‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﻤﻭﺠﻭﺩﻩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻫﻲ‬wincrt
‫ﻋﻨﻬﺎ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻓﻴﺠﺏ‬)‫ﻴﺘﻡ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻱ‬ ‫ﺍﺫﺍ‬
‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬. (
PDF created with pdfFactory trial version www.pdffactory.com
30
‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺒﺩﺍﻴﻪ‬ ‫ﻫﻭ‬ ، ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺴﻁﺭ‬begin.
‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻫﻭ‬ ، ‫ﺍﻟﺭﺍﺒﻊ‬ ‫ﺍﻟﺴﻁﺭ‬‫ﺠﻤﻠﻪ‬Hello World !‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬‫ﻭﺘﻡ‬ ،
‫ﺍﻻﻤﺭ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬writeln‫ﺘﻨﻔﻴﺫ‬ ‫ﺒﻌﺩ‬ ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﺴﻴﻨﺘﻘل‬ ‫ﺍﻱ‬ ،
‫ﺍﻻﻤﺭ‬.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻻﻨﻬﺎﺀ‬ ‫ﻫﻭ‬ ، ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﺴﻁﺭ‬end.)‫ﺍﻟﻨﻘﻁﻪ‬ ‫ﺘﻨﺴﻰ‬ ‫ﻻ‬(
‫ﺸﺭﺡ‬ ‫ﺒﻌﺩ‬ ‫ﺸﺭﺤﻬﻡ‬ ‫ﻴﺘﻡ‬ ‫ﺴﻭﻑ‬ ، ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬.
‫ﺍﻟﻤ‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬‫ﺘﻐﻴﺭ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻓﻲ‬variable، ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻟﺘﺨﺯﻴﻥ‬ ‫ﻤﻜﺎﻥ‬ ‫ﻫﻭ‬
‫ﺍﺴﺘﻌﺎﺩﻩ‬ ‫ﺜﻡ‬ ‫ﺒﺩﺍﺨﻠﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﺨﺯﻴﻥ‬ ‫ﻴﻤﻜﻨﻙ‬ ‫ﺤﻴﺙ‬ ‫ﺠﻬﺎﺯﻙ‬ ‫ﺒﺫﺍﻜﺭﻩ‬ ‫ﻤﻭﻗﻊ‬ ‫ﻫﻭ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬
‫ﺒﻌﺩ‬ ‫ﻓﻴﻤﺎ‬ ‫ﻤﻨﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻫﺫﻩ‬.
‫ﺨﺎﻨﻪ‬ ‫ﻭﻜل‬ ، ‫ﺍﻟﺨﺎﻨﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﻫﻴﺌﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺠﻬﺎﺯﻙ‬ ‫ﺫﺍﻜﺭﻩ‬ ‫ﺘﺼﻭﺭ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬
‫ﻤﺘﺭ‬ ‫ﺨﺎﻨﺎﺕ‬ ‫ﻋﺩﻩ‬ ‫ﻤﻥ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﺘﻤﺜل‬‫ﺍﻟﺨﺎﻨﺎﺕ‬ ‫ﻭﺠﻤﻴﻊ‬ ، ‫ﺍﺼﻪ‬)‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻤﻭﺍﻗﻊ‬ ‫ﺍﻭ‬(‫ﻴﺘﻡ‬
‫ﺘﺴﻠﺴﻠﻴﺎ‬ ‫ﺘﺭﻗﻴﻤﻬﺎ‬.
‫ﺍﻜﺜﺭ‬ ‫ﺃﻭ‬ ‫ﺨﺎﻨﻪ‬ ‫ﺒﺤﺠﺯ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﻘﻭﻡ‬ ، ‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻋﻨﺎﻭﻴﻥ‬ ‫ﺒﺄﻨﻬﺎ‬ ‫ﺍﻻﺭﻗﺎﻡ‬ ‫ﻫﺫﻩ‬ ‫ﺘﻌﺭﻑ‬
‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺤﺩﻯ‬ ‫ﻓﻴﻬﺎ‬ ‫ﺘﺨﺯﻥ‬ ‫ﺒﺤﻴﺙ‬.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﺴﻡ‬ ‫ﺴﻴﻤﺜل‬)‫ﻭﻟﻴﻜﻥ‬myvariable(‫ﺍﺤﺩﻯ‬ ‫ﻋﻠﻰ‬ ‫ﻤﻠﺼﻘﻪ‬ ‫ﻋﻨﻭﻨﻪ‬ ‫ﺒﻁﺎﻗﻪ‬
‫ﺍﻟﻭﺼﻭ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﺒﺤﻴﺙ‬ ‫ﺍﻟﺨﺎﻨﺎﺕ‬ ‫ﻫﺫﻩ‬‫ﻓﻲ‬ ‫ﻋﻨﻭﺍﻨﻪ‬ ‫ﻤﻌﺭﻓﻪ‬ ‫ﺒﺩﻭﻥ‬ ‫ﺴﺭﻴﻌﺎ‬ ‫ﺍﻟﻴﻪ‬ ‫ل‬
، ‫ﺍﻟﺫﺍﻜﺭﻩ‬
PDF created with pdfFactory trial version www.pdffactory.com
31
‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻴﻤﺜل‬ ‫ﺘﺨﻁﻴﻁﺎ‬ ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻴﻌﺭﺽ‬.، ‫ﺍﻟﺸﻜل‬ ‫ﻤﻥ‬ ‫ﻴﺘﻀﺢ‬ ‫ﻭﻜﻤﺎ‬
‫ﻴﺒﺩ‬‫ﺃ‬‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻋﻨﻭﺍﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬102.‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺤﺠﻡ‬ ‫ﺍﻟﻰ‬ ‫ﻭﺍﺴﺘﻨﺎﺩﺍ‬
myvraiable‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻋﻨﺎﻭﻴﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺃﻭ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻴﺄﺨﺫ‬ ‫ﻓﻘﺩ‬.
‫ﺤﺠ‬‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﺯ‬//
‫ﻫﺫﺍ‬ ‫ﺒﻨﻭﻉ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺘﺨﺒﺭ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻻﺤﺩ‬ ‫ﺘﻌﺭﻴﻔﻙ‬ ‫ﻋﻨﺩ‬
‫ﺼﺤﻴﺢ‬ ‫ﻋﺩﺩ‬ ‫ﻫﻭ‬ ‫ﻫل‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭ‬Integer‫ﺤﺭﻑ‬ ‫ﺍﻡ‬character‫؟‬ ‫ﺫﻟﻙ‬ ‫ﻏﻴﺭ‬ ‫،ﺍﻡ‬
‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻨﻭﻉ‬ ‫ﻭﻜﺫﻟﻙ‬ ‫ﺴﻴﺤﺠﺯﻫﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺒﺎﻟﻤﺴﺎﺤﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺘﺨﺒﺭ‬ ‫ﺍﻟﻤﻌﻠﻭﻤﻪ‬ ‫ﻫﺫﻩ‬
‫ﺒﺎﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﺨﺯﻴﻨﻬﺎ‬ ‫ﺍﻟﻤﺭﺍﺩ‬
‫ﺒ‬ ‫ﻭﺍﺤﺩ‬ ‫ﺘﺸﻐل‬ ‫ﺨﺎﻨﻪ‬ ‫ﻜل‬‫ﺎﻴﺕ‬.، ‫ﺒﺎﻴﺕ‬ ‫ﺍﺭﺒﻌﻪ‬ ‫ﺘﻨﺸﺌﻪ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺤﺠﻡ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬
‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻴﺕ‬ ‫ﺍﺭﺒﻌﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺤﺘﺎﺝ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻩ‬ ‫ﻓﻬﺫﺍ‬.‫ﺨﺎﻨﺎﺕ‬ ‫ﺍﺭﺒﻌﻪ‬ ‫ﺍﻭ‬.‫ﻴﺨﺒﺭ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻨﻭﻉ‬)‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﻤﺜل‬integer(‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﺒﻤﻘﺩﺍﺭ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬)‫ﻋﺩﺩ‬
‫ﺍﻟﺨﺎﻨﺎﺕ‬(‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺴﻴﺤﺠﺯﻫﺎ‬ ‫ﺍﻟﺘﻰ‬.
‫ﺍﻟﻤﺨﺘﻠ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻫﻨﺎﻙ‬،، ‫ﻤﺨﺘﻠﻔﻪ‬ ‫ﺒﺄﺒﻌﺎﺩ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬ ‫ﻔﻪ‬
‫ﺍﻴﻀﺎ‬ ‫ﻤﺨﺘﻠﻔﻪ‬ ‫ﻭﺤﺠﻭﻡ‬!!‫ﺍﺸﻬﺭﻫﺎ‬ ‫ﻫﻲ‬ ‫ﻫﺫﻩ‬::
Myvariable‫اﺳﻢ‬‫اﻟﻤﺘﻐﯿﺮ‬
‫اﻟﺬاﻛﺮه‬
‫اﻟﻌﻨﻮان‬ 100 104103
102
101 102
PDF created with pdfFactory trial version www.pdffactory.com
32
‫ﺍﻴ‬ ‫ﻴﻭﺠﺩ‬‫ﺍﻟ‬ ‫ﻀﺎ‬‫ﻤﺯﻴﺩ‬‫ﻨﺤﺘﺎ‬ ‫ﻤﺎ‬ ‫ﻜل‬ ‫ﻫﺫﺍ‬ ‫ﻟﻜﻥ‬ ،‫ﺠ‬‫ﺍﻻﻥ‬ ‫ﻪ‬.
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬
‫ﺴﺎﺒﻘ‬ ‫ﺭﺃﻴﻨﺎ‬ ‫ﻜﻤﺎ‬‫ﹰ‬‫ﺎ‬)‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻴﻭﻡ‬(‫ﻋﺒﺎﺭﻩ‬ ‫ﺭﺃﻴﻨﺎ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻓﻲ‬
var‫ﻓﻲ‬ ‫ﻨﺤﺘﺎﺠﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻋﻥ‬ ‫ﻨﻌﻠﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻨﺎ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬)‫ﺍﻟﺒﺭﻨﺎ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻁﻠﻭﺏ‬ ‫ﺤﺴﺏ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻟﻪ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻜل‬‫ﻤﺞ‬(.
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬:
‫ﺍﺴ‬‫ـ‬‫ﺍﻟ‬ ‫ﻡ‬‫ــ‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻨﻭﻋﻪ‬: ;
variablename : type
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﺴﻡ‬‫ﺍﻟﻤـ‬‫ــ‬)‫ﻤﻥ‬(‫ـــــ‬)‫ﺍﻟﻰ‬(‫ــﺩﻯ‬‫ﺍﻟﺤﺠﻡ‬‫ﺍﻟﻨﻭﻉ‬
Shortint-128‫ﺍﻟﻰ‬+1271‫ﺒﺎﻴﺕ‬integer
Byte0‫ﺍﻟﻰ‬2551‫ﺒﺎﻴﺕ‬integer
Integer-32768‫ﺍﻟﻰ‬+327672‫ﺒﺎﻴﺕ‬integer
Word0‫ﺍﻟﻰ‬655352‫ﺒﺎﻴﺕ‬integer
Longint-2146473648‫ﺍﻟﻰ‬+21464736474‫ﺒﺎﻴﺕ‬integer
Real-???????‫ﺍﻟﻰ‬+???????6‫ﺒﺎﻴﺕ‬fractional
String‫ﺒﺤﺩﻭﺩ‬255‫ﺤﺭﻑ‬255‫ﺒﺎﻴﺕ‬‫ﺭﻗﻤﻰ‬ ‫ﻏﻴﺭ‬
Char‫ﺤﺭﻑ‬‫ﻭﺍﺤﺩ‬‫ﻓﻘﻁ‬1‫ﺒﺎﻴﺕ‬‫ﺭﻗﻤﻰ‬ ‫ﻏﻴﺭ‬
BooleanTrue - False1‫ﺒﺎﻴﺕ‬‫ﺭﻗﻤﻰ‬ ‫ﻏﻴﺭ‬
PDF created with pdfFactory trial version www.pdffactory.com
33
Variablename
‫ﺍﻻﺴﻡ‬ ‫ﺩﺍﺨل‬ ‫ﻤﺴﺎﻓﺎﺕ‬ ‫ﻭﻀﻊ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻻ‬ ‫ﻟﻜﻨﻙ‬ ، ‫ﺘﺭﻴﺩ‬ ‫ﻜﻴﻔﻤﺎ‬ ‫ﺍﺴﻡ‬ ‫ﺍﻱ‬ ‫ﺘﻀﻊ‬ ‫ﻫﻨﺎ‬.‫ﺍﻭ‬
، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﻤﺎﺀ‬ ‫ﺍﺤﺩ‬ ‫ﻓﻲ‬ ‫ﺒﺭﻗﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬‫ﺍ‬ ‫ﺍﺴﻤﺎﺀ‬ ‫ﺒﻴﻥ‬ ‫ﻭﻤﻥ‬‫ﺍﻟﺘﻰ‬ ‫ﻟﻤﺘﻐﻴﺭﺍﺕ‬
‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬ ‫ﺘﺴﺘﻁﻴﻊ‬x‫ﻭ‬myage‫ﻭﻫﻜﺫﺍ‬،‫ﺍﻟﺘﻰ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺠﻴﺩﻩ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﻤﺎﺀ‬
‫ﺍﻟﺠﻴﺩﻩ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ، ‫ﻟﻬﺎ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺒﺎﻟﻌﻨﺎﺼﺭ‬ ‫ﺘﻌﺭﻓﻙ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺴﻴﺭ‬ ‫ﺨﻁﻭﺍﺕ‬ ‫ﻭﺍﺴﺘﻌﻴﺎﺏ‬ ‫ﻓﻬﻡ‬ ‫ﻤﻥ‬ ‫ﻴﺴﻬل‬.
‫ﻤﺜﺎل‬//
Var
X:integer;
Y:string;
A,b:char; { ‫ﻟﻼ‬‫ﻭﺍﺤﺩ‬ ‫ﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭﻴﻥ‬ ‫ﻋﻥ‬ ‫ﻋﻼﻥ‬ }
‫ﺘﺨﺼﻴﺹ‬ ‫ﻴﺘﻡ‬ ، ‫ﻤﺘﻐﻴﺭ‬ ‫ﻋﻥ‬ ‫ﺍﻋﻼﻨﻙ‬ ‫ﻋﻨﺩ‬)‫ﺤﺠﺯ‬(‫ﻗﻴﻤﻪ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻟﻬﺫﺍ‬ ‫ﺍﻟﺫﺍﻜﺭﻩ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻫﺫﺍ‬، ‫ﺍﻟﻭﻗﺕ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﺫﺍﻜﺭﻩ‬ ‫ﻭﺠﻭﺩﻫﺎ‬ ‫ﺘﺼﺎﺩﻑ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻱ‬ ‫ﺴﺘﻜﻭﻥ‬
‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻟﻬﺫﻩ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬ ‫ﺴﺘﻌﺭﻑ‬.
‫ﺍﻟﺘﺴﻤﻴﻪ‬ ‫ﻓﻲ‬ ‫ﻋﺎﻤﻪ‬ ‫ﻭﻜﻘﺎﻋﺩﻩ‬:
·‫ﺍﻻﺴﻤﺎ‬ ‫ﺘﺠﻨﺏ‬ ‫ﺤﺎﻭل‬‫ﻤﺜل‬ ‫ﺍﻟﻤﺒﻬﻤﻪ‬ ‫ﺀ‬j5d8g
·‫ﺍﻟﻭﺍﺤﺩ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﺫﺍﺕ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺤﺎﻭل‬x‫ﻭ‬i
·‫ﻤﺜل‬ ‫ﺍﻟﻤﻌﺒﺭﻩ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺤﺎﻭل‬count‫ﻭ‬MyAge
PDF created with pdfFactory trial version www.pdffactory.com
34
‫ﻟﻤﺘﻐﻴﺭﺍﺘﻙ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺘﻌﻴﻴﻥ‬
‫ﻻﺴﻨﺎﺩ‬)‫ﺘﻌﻴﻴﻥ‬(‫ﻤﻌﻴﻨﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬،‫ﺍﻻﺘﻲ‬ ‫ﺒﺎﻟﺸﻜل‬ ‫ﻜﺘﺎﺒﺘﻪ‬ ‫ﻴﺠﺏ‬:
var_name:= value;
‫ﻴ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻭﻫﺫﺍ‬‫ﺒﺩﺍﻴﻪ‬ ‫ﺩﺍﺨل‬ ‫ﻜﻭﻥ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﺍﻟـ‬ ‫ﺒﻌﺩ‬ ‫،ﺃﻱ‬begin
‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬.
‫ﻤﺜﺎل‬//
Var
X: integer;
Begin
X: = 10;
Writeln(x);
End.
‫ﻗﻴﻤﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬X‫ﻭﺘﺴﺎﻭﻱ‬10.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬:
‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﻭﺍﻟﻭﺤﺩﻩ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺒﻌﺩ‬‫ﻟﻡ‬‫ﺍﻜﺘﺒﻬﻤﺎ‬‫ﺍﻻﺨﺘﺼﺎﺭ‬ ‫ﺒﻐﺭﺽ‬
، ‫ﻭﺍﻟﺴﺭﻋﻪ‬‫ﺒﻨﻔﺴﻙ‬ ‫ﺒﻜﺘﺎﺒﺘﻬﻤﺎ‬ ‫ﻗﻡ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬(‫ﺒﺎﻻﻋﻼﻥ‬ ‫ﻨﻘﻭﻡ‬
‫ﻟﻬﺎ‬ ‫ﺍﻟﻤﺨﺼﺹ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬،‫ﺒﺘﻌﺭﻴﻑ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻭﻓﻲ‬x‫ﻤﻥ‬
‫ﺍﻟﻨﻭﻉ‬integer‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﺜﻡ‬ ، ‫ﺼﺤﻴﺢ‬ ‫ﻜﻌﺩﺩ‬ ‫ﺃﻱ‬‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﻭﺫﻟﻙ‬‫ﺍﻟﻌﺒﺎﺭﻩ‬
begin‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺒﻌﺩﻫﺎ‬ ،)‫ﺍﺴﻨﺎﺩ‬(‫ﺍﻟﺭ‬‫ﻗﻡ‬10‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﻰ‬x‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺜﻡ‬ ،
PDF created with pdfFactory trial version www.pdffactory.com
35
‫ﺍﻟﻤﺘﻐﻴﺭ‬x‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬writeln(x)‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﻟﻡ‬ ‫ﺍﻨﻨﺎ‬ ‫ﻻﺤﻅ‬
‫ﺍﻟﺼﻐﻴﺭﻩ‬ ‫ﺍﻻﻗﻭﺍﺱ‬' ')‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﻭ‬ ‫ﻭﻫﺫﺍ‬(.
‫ﻤﻨﻁﻘﻰ‬ ‫ﺴﺅﺍل‬ ‫؟؟؟‬ ‫ﻨﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﻟﻡ‬ ‫ﻟﻤﺎﺫﺍ‬!!
‫ﺍﻗﻭﺍﺱ‬ ‫ﺒﺩﻭﻥ‬ ‫ﻓﻨﻜﺘﺒﻬﺎ‬ ‫ﻤﺎ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻨﻁﺒﻊ‬ ‫ﺍﻥ‬ ‫ﻨﺭﻴﺩ‬ ‫ﻋﻨﺩﻤﺎ‬)‫ﺍﻟﻨ‬‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﻉ‬(.
‫ﺒﺎﻻﻗﻭﺍﺱ‬ ‫ﻨﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﻫﻲ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬)‫ﺍﻻﻭل‬ ‫ﺍﻟﻨﻭﻉ‬(.
‫ﻤﺜﺎل‬)‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬x‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string(//
Write (' I Learn Pascal ');
X: = ‘O.k.’;
Writeln(x);
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬)‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬// (
I Learn Pascal O.K
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﻫﻭ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬I Learn Pascal‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻤﺭ‬ ‫ﺍﻥ‬ ‫ﻭﺤﻴﺙ‬
‫ﻫﻭ‬write‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻓﺈﻥ‬.
‫ﺍﻟﻜﻠﻤﻪ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﺘﻡ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺴﻁﺭ‬o.k‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻲ‬x.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻫﻭ‬ ، ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺴﻁﺭ‬x)‫ﻭﻫﻲ‬o.k. (
‫ﺍﺨﺭ‬ ‫ﻤﺜﺎل‬//
‫ﻗﻴﻤﻪ‬ ‫ﻫﻲ‬ ‫ﻤﺎ‬ ‫ﻗﺭﺭ‬x‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬integer‫؟‬
PDF created with pdfFactory trial version www.pdffactory.com
36
X: = 10;
X: = 2;
Write(x);
‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬‫ﻫﻲ‬/2
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﻗﻴﻤﻪ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﺘﻡ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬x‫ﻭﻫﻲ‬10‫ﺘﻌﻴﻴﻥ‬ ‫ﺘﻡ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﺜﻡ‬ ،
‫ﻟﻠـ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﻗﻴﻤﻪ‬x)‫ﻭﻫﻲ‬ ‫ﺒﺩﻟﻬﺎ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻭﺘﻌﻴﻴﻥ‬ ‫ﺍﻟﻘﺩﻴﻤﻪ‬ ‫ﻤﺴﺢ‬ ‫ﺘﻡ‬ ‫ﺍﻱ‬2(‫ﻭﻓﻲ‬
‫ﻗﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺘﻡ‬ ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﺴﻁﺭ‬x‫ﻭﻫﻲ‬ ،2.
‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬
‫ﺍﻻﺘﻲ‬ ‫ﺒﺎﻟﺸﻜل‬ ‫ﻭﺘﻜﻭﻥ‬ ، ‫ﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬ ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻭﻫﻭ‬//
1.Writeln (‘The total is ‘, x);
2.Writeln (‘my name is: ‘, n, ‘my family name is:’, f);
‫ﻗﻴﻤﻪ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬x‫ﺘﺴﺎﻭﻱ‬100
‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬/
The total is 100
‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬‫ﻗﻴﻤﻪ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬ ‫ﺍﻟﺜﺎﻨﻲ‬n‫ﺘﺴﺎﻭﻱ‬wajdy‫ﻭﻗﻴﻤﻪ‬f‫ﺘﺴﺎﻭﻱ‬essam
‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬/
My name is: wajdy my family name is: essam
PDF created with pdfFactory trial version www.pdffactory.com
37
‫ﻤﻨﻪ‬ ‫ﻭﺍﻟﻐﺭﺽ‬ ، ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﻭ‬ ‫ﻭﻫﺫﺍ‬‫ﺍﻻ‬‫ﺨﺘﺼﺎﺭ‬
‫ﻓ‬‫ﻘﻁ‬!‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻨﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﻓﺒﺩل‬)‫ﺍﻻﻭل‬ ‫ﺍﻟﻨﻭﻉ‬(‫ﺠﻤﻠﻪ‬ ‫ﻨﻜﺘﺏ‬ ‫ﺜﻡ‬
‫ﻁﺒﺎﻋﻪ‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬)‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬(‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺜﻨﺎﻥ‬ ‫ﺘﺼﺒﺢ‬ ،
‫ﻭﺍﺤﺩﻩ‬‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﺍﻟﺘﻔﺭﻴﻕ‬ ‫ﻭﻴﺘﻡ‬ ،)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬ ‫ﺍﻟﻨﺹ‬ ‫ﺒﻴﻥ‬ ‫ﺍﻱ‬(‫ﺒﻭﺍﺴﻁﻪ‬
‫ﻓﺎﺼﻠﻪ‬(,).
‫ﺠﻤﻠﻪ‬‫ﻋﻠﻰ‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬‫ﺍﻟﺸﺎﺸﻪ‬:
‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﻓﻲ‬ ‫ﻤﺎ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﺎﺩﺨﺎل‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ، ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﻤﻥ‬ ‫ﻜﺜﻴﺭ‬
‫ﻋﻠﻰ‬ ‫ﻭﺍﻋﺘﻤﺎﺩﺍ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﺴﻭﻑ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻫﺫﻩ‬‫ﻨﺘﺎﺌﺞ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺘﻜﻭﻥ‬.
‫ﻭ‬‫ﻓ‬‫ﻭﻫﻲ‬ ‫ﺍﻻ‬ ‫ﻟﻠﻘﺭﺍﺀﻩ‬ ‫ﺠﻤﻠﺘﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻲ‬/
1/read
2/readln
‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﺍﻟﻔﺭﻕ‬:
‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﻲ‬read، ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺩﺨﻠﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻴﺘﻡ‬ ،
‫ﻭ‬‫ﺍﻟ‬ ‫ﻴﺘﻭﻗﻑ‬‫ﻗﺭﺍﺌﺘﻪ‬ ‫ﺘﻤﺕ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺍﺨﺭ‬ ‫ﻋﻨﺩ‬ ‫ﻤﺅﺸﺭ‬.‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻨﺯل‬ ‫ﺍﻻﺨﺭ‬ ‫ﻭﻓﻲ‬
‫ﺍﻟﺘﺎﻟﻲ‬.
‫ﺍﺭ‬‫ﺍﻻﺩﺨﺎل‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﺍﻨﻭﻩ‬ ‫ﺍﻥ‬ ‫ﻴﺩ‬"‫ﻤﺴﺎﻓﻪ‬ ‫ﺜﻡ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﺍﺩﺨﻠﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻴﻬﻡ‬ ‫ﻻ‬
‫ﺍﺩﺨﻠﺕ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﺜﻡ‬‫ﺍﻟﻌﺩﺩ‬‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﺜﻡ‬ ‫ﺍﻨﺘﺭ‬ ‫ﺜﻡ‬ ‫ﺍﻻﻭل‬. "
‫ﺍﻻﺩﺨﺎل‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬:
PDF created with pdfFactory trial version www.pdffactory.com
38
Begin
Write(‘Enter you number: ‘);
Readln(x);
Writeln (‘You Number is: ‘, x);
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﻭﻫﻭ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻨﺹ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺃ‬Enter you number:‫ﻭﻓﻲ‬ ‫ﺍﻻﻥ‬
‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬)‫ﻫﻲ‬ ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﺒﺴﺒﺏ‬write(‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺴﻭﻑ‬
x)‫ﺒﻨﻔﺴﻙ‬ ‫ﺒﺘﻌﺭﻴﻔﻪ‬ ‫ﻗﻡ‬!. (‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻨﺘﻘل‬.
‫ﺴﻭﻑ‬ ‫ﺍﺨﻴﺭﺍ‬‫ﻨﺹ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻨﻘﻭﻡ‬+‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬)‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻭﻫﻭ‬
‫ﺍﻟﻁﺒﺎﻋﻪ‬. (
‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬
Program example (input, output);
Uses wincrt;
Var
X: integer;
S: string;
Begin
Write ('Enter your Name: ');
Readln(s);
Write ('Enter your Age: ');
Readln(x);
Writeln ('Your Name is: ',s,' your age is: ',x);
End.
PDF created with pdfFactory trial version www.pdffactory.com
39
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬
Enter your Name: wajdy
Enter your Age: 20
Your Name is: wajdy your age is: 20
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻟﻤﺴ‬ ‫ﻟﻠﻭﺤﺩﻩ‬ ‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻻﺴﻡ‬ ‫ﺍﻻﻭل‬ ‫ﻤﻌﺭﻭﻓﻴﻥ‬ ، ‫ﺍﻻﻭﻟﻴﻥ‬ ‫ﺍﻟﺴﻁﺭﻴﻥ‬‫ﺘﺨﺩﻤﻪ‬
)‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻻﻥ‬ ‫ﻨﻅﺭﺍ‬)‫ﻋﺒﺎﺭﻩ‬writeln(‫ﻭﺤﺩﻩ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺍﻥ‬ ‫ﻓﻴﺠﺏ‬
wincrt(.
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﻫﻭ‬ ، ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺴﻁﺭ‬.‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬ ‫ﻭﻗﺩ‬x‫ﻤﻥ‬
‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬integer‫ﻭﺍﻟﻤﺘﻐﻴﺭ‬ ،s‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺒﺩﺍﻴﻪ‬ ‫ﺍﻟﺭﺍﺒﻊ‬ ‫ﺍﻟﺴﻁﺭ‬begin‫ﺍﻟﺴﻁﺭ‬ ،‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻟﺨﺎﻤﺱ‬Enter
your Name:‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻜﻭﻥ‬‫ﺍﻟﺴﺎﺩﺱ‬ ‫ﻭﺍﻟﺴﻁﺭ‬ ،
‫ﻗﻴﻤﻪ‬ ‫ﻟﻘﺭﺍﺀﻩ‬s‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﻭﺍﻻﻨﺘﻘﺎل‬‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻟﺴﺎﺒﻊ‬ ‫ﺍﻟﺴﻁﺭ‬ ،
Enter your Age:‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻜﻭﻥ‬‫ﺍﻟﺴﻁﺭ‬ ،
‫ﻗﻴﻤﻪ‬ ‫ﻟﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﺜﺎﻤﻥ‬x‫ﺍﻟﻤﺅ‬ ‫ﻭﻴﻨﺘﻘل‬‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺸﺭ‬.
‫ﺍﻟﻨﺹ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺘﺎﺴﻊ‬ ‫ﺍﻟﺴﻁﺭ‬Your Name is‫ﺍﻟ‬ ‫ﻭﻗﻴﻤﻪ‬‫ﻤﺘﻐﻴﺭ‬s
‫ﺍﻟﻨﺹ‬ ‫ﻭﻁﺒﺎﻋﻪ‬your age is:‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬x.
PDF created with pdfFactory trial version www.pdffactory.com
40
‫ﺍﻟﺜﻭﺍﺒﺕ‬Constants
‫ﻗﻴﻤ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﻻ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺜﺎﺒﺘﻪ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻨﺠﺩ‬ ‫ﻤﻨﺎ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﺍﻟﻭﺍﻗﻌﻴﻪ‬ ‫ﺤﻴﺎﺘﻨﺎ‬ ‫ﻓﻲ‬‫ﺘﻬﺎ‬
‫ﺍﺒﺩﺍ‬‫ﻤﺜﻼ‬ ،/
Pi = 3.1415926513 , e = 2.7182818284529
‫ﺍﻻﻗل‬ ‫ﻋﻠﻰ‬ ‫ﻤﻨﺎ‬ ‫ﻟﻠﺒﻌﺽ‬ ، ‫ﺤﻔﻅﻬﺎ‬ ‫ﺍﻟﺼﻌﺏ‬ ‫ﻤﻥ‬ ‫ﺍﻻﺭﻗﺎﻡ‬ ‫ﻫﺫﻩ‬‫ﻟﻠﺫﻙ‬ ،‫ﺘﻘﺩﻡ‬ ‫ﺒﺎﺴﻜﺎل‬
‫ﻟﻠﺜﻭﺍﺒﺕ‬ ‫ﺠﻴﺩﻩ‬ ‫ﺍﺩﺍﻩ‬‫ﻤﺜﻼ‬ ‫ﻓﻴﻬﺎ‬ ‫ﻤﺴﺒﻘﺎ‬ ‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺩﻭﺍل‬ ‫ﺒﻌﺽ‬ ‫ﺘﻭﺠﺩ‬ ‫ﺍﻴﻀﺎ‬ ،pi.
‫ﺍﻟﺜﻭﺍﺒﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬
‫ﺍﻻﺘﻲ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻴﺄﺨﺫ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻓﻭﻕ‬ ‫ﻋﺎﺩﻩ‬ ‫ﻴﻜﻭﻥ‬/
;‫ﻗﻴﻤﺘﻪ‬:‫ﺍﻟﺜﺎﺒﺕ‬ ‫ﺍﺴـﻡ‬
Constname: Value;
‫ﺍﻻﻋﻼﻥ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬
Const
Myconst = 1234 ;
‫ﺍﻟﺜﺎﺒﺕ‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬myconst‫ﻗﻴﻤﺘﻪ‬ ‫ﺘﻜﻭﻥ‬ ،1234‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﻭﻻ‬ ،
‫ﺩﺭﺱ‬ ‫ﺭﺍﺠﻊ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﺴﻤﻴﻪ‬ ‫ﺸﺭﻭﻁ‬ ‫ﻟﻨﻔﺱ‬ ‫ﺘﺨﻀﻊ‬ ‫ﺍﻟﺜﻭﺍﺒﺕ‬ ‫ﺘﺴﻤﻴﻪ‬ ‫ﺍﻥ‬ ‫ﻜﻤﺎ‬ ،
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬.
‫ﺍﻟﺜﻭﺍﺒﺕ‬ ‫ﻻﺴﺘﺨﺩﺍﻡ‬ ‫ﺒﺴﻴﻁ‬ ‫ﻤﺜﺎل‬//
PDF created with pdfFactory trial version www.pdffactory.com
41
Program example (input, output);
Uses wincrt;
Const
Mc=50;
Var
X: integer;
Begin
X: = 2;
Write(x*mc);
End.
‫ﺃﺭﺃﻴﺕ‬، ‫ﺍﻻﺴﺘﺨﺩﺍﻡ‬ ‫ﺒﺴﻴﻁ‬ ‫ﻫﻭ‬ ‫ﻜﻡ‬ ،‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﺠﺭﺒﻪ‬ ‫ﻗﻡ‬‫ﺍﻟﻤﺨﺭﺠﺎﺕ؟؟‬ ‫ﻫﻲ‬ ‫ﻤﺎ‬ ،
‫ﻀﺭﺏ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻰ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬50*2‫ﻭ‬‫ﺘﺴﺎﻭﻱ‬100.
‫ﻫﺫﻩ‬ ‫ﻜﻠﻤﺘﻰ‬ ‫ﺘﺫﻜﺭ‬ ‫ﻟﻜﻥ‬‫ﻭﺍﺤﺩﻩ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻ‬ ‫ﺍﺒﺩﺍ‬ ‫ﺍﺒﺩﺍ‬ ‫ﻟﻠﺘﻐﻴﺭ‬ ‫ﻗﺎﺒﻠﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺜﻭﺍﺒﺕ‬ ،
‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺍﻟﺜﺎﺒﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﻭﻫﻲ‬ ‫ﻓﻘﻁ‬/
Const
Myconst: mytype =the value;
‫ﻤﺜﺎل‬//
Const
Mc: integer = 40;
‫ﺍﻴﻀﺎ‬/
PDF created with pdfFactory trial version www.pdffactory.com
42
Const
Aa: integer=2, 3;
‫ﺨ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻫﺫﺍ‬‫ﺎﻁﺊ‬‫ﻟﻤﺎﺫﺍ‬ ‫؟‬
‫ﺍﻟﺜﺎﺒﺕ‬ ‫ﻻﻥ‬Aa‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer‫ﻤﻥ‬ ‫ﻗﻴﻤﺘﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻭﻻ‬
‫ﺍﻟﺤﻘﻴﻘﻲ‬ ‫ﺍﻟﻨﻭﻉ‬real‫ﺃﻱ‬2.3
‫ﻭﺍﻀﺢ‬‫ﻴﻤﻜﻥ‬ ‫ﻜﻴﻑ‬ ‫ﺍﻻﻥ‬ ،‫ﺍﻥ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﻗﻴﻤﺘﻪ‬ ‫ﻨﻐﻴﺭ‬.
‫ﻤﺜﺎل‬//
Const
X:word=10;
Var
Z:integer;
Begin
Z:= 2;
X:= 20;
Writeln(x*z);
End.
‫ﻜﺫﻟﻙ‬ ‫ﺍﻟﻴﺱ‬ ، ‫ﺴﻬل‬‫ﺍﻟﻌﺎﺩﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ،.
PDF created with pdfFactory trial version www.pdffactory.com
43
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺮﺍﺑﻊ‬
‫ﻭﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﺍﻟﺘﻌﺒﲑﺍﺕ‬
‫ﺗﻨﻔﻴﺬﻫﺎ‬ ‫ﳚﺮﻱ‬ ‫ﺍﻟﱴ‬ ‫ﺍﻻﻭﺍﻣﺮ‬ ‫ﻣﻦ‬ ‫ﳎﻤﻮﻋﻪ‬ ‫ﻋﻦ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺣﻘﻴﻘﺘﻪ‬ ‫ﰲ‬ ‫ﺍﻟﱪﻧﺎﻣﺞ‬
‫ﺑﺎﻟ‬‫ﺘ‬‫ﺍﻣ‬ ‫ﰲ‬ ‫ﻳﺘﻤﺜﻞ‬ ‫ﺍﻟﱪﻧﺎﻣﺞ‬ ‫ﰲ‬ ‫ﺍﻟﻘﻮﻩ‬ ‫ﻭﻣﻜﻤﻦ‬ ، ‫ﺴﻠﺴﻞ‬‫ﻜﺎ‬‫ﺍﻭ‬ ‫ﳎﻤﻮﻋﻪ‬ ‫ﺗﻨﻔﻴﺬ‬ ‫ﻧﻴﻪ‬
‫ﺍ‬ ‫ﺍﺳﺘﻨﺎﺩﺍ‬ ‫ﺍﻻﻭﺍﻣﺮ‬ ‫ﻣﻦ‬ ‫ﺍﺧﺮﻯ‬‫ﻣﻌﲔ‬ ‫ﺷﺮﻁ‬ ‫ﺧﻄﺄ‬ ‫ﺍﻭ‬ ‫ﺻﺤﻪ‬ ‫ﱃ‬.
‫ﺍﻟﻴﻮﻡ‬ ‫ﺳﺘﺘﻌﻠﻢ‬:
·‫ﻭﺍﻟﺘﻌﺒﲑﺍﺕ‬ ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﻫﻴﻪ‬ ‫ﻣﺎ‬
·‫ﺍﻟﻜﺘﻞ‬ ‫ﻫﻲ‬ ‫ﻣﺎ‬
·‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬)‫ﻭﻣﻨﻄﻘﻴﻪ‬ ‫ﺣﺴﺎﺑﻴﻪ‬(‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬ ‫ﰲ‬
PDF created with pdfFactory trial version www.pdffactory.com
44
‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬
‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﺘﺘﺤﻜﻡ‬statement‫ﻻ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﺒﺘﻘﻴﻴﻡ‬ ‫ﺘﻘﻭﻡ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺘﻨﻔﻴﺫ‬ ‫ﺘﺴﻠﺴل‬ ‫ﻓﻲ‬
‫ﺸﻲ‬ ‫ﺍﻱ‬ ‫ﺘﻔﻌل‬.‫ﻤﻨﻘﻭﻁﻪ‬ ‫ﺒﻔﺎﺼﻠﻪ‬ ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﻜﺎﻗﻪ‬ ‫ﻨﺘﺘﻬﻲ‬);. (‫ﺍﺸﻬﺭ‬ ‫ﻭﻤﻥ‬
‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ، ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬)‫ﺍﻻﺴﻨﺎﺩ‬(‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻩ‬ ‫ﺘﻡ‬ ‫ﻜﻤﺎ‬ ،.
X:= a+b;
‫ﻓﻲ‬ ‫ﻋﻠﻴﻪ‬ ‫ﻤﺘﻌﺎﺭﻑ‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬ ‫ﻋﻜﺱ‬ ‫ﻭﻋﻠﻰ‬‫ﻋﻠﻡ‬‫ﺍﻥ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻻﺘﻌﻨﻲ‬ ، ‫ﺍﻟﺠﺒﺭ‬x
‫ﻤﺠﻤﻭﻉ‬ ‫ﻴﺴﺎﻭﻱ‬a‫ﻭ‬b.‫ﺘﻘﺭﺃ‬ ‫ﻭﺍﻨﻤﺎ‬"‫ﻤﺠﻤﻭﻉ‬ ‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻡ‬a‫ﻭ‬b‫ﻟﻠﻤﺘﻐﻴﺭ‬x"
‫ﻓ‬ ، ‫ﺒﻤﻬﻤﺘﻴﻥ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻗﻴﺎﻡ‬ ‫ﻤﻥ‬ ‫ﻭﺒﺎﻟﺭﻏﻡ‬‫ﺎ‬‫ﻨﻬ‬‫ﻭﺍﺤﺩﻩ‬ ‫ﻜﻌﺒﺎﺭﻩ‬ ‫ﺘﻌﺎﻤل‬ ‫ﺎ‬‫ﻻ‬ ‫ﻭﻟﺫﻟﻙ‬
‫ﻭﺍﺤﺩﻩ‬ ‫ﻤﻨﻘﻭﻁﻪ‬ ‫ﻓﺎﺼﻠﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻻ‬ ‫ﺘﺸﺘﻤل‬.‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻤﻌﺎﻤل‬assignment‫ﻴﻌﻤل‬
‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻟﻌﻼﻤﻪ‬ ‫ﻟﻌﻼﻤﻪ‬ ‫ﺍﻻﻴﻤﻥ‬ ‫ﺒﺎﻟﺠﺎﻨﺏ‬ ‫ﻤﻭﺠﻭﺩ‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﻋﻠﻰ‬):=(‫ﻫﻭ‬ ‫ﻟﻤﺎ‬
‫ﺍﻻﻴﺴﺭ‬ ‫ﺒﺎﻟﺠﺎﻨﺏ‬ ‫ﻤﻭﺠﻭﺩ‬.
‫ﺍﻟﻤﺭﻜﺒﻪ‬ ‫ﻭﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﺍﻟﻜﺘﻠﻪ‬block
‫ﻤﻔﺭﺩ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻭﻀﻊ‬ ‫ﻓﻴﻪ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻤﻜﺎﻥ‬ ‫ﺍﻱ‬‫ﻤﺭﻜﺒﻪ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻭﻀﻊ‬ ‫ﻜﺫﻟﻙ‬ ‫ﺴﻴﻤﻜﻨﻙ‬ ، ‫ﻩ‬
‫ﺒﺎﻟﻜﺘﻠﻪ‬ ‫ﺘﺴﻤﻰ‬ ‫ﻭﺍﻟﺘﻰ‬ ، ‫ﻓﻴﻪ‬)‫ﺍﻟﻤﺭﻜﺒﻪ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺍﻭ‬(‫ﻜﺘﺎﺒﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻭﺘﻜﻭﻥ‬ ،
begin‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﺍﻟﻜﺘﻠﻪ‬ ‫ﺒﺎﻏﻼﻕ‬ ‫ﻗﻡ‬ ‫ﺫﻟﻙ‬ ‫ﺒﻌﺩ‬ ، ‫ﺘﺭﻴﺩﻫﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻌﺒﺎﺭﺕ‬ ‫ﻭﻀﻊ‬ ‫ﺜﻡ‬
end;)‫ﻜﻠﻤﻪ‬ ‫ﻤﻊ‬ ‫ﺍﻟﻔﺎﺼﻠﻪ‬ ‫ﻭﺠﻭﺩ‬ ‫ﻻﺤﻅ‬end. (
‫ﺍﻟﺘﻌﺒﻴﺭﺍﺕ‬
‫ﺒﺄﻨﻪ‬ ‫ﻴﻭﺼﻑ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺤﺩﻯ‬ ‫ﻋﻨﻪ‬ ‫ﻴﻨﺘﺞ‬ ‫ﺸﻲ‬ ‫ﺍﻱ‬‫ﺘﻌﺒﻴﺭ‬expression.‫ﻫﻭ‬ ‫ﻭﺍﻟﺘﻌﺒﻴﺭ‬
‫ﺍﻟﻘﻴﻡ‬ ‫ﺒﺎﺤﺩﻯ‬ ‫ﻴﻌﻭﺩ‬ ‫ﻤﺎ‬.‫ﻓﺎﻟﻌﺒﺎﺭﻩ‬2+3‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﺘﻌﻭﺩ‬5‫ﻫﻲ‬ ‫ﺍﻟﺘﻌﺒﻴﺭﺍﺕ‬ ‫ﺠﻤﻴﻊ‬ ،
‫ﻋﺒﺎﺭﺍﺕ‬ ‫ﺍﻟﻭﻗﺕ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬.
PDF created with pdfFactory trial version www.pdffactory.com
45
‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﻭﺍﻟﻤﻨﻁﻘﻴﻪ‬ ‫ﺍﻟﺭﻴﺎﻀﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬:
·‫ﺍﻟﺭﻴﺎﻀﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬:
‫ﻭﺍﻟﻘﺴﻤﻪ‬ ‫ﻭﺍﻟﻁﺭﺡ‬ ‫ﻭﺍﻟﻀﺭﺏ‬ ‫ﺍﻟﺠﻤﻊ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻤﻥ‬ ‫ﺘﺘﻜﻭﻥ‬ ‫ﻭﻫﻲ‬)، ‫ﺼﺤﻴﺢ‬ ‫ﻋﺩﺩ‬
‫ﺤﻘﻴﻘﻲ‬ ‫ﻋﺩﺩ‬(‫ﻴﻠﻲ‬ ‫ﻓﻴﻤﺎ‬ ‫ﺫﻟﻙ‬ ‫ﻭﺘﻔﺼﻴل‬ ، ‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﻭﺒﺎﻗﻰ‬:
‫ﺍﻟﻌﻤﻠﻴﻪ‬‫ﺸﻜﻠﻬﺎ‬
‫ﺍﻟﺠﻤﻊ‬+
‫ﺍﻟﻁﺭﺡ‬-
‫ﺍﻟﻀﺭﺏ‬*
‫ﺼﺤﻴﺢ‬ ‫ﻋﺩﺩ‬ ‫ﻗﺴﻤﻪ‬div
‫ﺤﻘﻴﻘﻲ‬ ‫ﻋﺩﺩ‬ ‫ﻗﺴﻤﻪ‬/
‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﺒﺎﻗﻲ‬mod
·‫ﺍﻟﻤﻨﻁﻘﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬:
‫ﻭﻴﺴﺎﻭﻱ‬ ‫ﻭﺍﺼﻐﺭﻤﻥ‬ ‫ﺍﻜﺒﺭﻤﻥ‬ ‫ﻋﻼﻤﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺘﺘﻜﻭﻥ‬..‫ﺫﻟﻙ‬ ‫ﻭﺘﻔﺼﻴل‬ ، ‫ﺍﻟﺦ‬
‫ﻴﻠﻲ‬ ‫ﻜﻤﺎ‬:
‫ﺍﻟﻌﻤﻠﻴﻪ‬‫ﺍﻟﻌﻼﻤﻪ‬
‫ﺍﻜﺒﺭ‬>
‫ﻴﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬>=
‫ﺍﺼﻐﺭ‬<
‫ﻴﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬<=
‫ﻴﺴﺎﻭﻱ‬=
‫ﻴﺴﺎﻭﻱ‬ ‫ﻻ‬< >
PDF created with pdfFactory trial version www.pdffactory.com
46
‫ﺍﻭﻻ‬:‫ﺍﻟﺭﻴﺎﻀﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬/
‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬ ‫ﺒﻬﺫﻩ‬ ‫ﻋﻠﻡ‬ ‫ﻋﻠﻰ‬ ‫ﻴﻜﻭﻨﻭﺍ‬ ‫ﺍﻟﺒﺸﺭ‬ ‫ﺍﻏﻠﺏ‬ ‫ﺍﻥ‬ ، ‫ﺍﻅﻥ‬ ‫ﻜﻤﺎ‬.‫ﺍﻟﺠﻤﻊ‬ ‫ﻓﻌﻤﻠﻴﻪ‬
‫ﺒﺎﻻﺸﺎﺭﻩ‬ ‫ﺘﻜﻭﻥ‬+‫ﻭﺍﻟﻁﺭﺡ‬-‫ﻭﺍﻟﻀﺭﺏ‬*‫ﻫﻭ‬ ‫ﺍﻻﻭل‬ ، ‫ﻨﻭﻋﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻭﺍﻟﻘﺴﻤﻪ‬
‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻗﺴﻤﻪ‬integer)‫ﻓﻲ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺘﻌﺭﻴﻔﻪ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻱ‬‫ﻗﺴﻡ‬
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬(‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻭﺘﻜﻭﻥ‬div‫ﺍﻟﺤﻘﻴﻘﻴﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻗﺴﻤﻪ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ،
‫ﻭﺘﻜﻭﻥ‬‫ﺍﻟﻌﺎﺩﻴﻪ‬ ‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﺒﺎﺸﺎﺭﻩ‬/‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﺒﺎﻗﻲ‬ ،mod.
·‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻻﻋﺩﺍﺩ‬integer‫ﺘﺤﺘﻭﻱ‬ ‫ﻻ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺼﺤﻴﺤﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻫﻲ‬
‫ﻤﺜﻼ‬ ‫ﻜﺴﻭﺭ‬ ‫ﻋﻠﻰ‬/5‫ﻭ‬10‫ﻭ‬-52)‫ﺍ‬‫ﻭﻻ‬ ، ‫ﻤﻭﺠﺒﻪ‬ ، ‫ﺴﺎﻟﺒﻪ‬ ‫ﻋﺩﺍﺩ‬
‫ﻜﺴﻭﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬(.
·‫ﺍﻟﺤﻘﻴﻘﻴﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬real‫ﻜﺴﻭﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺍﺘﻰ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻫﻲ‬)‫ﺍﻴﻀﺎ‬
‫ﺴﺎﻟﺒﻪ‬ ‫ﺍﻭ‬ ‫ﻤﻭﺠﺒﻪ‬(‫ﻤﺜﻼ‬/2.5‫ﻭ‬-9.2‫ﻭ‬10)‫ﺍﻟﺼﺤﻴﺤﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬
‫ﺍﻟﺤﻘﻴﻘ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻀﻤﻥ‬ ‫ﻤﻥ‬‫ﻴ‬‫ﺍﺫﻥ‬ ، ‫ﻭﺍﺸﻤل‬ ‫ﺍﻭﺴﻊ‬ ‫ﺍﻟﺤﻘﻴﻘﻴﻪ‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬ ، ‫ﻪ‬
‫ﺠ‬‫ﺤﻘﻴﻘﻴﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺼﺤﻴﺤﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻤﻴﻊ‬‫ﺼﺤﻴﺢ‬ ‫ﻏﻴﺭ‬ ‫ﻭﺍﻟﻌﻜﺱ‬ ،. (
‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﺒﺎﻗﻲ‬ ، ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻗﺴﻤﻪ‬
‫ﻨﻘﺴﻡ‬ ‫ﻋﻨﺩﻤﺎ‬24‫ﻋﻠﻰ‬4،24 div 4.‫ﻫﻭ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﻴﻜﻭﻥ‬5‫ﻤﻥ‬ ‫ﻭﺍﻟﻤﺘﺒﻘﻰ‬ ،
‫ﻫﻭ‬ ‫ﺍﻟﻘﺴﻤﻪ‬1.
‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﻴﻜﻭﻥ‬ ، ‫ﺍﻟﻤﺘﺒﻘﻰ‬ ‫ﻋﻠﻰ‬ ‫ﻭﻟﻠﺤﺼﻭل‬:24 mod 4.
PDF created with pdfFactory trial version www.pdffactory.com
47
‫ﺍﻟﻤﻌﺎﻤﻼﺕ‬ ‫ﺍﺴﺒﻘﻴﻪ‬
‫ﺍﻟﺤ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﺒﺩﺀ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺴﻴﻘﻭﻡ‬ ، ‫ﺤﺴﺎﺒﻴﻪ‬ ‫ﻋﻤﻴﻠﻪ‬ ‫ﺍﻱ‬ ‫ﻓﻲ‬‫ﺍﺴﺒﻘﻴﻪ‬ ‫ﺤﺴﺏ‬ ‫ﻋﻠﻰ‬ ‫ﺴﺎﺏ‬
‫ﺴﻠﻴﻤﻪ‬ ‫ﻨﺘﺎﺌﺞ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻟﺘﻨﺒﻴﻪ‬ ‫ﻴﺠﺏ‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﻋﻤﻠﻴﻪ‬ ‫ﻜل‬.‫ﻜﻤﺎ‬ ‫ﻭﻫﻲ‬
‫ﻴﻠﻲ‬/
·‫ﺍﻟﻀﺭﺏ‬
·‫ﺍﻟﻘﺴﻤﻪ‬
·‫ﺍﻟﺠﻤﻊ‬
·‫ﺍﻟﻁﺭﺡ‬
‫ﺘﻨﻔﻴﺫﻫﻤﺎ‬ ‫ﻴﺠﺭﻱ‬ ‫ﻓﺴﻭﻑ‬ ، ‫ﺍﻻﺴﺒﻘﻴﻪ‬ ‫ﻨﻔﺱ‬ ‫ﻟﻬﻤﺎ‬ ‫ﺤﺴﺎﺒﻴﻥ‬ ‫ﻤﻌﺎﻤﻠﻴﻥ‬ ‫ﻭﺠﻭﺩ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬
‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬.‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﻔﻰ‬
X:= 5+3+8*9+6*4;
‫ﺍﻟﻀﺭﺏ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻴﺠﺭﻱ‬‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬ ،‫ﺍﻭﻻ‬.‫ﺍﻥ‬ ‫ﺍﺴﺎﺱ‬ ‫ﻭﻋﻠﻰ‬
9*8=72‫ﻭﺍﻥ‬6*4=24‫ﺴﺘﺼﺒﺢ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﺈﻥ‬ ،:
X:= 5+3+72+24;
‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺠﻤﻊ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﺴﺘﺠﺭﻱ‬ ‫ﻭﺍﻻﻥ‬5+3=8‫ﻭ‬8+72=80‫ﻭ‬
80+24=104.
، ‫ﺍﻻﺴﺒﻘﻴﻪ‬ ‫ﺘﺭﺘﻴﺏ‬ ‫ﻟﺘﻐﻴﺭ‬ ‫ﺍﻻﻗﻭﺍﺱ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻴﺘﻭﺠﺏ‬ ، ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺒﻌﺽ‬ ‫ﻓﻲ‬
‫ﺍﻻﻗﻭﺍﺱ‬ ‫ﺍﻥ‬ ‫ﺤﻴﺙ‬‫ﺍﻟﺤﺴﺎﺒﻴﻪ‬ ‫ﺍﻟﻤﻌﺎﻤﻼﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻤﻥ‬ ‫ﺍﻋﻠﻰ‬ ‫ﺍﺴﺒﻘﻴﻪ‬ ‫ﺩﺭﺠﻪ‬ ‫ﺘﺄﺨﺫ‬.
PDF created with pdfFactory trial version www.pdffactory.com
48
‫ﺍﻻﻗﻭﺍﺱ‬ ‫ﺘﻌﺸﻴﺵ‬
‫ﺩﺭﺠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻤﻘﻌﺩ‬ ‫ﺍﺼﺒﺢ‬ ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺴﻨﺠﺩ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬ ‫؟‬ ‫ﺘﻌﻨﻲ‬ ‫ﻤﺎﺫﺍ‬
‫ﻟﻜل‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ، ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﺫﻟﻙ‬ ‫ﺘﺨﻔﻴﻑ‬ ‫ﺍﻟﻰ‬ ‫ﻨﻠﺠﺄ‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﻤﺨﻴﻔﻪ‬
‫ﺍﻟﻤﻘﻌﺩ‬ ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﻋﺒﺎﺭﻩ‬.
Total:= ( (old+new)/2) * (water+phone);
‫ﺍﻟﺨﺎﺭﺝ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺩﺍﺨل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻌﻘﺩ‬ ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺘﺘﻡ‬.
‫ﺍﻟﺘﻌﺸﻴﺵ‬ ‫ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺒﺴﻴﻁﻪ‬ ‫ﺤﺎﻭﻟﻨﺎ‬ ‫ﻟﻭ‬ ‫ﺍﻻﻥ‬
All:= old+new;
Avarge := all/2;
Hosue:= water*phone;
Toltal:=avarge * house ;
‫ﺍ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻴﺴﺘﺨﺩﻡ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻁﻭل‬ ‫ﻭﻗﺘﺎ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻨﻪ‬ ‫ﺼﺤﻴﺢ‬ ، ‫ﺍﺭﺃﻴﺕ‬، ‫ﻜﺜﺭ‬
‫ﺍﻻﺴﺘﻴﻌﺎﺏ‬ ‫ﻓﻲ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﺍﺴﻬل‬ ‫ﻟﻜﻨﻪ‬.
‫ﺜﺎﻨﻴﺎ‬:‫ﺍﻟﻤﻨﻁﻘﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬/
‫ﻴﺴﺎﻭﻱ‬ ، ‫ﺍﺼﻐﺭ‬ ، ‫ﺍﻜﺒﺭ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺠﺩﻭل‬ ‫ﻓﻲ‬ ‫ﻭﺍﻀﺢ‬ ‫ﻫﻭ‬ ‫ﻜﻤﺎ‬...‫ﻭﻫﻲ‬ ، ‫ﺍﻟﺦ‬
‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﺘﺭﺠﻊ‬true‫ﺼﺤﻴﺤﻪ‬ ‫ﺍﻟﻌﻠﻤﻴﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬3<6‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﻭﺘﺭﺠﻊ‬ ،false‫ﺍﺫﺍ‬
‫ﺼﺤﻴﺤﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﻌﻤﻠﻴﻪ‬ ‫ﻜﺎﻨﺕ‬5=1.
PDF created with pdfFactory trial version www.pdffactory.com
49
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﳋﺎﻣﺲ‬
‫ﺍﻟﺸ‬ ‫ﺍﳉﻤﻞ‬‫ﺮﻃﻴﻪ‬
‫ﻓﻴﻬﺎ‬ ‫ﳓﺘﺎﺝ‬ ‫ﺍﻟﱴ‬ ‫ﺍﳌﻮﺍﻗﻒ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﺗﻮﺍﺟﻬﻨﺎ‬ ‫ﻣﺎ‬ ‫ﻛﺜﲑﺍ‬ ، ‫ﺍﻟﻌﺎﺩﻳﻪ‬ ‫ﺣﻴﺎﺗﻨﺎ‬ ‫ﰲ‬
‫ﺍﻟﺸﺮﻭﻁ‬ ‫ﺍﺣﺪ‬ ‫ﺍﲣﺎﺫ‬ ‫ﺍﱃ‬
‫ﺳﻮﻑ‬ ‫ﻭﺍﻻ‬ ‫ﺍﻟﺘﺎﱄ‬ ‫ﺍﻟﺪﺭﺱ‬ ‫ﺍﱃ‬ ‫ﺍﻧﺘﻘﻞ‬ ‫ﻓﺴﻮﻑ‬ ‫ﺍﻟﺪﺭﺱ‬ ‫ﻓﻬﻤﺖ‬ ‫ﺍﺫﺍ‬ ،‫ﻓﻤﺜﻼ‬
‫ﺍﺧﺮﻯ‬ ‫ﻣﺮﻩ‬ ‫ﻗﺮﺍﺋﺘﻪ‬ ‫ﺍﻋﻴﺪ‬!
‫ﻟﻠﺸﺮﻁ‬ ‫ﲨﻠﺘﲔ‬ ‫ﺗﻮﺟﺪ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬ ‫ﰲ‬/
·‫ﲨﻠﻪ‬if
·‫ﲨﻠﻪ‬case
‫ﺑﺎﻟﺘ‬ ‫ﳍﻤﺎ‬ ‫ﻧﺘﻄﺮﻕ‬ ‫ﻭﺳﻮﻑ‬‫ﻔﺼﻴﻞ‬.
PDF created with pdfFactory trial version www.pdffactory.com
50
‫ﺍﻭﻻ‬:‫ﺠﻤﻠﻪ‬if
‫ﻟﻬﺎ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬
If condition then
Begin
:
End;
‫ﻭﺍﻻ‬ ‫ﻜﻠﻤﻪ‬ ‫ﺒﺎﻀﺎﻓﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻭ‬:
If condition then
Begin
:
End {No Semicolon ; }
Else
Begin
:
End;
‫ﺫﻟﻙ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻔﻬﻡ‬ ‫ﻜﻴﻑ‬ ، ‫ﺤﺴﻨﺎ‬‫؟‬‫ﺍ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺘﺤﻘﻕ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻭﻻ‬‫ﻟﺸﺭﻁ‬condition،
‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺎﻨﻪ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﺍﻟﺸﺭﻁ‬)‫ﺍﻟـ‬Block(Begin‫ﻭ‬end;
‫ﻭﺍﻻ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻭﻤﺎ‬else‫ﻴ‬ ‫ﻓﺎﻨﻪ‬‫ﺒﺘﺠﺎﻫﻠﻬﺎ‬ ‫ﻘﻭﻡ‬)‫ﺍﻟﺸﺭﻁ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﻫﺫﺍ‬‫ﻤﺘﺤﻘﻕ‬(.
‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺫﻫﺏ‬ ‫ﻓﺎﻨﻪ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﻴﻜﻥ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬else‫ﺍﻟـ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻭﻴﻘﻭﻡ‬
Block‫ﺒﺎﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﺨﺎﺹ‬else.
PDF created with pdfFactory trial version www.pdffactory.com
51
‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﻫﻨﺎ‬ ‫ﺍﻻﺸﺎﺭﻩ‬ ‫ﻴﺠﺩﺭ‬‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺠﻤل‬ ‫ﺍﻏﻠﺏ‬)if‫ﻭ‬for‫ﻭ‬case
‫ﻭ‬...‫ﺍﻟﺦ‬(‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻨﻪ‬)‫ﻤﺜﻼ‬‫ﺠﻤﻠﻪ‬if(‫ﻏﻴﺭ‬ ‫ﻓﺎﻨﻪ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﻋﺒﺎﺭﻩ‬
‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻤﻁﻠﻭﺏ‬Block‫ﺃﻱ‬begin‫ﻭ‬end;.
‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬if‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺘﻨﻔﻴﺫﻫﺎ‬ ‫ﻤﺭﺍﺩ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬
‫ﺍﻟـ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻓﺎﻨﻪ‬block.
‫ﻤﺜﺎل‬//
Begin
Read(x);
If x<10 then
Begin
Sum:=x+20;
Write(sum);
End;
Write('done');
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬:
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬x , sum‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﻗﻡ‬‫ﺒﻨﻔﺴﻙ‬ ‫ﺒﺘﻌﺭﻴﻔﻬﻤﺎ‬(،
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﻘﻭﻡ‬x،‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻴﻘﺭﺭ‬ ‫ﺜﻡ‬X‫ﻫﻲ‬ ‫ﻫل‬
‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬10‫؟؟‬
‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬)‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺍﻱ‬(‫ﺍﻟـ‬ ‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺎﻨﻪ‬block)‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺃﻱ‬
begin‫ﻭ‬end;(.
PDF created with pdfFactory trial version www.pdffactory.com
52
‫ﻤﺘﺤﻘﻕ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬)‫ﺍﻟـ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻤﺜﻼ‬x=20(‫ﺒ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬‫ﺘﺠﺎﻫل‬
‫ﺍﻟـ‬block‫ﺘﻠﻴﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻭﻴﻘﻭﻡ‬done.
‫ﻤﻼﺤﻅﻪ‬:
‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬)‫ﻤﺜﻼ‬x=5(‫ﺍﻟـ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺴﻴﺘﻡ‬ ‫ﻓﺈﻨﻪ‬block‫ﺴﻴﻘﻭﻡ‬ ‫ﻭﺒﻌﺩﻫﺎ‬
‫ﺘﻠﻴﻪ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺒﻁﺒﺎﻋﻪ‬done.
‫ﻤﺜﺎل‬//
Program wajdy (input,output);
Uses wincrt;
Var
I:integer;
Begin
Write('Please enter any number: ');
Readln(i);
If i <=10 then
Begin
Writeln('hello world');
Writeln('wajdy essam');
Writeln('O.K');
End;
Writeln('do you anderstand ?? ');
End.
PDF created with pdfFactory trial version www.pdffactory.com
53
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬Please enter any number‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬.
‫؟؟‬ ‫ﻤﻨﻬﺎ‬ ‫ﻤﺎﻟﻔﺎﺌﺩﻩ‬
‫ﺍﺤﺩ‬ ‫ﻗﺎﻡ‬ ‫ﻓﻠﺭﺒﻤﺎ‬ ، ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺘﻭﻀﻴﺢ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺃﻱ‬
‫ﻴﺩﺨﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻤﺎ‬ ‫ﻟﻠﻤﺴﺘﺨﺩﻡ‬ ‫ﺘﻭﻀﺢ‬ ‫ﺍﻥ‬ ‫ﻓﻴﺠﺏ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﺠﺭﺒﻪ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻴﻥ‬
‫ﻋﺩﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬ ‫ﻫل‬ ، ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬‫ﺍﺴﻡ‬ ‫ﻋﻥ‬ ‫ﺼﺤﻴﺢ‬‫ﺍﻭ‬‫ﻋﻥ‬‫ﺍﻭ‬ ‫ﺤﻘﻴﻘﻲ‬ ‫ﻋﺩﺩ‬
‫ﺤﺭﻑ‬‫ﻭﻫﻜﺫﺍ‬ ،.
‫ﺍﻟﻐﺭﺽ‬ ‫ﺍﺫﺍ‬‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺘﺼﻨﻊ‬ ‫ﻻ‬ ‫ﻓﺄﻨﺕ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺘﻭﻀﻴﺢ‬ ‫ﻤﻨﻬﺎ‬
‫ﻴﺩﺨﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻤﺎ‬ ‫ﺘﻭﻀﻴﺢ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻱ‬ ‫ﻓﻲ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻓﻴﺠﺏ‬ ، ‫ﻟﻨﻔﺴﻙ‬ ‫ﻟﺘﺴﺘﺨﺩﻤﻬﺎ‬
‫ﺍﺩﺨﺎل‬ ‫ﻋﻤﻴﻠﻪ‬ ‫ﺍﻱ‬ ‫ﻗﺒل‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﻲ‬i،‫ﺜ‬ ‫ﻭﻤﻥ‬‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﺩﺃﺕ‬ ‫ﻡ‬
‫ﺍﻟﻤﺩﺨل‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬i‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﺍﻟﻌﺸﺭﻩ‬ ‫ﻴﺴﺎﻭﻱ‬
‫ﺍﻟـ‬block.‫ﺍﻟـ‬ ‫ﺒﺘﺠﺎﻫل‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬block.
‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬
·‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬i=5/
Please enter any number: 5
hello world
wajdy essam
O.K
do you anderstand ??
PDF created with pdfFactory trial version www.pdffactory.com
54
·‫ﻓ‬‫ﺤﺎﻟﻪ‬ ‫ﻲ‬i=20/
Please enter any number: 20
do you anderstand ??
‫ﺍﺨﺭ‬ ‫ﻤﺜﺎل‬//
Begin
Read(x);
If x>0 then
Begin
Writeln('You Enterd 0');
Writeln('o.k');
End
Else
Begin
Writeln('you enterd not 0 ');
Writeln('o.k');
End;
Writeln('done');
End.
‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬
‫ﺍﻟﻤﺩﺨل‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬0‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﻓﺈﻥ‬:
You Enterd 0
o.k
done
PDF created with pdfFactory trial version www.pdffactory.com
55
‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﻓﺈﻥ‬ ‫ﺍﻟﺼﻔﺭ‬ ‫ﻏﻴﺭ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬:
You Enterd not 0
o.k
Done
‫ﻋﻼﻤﻪ‬ ‫ﺍﺨﺘﻔﺎﺀ‬ ‫ﻻﺤﻅ‬;‫ﺠﻤﻠﻪ‬ ‫ﻗﺒل‬else‫ﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻜﺫﺍ‬ ،if.‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬
‫ﺠﻤﻠﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬else‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﻻ‬ ‫ﻗﺒﻠﻬﺎ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﺈﻥ‬
semicolon‫ﻻﻨ‬‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺘﻌﺘﺒﺭ‬ ‫ﻬﺎ‬.
‫ﺠﻤﻠﻪ‬if‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬Nested if
‫ﺠﻤﻠﻪ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺤﺎل‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬if‫ﺠﻤﻠﻪ‬ ‫ﺒﺩﺍﺨﻠﻬﺎ‬if‫؟‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻜﻴﻑ‬ ، ‫ﺍﺨﺭﻯ‬
‫ﻤﺜﺎل‬//
Begin
If x<10 then
Begin
Writeln(' x is less than 10 ');
If x>3 then write('x is more than 3');
End;
End.
‫ﺠﻤﻴل‬ ‫ﻫﻭ‬ ‫ﻜﻡ‬ ، ‫ﻨﻌﻡ‬ ‫ﻨﻌﻡ‬،‫ﺘﺤﺘﻭﻱ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬if‫ﺍﻟﺜﺎﻨﻴﻪ‬)‫ﻓﻲ‬
‫ﺍﻟ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﺴﺎﺒﻕ‬(‫ﺘﻭﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻭﻓﻲ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻭ‬ ‫ﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﻋﻠﻰ‬
‫ﺩﺍﺨل‬block‫ﺍﺨﺭ‬)‫ﺃﻱ‬begin‫ﻭ‬end;(.
PDF created with pdfFactory trial version www.pdffactory.com
56
Combining the conditions‫ﺍﻟﺸﺭﻁ‬ ‫ﺭﺒﻁ‬
‫ﺍﺭﺒﻌﻪ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺘﻘﺩﻡ‬‫ﺒﻌﻀﻬﺎ‬ ‫ﺍﻟﺸﺭﻭﻁ‬ ‫ﻟﺭﺒﻁ‬ ‫ﻁﺭﻕ‬‫ﻭﻫﻲ‬ ‫ﺒﺒﻌﺽ‬:
xornot,And , or,
‫ﺠﻤﻠﻪ‬and‫ﻭ‬:
‫ﺍﻟـ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻴﺘﻡ‬ ‫ﻻ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻫﺎ‬bolck‫ﻤ‬ ‫ﺍﻟﺸﺭﻁﻴﻥ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻻ‬‫ﺘﺤﻘﻘﻴ‬‫ﻥ‬
‫ﺠﻤﻠﻪ‬or‫ﺍﻭ‬:
‫ﺍﻟـ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻻﻴﺘﻡ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻫﺎ‬block‫ﺍﻟﺸﺭﻁﻴﻥ‬ ‫ﺍﺤﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻻ‬)‫ﺍﻭ‬
‫ﻜﻼﻫﻤﺎ‬(‫ﻤﺘﺤﻘﻕ‬
‫ﺠﻤﻠﻪ‬xor:
‫ﺍ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻻﻴﺘﻡ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻫﺎ‬‫ﺍﻟـ‬ ‫ﻭ‬block‫ﻓﻘﻁ‬ ‫ﻭﺍﺤﺩ‬ ‫ﺸﺭﻁ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻻ‬
‫ﻤﺘﺤﻘﻕ‬
‫ﺍﻟﻨﻔﻰ‬ ‫ﺠﻤﻠﻪ‬not:
‫ﺍﻟﺸﺭﻁ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﻴﻌﻨﻲ‬ ، ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﻨﻔﻰ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺃﻱ‬true‫ﻴﺼﺒﺢ‬ ‫ﻓﺈﻨﻪ‬false‫ﻭﺍﻟﻌﻜﺱ‬
‫ﺍﻴﻀﺎ‬
PDF created with pdfFactory trial version www.pdffactory.com
57
‫ﻤﺜﺎل‬//
Begin
Read(x,y);
If (x<10) and (y>5) then
Begin
Writeln('o.k');
Writeln('helow');
End;
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬x‫ﻭ‬y‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer‫ﺒﺘﻌﺭﻴﻔﻬﻤﺎ‬ ‫ﻗﻡ‬ ،
‫ﺒﻨﻔﺴﻙ‬(‫ﻤﻥ‬ ‫ﻜل‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬x‫ﻭ‬y.‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ، ‫ﺍﻟﺸﺭﻁ‬ ‫ﺒﺩﺃ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬X
‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬10‫ﻭ‬y‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺴﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬block.
‫ﺒﻤ‬‫ﻌﻨ‬‫ﻰ‬‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬X=8‫ﻭ‬y=5‫ﺍﻻﺘﻲ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﺴﻴﻘﻭﻡ‬ ‫ﻓﺎﻨﻪ‬:
o.k
Helow
‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬x=12‫ﻭ‬y=6‫ﺸﻲ‬ ‫ﺃﻱ‬ ‫ﻴﻨﻔﺫ‬ ‫ﻟﻥ‬ ‫ﻓﺎﻨﻪ‬.
‫ﺍﻻﺨﺘﻼﻑ‬ ‫ﻭﻻﺤﻅ‬ ، ‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﺭﺒﻁ‬ ‫ﺠﻤل‬ ‫ﺒﻜل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﺠﺭﺒﻪ‬ ‫ﻗﻡ‬.
‫ﻻ‬ ‫ﺍﻴﻀﺎ‬‫ﺸﺭﻁ‬ ‫ﻜل‬ ‫ﻓﻲ‬ ‫ﺍﻻﻗﻭﺍﺱ‬ ‫ﻭﻀﻊ‬ ‫ﺤﻅ‬‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺭﺒﻁ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻜل‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬ ،
‫ﻗﻭﺱ‬ ‫ﻓﻲ‬ ‫ﺸﺭﻁ‬ ‫ﻜل‬ ‫ﺘﻭﻀﻊ‬.
‫ﺍﻻﻥ‬‫ﻜﻴﻑ‬ ،‫؟؟‬ ‫ﺸﺭﻭﻁ‬ ‫ﺜﻼﺜﻪ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺤﺎل‬ ‫ﻫﻭ‬
PDF created with pdfFactory trial version www.pdffactory.com
58
‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﺘﻨﻔﻴﺫ‬ ‫ﺸﻜل‬ ‫ﺴﻴﻜﻭﻥ‬:
If ( (x<10) and (y>5) ) or (k>3) then …..
‫ﻨﻌﻡ‬ ‫ﻨﻌﻡ‬،
‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺴﻴﻘﻭﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﺃﻱ‬‫ﺍﻟﻜﺒﻴﺭ‬ ‫ﺍﻟﻘﻭﺱ‬( (x<10) and (y>5) )
‫ﻋﻤﻠﻴﻪ‬ ‫ﺘﺒﺩﺃ‬ ‫ﺜﻡ‬or‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻤﻊ‬(k>3).
‫ﻤﺜﻼ‬:‫ﺍﻻﺘﻴﻪ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺘﻡ‬ ‫ﺍﺫﺍ‬x=7 y=6 k=4
‫ﺍﻻﻥ‬‫ﻫل‬x‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬10‫ﻭ‬y‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫؟؟‬
‫ﻨﻌﻡ‬
‫ﻫل‬ ‫ﺍﻻﻥ‬k‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬3‫ﻨﻌﻡ‬ ‫؟؟؟‬
‫ﹰ‬‫ﺍ‬‫ﺍﺫ‬‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬،،،
‫ﺤﺴﻨﺎ‬‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ،k=2‫؟؟؟‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺴﻴﺘﻨﻔﺫ‬ ‫ﻫل‬
‫ﻨﻌﻡ‬
‫؟؟؟‬ ‫ﻟﻤﺎﺫﺍ‬
‫ﺘﺤﻘﻕ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻻﻥ‬( (x<10) and (y>5) )‫ﻭﺍﻟﻌﻤﻠﻴﻪ‬or‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺘﺘﻨﻔﺫ‬
‫ﺍﻟﺸﺭﻭﻁ‬ ‫ﺍﺤﺩ‬ ‫ﻫﻨﺎﻙ‬‫ﻤﺘﺤﻘﻕ‬.
PDF created with pdfFactory trial version www.pdffactory.com
59
‫ﺜﺎﻨﻴﺎ‬:‫ﺠﻤﻠﻪ‬: case .. Of
‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬‫ﻭﺍﺤﺩ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺸﺭﻭﻁ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﻤﻥ‬
‫ﺠﻤﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻴﻌﻨﻲ‬if،‫ﺍﻟﺤﺎﻟ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﻭﻟﻜﻥ‬‫ﻭﻤﻌﻘﺩ‬ ‫ﻁﻭﻴل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻪ‬
‫ﺍﻻﻗل‬ ‫ﻋﻠﻰ‬ ‫ﻟﻠﺒﻌﺽ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ،‫ﺍﻴﻀﺎ‬‫ﻋﺒﺎﺭﻩ‬ ‫ﺠﺎﺌﺕ‬ ‫ﻫﻨﺎ‬ ‫ﻭﻤﻥ‬case‫ﻟﺠﻤﻠﻪ‬ ‫ﻜﺒﺩﻴل‬if
‫ﺍﻥ‬ ‫ﻟﻨﻘل‬‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﻤﻁﻠﻭﺏ‬ ‫ﻭﻴﻜﻭﻥ‬ ،، ‫ﺍﻟﻁﻼﺏ‬ ‫ﻟﺩﺭﺠﺎﺕ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺩﻴﻨﺎ‬:
‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬90-100‫ﻴﻁﺒﻊ‬A
‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬80-89‫ﻴﻁﺒﻊ‬B
‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬70-79‫ﻴﻁﺒﻊ‬C
‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬60-69‫ﻴﻁﺒﻊ‬E
‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬50-59‫ﻴﻁﺒﻊ‬D
‫ﺍﺫ‬‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍ‬0-49‫ﻴﻁﺒﻊ‬F
‫؟؟‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫﺫﺍ‬ ‫ﺤل‬ ‫ﻴﻤﻜﻥ‬ ‫ﻜﻴﻑ‬
‫ﺍﻭﻻ‬:‫ﺒﺠﻤﻠﻪ‬if:
Begin
Read(x);
If (x>=90) and (x<=100) then writeln('A');
If (x>=80) and (x<=89) then writeln('B');
If (x>=70) and (x<=79) then writeln('C');
If (x>=60) and (x<=69) then writeln('D');
If (x>=50) and (x<=59) then writeln('E');
If (x>=0) and (x<=49) then writeln('F');
End.
PDF created with pdfFactory trial version www.pdffactory.com
60
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻋﻼﻩ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬‫ﺒﺠﻤﻠﻪ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺤل‬ ‫ﻗﻤﻨﺎ‬ ،if‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ،)‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬x‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer(‫ﺒﻘﺭﺍ‬ ‫ﻗﻤﻨﺎ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺀﻩ‬(x)‫ﻓﻲ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﻓﻲ‬ ‫ﺜﻡ‬
‫ﺍﻟﺸﺭﻁ‬ ‫ﺠﻤل‬.
‫ﺍﺫﺍ‬‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬ ‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬90‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﻭﺍﺼﻐﺭ‬100‫ﻓﺎﻁﺒﻊ‬
A
‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬ ‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬80‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﻭﺍﺼﻐﺭ‬89‫ﻓﺎﻁﺒﻊ‬B
‫ﺍﻟﺒﺎﻗﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻜﺫﺍ‬.
‫ﺠﻤﻠﻪ‬in
‫ﺠﻤﻠﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬in‫ﻟﺘﺤﺩ‬ ‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻲ‬‫ﻨﺭ‬ ‫ﺩﻋﻨﺎ‬ ، ‫ﺍﻟﻤﺩﻯ‬ ‫ﻴﺩ‬‫ﻯ‬‫ﻜﻴﻔﻴﻪ‬
‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬.
‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﻤﺜﻼ‬:
If (x>=90) and (x<=100) then writeln('A');
‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺒﻌﺩ‬ ‫ﺘﺼﺒﺢ‬ ‫ﺴﻭﻑ‬in)‫ﺍﻟﻤﺩﻯ‬ ‫ﻟﺘﺤﺩﻴﺩ‬ ‫ﻭﻫﻰ‬(
If x in [90 .. 100] then writeln('A');
‫ﺍﻟ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﺍﻟﻤﺩﻯ‬ ‫ﺘﺤﺩﻴﺩ‬ ‫ﻴﺘﻡ‬ ، ‫ﺴﻬل‬ ‫ﻫﻭ‬ ‫ﻜﻡ‬ ، ‫ﺍﺭﺃﻴﺕ‬‫ﻭﺒﻴﻨﻬﻡ‬ ‫ﻭﺍﻻﺨﻴﺭ‬ ‫ﺍﻻﻭل‬ ‫ﻌﻨﺼﺭ‬
‫ﻓﻘﻁ‬ ‫ﻨﻘﻁﺘﺎﻥ‬)..(‫ﻓﻘﻁ‬ ‫ﻨﻘﻁﺘﺎﻥ‬ ‫ﻻﺤﻅ‬ ،!
‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﻤﻌﻴﻨﻪ‬ ‫ﺍﻋﺩﺍﺩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﻟﻭ‬ ‫ﺍﻴﻀﺎ‬in‫ﺘﺼﺒﺢ‬ ‫ﺴﻭﻑ‬
‫ﺍﻻﺘﻰ‬ ‫ﺒﺎﻟﺸﻜل‬:
If z in [5,9,6,8,66] then writeln('O.k');
PDF created with pdfFactory trial version www.pdffactory.com
61
‫ﺍﻴﻀﺎ‬ ‫ﺤﺭﻭﻑ‬ ‫ﺍﻭ‬:
If ch in ['C','B','U'] then writeln('CPU');
‫ﺒﺎ‬ ‫ﺍﻻﺨﺫ‬ ‫ﻤﻊ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻻﻋﺘﺒﺎﺭ‬ch‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬char‫ﺍﻭ‬string.
‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﺍﻟﻰ‬ ‫ﻨﻌﻭﺩ‬)‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﺎﺕ‬(‫ﺤﻴﺙ‬ ،)‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬(‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻗﻤﻨﺎ‬
‫ﺒﺠﻤﻠﻪ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬if‫ﻗﻤ‬ ‫ﻟﻭ‬ ‫ﺭﺃﻴﻙ‬ ‫ﻤﺎ‬ ‫ﻭﻟﻜﻥ‬‫ﻨ‬‫ﺒـ‬ ‫ﺒﻜﺘﺎﺒﺘﻪ‬ ‫ﺎ‬if‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬)‫ﺠﻤﻠﻪ‬ ‫ﺃﻱ‬if
‫ﺠﻤﻠﻪ‬ ‫ﺩﺍﺨل‬if‫ﺍﺨﺭﻯ‬(.
Begin
Read(x);
If x>= 90 then mark:= 'A'
Else
If x >= 80 then mark:='B'
Else
If x>=70 then mark:= 'C'
Else
If x>=60 then mark:='D'
Else
If x>= 50 then mark:='E'
Else
If x>=0 then mark:='F';
Writeln(mark);
End.
PDF created with pdfFactory trial version www.pdffactory.com
62
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻻﻭل‬ ‫ﻤﺘﻐﻴﺭﻴﻥ‬ ‫ﺒﺘﻌﺭﻴﻑ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬x‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer‫ﻭﺍﻟﺜﺎﻨﻲ‬mark
‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬char.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺒﻌﺩﻫﺎ‬x،‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺒﺩﺃﺕ‬ ‫ﺜﻡ‬.
If x>= 90 then mark:= 'A'
‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻤﻌﻨﻰ‬x‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬90‫ﺒﺘﺨﺯﻴﻥ‬ ‫ﻓﻘﻡ‬A‫ﻓﻲ‬
‫ﺍﻟﻤﺘﻐ‬‫ﻴﺭ‬mark)‫ﺍﻟﻌﻼﻤﻪ‬ ‫ﻻﺤﻅ‬'‫ﺠﺎﻨﺒﻲ‬ ‫ﻋﻠﻰ‬A‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻻﻨﻬﺎ‬char(‫ﺜﻡ‬
‫ﻭﺍﻻ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻀﻔﻨﺎ‬else)‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬ ‫ﺃﻱ‬89(‫ﺍﻟﺸﺭﻁ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻭﻗﻤﻨﺎ‬
‫ﻭﺍﻀﺎﻓﻪ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬else‫ﺍﻴﻀﺎ‬،‫ﺍﻟﺒﺎﻗﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻜﺫﺍ‬.
‫ﺘﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﻓﺈﺫﺍ‬ ، ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺫﻫﺏ‬ ، ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺘﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﻓﺈﺫﺍ‬
‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻴﻨﺘﻘل‬ ، ‫ﺍﻟﺸﺭﻁ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ، ‫ﻭﻫﻜﺫﺍ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺫﻫﺏ‬
‫ﺍﻟﻁﺒﺎﻋﻪ‬.
‫ﻋﻼﻤﻪ‬ ‫ﺍﺨﺘﻔﺎﺀ‬ ‫ﻻﺤﻅ‬;)semicolon(‫ﺠﻤﻠﻪ‬ ‫ﺒﻌﺩﻫﺎ‬ ‫ﻴﺄﺘﻲ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬
else‫ﺠﻤﻠﻪ‬ ‫ﻟﻴﺱ‬ ‫ﺒﻌﺩﻩ‬ ‫ﻤﺎ‬ ‫ﺍﻥ‬ ‫ﺒﺴﺒﺏ‬ ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺍﻻ‬else.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻻﺨﻴﺭ‬ ‫ﻭﻓﻲ‬mark.
‫ﻨﻌﻭ‬ ‫ﺍﻻﻥ‬‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺩ‬case‫ﻟﻠﺠﻤﻠﻪ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ ،:
Case variable of
:
End;
PDF created with pdfFactory trial version www.pdffactory.com
63
‫ﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻻﺤﻅ‬case‫ﻋﻠﻰ‬ ‫ﻻﺘﺤﺘﻭﻱ‬begin‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﻭﻟﻜﻥ‬end;.
‫ﺒﺠﻤﻠﻪ‬ ‫ﺍﻟﺩﺭﺠﺎﺕ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺤل‬ ‫ﺍﻻﻥ‬case
Begin
Read(x);
Case x of
90..100 : writeln('A');
80..89 : writeln('B');
70..79 : writeln('C');
60..69 : writeln('D');
50..59 : writeln('E');
0..49 : writeln('F');
End;
End.
‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬x‫ﺠﻤﻠﻪ‬ ‫ﺤﻴﺙ‬ ، ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬case‫ﺘﻘﺒل‬
‫ﺍﻟﺤﻘﻴﻘﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻤﺎﻋﺩﺍ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺠﻤﻴﻊ‬real(‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬x.‫ﻜﺎﻨﺕ‬ ‫ﻓﺈﺫﺍ‬‫ﻗﻴﻤﻪ‬x)‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬(‫ﺒﻴﻥ‬ ‫ﺘﻨﺤﺼﺭ‬90‫ﺍﻟﻰ‬100
‫ﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﺘﻡ‬A‫ﺒﻴﻥ‬ ‫ﺘﻨﺤﺼﺭ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﺫﺍ‬ ، ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬80‫ﺍﻟﻰ‬89‫ﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﺘﻡ‬
B‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬.‫ﻭﻫﻜﺫﺍ‬
‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ، ‫ﺤﺴﻨﺎ‬x‫ﺘﺴﺎﻭﻱ‬-10‫ﺍﻭ‬200‫ﺘﻜﻭﻥ‬ ‫ﻟﻥ‬ ‫؟‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﻫﻲ‬ ‫ﻤﺎ‬
‫ﻟ‬ ، ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﺍﻱ‬ ‫ﻫﻨﺎﻙ‬‫ﺠﻤﻠﻪ‬ ‫ﻭﻀﻊ‬ ‫ﻴﺠﺏ‬ ‫ﺫﻟﻙ‬else‫ﺨﻁﺄ‬ ‫ﺭﺴﺎﻟﻪ‬ ‫ﺒﻬﺎ‬ ‫ﻭﻨﻀﻊ‬
erorr،‫ﺍﻟﻤﺠﺎل‬ ‫ﻓﻲ‬ ‫ﺘﻘﻊ‬ ‫ﻻ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻱ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺤﺘﻰ‬0..100‫ﺨﻁﺄ‬ ‫ﺭﺴﺎﻟﻪ‬ ‫ﻟﻬﺎ‬.
)‫ﺍﻟﻤﺩﻯ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﺜﻨﺎﺀ‬ ، ‫ﺍﻟﻨﻘﻁﺘﺎﻥ‬ ‫ﻭﻀﻊ‬ ‫ﺘﻨﺴﻰ‬ ‫ﻻ‬.‫ﻤﺩﻯ‬ ‫ﻭﺠﻭﺩ‬ ‫ﻋﺩﻡ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬
‫ﺒﻔﺎﺼﻠﻪ‬ ‫ﺒﻴﻨﻬﻡ‬ ‫ﺍﻟﻔﺼل‬ ‫ﻤﻊ‬ ‫ﺍﻟﻌﻨﺎﺼﺭ‬ ‫ﻭﻀﻊ‬ ‫ﻴﻤﻜﻥ‬(.
PDF created with pdfFactory trial version www.pdffactory.com
64
‫ﻤﺜﺎل‬/
‫ﺍﻟﻨﺘﻴﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬a‫ﻭ‬b‫ﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﺘﻡ‬very good‫ﺍﻟﻨﺘﻴﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﺫﺍ‬ ،c‫ﻭ‬d
‫ﻓﻴﻁﺒﻊ‬good‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﺫﺍ‬ ،e‫ﻓﻴﻁﺒﻊ‬bad.
Begin
Read(x);
Case x of
A,b:writeln(‘Very Good’);
C,d:writeln(‘Good’);
E:writeln(‘bad’);
Else
Writeln(‘Please enter any value between (a,b,c,d,e) ‘);
End;
End.
‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﺫﻟﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻤﻌﻴﻥ‬ ‫ﻤﺩﻯ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻱ‬
‫ﺍﻟﻨﻘﻁﺘﺎﻥ‬ ‫ﺜﻡ‬ ‫ﺍﻟﻤﺩﻯ‬)..(‫ﺍﻟﻤﺩﻯ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻨﻜﺘﺏ‬ ‫ﺜﻡ‬ ،.
‫ﺒﻴﻨﻬﻡ‬ ‫ﻭﺍﻟﻔﺼل‬ ‫ﺍﻟﻌﻨﺎﺼﺭ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﺘﺘﻡ‬ ، ‫ﻤﺨﺘﻠﻔﻪ‬ ‫ﻋﻨﺎﺼﺭ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬
‫ﺒﻔﺎﺼ‬‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ‫ﻠﻪ‬.
‫ﻤﺎ‬ ‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﺃﻱ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﻟﻭ‬ ‫ﺍﻴﻀﺎ‬
‫ﺒﻴﻥ‬90‫ﺍﻟﻰ‬100‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﺘﻴﻥ‬ ‫ﻤﺜﻼ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬‫ﻜﻴﻑ‬
‫ﺫﻟﻙ‬ ‫ﻓﻌل‬ ‫ﻴﻤﻜﻥ‬..‫؟‬
PDF created with pdfFactory trial version www.pdffactory.com
65
‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻟﻰ‬ ‫ﻨﺤﺘﺎﺝ‬ ‫ﺒﺒﺴﺎﻁﻪ‬begin‫ﺍﺩﺨﺎﻟﻬﺎ‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺒﺩﺨﻠﻬﺎ‬ ‫ﻨﻜﺘﺏ‬
‫ﺍﻨﻬﺎ‬ ‫ﺜﻡ‬‫ﺒﻌﺒﺎﺭﻩ‬ ‫ﺌﻬﺎ‬end;
‫ﻤﺜﺎل‬/
Case x of
90..100:
Begin
Writeln('Your good man');
Writeln(' Your mark is A');
Writeln('Have anice day');
End;
80..89:
Begin
Writeln('Thank you very mach');
Writeln('Your mark is B');
End;
0..49:
Begin
Writeln('Im sorry');
Writeln('your maek is F');
End;
Else
Writeln('wrong');
End;
End.
PDF created with pdfFactory trial version www.pdffactory.com
66
‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬x‫ﺘﺴﺎﻭﻱ‬94‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ،
‫ﻋﺒﺎ‬‫ﻋﻥ‬ ‫ﺭﻩ‬:
Your good man
Your mark is A
Have anice day
‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻭﻤﺎﺫﺍ‬x‫ﺘﺴﺎﻭﻱ‬-60‫ﺍﻭ‬70،،،‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﺴﺘﺨﺩﻤﻨﺎ‬ ‫ﺍﻨﻨﺎ‬ ‫ﻻﺤﻅ‬ ‫؟؟‬
else
‫ﻟـ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺃﻱ‬ ‫ﻤﻌﻨﺎﻫﺎ‬x‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺫﻜﻭﺭﻩ‬ ‫ﻏﻴﺭ‬wrong
PDF created with pdfFactory trial version www.pdffactory.com
67
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺴﺎﺩﺱ‬
‫ﻭﺍﻟﺘﻜﺮﺍﺭﺍﺕ‬ ‫ﺍﳊﻠﻘﺎﺕ‬
، ‫ﺍﻻﺣﻴﺎﻥ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﰲ‬‫ﲨﻠﻪ‬ ‫ﺗﻜﺮﺍﺭ‬ ‫ﻧﺮﻳﺪ‬ ‫ﺳﻮﻑ‬)‫ﻋﻠﻰ‬ ‫ﺍﲰﻚ‬ ‫ﻃﺒﺎﻋﻪ‬ ‫ﺗﻜﺮﺍﺭ‬ ‫ﻣﺜﻼ‬
‫ﺍﻟﺸﺎﺷﻪ‬(‫ﻣﺜﻼ‬ ‫ﻛﺒﲑ‬ ‫ﻟﻌﺪﺩ‬ ‫ﺍﻟﻄﺒﺎﻋﻪ‬ ‫ﲨﻠﻪ‬ ‫ﻛﺘﺎﺑﻪ‬ ‫ﻳﺘﻢ‬ ‫ﺍﻥ‬ ‫ﺍﳌﻨﻄﻘﻲ‬ ‫ﻏﲑ‬ ‫ﻭﻣﻦ‬100‫ﻣﺮﻩ‬.
‫ﻻ‬ ، ‫ﺍﳌﱪﻣﺞ‬ ‫ﻟﺪﻯ‬ ‫ﳎﻬﻮﻝ‬ ‫ﺍﻟﺘﻨﻔﻴﺬ‬ ‫ﻋﺪﺩ‬ ‫ﻳﻜﻮﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻭ‬‫ﺭ‬‫ﺷﺮﻭﻁ‬ ‫ﺍﻭ‬ ‫ﺑﺸﺮﻁ‬ ‫ﺍﻟﻌﺪﺩ‬ ‫ﻫﺬﺍ‬ ‫ﺗﺒﺎﻁ‬
‫ﻣﻌﻴﻨﻪ‬!
‫ﻟﻪ‬ ‫ﻣﻨﻬﺎ‬ ‫ﻛﻞ‬ ‫ﺍﻟﺘﻜﺮﺍﺭ‬ ‫ﻣﻦ‬ ‫ﺍﻧﻮﺍﻉ‬ ‫ﺛﻼﺛﻪ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻗﺪﻣﺖ‬ ‫ﻟﺬﻟﻚ‬‫ﻭﻫﻢ‬ ‫ﻣﻌﲔ‬ ‫ﻏﺮﺽ‬ ‫ﺍﻭ‬ ‫ﻭﻇﻴﻔﻪ‬
:
·For ….. To …. do
·While ……. Do
·Repeat …… until
‫ﻭﺑﺪﺍﻳﺘﻪ‬ ‫ﺍﻟﺘﻜﺮﺍﺭ‬ ‫ﻧﺸﺄﻩ‬ ‫ﻧﻌﺮﻑ‬ ‫ﺍﻥ‬ ‫ﳚﺐ‬ ، ‫ﺍﳉﻤﻞ‬ ‫ﻫﺬﻩ‬ ‫ﰲ‬ ‫ﺍﻟﺒﺪﺍﻳﻪ‬ ‫ﻭﻗﺒﻞ‬)‫ﲨﻠﻪ‬
goto(.
PDF created with pdfFactory trial version www.pdffactory.com
68
‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺠﺫﻭﺭ‬)Goto(
‫ﻭﺍﻟﺘﻌﻘﻴﺩ‬ ‫ﺍﻟﻘﺼﺭ‬ ‫ﻏﺎﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻜﺎﻨﺕ‬ ،‫ﺍﻟﺤﺎﺴﺏ‬ ‫ﻟﻌﻠﻡ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺒﺩﺍﻴﺎﺕ‬ ‫ﻓﻲ‬
‫ﺍﻟﻭﻗﺕ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬.‫ﻭﻜﺎﻨ‬، ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﻭﺒﻌﺽ‬ ، ‫ﻋﻨﻭﺍﻥ‬ ‫ﻤﻥ‬ ‫ﻤﻜﻭﻨﻪ‬ ‫ﺍﻟﺘﻜﺭﺍﺭﺕ‬ ‫ﺕ‬
‫ﻭﻗﻔﺯﻩ‬.
‫ﺍﻟﻌﻨﻭﺍﻥ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬label‫ﻤﺘﺒﻭ‬ ‫ﺍﺴﻡ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬‫ﻉ‬‫ﺒﻨﻘﻁﺘﻴﻥ‬):. (‫ﻴﺘﻡ‬
‫ﻜﺘﺎﺒﻪ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻘﻔﺯﻩ‬ ‫ﻭﺘﺅﺩﻯ‬ ، ‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻱ‬ ‫ﻴﺴﺎﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﻭﻀﻊ‬goto
‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﺒﺎﺴﻡ‬ ‫ﻤﺘﺒﻭﻋﻪ‬.
‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﻭﻴﻜﻭﻥ‬namelabel)name‫ﺍﻟﻌﻨ‬ ‫ﺍﺴﻡ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺭﻤﺯ‬‫ﻭﺍﻥ‬(‫ﺒﻌﺩ‬
‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬)‫ﺒﻌﺩ‬ ‫ﺍﻱ‬uses(‫ﺍ‬ ‫ﻭﻓﻲ‬ ،‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻨﻘﻁﻪ‬ ‫ﻨﻀﻊ‬ ‫ﻟﺒﺭﻨﺎﻤﺞ‬
‫ﺼﻨﻌﻨﺎﻫﺎ‬name‫ﺒﻨﻘﻁﺘﻴﻥ‬ ‫ﻤﺘﺒﻭﻋﻪ‬):(‫ﻨﻀﻊ‬ ‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻟﺫﻫﺎﺏ‬ ‫ﻨﺭﻴﺩ‬ ‫ﻭﻋﻨﺩﻤﺎ‬ ،
‫ﺠﻤﻠﻪ‬goto name.
‫ﻤﺜﺎل‬//
Program ex (input, output);
Uses wincrt;
Label wajdy;
Var
X: integer;
Begin
Read(x) ;
PDF created with pdfFactory trial version www.pdffactory.com
69
If x>=10 then exit‫؛‬
if x<10 then goto wajdy ;
Wajdy: writeln ('Less Than 10’);
End.
‫ﺍﻟﺸﺭﺡ‬
‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬ ، ‫ﺍﻋﻼﻩ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬label‫ﺒﺎﺴﻡ‬wajdy‫ﻭﻓﻲ‬ ،
‫ﻭﻀﻌ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻨﺎ‬:‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬x‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬
‫ﺘﺴﺎﻭﻱ‬10‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻓﻘﻡ‬exit.‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬x‫ﻤﻥ‬ ‫ﺍﻗل‬
10‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﻓﺘﻭﺠﻪ‬wajdy‫ﻤﺘﺒﻭﻋﺎ‬ ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ، ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬ ،
‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻭﻴﺤﺘﻭﻱ‬ ‫ﺭﺍﺴﻴﺘﻴﻥ‬ ‫ﺒﻨﻘﻁﺘﻴﻥ‬less than 10.
‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺠﻨﺏ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺴﺒﺏ‬goto
‫ﺘﻜﺭﺍﺭ‬ ‫ﻋﺒﺎﺭﺍﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻬﺠﻭﻡ‬ ‫ﺤﻤﻼﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻫﻨﺎﻙ‬Goto‫ﺍﻻﻭﻨﻪ‬ ‫ﻓﻲ‬
‫ﺘﺄﻜﻴﺩ‬ ‫ﺒﻜل‬ ‫ﺫﻟﻙ‬ ‫ﺘﺴﺘﺤﻕ‬ ‫ﻭﻫﻲ‬ ، ‫ﺍﻻﺨﻴﺭﻩ‬.‫ﺘﺅﺩﻱ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬‫ﻋﺒﺎﺭﻩ‬goto‫ﺍﻟﻰ‬
‫ﻟﻠﺨﻠﻑ‬ ‫ﺍﻭ‬ ‫ﻟﻼﻤﺎﻡ‬ ‫ﺴﻭﺍﺀ‬ ، ‫ﺘﻜﺘﺒﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻓﻲ‬ ‫ﻤﻭﻗﻊ‬ ‫ﺍﻱ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺘﻨﻔﻴﺫ‬ ‫ﺍﻨﺘﻘﺎل‬
‫ﻟﻌﺒﺎﺭﺕ‬ ‫ﺍﻟﻤﻘﻴﺩ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻻﺴﺘﺨﺩﺍﻡ‬ ‫ﺍﺩﻯ‬ ‫ﻟﻘﺩ‬Goto‫ﺒﺭﺍﻤﺞ‬ ‫ﻭﺠﻭﺩ‬ ‫ﺍﻟﻰ‬‫ﻤﺘﺸﺎﺒﻜﻪ‬
‫ﺘﻌﺭﻑ‬ ‫ﻗﺭﺍﺀﺘﻬﺎ‬ ‫ﻴﺴﺘﺤﻴل‬‫ﺒﺎﺴﻡ‬"‫ﺍﻻﺴﺒﺎﺠﻴﺘﻲ‬ ‫ﺍﻻﻭﺍﻤﺭ‬")‫ﻟﺘﺸﺎﺒﻜﻬﺎ‬ ‫ﻨﻅﺭﺍ‬(
‫ﺼﺏ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺨﻴﺭﻩ‬ ‫ﺍﻻﻭﻨﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻜﻤﺒﻴﻭﺘﺭ‬ ‫ﻋﻠﻭﻡ‬ ‫ﻤﻌﻠﻤﻭ‬ ‫ﺍﻤﻀﻰ‬ ‫ﻅﻥ‬ ‫ﻟﻬﺫﺍ‬ ‫ﻭﻨﺘﻴﺠﻪ‬
‫ﻭﻫﻭ‬ ‫ﺍﻻ‬ ، ‫ﺘﻼﻤﻴﺫﻫﻡ‬ ‫ﺭﺅﻭﺱ‬ ‫ﻓﻲ‬ ‫ﻭﺍﺤﺩ‬ ‫ﺩﺭﺱ‬"‫ﻋﺒﺎﺭﺍﺕ‬ ‫ﻻﺘﺴﺘﺨﺩﻡ‬goto‫ﻤﻬﻤﺎ‬
‫ﺍﻟﻅﺭﻭﻑ‬ ‫ﺍﻭ‬ ‫ﺍﻻﺴﺒﺎﺏ‬ ‫ﻜﺎﻨﺕ‬. "
PDF created with pdfFactory trial version www.pdffactory.com
70
‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻟﺘﺠﻨﺏ‬Goto‫ﺍ‬ ‫ﻅﻬﺭﺕ‬‫ﻤﻥ‬ ، ‫ﻭﺍﺤﻜﺎﻤﺎ‬ ‫ﺘﻁﻭﺭﺍ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﻭﺍﻤﺭ‬
‫ﺒﻴﻨﻬﺎ‬For‫ﻭ‬while‫ﻭ‬repeat.‫ﺍﻜﺜﺭ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺠﻌل‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻫﺫﻩ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬
‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺠﻨﺏ‬ ‫ﺍﻟﻰ‬ ‫ﻭﺍﺩﻯ‬ ، ‫ﺍﺴﺘﻴﻌﺎﺒﻬﺎ‬ ‫ﺤﻴﺙ‬ ‫ﻤﻥ‬ ‫ﺴﻬﻭﻟﻪ‬Goto،‫ﻋﺎﻤﻪ‬ ‫ﺒﺼﻔﻪ‬
‫ﺍﻻﻭل‬ ‫ﺍﻟﻨﻭﻉ‬::‫ﺤﻠﻘﻪ‬for::
‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬//
For variable := fromwhat to what do
Begin
:
:
End;
‫ﺠﻤﻠﻪ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻗﺒل‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬for،‫ﻋﻠﻰ‬ ‫ﻤﻌﺭﻑ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬
‫ﺍﻟﻤﻁﻠﻭﺏ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺤﺴﺏ‬.‫ﺍﺫﺍ‬ ‫ﺒﻤﻌﻨﻰ‬‫ﺍﻟ‬‫ﻤﻥ‬ ‫ﺘﻜﺭﺍﺭ‬1‫ﺍﻟﻰ‬10‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﻜﻭﻥ‬
‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬integer‫ﺍﻟﺤﺭﻑ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬ ،a‫ﺍﻟﺤﺭﻑ‬ ‫ﺍﻟﻰ‬z
‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻴﻜﻭﻥ‬char‫ﻭﻫﻜﺫﺍ‬ ،.
‫ﺍ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬‫ﻟﻤﺘﻐﻴﺭ‬variable‫ﺍﺴﻨﺎﺩ‬ ‫ﻋﻼﻤﻪ‬ ‫ﺒﻭﻀﻊ‬ ‫ﻨﻘﻭﻡ‬)( :=‫ﺜﻡ‬ ‫ﻭﻤﻥ‬
‫ﻟﻠﺘﻜﺭﺍﺭ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻨﻜﺘﺏ‬fromwhat‫ﺃﻱ‬ ‫ﺍﻟﻰ‬ ‫ﻜﻠﻤﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬to‫ﻨﻀﻊ‬ ‫ﺜﻡ‬
‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﻨﻬﺎﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬what‫ﺠﻤﻠﻪ‬ ‫ﺒﻌﺩﻫﺎ‬ ‫ﻭﻨﻀﻊ‬‫ﺃﻱ‬ ‫ﺍﻓﻌل‬do.
PDF created with pdfFactory trial version www.pdffactory.com
71
‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﺘﻨﺒﻪ‬ ‫ﻴﺠﺏ‬‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻤﻥ‬‫ﺍﻟﻀﺭﻭﺭﻱ‬ ‫ﻏﻴﺭ‬ ‫ﻤﻥ‬ ‫ﻓﺈﻨﻪ‬ ، ‫ﻭﺍﺤﺩﻩ‬ ‫ﺠﻤﻠﻪ‬
‫ﻭﻀﻊ‬Block‫ﻟﺤﻠﻘﻪ‬for.‫ﺍﻥ‬ ‫ﻓﻴﺠﺏ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻤﻥ‬ ‫ﻷﻜﺜﺭ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬
‫ﻨﻀﻊ‬block‫ﻟﺤﻘﻠﻪ‬For.)‫ﺠﻤﻠﻪ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬if‫ﻭ‬case(‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﺫﻟﻙ‬ ‫ﻭﺴﺘﺒﻴﻥ‬
‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻻﻤﺜﻠﻪ‬.
‫ﺍﻟﻰ‬ ‫ﺍ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻤﺜﻼ‬10:
Program loop1 (input,output);
Uses wincrt;
Var I:integer;
Begin
For I := 1 to 10 do
Writeln(i);
End.
‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬1‫ﺍﻟﻰ‬
10‫ﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﻤﻨﺎ‬ ‫ﻷﻨﻨﺎ‬ ‫ﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﻤﻁﺒﻭﻉ‬ ‫ﻋﺩﺩ‬ ‫ﻭﻜل‬writeln‫ﺍﺭﺩﻨﺎ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬
‫ﺠﻤﻠﻪ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﻁﺒﺎﻋﺘﻬﻡ‬write‫ﻓﻘﻁ‬.
‫ﻜﻴﻔﻴﻪ‬،،، ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻋﻤل‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬(
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﺒﻌﺩ‬begin‫ﻤﻥ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﺭﻯ‬ ‫ﺴﻭﻑ‬ ،1‫ﺍﻟﻰ‬10‫ﻫﺫﺍ‬ ،
‫ﺒﻌﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻴﻌﻨﻲ‬do‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬10‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﺄﺨﺫ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﺍﻱ‬ ، ‫ﻤﺭﺍﺕ‬
1‫ﻴﺄﺨﺫ‬ ‫ﻭﻋﻨﺩﻤﺎ‬ ، ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻴﻨﻔﺫ‬ ‫ﺜﻡ‬2‫ﻭﻫﻜﺫﺍ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻴﻨﻔﺫﻫﺎ‬ ‫ﺴﻭﻑ‬.‫ﻨﺄﺨﺫﻫﺎ‬ ‫ﺩﻋﻨﺎ‬
‫ﺍﻟﺘﻔﺼﻴل‬ ‫ﻤﻥ‬ ‫ﺒﺸﻲﺀ‬)‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﺭﺍﻫﺎ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻱ‬. (
PDF created with pdfFactory trial version www.pdffactory.com
72
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻭﻻ‬I‫ﻟﻪ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬)‫ﻭﻫﻲ‬1(.‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺘﻨﻘل‬ ‫ﺜﻡ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻭﻫﻲ‬I‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻭﻀﻊ‬،‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﻘﻭﻡ‬
‫ﺍﻟﺭﻗﻡ‬1‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﺍﻨﺯﺍل‬)‫ﺒﺴﺒﺏ‬writeln(.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻻﻥ‬I‫ﺍ‬ ‫ﺍﻟﻘﻴﻤﻪ‬‫ﻟﻪ‬ ‫ﻟﺜﺎﻨﻴﻪ‬)‫ﻭﻫﻲ‬2(‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻨﺘﻘل‬ ‫ﺜﻡ‬
)‫ﺍﻟﺭﻗﻡ‬ ‫ﻓﻴﻁﺒﻊ‬2‫ﻻﺴﻔل‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻨﺘﻘل‬(.
‫ﺍﻟﺭﻗﻡ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻭﻫﻲ‬ ‫ﻟﻬﺎ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﺨﺭ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﻨﺘﻬﻲ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻫﻜﺫﺍ‬10.
‫ﻤﻥ‬ ‫ﺃﻱ‬ ‫ﺘﻨﺎﺯﻟﻰ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﺍﺩ‬ ‫ﺍﻴﻀﺎ‬10‫ﺍﻟﻰ‬1‫ﺸﻜﻠﻪ‬ ‫ﻭﻴﻜﻭﻥ‬
‫ﻜﺎﻟﺘﺎﻟﻲ‬:
For i:= 10 downto 1 do
Writeln(i);
‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬)‫ﺍﻟﺴﺎﺒﻘﻪ‬(‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬
‫ﻤﻁﺒﻭﻋﻪ‬)‫ﺴﻁﺭ‬ ‫ﻋﻠﻰ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﻜل‬(‫ﻤﻥ‬10‫ﺍﻟﻰ‬1.
‫ﺍﻻﺤﺭﻑ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻋﺩﺍﺩ‬ ‫ﺍﺭﺩﻨﺎ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬)‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬
char(.
For i:= 'a' to 'z' do
Write(I,' ');
‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻌﻨﻰ‬write(I,' ');‫ﻫﻰ‬‫ﻟﻠﻌﺩﺍﺩ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻥ‬)‫ﻟﻠﺤﻠﻘﻪ‬(
‫ﻭﻫﻲ‬a‫ﻭﻫﻰ‬ ‫ﻟﻠﻌﺩﺍﺩ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺍﻻﻥ‬ ، ‫ﻤﺴﺎﻓﻪ‬ ‫ﻭﻀﻊ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬b‫ﻭﺘﺭﻙ‬
PDF created with pdfFactory trial version www.pdffactory.com
73
‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻫﻜﺫﺍ‬ ، ‫ﺍﻴﻀﺎ‬ ‫ﻓﺭﺍﻍ‬z)‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬ ‫ﻫﺫﻩ‬ ‫ﻜل‬ ‫ﻻﺘﻨﺴﻰ‬
‫ﺍﻟﺴﻁﺭ‬(.
‫ﻤﺴﺎﻓﺘﻴﻥ‬ ‫ﻨﻁﺒﻊ‬ ‫ﺍﻥ‬ ‫ﺍﺭﺩﻨﺎ‬ ‫ﻟﻭ‬//write(I,' ');
‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬//write(i:2);
‫ﻓﺭﺍﻏﻴﻥ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻭﻤﻌﻨﺎﻫﺎ‬)‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺜﻡ‬ ‫ﻓﺭﺍﻍ‬ ‫ﻴﻌﻨﻲ‬1(
‫ﻓﺭﺍﻏﻴﻥ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺜﻡ‬)‫ﻭﻫﻲ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺜﻡ‬ ‫ﻓﺭﺍﻍ‬2(
‫ﺍﻴﻀﺎ‬ ‫ﻓﺭﺍﻏﻴﻥ‬ ‫ﻓﻲ‬ ‫ﻭﻴﻁﺒﻌﻬﺎ‬ ‫ﺍﻟﻌﺎﺸﺭﻩ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬)‫ﺍﻻﻭل‬ ‫ﺍﻟﻔﺭﺍﻍ‬1
‫ﻭ‬‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻔﺎﺭﻍ‬0(
‫ﺍﻟ‬ ‫ﺸﻜل‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬‫ﻜﺎﻟﺘﺎﻟﻲ‬ ‫ﺤﻠﻘﻪ‬//1 2 3 4 5 6 7 8 910
‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻟﻭ‬ ‫ﺤﺴﻨﺎ‬writeln('hallow':10);‫ﻤﻥ‬ ‫ﻜﻠﻬﺎ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺴﻭﻑ‬
‫ﻤﺴﺎﻓﺎﺕ‬ ‫ﺍﻟﻌﺸﺭﻩ‬ ‫ﺨﻼل‬،‫ﺍﺭﺒﻌﻪ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻤﺴﺎﻓﺎﺕ‬ ‫ﻋﺸﺭﻩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﻴﻌﻨﻲ‬
‫ﻟﻠﺠﻤﻠﻪ‬ ‫ﻭﺴﺘﻪ‬ ‫ﻓﺎﺭﻏﻪ‬hallow.
‫ﺤﻠﻘﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻻﻤﻭﺭ‬ ‫ﻤﻼﺤﻅﻪ‬ ‫ﻴﺠﺏ‬for:
1.‫ﺍﻟ‬ ‫ﺘﻘﻭﻡ‬‫ﻟﻬﺎ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﺨﺭ‬ ‫ﺍﻟﻰ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻭل‬ ‫ﻤﻥ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺤﻠﻘﻪ‬
2.‫ﺍﻟﻨﻬﺎﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻨﻔﺴﻬﺎ‬ ‫ﻫﻲ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬،‫ﻓﺎﻟﺤﻠﻘﻪ‬
‫ﻭﺍﺤﺩﻩ‬ ‫ﻤﺭﻩ‬ ‫ﺘﻨﻔﺫ‬ ‫ﺴﻭﻑ‬.
For i:=1 to 1 do
Writeln('wajdy');
PDF created with pdfFactory trial version www.pdffactory.com
74
‫ﻫﻲ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻨﺎﺘﺞ‬‫ﻜﻠﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬wajdy‫ﻓﻘﻁ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻤﺭﻩ‬
3.‫ﺍﻟ‬ ‫ﻨﻭﻉ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬‫ﺍﻟﺤ‬ ‫ﻓﻲ‬ ‫ﻤﺘﻐﻴﺭ‬‫ﻠﻘ‬‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﻨﻭﻉ‬ ‫ﻨﻔﺴﻪ‬ ‫ﻫﻭ‬ ‫ﻪ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬ ‫ﻓﻤﺜﻼ‬ ‫ﻭﺍﻟﻨﻬﺎﺌﻴﻪ‬I‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer)‫ﺍﻻﻤﺜﻠﻪ‬ ‫ﻫل‬ ‫ﻗﺭﺭ‬
‫ﻻ‬ ‫ﺍﻡ‬ ‫ﺼﺤﻴﺤﻪ‬ ‫ﺍﻟﺘﺎﻟﻴﻪ‬(
For i:= 1 to 's' do
For i:='a' to 'z' do
For i:=10 to 3 do
For i:=5 downto 10 do
‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬:‫ﺨﺎﻁﺊ‬
‫ﺍﻟ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻻﻥ‬‫ﻨﻬﺎﺌﻴﻪ‬s‫ﺍﻟﻌﺩﺍﺩ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻟﻴﺴﺕ‬
‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬:‫ﺨﺎﻁﺊ‬
‫ﺍﻟﻌﺩﺍﺩ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻟﻴﺴﺕ‬ ‫ﻭﺍﻟﻨﻬﺎﺌﻴﻪ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻻﻥ‬
‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻤﺜﺎل‬:‫ﺨﺎﻁﺊ‬
‫ﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻴﺠﺏ‬ ‫ﺘﻨﺎﺯﻟﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻻﻥ‬dwonto‫ﺠﻤﻠﻪ‬ ‫ﺒﺩل‬to
‫ﺍﻟﺭﺍﺒﻊ‬ ‫ﺍﻟﻤﺜﺎل‬:‫ﺨﺎﻁﺊ‬
‫ﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻴﺠﺏ‬ ‫ﺘﺼﺎﻋﺩﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻻﻥ‬to‫ﺒ‬‫ﺠﻤﻠﻪ‬ ‫ﺩل‬dwonto
PDF created with pdfFactory trial version www.pdffactory.com
75
4.‫ﺠﻤﻠﻪ‬for‫ﻤﺜﻼ‬ ، ‫ﺘﻠﻴﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻘﻁ‬ ‫ﺘﻜﺭﺭ‬
For i:=1 to 10 do
Writeln('wajdy');
Writeln('essam');
‫ﻜﻠﻤﺎﺕ‬ ‫ﻋﺸﺭﻩ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬wajdy)‫ﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻜل‬(‫ﻭﻓﻲ‬
‫ﻜﻠ‬ ‫ﺍﻻﺨﻴﺭ‬‫ﻤ‬‫ﻪ‬essam.‫ﻓﻘﻁ‬ ‫ﺘﻠﻴﻪ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺍﻥ‬،‫ﺍﺭﺩﻨﺎ‬ ‫ﻓﺈﺫﺍ‬
‫ﺍﻥ‬‫ﺍﻜ‬ ‫ﻴﺄﺨﺫ‬‫ﺜ‬‫ﻓﻲ‬ ‫ﻨﺤﺼﺭﻫﺎ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺭ‬block‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﺃﻱ‬begin
‫ﺘﻜﺭﺍﺭﻫﺎ‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺜﻡ‬،‫ﺜﻡ‬end;‫ﻟﻠﺘﻜﺭﺍﺭ‬،‫ﺜﻡ‬end.‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬.
‫ﻤﺜﺎل‬ ‫ﻨﺄﺨﺫ‬ ‫ﺩﻋﻨﺎ‬ ، ‫ﺍﻻﻥ‬//
‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﻤﻥ‬ ‫ﻁﻠﺏ‬ ‫ﻟﻭ‬10‫ﻤﺭﺍﺕ‬
‫ﻫﻲ‬ ‫ﺍﻟﺠﻤﻠﻪ‬:‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬hallow‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺴﻁﺭ‬world‫؟‬
Program loop2 (input,output);
Uses wincrt;
Var I: integer;
Begin
For i:=1 to 10 do
Begin
Writeln('hallow');
Writeln('world');
End;
End.
PDF created with pdfFactory trial version www.pdffactory.com
76
‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻋﻤل‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﻨﺸﺭﺡ‬ ‫ﺩﻋﻨﺎ‬ ‫ﺍﻻﻥ‬ ، ‫ﺍﺭﺃﻴﺕ‬)‫ﺍﻟﻤﺭﻜﺒﻪ‬(‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺃﻱ‬
block‫ﻟﺩﻴﻬﺎ‬ ‫ﺃﻱ‬ ، ‫ﺒﻬﺎ‬ ‫ﺨﺎﺹ‬begin‫ﻭ‬end;‫ﺒﻬﺎ‬ ‫ﺨﺎﺼﻪ‬.
‫ﺍﻟﻤﻌﻨﻰ‬ ‫ﻨﻔﺱ‬ ‫ﻟﻬﺎ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﻫﺫﻩ‬ ‫ﻜل‬//
، ‫ﻤﺭﻜﺒﻪ‬ ‫ﺤﻠﻘﻪ‬block،begin‫ﻭ‬end;‫ﻜﺘﻠﻪ‬ ،
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬I‫ﻭﻫﻲ‬ ‫ﻟﻪ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬1.‫ﻭ‬‫ﺍﻟﻰ‬ ‫ﻴﻨﺘﻘل‬ ‫ﺴﻭﻑ‬
‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬،‫ﻫﻨﺎﻙ‬ ‫ﻴﺠﺩ‬ ‫ﺴﻭﻑ‬begin‫ﻭ‬end;!!
‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺴﻴﻔﻬﻡ‬ ‫ﻫﻨﺎ‬begin‫ﻭﺍﻟـ‬end;‫ﻋﻨﺩﻤﺎ‬ ‫ﻤﺭﻩ‬ ‫ﻜل‬ ‫ﻴﻨﻔﺫ‬ ‫ﺴﻭﻑ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﺘﻐﻴﺭ‬I.
‫ﺒﻤﻌﻨﻰ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬ ‫ﻋﻨﺩﻤﺎ‬I‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬1‫ﺍﻟﻜﻠﻤﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺴﻭﻑ‬hallow‫ﺜﻡ‬
‫ﻭﻴﻁﺒﻊ‬ ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﻟﻠﺴﻁﺭ‬ ‫ﻴﻨﺘﻘل‬world‫ﻴﻨ‬ ‫ﺜﻡ‬‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﻟﻠﺴﻁﺭ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﺘﻘل‬.‫ﻫﺫﻩ‬ ‫ﻜل‬
‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬)1(‫ﻓﻘﻁ‬!!
‫ﺍﻻﻥ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬I‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻭﺴﻴﻘﻭﻡ‬ ، ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬block)‫ﻁﺒﺎﻋﻪ‬
‫ﻓﻴﻪ‬ ‫ﺍﻟﻤﻭﺠﻭﺩﻩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬(.
‫ﺜﻡ‬‫ﺴ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬I‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬،‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻭﻴﻘﻭﻡ‬block.‫ﻴﻘﻭﻡ‬ ‫ﺤﺘﻰ‬ ‫ﻭﻫﻜﺫﺍ‬
‫ﺍ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺒﻨﺘﻔﻴﺫ‬‫ﻟﻨﻬﺎﺌﻴﻪ‬)10. (
PDF created with pdfFactory trial version www.pdffactory.com
77
‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬::‫ﺤﻠﻘﻪ‬while::
‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬//
While condition do
begin
:
:
End;
‫ﻋﻤﻠﻬﺎ‬ ‫ﻜﻴﻔﻴﻪ‬:
‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﺤﻘﻕ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬condition،‫؟‬ ‫ﻻ‬ ‫ﺍﻡ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﻫﻭ‬ ‫ﻫل‬
‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬،‫ﻓﻲ‬ ‫ﺘﻭﺠﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻭﻴﻨﻔﺫ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﺄﺨﺩ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻓﺈﻥ‬
‫ﺍﻟـ‬block‫ﻟﻠـ‬ ‫ﻴﺼل‬ ‫ﺤﺘﻰ‬end;.
‫ﻻ‬ ‫ﺍﻡ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﻫل‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻓﺈﻨﻪ‬..‫؟‬
‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺜﺎﻨﻴﻪ‬ ‫ﻤﺭﻩ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬block.‫ﻴﺘﺤﻘﻕ‬ ‫ﻻ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬‫ﺍﻟﺸﺭﻁ‬.
‫ﻓﺎﻨﻪ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬‫ﻴﻘﻭﻡ‬‫ﺠﻤﻠﻪ‬ ‫ﺒﻌﺩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻭﺘﻨﻔﻴﺫ‬ ، ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬
end;‫ﺍﻭﺍﻤﺭ‬ ‫ﺍﻭ‬ ‫ﺠﻤل‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬.
‫ﺍﻟ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬‫ﺍﻻﺘﻲ‬ ‫ﺸﻜل‬//
PDF created with pdfFactory trial version www.pdffactory.com
78
‫ﻤﺜﺎل‬//‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻟﻁﺒﺎﻋﻪ‬1‫ﺍﻟﻰ‬5‫ﺒﺤﻠﻘﻪ‬while//
Program loop3 (input,output);
Uses wincrt;
Var
I:integer;
Begin
I:=1;
While i<6 do
‫اﻟـ‬ ‫ﻧﻔﺬ‬Block
‫ﻧﻌﻢ‬
‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻻﻭﺍﻤﺭ‬
‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬
‫ﻻ‬
PDF created with pdfFactory trial version www.pdffactory.com
79
Begin
Writeln(i);
I: =i+1;
End;
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬:
‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬I‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer.(‫ﺒﻭﻀﻊ‬ ‫ﻗﻤﻨﺎ‬
‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﺍﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﻗﻴﻤﻪ‬I)‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻌﺭﻑ‬ ‫ﺤﺘﻰ‬ ‫ﻭﻀﻌﻬﺎ‬ ‫ﻴﺠﺏ‬‫ﻭﺍﻻ‬ ،
‫ﺩﺍﺌﻤﺎ‬ ‫ﻭﻫﻲ‬ ‫ﻟﻪ‬ ‫ﺍﻻﻓﺘﺭﺍﻀﻴﻪ‬ ‫ﺴﻴﻀﻊ‬0(‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺠﻤل‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻴﻀﺎ‬
repeat‫ﻭﻫﻲ‬ ‫ﺍﻻﻓﺘﺭﺍﻀﻴﻪ‬ ‫ﺴﺘﻜﻭﻥ‬ ‫ﻭﺍﻻ‬ ‫ﻟﻠﺘﻜﺭﺍﺭ‬ ‫ﺍﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻭﻀﻊ‬ ‫ﻴﺠﺏ‬0.
‫ﺍﻟﺸﺭﻁ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻗﻤﻨﺎ‬ ، ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﺍﻻﻥ‬i<6‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻤﻌﻨﺎﻩ‬ ،I‫ﺍﺼﻐﺭ‬
‫ﻤﻥ‬6‫ﺍﻟـ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺩﺨﻭل‬ ‫ﺴﻴﺘﻡ‬Block‫ﺘﺴﺎﻭﻱ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬6‫ﺍﻜﺒﺭ‬ ‫ﺍﻭ‬
‫ﺸﻲ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻭﻋﺩﻡ‬ ‫ﻤﻨﻪ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬)‫ﺍﻟـ‬ ‫ﻓﻲ‬block‫ﻁﺒﻌﺎ‬(
‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺍﺫﺍ‬)‫ﺍﻱ‬I‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬6(‫ﺴﻭﻑ‬‫ﻁﺒﺎﻋﻪ‬ ‫ﺘﺘﻡ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬I.‫ﻭﺍﻀ‬‫ﺎ‬‫ﻓﻪ‬
‫ﺍﻟ‬‫ﺠﻤﻠﻪ‬i:=i+1‫ﻴﻌﻨﻲ‬ ،I‫ﺍﻟﻘﺩﻴﻤﻪ‬)1(+‫ﺍﻟﺭﻗﻡ‬1‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﺒﺘﺨﺯﻴﻥ‬ ‫ﻭﻗﻤﻨﺎ‬ ،)2(
‫ﻤﺘﻐﻴﺭ‬ ‫ﻓﻲ‬I.
‫ﺍ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻌﻭﺩ‬ ‫ﺍﻻﻥ‬‫ﻫل‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻟﺸﺭﻁ‬I‫ﻫﻲ‬ ‫ﺍﻟﻠﻰ‬2‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬6‫؟‬‫ﻨﻌﻡ‬،‫ﺍﺫﺍ‬
‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻴﻘﻭﻡ‬block)‫ﺍﻟـ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻭﺴﻭﻑ‬I‫ﺍﻟﻤﺭﻩ‬ ‫ﻫﺫﻩ‬
‫ﺘﺴﺎﻭﻱ‬3(
PDF created with pdfFactory trial version www.pdffactory.com
80
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻌﻤﻠﻴﻪ‬ ‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬ ‫ﻭﻫﻜﺫﺍ‬I‫ﺘﺴﺎﻭﻱ‬6‫ﻫﺫﻩ‬ ‫ﻓﻲ‬
‫ﻫل‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺭﺠﻊ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺤﺎﻟﻪ‬I)6(‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬6....‫ﻁﺒﻌﺎ‬ ‫ﻻ‬ ‫ﺍﻟﺠﻭﺍﺏ‬
‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺴﻭﻑ‬ ‫ﺍﺫﺍ‬.
‫ﻤﻼﺤﻅﺎﺕ‬::
‫ﻗﺒل‬ ‫ﻟﺩﻴﻙ‬ ‫ﺍﻟﺫﻱ‬ ‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﻤﺎ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻌﻁﻲ‬ ‫ﺍﻥ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻓﻲ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻴﺠﺏ‬
‫ﺠﻤﻠﻪ‬while)‫ﻭﺍﻴﻀﺎ‬repeat(‫ﻴﻌﻁﻴﻬﺎ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻓﺈﻥ‬ ‫ﺘﺭﻴﺩ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ،
‫ﻭﻫﻲ‬ ‫ﺍﻻﻓﺘﺭﺍﻀﻴﻪ‬ ‫ﻗﻴﻤﺘﻬﺎ‬0.
‫ﻨﻬﺎﺌﻴﺎ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺍﺤﺫﻑ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬)i:=i+1(‫ﻭﻗﻡ‬ ،‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﻨﻔﻴﺫ‬
‫ﺘﻼﺤﻅ‬ ‫ﻤﺎﺫﺍ‬‫؟‬‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﺍﻥ‬ ‫ﺘﺠﺩ‬ ‫ﺴﻭﻑ‬0‫ﺍﻟﻰ‬5
‫ﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻜل‬ ‫ﻤﻁﺒﻭﻋﻪ‬.
‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﺼﺒﺢ‬ ‫ﻟﻜﻲ‬ ‫ﺍﻟﻌﻤل‬ ‫ﻤﺎ‬ ‫ﺍﺫﺍ‬1‫ﺍﻟﻰ‬5‫ﻤﻥ‬ ‫ﻭﻟﻴﺱ‬0‫؟‬
‫ﺍﻟـ‬ ‫ﺒﺩﺍﺨل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﻭﺍﻗﻊ‬ ‫ﺒﺘﻐﻴﺭ‬ ‫ﻋﻠﻴﻨﺎ‬block‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺃﻱ‬
i:=i+1‫ﺍ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬‫ﻫﻲ‬ ‫ﻟﺜﺎﻨﻴﻪ‬writeln(i);.
‫ﻴﺼﺒﺢ‬ ‫ﺃﻱ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺒﺘﻐﻴﺭ‬ ‫ﻋﻠﻴﻨﺎ‬ ‫ﺍﻴﻀﺎ‬while i<5 do
‫ﺍﻟﻤﻼﺤﻅﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺒﺘﺠﺭﻴﺏ‬ ‫ﻗﻡ‬‫ﺘﻔﻬﻤ‬ ‫ﻟﻜﻲ‬ ،‫ﻬ‬‫ﺠﻴﺩ‬ ‫ﺒﺸﻜل‬ ‫ﺎ‬...
‫ﺍﻟـ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﻜﺘﺏ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬Blocki:=i+1 //‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﻓﺈﻥ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬I)1‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﺍﺴﻨﺩﺕ‬ ‫ﻗﺩ‬ ‫ﻜﻨﺕ‬ ‫ﺍﺫﺍ‬I‫ﻗﻴﻤﻪ‬‫ﺒﺩﺀ‬ ‫ﻗﺒل‬
‫ﺤﻠﻘﻪ‬while‫ﻭ‬ ،0‫ﺘﺴﻨﺩ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬)‫ﻗﻴﻤﻪ‬ ‫ﻟﻬﺎ‬ ‫ﺘﻌﻁﻲ‬ ‫ﺍﻭ‬((
‫ﺍﻟﻤﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﻻ‬ ‫ﻤﺎ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻨﻔﺫ‬ ‫ﺴﻭﻑ‬.
PDF created with pdfFactory trial version www.pdffactory.com
81
‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬::‫ﺤﻠﻘﻪ‬Repeat::
‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬//
Repeat
:
:
Until condition
‫ﻋﻤﻠﻬﺎ‬ ‫ﻜﻴﻔﻴﻪ‬:
‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺒﺩﺨﻭل‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬repeat‫ﺍﻟﺘ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻭﺘﻨﻔﻴﺫ‬‫ﻲ‬
‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺤﺘﻰ‬ ‫ﺒﺩﺍﺨﻠﻪ‬until‫ﻻ؟؟‬ ‫ﺍﻡ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻫل‬ ‫ﻟﻴﺴﺄل‬ ‫ﻓﻴﺘﻭﻗﻑ‬
‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬!
‫ﻻ‬ ‫ﻭﺍﺫﺍ‬)‫ﻤﺘﺤﻘﻕ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺸﺭﻁ‬(‫ﻭﺘﻜﺭﺍﺭ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﻟﺩﺨﻭل‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬
‫ﺍﻻﻭﺍﻤﺭ‬...‫ﻭﻫﻜﺫﺍ‬،‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﺤﻘﻕ‬ ‫ﻴﺘﻡ‬ ‫ﺤﺘﻰ‬.
‫ﺍﻟﻤﻼﺤﻅﻪ‬ ‫ﻴﺠﺏ‬‫ﺤﻠﻘﻪ‬ ‫ﺍﻥ‬repeat‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ‫ﻻ‬begin‫ﻭﻻ‬end;
‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ‫ﻭﺘﻜﻭﻥ‬//
PDF created with pdfFactory trial version www.pdffactory.com
82
‫ﻤﺜﺎل‬//‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻟﻁﺒﺎﻋﻪ‬1‫ﺍﻟﻰ‬5‫ﺒﺤﻠﻘﻪ‬repeat//
Program loop3 (input,output);
Uses wincrt;
Var
I:integer;
‫اﻻواﻣﺮ‬ ‫وﺗﻨﻔﯿﺬ‬ ‫اﻟﺤﻠﻘﮫ‬ ‫اﻟﻰ‬ ‫اﻟﺪﺧﻮل‬
‫اﻟﺸﺮط‬ ‫ﺗﺤﻘﻖ‬
‫اﻟﺘﺎﻟﯿﮫ‬ ‫اﻻواﻣﺮ‬
‫ﻧﻌﻢ‬
‫ﻻ‬
PDF created with pdfFactory trial version www.pdffactory.com
83
Begin
I:=1;
repeat
Writeln(i);
I:=i+1;
Until i>5
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺒﻌﺩ‬‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬integer(‫ﺘﻡ‬‫ﺍﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻭﻀﻊ‬
‫ﻟﻠﻤﺘﻐﻴﺭ‬I‫ﻭﻫﻲ‬1)I:=1(.‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺒﺩﺃﻨﺎ‬repeat‫ﺴﻭ‬ ،‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﺠﺩ‬ ‫ﻑ‬
repeat‫ﺃﻱ‬ ‫ﻤﻌﻨﺎﻫﺎ‬‫ﻜﺭﺭ‬‫ﺤﺘﻰ‬ ‫ﺍﻻﺘﻴﻪ‬ ‫ﺍﻟﺠﻤل‬Until‫ﻭﻫﻭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻴﺘﺤﻘﻕ‬I
‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫ﻓ‬ ‫ﺘﺤﻘﻕ‬ ‫ﻓﺈﺫﺍ‬‫ﺎ‬‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﺨﺭﺝ‬.
‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺴﻴﺠﺩ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬I)‫ﺘﺴﺎﻭﻱ‬ ‫ﻗﻴﻤﺘﻪ‬1‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﺒﺴﺒﺏ‬
‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻗﺒل‬ ‫ﺍﻟﺫﻱ‬.(
‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺴﻴﺠﺩ‬ ‫ﺫﻟﻙ‬ ‫ﺒﻌﺩ‬I:=i+1‫ﻭﻤﻌﻨﺎﻫﺎ‬ ،"‫ﺯﻴﺎﺩﻩ‬ ‫ﻗﻡ‬ ‫ﺍﻱ‬1‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻋﻠﻰ‬I
)‫ﺘﺴﺎﻭﻱ‬ ‫ﻗﻴﻤﺘﻪ‬1(‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺩﺍﺨل‬ ‫ﺒﺘﻌﻴﻨﻬﻤﺎ‬ ‫ﻭﻗﻡ‬ ،I. "
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬I‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻟﺤﺎﻟﻴﻪ‬2.
‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺫﻫﺏ‬ ‫ﺍﻻﻥ‬until‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬ ‫ﻭﻴﺘﺤﻘﻕ‬ ،.‫ﻫل‬2‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫ﺍﺫﺍ‬ ‫؟‬
‫ﻓﺴﻭ‬ ‫ﻨﻌﻡ‬ ‫ﺍﻟﺠﻭﺍﺏ‬ ‫ﻜﺎﻥ‬‫ﻑ‬‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬.‫ﻻ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬)‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﻭﻫﻭ‬
‫ﺍﻻ‬‫ﻥ‬(‫ﻟﻠﺘﻜﺭﺍﺭ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻴﺭﺠﻊ‬ ‫ﻓﺴﻭﻑ‬.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻴﻁﺒﻊ‬I)‫ﺘﺴﺎﻭﻱ‬ ‫ﻗﻴﻤﺘﻪ‬2(‫ﺒﺯﻴﺎﺩﻩ‬ ‫ﻭﻴﻘﻭﻡ‬ ،1‫ﻭﻴﺼﺒﺢ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻋﻠﻰ‬3.
‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻭﺍﻻﻥ‬..‫ﻭﻫﻜﺫﺍ‬
PDF created with pdfFactory trial version www.pdffactory.com
84
‫ﺍ‬‫ﺍﻥ‬ ‫ﻟﻰ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬I‫ﻫﻲ‬5‫ﺍﻟﺭﻗﻡ‬ ‫ﻓﻴﻁﺒﻊ‬ ،5‫ﻭﺍﺤﺩ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﻴﺯﻴﺩ‬ ‫ﺜﻡ‬ ،
)‫ﺴﺘﺼﺒﺢ‬ ‫ﺃﻱ‬6(‫ﻫل‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺫﻫﺏ‬ ‫ﻭﺍﻻﻥ‬6‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫؟؟‬
‫ﻨﻌﻡ‬،‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﺴﻴﺨﺭﺝ‬ ‫ﺍﺫﺍ‬.
‫ﻤﻥ‬ ‫ﺍﻻﺭﻗﺎﻡ‬ ‫ﻫﻭ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﺃﻥ‬ ‫ﺃﻱ‬1‫ﺍﻟﻰ‬5‫ﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻜل‬ ‫ﻤﻁﺒﻭﻋﻪ‬.
‫ﻋﻠﻰ‬ ‫ﺘﻨﻁﺒﻕ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﻼﺤﻅﺎﺕ‬while‫ﻋﻠﻰ‬ ‫ﺘﻨﻁﺒﻕ‬ ‫ﺍﻴﻀﺎ‬repeat،‫ﺒﻔﻬﻤﻬﺎ‬ ‫ﻗﻡ‬
‫ﻋﻠﻴﻬﻤﺎ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻭﻗﻡ‬ ، ‫ﺍﻻﻥ‬.
‫ﺠﻤﻠﻪ‬ ‫ﻓﻲ‬while‫ﻭﺠﻤﻠﻪ‬repeat‫ﺍﻟﻰ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻴﺼﺒﺢ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬‫ﻤﺎ‬
‫ﻤﺜﻼ‬ ‫ﻻﻨﻬﺎﻴﻪ‬/
While 2<4 do
Writeln('wajdy ');
2‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬ ‫ﺩﺍﺌﻤﺎ‬4!‫ﻨﻬﺎﻴﻪ‬ ‫ﻻ‬ ‫ﻤﺎ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﻟﺫﻟﻙ‬.
Repeat
Writeln('wajdy');
Until 3>5
‫ﺘﺼﺒﺢ‬ ‫ﺤﺘﻰ‬ ‫ﻜﺭﺭ‬3‫ﺍﻜﺒﺭ‬‫ﻤﻥ‬5!!‫ﺘﻜﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﻟﺫﻟﻙ‬‫ﺍ‬‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺭ‬
‫ﺘﺼﺒﺢ‬ ‫ﺤﺘﻰ‬3‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5)‫ﻻﻨﻬﺎﻴ‬ ‫ﻤﺎ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﻟﻌﺭﺒﻲ‬‫ﻪ‬(.
PDF created with pdfFactory trial version www.pdffactory.com
85
‫ﺍﻟﻤﺘﺩﺨﻠﻪ‬ ‫ﺍﻟﺤﻠﻘﺎﺕ‬::Nested Loops
‫ﺤﻠﻘﻪ‬ ‫ﺃﻱ‬ ، ‫ﺍﻟﺤﻠﻘﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻨﻭﺍﻉ‬ ‫ﻫﺫﻩ‬ ‫ﻤﺜل‬ ‫ﺍﻟﻰ‬ ‫ﻨﺤﺘﺎﺝ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻓﻲ‬For
‫ﺤﻠﻘﻪ‬ ‫ﺒﺩﺍﺨل‬for، ‫ﺍﺨﺭﻯ‬while‫ﺒﺩﺍﺨل‬while‫ﻤﺜﻼ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬ ،
repeat‫ﺤﻠﻘﻪ‬ ‫ﺒﺩﺍﺨﻠﻬﺎ‬for‫ﻭﻫﻜﺫﺍ‬ ،.
‫،ﻋﻠﻰ‬ ‫ﺍﻟﻤﻁﻠﻭﺏ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺤﺴﺏ‬ ‫ﻋﻠﻰ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻻﻤﻭﺭ‬ ‫ﺘﻠﻙ‬ ‫ﻜل‬‫ﻤﺩ‬‫ﻯ‬‫ﺘﻔﻜﻴﺭ‬
، ‫ﺍﻟﻤﺒﺭﻤﺞ‬‫ﺍﻥ‬ ‫ﺒﻤﻌﻨﻰ‬‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻨﺠﺩ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬3‫ﻟﺤﻠﻪ‬ ‫ﻁﺭﻕ‬
‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ، ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﻤﻔﻬﻭﻡ‬ ‫ﺘﻔﻬﻡ‬ ‫ﺤﺎﻭل‬ ‫ﻭﺍﻨﻤﺎ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺃﻱ‬ ‫ﺤﻔﻅ‬ ‫ﺘﺤﺎﻭل‬ ‫ﻻ‬ ‫ﻟﺫﻟﻙ‬
‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺒﻁﺭﻴﻘﺘﻙ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺴﺘﺴﺘﻁﻴﻊ‬.
‫ﻤﺜﺎل‬//‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺒﺎﻟﺸﻜل‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ، ‫ﺤﻠﻘﻪ‬ ‫ﺩﺍﺨل‬ ‫ﺤﻠﻘﻪ‬::
Repeat ….
:
For ….. do
Begin
:
End;
:
Until ……….
‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﻟﻠﺨﺭﻭﺝ‬::
‫ﺍﻻﻤﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻨﻜﺘﺏ‬::exit
PDF created with pdfFactory trial version www.pdffactory.com
86
If i>3 then exit;
‫ﻤﺜﺎل‬:
Begin
For i:= 1 to 10 do
Begin
Writeln(i);
If i=5 then exit ;
End;
Writeln('Done');
End.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻭﺼﻠﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺃﻱ‬I5‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻓﻘﻡ‬!!
‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:
1
2
3
4
5
Done
PDF created with pdfFactory trial version www.pdffactory.com
87
‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬ ‫ﺍﻟﺤﻠﻘﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬///
‫ﺍﻻ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻟﻁﺒﺎﻋﻪ‬‫ﺘﻲ‬:
*
* *
* * *
* * * *
Program loop4 (input,output);
Uses wincrt;
Var
I,j:integer;
Begin
For i:= 1 to 4 do
Begin
For j:= 1 to I do
Write(' * ');
Writeln;
End;
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬::
‫ﺤﻠﻘﺘﻴﻥ‬ ‫ﺒﻌﻤل‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺍﺨﺭﻯ‬ ‫ﺒﺩﺍﺨل‬ ‫ﻭﺍﺤﺩﻩ‬(‫ﺍﺭﺒﻊ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻥ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ،
‫ﺍﺴﻁﺭ‬)‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻭﻫﻲ‬(‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻴﻨﺘﻘل‬ ‫ﺜﻡ‬ ‫ﻨﺠﻤﻪ‬ ‫ﻓﻴﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬
‫ﻨﺠﻤﺘﺎﻥ‬ ‫ﺒﻪ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺴﻁﺭ‬ ، ‫ﻟﻼﺴﻔل‬‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻴﻨﺘﻘل‬)‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻭﻫﻲ‬
‫ﺍﻟﺜﺎﻨﻴﻪ‬(‫ﺍﻟﺴﻁﺭ‬ ‫ﻭ‬3‫ﺍﻟﺴﻁﺭ‬ ، ‫ﻨﺠﻤﺎﺕ‬ ‫ﺜﻼﺜﻪ‬ ‫ﺒﻪ‬4‫ﻨﺠﻤﺎﺕ‬ ‫ﺍﺭﺒﻊ‬ ‫ﺒﻪ‬.
PDF created with pdfFactory trial version www.pdffactory.com
88
‫ﻨﺒﺩﺃ‬ ‫ﺩﻋﻨﺎ‬‫ﺒﺨﻁﻭﻩ‬ ‫ﺨﻁﻭﻩ‬!!
‫ﻋﻨﺩﻤﺎ‬ ‫ﺍﻭﻻ‬‫ﻴ‬‫ﺄﺨﺫ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬I‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬1‫ﺍﻟـ‬ ‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬Block.
‫ﺍﻟـ‬block‫ﺍﺨﺭﻯ‬ ‫ﺤﻠﻘﻪ‬ ‫ﺒﻪ‬ ‫ﻴﻭﺠﺩ‬)‫ﺩﺍﺨﻠﻴﻪ‬(‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺴﺘﻨﻔﺫ‬ ‫ﺍﻱ‬ ،‫ﺍﻟﺩﺍﺨﻠﻴﻪ‬‫ﻜﺎﻤﻠﻪ‬
‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺄﺨﺫ‬ ‫ﻋﻨﺩﻤﺎ‬1.‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺄﺨﺫ‬ ‫ﻭﻋﻨﺩﻤﺎ‬2
‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻜﺎﻤﻠﻪ‬ ‫ﺍﻟﺩﺍﺨﻠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺴﺘﻨﻔﺫ‬.‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺎﺨﺫ‬ ‫ﻤﺎ‬ ‫ﻜل‬ ‫ﻭﻫﻜﺫﺍ‬
‫ﻜﺎﻤﻠﻪ‬ ‫ﺘﻨﻔﺫ‬ ‫ﺍﻟﺩﺍﺨﻠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻓﺈﻥ‬ ‫ﻤﺎ‬ ‫ﻗﻴﻤﻪ‬.
‫ﺍﻻﻭ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺍﺨﺫ‬ ‫ﺍﻻﻥ‬‫ﻟﻰ‬)‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬(‫ﺍﻟﻘﻴﻤﻪ‬1)‫ﺍﻱ‬I‫ﻴﺴﺎﻭﻱ‬1‫ﺍﻻﻥ‬.(
‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬‫ﻤﻥ‬1‫ﺍﻟﻰ‬I)‫ﺍﻟﻰ‬ ‫ﺃﻱ‬1(‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﻤﺭﻩ‬ ‫ﺴﺘﻜﺭﺭ‬ ‫ﺃﻱ‬
‫ﻋﺒﺎﺭﻩ‬ ‫ﺘﻨﻔﺫ‬ ‫ﺍﻻﻥ‬ ، ‫ﻨﺠﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻭﻫﻲ‬writeln.
‫ﻭ‬‫ﺒﻬﺫﺍ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﻨﺘﻬﻰ‬I‫ﺘﺴﺎﻭﻱ‬1
‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﺍﻻﻥ‬‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﺘﻐﻴﺭ‬‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬I‫ﺘﺴﺎﻭﻱ‬2‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺴﻴﻘﻭﻡ‬ ،
‫ﺍﻟـ‬ ‫ﺒﻴﻥ‬block
‫ﺍﻟ‬ ‫ﺍﻟﺤﻠﻘﻪ‬‫ﺩﺍﺨﻠﻴﻪ‬‫ﻤﻥ‬1‫ﺍﻟﻰ‬)I‫ﺍﻟﻲ‬ ‫ﺃﻱ‬2(، ‫ﻤﺭﺘﺎﻥ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺴﺘﻜﺭﺭ‬ ‫ﺃﻱ‬
‫ﺍﻻﻭﻟ‬ ‫ﺍﻟﻤﺭﻩ‬‫ﻰ‬‫ﺘﻨﻁﺒﻊ‬ ‫ﺴﻭﻑ‬*،‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﻭﺍﻟﻤﺭﻩ‬) *‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﻨﺠﻤﺘﺎﻥ‬ ‫ﺃﻱ‬(
‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺘﻨﻔﺫ‬ ‫ﺜﻡ‬writeln‫ﻭﻫﻜﺫﺍ‬ ، ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﻟﻠﺴﻁﺭ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻨﺘﻘل‬!!
PDF created with pdfFactory trial version www.pdffactory.com
89
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟ‬‫ﺴﺎﺑﻊ‬
‫ﻭﺍﻟﺪﻭﺍﻝ‬ ‫ﺍﻻﺟﺮﺍﺀﺍﺕ‬
procedure &Function
PDF created with pdfFactory trial version www.pdffactory.com
90
‫ﻫﻴﻜﻠﻴﻪ‬ ‫ﺍﻭ‬ ‫ﺘﺭﻜﻴﺒﻴﻪ‬ ‫ﻟﻐﻪ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺍﻥ‬ ‫ﻨﻌﻠﻡ‬ ‫ﻜﻠﻨﺎ‬structured language‫ﻫﺫﺍ‬
‫ﺼﻐﻴﺭﻩ‬ ‫ﻭﻤﺸﺎﻜل‬ ‫ﺨﻁﻭﺍﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺘﻘﺴﻡ‬ ‫ﺍﻟﻤﺸﺎﻜل‬ ‫ﺍﻥ‬ ‫ﻴﻌﻨﻲ‬،‫ﺒﺸﻜل‬ ‫ﺘﻜﺘﺏ‬ ‫ﺫﻟﻙ‬ ‫ﻭﺒﻌﺩ‬
‫ﻭﺍﻻﻗﺘﺭ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺘﻘﻭﺩﻨﺎ‬ ‫ﻭﺍﻟﺘﻘﺴﻤﺎﺕ‬ ‫ﺍﻟﺘﺭﺘﻴﺒﺎﺕ‬ ‫ﻫﺫﻩ‬ ، ‫ﻤﺭﺘﺏ‬‫ﺍﻨﺎﺕ‬.
‫ﻟﻬﺎ‬ ‫ﻤﻨﻔﺼﻠﻪ‬ ‫ﺒﺭﺍﻤﺞ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﻭﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻋﺎﻡ‬ ‫ﺒﺸﻜل‬Block
‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺃﻱ‬ ‫ﺒﻬﺎ‬ ‫ﺨﺎﺹ‬begin‫ﻭ‬end;.
‫ﻫﻨ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﻤﻔﻴﺩﻩ‬ ‫ﻭﻫﻲ‬‫ﺎ‬‫ﻤﻌﻴﻨﻪ‬ ‫ﺒﺎﻋﻤﺎل‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻙ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﻤﺘﻔﺭﻗﻪ‬ ‫ﺍﺠﺯﺍﺀ‬ ‫ﻓﻲ‬!!
‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻋﻠﻰ‬ ‫ﻨﻅﺭﻩ‬ ‫ﻨﻠﻘﻲ‬ ‫ﺩﻋﻨﺎ‬//
Procedure procename ;
Begin
:
:
End;
Begin
:
End.
‫ﻜﻤﺎ‬‫ﺸﺎﻫﺩﻨﺎ‬‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻗﺒل‬ ‫ﺘﻌﺭﻑ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ،)‫ﺴﻭﻑ‬ ‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬
‫ﻻﺤﻘﺎ‬ ‫ﺍﺘﻨﺎﻭﻟﻬﺎ‬(‫ﻤﻜﺎﻥ‬ ‫ﺍﻴﻀﺎ‬procename‫ﻴ‬‫ﺘﺭﻴﺩﻩ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺘﻡ‬!!
PDF created with pdfFactory trial version www.pdffactory.com
91
‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻓﻜﺭﻩ‬::
‫ﻨﺭﻴ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ، ‫ﺩ‬
‫ﻓﻘﻁ‬ ‫ﺍﺴﻤﻪ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬ ‫ﻨﻘﻭﻡ‬!!
‫ﻟﻼﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﺜﺎل‬//
Program example (input, output);
Uses wincrt;
Procedure pause;
Begin
Writeln ('press any key to continuo ');
Readln;
End;
Begin
Writeln (‘my name is wajdy essam ');
Pause;
Writeln ('I like Pascal Language ');
Pause;
Writeln ('good luck !! ');
Pause;
End.
PDF created with pdfFactory trial version www.pdffactory.com
92
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬//
‫ﺒﺎﻨﺘﻅﺎﺭ‬ ‫ﻭﻴﻘﻭﻡ‬ ، ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻓﻲ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﺠﺭﺍﺀ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬
‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻭﺫﻟﻙ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﺃﻱ‬ ‫ﻴﺩﺨل‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬Readln.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬،‫ﻋﻠ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻁﺒﻌﻨﺎ‬‫ﻰ‬‫ﺍﻟﺸﺎﺸﻪ‬‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﻭﺘﻡ‬ ،
‫ﺍﻻﺠﺭﺍﺀ‬pause.
‫ﺴ‬ ‫ﺍﻻﻥ‬‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬)‫ﺍﺩﺨ‬ ‫ﻭﺍﻨﺘﻅﺎﺭ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺃﻱ‬‫ﺎ‬‫ﻤﻥ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﺃﻱ‬ ‫ل‬
‫ﺍﻟﻤﺴﻨﺨﺩﻡ‬(.‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻨﻪ‬ ‫ﺍﻻﻤﺭ‬ ‫ﻤﺎﻓﻲ‬ ‫ﻜل‬ ، ‫ﺍﻟﺒﺎﻗﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻜﺫﺍ‬
‫ﻓﻴﻪ‬ ‫ﻤﺎ‬ ‫ﻭﺘﻨﻔﻴﺫ‬ ‫ﺍﻻﺠﺭﺍﺀ‬!!!
‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺴﻴﺼﺒﺢ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺒﺩﻭﻥ‬:
Program example (input, output);
Uses wincrt;
Begin
Writeln (‘my name is wajdy essam ');
Writeln ('press any key to continuo ');
Readln;
Writeln ('I like Pascal Language ');
Writeln ('press any key to continuo ');
Readln;
Writeln ('good luck !! ');
Writeln ('press any key to continuo ');
Readln;
End.
PDF created with pdfFactory trial version www.pdffactory.com
93
‫ﺍﻻﻓﻀل‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬ ‫ﺍﻻﻥ‬‫ﺍﻻﻭل‬ ‫ﺍﻜﻴﺩ‬ ‫؟‬‫ﻟﻠﻘﺭﺍﺀﻩ‬ ‫ﻭﺍﺴﻬل‬ ‫ﺍﻭﻀﺢ‬ ،،‫ﻜﺫﻟﻙ‬ ‫ﺃﻟﻴﺱ‬!!،
‫ﻫ‬‫ﺍﻟﺘﺘﺒﻊ‬ ‫ﻭﺴﻬل‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﺴﻬل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺠﻌل‬ ‫ﻭﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻫﻲ‬ ‫ﻜﺫﺍ‬
‫ﻭﺘﺼﻠﻴﺤﻬﺎ‬ ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﺍﻜﺘﺸﺎﻑ‬ ‫ﺍﻟﺴﻬل‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬.
‫ﺍﻟﻤﺤﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﺴﻤﻰ‬ ‫ﺒﻬﺎ‬ ‫ﺨﺎﺼﻪ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬local
variable‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﻓﻘﻁ‬ ‫ﻤﻌﺭﻓﻪ‬ ‫ﻭﻫﻲ‬)‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﻤﻌﺭﻓﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺃﻱ‬
‫ﺍﻟﺭﺌﻴﺴﻲ‬(.
‫ﻤﺜﺎل‬//
Procedure wajdy;
Var
a: integer;
Begin
a:=10 ;
Writeln (a);
End;
Begin
wajdy;
a:= 20; { ‫ﻻﻥ‬ ،، ‫ﺨﻁﺄ‬ ‫ﻫﻨﺎ‬‫ﻤﻌﺭﻑ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﻓﻘﻁ‬ }
End.
‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺘﻡ‬wajdy‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻟﻜﻥ‬ ،a‫ﺍﻨﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﻌﺭﻑ‬ ‫ﻻﻨﻪ‬ ، ‫ﺨﺎﻁﺊ‬
‫ﻤﺤﻠﻰ‬ ‫ﻤﺘﻐﻴﺭ‬‫ﻓﻘﻁ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﺨﺎﺹ‬ ‫ﺃﻱ‬ ،!!
PDF created with pdfFactory trial version www.pdffactory.com
94
‫ﺍﻟﻌﺎﻟﻤﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬global variable‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻫﻲ‬
‫ﻭﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻭﺩﺍﺨل‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬.
Var
B: integer;
Procedure wajdy;
Var
A: integer;
Begin
A: = 10;
B: =64; {this is legal}
Writeln (a);
End;
Begin
Wajdy;
A: = 20; {this is illegal}
B: = 50; {this is legal}
End.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻨﺭﻯ‬ ‫ﻜﻤﺎ‬‫ﺍﻤﺎ‬ ، ‫ﻭﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﺘﻐﻴﺭﻩ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺍﻟﻌﺎﻟﻤﻲ‬
‫ﺫ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻓﻼ‬ ‫ﺍﻟﻤﺤﻠﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬‫ﻟ‬‫ﻓﻘﻁ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﺍﻻ‬ ‫ﻙ‬!!
‫ﺴﻴﺘﺠﺎﻭﺯ‬ ‫ﺍﻟﻌﺎﻟﻤﻲ‬ ‫ﻓﺈﻥ‬ ، ‫ﺍﻻﺴﻡ‬ ‫ﺒﻨﻔﺱ‬ ‫ﻭﺍﻟﻌﺎﻟﻤﻲ‬ ‫ﺍﻟﻤﺤﻠﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻋﻼﻥ‬ ‫ﺘﻡ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬
overrided‫ﺍﻻﺘﻲ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻤﺤﻠﻰ‬ ‫ﻋﻠﻰ‬//
PDF created with pdfFactory trial version www.pdffactory.com
95
Program ex2 (input, output);
Uses wincrt;
Var
A: integer;
Procedure wajdy;
Var
A: integer;
Begin
A: =10;
Writeln (a);
End;
Begin
A: =50;
Writeln (a);
Wajdy;
Writeln (a);
End.
‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬:
50
10
50
‫ﺍﻟﻭﺴﺎﺌﻁ‬Parameters:
‫ﺍﻥ‬ ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﻴﺠﺏ‬ ، ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﻤﺤﻠﻲ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻨﺭﻴﺩ‬ ‫ﻋﻨﺩﻤﺎ‬
PDF created with pdfFactory trial version www.pdffactory.com
96
‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﻨﺴﺘﺨﺩﻡ‬psrsmeters‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﻬﺎ‬ ‫ﻴﺯﻭﺩ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻭﻫﻲ‬ ،
‫ﻭﻅﻴﻔﺘﻪ‬ ‫ﻻﺩﺍﺀ‬ ‫ﺍﻟﻔﺭﻋﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬.
‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻜﻴﻔﻴﻪ‬
‫ﻨﻘﻭﻡ‬ ، ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻋﻨﺩ‬ ‫ﺍﻭﻻ‬)‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺒﻌﺩ‬(‫ﻗﻭﺱ‬ ‫ﺒﻔﺘﺢ‬
‫ﺘﻘﻁﺘﻴﻥ‬ ‫ﺜﻡ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻓﻴﻪ‬ ‫ﻭﻨﻀﻊ‬):(‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻟﻬﺫﻩ‬ ‫ﻨﻭﻉ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬.
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻫﺫﻩ‬ ‫ﻭﺘﺴﻤﻰ‬"‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺒﺎﻟﻤﺘﻐﻴﺭﺍﺕ‬"formal variables.
‫ﺒﻔ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﻋﻨﺩ‬ ، ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻥ‬‫ﻭﻨﻘﻭﻡ‬ ‫ﻗﻭﺱ‬ ‫ﺘﺢ‬
‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺒﻜﺘﺎﺒﻪ‬‫ﻤﺘﺸﺎﺒﻬﻪ‬‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻤﻊ‬)‫ﺍﺴﻡ‬ ‫ﺒﻌﺩ‬ ‫ﺒﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺘﻲ‬
‫ﻤﺒﺎﺸﺭﻩ‬ ‫ﺍﻻﺠﺭﺍﺀ‬. (‫ﺒﺎل‬ ‫ﻭﺘﺴﻤﻰ‬"‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬"Actual Variables.
‫ﺘﻌﻨﻲ‬ ‫ﻤﺘﺸﺎﺒﻬﻪ‬ ‫ﻜﻠﻤﻪ‬"‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻟﻌﺩﺩ‬ ‫ﻤﺴﺎﻭ‬ ‫ﻋﺩﺩﻫﺎ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻥ‬
‫ﺘﻜﻭ‬ ‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻭﺍﻥ‬ ، ‫ﺍﻟﺸﻜﻠﻴﻪ‬‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻨﻭﻉ‬ ‫ﻨﻔﺱ‬ ‫ﻤﻥ‬ ‫ﻥ‬"
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻴﺘﻡ‬ ‫ﻟﻥ‬ ‫ﺍﻟﺸﺭﻁﻴﻥ‬ ‫ﻫﺫﻴﻥ‬ ‫ﺘﺤﻘﻕ‬ ‫ﻭﺒﺩﻭﻥ‬.
‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﻡ‬ ‫ﺒﻌﺩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬)‫ﺒﻨﻭﻋﻪ‬ ‫ﻤﺘﺒﻭﻋﻪ‬. (‫ﺍﻤﺎ‬
‫ﻁﺒﻴﻌﻲ‬ ‫ﺒﺸﻜل‬ ‫ﺘﻌﺭﻴﻔﻬﺎ‬ ‫ﻓﻴﺘﻡ‬ ‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬)‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬ ‫ﺍﻱ‬
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬var. (
‫ﺒﺴﻴﻁ‬ ‫ﻤﺜﺎل‬:
Program ex ( I, o);
Uses wincrt;
Procedure w (a, b: integer);
PDF created with pdfFactory trial version www.pdffactory.com
97
Var
X: integer;
Begin
Read (a, b);
X: =a+b;
Write(x);
End;
Var
no1, no2: integer;
Begin
W (no1, no2);
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺸ‬ ‫ﻤﺘﻐﻴﺭﻴﻥ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬‫ﻜﻠﻴﻴﻥ‬a,b‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻓﻲ‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬w
‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻭﻓﻲ‬ ، ‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬ ‫ﺫﻟﻙ‬ ‫ﺒﻌﺩ‬‫ﺘﻡ‬
‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬W‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﻤﻊ‬)‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬. (
‫ﻻﺤﻅ‬‫ﻤﻥ‬ ‫ﻜل‬ ‫ﺘﺸﺎﺒﻪ‬‫ﻭﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻭﻋﺩﺩ‬ ‫ﻨﻭﻉ‬.
‫ﺍﻟﺘﻤﺭﻴﺭ‬passes
، ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻋﻴﻥ‬ ‫ﻫﻨﺎﻙ‬‫ﺒﻌﺽ‬ ‫ﻨﺭﻯ‬ ‫ﺩﻋﻨﺎ‬ ، ‫ﺍﻟﺨﺎﺹ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻪ‬ ‫ﻤﻨﻬﻡ‬ ‫ﻭﻟﻜل‬
‫ﺍﻻﻤﺜﻠﻪ‬:
Procedure foo (a: byte);
Begin
PDF created with pdfFactory trial version www.pdffactory.com
98
Writeln (a); {15}
a:=10;
Writeln (a); {10}
End;
Var
x: byte;
Begin
x: =15;
Writeln(x); {15}
Foo(x);
Writeln(x); {Still 15}
End.
‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬
15
15
10
15
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﻜﺎﻨﺕ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬x=15‫ﺍﻟﻰ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻤﺭﺭ‬ ‫ﺜﻡ‬a‫ﺘﻐﻴﺭ‬ ‫ﻭﺘﻡ‬ ،a.‫ﻁﺒﺎﻋﺘﻪ‬ ‫ﻭﺘﻡ‬
10‫ﻁﺒﺎﻋﻪ‬ ‫ﺘﻡ‬ ‫ﺜﻡ‬ ،x)‫ﻗﻴﻤﻪ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﻟﻡ‬ ‫ﻻﺤﻅ‬x‫ﻤﻥ‬ ‫ﺒﺎﻟﺭﻏﻡ‬‫ﻗﻴﻤﻪ‬ ‫ﺘﻐﻴﺭ‬a‫ﻓﻲ‬
‫ﺍﻻﺠﺭﺍﺀ‬. (
‫ﻴﺴﻤﻰ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬"‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬"pass by value
PDF created with pdfFactory trial version www.pdffactory.com
99
‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬:
Procedure foo (var a: byte); {See the difference?}
Begin
Writeln (a); {15}
a: =10;
Writeln (a); {10}
End;
Var
x : byte;
Begin
x: =15;
Writeln(x); {15}
Foo(x);
Writeln(x); {10}
End.
‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬
15
15
10
10
‫ﺍﻟﺸﺭﺡ‬
‫ﺠﻤﻠﻪ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺘﻡ‬ ‫ﺍﺫﺍ‬var‫ﺍﻤﺎﻡ‬‫ﺍﻟﻭﺴ‬‫ﺎﺌﻁ‬parameters،‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻓﺈﻥ‬x‫ﺴﻭﻑ‬
‫ﻗﻴﻤﻪ‬ ‫ﺘﻐﻴﺭﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺘﺘﻐﻴﺭ‬a.
PDF created with pdfFactory trial version www.pdffactory.com
100
‫ﻴﺴﻤﻰ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬"‫ﺍﻟﻤﺭﺠﻊ‬ ‫ﺍﻭ‬ ‫ﺒﺎﻻﺸﺎﺭﻩ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬"pass By
Reference.
‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﻨﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻀﺭﻭﺭﻱ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻨﻪ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬
‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻰ‬.
‫ﻓﻲ‬ ‫ﻀﺭﻭﺭﻱ‬ ‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﺘﻐﻴﺭ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬‫ﺒﺎﻻﺸﺎﺭﻩ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬.
‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬functions:
‫ﻗﻴﻤﻪ‬ ‫ﺒﺈﺭﺠﺎﻉ‬ ‫ﺘﻘﻭﻡ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻻ‬ ، ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﻊ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﺘﺘﺸﺎﺒﻪ‬‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﻡ‬ ‫ﻓﻲ‬
)‫ﺍﻻﻗﺘﺭﺍﻥ‬(‫ﺍﻟﻨﻬﺎﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﺤﻤل‬ ‫ﺍﻱ‬ ،.‫ﻭﻴﺠﺏ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﻡ‬ ‫ﻴﻌﺘﺒﺭ‬ ‫ﻟﺫﻟﻙ‬
‫ﻓﺈﻨ‬ ‫ﻭﺴﺎﺌﻁ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﺫﺍ‬ ، ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﻡ‬ ‫ﺒﺠﺎﻨﺏ‬ ‫ﻨﻭﻋﻬﺎ‬ ‫ﻜﺘﺎﺒﻪ‬‫ﺍﺴﻡ‬ ‫ﺒﻌﺩ‬ ‫ﺘﻜﺘﺏ‬ ‫ﻬﺎ‬
‫ﺍﻟﺩﺍﻟﻪ‬)‫ﺍﻻﺠﺭﺍﺀﺕ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬(‫ﺜﻡ‬):(‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﻨﻭﻉ‬ ‫ﺜﻡ‬.‫ﻨﻭﻉ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﺘﻡ‬ ‫ﺒﻌﺩﻫﺎ‬
‫ﺍﻟﺩﺍﻟﻪ‬.
‫ﻟﻬﺎ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﻭﺍﻟﺸﻜل‬//
Function funcname (parameters): returntype;
Begin
:
:
End;
Begin
:
End.
PDF created with pdfFactory trial version www.pdffactory.com
101
‫ﺍ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻗﺒل‬ ‫ﺘﻘﻊ‬ ‫ﺩﺍﺌﻤﺎ‬ ‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﺍﻴﻀﺎ‬‫ﻟﺒﺭﻨﺎ‬‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻤﺞ‬)‫ﻤﺜل‬ ‫ﻤﺜﻠﻬﺎ‬
‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬.(
‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻨﺩﺍﺀ‬
‫ﺒﻁﺭﻴﻘﺘﻴﻥ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻨﺩﺍﺀ‬ ‫ﻴﺘﻡ‬:
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬)‫ﺍﻟﻌﺎﻟﻤﻴﻪ‬(
‫ﻭﻟﻴﻜﻥ‬ ‫ﺠﺩﻴﺩ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬x‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻨﺩﺍﺀ‬ ‫ﻴﺘﻡ‬ ‫ﺒﻌﺩﻫﺎ‬ ،:
X: = functionname;
‫ﻤﺘﻐ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﻡ‬ ‫ﻴﻌﺘﺒﺭ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬ ‫ﺤﻴﺙ‬ ، ‫ﻴﺭ‬
‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺍﻟﻨﺩﺍﺀ‬ ‫ﻭﻴﺘﻡ‬ ، ‫ﻤﺘﻐﻴﺭ‬:
Write (functionname);
‫ﻤﺜﺎل‬:
Program ex (input, output);
Uses wincrt;
Function w (a, b: integer): integer;
Begin
Read (a, b) ;
W: = a+b;
End;
Var
no1, no2: integer;
PDF created with pdfFactory trial version www.pdffactory.com
102
Begin
Write (w (no1, no2));
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬:
‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺘﻡ‬w‫ﺘﻘﻭﻡ‬ ‫ﻭﺍﻟﺩﺍﻟﻪ‬ ، ‫ﻓﻴﻬﺎ‬ ‫ﻭﺴﻴﻁﻴﻥ‬ ‫ﻭﻀﻊ‬ ‫ﻭﺘﻡ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬
‫ﺠﻤﻌﻬﻤﺎ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ‫ﻋﺩﺩﻴﻥ‬ ‫ﺒﻘﺭﺍﺀﻩ‬.
‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻭﺫﻟﻙ‬ ، ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺘﻡ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻥ‬
)‫ﻜﻤﺎ‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺫﻜﺭﻨﺎ‬. (
‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻭﺠﻭﺩﻩ‬ ‫ﻨﻔﺴﻬﺎ‬ ‫ﻓﻬﻰ‬ ، ‫ﻭﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﻟﻠﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬.
‫ﻤﺜﺎل‬//‫ﺒﻭﺍﺴﻁﻪ‬ ‫ﺍﻟﻤﻀﺭﻭﺏ‬ ‫ﻟﺤﺴﺎﺏ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻌﻤل‬‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬:
Program factorial (input, output);
Uses wincrt;
Function fact (n: integer): integer;
Var
I,f:integer;
Begin
F: =1;
For i: = 1 to n do
F: =f*I;
Fact: =f;
End;
PDF created with pdfFactory trial version www.pdffactory.com
103
Var
X: integer;
Begin
Write ('please enter any number: ');
Readln(x);
Writeln (x,' ! is ',fact(x) );
End.
‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻟﺩﺍﻭل‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬
‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺒﺸﺭﻁ‬ ، ‫ﺍﺨﺭ‬ ‫ﺍﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﻤﻥ‬ ‫ﺍﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬
‫ﺍﻻﻭل‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﻌﺩ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ، ‫ﻤﻨﻪ‬ ‫ﺍﺴﺘﺩﻋﻰ‬ ‫ﺍﻟﺫﻱ‬.
Procedure a;
Begin
:
End;
Procedure b;
Begin
A; {legal}
End;
Begin
:
End.
PDF created with pdfFactory trial version www.pdffactory.com
104
‫ﻴﺠﻭﺯ‬Legal‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬B‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬A‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻭﻟﻜﻥ‬ ،
‫ﺍﻻﺠﺭﺍﺀ‬a‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬b‫ﺨﺎﻁﺊ‬ ‫ﻓﻬﺫﺍ‬ ،illegal.
‫ﺍﻟﺩ‬ ‫ﺘﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﺍﻭ‬ ، ‫ﺩﺍﻟﻪ‬ ‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬‫ﺍ‬‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬ ‫ﻟﻪ‬
‫ﻋﻠﻰ‬ ‫ﺍﻟﻤﺤﺎﻓﻅﻪ‬ ‫ﻤﻊ‬ ، ‫ﺍﻟﺒﻌﺽ‬ ‫ﺒﻌﻀﻬﺎ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﺍﻟﺩﻭﺍل‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﺍﺠﺭﺍﺀ‬
‫ﻴﺭﻴ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻭﻫﻭ‬ ، ‫ﺍﻟﺸﺭﻁ‬‫ﻴﺭﻴﺩ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻤﻨﻬﺎ‬ ‫ﺍﻻﺴﺘﺩﻋﺎﺀ‬ ‫ﺩ‬
‫ﺍﺴﺘﺩﻋﺎﺌﻬﺎ‬.‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﺜل‬ ‫ﻤﺜﻠﻬﺎ‬.
‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬
‫ﺘﺼﺒﺢ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ، ‫ﻭﺍﻟﺘﻜﺭﺍﺭﻴﻪ‬ ‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﺜل‬
‫ﻤﺘﺩﺍﺨﻠﻪ‬
Procedure e; {e cannot access a, b, c, and d}
Begin
:
End;
Procedure a;
Procedure b;
Begin
c; {illegal}
e; {legal}
End;
Procedure c;
Begin
PDF created with pdfFactory trial version www.pdffactory.com
105
b; {legal}
e; {legal}
End;
Begin
:
b; {legal}
c; {legal}
e; {legal}
End;
Procedure d;
Begin
:
b; {illegal}
c; {illegal}
a; {legal}
e; {legal}
End;
Begin
:
b; {illegal}
c; {illegal}
a; {legal}
d; {legal}
PDF created with pdfFactory trial version www.pdffactory.com
106
e; {legal}
End.
‫ﺍﻻﺠﺭﺍﺀ‬c‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﺴﺘﺩﻋﻲ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬b‫ﻻﻥ‬ ،c‫ﺍﻻﺠ‬ ‫ﺒﻌﺩ‬ ‫ﻴﺄﺘﻲ‬‫ﺭﺍﺀ‬b.
‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﻤﺎ‬b‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﺴﺘﺩﻋﻲ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻓﻼ‬c‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻻﻥ‬c‫ﺒﻌﺩ‬ ‫ﻴﺄﺘﻲ‬
‫ﺍﻻﺠﺭﺍﺀ‬b.
‫ﺍﻻﺠﺭﺍﺀ‬a‫ﻴﺤ‬ ‫ﺍﻟﺫﻱ‬‫ﺍﺠﺭﺌﻴﻥ‬ ‫ﻋﻠﻰ‬ ‫ﺘﻭﻱ‬b‫ﻭ‬c‫ﻋﻠﻰ‬ ‫ﻭﻴﺤﺘﻭﻱ‬block‫ﺍﻴﻀﺎ‬
‫ﺍﻻﺠﺭﺍﺌﻴﻥ‬ ‫ﻴﺴﺘﺩﻋﻰ‬ ‫ﺍﻥ‬ ‫ﻴﺴﺘﻁﻴﻊ‬b‫ﻭ‬c.
‫ﺍﻻﺠﺭﺍﺌﻴﻥ‬b‫ﻭ‬c‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻤﻥ‬ ‫ﺍﺴﺘﺩﻋﺎﺌﻬﻤﺎ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬ ،d‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﻭﻻ‬ ،
‫ﺍﻟﺭﺌﻴﺴﻲ‬main block.
‫ﹰ‬‫ﺍ‬‫ﺍﺫ‬:‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ، ‫ﺩﺍﺨﻠﻬﺎ‬ ‫ﻤﻥ‬ ‫ﺍﻻ‬ ‫ﺍﺴﺘﺩﻋﺎﺌﻬﺎ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬ ، ‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬
‫ﺍﻻﺠﺭﺍﺌﻴﻥ‬b‫ﻭ‬c.
‫ﺍﻟﺫﺍﺘﻲ‬ ‫ﺍﻻﺴﺘﺩﻋﺎﺀ‬
Procedure a;
Begin
A;
End;
Begin
A;
End.
PDF created with pdfFactory trial version www.pdffactory.com
107
، ‫ﺍﻟﺘﻜﺭﺍﺭﻱ‬ ‫ﺒﺎﻻﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻻﺴﺘﺩﻋﺎﺀ‬ ‫ﻫﺫﺍ‬ ‫ﻴﺴﻤﻰ‬RECURSIVE CALLS.
‫ﺤﻠﻘﻪ‬ ‫ﻴﺸﺒﻪ‬ ‫ﻭﻫﻭ‬repeat .. Until
‫ﺫﻟﻙ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎﻻ‬ ‫ﻨﺄﺨﺫ‬ ‫ﺩﻋﻨﺎ‬:
Procedure m;
Var
N: integer;
Begin
Readln (n);
If n<=100 then m;
End;
Begin
Writrln (‘please enter any number: ‘);
M;
End.
‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬n‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬100‫ﻴﺘﻡ‬ ‫ﻓﺈﻨﻪ‬
‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬m)‫ﻨﻔﺴﻪ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻱ‬(‫ﻭﻫﻜﺫﺍ‬.‫ﻗﻴﻤﻪ‬ ‫ﺘﺼﺒﺢ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬n
‫ﺍ‬‫ﻤﻥ‬ ‫ﻜﺒﺭ‬100‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﻨﻬﺎﺀ‬ ‫ﻴﺘﻡ‬ ‫ﻓﺈﻨﻪ‬.
‫ﻭﺍﻻ‬ ، ‫ﻤﺎ‬ ‫ﺸﺭﻁ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻤﻬﻤﻪ‬ ‫ﺍﻟﻨﻘﻁﻪ‬
‫ﺘﻨﺴﻰ‬ ‫ﻻ‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﺍﻟﻤﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻨﻬﺎﺌﻲ‬ ‫ﻏﻴﺭ‬ ‫ﻋﺩﺩ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺴﻴﺘﻡ‬
‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺨﺭﻭﺝ‬ ‫ﻴﺘﻡ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ‫ﻤﻌﻴﻥ‬ ‫ﺸﺭﻁ‬ ‫ﻭﻀﻊ‬)‫ﻤﺜﻼ‬. (
PDF created with pdfFactory trial version www.pdffactory.com
108
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺜﺎﻣﻦ‬
‫ﺍﳌﺼﻔﻮﻓﺎﺕ‬
‫ﺍﻟﺴﺎ‬ ‫ﺍﻻﻳﺎﻡ‬ ‫ﰲ‬‫ﺍﻧﺜﲔ‬ ‫ﺃﻭ‬ ‫ﻭﺍﺣﺪ‬ ‫ﺻﺤﻴﺢ‬ ‫ﻣﺘﻐﲑ‬ ‫ﻋﻦ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺗﺮﻳﺪ‬ ‫ﻋﻨﺪﻣﺎ‬ ، ‫ﺑﻘﻪ‬
‫ﻋﻨﻬﻢ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺍﻟﺴﻬﻞ‬ ‫ﻣﻦ‬ ،
‫ﻣﺜﻼ‬ ‫ﻛﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻣﺎ‬20‫ﺍﳊﺮﰲ‬ ‫ﺍﻟﻨﻮﻉ‬ ‫ﻣﻦ‬ ‫ﻣﺘﻐﲑ‬!!‫ﻭﺍﺣﺪ‬ ‫ﻋﻨﻬﻢ‬ ‫ﺳﺘﻌﻠﻦ‬ ‫ﻫﻞ‬
‫ﻭﺍﺣﺪ‬..‫ﻣﺎﺫﺍ‬ ‫ﺍﻡ‬!
‫ﺍﻟﺜﻨﺎﺋﻴﻪ‬ ‫ﻭﺍﳌﺼﻔﻮﻓﺎﺕ‬ ‫ﻋﻨﻬﺎ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻭﻃﺮﻕ‬ ‫ﺍﳌﺼﻮﻓﺎﺕ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬
‫ﺫﻟﻚ‬ ‫ﺍﱃ‬ ‫ﻭﻣﺎ‬ ‫ﻭﺍﻟﺜﻼﺛﻴﻪ‬
‫ﺳﻮ‬ ‫ﺍﻳﻀﺎ‬‫ﺍﳌﺼﻔﻮﻓﺎﺕ‬ ‫ﻣﻊ‬ ‫ﻧﺘﻌﺎﻣﻞ‬ ‫ﻑ‬)‫ﺍﻟﺴﻼﺳﻞ‬(‫ﺍﳊﺮﻓﻴﻪ‬string.
PDF created with pdfFactory trial version www.pdffactory.com
109
‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻫﻲ‬ ‫ﻤﺎ‬
‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬array‫ﻫﻲ‬‫ﻤﺠﻤﻭﻋﻪ‬‫ﻜل‬ ‫ﻴﺸﺘﻤل‬ ‫ﻭﺍﻟﺘﻲ‬ ،‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺘﺨﺯﻴﻥ‬ ‫ﻤﻭﺍﻗﻊ‬ ‫ﻤﻥ‬
‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻨﻭﻉ‬ ‫ﻨﻔﺱ‬ ‫ﻋﻠﻰ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻤﻭﻗﻊ‬.‫ﻭﻜ‬‫ﻴﺴﻤﻰ‬ ‫ﻤﻭﻗﻊ‬ ‫ل‬"‫ﻋﻨﺼﺭ‬"‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬
‫ﻤﻭﻗﻊ‬ ‫ﻭﻜل‬)‫ﻋﻨﺼﺭ‬(‫ﻤﻌﻴﻨﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻟﻪ‬.
‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬
‫ﻋ‬ ‫ﻴﻌﻠﻥ‬‫ﻨ‬‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬ ‫ﻬﺎ‬‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ،:
Var
Arrayname: array [x..y] of type ;
Type:‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺍﺤﺩ‬ ‫ﻫﻲ‬.
‫ﻤﺜﺎل‬//
Var
X:array [1..10] of integer;
Data:array[5..25] of char;
‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﺘﺭﻴﺩ‬ ‫ﻜﻤﺎ‬ ‫ﺍﺴﻡ‬ ‫ﺒﺄﻱ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﺍﻋﻼﻥ‬ ‫ﻴﻤﻜﻥ‬
‫ﺍﻟﻤﺼﻔﻭﻓ‬‫ﻤﺤﻠﻲ‬ ‫ﺍﻭ‬ ‫ﻋﺎﻟﻤﻲ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺎﺕ‬.
‫ﻤﻥ‬ ‫ﻤﻜﻭﻨﻪ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﻟﺩﻴﻨﺎ‬ ‫ﺍﻥ‬ ‫ﻟﻨﻔﺘﺭﺽ‬30‫ﻋﻨﺼﺭ‬
Var
X:array [1..30] of integer;
PDF created with pdfFactory trial version www.pdffactory.com
110
‫ﻟ‬ ‫ﺍﻥ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻫﺫﺍ‬‫ﻤﻌﻴﻨﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻜل‬‫،ﻻﺩﺨﺎل‬‫ﺍﻟﻰ‬ ‫ﺍﻟﻘﻴﻡ‬
‫ﺍﻻﺩﺨﺎل‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﺍﻤﺎ‬ ‫ﺫﻟﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬.‫ﺴﻴﺄﺘﻲ‬ ‫ﻜﻤﺎ‬
‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬.
‫ﻋ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻻﺩﺨﺎل‬‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻥ‬:
X[1]:=10 ;
X[2]:= 30;
:
X[30]:=5;
‫ﺍﻟﻌﻨﺼ‬ ‫ﺍﺫﺍ‬‫ﻭﻫﻲ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻟﺩﻴﻪ‬ ‫ﺍﺼﺒﺢ‬ ‫ﺍﻻﻭل‬ ‫ﺭ‬10،‫ﻭﺍﻟﻌﻨﺼﺭ‬‫ﺍﻟﺜﺎﻨﻲ‬‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻟﻪ‬30
‫ﻭﻫﻜﺫﺍ‬..
‫ﻤﺜﺎل‬//
Var
X:array [1..10] of integer;
Begin
X[1]:= 3;
X[5]:= 2;
Writeln(x[1]*x[5]);
Writeln(x[1]);
End.
PDF created with pdfFactory trial version www.pdffactory.com
111
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬x‫ﻟﻬﺎ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬10‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻋﻨﺎﺼﺭ‬
‫ﻟﻠﻘﻴﻤﻪ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬3)‫ﺒﺴﺒﺏ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬
‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻋﺭﻓﻨﺎ‬ ‫ﺍﻨﻨﺎ‬(.
‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻭﺘﻌﻴﻴﻥ‬5‫ﻟﻠﻘﻴﻤﻪ‬2.
‫ﻗﻤﻨ‬ ‫ﺍﻻﻥ‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﺎ‬)‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬(‫ﺤﺎﺼل‬ ‫ﻭﻫﻲ‬
‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻀﺭﺏ‬)‫ﺍﻱ‬2*3. (
‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﺨﻴﺭﺍ‬.
)‫ﺍﺒﺩ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﻻ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻗﻴﻡ‬ ‫ﺍﻥ‬ ‫ﻻﺤﻅ‬، ‫ﹶ‬‫ﺍ‬‫ﺇ‬‫ﺠﺩﻴﺩﻩ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﺎﻋﻁﺎﺌﻬﺎ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﺫﺍ‬ ‫ﻻ‬
‫ﺍﻭ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬‫ﻗﻴﻤﻪ‬ ‫ﺍﺩﺨﺎل‬(.
‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬
6
3
‫ﺍﻻﺩﺨﺎل‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﻻﺩﺨﺎل‬::
‫ﺜﻼﺜﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻥ‬ ‫ﺒﻤﺎ‬30‫ﻓﺈﻨﻪ‬ ، ‫ﺠﻤﻴﻌﺎ‬ ‫ﻗﺭﺍﺌﺘﻬﻡ‬ ‫ﻭﻨﺭﻴﺩ‬ ، ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﻋﻨﺼﺭ‬
‫ﻫﻜﺫﺍ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻨﻘﺭﺃ‬ ‫ﺍﻥ‬ ‫ﻟﻠﻭﻗﺕ‬ ‫ﻤﻀﻴﻌﻪ‬ ‫ﻴﻌﺘﺒﺭ‬:
Read(x[1]);
Read(x[2]);
:
Read(x[30]);
PDF created with pdfFactory trial version www.pdffactory.com
112
‫ﻟﺫ‬‫ﻟ‬‫ﺒﻘﺭﺍﺀ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺒﺤﻴﺙ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﺠﺏ‬ ‫ﻙ‬‫ﻓﻘﻁ‬ ‫ﺴﻁﺭﻴﻥ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻩ‬!!
‫ﺫﻟﻙ‬ ‫ﻨﺭﻯ‬ ‫ﺩﻋﻨﺎ‬..
For i:= 1 to 30 do
Readln(x[i]);
، ‫ﺃﺭﺃﻴﺕ‬)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬i‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer. (‫ﻫﺫﺍ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺴﻭﻑ‬
‫ﺍﻟﻘﻴﻡ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬x1‫ﻭ‬x2‫ﻭ‬x3...‫ﺍﻟﻰ‬x30.
‫ﻤﺜﺎل‬//‫ﻴﻘﺭﺃ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻜﺘﺎﺒﻪ‬10‫ﺒﺎﻟﻌﻜﺱ‬ ‫ﺒﻁﺒﺎﻋﺘﻬﺎ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺜﻡ‬ ، ‫ﺍﺤﺭﻑ‬.‫؟؟‬
Program ex4 (input,output);
Uses wincrt;
Var
I:integer;
X:array [1..10] of char;
Begin
For i:= 1 to 10 do
Read(x[i]);
For i:=10 dwonto 1 do
Write(x[i]);
End.
PDF created with pdfFactory trial version www.pdffactory.com
113
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬//
‫ﻗﻤﻨ‬‫ﺎ‬)‫ﻟﻠﻤﺼﻔﻭﻓﻪ‬ ‫ﻭﺍﻻﺨﺭ‬ ، ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻟﻌﻤل‬ ‫ﻭﺍﺤﺩ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬(
‫ﻤﻥ‬ ‫ﻤﻜﻭﻥ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﺒﻌﻤل‬10‫ﻋﻨﺎﺼﺭ‬.
‫ﺤﻠﻘﻪ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻜل‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺤﻴﺙ‬ ‫ﻤﻌﻴﻨﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻟﻪ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻜل‬
For‫ﺍﻻﻭﻟﻰ‬.
‫ﺍﻟﻌﺎ‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻭﻓﻲ‬‫ﺍﻟﺘﺎﺴﻊ‬ ‫ﺜﻡ‬ ‫ﺸﺭ‬)‫ﺒﺎﻟﻌﻜﺱ‬ ‫ﺃﻱ‬(
‫ﻻﺤﻅ‬‫ﺠﻤﻠﻪ‬downto،‫ﻭﻫﻜﺫﺍ‬..
‫ﻟﻠﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﺍﻟﺤﺎﺠﻪ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻤﺘﻰ‬‫؟‬
‫ﻟﺩ‬ ‫ﺍﻥ‬ ‫ﻟﻨﻔﺘﺭﺽ‬‫ﻟﻨﻔﺘﺭﺽ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﻤﻥ‬ ‫ﻗﺎﺌﻤﻪ‬ ‫ﻴﻨﺎ‬10‫ﺒﻬﺫﺍ‬ ‫ﺘﻌﺭﻴﻔﻬﺎ‬ ‫ﺴﻴﻜﻭﻥ‬ ،
‫ﺍﻟﺸﻜل‬//
Var
Name1,nam2,name3,name4,name5,name6,name7,
name8,name9,name10:string ;
‫ﻴ‬ ‫ﺴﻭﻑ‬ ‫ﺒﺎﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﺍﻤﺎ‬‫ﻜﺎﻟﺘﺎﻟﻲ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻜﻭﻥ‬:
Var
name:array[1..10] of string;
‫ﺍﻻﺒﻌﺎﺩ‬ ‫ﺍﻟﺜﻨﺎﺌﻴﻪ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬two-dimensional array:
‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﻋﻨﻬﺎ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﻜﻭﻥ‬//
Var
PDF created with pdfFactory trial version www.pdffactory.com
114
X:array[1..10 , 1..5] of byte ;
‫ﻫﻜﺫﺍ‬ ‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﻭﻴﺘﻡ‬:
x[5,2]:= 20;
، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﻌﻤﻭﺩ‬ ‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﺍﻟﺼﻑ‬ ‫ﻓﻲ‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻟﻘﻴﻤﻪ‬20.
‫ﻭﻫﻜﺫ‬‫ﻭﺍﻟﺭﺒﺎﻋﻴﻪ‬ ، ‫ﺍﻻﺒﻌﺎﺩ‬ ‫ﺍﻟﺜﻼﺜﻴﻪ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﺍ‬‫ﺍﻟ‬ ،‫ﻰ‬100‫ﺒﻌﺩ‬.
‫ﺍﻟﻤﻔﻬﻭﻡ‬ ‫ﺒﻨﻔﺱ‬ ‫ﻜﻠﻬﺎ‬!!
‫ﺍﻻﻭﻟﻰ‬ ‫ﺤﻠﻘﺘﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺴﺘﺤﺘﺎﺝ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺒﻌﺩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﺘﺤﺘﺎﺠﻪ‬ ‫ﺍﻟﺫﻱ‬
‫ﻟﻠ‬‫ﻟﻠﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻻﻭل‬ ‫ﺒﻌﺩ‬‫ﺍﻟﻰ‬ ‫ﺴﺘﺤﺘﺎﺝ‬ ‫ﺍﺒﻌﺎﺩ‬ ‫ﺍﻟﺜﻼﺜﻪ‬ ‫ﺫﺍﺕ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﺍﻴﻀﺎ‬ ،
‫ﺤ‬ ‫ﺜﻼﺙ‬‫ﻤﺘﺩﺍﺨﻠﻪ‬ ‫ﻠﻘﺎﺕ‬!!)‫ﻋﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻗﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺘﺭﻴﺩ‬ ‫ﻜﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻫﺫﺍ‬
‫ﺍﻻﺩﺨﺎل‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬readln‫ﻭ‬read(.
‫ﻤﺜﺎل‬//‫؟‬ ‫ﻤﺭﺒﻌﺘﻴﻥ‬ ‫ﻤﺼﻔﻭﻓﺘﻴﻥ‬ ‫ﻟﻀﺭﺏ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻜﺘﺏ‬!!
Program example (input,output);
Uses wincrt;
Var
I,j,sum:integer;
X,a,b:array [1..3,1..3] of integer;
Begin
For i:= 1 to 3 do
Begin
PDF created with pdfFactory trial version www.pdffactory.com
115
For j:=1 to 3 do
Read(a[I,j]);
End;
For i:= 1 to 3 do
Begin
For j:=1 to 3 do
Read(b[I,j]);
End;
sum:=0;
for i:=1 to 3 do
begin
for j:= 1 to 3 do
x[I,j]:=sum + ( (a[I,j]) * (b[I,j]) ) ;
end;
for i:= 1 to 3 do
begin
for j:= 1 to 3 do
writeln(x[I,j]);
end;
end.
PDF created with pdfFactory trial version www.pdffactory.com
116
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻱ‬ ‫؟؟‬ ‫ﻤﺭﺒﻌﻪ‬ ‫ﻤﺼﻭﻓﻪ‬ ‫ﺘﻌﻨﻲ‬ ‫ﻤﺎﺫﺍ‬ ‫ﺍﻭﻻ‬‫ﺒﻌﺩﻴﻥ‬ ‫ﺫﺍﺕ‬ ‫ﻤﺼﻔﻭﻓﻪ‬..‫ﺘﺘﻜﻭﻥ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻱ‬
‫ﺒﻌﺩﻴﻥ‬ ‫ﻤﻥ‬)‫ﺠﻴﺩﺍ‬ ‫ﺍﻨﺘﺒﻪ‬(
‫ﺍﻟﺒﻌﺩﻴﻥ‬ ‫ﺫﺍﺕ‬ ‫ﺍﻟﻤﺼﻭﻓﺎﺕ‬ ‫ﻭﻓﻲ‬"‫ﻤﺘﺩﺍﺨﻠﺘﻴﻥ‬ ‫ﺤﻠﻘﺘﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬"‫ﻟﻴﺘﻡ‬
‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺒﻌﺩ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺒﻌﺩ‬ ‫ﻗﺭﺍﺀﻩ‬.
‫ﻫﻭ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺒﻌﺩ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬I‫ﻫﻭ‬ ‫ﻭﺍﻟﺜﺎﻨﻲ‬j.
‫ﺍﻟـ‬ ‫ﺒﻌﺩ‬ ‫ﻨﺒﺩﺃ‬ ‫ﺩﻋﻨﺎ‬ ، ‫ﺍﻻﻥ‬begin‫ﺍﻟﺭﺌﻴﺴﻲ‬:
For i:= 1 to 3 do
Begin
For j:=1 to 3 do
Read(a[I,j]);
End;
‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺴﻴﺘﻡ‬ ‫ﻫﻨﺎ‬a‫ﻜﺎﻤﻠﻪ‬)‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺒﻌﺩ‬. (
For i:= 1 to 3 do
Begin
For j:=1 to 3 do
Read(b[I,j]);
End;
‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺴﻴﺘﻡ‬ ‫ﻫﻨﺎ‬b‫ﻜﺎﻤﻠﻪ‬)‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺒﻌﺩ‬. (
PDF created with pdfFactory trial version www.pdffactory.com
117
sum:=0;‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺼﻭﻓﻪ‬ ‫ﻀﺭﺏ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺠﻤﻊ‬ ‫ﻓﻴﻪ‬ ‫ﺴﻴﺘﻡ‬ ، ‫ﻤﺨﺯﻥ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬
‫ﺜﺎﻟﺜﻪ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺼﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﺘﺨﺯﻴﻨﻬﺎ‬ ‫ﻭﻴﺘﻡ‬ ، ‫ﻭﺍﻟﺜﺎﻨﻴﻪ‬x.
for i:=1 to 3 do
begin
for j:= 1 to 3 do
x[I,j]:=sum + ( (a[I,j]) * (b[I,j]) ) ;
End;
‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻤﺼﻭﻓﻪ‬ ‫ﻀﺭﺏ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺍﻻﻥ‬a‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﻓﻲ‬b‫ﻓﻲ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﺘﺨﺯﻴﻥ‬ ‫ﻭﻴﺘﻡ‬
‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﻤﺼﻭﻓﻪ‬x.
for i:= 1 to 3 do
begin
for j:= 1 to 3 do
writeln(x[I,j]);
end;
‫ﺴﻴ‬ ‫ﺍﻻﻥ‬‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺘﻡ‬x.
PDF created with pdfFactory trial version www.pdffactory.com
118
‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻼﺴل‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬:
‫ﺍﻻﺤﺭﻑ‬ ‫ﻤﻥ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ، ‫ﻓﻌﻠﻴﺎ‬char،‫ﻟﻨﻔ‬‫ﺘ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺭﺽ‬
s‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ،s[1]‫ﻭﺍﻟﻌﻨﺼﺭ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﻴﺴﺎﻭﻱ‬
‫ﺍﻟﺜﺎﻨﻲ‬s[2]‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﻴﺴﺎﻭﻱ‬..‫ﻭﻫﻜﺫﺍ‬.
Program example (input,output);
uses wincrt;
var
s : string;
begin
s:='Hello, dear';
writeln(s);
s[1]:='J'; {Replace the first character with J}
s[5]:='y'; {Replace the fifth character with y}
writeln(s); {Jelly, dear}
writeln('The length of s is ',ord(s[0]) );
end.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬s‫ﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string‫ﻫﺫﺍ‬ ‫ﺒﺈﺴﻨﺎﺩ‬ ‫ﻗﻤﻨﺎ‬ ،
‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬Hello, dear)‫ﺍﺴﻨﺎﺩ‬ ‫ﻋﻨﺩ‬ ‫ﻭﻫﻜﺫﺍ‬ ،‫ﺍﻟﺼﻐﻴﺭ‬ ‫ﺍﻟﻘﻭﺱ‬ ‫ﻻﺤﻅ‬
‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬string‫ﻭﺍﻟﻨﻭﻉ‬char‫ﺍﻟﻘﻭﺴﻴﻥ‬ ‫ﻭﻀﻊ‬ ‫ﻴﺠﺏ‬ ،
‫ﺍﻟﺼﻐﻴﺭﻴﻥ‬.(
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺜﻡ‬s)‫ﻗﻴﻤﺘﻪ‬ ‫ﻭﺍﻟﺫﻱ‬Hello, dear(‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﺫﻟﻙ‬
writeln(s).
PDF created with pdfFactory trial version www.pdffactory.com
119
‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﻟﻠﻌﻨﺼﺭ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻻﻥ‬
s[1]:='J'‫ﺍﻻﻭل‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﺒﺎﺴﺘﺒﺩﺍل‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻱ‬H‫ﺒﺎﻟﺤﺭﻑ‬j.
‫ﻗﻴﻤﻪ‬ ‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻴﻀﺎ‬‫ﻭﺫﻟﻙ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﻟﻠﻌﻨﺼﺭ‬ ‫ﺠﺩﻴﺩﻩ‬
‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬s[5]:='y'‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﺒﺎﺴﺘﺒﺩﺍل‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻱ‬ ،o‫ﺒﺎﻟﺤﺭﻑ‬y.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻡ‬ ‫ﺍﻻﻥ‬s)‫ﺍﻻﺴﻨﺎﺩ‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﺒﻌﺩ‬(‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﻟﺫﻟﻙ‬writeln(s)
‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻉ‬ ‫ﻫﻲ‬ ، ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺍﻻﻥ‬)‫ﺒﺎﻟﺘﺤﺩﻴﺩ‬ ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬(،
‫ﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬ ‫ﻨﺹ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺤﻴﺙ‬)‫ﺒﻔﺎﺼﻠﻪ‬ ‫ﺒﻴﻨﻬﻡ‬ ‫ﺍﻟﻔﺼل‬ ‫ﻤﻊ‬.(
‫ﻫﻭ‬ ‫ﺍﻟﻨﺹ‬The length of s is.
‫ﻫﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ord(s[0]).‫ﻭﻤﻌﻨﺎﻫﺎ‬"‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻁﻭل‬".
‫ﺒﻜ‬ ‫ﺍﻟﻁﻭل‬ ‫ﻤﻨﻬﺎ‬ ‫ﺘﺴﺘﺨﺭﺝ‬ ‫ﺍﻥ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﺨﺭﻯ‬ ‫ﺩﺍﻟﻪ‬ ‫ﻭﻫﻨﺎﻙ‬‫ل‬، ‫ﻴﺴﺭ‬
‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬ ‫ﻋﻨﻬﺎ‬ ‫ﺍﻟﺘﺤﺩﺙ‬ ‫ﻴﺘﻡ‬ ‫ﻭﺴﻭﻑ‬.
‫ﺒﺎﻟﻨﺴ‬ ‫ﺍﻤﺎ‬‫ﻟﻠـ‬ ‫ﺒﻪ‬ord‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﺩﺭﻭﺱ‬ ‫ﻓﻲ‬ ‫ﺸﺭﺤﻬﻡ‬ ‫ﻭﺴﻴﺘﻡ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﺎﻥ‬ ‫ﻓﻠﻪ‬ ،
‫ﺒﺎﻟﺘﻔﺼﻴل‬.
‫ﺘﺄﺨﺫ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ، ‫ﻋﺎﺩﻩ‬80‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﺭﻴﺩ‬ ‫ﻜﻨﺕ‬ ‫ﺍﺫﺍ‬ ، ‫ﺍﻗﺼﻰ‬ ‫ﻜﺤﺩ‬ ‫ﺤﺭﻑ‬
‫ﺒﺤﺩﻭﺩ‬ ‫ﻟﻜﻥ‬ ‫ﻨﺼﻴﻪ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﻋﻥ‬10‫ﻋﺩﺩ‬ ‫ﻟﺘﺤﺩﻴﺩ‬ ‫ﻭﺴﻴﻠﻪ‬ ‫ﺘﻘﺩﻡ‬ ‫ﺒﺎﺴﻜﺎل‬ ، ‫ﻤﺜﻼ‬ ‫ﺍﺤﺭﻑ‬
‫ﺍﻻﺤﺭﻑ‬.‫ﺘ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻌﺎﺩﻴﻪ‬ ‫ﺒﺎﻟﻁﺭﻴﻘﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻻﻥ‬‫ﺍﻟﻤﺴﺎﺤﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺫﻴﺭ‬
.
Var
S:string[10];
PDF created with pdfFactory trial version www.pdffactory.com
120
‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻼﺴل‬ ‫ﻤﻊ‬ ‫ﺘﺘﻌﺎﻤل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬
1/‫ﺍﻻﻤﺭ‬length
‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻁﻭل‬ ‫ﻻﺴﺘﺨﺭﺍﺝ‬ ‫ﻴﺴﺘﺨﺩﻡ‬)، ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ord(s[0])(‫ﻭﻟﻬﻤﺎ‬
‫ﺍﻟﻨﺘﻴﺠﻪ‬ ‫ﻨﻔﺱ‬.
‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:length(s)
)‫ﺒﺎﻋﺘﺒﺎﺭ‬s‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬string‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﺍﻴﻀﺎ‬ ،‫ﺍﻟﺘﺎﻟﻴﻪ‬.(
S:= (‘wajdy essam’);
N:= length(s);
Writeln(n);
‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:11
2/‫ﺍﻻﻤﺭ‬Copy
‫ﻤﺤﺩﺩ‬ ‫ﻤﻜﺎﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺤﺭﻭﻑ‬ ‫ﺒﻨﺴﺦ‬ ‫ﻴﻘﻭﻡ‬from،‫ﻴﺄﺨﺫ‬ ‫ﺃﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺤﺭﻑ‬ ‫ﻭﻜﻡ‬
howmuch.
‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:copy(s,from,howmuch)
S:= ‘(wajdy essam’);
N:= copy(s,7,3);
Writeln(n);
‫ﺍ‬ ‫ﻤﻌﻨﻰ‬‫ﺍﻟﺤﺭﻑ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺴﺦ‬ ‫ﺒﻌﻤﻠﻴﻪ‬ ‫ﺒﺎﻟﺒﺩﺀ‬ ‫ﻗﻡ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻟﺴﻁﺭ‬7‫ﻭﺍﻨﺴﺦ‬ ،3‫ﻓﻘﻁ‬.
‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:ess
PDF created with pdfFactory trial version www.pdffactory.com
121
‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬‫ﺍﻟﻨﺴﺦ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬from‫ﻓ‬ ، ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬‫ﺈ‬‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﻥ‬
‫ﻓﺎﺭﻏﻪ‬.
S:= ‘(wajdy essam’);
N:= copy(s,15,3);
Writeln(n);
‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﺘﻭﺠﺩ‬ ‫ﻻ‬)‫ﻓﺎﺭﻏﻪ‬ ‫ﺠﻤﻠﻪ‬.(
‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬‫ﻋ‬‫ﻨﺴﺨﻬﺎ‬ ‫ﻨﺭﻴﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺤﺭﻭﻑ‬ ‫ﺩﺩ‬howmuch‫ﻓﺈﻨﻬﺎ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬
‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﺎﻗﻲ‬ ‫ﺘﻜﺘﺏ‬.
S:= (‘wajdy essam’);
N:= copy(s,7,10);
Writeln(n);
‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:ess
3/‫ﺍﻻﻤﺭ‬pos
‫ﺍﻟﻜﺒﻴﺭﻩ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ، ‫ﺍﻟﺼﻐﻴﺭﻩ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻭﻗﻊ‬ ‫ﺒﺎﺴﺘﺨﺭﺍﺝ‬ ‫ﻴﻘﻭﻡ‬s.
‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:pos(substr,s)
Substr‫ﺍﻟﺒﺤﺙ‬ ‫ﻜﻠﻤﻪ‬ ‫ﻫﻲ‬
S‫ﺍﻟﺒﺤﺙ‬ ‫ﻴﺘﻤﻥ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬‫ﺒﻬﺎ‬.
S:= pos(‘are’,’how are you’);
Writeln(s);
‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:5
‫ﺍﻟﻜﻠﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺤﻴﺙ‬are‫ﺍﻟﻜﺒﻴﺭﻩ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﺍﻟﻤﻭﻗﻊ‬ ‫ﻓﻲ‬.
PDF created with pdfFactory trial version www.pdffactory.com
122
4/‫ﺍﻻﻤﺭ‬Insret
‫ﺍﺨﺭﻯ‬ ‫ﺍﻟﻰ‬ ‫ﻨﺼﻴﻪ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﺒﺎﻀﺎﻓﻪ‬ ‫ﺍﻻﻤﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻴﻘﻭﻡ‬.
‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:insert(source,target,index)
Source:‫ﺍﺨﺭﻯ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﺩﺨﺎﻟﻬﺎ‬ ‫ﻨﺭﻴﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺼل‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬
Target:‫ﺍﻟﺴﻠﺴ‬‫ﻠ‬‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻻﺩﺨﺎل‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﻪ‬
Index:‫ﻤﻨﻪ‬ ‫ﺍﻻﺩﺨﺎل‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻟﻤﻭﻗﻊ‬.
S1:=’not’;
S2:=’ I do love you’;
Insert(s1,s2,6);
Writeln(s2);
‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:I do not love you
‫ﺍﻟﻨﺎ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺘﺞ‬255‫ﺍ‬ ‫ﺤﺫﻑ‬ ‫ﻴﺘﻡ‬ ‫ﻓﺎﻨﻪ‬ ، ‫ﺤﺭﻑ‬‫ﻟ‬‫ﻤﻥ‬ ‫ﺒﺎﻗﻲ‬
‫ﺍﻟـ‬255‫ﺤﺭﻑ‬.
4/‫ﺍﻻﻤﺭ‬delete
‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺤﺭﻭﻑ‬ ‫ﺒﺤﺫﻑ‬ ‫ﺍﻻﻤﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻴﻘﻭﻡ‬
‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:delete(s,from,howmuch)
S:=(’wajdy essam’);
Delete(s,1,6);
Writeln(s);
‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:essam
PDF created with pdfFactory trial version www.pdffactory.com
123
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺘﺎﺳﻊ‬
‫ﺍﳌﻌﺮﻓﻪ‬ ‫ﺍﳉﻤﻞ‬)type(
‫ﻭﺍ‬‫ﻤﻮﻋﺎﺕ‬set
‫ﺍﳉﻤﻞ‬ ‫ﻭﻫﻲ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬ ‫ﳑﻴﺰﺍﺕ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻟﺪﺭﺱ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬
‫ﺍﳌﱪﻣﺞ‬ ‫ﻗﺒﻞ‬ ‫ﻣﻦ‬ ‫ﺍﳌﻌﺮﻓﻪ‬.
‫ﺍﻟـ‬ ‫ﺍﻧﻮﺍﻉ‬ ‫ﺩﺍﺧﻞ‬ ‫ﺗﻨﻄﻮﻱ‬ ‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﺍﻥ‬ ‫ﺣﻴﺚ‬ ، ‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻣﻌﻬﺎ‬ ‫ﻭﻳﺄﰐ‬
type.
‫ﺟﺪﺍ‬ ‫ﻭﺳﻬﻞ‬ ‫ﻗﺼﲑ‬ ‫ﺩﺭﺱ‬ ‫ﻓﻬﻮ‬ ‫ﻟﻠﻤﺠﻤﻮﻋﺎﺕ‬ ‫ﺑﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻣﺎ‬)‫ﻳﻨﻄﻮﻱ‬ ‫ﻫﻮ‬ ‫ﺍﻳﻀﺎ‬
‫ﺍﻟـ‬ ‫ﺍﻧﻮﺍﻉ‬ ‫ﲢﺖ‬type(‫ﲤﺖ‬ ‫ﻟﺬﻟﻚ‬ ،‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﺍﱃ‬ ‫ﺍﺿﺎﻓﺘﻪ‬..
Have Anice Day
PDF created with pdfFactory trial version www.pdffactory.com
124
‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤل‬Type
‫ﺍﺴﻡ‬ ‫ﺘﺤﺕ‬ ‫ﺘﺨﺯﻴﻨﻬﺎ‬ ‫ﻴﺘﻡ‬ ‫ﻗﻴﻡ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬)‫ﻤﺘﻐﻴﺭ‬. (‫ﺍﻟﺼﺤﻴﺤﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻓﻤﺜﻼ‬
‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻫﻲ‬-32768‫ﺍﻟﻰ‬+32767‫ﺍﺴﻡ‬ ‫ﺘﺤﺕ‬ ‫ﺘﺨﺯﻴﻨﻬﺎ‬ ‫ﻴﺘﻡ‬integer.
‫ﺍﺴﻡ‬ ‫ﺘﺤﺕ‬ ‫ﻭﺘﻀﻌﻬﺎ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺘﻌﺭﻑ‬ ‫ﺍﻨﺕ‬ ‫ﻭﺒﺎﻤﻜﺎﻨﻙ‬)‫ﻤﺘﻐﻴﺭ‬. (‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻴﻤﻜﻥ‬
‫ﻫ‬‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻻ‬ ‫ﺍﻨﻙ‬ ‫ﺒﺎﺴﺘﺜﻨﺎﺀ‬ ، ‫ﻁﺒﻴﻌﻲ‬ ‫ﺒﺸﻜل‬ ‫ﺒﺭﻨﺎﻤﺠﻙ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺫﺍ‬
‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤل‬write‫ﻭ‬writeln‫ﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﺠﻤل‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻻ‬ ‫ﻭﺍﻴﻀﺎ‬
read‫ﻭ‬readln.
‫ﻤﺜﻼ‬//‫ﻤﺘﻐﻴﺭ‬ ‫ﺘﺤﺕ‬ ‫ﺍﻻﺴﺎﻤﻲ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺘﺴﺘﻁﻴﻊ‬name:
Type
Name= (wajdy, essam, Ahmed);
‫ﻤ‬ ‫ﻟﺩﻴﻨﺎ‬ ‫ﺍﺼﺒﺢ‬ ‫ﺍﻻﻥ‬‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺘﻐﻴﺭ‬name)‫ﻤﺜل‬ ‫ﻤﺜﻠﻪ‬integer‫ﻭ‬real‫ﻭ‬char
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻭﺒﺎﻗﻲ‬(‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬ ‫ﻋﻨﻪ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﺘﻡ‬
Var
N: name;
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺒﻘﻴﻪ‬ ‫ﻤﺜل‬ ‫ﺘﻤﺎﻤﺎ‬ ، ‫ﺃﺭﺃﻴﺕ‬!!
‫ﻤﺜﺎل‬//
Type
Car = (bmw , Mazda ,Honda ,ford);
Color = (red ,green ,blue);
Str20 = string[20];
PDF created with pdfFactory trial version www.pdffactory.com
125
Var
Mycar:car;
Mycolor:color;
Name:str20;
‫ﺭﺍﺌﻊ‬‫ﺘﺴﻤﻰ‬ ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﻫﺫﻩ‬ ،enumerated types‫ﺍﻟﺠﻤل‬ ‫ﺍﻱ‬‫ﺍﻟﻤﻌﺭﻓﻪ‬
‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻗﺒل‬ ‫ﻤﻥ‬ ‫ﻤﺴﺒﻘﺎ‬.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻓﻨﺠﺩ‬mycar‫ﻤﻥ‬‫ﺍﻟﻨﻭﻉ‬car‫ﻭﺍﻟﻤﺘﻐﻴﺭ‬ ،mycolor‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬
color.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻴﻀﺎ‬mycolor‫ﻗﻴﻤﻪ‬ ‫ﺍﻁﺎﺭ‬ ‫ﺨﺎﺭﺝ‬ ‫ﻴﺨﺭﺝ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬ ،‫ﺍﻥ‬ ‫ﺒﻤﻌﻨﻰ‬ ،
‫ﺍﻟﻤﺘﻐﻴﺭ‬)‫ﻤﺜﻼ‬ ‫ﺍﺴﻨﺎﺩﻩ‬ ‫ﻋﻨﺩ‬(‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺤﺩ‬ ‫ﻫﻲ‬ ‫ﺍﻻﺴﻨﺎﺩ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬
‫ﺍﻟﺠﺩﻴﺩ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺤﻤﻠﻬﺎ‬color‫ﻭﻫﻲ‬red‫ﻭ‬green‫ﻭ‬blue.
‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻓﻜﻤﺎ‬integer‫ﺍﻟﻜﺴﺭﻴﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻻﻴﻘﺒل‬2.6.
‫ﻓﺎﻟﻤﺘﻐﻴﺭ‬mycar‫ﻭﻫﻲ‬ ‫ﻋﻨﺎﺼﺭﻩ‬ ‫ﺍﺤﺩ‬ ‫ﺍﻻ‬ ‫ﻻﻴﻘﺒل‬)bmw, mazda, Honda,
ford(،‫ﻭﻫﻜﺫﺍ‬.
‫ﻤﺜﺎل‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺎﺒﻊ‬: (
Begin
Mycar := 1; {illegal}
Mycar := ford; {legal}
If mycar = mazda then writeln(‘I love mazda’); {legal}
End.
PDF created with pdfFactory trial version www.pdffactory.com
126
{illegal}‫ﻤﻌﻨﺎﻫﺎ‬)‫ﺸﺭﻋﻲ‬ ‫ﻏﻴﺭ‬(‫ﺼﺤﻴﺤﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻱ‬)‫ﻤﺭﻓﻭﻀﻪ‬. (
{legal}‫ﻤﻌﻨﺎﻩ‬)‫ﺸﺭﻋﻲ‬(‫ﺼﺤﻴﺤﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻱ‬)‫ﻤﻘﺒﻭﻟﻪ‬. (
‫ﺍﻟـ‬ ‫ﻤﻊ‬ ‫ﺘﺘﻌﺎﻤل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﻌﺽ‬ ‫ﻫﻨﺎﻙ‬Type//
1.‫ﺍﻻﻤﺭ‬ord:
‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﻭﻗﻊ‬ ‫ﺘﺤﺩﻴﺩ‬ ‫ﻫﻰ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﻭﻅﻴﻔﺘﺎﻥ‬ ‫ﻟﻪ‬)‫ﺍﻟـ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬Type(
‫ﺍﺴﻜﻲ‬ ‫ﺒﺼﻴﻐﻪ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻋﻁﺎﺀ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ASCII
‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻭﻅﻴﻔﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬(//
Ord(bmw); {=0}
Ord(mazda); {=1}
‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻭﻅﻴﻔﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬//
N:= Ord(a); {n=65}
2.‫ﺍﻻﻤﺭ‬chr:
‫ﺍﻟﻤﺩﺨل‬ ‫ﻟﻠﺤﺭﻑ‬ ‫ﺍﻟﺭﻗﻡ‬ ‫ﺒﺎﻋﻁﺎﺀ‬ ‫ﻴﻘﻭﻡ‬‫ﻟﻤﻌﺎﻴﻴﺭ‬ ‫ﻁﺒﻘﺎ‬ ،ASCII‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻋﻜﺱ‬ ‫ﺍﻱ‬
ord
‫ﻤﺜﺎل‬/
Chr(65); {=a}
‫ﺍﻟـ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻥ‬ ‫ﻤﻼﺤﻅﻪ‬ ‫ﻤﻊ‬capital‫ﺍﻟـ‬ ‫ﻋﻥ‬ ‫ﺘﺨﺘﻠﻑ‬small.
3.‫ﺍﻻﻤﺭ‬succ‫ﻭﺍ‬‫ﻻﻤﺭ‬pred//
‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻭ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺒﺎﻋﻁﺎﺀ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻻﻭل‬)‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻲ‬(
‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺃﻭ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺒﺎﻋﻁﺎﺀ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻟﺜﺎﻨﻲ‬)‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻲ‬(
PDF created with pdfFactory trial version www.pdffactory.com
127
‫ﻤﺜﺎل‬//
Type
Color= (red ,green ,blue);
Var
Mc : color;
Begin
Succ(red); {green}
Pred(blue); {green}
Ord(blue); {2}
End.
‫ﺍﻟﺨﺎﺼﻴﻪ‬ ‫ﻟﻬﺫﻩ‬ ‫ﺍﻨﻅﺭ‬ ‫ﺍﻴﻀﺎ‬//
Type
Car = (bmw=1,mazda ,Honda ,ford=7,Volvo);
Begin
Ord (bmw); {=1}
Ord (mazda); {=2}
Ord (Honda); {=3}
Ord (ford); {=7}
Ord (Volvo); {=8}
End.
‫ﻭﻀﺤﺕ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻅﻥ‬‫ﺘﻤﺎﻤﺎ‬ ،!!
PDF created with pdfFactory trial version www.pdffactory.com
128
‫ﺍﻟﺴﺠﻼﺕ‬record
‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬‫ﻋﺩﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺴﺠﻼﺕ‬ ،‫ﺘﺤﺕ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻤﻌﻴﻥ‬
‫ﻭﺍﺤﺩ‬ ‫ﺍﺴﻡ‬‫ﺘﺴﺘﻁﻴ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﺤﺎل‬ ‫ﻜل‬ ‫ﻋﻠﻰ‬ ،‫ﻤﻥ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻨﻭﻉ‬ ‫ﺘﺤﻤل‬ ‫ﺍﻥ‬ ‫ﻊ‬
‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬‫ﺍﻟ‬ ‫ﻟﻜﻥ‬ ،‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺘﺤﻤل‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺴﺠﻼﺕ‬)‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬(
‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﻓﻴﻬﺎ‬ ‫ﺒﻤﺎ‬!!
‫ﻫﻭ‬ ‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻓﻌﻠﻴﺎ‬‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻉ‬‫ﺍﻟـ‬ ‫ﻗﺴﻡ‬ ‫ﺘﺤﺕ‬ ‫ﻭﺘﻨﻁﻭﻱ‬ ،
type‫ﺍﻟـ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻭﻓﻲ‬ ،type‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺒل‬ ‫ﻴﻜﻭﻥ‬
‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬.
‫ﺒﺒﺎﺴﻜﺎ‬ ‫ﻤﺘﻜﺎﻤل‬ ‫ﺸﺒﻪ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺤﻭل‬ ‫ﻨﻅﺭﻩ‬‫ل‬:
Program progname (input,output);
Uses unit1 , unit2 ….
Type
:
Var
:
Procedure & function
:
Begin {main}
:
End.
PDF created with pdfFactory trial version www.pdffactory.com
129
‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬//
Program example (I,o);
Uses wincrt;
Type
Data = record
Name : string;
Age : integer;
Tel : integer ;
end;
Var
Da: data ;
‫ﺍ‬‫ﻋﻨﻪ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺒﻌﺩ‬ ‫ﻴﺴﺘﺨﺩﻡ‬ ‫ﻟﻥ‬ ‫ﻟﺴﺠل‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻻ‬ ،da‫ﺍﺴ‬ ‫ﻴﺤﻤل‬‫ﻡ‬
‫ﺍﻟﺴﺠل‬‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻓﻲ‬ ‫ﻨﻘﻁ‬ ‫ﺍﻫﻡ‬ ‫ﻫﻲ‬ ‫ﻫﺫﻩ‬ ،.
‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﻨﺄﺘﻲ‬،‫ﻭﻜﻴﻔﻴﻪ‬‫ﺠﻤل‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ، ‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺩﺨﺎل‬
‫ﺍﻻﺩﺨﺎل‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺘﻌﻴﻴﻥ‬readln‫ﻭ‬read.
‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﺠﻤﻠﻪ‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺎﺒﻊ‬:: (
Begin
Da.name := ‘wajdy’ ;
Da.age := 20;
Da.tel := 0911119415 ;
End.
PDF created with pdfFactory trial version www.pdffactory.com
130
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬:
‫ﺍﻟﺴﺠل‬ ‫ﻗﻴﻡ‬ ‫ﺒﺎﺴﻨﺎﺩ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻻﻋﻠﻰ‬ ‫ﻓﻲ‬)‫ﺍﻟﺤﻘﻭل‬fields(‫ﺍﻱ‬ ‫ﺍﻟﻰ‬‫ﺘﺭﻴﺩ‬ ‫ﻗﻴﻤﻪ‬،
‫ﺍﻻﻭل‬ ‫ﺍﻟﺤﻘل‬ ‫ﻓﻲ‬ ‫ﻓﻤﺜﻼ‬name‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﺴﻨﺎﺩﻩ‬ ‫ﻗﻤﻨﺎ‬wajdy‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺤﻘل‬ ،
age‫ﺍﻟﺭﻗﻡ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﺴﻨﺎﺩﻩ‬ ‫ﻗﻤﻨﺎ‬20‫ﻭﻫﻜﺫﺍ‬.
‫ﺍﻟﺴﺠل‬ ‫ﻴﺤﻤل‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻨﻪ‬ ‫ﻻﺤﻅ‬da‫ﺍﺴﻡ‬ ‫ﺜﻡ‬ ، ‫ﻨﻘﻁﻪ‬ ‫ﺜﻡ‬
‫ﻗﻴﻤﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺘﻌﻴﻴﻨﻪ‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻟﺤﻘل‬.
)‫ﺍﻟﻘﻴﻡ‬ ‫ﺘﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻭﺍﻻﺤﺭﻑ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻼﺴل‬ ‫ﺍﺴﻨﺎﺩ‬ ‫ﻋﻨﺩ‬ ، ‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭ‬ ‫ﻭﻜﻤﺎ‬
‫ﻋﻼﻤﻪ‬ ‫ﺒﻴﻥ‬‘ here’(.
‫ﺍﻻ‬ ‫ﺠﻤﻠﻪ‬‫ﺩﺨﺎل‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺎﺒﻊ‬:: (
Begin
Read(da.name);
Read(da.age);
Read(da.tel);
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺜﻡ‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﺘﻡ‬)‫ﺍﻟﺴﺠل‬ ‫ﻴﺤﻤل‬ ‫ﺍﻟﺫﻱ‬(‫ﺍﻟﺤﻘل‬ ‫ﺍﺴﻡ‬ ‫ﺜﻡ‬ ‫ﻨﻘﻁﻪ‬ ‫ﺜﻡ‬
‫ﺍﻟﻤﺭﺍﺩ‬.‫ﻭﻫﻜﺫﺍ‬..
‫ﻗﺭﺍﺀﻩ‬ ‫ﻭ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﻻﺴﻨﺎﺩ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻁﺭﻴﻘﻪ‬ ‫ﻫﻨﺎﻙ‬)‫ﻗﻴﻡ‬ ‫ﺍﺩﺨﺎل‬(‫ﺍﻟﺴﺠﻼ‬‫ﺕ‬‫ﺍﻓﻀل‬ ‫ﻭﻫﻲ‬ ،
‫ﺍﻻﻭﻟﻰ‬ ‫ﻤﻥ‬)‫ﺍﻜﺜﺭ‬ ‫ﻻ‬ ‫ﻓﻘﻁ‬ ‫ﺴﻬﻭﻟﻪ‬ ‫ﻨﺎﺤﻴﻪ‬ ‫ﻤﻥ‬(‫ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻫﻲ‬with … do
PDF created with pdfFactory trial version www.pdffactory.com
131
‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺒﻬﺎ‬ ‫ﺍﻻﺴﻨﺎﺩ‬ ‫ﻭﻴﻜﻭﻥ‬//
Begin
With da do
Begin
Name := ‘wajdy’ ;
Age := 20;
Tel := 0911119415
End;
End.
‫ﺒ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﻭﻴﻜﻭﻥ‬‫ﺍﻟﺸﻜل‬ ‫ﻬﺫﺍ‬//
Begin
With da do
Begin
Read(name);
Read(age);
Read(tel);
End;
End.
‫ﺍﻟﻜﻠﻤﻪ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻱ‬with، ‫ﺍﻟﺴﺠل‬ ‫ﻴﺤﻤل‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬ ،
‫ﻜﻠﻤﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬do.‫ﺒﻔﺘﺢ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺒﻌﺩﻫﺎ‬block‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺒﺩﺍﺨﻠﻪ‬ ‫ﻭﻨﻀﻊ‬
‫ﺍﺩﺨﺎﻟﻬ‬‫ﺎ‬.‫ﻗﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺠﻤل‬ ‫ﺍﻭ‬ ، ‫ﺍﺴﻨﺎﺩ‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﺍﻤﺎ‬)‫ﺍﻟﺴﺎﺒﻘﻴﻥ‬ ‫ﺍﻟﻤﺜﺎﻟﻴﻥ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬. (
PDF created with pdfFactory trial version www.pdffactory.com
132
‫ﻟﻠﻁﺒﺎﻋﻪ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻤﺎ‬//
Writeln (da.name); { ‫ﺒﺎﻟﻁﺭﻴﻘﻪ‬‫ﺍﻻﻭﻟﻰ‬ }
With da do
Begin
Writeln(name); {‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫}ﺒﺎﻟﻁﺭﻴﻘﻪ‬
End;
‫ﺍﻟﻤﻤ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻤﻥ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻥ‬ ‫ﻜﻥ‬‫ﻨﺭﺠﻊ‬ ،‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﺍﻟﻰ‬
‫ﺍﻟﺴﺠل‬ ‫ﻋﺭﻓﻨﺎ‬ ‫ﺍﻥ‬ ‫ﺒﻌﺩ‬data‫ﻓﻲ‬ ‫ﺍﻻﻥ‬ ،‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻗﺴﻡ‬:
Da : array [1..10] of data ;
‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻗﺴﻡ‬ ‫ﻭﺒﺎﺴﻨﺎﺩ‬//
Da[1].name := ‘wajdy’;
‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺒﺎﻟﻁﺭﻴﻘﻪ‬with … do//
With da[1] do
Begin
Name := ‘wajdy’;
End;
‫ﺤﻠ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻭﻤﻥ‬‫ﻘﻪ‬)‫ﺘﻜﺭﺍﺭ‬(‫ﺍﻟﺴﺠل‬ ‫ﻗﻴﻡ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻟﻘﺭﺍﺀﻩ‬)‫ﻓﻲ‬ ‫ﻭﻀﻌﻪ‬ ‫ﺒﻌﺩ‬
‫ﻤﺼﻔﻭﻓﻪ‬!! (
PDF created with pdfFactory trial version www.pdffactory.com
133
‫ﻤﺜﺎل‬//‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻴﻘﺭﺃ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻜﺘﺏ‬3‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻫﺫﻩ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ‫ﻁﻼﺏ‬
‫ﻫﻲ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺒﺄﻥ‬ ‫ﻋﻠﻤﺎ‬ ‫؟؟‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬)‫ﺍﻟﻬﺎﺘﻑ‬ ،‫ﺍﻟﻌﻤﺭ‬ ، ‫ﺍﻻﺴﻡ‬(‫؟؟‬
Program database (input,output);
Uses wincrt;
Type
Data = record
Name:string;
Age,tel:integer;
End;
Var
Da:array [1..3] of data ;
I:integer;
Begin
Writeln(‘please fill the information : ‘);
For i:= 1 to 3 do
Begin
Writeln(‘NOW .. student no ’,i);
With da[i] do
Begin
Write(‘Name: ‘); Readln(name);
Write(‘age: ‘); Readln(age);
Write(‘tel: ‘); Readln(tel);
End;
End; {for}
PDF created with pdfFactory trial version www.pdffactory.com
134
Clrcsr;
For i:= 1 to 3 do
Begin
With da[i] do
Begin
Writeln(‘ student no ‘,i);
Write (‘name: ‘); Writeln(name);
Write (‘age: ‘); Writeln(age);
Write (‘tel: ‘); Writeln(tel);
End;
Writeln;
End; {for}
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬
‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻌﺭﻑ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺘﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﻫﻭ‬ ‫ﺍﻨﻪ‬ ‫ﺍﻱ‬‫ﺍﻟـ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺍﺤﺩ‬type(
‫ﻨﻭﻉ‬ ‫ﻤﻥ‬record)‫ﺴﺠل‬ ‫ﺍﻱ‬(‫ﺒﺎﺴﻡ‬data‫ﻭﻫﻲ‬ ، ‫ﺤﻘﻭل‬ ‫ﺜﻼﺙ‬ ‫ﻭﻀﻊ‬ ‫ﻭﺘﻡ‬ ،
‫ﺍﻻﺴﻡ‬ ، ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻁﻠﻭﺒﻪ‬name‫ﺍﻟﻌﻤﺭ‬ ،age‫ﺍﻟﻬﺎﺘﻑ‬ ،tel.
‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻟﺩﻴﻨﺎ‬ ‫ﺍﺼﺒﺢ‬ ‫ﺍﻻﻥ‬data.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬da‫ﻫﻭ‬ ‫ﻭﺍﻟﺫﻱ‬
‫ﻤ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬‫ﻋﻨﺎﺼﺭ‬ ‫ﺜﻼﺜﻪ‬ ‫ﻤﻥ‬ ‫ﻤﻜﻭﻨﻪ‬ ‫ﺼﻔﻭﻓﻪ‬)data(.‫ﻭﻤﺘﻐﻴﺭ‬I‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬
‫ﺍﻟﺼﺤﻴﺢ‬)‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻓﻲ‬ ‫ﻴﺴﺘﺨﺩﻡ‬. (
PDF created with pdfFactory trial version www.pdffactory.com
135
‫ﺒﺩﺍﻴﻪ‬ ‫ﺒﻌﺩ‬begin‫ﻨﺸﺎﻫﺩ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬:
Writeln(‘please fill the information : ‘);
For i:= 1 to 3 do
Begin
Writeln(‘NOW .. student no ’,i);
With da[i] do
Begin
Write(‘Name: ‘); Readln(name);
Write(‘age: ‘); Readln(age);
Write(‘tel: ‘); Readln(tel);
End;
End; {for}
‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻴﻨﻁﺒﻊ‬ ‫ﺴﻭﻑ‬ ، ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻓﻭﺭ‬.
‫ﺍﻟﺴﻁ‬‫ﻫﻲ‬ ‫؟‬ ‫ﻤﻨﻬﺎ‬ ‫ﺍﻟﻔﺎﺌﺩﻩ‬ ‫ﻤﺭﺍﺕ‬ ‫ﺜﻼﺙ‬ ‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬ ‫ﺤﻠﻘﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺭ‬
‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﺩﺨل‬ ‫ﺨﻼﻟﻬﺎ‬ ‫ﻤﻥ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺍﻨﻪ‬)‫،ﺍﻟﻌﻤﺭ،ﺍﻟﻬﺎﺘﻑ‬ ‫ﺍﻻﺴﻡ‬(‫ﻁﻼﺏ‬ ‫ﺜﻼﺙ‬.
‫ﻋﻠﻰ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬begin‫ﻭ‬end;‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﺍﻭﺍﻤﺭ‬ ‫ﻭﺍﻱ‬ ‫ﻤﺭﻜﺒﻪ‬ ‫ﺤﻠﻘﻪ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻱ‬ ،
‫ﻤﺭﺍﺕ‬ ‫ﺜﻼﺜﻪ‬ ‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺤﻠﻘﻪ‬.
‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻨﺭﻯ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻻﻥ‬+‫ﻗﻴﻤﻪ‬‫ﻤﺘﻐﻴﺭ‬I‫ﺒﺩ‬ ‫ﺜﻡ‬ ،‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﺃ‬‫ﺍﻟﺴﺠل‬
‫ﺒﺎﻟﺠﻤﻠﻪ‬With da[i] do‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﻤﻊ‬ ‫ﺍﻱ‬ ،)‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ، ‫ﺍﻻﻭل‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬I‫ﺘﺴﺎﻭﻱ‬1‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﻭﺍﻟﺜﺎﻨﻲ‬ ،I‫ﺘﺴﺎﻭﻱ‬2‫ﻭﻫﻜﺫﺍ‬ ،. (
PDF created with pdfFactory trial version www.pdffactory.com
136
‫ﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻋﻨﺩ‬ ‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻭﻜﻤﺎ‬with .. Do‫ﺩﺍﺨل‬ ‫ﺘﻭﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬
block‫ﺍ‬ ‫ﻫﺫﺍ‬ ‫ﺩﺍﺨل‬ ‫ﻭﻀﻊ‬ ‫ﻭﺘﻡ‬ ، ‫ﻤﻨﻔﺼل‬‫ﻟـ‬block‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤل‬
‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﺩﺨﺎل‬ ‫ﻭﺠﻤل‬.
‫ﺍل‬ ‫ﻫﺫﺍ‬ ‫ﻴﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬block‫ﻤﺭﺍﺕ‬ ‫ﺜﻼﺙ‬)‫ﻟﺤﻠﻘﻪ‬ ‫ﻨﻅﺭﺍ‬for. (‫ﺍﺩﺨﺎل‬ ‫ﺘﻡ‬ ‫ﻭﻫﻜﺫﺍ‬
‫ﻁﻼﺏ‬ ‫ﺜﻼﺙ‬ ‫ﺒﻴﺎﻨﺎﺕ‬.
‫ﺍﻟﺠﻤﻠﻪ‬clrscr‫ﻤﻌﻨﺎﻫﺎ‬clear screen‫ﻜﺘﺎﺒﻪ‬ ‫ﻋﻨﺩ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﺘﻨﻅﻴﻑ‬ ‫ﺍﻱ‬
‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻜﺎﻓﻪ‬ ‫ﻤﺴﺢ‬ ‫ﺍﻻﻤﺭ‬ ‫ﻫﺫﺍ‬.
‫ﺍ‬ ‫ﺍﻟﺤﻠﻘﻪ‬‫ﺍﻟﺜﻼ‬ ‫ﺍﻟﻁﻼﺏ‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻫﻲ‬ ‫ﻟﺜﺎﻨﻴﻪ‬‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺒﺎﻟﺤﻠﻘﻪ‬ ‫ﺸﺒﻴﻪ‬ ‫ﻭﻫﻲ‬ ، ‫ﺜﻪ‬
)‫ﺍﻻﻭﻟﻰ‬(‫ﺍﻟﻜﻼﻡ‬ ‫ﻨﻔﺱ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﻨﻌﻴﺩ‬ ‫ﻟﻥ‬ ‫ﻟﺫﻟﻙ‬.
‫ﺍﻟﻤﺠﻤﻭﻋﺎﺕ‬Sets
‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻠﻐﻪ‬ ‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺍﻟﻤﺯﺍﻴﺎ‬ ‫ﺍﺤﺩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺠﻤﻭﻋﺎﺕ‬،‫ﻤ‬ ‫ﻨﺎﺩﺭﺍ‬ ‫ﻭﺍﻟﺘﻰ‬‫ﻓﻲ‬ ‫ﻨﺠﺩﻫﺎ‬ ‫ﺎ‬
‫ﺍﻻﺨﺭﻯ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬.
‫ﻭﻴﻘﻭ‬ ‫ﺍﻟﺨﺎﺼﻴﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻴﺘﺠﺎﻫﻠﻭﺍ‬ ‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬ ‫ﺍﻏﻠﺏ‬‫ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﺫﻟﻙ‬ ‫ﻋﻥ‬ ‫ﺒﺩﻻ‬ ‫ﻤﻭﺍ‬
‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬،‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﺘﺸﺎﺒﻪ‬ ‫ﻤﻥ‬ ‫ﻴﻭﺠﺩ‬ ‫ﻟﻤﺎ‬.
‫ﺍﻟﻤﺠﻤﻭ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺍﻟﻌﻤﻭﻡ‬ ‫ﻋﻠﻰ‬‫ﺠﻴﺩ‬ ‫ﺸﻲﺀ‬ ‫ﻴﻌﺘﺒﺭ‬ ‫ﺒﺭﺍﻤﺠﻨﺎ‬ ‫ﻓﻲ‬ ‫ﻋﺎﺕ‬‫ﺠﺩﺍ‬ ،!!
‫ﺍﻴﻀﺎ‬ ‫ﺍﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﻤﺎ‬ ‫ﻨﺎﺩﺭﺍ‬ ‫ﺸﺨﺼﻴﺎ‬ ‫ﺍﻨﺎ‬، ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺒﻌﺽ‬ ‫ﻓﻲ‬ ‫ﻤﻔﻴﺩﻩ‬ ‫ﻟﻜﻨﻬﺎ‬ ،‫ﻭﺍﻟﻌﺩﻴﺩ‬
‫ﺍﻥ‬ ‫ﻟﻜﻥ‬ ، ‫ﻟﻬﺎ‬ ‫ﺍﻻﺸﺎﺩﻩ‬ ‫ﻭﻋﺩﻡ‬ ‫ﺍﻟﺨﺎﺼﻴﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﺠﺎﻫل‬ ‫ﺘﻡ‬ ‫ﺍﻟﻜﺘﺏ‬ ‫ﻤﻥ‬‫ﺍﷲ‬ ‫ﺸﺎﺀ‬
‫ﺍﻻﻤﻜﺎﻥ‬ ‫ﺒﻘﺩﺭ‬ ‫ﺍﻏﻁﻴﻬﺎ‬ ‫ﺃﻥ‬ ‫ﺴﺄﺤﺎﻭل‬.
PDF created with pdfFactory trial version www.pdffactory.com
137
‫ﺍﻟﻤﺠﻤﻭﻋﻪ‬Set‫ﺍﻟﻤﺠ‬ ‫ﺘﺸﺎﺒﻪ‬ ‫ﺘﻘﺭﻴﺒﺎ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻓﻲ‬‫ﻤ‬‫ﺍﻟﺭﻴﺎﻀﻴﺎﺕ‬ ‫ﻓﻲ‬ ‫ﻭﻋﻪ‬،
‫ﺍﻟﺭﻴﺎﻀﻴﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺠﻤﻭﻋﻪ‬ ‫ﻨﺸﺎﻫﺩ‬ ‫ﺩﻋﻨﺎ‬//
S = {1, 5, 8, 9}
‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺠﻤﻭﻋﻪ‬ ‫ﻫﻲ‬ ‫ﻭﻫﻜﺫﺍ‬)‫ﻋﻨﺎﺼﺭﻫﺎ‬ ‫ﻭﺠﻤﻴﻊ‬ ، ‫ﻭﻨﻬﺎﻴﻪ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻟﻬﺎ‬
‫ﻤﻌﻠﻭﻤﻪ‬. (
‫ﺍﻻﻋﻼ‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﻨﺸﺎﻫﺩ‬ ‫ﺩﻋﻨﺎ‬‫ﻋﻨﻬﺎ‬ ‫ﻥ‬//
Type
Days = (Sut,sun,mon,tues,wed,thurs,fri);
Var
Allday : set of days ;
‫ﺍﻟﻤﺘﻐﻴﺭ‬allday‫ﺍﻟﺠﻤﻌﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺴﺒﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻴﺎﻡ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻋﻨﺎﺼﺭﻩ‬ ،.
‫ﻤﺜﺎل‬//
Program ex (input, output);
Uses wincrt;
Type
Days = (Sunday, Monday, Tuesday, Wednesday, Thursday,
Friday, Saturday);
Var
allday : set of days;
workday : set of Monday .. Friday;
thisday : days;
PDF created with pdfFactory trial version www.pdffactory.com
138
Begin
thisday:= Monday;
If thisday in workday then
writeln('This day I''m in work')
Else
Writeln ('This day I''m on holiday’);
End.
‫ﺒﺘﻐﻴﺭ‬ ‫ﻗﻡ‬ ‫ﺍﻻﻥ‬thisday:= Monday;‫ﺍﻟﻰ‬thisday:= Saturday;.
‫ﺍﻟﻔﺭﻕ‬ ‫ﻭﺸﺎﻫﺩ‬‫ﺠﺩﺍ‬ ‫ﻭﺍﻀﺤﻪ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻅﻥ‬ ،!!
‫ﻨﺭﻴﺩ‬ ‫ﺍﻨﻨﺎ‬ ‫ﻟﻨﻔﺘﺭﺽ‬‫ﻤﺎ‬ ‫ﻟﺴﺒﺏ‬ ‫ﺍﻻﻴﺎﻡ‬ ‫ﻫﺫﻩ‬ ‫ﺍﺤﺩ‬ ‫ﻨﺤﺫﻑ‬ ‫ﺍﻥ‬‫ﺫ‬ ‫ﻴﻜﻭﻥ‬ ،‫ﻫﻜﺫﺍ‬ ‫ﻟﻙ‬
Exclude(myday,Friday);
‫ﺍﻻﺴﺒﻭﻉ‬ ‫ﺍﻴﺎﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺠﻤﻌﻪ‬ ‫ﻴﻭﻡ‬ ‫ﺍﺴﺘﺒﻌﺎﺩ‬ ‫ﺘﻡ‬ ‫ﺍﻻﻥ‬.
‫ﻫﻜﺫﺍ‬ ‫ﺫﻟﻙ‬ ‫ﻴﻜﻭﻥ‬ ، ‫ﻴﻭﻡ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺍﻭ‬ ‫ﻭﻻﺭﺠﺎﻉ‬
Include(myday,Friday);
‫ﻤﻬﻤﻪ‬ ‫ﻤﻼﺤﻅﻪ‬//‫ﺍﻻﻤﺭﻴﻥ‬exclude‫ﻭ‬include‫ﻴ‬ ‫ﻻ‬‫ﺘﻴﺭﺒﻭ‬ ‫ﺍﻟﻨﺴﺨﻪ‬ ‫ﻓﻲ‬ ‫ﻌﻤﻼﻥ‬
‫ﺒﺎﺴﻜﺎل‬.
PDF created with pdfFactory trial version www.pdffactory.com
139
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﻌﺎﺷﺮ‬
‫ﺍﳋﺎﺻﻪ‬ ‫ﻭﺣﺪﺍﺗﻚ‬ ‫ﻋﻤﻞ‬
‫ﺍ‬ ‫ﰲ‬‫ﻭﺑﻌﺾ‬ ‫ﻭﺍﻟﺪﻭﺍﻝ‬ ‫ﺍﻻﺟﺮﺍﺀﺍﺕ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﺍﱃ‬ ‫ﳓﺘﺎﺝ‬ ، ‫ﺍﻻﺣﻴﺎﻥ‬ ‫ﻣﻦ‬ ‫ﻟﻜﺜﲑ‬
‫ﺗ‬ ‫،ﺍﻥ‬ ‫ﺍﻻﻭﺍﻣﺮ‬‫ﺘ‬‫ﺑﺮﻧﺎﻣﺞ‬ ‫ﻛﻞ‬ ‫ﰲ‬ ‫ﻜﺮﺭ‬.‫ﺍﻻﺟﺮﺍﺀﺍﺕ‬ ‫ﻫﺬﻩ‬ ‫ﻛﺘﺎﺑﻪ‬ ‫ﻋﻨﺪ‬ ‫ﻟﺬﻟﻚ‬
‫ﻛﺘﺎﺑﺘﻪ‬ ‫ﰲ‬ ‫ﲣﻄﺊ‬ ‫ﻭﺭﲟﺎ‬ ، ‫ﺍﻟﻮﻗﺖ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻜﺜﲑ‬ ‫ﺪﺭ‬ ‫ﺳﻮﻑ‬ ‫ﻭﺍﻟﺪﻭﺍﻝ‬.
‫ﻭﺍﺣﺪﻩ‬ ‫ﻭﺣﺪﻩ‬ ‫ﲢﺖ‬ ‫ﺗﺮﻳﺪﻫﺎ‬ ‫ﺍﻟﱴ‬ ‫ﺍﻭﺍﻣﺮﻙ‬ ‫ﲨﻴﻊ‬ ‫ﺗﻀﻊ‬ ‫ﺍﻥ‬ ‫ﺍﳌﻤﻜﻦ‬ ‫ﻣﻦ‬ ‫ﻟﺬﻟﻚ‬
‫ﻛﻞ‬ ‫ﰲ‬ ‫ﻭﺗﻀﻌﻬﺎ‬‫ﺑﺮﻧﺎﻣﺞ‬.
‫ﺑﺮﻧﺎﳎ‬ ‫ﰲ‬ ‫ﻭﺍﺳﺘﺨﺪﻣﻬﺎ‬ ، ‫ﺍﻟﻮﺣﺪﺍﺕ‬ ‫ﺻﻨﺎﻋﻪ‬ ‫ﻛﻴﻔﻴﻪ‬ ‫ﺳﺘﺘﻌﻠﻢ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬‫ﻚ‬.
PDF created with pdfFactory trial version www.pdffactory.com
140
‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻋﻤل‬
‫ﻭﺍﺤﺩ‬ ‫ﺍﺴﻡ‬ ‫ﻓﻲ‬ ‫ﻤﻭﺠﻭﺩﻩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻭﺤﺩﻩ‬
‫ﻭﻫﻭ‬ ‫ﺍﻻ‬"‫ﻭﺤﺩﻩ‬unit"‫ﻨﺴﺘﻁﻴﻊ‬ ‫ﻻ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻫﺫﻩ‬ ‫ﺍﺴﻡ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻭﺒﺩﻭﻥ‬ ،
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺸﻐﻴل‬.
‫ﺍﻻﻤ‬ ‫ﻤﺜﻼ‬‫ﺭ‬write‫ﻭ‬writeln‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﺩﺍﺨل‬ ‫ﻤﻭﺠﻭﺩﺍﻥ‬ ‫ﺍﻤﺭﺍﻥ‬ ‫ﻫﻤﺎ‬wincrt،
‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺒﺩﻭﻥ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻫﺫﻩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺤﺎﻭﻟﺕ‬ ‫ﻭﺍﺫﺍ‬wincrt‫ﻓﺈﻥ‬
‫ﻴﻌﻤل‬ ‫ﻟﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬.
، ‫ﺤﺴﻨﺎ‬‫ﻜﺘ‬ ‫ﻟﻜﻴﻔﻴﻪ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻨﺭﻯ‬ ‫ﺩﻋﻨﺎ‬‫ﺎ‬‫ﺒﻨﺎ‬ ‫ﺨﺎﺼﻪ‬ ‫ﻭﺤﺩﻩ‬ ‫ﺒﻪ‬
{This code must be saved with name wajdy.PAS}
Unit wajdy;
Interface
Uses....
Var
... {Visible global variables}
{Procedures & functions definitions}
Procedure myproc;
Function myfunc: word;
:
PDF created with pdfFactory trial version www.pdffactory.com
141
:
Implementation
Var
... {Invisible global variables}
Procedure myproc;
Begin
: {the routines}
:
End;
Function myfunc: word;
Begin
: {the routines}
:
End;
:
: {other procedure's / function's routines}
:
Begin
: {Initialization code}
:
End.
PDF created with pdfFactory trial version www.pdffactory.com
142
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﻪ‬intercafe‫ﻭﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﺘﻡ‬
‫ﻭﺍﻟﺩﻭﺍل‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻭﺍﺴﺎﻤﻲ‬‫ﻤﺘﺎ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻭﺴﻭﻑ‬ ،‫ﺍﻱ‬ ‫ﻓﻲ‬ ‫ﻭﺤﺩﺘﻙ‬ ‫ﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﺤﻪ‬
‫ﺒﺭﻨﺎﻤﺞ‬.
‫ﺍﻟﺠﺎﺌﺯ‬ ‫ﻤﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ، ‫ﺒﻙ‬ ‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻭﻀﻊ‬ ‫ﻴﺘﻡ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻱ‬ ‫ﺍﻥ‬ ‫ﺒﻤﻌﻨﻰ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻐﻴﺭ‬.
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﻪ‬implementation‫ﺍﻻﺠﺭﺀﺍﺕ‬ ‫ﻤﺤﺘﻭﻴﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬
‫ﺘﻐﻴﺭﻫﺎ‬ ‫ﻴﺘﻡ‬ ‫ﻟﻥ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ، ‫ﻭﺍﻟﺩﻭﺍل‬.
‫ﺒﺴﻴﻁ‬ ‫ﻤﺜﺎل‬
{This unit must be stored in MYUNIT.PAS}
Unit myunit;
Interface
Uses CRT;
Var
X : byte;
Y, z: integer;
Procedure a;
Procedure b;
Function c: byte;
Implementation
Var
PDF created with pdfFactory trial version www.pdffactory.com
143
P, q, r: shortint;
Procedure a;
Begin
:
:
End;
Procedure d;
Begin
:
:
End;
Procedure b;
Begin
:
:
End;
Function c: byte;
Begin
:
:
End;
PDF created with pdfFactory trial version www.pdffactory.com
144
Procedure e;
Begin
:
:
End;
Begin
: {Initialization code}
:
End.
‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻴﺴﺘﺨﺩﻡ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻌﻤل‬ ‫ﺍﻻﻥ‬
Uses myunit;
Var
N: byte;
Begin
A; {legal}
B; {legal}
N: =c; {legal}
X: =1; {legal}
Y: =-1; {legal}
PDF created with pdfFactory trial version www.pdffactory.com
145
Z: =14; {legal}
D; {illegal, because it is invisible}
E; {illegal, because it is invisible}
P: =-1; {illegal, because it is invisible}
End.
‫ﺍﻟﺤ‬ ‫ﺍﻥ‬ ، ‫ﺍﻟﺩﺭﺱ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻨﺭﻴﺩ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﻟﻬﺎ‬ ‫ﺎﺠﻪ‬
‫ﻫﺫﻩ‬ ‫ﺘﻀﻡ‬ ‫ﻭﺤﺩﻩ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻨﻘﻭﻡ‬ ، ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬
‫ﺠﻤﻴﻌﺎ‬ ‫ﺍﻻﻭﺍﻤﺭ‬.‫ﺒﺎﻀ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺍﻟﺭﻴﺌﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺜﻡ‬‫ﺎ‬‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻪ‬.
PDF created with pdfFactory trial version www.pdffactory.com
146
‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻋﺸﺮ‬ ‫ﳊﺎﺩﻱ‬
‫ﻭﺍﻟﺜﻨﺎﺋﻴﻪ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﳌﻠﻔﺎﺕ‬
Text & Binary Flies
PDF created with pdfFactory trial version www.pdffactory.com
147
‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬
‫ﻨﺼﻭﺹ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻤﺤﺘﻭﻴﺎﺘﻪ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻱ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬text
‫ﺍﻤﺘﺩﺍﺩﻩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻤﺎ‬ ‫ﻭﻏﺎﻟﺒﺎ‬txt‫ﺍﻟﻜﺘﺎﺒﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻜﻴﻑ‬ ‫ﻨﻨﺎﻗﺵ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺩﺭﺱ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ،
‫ﺍﻴﻀﺎ‬ ‫ﻭﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬.
‫ﻓﻲ‬‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﺤﺎﻟﻪ‬‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻥ‬ ‫ﺍﺴﺎﺱ‬ ‫ﻋﻠﻰ‬ ‫ﺴﻨﻨﺎﻗﺵ‬ ،
‫ﺴﻨﻨﺸﺌﻪ‬ ‫ﺍﻟﺫﻱ‬)‫ﺍﻟﻤﻭﺠﻭﺩ‬ ‫ﺍﻭ‬(‫ﻓﻲ‬ ‫ﻤﻭﺠﻭﺩ‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺠﻠﺩ‬ ‫ﻓﻲ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬
‫ﺍﻟﻘﺭﺹ‬c‫ﺍﻟﻤﺠﻠﺩ‬ ‫ﺩﺍﺨل‬TPW.
‫ﻓﻴﻬﺎ‬ ‫ﺍﻟﺘﺭﺘﻴﺏ‬ ‫ﻭﻴﺠﺏ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬ ‫ﻤﻌﻴﻨﻪ‬ ‫ﺨﻁﻭﺍﺕ‬ ‫ﺘﻭﺠﺩ‬.
1.‫ﻤﺎ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﻫﻲ‬ ‫ﺨﻁﻭﻩ‬ ‫ﺍﻭل‬)‫ﻭﻟﻴﻜﻥ‬f(‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬text
Var
F: text;
2.‫ﺘﻌﻴﻴﻥ‬ ‫ﻓﻲ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺨﻁﻭﻩ‬ ‫ﺜﺎﻨﻲ‬assign‫ﺍﻟﻤﺘﻐﻴﺭ‬f‫ﻨﺼﻲ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻱ‬ ‫ﻓﻲ‬
)‫ﺠﺩﻴﺩ‬ ‫ﻨﺼﻲ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻭ‬ ، ‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻭﺠﻭﺩ‬(‫ﺒﺩﺍﻴﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻭﻴﻜﻭﻥ‬Begin
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬.
‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻭﺠﻭﺩ‬ ‫ﻨﺼﻲ‬ ‫ﻤﻠﻑ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬)‫ﺩﺍﺨل‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﻗﻠﻨﺎ‬ ‫ﻜﻤﺎ‬
‫ﺍﻟﻤﺴﺎﺭ‬ ‫ﻓﻲ‬ ‫ﺍﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺠﻠﺩ‬C:/TPW(‫ﺍﻟـ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬
assign‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬‫ﺒﺎﺴﻡ‬ ‫ﺍﻟﻤﻭﺠﻭﺩ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬ ،wajdy.txt
Begin
Assign (f,’wajdy.txt’);
PDF created with pdfFactory trial version www.pdffactory.com
148
‫ﺠﺩﻴﺩ‬ ‫ﻨﺼﻲ‬ ‫ﻤﻠﻑ‬ ‫ﻨﻨﺸﺊ‬ ‫ﺍﻥ‬ ‫ﻨﺭﻴﺩ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬)‫ﻤﺴﺘﺨﺩﻡ‬ ‫ﺍﻱ‬
‫ﺍﻻﺴﻡ‬ ‫ﻴﻜﺘﺏ‬ ‫ﺍﻟﺫﻱ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬(‫ﻤﺎ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬
‫ﻭﻟﻴﻜﻥ‬s‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻴﺭﻴﺩﻩ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﺴﻡ‬ ‫ﻓﻴﻪ‬ ‫ﻴﺤﻔﻅ‬ ‫ﻟﻜﻲ‬
Var
F: text;
S: string;
Begin
Read(s);
Assign (f, s);
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻻﺤﻅ‬s‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string‫ﻨﺼﻴﻪ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﺍﻱ‬)‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﺴﻡ‬ ‫ﻻﻥ‬
‫ﻭﺍﻻﺭﻗﺎﻡ‬ ‫ﺍﻟﺤﺭﻭﻑ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬(.
3.‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﺘﺢ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﺨﻁﻭﻩ‬‫ﻤﺴﺒﻘﺎ‬ ‫ﺍﻟﻤﻭﺠﻭﺩ‬
Reset (f);
‫ﺠﺩﻴﺩ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻨﺸﺎﺀ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬
Rewrite (f);
4.‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺭﺍﺒﻌﻪ‬ ‫ﺍﻟﺨﻁﻭﻩ‬)‫ﺍﻟﻘﺩﻴﻡ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬(‫ﺒـ‬ ‫ﺫﻟﻙ‬ ‫ﻭﻴﺘﻡ‬
Readln (f, x);
Writeln(x);
PDF created with pdfFactory trial version www.pdffactory.com
149
‫ﺍﻟﻤﺘﻐﻴﺭ‬X‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬string‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻭﻤﻌﻨﻰ‬ ،
‫ﺍﻟﻤﺘﺭ‬‫ﺠ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻲ‬ ‫ﻭﺘﺨﺯﻴﻨﻪ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻡ‬X‫ﻁﺒﺎﻋﻪ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ،
‫ﺍﻟﻤﺘﻐﻴﺭ‬x‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬.
‫ﺠﺩﻴﺩ‬ ‫ﻟﻤﻠﻑ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬
Readln(x);
Writeln (f, x);
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻡ‬ ‫ﺍﻱ‬x)‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string(‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺒﻁﺎﻋﺘﻪ‬ ‫ﻗﻡ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬F
5.‫ﺍﻨﺘﻬﻰ‬ ‫ﻫل‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻨﺘﻬﻰ‬ ‫ﻫل‬ ‫ﻟﻤﻌﺭﻓﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺨﺎﻤﺴﻪ‬ ‫ﺍﻟﺨﻁﻭﻩ‬
‫ﺍﻟﻤﻠﻑ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻭﺼل‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬
Eof (f);
‫ﻟـ‬ ‫ﺍﺨﺘﺼﺎﺭ‬ ‫ﻫﻲ‬ ‫ﻭ‬end of file
If eof (f) then writeln (‘The End’);
6.‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻟﻼﻏﻼﻕ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺴﺎﺩﺴﻪ‬ ‫ﺍﻟﺨﻁﻭﻩ‬
Close (f);
‫ﺒﺎﺴﻡ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺠﻠﺩ‬ ‫ﻓﻲ‬ ‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻠﻑ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬romansy.txt
Program ex1 (input, output);
Uses wincrt;
PDF created with pdfFactory trial version www.pdffactory.com
150
Var
F: text;
S: string;
Begin
Assign (f,’romansy.txt’);
Reset (f);
Repeat
Readln (f, s);
Writeln(s);
Until eof (f);
Close (f);
End.
‫ﺸﺭ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺡ‬//
‫ﺍﻻﻭل‬ ، ‫ﻤﺘﻐﻴﺭﻴﻥ‬ ‫ﺒﺘﻌﺭﻴﻑ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬f‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬text‫ﻭﺍﻟﺜﺎﻨﻲ‬
‫ﻤﺘﻐﻴﺭ‬s‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﺍﻻﻥ‬begin‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬ ،assign‫ﺍﻟﻤﻠﻑ‬romansy‫ﺒﺎﻟﻤﺘﻐﻴﺭ‬
f.
‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺒﻔﺘﺢ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬reset(f)‫ﺤﻠﻘﻪ‬ ‫ﺒﻌﺩﻫﺎ‬ ‫ﻭﺒﺩﺃ‬ ،repaet‫ﻤﻌﻨﺎﻫﺎ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻲ‬ ‫ﺒﺘﺨﺯﻴﻨﻪ‬ ‫ﻭﻴﻘﻭﻡ‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬s
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻭﻴﻘﻭﻡ‬s‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺜﻡ‬ ،Until eof(f);‫ﺒﺎﻟﺘﺤﻘﻕ‬ ‫ﻓﻴﻘﻭﻡ‬
‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬)‫ﻨﻬﺎﻴﺘﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻭﺼل‬ ‫ﻫل‬ ‫ﺍﻱ‬(‫ﻻ‬ ‫ﺍﻡ‬.
‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬)‫ﻭﺼل‬ ‫ﺍﻱ‬(‫ﻫﺫﻩ‬ ‫ﺒﺘﻜﺭﺍﺭ‬ ‫ﻓﻴﻘﻭﻡ‬ ‫ﻷ‬ ‫ﺍﺫﺍ‬ ، ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬
‫ﺍﻟ‬‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺘﺤﻘﻕ‬ ‫ﺤﺘﻰ‬ ‫ﺤﻠﻘﻪ‬)‫ﺍﻟﻤﻠﻑ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺍﻱ‬(.
PDF created with pdfFactory trial version www.pdffactory.com
151
‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻔﺎﺌﺩﻩ‬//‫ﺍﺨﺭﻩ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻭﻟﻪ‬ ‫ﻤﻥ‬ ‫ﻜﺎﻤﻼ‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻫﻰ‬
‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﻭﻁﺒﻌﺎ‬for‫ﻋﺩﺩ‬ ‫ﻻﻥ‬
‫ﻭﻫﻤﺎ‬ ، ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺍﻥ‬ ‫ﻓﻴﺠﺏ‬ ، ‫ﻤﻌﻠﻭﻡ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺴﻁﻭﺭ‬
repeat‫ﻭ‬while.
‫ﻴﺩﺨﻠﻪ‬ ‫ﺍﻟﺫﻱ‬ ‫ﻫﻭ‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﺴﻡ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺍﺩﺭﻨﺎ‬ ‫ﻟﻭ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬
‫ﻜﺎﺍﻻﺘﻲ‬ ‫ﺸﻜﻠﻪ‬ ‫ﻴﻜﻭﻥ‬ ، ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬/
Begin
Read (n);
Assign (f, n);
:
:
End.
‫ﺍﻟﻤﺘﻐﻴﺭ‬N‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻫﻭ‬string.
‫ﺠﺩﻴﺩ‬ ‫ﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﺩﺨل‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬)‫ﺍ‬‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ‫ﺍﺴﻡ‬ ‫ﺒﺎﻱ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻨﺸﺎﺀ‬ ‫ﻴﺘﻡ‬ ‫ﻱ‬
‫ﻋﻠﻴﻪ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺒﻌﺽ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺘﺘﻡ‬(.
Program ex2 (input, output);
Uses wincrt;
Var
F: text;
S, n: string;
Ch: char;
PDF created with pdfFactory trial version www.pdffactory.com
152
Begin
Read (n);
Assign (f, n);
Rewrite (f);
Repeat
Readln(s);
Writeln (f, s);
Ch: = readkey;
Until ch=#27
Close (f);
End.
‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬//
، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬F، ‫ﺍﻟﻨﺼﻲ‬ ‫ﻟﻠﻤﻠﻑ‬n‫ﻗﺒل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺩﺨل‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻻﺴﻡ‬
، ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬s‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺩﺨﻠﻪ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻟﻁﺒﺎﻋﻪ‬
‫ﺍﻟﻤﺘﻐﻴﺭ‬ch‫ﺤﺭﻓﻲ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬char‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬ ‫ﻋﻨﻪ‬ ‫ﺍﺘﻜﻠﻡ‬ ‫ﻭﺴﻭﻑ‬.
‫ﺒﺩﺃ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬n‫ﻭﻋﻴﻨﺎﻩ‬assign، ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻟﻰ‬
‫ﺒﺈﻨﺸﺎﻩ‬ ‫ﻭﻗﻤﻨﺎ‬rewrite.
‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻗﺭﺃ‬ ، ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺤﻠﻘﻪ‬ ‫ﺒﺩﺍﺕ‬ ‫ﺍﻻﻥ‬s)Readln(s);(‫ﻋﻠﻰ‬ ‫ﺍﻁﺒﻌﻪ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬
‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬)Writeln(f,s);(
‫ﻭ‬)Ch:= readkey;(‫ﺒﻬﺎ‬ ‫ﻴﻘﺼﺩ‬ ‫ﻤﺎﺫﺍ‬.......‫؟‬
PDF created with pdfFactory trial version www.pdffactory.com
153
‫ﻨﻌﺭﻑ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻭﻻ‬readkey‫ﻫﻭ‬‫ﻟﻘﺭﺍﺀﻩ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺩﺍﻟﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬)‫ﺍﻟﺤﺭﻑ‬
‫ﺍﻟﺭﻤﺯ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺭﻗﻡ‬ ‫ﺍﻭ‬(‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺩﺨل‬.
‫ﺒﺘﻌﻴﻨﻪ‬ ‫ﻭﻗﻤﻨﺎ‬)‫ﺍﺴﻨﺎﺩﻩ‬(‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﻰ‬ch.
‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﺘﻜﺭﺭ‬ ‫ﻭﺴﻭﻑ‬)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺍﻱ‬s‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﻭﻁﺒﺎﻋﺘﻪ‬(
‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺘﺤﻘﻕ‬ ‫ﺤﺘﻰ‬ch=#27‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺼﺒﺢ‬ ‫ﺍﻱ‬Ch‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﺴﺎﻭﻱ‬#27
‫ﺍﻟﻤﻔﺘﺎ‬ ‫ﻭﻤﻌﻨﺎﻩ‬‫ﺡ‬Esc‫ﺍﻟﻴﻤﻨﻰ‬ ‫ﺍﻟﺠﻬﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻔﺎﺘﻴﺢ‬ ‫ﻟﻭﺤﻪ‬ ‫ﺍﻋﻠﻰ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻭﺠﻭﺩ‬.
‫ﻤﻔﺘﺎﺡ‬ ‫ﻋﻠﻰ‬ ‫ﺒﺎﻟﻀﻐﻁ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺤﺘﻰ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬ ‫ﺫﻟﻙ‬ ‫ﻤﻌﻨﻰ‬
‫ﺍﻟﻬﺭﻭﺏ‬Esc.
‫ﺠﻤﻠﻪ‬append//
‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ، ‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻨﺸﺄ‬ ‫ﺍﻱ‬ ‫ﻗﺩﻴﻡ‬ ‫ﻟﻤﻠﻑ‬ ‫ﺍﻻﺴﻡ‬ ‫ﺒﻨﻔﺱ‬ ‫ﺠﺩﻴﺩ‬ ‫ﻤﻠﻑ‬ ‫ﺒﺎﻨﺸﺎﺀ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﺫﺍ‬
‫ﺍﻟﻤﻠﻑ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻜﺎﻓﻪ‬ ‫ﻤﺴﺢ‬ ‫ﻴﺘﻡ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺤﺎﻟﻪ‬‫ﺍﻟﻘﺩﻴﻡ‬.
‫ﺠﻤﻠﻪ‬ ‫ﺍﺫﺍ‬append‫ﻭﻴﺘﻡ‬ ، ‫ﻗﺩﻴﻡ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻟﻰ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﻻﻀﺎﻓﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬
‫ﺠﻤﻠﻪ‬ ‫ﺒﺩل‬ ‫ﻜﺘﺎﺒﺘﻬﺎ‬rewrite‫ﻻﺤﻅ‬:
Assign (f,’wajdy.txt’);
Append (f);
‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﻻﻀﺎﻓﻪ‬ ‫ﺍﻱ‬wajdy.txt
‫ﺩﺍﺨﻠﻴﻪ‬ ‫ﺫﺍﻜﺭﻩ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺘﺴﺘﺨﺩﻡ‬Buffer‫ﺍﻟ‬ ‫ﻟﺤﻔﻅ‬‫ﻭﺍﻟـ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬
buffer‫ﺍ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻋﺎﺩﻩ‬ ‫ﻤﺅﻗﺕ‬ ‫ﻤﻜﺎﻥ‬ ‫ﻫﻭ‬‫ﻓﻲ‬ ‫ﻤﺎ‬ ‫ﻤﻭﻗﻊ‬ ‫ﻓﻲ‬ ‫ﻤﺅﺸﺭ‬ ‫ﻭ‬
‫ﺍﻟﺫﺍﻜﺭﻩ‬.
PDF created with pdfFactory trial version www.pdffactory.com
154
‫ﺍﻟـ‬ ‫ﻴﺴﺘﺨﺩﻡ‬buffer‫ﺍﻭ‬ ‫ﻟﺘﺴﺭﻴﻊ‬cache، ‫ﻤﻠﻑ‬ ‫ﻻﻱ‬ ‫ﺍﻟﻜﺘﺎﺒﻪ‬ ‫ﺍﻭ‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﻋﻤﻠﻴﻪ‬
‫ﻭﺍﻟـ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺤﺘﻰ‬Buffer‫ﻟﻜﻨﻪ‬ ‫ﻤﻌﻴﻨﻪ‬ ‫ﻤﺴﺎﺤﻪ‬ ‫ﺍﻭ‬ ‫ﻜﻤﻴﻪ‬ ‫ﻟﻪ‬ ‫ﻤﻜﺎﻥ‬
‫ﺍﻤ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﻟﻠﻌﻤﻠﻴﺎﺕ‬ ‫ﻴﻜﻔﻲ‬‫ﺍﻟـ‬ ‫ﺍﻤﺘﻼﺀ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺎ‬buffer‫ﺒﺎﺴﻜﺎل‬ ‫ﺘﻘﻭﻡ‬
‫ﺒﻌﻤﻠﻴﻪ‬)‫ﺤﻔﻅ‬(flush‫ﺍﻟﻘﺭﺹ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺤﺘﻭﻴﺎﺕ‬.
‫ﺍﻟـ‬ ‫ﺍﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﺄﻜﺩ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺒﻌﺽ‬ ‫ﻓﻲ‬buffer‫ﺤﺩﻩ‬ ‫ﻴﺘﺠﺎﻭﺯ‬ ‫ﻻ‬
‫ﻟﻭ‬ ‫ﻤﺎﺫﺍ‬ ‫ﻟﻜﻥ‬ ‫ﻨﻌﻡ‬ ‫؟؟‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﻟﻠﻌﻤﻠﻴﺎﺕ‬ ‫ﻜﺎﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﻗﻠﺕ‬ ‫ﺍﻨﺕ‬ ، ‫ﻤﻬﻼ‬ ‫ﺍﻻﻗﺼﻰ‬
‫ﻤﻥ‬ ‫ﺴﺒﺏ‬ ‫ﻻﻱ‬ ‫ﺍﻟﺠﻬﺎﺯ‬ ‫ﺍﻨﻐﻠﻕ‬ ‫ﺍﻭ‬ ‫ﺍﻟﻜﻬﺭﺒﺎﺀ‬ ‫ﺍﻨﻘﻁﺕ‬‫ﺍﻻﺴﺒﺎﺏ‬‫ﻓﺈﻥ‬ ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬
‫ﺍﻟـ‬ ‫ﻤﺤﺘﻭﻴﺎﺕ‬ ‫ﻜل‬buffer‫ﻤﻨﺜﻭﺭﺍ‬ ‫ﻫﺒﺎﺀﺍ‬ ‫ﺘﻀﻴﻊ‬ ‫ﺴﻭﻑ‬‫ﻴﺠﺏ‬ ‫ﻟﺫﻟﻙ‬ ،‫ﺤﻔﻅ‬
flush‫ﺘﺭﻴﺩ‬ ‫ﻻ‬ ‫ﺍﻨﺕ‬ ، ‫ﺒﺄﻭل‬ ‫ﺍﻭل‬ ‫ﻴﺤﻔﻅ‬ ‫ﻻﻨﻪ‬ ‫ﻴﺩﻭﻱ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﻘﺭﺹ‬ ‫ﻤﺤﺘﻭﻴﺎﺕ‬
‫ﺒﻴﺎﻨﺎﺘﻲ‬ ‫ﻓﻘﺩﺕ‬ ‫ﻟﻘﺩ‬ ‫ﺍﺍﺍﺍﺍﺍﺍﺍﺍﺍﻩ‬ ‫ﻴﻘﻭل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺴﺘﺨﺩﻡ‬J
‫ﺤﻔﻅ‬‫ﺍﻟـ‬ ‫ﻤﺤﺘﻭﻴﺎﺕ‬Buffer‫ﺒﺎﻀﺎﻓﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻴﺩﻭﻱ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﻘﺭﺹ‬ ‫ﺍﻟﻰ‬‫ﺍﻟﺠﻤﻠﻪ‬
‫ﺍﻻﺘﻴﻪ‬/
Flush (f);
‫ﻴﻔﻀل‬ ‫ﻋﺎﺩﻩ‬ ‫ﻟﻜﻥ‬ ، ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻏﻼﻕ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﺒﻌﺩ‬ ‫ﻤﻜﺎﻥ‬ ‫ﻓﻲ‬ ‫ﻜﺘﺎﺒﺘﻪ‬ ‫ﻭﻴﻤﻜﻥ‬
‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻏﻼﻕ‬ ‫ﻗﺒل‬.
‫ﻴﺨﺘﻠﻑ‬ ‫ﻓﺎﻻﻤﺭ‬ ‫ﺍﻟﺜﻨﺎﺌﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺍﻤﺎ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﻫﺫﺍ‬)‫ﻭﺴﻭﻑ‬
‫ﻋﻨﻪ‬ ‫ﻨﺘﻜﻠﻡ‬‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬(.
‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺒﻌﺽ‬، ‫ﻤﻭﺠﻭﺩ‬ ‫ﻏﻴﺭ‬ ‫ﻟﻤﻠﻑ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺍﻭ‬ ‫ﻗﺭﺍﺀﻩ‬
‫ﻴﺼﺭﺥ‬ ‫ﺒﺎﺴﻜﺎل‬"Error"‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺜﻡ‬‫ﺍﻟﻰ‬ ‫ﻭﺍﻟﺭﺠﻭﻉ‬ ،
PDF created with pdfFactory trial version www.pdffactory.com
155
‫ﻭﻨﻭﻋﻪ‬ ‫ﺍﻟﺨﻁﺄ‬ ‫ﻋﻥ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻭﺍﻋﻁﺎﺌﻪ‬ ‫ﻟﻠﻤﺴﺘﺨﺩﻡ‬ ‫ﺍﺨﻁﺎﺭ‬ ‫ﺒﺩﻭﻥ‬ ، ‫ﺍﻟﻌﻤل‬ ‫ﺸﺎﺸﻪ‬
‫ﺫﻟﻙ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻤﺎ‬.
‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﻟﻤﻌﺎﻟﺠﻪ‬ ‫ﺭﻭﺘﻴﻨﺎ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻗﺩﻤﺕ‬ ‫ﻟﺫﻟﻙ‬error-handling‫ﺩﻋﻨﺎ‬ ،
‫ﻗﺭ‬ ‫ﻋﻥ‬ ‫ﻨﺸﺎﻫﺩﻩ‬‫ﺏ‬//
{$I-} ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﺍﻜﺘﺸﺎﻑ‬ ‫ﻋﻨﺩ‬ ‫ﺼﺎﻤﺘﻪ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﺠﻌل‬
: ‫ﺍﻟﻤﻠﻑ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬
{$I+} ‫ﻭﺠﺩ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﺨﻁﺄ‬ ‫ﻨﻭﻉ‬ ‫ﺘﻘﺭﺭ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﺠﻌل‬
‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺒﺎﻀﺎﻓﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﻭﺍﻜﺘﺸﺎﻑ‬IOResult‫ﺍ‬ ،‫ﻜﺎﻨﺕ‬ ‫ﺫﺍ‬
IOresult‫ﺼﻔﺭ‬ ‫ﺘﺴﺎﻭﻱ‬0‫ﺨﻁﺄ‬ ‫ﻻﻴﻭﺠﺩ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻩ‬.
‫ﻤﺜﺎل‬//
Program example (input,output);
Uses wincrt;
Var
F:text;
S:string;
Begin
Write (‘Enter the file name: ‘);
Readln(s);
Assign (f, s);
{$I-}
PDF created with pdfFactory trial version www.pdffactory.com
156
Reset (f);
{$I+}
If ioresult <> 0 then
Begin
Writeln (‘error while reading file’, s);
Halt;
End;
While not eof do
Begin
Readln (f, s);
Writeln(s);
End;
Flush (f);
Close (f);
End.
{$I-}‫ﻭ‬{$I+}‫ﺍﻟ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﺘﺢ‬ ‫ﺒﻴﻥ‬ ‫ﻋﺎﺩﻩ‬ ‫ﺘﻜﻭﻥ‬‫ﻤﺜﺎل‬‫ﺍﻟﺴﺎﺒﻕ‬‫ﻗﻡ‬ ،
‫ﻤﻌﺭﻓﺘﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﺘﺎﻜﺩ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﺠﺭﺒﻪ‬.
‫ﺍﻟـ‬ ‫ﺘﻀﻤﻴﻥ‬ ‫ﺍﻥ‬IOResult‫ﺍﻟﻤ‬ ‫ﻤﻥ‬ ، ‫ﺍﻟﺨﻁﺄ‬ ‫ﺭﻤﺯ‬ ‫ﺍﻋﺎﺩﻩ‬ ‫ﻓﻲ‬ ‫ﻴﺘﺴﺒﺏ‬‫ﻔﺘﺭ‬‫ﺍﻥ‬ ‫ﺽ‬
‫ﻨﻔﺭﺽ‬ ، ‫ﺍﻟﺨﻁﺄ‬ ‫ﺍﻜﺘﺸﻑ‬ ‫ﺜﻡ‬ ‫ﺍﻭﻻ‬ ‫ﻤﺤﺘﻭﻴﺎﺘﻪ‬ ‫ﺒﺤﻔﻅ‬ ‫ﺘﻘﻭﻡ‬n‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬
‫ﺍﻟﺤﻘﻴﻘﻲ‬integer.
‫ﺍﻟﻤﺜ‬ ‫ﺍﻟﻰ‬ ‫ﻨﺭﺠﻊ‬ ‫ﺍﻻﻥ‬‫ﺍﻟـ‬ ‫ﺒﻌﺩ‬ ‫ﻤﺎ‬ ‫ﺴﺄﻜﺘﺏ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺎل‬Begin‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬
PDF created with pdfFactory trial version www.pdffactory.com
157
:
{$I-}
Reset (F);
{$I+}
n:=IOResult;
If n<>0 then
Begin
Writeln ('Error encountered in reading file ', s);
Case n of
2: writeln ('File not found');
3: writeln ('Path not found');
4: writeln (‘too many open files');
5: writeln ('File access denied');
100: writeln ('Disk read error');
101: writeln ('Disk write error');
150: writeln ('Disk is writing protected');
152: writeln ('Drive is not ready');
154: writeln ('CRC error in data');
156: writeln ('Disk seeks error');
157: writeln ('Unknown media type');
162: writeln ('Hardware failure');
Else writeln (‘various error');
End;
Halt;
End;
PDF created with pdfFactory trial version www.pdffactory.com
158
‫ﻤﺴﺘﺨﺩﻡ‬ ‫ﺘﺨﺒﺭ‬ ‫ﻭﺍﻴﻀﺎ‬ ، ‫ﺍﻟﺸﺎﺌﻌﻪ‬ ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﺍﻏﻠﺏ‬ ‫ﺍﻜﺘﺸﺎﻑ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻫﻜﺫﺍ‬
، ‫ﺍﻟﺨﻁﺄ‬ ‫ﺭﺴﺎﻟﻪ‬ ‫ﻋﻠﻴﻪ‬ ‫ﻋﺎﺭﻀﺎ‬ ‫ﺒﺎﻟﺨﻁﺄ‬ ‫ﺒﺭﻨﺎﻤﺠﻙ‬‫ﺒﺭﺍﻤﺞ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻴﺠﺏ‬
‫ﺍﻨﺕ‬ ‫ﻟﻜﻥ‬ ‫ﻗﻠﻴﻼ‬ ‫ﻤﻀﺠﺭﻩ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻋﻠﻡ‬ ‫ﺍﻨﺎ‬ ، ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺍﻟﻁﺭﻴﻘﻪ‬ ‫ﺒﻬﺫﻩ‬
‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﺴﻬﻠﻪ‬ ‫ﺒﺭﺍﻤﺠﻙ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺘﺭﻴﺩ‬.
‫ﺍﻟﻤ‬‫ﺍﻟﺜﻨﺎﺌﻴﻪ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﻠﻔﺎﺕ‬Binary File
‫ﻫﻤﺎ‬ ‫ﺍﻟﺜﻨﺎﺌﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻋﻴﻥ‬ ‫ﻴﻭﺠﺩ‬/
*‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬Typed File
*‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬Untyped File
‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬Typed File‫ﻓﻲ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﺼﻴﻐﻪ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻥ‬ ‫ﺘﻌﻨﻲ‬
‫ﻻ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻗﻭﺍﻋﺩ‬ ‫ﻴﺘﻀﻤﻥ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬ ، ‫ﻤﺤﺘﻭﻴﺎﺘﻬﺎ‬ ‫ﺍﻨﺤﺎﺀ‬ ‫ﻜﺎﻓﻪ‬‫ﻤﺤﺘﻭﻴﺎﺘﻬﺎ‬ ‫ﻜل‬ ‫ﻥ‬
‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﺴﺠﻼﺕ‬)‫ﻤﻠﻔﺎﺕ‬ ‫ﺴﺠل‬(
‫ﻤﻁﺒﻭﻋﻪ‬ ‫ﺍﻟﻐﻴﺭ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬Untyped File‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﻻ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻥ‬ ‫ﺘﻌﻨﻲ‬
‫ﺘﺭﻜﻴﺒﺎ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻗﺩ‬ ‫ﺍﻀﺎﻓﻴﻪ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬ ، ‫ﻭﺍﺤﺩﻩ‬ ‫ﺼﻴﻐﻪ‬
‫ﻟﻠﺴﺠﻼﺕ‬ ‫ﻤﺨﺘﻠﻔﺎ‬.
‫ﺍﻭﻻ‬:Typed File
‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺴﺠل‬ ‫ﻋﺭﻓﺕ‬ ‫ﺒﺄﻨﻙ‬ ‫ﻟﻨﻔﺘﺭﺽ‬
Type
Data = record
PDF created with pdfFactory trial version www.pdffactory.com
159
Name: string [10];
Age: integer;
Tel: integer;
End;
Typed file‫ﺍﻟﺴﺠل‬ ‫ﻟﻬﺫﺍ‬)‫ﺍﻟﺴﺎﺒﻕ‬(‫ﺒﺎﻟﺸﻜل‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬
Var
F: file of data;
‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺴﻨﺘﺒﻌﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺨﻁﻭﺍﺕ‬ ‫ﺍﻻﻥ‬Typed File‫ﺘﺸﺒﻪ‬
‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺨﻁﻭﺍﺕ‬text file.
‫ﺒﺎﺴ‬ ‫ﻨﻘﻭﻡ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻨﺎﺩ‬F‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺒﺎﺴﻡ‬assign
‫ﺍﻟﻤﻠﻑ‬ ‫ﻟﻔﺘﺢ‬reset‫ﺠﺩﻴﺩ‬ ‫ﻤﻠﻑ‬ ‫ﻻﻨﺸﺎﺀ‬ ،rewrite
‫ﺘﻐﻴﺭ‬ ‫ﻴﺠﺏ‬writeln‫ﻭ‬readln‫ﺍﻟﻰ‬write‫ﻭ‬read
‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻏﻼﻕ‬close
‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﻤﻌﺎﻟﺠﻪ‬ ‫ﻁﺭﻕ‬ ‫ﻜل‬Erorr Handling‫ﻭ‬Ioresult‫ﻜﻤﺎ‬ ‫ﻴﺴﺘﺨﺩﻡ‬
‫ﻻ‬ ‫ﺩﺍﻋﻲ‬ ‫ﻭﻻ‬ ، ‫ﻫﻭ‬‫ﻋﺎﺩﻩ‬‫ﺫﻜﺭﻩ‬‫ﻤﺭﻩ‬‫ﺍﺨﺭﻯ‬.
‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺒﻴﻥ‬ ‫ﺍﻟﻔﺭﻕ‬text file‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﻭﺍﻟﻤﻠﻔﺎﺕ‬typed file
‫ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﻤﻠﻑ‬ ‫ﺒﻔﺘﺢ‬ ‫ﻗﻤﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻨﻙ‬ ‫ﻫﻭ‬reset‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﺍﻨﻙ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻻ‬ ‫ﻫﺫﺍ‬
‫ﻓﻘﻁ‬ ‫ﻤﻨﻪ‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬)‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬. (‫ﻭﺍﻴﻀﺎ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺒل‬
‫ﺘﻌﺩﻴﻠﻪ‬ ‫ﺍﻤﻜﺎﻨﻴﻪ‬.
Program example (input, output);
PDF created with pdfFactory trial version www.pdffactory.com
160
Uses wincrt;
Type
Data=record
Name: string;
Age: integer;
End;
Var
F: file of data;
D: data;
C: char;
S: string;
Begin
Write (‘Input File name: ‘);
Readln(s);
Assign (f, s);
Rewrite (f);
Repeat
Clrscr;
Write (‘Name= ‘); readln (d.name);
Write (‘Age = ‘); readln (d.age);
Write (f, d);
Write (‘Input New Data Y/N ‘);
Repeat
C: = upcase (readkey);
PDF created with pdfFactory trial version www.pdffactory.com
161
Until c in [‘Y’,’N’];
Write(c);
Until c=’N’;
Close (f);
End.
‫ﺒﻌﺩ‬ ‫ﻴﻜﺘﻤل‬ ‫ﻟﻡ‬.........
PDF created with pdfFactory trial version www.pdffactory.com
162
‫ﺍﻟﻴﻮﻡ‬‫ﺍ‬‫ﻋﺸﺮ‬ ‫ﻟﺜﺎﱐ‬
‫ﺍﶈﺠﻮﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬&‫ﺍﳊ‬ ‫ﺍﻟﺪﻭﺍﻝ‬‫ﺴﺎﺑﻴﻪ‬
‫ﻛﺬﻟﻚ‬ ‫ﺍﻟﻴﺲ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﰲ‬ ‫ﻣﱪﳎﺎ‬ ‫ﺍﺻﺒﺤﺖ‬ ، ‫ﺍﻟﺴﺎﺑﻘﻪ‬ ‫ﻟﻼﻳﺎﻡ‬ ‫ﺎﺋﻚ‬‫ﺍ‬ ‫ﺑﻌﺪ‬
)‫ﺫﻟﻚ‬ ‫ﺍﲤﲎ‬. (
‫ﱂ‬ ‫ﺍﻟﱴ‬ ‫ﺍﳌﻮﺍﺿﻴﻊ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻟﻜﻦ‬‫ﻋﻠﻰ‬ ‫ﻻﺧﺮ‬ ‫ﺍﻭ‬ ‫ﻟﺴﺒﺐ‬ ‫ﺍﺿﻌﻬﺎ‬
‫ﻟﻜﲎ‬ ، ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﰲ‬ ‫ﺍﶈﺠﻮﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬ ‫ﻧﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬ ‫ﺍﻟﻌﻤﻮﻡ‬
‫ﺍﻧﻚ‬ ‫ﺍﻋﺘﻘﺪ‬‫ﲨﻴﻌﺎ‬ ‫ﺗﻌﺮﻓﻬﺎ‬.
‫ﺍﳊ‬ ‫ﺍﻟﺪﻭﺍﻝ‬ ‫ﺑﻌﺾ‬ ‫ﻧﺄﺧﺬ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻳﻀﺎ‬‫ﺴﺎﺑﻴﻪ‬‫ﻋﻤﻞ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺣﺎﻟﻪ‬ ‫ﰲ‬ ‫ﺗﻔﻴﺪﻙ‬ ‫ﺍﻟﱴ‬
‫ﺭﻳﺎﺿﻴﻪ‬ ‫ﺑﺮﺍﻣﺞ‬.
PDF created with pdfFactory trial version www.pdffactory.com
163
‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬:
=-=-=-=-=-=
TOPACKEDIFDOWNTOAND
TYPEPROCEDUREINELSEARRY
UNTILPROGRAMLABELENDBEGIN
USESRECORDMODFILECASE
VARREPEATNOTFORCONST
WHILESETOFFUNCTIONDIV
WITHTHENORGOTODO
‫ﺍﻟ‬ ‫ﺍﻟﺩﻭﺍل‬‫ﺤﺴﺎﺒ‬‫ﻴﻪ‬:
=-=-=-=-=-=
‫ﺍﻟﺩﺍﻟﻪ‬‫ﺍﻟﻭﻅﻴﻔﻪ‬‫ﻤﺜﺎل‬‫ﺍﻟﻨﺎﺘﺞ‬
ABS‫ﻟﻠﻌﺩﺩ‬ ‫ﺍﻟﻤﻁﻠﻘﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺘﻌﻁﻲ‬ABS(-10);10
SQR‫ﻤﺭﺒﻊ‬ ‫ﺘﻌﻁﻲ‬‫ﺍﻟﻤﺩﺨل‬ ‫ﺍﻟﻌﺩﺩ‬SQR(5);25
SQRT‫ﻟﻠﻌﺩﺩ‬ ‫ﺍﻟﺘﺭﺒﻴﻌﻲ‬ ‫ﺍﻟﺠﺫﺭ‬ ‫ﺘﻌﻁﻲ‬SQRT(25);5
TRUNC‫ﺍﻟﻌﺩﺩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺸﺭﻱ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﺘﺤﺫﻑ‬TRUNC(2.55);2
ROUND‫ﺼﺤﻴﺢ‬ ‫ﻋﺩﺩ‬ ‫ﻻﻗﺭﺏ‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﺘﻘﺭﺏ‬ROUND(5.91);6
PDF created with pdfFactory trial version www.pdffactory.com
164
‫اﻟ‬‫ﻧ‬‫ـ‬‫ﮫ‬‫ـ‬‫ﺎﻳــــــﻪ‬
=-=-=-=-=-=-=
‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺬﺍ‬ ‫ﻓﻲ‬ ‫ﻣﻨﻬﺎ‬ ‫ﺍﺳﺘﻔﺪﺕ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺮﺍﺟﻊ‬:
‫ﺍﻻﺠﻨﺒ‬ ‫ﺍﻟﻜﺘﺏ‬‫ﻴﻪ‬
EssentialPascal‫ﻟﻠﻜﺎﺘﺏ‬Marco cantu
Introduction to Pascal‫ﻟﻠﻜﺎﺘﺏ‬Rob miles
M.F.Somers ‫ﻟﻠﻜﺎﺘﺏ‬ Learning PASCAL
PascalRevisedReport‫ﺍﻟﻠﻐﻪ‬ ‫ﻟﺼﺎﺤﺏ‬Wirth
The Basic of Pascal‫ﻟﻠﻜﺎﺘﺏ‬Roby Joehanes
‫ﺍ‬ ‫ﺍﻟﻜﺘﺏ‬‫ﻟﻌﺭﺒﻴﻪ‬
‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺘﻘﻴﻴﻡ‬ ‫ﻓﻲ‬ ‫ﻤﻌﺎﻴﻴﺭ‬‫ﻟﻠﻜﺎﺘﺏ‬‫ﻋﺭﻭﻩ‬
‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﻪ‬ ‫ﺍﻟﺩﺭﻭﺱ‬‫ﻟﻠﻜﺎﺘﺏ‬MaaSTaaR
‫ﻭﺍﻻﺠﻨﺒﻴﻪ‬ ‫ﺍﻟﻌﺭﺒﻴﻪ‬ ‫ﻟﻠﻤﻭﺍﻗﻊ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬
‫ﺍﻟﻌﺭﺒﻴﻪ‬ ‫ﺍﻟﻤﻭﺴﻭﻋﻪ‬‫ﺍﻟﻤﻭﻗﻊ‬www.c4arab.com
‫ﻟﻠﺒﺭﻤﺠﻪ‬ ‫ﺍﻟﻌﺭﺒﻲ‬ ‫ﺍﻟﻔﺭﻴﻕ‬‫ﺍﻟﻤﻭﻗﻊ‬www.arabteam2000.com
‫ﺍﻟـ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﻌﺩﻴﺩ‬Tutorial‫ﺍﻟﻤﻜﺎﻥ‬ ‫ﻴﺴﻊ‬ ‫ﻭﻻ‬ ‫ﺍﻻﻨﺘﺭﻨﺕ‬ ‫ﺍﻨﺤﺎﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻨﺘﺸﺭﻩ‬
‫ﺒﺎﻻﻨﺠﻠﻴﺯﻴﻪ‬ ‫ﺍﻏﻠﺒﻬﺎ‬ ‫ﺒﺄﻥ‬ ‫ﻋﻠﻤﺎ‬ ، ‫ﻟﻨﺸﺭﻫﺎ‬ ‫ﻫﻨﺎ‬.
PDF created with pdfFactory trial version www.pdffactory.com
165
‫ﺍﷲ‬ ‫ﺒﺤﻤﺩ‬ ‫ﺘﻡ‬
‫ﻭﺘﻌﺎﻟ‬ ‫ﺘﺒﺎﺭﻙ‬ ‫ﺍﷲ‬ ‫ﻨﺴﺄل‬‫ﻰ‬‫ﻟﻭﺠﻬﻪ‬ ‫ﺨﺎﻟﺼﺎ‬ ‫ﺍﻟﻌﻤل‬ ‫ﻫﺫﺍ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ،
‫ﺫﻟﻙ‬ ‫ﻭﻟﻲ‬ ‫ﺇﻨﻪ‬ ، ‫ﺒﺈﺫﻨﻪ‬ ‫ﻭﺘﺒﻠﻴﻐﻪ‬ ‫ﺘﻌﻠﻤﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻴﻌﻴﻨﻨﺎ‬ ‫ﻭﺃﻥ‬ ‫ﺍﻟﻜﺭﻴﻡ‬
‫ﻋﻠﻴﻪ‬ ‫ﻭﺍﻟﻘﺎﺩﺭ‬
‫ﻓﻤﻥ‬ ‫ﺼﻭﺍﺏ‬ ‫ﻤﻥ‬ ‫ﻜﺎﻥ‬ ‫ﺇﻥ‬ ، ‫ﻭﺃﺨﻴﺭﺍ‬‫ﺘﻌﺎﻟ‬ ‫ﺍﷲ‬‫ﻰ‬‫ﺨﻁﺄ‬ ‫ﻤﻥ‬ ‫ﻜﺎﻥ‬ ‫ﻭﺇﻥ‬ ،
‫ﻭﺍﻟﺸﻴﻁﺎﻥ‬ ‫ﺍﻨﻔﺴﻨﺎ‬ ‫ﻓﻤﻥ‬.
‫ﻭﺼﺤﺒﻪ‬ ‫ﺍﻟﻪ‬ ‫ﻭﻋﻠﻰ‬ ‫ﻤﺤﻤﺩ‬ ‫ﻨﺒﻴﻨﺎ‬ ‫ﻋﻠﻰ‬ ‫ﻭﺒﺎﺭﻙ‬ ‫ﻭﺴﻠﻡ‬ ‫ﺍﻟﻠﻬﻡ‬ ‫ﻭﺼﻠﻲ‬
‫ﺍﺠﻤﻌﻴﻥ‬.
‫ﺍﻟﻌﺎﻟﻤﻴﻥ‬ ‫ﺭﺏ‬ ‫ﷲ‬ ‫ﺍﻟﺤﻤﺩ‬ ‫ﺃﻥ‬ ‫ﺩﻋﻭﺍﻨﺎ‬ ‫ﻭﺍﺨﺭ‬.
‫ﻭﺒﺭﻜﺎﺘﻪ‬ ‫ﺍﷲ‬ ‫ﻭﺭﺤﻤﻪ‬ ‫ﻋﻠﻴﻜﻡ‬ ‫ﻭﺍﻟﺴﻼﻡ‬.
‫ﻋﺼﺎﻡ‬ ‫ﻭﺠﺩﻱ‬ ‫ﻟـ‬ ‫ﻤﺤﻔﻭﻅﻪ‬ ‫ﺍﻟﺤﻘﻭﻕ‬ ‫ﺠﻤﻴﻊ‬
All Copy Rigth is reseved to wajdy essam
‫ﺘﻡ‬‫ﺍﻟﺒﺩﺍﻴﻪ‬‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬‫ﺒﺘﺎﺭﻴﺦ‬3/7/2005‫ﺒﺘﺎﺭﻴﺦ‬ ‫ﻤﻨﻪ‬ ‫ﻭﺍﻻﻨﺘﻬﺎﺀ‬3/9/2005
PDF created with pdfFactory trial version www.pdffactory.com

More Related Content

PDF
Programming Field
PDF
Computer science lecture i hope u enjoy it
PDF
تميز مع اليجوال بيسك 6 الاصدار 2
PDF
مرجع في البرمجة بلغة الاسمبلي
PDF
Sec 1 in programming like programming fund
PPT
أساسيات البرمجة والحواسيب والخوارزميات وانظمة التشغيل
PDF
Coding review guide مراجعة الشيفرة البرمجية
PDF
تعلم فرونت بيج
Programming Field
Computer science lecture i hope u enjoy it
تميز مع اليجوال بيسك 6 الاصدار 2
مرجع في البرمجة بلغة الاسمبلي
Sec 1 in programming like programming fund
أساسيات البرمجة والحواسيب والخوارزميات وانظمة التشغيل
Coding review guide مراجعة الشيفرة البرمجية
تعلم فرونت بيج

Similar to Programming in pasca l (20)

PDF
شرح برنامج دريم ويفر.pdf
PDF
Ajax . net(arabic)
PDF
سيرة ذاتية بالعربي 2015
PDF
سيرة ذاتية بالعربي 2015
PDF
تاريخ الحاسب عام 2011
PDF
Arabic linux guide
PDF
موضوعات البيزيك المرئي دوت نت لتدريب المعينين الجـدد
PDF
امثلة متنوعة على الوحدات ما قبل النصفي
PDF
إدارة قواعد بيانات - قواعد بيانات على شبكة الإنترنت.pdf
PDF
الدليل-الإلكتروني-للآلة الحاسبة كاسيو .pdf
PDF
From screen to heart. How we convert the islamic Video clips to Brand?
PDF
PPT Chappqosjshuaykaollsuus 1311(مترجم).pdf
DOCX
Software engineering تلخيص
PPTX
Programming Engineering Lecture 10 Alaa.ppt
PPTX
SOFTWAER ENGINEERING AGILE DEVELOPMENT Ch3.pptx
PDF
Digital Components - Lecture 2: Computer System Architecture Notes
PPTX
CH01-1Object-Oriented Systems Development.pptx
PDF
مصطلحات المعلوماتية انكليزي-عربي
PPTX
تحليل وتصميم نظم المعلومات المحاسبية.pptx
PDF
Mendeley packet3
شرح برنامج دريم ويفر.pdf
Ajax . net(arabic)
سيرة ذاتية بالعربي 2015
سيرة ذاتية بالعربي 2015
تاريخ الحاسب عام 2011
Arabic linux guide
موضوعات البيزيك المرئي دوت نت لتدريب المعينين الجـدد
امثلة متنوعة على الوحدات ما قبل النصفي
إدارة قواعد بيانات - قواعد بيانات على شبكة الإنترنت.pdf
الدليل-الإلكتروني-للآلة الحاسبة كاسيو .pdf
From screen to heart. How we convert the islamic Video clips to Brand?
PPT Chappqosjshuaykaollsuus 1311(مترجم).pdf
Software engineering تلخيص
Programming Engineering Lecture 10 Alaa.ppt
SOFTWAER ENGINEERING AGILE DEVELOPMENT Ch3.pptx
Digital Components - Lecture 2: Computer System Architecture Notes
CH01-1Object-Oriented Systems Development.pptx
مصطلحات المعلوماتية انكليزي-عربي
تحليل وتصميم نظم المعلومات المحاسبية.pptx
Mendeley packet3
Ad

More from mohamednacim (20)

PDF
Networking
PDF
Perl tutorial
PDF
l'analyse financière
PDF
Mohasabamalia v2
PDF
المحاسبة المالية
PDF
الذكاء الإصطناعي
PDF
Introduction to oracle databases
PDF
PDF
بحث حول الأليياف البصرية
PDF
بحث حول الأليياف البصرية
PDF
التحليل الإحصائي للمتغيرات المتعددة باستخدام برنامج SPSS
PDF
التحليل الاحصائي Spss
PDF
Byt of ByteofPython arabic
PDF
maintenance informatique
DOC
Les bases du pc
PDF
الشامل في الشبكات
PDF
شبكات الكمبيوتر
PDF
Vba course
PDF
Introduction to oracle databases
PDF
La méthode Merise
Networking
Perl tutorial
l'analyse financière
Mohasabamalia v2
المحاسبة المالية
الذكاء الإصطناعي
Introduction to oracle databases
بحث حول الأليياف البصرية
بحث حول الأليياف البصرية
التحليل الإحصائي للمتغيرات المتعددة باستخدام برنامج SPSS
التحليل الاحصائي Spss
Byt of ByteofPython arabic
maintenance informatique
Les bases du pc
الشامل في الشبكات
شبكات الكمبيوتر
Vba course
Introduction to oracle databases
La méthode Merise
Ad

Recently uploaded (20)

PDF
Classroom Observation Tools for Teachers
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Pre independence Education in Inndia.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Cell Structure & Organelles in detailed.
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Cell Types and Its function , kingdom of life
PPTX
master seminar digital applications in india
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Lesson notes of climatology university.
PDF
Insiders guide to clinical Medicine.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Complications of Minimal Access Surgery at WLH
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
Classroom Observation Tools for Teachers
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPH.pptx obstetrics and gynecology in nursing
VCE English Exam - Section C Student Revision Booklet
Pre independence Education in Inndia.pdf
01-Introduction-to-Information-Management.pdf
Basic Mud Logging Guide for educational purpose
Cell Structure & Organelles in detailed.
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Cell Types and Its function , kingdom of life
master seminar digital applications in india
O5-L3 Freight Transport Ops (International) V1.pdf
Lesson notes of climatology university.
Insiders guide to clinical Medicine.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Complications of Minimal Access Surgery at WLH
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Renaissance Architecture: A Journey from Faith to Humanism

Programming in pasca l

  • 1. 1 PDF created with pdfFactory trial version www.pdffactory.com
  • 2. 2 ‫ﺍﻟﻤﺆﻟﻒ‬ ‫ﻛﻠﻤﻪ‬: ‫ﺍﻟﻬﺎﺌﻠﻪ‬ ‫ﻭﺍﻻﻋﺩﺍﺩ‬ ، ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺸﺩﻴﺩ‬ ‫ﺍﻟﺘﻁﻭﺭ‬ ‫ﺒﻌﺩ‬‫ﺍﻟﻁﻠﺒﻪ‬ ‫ﻤﻥ‬‫ﺘﺘﻌﻠﻡ‬ ‫ﺍﻥ‬ ‫ﺘﺤﺎﻭل‬ ‫ﺍﻟﺘﻰ‬ ‫ﻟﻬﻡ‬ ‫ﺍﻻﺴﻠﻡ‬ ‫ﺍﻟﺩﺭﺏ‬ ‫ﻓﻲ‬ ‫ﻴﺴﻴﺭﻭﺍ‬ ‫ﻟﻜﻲ‬ ‫ﻴﺴﻴﺭﺍ‬ ‫ﻭﻟﻭﺸﻴﺌﺎ‬،‫ﺘﻜﻥ‬ ‫ﻟﻡ‬ ‫ﺍﻥ‬ ‫ﺤﺘﻰ‬ ‫ﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﻪ‬ ‫ﻤﻥ‬ ‫ﻻﺒﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﻟﺠﺩﻴﺩ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﺒﻬﺎ‬ ‫ﻴﺒﺩﺃ‬ ‫ﻟﻜﻲ‬ ‫ﺍﻟﺠﺩﻴﺩﻩ‬ ‫ﺍﻟﺘﻘﻨﻴﺎﺕ‬ ‫ﺒﻤﺴﺘﻭﻯ‬‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻋﺎﻟﻡ‬ ‫ﻓﻲ‬. ‫ﻫﻨ‬ ‫ﻭﻤﻥ‬‫ﻋﻥ‬ ‫ﻴﺘﺤﺩﺙ‬ ‫ﻜﺘﺎﺏ‬ ‫ﺍﻨﺸﺎﺀ‬ ‫ﻓﻜﺭﻩ‬ ‫ﺒﺯﻏﺕ‬ ‫ﺎ‬‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﻠﻐﻪ‬ ‫ﺍﻟﺒﺭﻤﺞ‬،‫ﺍﻥ‬ ‫ﻴﻨﺩﺭ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻭﻗﺕ‬ ‫ﻓﻲ‬ ‫ﻋﻥ‬ ‫ﻴﺘﺤﺩﺙ‬ ‫ﻜﺘﺎﺒﺎ‬ ‫ﻨﺠﺩ‬‫ﺍﻟﻠﻐﻪ‬ ‫ﻫﺫﻩ‬‫ﺠﻴﺩ‬ ‫ﺒﺸﻜل‬. ‫ﺍﻟﺤﻘﻴﻘﻪ‬ ‫ﻓﻲ‬‫ﻟﻐﺔ‬ ‫ﻋﻥ‬ ‫ﺘﺘﺤﺩﺙ‬ ‫ﺍﻟﻜﺘﺏ‬ ‫ﻤﻥ‬ ‫ﻜﺜﻴﺭ‬، ‫ﺒﺎﺴﻜﺎل‬‫ﺘﺼﺒﺢ‬ ‫ﻜﻴﻑ‬ ‫ﻴﻌﻠﻤﻙ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻗﻠﻴل‬ ‫ﻟﻜﻥ‬ ‫ﻭ‬ ‫ﻤﺒﺭﻤﺠﺎ‬،‫ﺒﺄﻜﻭﺍ‬ ‫ﻤﻠﻲﺀ‬ ‫ﺍﻟﻜﺘﺏ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻥ‬ ‫ﻜﺜﻴﺭ‬‫ﺠﺩﺍ‬ ‫ﺴﻴﺌﺔ‬ ‫ﺩ‬،‫ﺴﻲﺀ‬ ‫ﺘﺼﻤﻴﻤﻬﺎ‬ ‫ﺍﻥ‬ ‫ﻨﺎﺤﻴﺔ‬ ‫ﻤﻥ‬ ‫ﺴﻴﺌﺔ‬،‫ﻭ‬ ‫ﺘﻌﻤل‬ ‫ﻻ‬ ‫ﺍﻨﻬﺎ‬ ‫ﻨﺎﺤﻴﺔ‬ ‫ﻤﻥ‬ ‫ﻟﻴﺱ‬. ، ‫ﺍﻟﻜﺘﺏ‬ ‫ﺍﻜﺜﺭ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻟﻤﻜﺭﺭﻩ‬ ‫ﻭﺍﻟﺘﻤﺎﺭﻴﻥ‬ ‫ﺍﻻﻤﺜﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﺘﺘﻭﻗﻊ‬ ‫ﻻ‬ ‫ﻟﺫﻟﻙ‬‫ﺍﺸﺭﺡ‬ ‫ﺍﻥ‬ ‫ﺍﺤﺏ‬ ‫ﻓﺄﻨﺎ‬ ‫ﻋﺎﻡ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻤﻨﻬﺎ‬ ‫ﺘﺘﻜﻭﻥ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﻻﻴﻌﺎﺯﺍﺕ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻓﻬﻡ‬ ‫ﺍﻱ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻤﻔﻬﻭﻡ‬،‫ﺸﺭﺡ‬ ‫ﺜﻡ‬ ‫ﺨﺎﺹ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬، ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﻤﻥ‬ ‫ﺨﺎﻟﻴﻪ‬ ‫ﺴﻠﻴﻤﻪ‬ ‫ﺠﻤل‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺤﻴﺙ‬ ‫ﻤﻥ‬‫ﺍﻟﺒﺩﻴﻠﻪ‬ ‫ﺍﻟﺨﻁﻭﺍﺕ‬ ‫ﻭﻤﺎ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻭﺍﻻﺤﺘﻤﺎﻻﺕ‬،‫ﺫﻟﻙ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻤﺎ‬ ‫ﺘﻔﺎﺩﻴﻬﺎ‬ ‫ﻭﻜﻴﻔﻴﻪ‬ ‫ﺍﻟﻨﺎﺘﺠﻪ‬ ‫ﻭﺍﻻﺨﻁﺎﺀ‬. ‫ﻟ‬‫ﺍﻟﻨﻅﺭﻱ‬ ‫ﺍﻟﺸﺭﺡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﺴﺘﺠﺩ‬ ‫ﺫﻟﻙ‬‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﻘﺒل‬ ‫ﻓﻲ‬ ‫ﻜﺒﻴﺭ‬ ‫ﺒﺸﻜل‬ ‫ﻴﻔﻴﺩﻙ‬ ‫ﺴﻭﻑ‬ ‫ﺼﺩﻗﻨﻲ‬ ‫ﻟﻜﻥ‬ ، ‫ﻭﺴﻠﻴ‬ ‫ﺼﺤﻴﺤﻪ‬ ‫ﺒﺼﻭﺭﻩ‬ ‫ﺒﺭﺍﻤﺞ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺤﺎل‬‫ﻤﻪ‬‫ﺍﻴﻀ‬ ،‫ﺎ‬‫ﻓﺴﻭﻑ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﺘﻐﻴﻴﺭ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﻴﻔﻴﺩﻙ‬. ‫ﻟﻠﺠﻤﻴﻊ‬ ‫ﻤﻭﻓﻘﻪ‬ ‫ﻭﺒﺭﻤﺠﻪ‬ ، ‫ﺍﻻﻭﻗﺎﺕ‬ ‫ﺍﺴﻌﺩ‬ ‫ﻟﻜﻡ‬ ‫ﺍﺘﻤﻨﻰ‬ ‫ﻋﻤﻭﻤﺎ‬،‫ﺍﷲ‬ ‫ﺒﺈﺫﻥ‬!! ‫ﺍﳌﺆﻟــــﻒ‬!! ‫ﺍﻟﺮﺣﻴﻢ‬ ‫ﻋﺒﺪ‬ ‫ﻋﺼﺎﻡ‬ ‫ﻭﺟﺪﻱ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 3. 3 ‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺬﺍ‬ ‫ﻗﺮﺍﺀﻩ‬ ‫ﻗﺒﻞ‬ ‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻫﺫﺍ‬،‫ﺩﻋﺕ‬ ‫ﻤﺘﻰ‬ ‫ﺘﻁﻭﻴﺭﻫﺎ‬ ‫،ﻭﺴﻴﺘﻡ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻨﺴﺨﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺍﻟ‬، ‫ﺫﻟﻙ‬ ‫ﺍﻟﻰ‬ ‫ﺤﺎﺠﻪ‬‫ﻟﻠﺤﺼﻭل‬‫ﻋﻠﻰ‬‫ﺁﺨﺭ‬‫ﻨﺴﺨﺔ‬‫ﻤﻥ‬‫ﻫﺫﺍ‬‫ﺍﻟﻜﺘﺎﺏ‬‫ﻗﻡ‬‫ﺒﻤﺭﺍﺴﻠﺘﻲ‬: com.hotmail@766_romansy. ‫ﻴﻤﻜﻨﻙ‬‫ﻁﺒﺎﻋﺔ‬‫ﻫﺫ‬‫ﺍ‬‫ﺍﻟﻜﺘﺎﺏ‬‫ﻟﻼﺴﺘﺨﺩﺍﻡ‬‫ﺍﻟﺸﺨﺼﻲ‬،‫ﻓﻘﻁ‬‫ﻭ‬‫ﻴﻤﻨﻊ‬‫ﺍﺴﺘﻐﻼﻟﻪ‬‫ﻓﻲ‬‫ﺃﻴﺔ‬‫ﺃﻤﻭﺭ‬ ‫ﺘﺠﺎﺭﻴﺔ‬‫ﺒﺩﻭﻥ‬‫ﺍﻹﺫﻥ‬‫ﺍﻟﺨﻁﻲ‬‫ﻤﻥ‬‫ﺍﻟﻤﺅﻟﻑ‬. ‫ﻓﻲ‬‫ﺤ‬‫ﺎﻟﺔ‬‫ﺒﺎﻥ‬‫ﻭﺠﺩﺕ‬‫ﺠﺯﺀ‬‫ﻤﻥ‬‫ﻫﺫﺍ‬‫ﺍﻟﻜﺘﺎﺏ‬‫ﻏﻴﺭ‬‫ﻭﺍﻀﺤﺔ‬‫ﺃﻭ‬‫ﺒﺤﺎﺠﺔ‬‫ﺇﻟﻰ‬‫ﺸﺭﺡ‬‫ﻤﻔﺼل‬ ‫ﻓﺒﺭﺠﺎﺀ‬‫ﺇﺨﺒﺎﺭﻱ‬‫ﺒﺫﻟﻙ‬‫ﻓﻭﺭﺍ‬‫ﻋﻠﻰ‬‫ﺒﺭﻴﺩﻱ‬،‫ﺍﻹﻟﻜﺘﺭﻭﻨﻲ‬‫ﺤﺘﻰ‬‫ﺃﺘﻤﻜﻥ‬‫ﻤﻥ‬‫ﺇﻀﺎﻓﺔ‬‫ﺍﻷﺠﺯﺍﺀ‬ ‫ﺍﻟﻨﺎﻗﺼﺔ‬‫ﺃﻭ‬‫ﺘﻭﻀﻴﺢ‬‫ﺍﻷﺠﺯﺍﺀ‬‫ﺍﻟﻐﻴﺭ‬‫ﻭﺍﻀﺤﺔ‬‫ﻓﻭﺭﺍ‬‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﻨﺴﺨﻪ‬ ‫ﻓﻲ‬ ‫ﻁﺒﻌﺎ‬ ،. ‫ﺍﻟﻜﺘﺎ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻜل‬‫ﺍﻟﻤﺅﻟﻑ‬ ‫ﺭﺃﻱ‬ ‫ﻋﻥ‬ ‫ﺘﻌﺒﺭ‬ ‫ﺏ‬‫ﻭﺠﺩﻱ‬‫ﻋﺼﺎﻡ‬‫ﻏﻴﺭ‬ ‫ﻭﻫﻭ‬ ، ‫ﻤﺴﺅ‬‫ﻭ‬‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻟﻬﺫﺍ‬ ‫ﺸﺭﻋﻲ‬ ‫ﻏﻴﺭ‬ ‫ﺍﺴﺘﻌﻤﺎل‬ ‫ﺃﻱ‬ ‫ﻋﻥ‬ ‫ﺘﻤﺎﻤﺎ‬ ‫ل‬. ‫ﺍﻟﻔﻨﻲ‬ ‫ﺍﻟﺩﻋﻡ‬ ‫ﻋﻠﻰ‬ ‫ﻟﻠﺤﺼﻭل‬:: ·‫ﺒﺎﻟﻤﺅﻟﻑ‬ ‫ﺍﻟﺨﺎﺹ‬ ‫ﺍﻟﻤﻨﺘﺩﻯ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﺘﺴﺠﻴل‬ ‫ﻗﻡ‬: tk.2005romansy.www ·‫ﺍﻻﺘﻴﻴﻥ‬ ‫ﺍﻟﺒﺭﻴﺩﻴﻥ‬ ‫ﺍﺤﺩ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺃﻭ‬:: com.hotmail@766_romansy com.hotmail@wajdyessam PDF created with pdfFactory trial version www.pdffactory.com
  • 4. 4 ‫ﺴﻁﻭﺭ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﻟﻑ‬// ، ‫ﻋﺼﺎﻡ‬ ‫ﻭﺠﺩﻱ‬‫ﺍﺸﺭﻑ‬‫ﺍﻟﻤﻬﺘ‬ ‫ﺍﻟﺴﺎﺤﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻋﻠﻰ‬‫ﻤ‬‫ﺒﺎﻻﻤﻥ‬ ‫ﻪ‬ ‫ﻭﺍﻟﺤﻤﺎ‬‫ﻭﺍﻟﺩﺭﻭﺱ‬ ‫ﺍﻟﻤﻘﺎﻻﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻟﻪ‬ ، ‫ﻴﻪ‬‫ﺍﻟﻤﻭﺍﻗﻊ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻌﻠﻤﻴﻪ‬ ‫ﻭﺍﻟﺴﺎﺤﺎﺕ‬‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺒﺭﻤﺠﻪ‬ ‫ﻤﻬﺘﻡ‬ ‫ﻫﻭ‬ ‫ﺤﺎﻟﻴﺎ‬ ،،‫ﺒﺩﺍ‬ ‫ﺤﺎﻟﻴﺎ‬‫ﻓﻲ‬‫ﻭﻴﺤﻠﻡ‬ ، ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﻭﺍﻟﻤﻔﺘﻭﺤﻪ‬ ‫ﺍﻟﻤﺨﺘﻠﻔﻪ‬ ‫ﺍﻻﻨﻅﻤﻪ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻘﺩﻡ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﻤﺯﻴﺩ‬‫ﺒ‬‫ﻟﻐﺘﻲ‬ ‫ﺘﻌﻠﻡ‬Delphi‫ﻭ‬ Assembly‫ﻫﻭ‬ ‫ﺍﻴﻀﺎ‬ ،‫ﻭﻴﺤﺎﻭل‬ ‫ﻭﺘﻁﻭﻴﺭﻫﺎ‬ ‫ﺍﻟﻤﻭﺍﻗﻊ‬ ‫ﺒﺒﺭﻤﺠﻪ‬ ‫ﻤﻬﺘﻡ‬ ‫ﻜـ‬ ‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﺘﻌﻠﻡ‬asp‫ﻭ‬html‫ﻭ‬xhtml‫ﻭ‬xml‫ﻭ‬css. ‫ﺍﻻﺴﻡ‬/‫ﺍﻟﺭﺤﻴﻡ‬ ‫ﻋﺒﺩ‬ ‫ﻋﺼﺎﻡ‬ ‫ﻭﺠﺩﻱ‬ ‫ﺍﻟﻠﻘﺏ‬/romansy ‫ﺍﻟ‬‫ﺒﻠﺩ‬/‫ﺍﻟﺴﻭﺩﺍﻥ‬ ‫ﺍﻻﻴﻤﻴل‬/com.hotmail@766_romansy WhtEver You Learn... You learn it for your self!! PDF created with pdfFactory trial version www.pdffactory.com
  • 5. 5 ))‫ﻤﺎﻋﻠﻤﺘﻨﺎ‬ ‫ﺍﻻ‬ ‫ﻟﻨﺎ‬ ‫ﻋﻠﻡ‬ ‫ﻻ‬ ‫ﺴﺒﺤﺎﻨﻙ‬ ‫ﺍﻟﺤﻜﻴﻡ‬ ‫ﺍﻟﻌﻠﻴﻡ‬ ‫ﺍﻨﺕ‬ ‫ﺍﻨﻙ‬(( ‫ﻜﺘﺎﺏ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﺯﺌﻴﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻨﺘﻬﺎﺀ‬ ‫ﺘﻡ‬ ، ‫ﻭﺭﻋﺎﻴﺘﻪ‬ ‫ﺍﷲ‬ ‫ﺒﻔﻀل‬)‫ﺒﻠﻐﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﺒﺎﺴﻜﺎل‬. (‫ﺍﻟﺤﻘﻴﻘﻪ‬ ‫ﻓﻲ‬ ‫ﻫﻲ‬ ‫ﻭﺍﻟﺘﻰ‬ ‫ﺍﻟﺒﺴﻴﻁﻪ‬ ‫ﺍﻟﺠﺯﺌﻴﻪ‬ ‫ﻫﺫﻩ‬‫ﺍﻫﻡ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﻟﻤﻭﺍﻀﻴﻊ‬ ‫ﺍﻟﺩﺭﻭﺱ‬‫ﻴﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺭﻴﺩ‬ ‫ﻤﺒﺭﻤﺞ‬ ‫ﻻﻱ‬ ‫ﺍﻟﺤﻘﻴﻘﻴﻪ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﺘﻌﺘﺒﺭ‬ ، ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻋﺎﻟﻡ‬ ‫ﻓﻲ‬ ‫ﺒﻘﻭﻩ‬ ‫ﺭﺠﻠﻪ‬‫ﺍﺼﺒﺤﺕ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺒﺎﻟﻠﻐﺎﺕ‬ ‫ﻤﻠﺊ‬ ‫ﺍﻟﻴﻭﻡ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻓﻌﺎﻟﻡ‬ ‫ﻤﻔﻬﻭﻡ‬ ‫ﺘﺸﺭﺡ‬ ‫ﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﻪ‬ ‫ﻤﻥ‬ ‫ﺒﺩ‬ ‫ﻻ‬ ‫ﻜﺎﻥ‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﺒﺎﻟﻴﻭﻤﻲ‬ ‫ﺍﺸﺒﻪ‬ ‫ﺒﺸﻜل‬ ‫ﺘﺘﻁﻭﺭ‬ ‫ﻟﻜﻥ‬ ، ‫ﻜﺫﻟﻙ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺍﻥ‬ ‫ﺼﺤﻴﺢ‬ ، ‫ﻟﻠﻤﺒﺭﻤﺞ‬ ‫ﺍﻟﺤﻘﻴﻘﻲ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﺼﻌﻭ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻔﺭﻕ‬‫ﺒﻌﺽ‬ ‫ﻋﻥ‬ ‫ﺒﻌﻀﻬﺎ‬ ‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﺒﻪ‬.‫ﻟﻐﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻻﺨﺘﻴﺎﺭ‬ ‫ﺘﻡ‬ ‫ﻟﺫﻟﻙ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﺨﻼل‬ ‫ﺘﻼﺤﻅﻭﻨﻬﺎ‬ ‫ﻭﺴﻭﻑ‬ ‫ﺴﻬﻭﻟﻪ‬ ‫ﻤﻥ‬ ‫ﺒﻪ‬ ‫ﺘﺘﻤﺘﻊ‬ ‫ﻟﻤﺎ‬ ‫ﻨﻅﺭﺍ‬ ‫ﺒﺎﺴﻜﺎل‬ ،‫ﺤﻴﻨﻬﺎ‬ ‫ﻓﻲ‬ ‫ﺴﺘﺘﻌﻠﻤﻬﺎ‬ ‫ﺍﻨﻙ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻻ‬ ‫ﻫﺫﺍ‬،‫ﺍﻴ‬ ‫ﻋﻤﻭﻤﺎ‬ ‫ﻓﺎﻟﻤﺒﺘﺩﺉ‬‫ﺎ‬‫ﻟﻐﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺒﺎﻟﺘﻘﻠ‬ ‫ﺘﺒﺩﺃ‬ ‫ﻭﺴﻭﻑ‬ ، ‫ﻭﺍﻟﻤﺸﺎﻜل‬ ‫ﺍﻟﺼﻌﻭﺒﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻴﻭﺍﺠﻪ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬‫ﺹ‬ ‫ﻭﺍﻟﻤﻭﺍﻀﻴﻊ‬ ‫ﺍﻟﺩﺭﻭﺱ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﻭﻗﺭﺍﺀﻩ‬ ‫ﺍﻟﺒﺭﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻤﻊ‬ ‫ﺘﺩﺭﻴﺠﻴﺎ‬. ‫ﻨﻅﺭﺍ‬ ، ‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﺸﻬﻭﺭ‬ ‫ﺨﻼل‬ ‫ﻓﻲ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ، ‫ﺍﻻﺨﺭ‬ ‫ﻟﻠﺠﺯﺀ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻤﺎ‬ ‫ﺍﻟﻨﻘﺎﻁ‬ ‫ﺒﻌﺽ‬ ‫ﻋﻥ‬ ‫ﺘﺘﻜﻠﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﻟﻤﺼﺎﺩﺭ‬ ‫ﺍﻟﻤﺭﺍﺠﻊ‬ ‫ﻭﻟﻘﻠﻪ‬ ، ‫ﻨﺎﺤﻴﻪ‬ ‫ﻤﻥ‬ ‫ﻟﺼﻌﻭﺒﺘﻪ‬. ‫ﺍﻟﺘﻨﻘل‬ ‫ﻴﺭﻴﺩﻭﻥ‬ ‫ﻟﻠﺫﻴﻥ‬ ‫ﻜﺎﻓﻲ‬ ‫ﻴﻌﺘﺒﺭ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻫﺫﺍ‬ ‫ﺍﻴﻀﺎ‬‫ﺍﺩﺭﺍﻜﻬﻡ‬ ‫ﻓﻭﺭ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻟﻐﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻓﻲ‬ ‫ﻴﺘﻌﻤﻘﻭﺍ‬ ‫ﺍﻥ‬ ‫ﻗﺭﺭﻭﺍ‬ ‫ﺍﻟﺫﻴﻥ‬ ‫ﻟﻼﺸﺨﺎﺹ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺠﺯﺀ‬ ‫ﺍﻟﺒﺭﻤﺠﻲ‬ ‫ﻟﻠﻤﻨﻁﻕ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻫﺫﻩ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 6. 6 ‫ﺗﻨﻮﯾــﮫ‬/ ‫ﺍﻟﻜﻠﻤﺎﺕ‬ ‫ﻟﺒﻌﺽ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬)‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﻓﻲ‬(‫ﺒﺎﻟﺨﻁ‬ ‫ﻤﻜﺘﻭﺒﻪ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺘﻼﺤﻅ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻌﺭﻴﺽ‬)B(‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻜﻠﻤﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻨﻬﺎ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻫﺫﺍ‬ ،‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬‫ﻋﻨﺩ‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﻫﺫﻩ‬ ‫ﻜﺘﺎﺒﺔ‬‫ﺴﻭ‬ ‫ﺍﻟﺒﺎﺴﻜﺎل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬‫ﺒﺎﻟﺨﻁ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺘﻼﺤﻅ‬ ‫ﻑ‬ ‫ﺍﻟﻌﺭﻴﺽ‬. ‫ﺒﻌﺩ‬ ‫ﻤﺎ‬ ‫ﻜﺘﺎﺒﺔ‬ ‫ﻋﻠﻰ‬ ‫ﻓﻘﻁ‬ ‫ﺍﻗﺘﺼﺭ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺒﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻜﺘﺎﺒﺔ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻜﻠﻤﻪ‬begin‫ﻜﺎﻤﻼ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻜﺘﺎﺒﻪ‬ ‫ﻨﺘﻁﺭﻕ‬ ‫ﻭﻟﻥ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬)‫ﻓﻲ‬ ‫ﺍﻻ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺒﻌﺽ‬(‫ﻜﺘﺎﺘ‬ ‫ﻻﻥ‬ ‫ﻨﻅﺭﺍ‬‫ﺒ‬‫ﻋﺸ‬ ‫ﺯﻴﺎﺩﻩ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺅﺩﻱ‬ ‫ﻜﺎﻤﻠﻪ‬ ‫ﻬﺎ‬‫ﻴﻜﻥ‬ ‫ﻟﻡ‬ ‫ﺍﻥ‬ ‫ﺭﺍﺕ‬ ‫ﻓﺎﺌﺩﻩ‬ ‫ﺒﻼ‬ ‫ﺍﻟﺼﻔﺤﺎﺕ‬ ‫ﻤﺌﺎﺕ‬. ‫ﻜﻠﻤﻪ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻴﻀﺎ‬Block‫ﺒﺩﺍﻴﻪ‬ ‫ﺘﻌﻨﻲ‬ ‫ﻭﻫﻲ‬begin‫ﻭﻨﻬﺎﻴﻪ‬end ‫ﺍﻟـ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﺄﻱ‬block‫ﻭﻫﻭ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬begin‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻭﻫﻲ‬ ‫ﻨﻬﺎﻴﺘﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺒﻌﺩ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬end.‫ﻗﺩ‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﺠﻤل‬ ‫ﺒﻌﺽ‬ ‫ﺘﺤﺘﻭﻱ‬‫ﻋﻠﻰ‬Block‫ﺠﻤل‬ ‫ﻤﺜل‬ ‫ﺒﻬﺎ‬ ‫ﺨﺎﺹ‬)if‫ﻭ‬case‫ﻭ‬ for..‫ﺍﻟﺦ‬(‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﺩﺭﻭﺱ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﺘﻔﺼﻴل‬ ‫ﺍﻟﺠﻤل‬ ‫ﻫﺫﻩ‬ ‫ﺫﻜﺭ‬ ‫ﻴﺘﻡ‬ ‫ﻭﺴﻭﻑ‬. ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻫﻲ‬ ، ‫ﺍﻟﺘﻌﻠﻡ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻁﺭﻕ‬ ‫ﺍﻓﻀل‬ ‫ﻤﻥ‬.‫ﻨﺴﺦ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﺤﺫﺭ‬ ‫ﺠﺩﺍ‬ ‫ﺨﺎﻁﺌﻪ‬ ‫ﻁﺭﻴﻘﻪ‬ ‫ﻓﺈﻨﻬﺎ‬ ‫ﻭﻟﺼﻘﻬﺎ‬ ‫ﺍﻻﻜﻭﺍﺩ‬.‫ﺜﻡ‬ ‫ﻭﻓﻬﻤﻬﺎ‬ ‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﺍﻋﺎﺩﻩ‬‫ﺍﻟﺘﻁﻭﻴﺭ‬ ‫ﺒﻴﺌﻪ‬ ‫ﻓﻲ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬. ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺘﻡ‬ ‫ﺍﻴﻀﺎ‬word‫ﺍﻟﻰ‬ ‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﻨﺴﺦ‬ ‫ﻤﺤﺎﻭﻟﻪ‬ ‫ﻋﻨﺩ‬ ‫ﻟﺫﻟﻙ‬ ‫ﻗﺭﺍﺌﺘﻪ‬ ‫ﺘﺼﻌﺏ‬ ‫ﻭﺒﺸﻜل‬ ‫ﻤﺭﺘﺒﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺘﺠﺩﻫﺎ‬ ‫ﺴﻭﻑ‬ ، ‫ﺍﻟﺘﻁﻭﻴﺭ‬ ‫ﺒﻴﺌﻪ‬.‫ﻗﻠﻨﺎ‬ ‫ﻜﻤﺎ‬ ‫ﻟﺫﻟﻙ‬ ‫ﺍﻻﻜﻭﺍﺩ‬ ‫ﺒﻨﺴﺦ‬ ‫ﺘﻘﻡ‬ ‫ﻻ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 7. 7 ‫ﺍﻻﻭﻝ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻣﱪﳎ‬ ‫ﻟﺘﺼﺒﺢ‬ ‫ﺭﺣﻠﺘﻚ‬ ‫ﺳﺘﺒﺪﺃ‬ ‫ﺍﻟﻴﻮﻡ‬ ، ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻋﺎﱂ‬ ‫ﰲ‬ ‫ﺑﻚ‬ ‫ﻣﺮﺣﺒﺎ‬‫ﰲ‬ ‫ﺧﺒﲑﺍ‬ ‫ﺎ‬ ‫ﺍﷲ‬ ‫ﺑﺈﺫﻥ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬. ‫ﺍﳌ‬ ‫ﺑﻌﺾ‬ ‫ﺗﻌﺮﻑ‬ ‫ﻭﺳﻮﻑ‬‫ﻌﻠ‬‫ﺍﻟﻨﻈﺮﻳﻪ‬ ‫ﻮﻣﺎﺕ‬‫ﻣﻜﺘﺸﻔﻬﺎ‬ ‫ﻫﻮ‬ ‫ﻭﻣﻦ‬ ، ‫ﺍﻟﻠﻐﻪ‬ ‫ﻛﻨﺸﺄﻩ‬ ‫ﻭﻣﻄﻮﺭﻫﺎ‬.‫ﺍﳍﻴﻜﻠﻴﻪ‬ ‫ﺍﻟﱪﳎﻪ‬ ‫ﺣﻮﻝ‬ ‫ﺍﻟﻨﻈﺮﻳﻪ‬ ‫ﺍﳌﻌﻠﻮﻣﺎﺕ‬ ‫ﺑﻌﺾ‬ ‫ﺍﻳﻀﺎ‬. ‫ﻛﻴﻔﻴﻪ‬ ‫ﺗﻌﻠﻤﻚ‬ ‫ﺧﻼﻝ‬ ‫ﻣﻦ‬ ‫ﻭﺫﻟﻚ‬ ، ‫ﺍﻟﱪﳎﻪ‬ ‫ﰲ‬ ‫ﺍﻻﻭﱃ‬ ‫ﺍﳋﻄﻮﻩ‬ ‫ﺗﺒﺪﺃ‬ ‫ﻭﺳﻮﻑ‬ ‫ﺍﻟﺘﻌﺎﻣﻞ‬ ‫ﻭﻛﻴﻔﻴﻪ‬ ، ‫ﺍﻟﱪﻧﺎﻣﺞ‬ ‫ﺍﱃ‬ ‫ﺍﻟﻮﺻﻮﻝ‬‫ﻭﺗﻨﻔﻴﺬﻫﺎ‬ ، ‫ﺍﻟﱪﺍﻣﺞ‬ ‫ﻭﺗﺮﲨﻪ‬ ‫ﻣﻌﻪ‬. ‫ﻳﻘﺎﻝ‬ ‫ﻭﻛﻤﺎ‬ ‫ﲞﻄﻮﻩ‬ ‫ﻳﺒﺪﺃ‬ ‫ﻣﻴﻞ‬ ‫ﺍﻻﻟﻒ‬ ‫ﻣﺸﻮﺍﺭ‬. ‫ﺑﺎﻟﺘﻮﻓﻴﻖ‬! PDF created with pdfFactory trial version www.pdffactory.com
  • 8. 8 ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺘﺎﺭﻴﺦ‬: ‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﻠﻴﺯ‬ ‫ﺍﻟﻔﺭﻨﺴﻲ‬ ‫ﻭﺍﻟﻔﻴﻠﺴﻭﻑ‬ ‫ﺍﻟﺭﻴﺎﻀﻲ‬ ‫ﻗﺼﺔ‬ ‫ﺘﻌﻭﺩ‬Blaise Pascal‫ﺇﻟﻰ‬ ‫ﻤﻴﻼﺩﻱ‬ ‫ﻋﺸﺭ‬ ‫ﺍﻟﺴﺎﺩﺱ‬ ‫ﺍﻟﻘﺭﻥ‬ ‫ﻤﻨﺘﺼﻑ‬‫ﻋﺎﻡ‬1642‫ﻭﺍﻟﺫﻱ‬ ‫ﺍﻟﺸﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﺃﻥ‬ ‫ﺤﻴﺙ‬ ‫ﻡ‬ ‫ﺭﺒ‬ ‫ﻋﺸﺭ‬ ‫ﺍﻟﺜﺎﻤﻨﺔ‬ ‫ﻴﺒﻠﻎ‬ ‫ﻜﺎﻥ‬‫ﺍﻟﻌﺒﻘﺭﻴ‬ ‫ﺒﻭﺍﺩﺭ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﻟﺫﻱ‬ ‫ﻴﻌﺎ‬‫ﺠﻠﻴﻪ‬ ‫ﺘﺒﺩﻭ‬ ‫ﻭﺍﻻﺨﺘﺭﺍﻉ‬ ‫ﺔ‬ ‫ﻤﻭﻟﻌﺎ‬ ‫ﺍﻟﺭﻴﺎﻀﻴﺎﺕ‬ ‫ﻋﻠﻡ‬ ‫ﻓﻲ‬ ‫ﺍﻹﺒﺩﺍﻉ‬ ‫ﺸﺩﻴﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺃﻨﻪ‬ ‫ﻭﺤﻴﺙ‬ ‫ﺃﻋﻤﺎﻟﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺒﺎﻻﻜﺘﺸﺎﻓﺎﺕ‬‫ﺍﻟﺭﻴﺎﻀﻴﺔ‬ ‫ﺍﻟﻨﻅﺭﻴﺎﺕ‬ ‫ﻭﺘﻁﺒﻴﻕ‬ ‫ﺍﻟﻌﻠﻤﻴﺔ‬. ‫ﺒﺎﺴﻤﻪ‬ ‫ﻭﺴﻤﻲ‬ ‫ﺁﻟﻲ‬ ‫ﻨﺼﻑ‬ ‫ﺤﺎﺴﺏ‬ ‫ﺃﻭل‬ ‫ﺍﺨﺘﺭﻉ‬ ‫ﺍﻟﺴﻨﻪ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻔﻲ‬)‫ﺒﺎﺴﻜﺎل‬ ‫ﺤﺎﺴﺏ‬ 1642(‫ﻭﻫﻭ‬ ‫ﺃﺴﺎﺴﻲ‬ ‫ﻟﺴﺒﺏ‬ ‫ﺫﻟﻙ‬ ‫ﻭﻜﺎﻥ‬ ،‫ﻤﺴﺎ‬‫ﻓﻲ‬ ‫ﻴﻌﻤل‬ ‫ﻜﺎﻥ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺃﺒﻴﻪ‬ ‫ﻋﺩﻩ‬ ‫ﻤﺴﺘﺨﺩﻤﺎ‬ ‫ﻟﻴﺎﻟﻴﻪ‬ ‫ﻤﻌﻅﻡ‬ ‫ﻴﻘﻀﻲ‬ ‫ﻜﺎﻥ‬ ‫ﻭﺍﻟﺫﻱ‬ ‫ﻟﻠﻔﻭﺍﺘﻴﺭ‬ ‫ﻤﺤﺼﻼ‬ ‫ﺍﻟﻀﺭﺍﺌﺏ‬ ‫ﻤﺅﺴﺴﺔ‬ ‫ﺍﻟﻴﺩﻭﻱ‬ ‫ﺍﻟﻌﺩ‬‫ﻭ‬ ‫ﺤﺼﻠﻬﺎ‬ ‫ﺍﻟﺘﻲ‬ ‫ﺍﻟﻤﺒﺎﻟﻎ‬ ‫ﺤﺴﺎﺒﺎﺕ‬ ‫ﻭﺘﺩﻗﻴﻕ‬ ‫ﺇﺤﺼﺎﺀ‬ ‫ﻓﻲ‬‫ﻴﺸﻜل‬ ‫ﻜﺎﻥ‬ ‫ﻗﺩ‬ ‫ﻭﺒﺎﻟﺘﺎﻟﻲ‬ ، ‫ﻟﻌﺎﺌﻠﺘﻪ‬ ‫ﺇﺭﺒﺎﻜﺎ‬ ‫ﺍﻟﺤﺴﺎﺏ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﻁﻲﺀ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬‫ﺍﻟﻭﻗﺕ‬ ‫ﻤﻨﻪ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻟﻜﺒﻴﺭ‬. ‫ﺍﻟﻤ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺤﺎﺴﺏ‬ ‫ﻴﺘﻜﻭﻥ‬‫ﺍﻹﻁﺎﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻤﺘﺘﺎﻟﻴﺔ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻤﻥ‬ ‫ﻴﻜﺎﻨﻴﻜﻲ‬ )‫ﺍﻷﻗﺭﺍﺹ‬(‫ﺇﻟﻰ‬ ‫ﺍﻟﺼﻔﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺭﻗﻤﺔ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻜل‬‫ﺍﻹﻁﺎﺭﺍﺕ‬ ‫ﻫﺫﻩ‬ ، ‫ﺍﻟﺘﺴﻌﺔ‬ ‫ﺇﺩﺍﺭﺘﻬﺎ‬ ‫ﻭﻴﺘﻡ‬ ‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺇﻟﻰ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﺍﻟﻤﺴﺠﻠﺔ‬ ‫ﺍﻷﺭﻗﺎﻡ‬ ‫ﺘﻘﺭﺃ‬ ‫ﺒﺤﻴﺙ‬ ‫ﻤﺭﺘﺒﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻴﺩﻭﻴﺎ‬‫ﺇﻟﻰ‬ ‫ﺍﻟﺼﻔﺭ‬ ‫ﻤﻥ‬ ‫ﺩﻭﺭﺘﻪ‬ ‫ﺍﻷﻗﺭﺍﺹ‬ ‫ﻫﺫﻩ‬ ‫ﺃﺤﺩ‬ ‫ﻴﺘﻡ‬ ‫ﻓﻌﻨﺩﻤﺎ‬ ، ‫ﺍﻟﺫﺭﺍﻉ‬ ‫ﻓﺈﻥ‬ ‫ﺍﻟﺘﺴﻊ‬‫ﺍﻟﺭﻗﻡ‬ ‫ﻨﺘﻭﺀ‬9‫ﺭﻗﻤﺎ‬ ‫ﻟﻪ‬ ‫ﺍﻟﻤﺠﺎﻭﺭﺓ‬ ‫ﺍﻟﻁﺎﺭﺓ‬ ‫ﻴﺩﻓﻊ‬‫ﺃﻱ‬ ‫ﺫﻟﻙ‬ ‫ﻭﻋﻨﺩ‬ ‫ﻭﺍﺤﺩﺍ‬ ‫ﻤﺘﺘﺎﻟﻴﺔ‬ ‫ﻤﻭﺍﻗﻊ‬ ‫ﺘﺴﻌﺔ‬ ‫ﺍﻷﻭﻟﻰ‬ ‫ﺍﻟﻁﺎﺭﺓ‬ ‫ﺩﻭﺭﺓ‬)‫ﻜﺎﻤﻠﺔ‬ ‫ﺩﻭﺭﻩ‬(‫ﺍﻟﻁﺎﺭﺓ‬ ‫ﺘﺩﻓﻊ‬ ‫ﻓﺈﻨﻬﺎ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬ ‫ﻟﻬﺎ‬ ‫ﺍﻟﺘﺎﻟﻴﺔ‬‫ﺘﺴﺠﻴل‬ ‫ﻴﺘﻡ‬ ‫ﺤﺘﻰ‬ ‫ﻭﻫﻜﺫﺍ‬ ‫ﻭﺍﺤﺩﺍ‬ ‫ﻤﻭﻗﻌﺎ‬‫ﺍﻟﻌﺩﺩ‬.‫ﻭﺒﻬﺫﻩ‬ ‫ﺃﻤﺎ‬ ‫ﻭﺍﻟﻁﺭﺡ‬ ‫ﺍﻟﺠﻤﻊ‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﺇﺠﺭﺍﺀ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻭﺍﻟﺩ‬ ‫ﺍﺴﺘﻁﺎﻉ‬ ‫ﺍﻟﻁﺭﻴﻘﺔ‬‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﺒﺘﻜﺭﺍﺭ‬ ‫ﻓﺘﺘﻡ‬ ‫ﻭﺍﻟﻘﺴﻤﺔ‬ ‫ﺍﻟﻀﺭﺏ‬‫ﻤﺘﻌﺩﺩﺓ‬ ‫ﻤﺭﺍﺕ‬ ‫ﻭﺍﻟﻁﺭﺡ‬ ‫ﺍﻟﺠﻤﻊ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 9. 9 ‫ﺍﻟﻠﻐﻪ‬ ‫ﺒﺩﺍﻴﻪ‬: ‫ﺍﻨﺸﺌﺕ‬ ‫ﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺔ‬ ‫ﺒﺎﺴﻜﺎل‬‫ﺒﻭﺍﺴﻁﺔ‬‫ﺍﻟﺒﺭﻭﻓﻴﺴﻭﺭ‬Niklaus Wirth‫ﻋﺎﻡ‬ ‫ﻓﻲ‬ 1970.‫ﺍﺴﻤﻬﺎ‬ ‫ﻜﺎﻥ‬‫ﺴﺎﺒﻘﺎ‬،‫ﺍﻟﻰ‬ ‫ﻨﺴﺒﻪ‬‫ﻋﺎﻟﻡ‬‫ﺍﻟﻤﺸﻬﻭﺭ‬ ‫ﺍﻟﻔﺭﻨﺴﻲ‬ ‫ﺍﻟﺭﻴﺎﻀﻴﺎﺕ‬ Blaise Pascal.‫ﺍ‬ ‫ﻟﺘﻌﻠﻴﻡ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺼﻨﻌﺕ‬ ‫ﻟﻘﺩ‬‫ﺜﻘﻪ‬ ‫ﻤﺤل‬ ‫ﺘﻜﻭﻥ‬ ‫ﻭﻟﻜﻲ‬ ‫ﻟﺒﺭﻤﺠﻪ‬ ‫ﻟ‬‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬ ‫ﺩﻯ‬.‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺔ‬ ‫ﺍﺼﺒﺤﺕ‬ ‫ﻗﺩ‬ ‫ﺍﻟﻭﻗﺕ‬ ‫ﺫﻟﻙ‬ ‫ﻤﻨﺫ‬ ‫ﺍﻴﻀﺎ‬ ‫ﹰ‬‫ﺎ‬‫ﺘﺠﺎﺭﻴ‬ ‫ﺍﺴﺘﺨﺩﻤﺕ‬ ‫ﹼﻬﺎ‬‫ﻨ‬‫ﻟﻜ‬ ‫ﻭ‬ ‫ﺍﻜﺎﺩﻴﻤﻴﻪ‬ ‫ﻟﻐﻪ‬ ‫ﻓﻘﻁ‬ ‫ﺍﻨﻬﺎ‬‫ﻟﻐﻪ‬ ‫ﻤﻨﻬﺞ‬ ‫ﻗﺭﺭ‬ ‫ﻭﻗﺩ‬ ، ، ‫ﺍﻟﺩﻭل‬ ‫ﻤﺨﺘﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺠﺎﻤﻌﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻓﻲ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬: ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻴﻭﺠﺩ‬‫ﻋ‬ ‫ﺘﻌﻤل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﺎﺕ‬‫ﺒﺎﺴﻜﺎل‬ ‫ﻠﻰ‬‫ﺍﺸﻬﺭﻫﺎ‬ ‫ﻭﻤﻥ‬ ،‫ﺍﻟـ‬Free Pascal‫ﺍﻟﺒﻭﺭﻻﻨﺩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻴﻀﺎ‬Borland Pascal،‫ﺍﻟﺘﺭﺒﻭ‬ ‫ﺍﻟﻨﺴﺨﻪ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﺴﻨﺘﻌﻤﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﻫﻰ‬Turbo Pascal،‫ﻨﺴﺨﻪ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻭﻫﻨﺎﻙ‬ ‫ﻤﺎﻴﻜﺭﻭﺴﻭﻓﺕ‬ ‫ﺸﺭﻜﻪ‬ ‫ﻤﻥ‬‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻭﺍﻟﻌﺩﻴﺩ‬ ،. ‫ﺍﻟﻤ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻴﻪ‬ ‫ﺘﺨﺘﻠﻑ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻭﺤﻴﺩ‬ ‫ﺍﻟﺸﺊ‬‫ﻜﺘﺎ‬ ‫ﻓﻲ‬ ‫ﻫﻲ‬ ‫ﺘﺭﺠﻤﺎﺕ‬، ‫ﺍﻟﺩﻭﺍل‬ ‫ﺒﻌﺽ‬ ‫ﺒﻪ‬ ‫ﺘﻨﻔﻴﺫﻫﺎ‬ ‫ﻭﻁﺭﻕ‬‫ﻜل‬ ،‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﻭﺩﻭﺍﻟﻪ‬ ‫ﻤﻜﺘﺒﺎﺘﻪ‬ ‫ﻟﻪ‬ ‫ﻤﺘﺭﺠﻡ‬.‫ﺍﻟﺒﺭﻤﺠﻴﻪ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﻟﻜﻥ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﺎﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻨﻔﺴﻬﺎ‬ ‫ﻫﻰ‬‫ﻓﻘﻁ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻭﻟﻴﺱ‬‫ﻟﻐﺎﺕ‬ ‫ﻟﺠﻤﻴﻊ‬ ‫ﻭﺒﺎﻻﺼﺢ‬ ‫ﻻﺨﺭ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﻜﻭﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻁﺭﻕ‬ ‫ﺍﺨﺘﻠﻘﺕ‬ ‫ﻭﺍﻥ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﺍﻟﺒﺭﻤﺠﻴﻪ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﺍﻟﺒﺭﻤﺤﻪ‬، ‫ﻭﺍﺤﺩ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﺍﻟﻨﻬﺎﻴﻪ‬ ‫ﻓﻲ‬ ‫ﻟﻜﻥ‬. ‫ﻟﺫﻟﻙ‬‫ﻟﻠﻐﺘﻪ‬ ‫ﺍﻟﻤﺘﻘﻥ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﺍﻨﺘﻘﺎل‬ ‫ﻋﻨﺩ‬، ‫ﻻﺨﺭﻯ‬ ‫ﻟﻐﻪ‬ ‫ﺍﻟﻰ‬‫ﻭﻗﺕ‬ ‫ﻓﻲ‬ ‫ﻨﻔﺴﻪ‬ ‫ﺴﻴﺠﺩ‬ ‫ﺴﻬﻠﻪ‬ ‫ﺍﻟﺠﺩﻴﺩﻩ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻻﻥ‬ ‫ﻟﻴﺱ‬ ‫ﺍﻟﺠﺩﻴﺩﻩ‬ ‫ﻟﻠﻐﻪ‬ ‫ﻤﺩﺭﻙ‬ ‫ﺍﺼﺒﺢ‬ ‫ﻗﺼﻴﺭ‬،‫ﻻﻥ‬ ‫ﻭﻟﻜﻥ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬‫ﻭ‬ ‫ﻤﺘﻴﻥ‬ ‫ﺍﺴﺎﺴﻪ‬‫ﺍﻟﺒﺭﻤﺠﻴﻪ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﻓﺎﻫﻡ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 10. 10 ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﻠﻤﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬program‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻟﻭﺼﻑ‬ ‫ﺍﻻﻭل‬ ، ‫ﻤﻌﻨﻴﻥ‬ ‫ﻋﻥ‬ ‫ﻟﻠﺘﻌﺒﻴﺭ‬ ‫ﺍﻟﻤﺼ‬‫ﺩﺭ‬source code‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻭﺼﻑ‬ ‫ﻭﺍﻟﺜﺎﻨﻲ‬ ، ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻴﻜﺘﺒﻬﺎ‬ ‫ﺍﻟﺘﻲ‬ ‫ﺍﻟﺘﻨﻔﻴﺫﻱ‬executable software‫ﺒﺄﻜﻤﻠﻪ‬.‫ﻗﺩ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻜﻠﻤﻪ‬ ‫ﺍﻻﺴﺘﺨﺩﺍﻡ‬ ‫ﻫﺫﺍ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﻴﻥ‬ ‫ﺍﻟﺘﻔﺭﻗﻪ‬ ‫ﺴﻨﺤﺎﻭل‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﺍﻻﺭﺘﺒﺎﻙ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻋﻨﻪ‬ ‫ﻴﻨﺘﺞ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻨﺎﺤﻴﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﻨﻔﻴﺫﻱ‬ ‫ﻭﺍﻟﺒﺭﻨﺎﻤﺞ‬ ، ‫ﻨﺎﺤﻴﻪ‬. ‫ﻴﻤ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﺒﺄﻨﻪ‬ ‫ﺃﻭ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻴﻜﺘﺒﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺒﺄﻨﻪ‬ ‫ﺘﻌﺭﻴﻔﻪ‬ ‫ﻜﻥ‬ ‫ﺍﻟﺘﻁﺒﻴﻕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﻨﻔﻴﺫﻴﻪ‬ ‫ﺍﻻﺠﺯﺍﺀ‬ ‫ﺍﺤﺩ‬. ‫ﺒﻁﺭﻴﻘﺘﻴﻥ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺘﺤﻭﻴل‬ ‫ﻴﻤﻜﻥ‬:‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻫﻲ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺒﺘﻨﻔﻴﺫﻫﺎ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺒﺤﻴﺙ‬ ‫ﺍﻟﺤﺎﺴﺏ‬ ‫ﻴﻔﻬﻤﻬﺎ‬ ‫ﺍﻭﺍﻤﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﺘﺤﻭﻴل‬ ‫ﺍﻟﻤﻔﺴﺭ‬ ‫ﺍﻟﻔﻭﺭ‬ ‫ﻋﻠﻰ‬.‫ﻭﺍﻟﻁﺭﻴﻘﻪ‬‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﺘﺤﻭﻴل‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻫﻰ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﻻﺤﻕ‬ ‫ﻭﻗﺕ‬ ‫ﻓﻲ‬ ‫ﺘﺸﻐﻴﻠﻪ‬ ‫ﺴﻴﻤﻜﻨﻙ‬ ‫ﻭﺍﻟﺫﻱ‬ ، ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻰ‬.‫ﺴﻬﻭﻟﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺒﺎﻟﺭﻏﻡ‬ ‫ﻻﻥ‬ ، ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺠﺎﺩﻩ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻓﺈﻥ‬ ، ‫ﺍﻟﻤﻔﺴﺭ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺍﺴﺭﻉ‬ ‫ﺘﺸﻐﻴﻠﻬﺎ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﻪ‬ ‫ﺍﻻﻭﺍﻤﺭ‬.‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻀﻤﻥ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻭﺘﻨﺩﺭﺝ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﻪ‬. ‫ﻭﺍﻟﻤﻔﺴﺭ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺒﻴﻥ‬ ‫ﺍﻟﻔﺭﻕ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻴﺤﻭل‬ ‫ﺒﺤﻴﺙ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﺘﺭﺠﻡ‬ ‫ﺜﻡ‬ ‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﻤﻔﺴﺭ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﺘﺭﺠﻤﻪ‬ ‫ﻓﻴﻘﻭﻡ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺍﻤﺎ‬ ، ‫ﻤﺒﺎﺸﺭﻩ‬ ‫ﺍﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻜﺘﺒﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ، ‫ﻻﺤﻕ‬ ‫ﻭﻗﺕ‬ ‫ﻓﻲ‬ ‫ﺘﺸﻐﻴﻠﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺘﻨﻔﻴﺫﻱ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺼﺭ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 11. 11 ‫ﺍﻟﺘﻨﻔ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻭﺯﻴﻊ‬ ‫ﺍﻤﻜﺎﻨﻴﻪ‬ ‫ﺍﻴﻀﺎ‬‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻤﻠﻜﻭﻥ‬ ‫ﻻ‬ ‫ﺍﺸﺨﺎﺹ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺫﻱ‬)‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻟﻠﻤﺘﺭﺠﻡ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬(‫ﻭﺠﻭﺩ‬ ‫ﻤﻥ‬ ‫ﺒﺩ‬ ‫ﻓﻼ‬ ‫ﺍﻟﻤﻔﺴﺭ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻟﻠﻐﺎﺕ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻤﺎ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺘﺸﻐﻴل‬ ‫ﺍﻟﻤﻔﺴﺭ‬. ‫ﻭﺍﻟﻬﻴﻜﻠﻴﻪ‬ ‫ﺍﻻﺠﺭﺍﺌﻴﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﻥ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﺍﻨﻬﺎ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻨﻅﺭ‬ ‫ﻜﺎﻥ‬ ، ‫ﻗﺭﻴﺏ‬ ‫ﻭﻗﺕ‬ ‫ﺤﺘﻰ‬ ‫ﻟﻠﺒﻴﺎﻨﺎﺕ‬ ‫ﺘﺴﺘﺠﻴﺏ‬.‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺤﺩﺩﻩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺍﻻ‬ ‫ﻤﺎﻫﻭ‬ ‫ﻭﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﻻﺨﺭ‬ ‫ﺘﻠﻭ‬ ‫ﻭﺍﺤﺩﺍ‬ ‫ﺘﻨﻔﻴﺫﻫﺎ‬ ‫ﻴﺠﺭﻱ‬.‫ﻭﻜﺎﻥ‬ ، ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻓﺼل‬ ‫ﻴﺘﻡ‬ ‫ﻜﺎﻥ‬ ‫ﺍ‬ ‫ﺍﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﺴﺘﺩﻋﺕ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺠﺎﺭﺀﺍﺕ‬ ‫ﻤﻌﺭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﻴﻜﻤﻥ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﺠﻭﻫﺭ‬‫ﺨﺭ‬، ‫ﻯ‬ ‫ﺘﻐﻴﻴﺭﻫﺎ‬ ‫ﺘﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻭﻤﻌﺭﻓﻪ‬. ‫ﺍﻟﻰ‬ ‫ﻴﺅﺩﻱ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﻭﻗﻑ‬ ‫ﻫﺫﺍ‬ ‫ﻋﻠﻰ‬ ‫ﻭﻟﻠﺘﻐﻠﺏ‬‫ﺍﻨﺸﺎﺀ‬ ‫ﺜﻡ‬ ، ‫ﺍﻻﺭﺘﺒﺎﻙ‬ ‫ﺒﻌﺽ‬ ‫ﺍﺤﺩﺍﺙ‬ ‫ﺍﻟﻬﻴﻜﻠﻴﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬structured programming. ‫ﻓﻜﺭﻩ‬ ‫ﺒﺴﺎﻁﺘﻬﺎ‬ ‫ﻓﻲ‬ ‫ﺘﻤﺎﺜل‬ ‫ﺍﻟﻬﻴﻜﻠﻴﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﺍﻟﻤﺒﻨﻴﻪ‬ ‫ﺍﻟﺭﺌﻴﺴﻴﻪ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﺍﻥ‬"‫ﻓﺭﻕ‬ ‫ﺘﺴﺩ‬. "‫ﻤﻬﺎﻡ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻤﻥ‬ ‫ﻤﺭﻜﺏ‬ ‫ﺍﻨﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺨﻴل‬ ‫ﻴﻤﻜﻥ‬.‫ﻭﺍﻱ‬ ‫ﺘ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺒﺴﻬﻭﻟﻪ‬ ‫ﺘﻭﺼﻑ‬ ‫ﺍﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻋﻘﺩ‬ ‫ﻤﻬﻤﻪ‬‫ﻘ‬‫ﺴﻴﻤﻬﺎ‬‫ﺍﻟﻤﻬﺎﻡ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺴﻬﻭﻟﻪ‬ ‫ﻭﺍﺴﺘﻴﻌﺎﺒﻬﺎ‬ ‫ﻟﻔﻬﻤﻬﺎ‬ ‫ﺍﻟﻜﺎﻓﻴﻪ‬ ‫ﺒﺎﻟﺩﺭﺠﻪ‬ ‫ﺼﻐﻴﺭﻩ‬ ‫ﺍﻟﻤﻬﺎﻡ‬ ‫ﺘﺼﺒﺢ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻻﺼﻐﺭ‬ ‫ﺍﻟﺸﺭﻜﺎﺕ‬ ‫ﺒﺎﺤﺩﻯ‬ ‫ﺍﻟﻤﻭﻅﻔﻴﻥ‬ ‫ﻤﺭﺘﺒﺎﺕ‬ ‫ﻤﺘﻭﺴﻁ‬ ‫ﺤﺴﺎﺏ‬ ‫ﺍﻥ‬ ‫ﺴﺘﺠﺩ‬ ، ‫ﺍﻟﻤﺜﺎل‬ ‫ﺴﺒﻴل‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﻤﻬﺎﻡ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﻬﻤﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﻘﺴﻴﻡ‬ ‫ﺒﻤﻘﺩﻭﺭﻙ‬ ، ‫ﺫﻟﻙ‬ ‫ﻭﻤﻊ‬ ، ‫ﻤﻌﻘﺩﻩ‬ ‫ﻤﻬﻤﻪ‬: 1.‫ﻤﻭﻅﻑ‬ ‫ﻜل‬ ‫ﻤﺭﺘﺏ‬ ‫ﻤﻌﺭﻓﻪ‬ 2.‫ﺤﺴﺎﺏ‬‫ﺍﻟﻤﻭﻅﻔﻴﻥ‬ ‫ﻋﺩﺩ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 12. 12 3.‫ﺍﻟﻤﺭﺘﺒﺎﺕ‬ ‫ﻜﺎﻓﻪ‬ ‫ﺠﻤﻊ‬ 4.‫ﺍﻟﻤﻭﻅﻔﻴﻥ‬ ‫ﻋﺩﺩ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻤﺭﺘﺒﺎﺕ‬ ‫ﻤﺠﻤﻭﻉ‬ ‫ﺘﻘﺴﻴﻡ‬ ‫ﺍﻟﻤﺭﺘﺒﺎﺕ‬ ‫ﺠﻤﻊ‬ ‫ﻤﻬﻤﻪ‬ ‫ﺘﻘﺴﻴﻡ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬)3(‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺨﻁﻭﺍﺕ‬ ‫ﺍﻟﻰ‬: 1.‫ﻤﻭﻅﻑ‬ ‫ﺒﻜل‬ ‫ﺍﻟﺨﺎﺹ‬ ‫ﺍﻟﺴﺠل‬ ‫ﺍﺤﻀﺎﺭ‬ 2.‫ﺍﻟﻤﺭﺘﺏ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻭﺼﻭل‬ 3.‫ﺍﻟﻤﺭﺘﺒﺎﺕ‬ ‫ﺍﺠﻤﺎﻟﻲ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺭﺘﺏ‬ ‫ﺍﻀﺎﻓﻪ‬ 4.‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﻤﻭﻅﻑ‬ ‫ﺴﺠل‬ ‫ﺍﺤﻀﺎﺭ‬ ‫ﺘ‬ ‫ﻴﺘﻡ‬ ، ‫ﻭﻫﻜﺫﺍ‬‫ﺘﺼﺒﺢ‬ ‫ﺤﺘﻰ‬ ‫ﻤﻨﻬﺎ‬ ‫ﺍﺼﻐﺭ‬ ‫ﻓﺭﻋﻴﻪ‬ ‫ﻤﻬﺎﻡ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﻘﻌﺩﻩ‬ ‫ﺍﻟﻤﻬﺎﻡ‬ ‫ﻘﺴﻴﻡ‬ ‫ﻴﺴﻴﺭﻩ‬ ‫ﺍﻟﻤﺸﻜﻠﻪ‬. ‫ﺍﻟﺘﻁﻭﻴﺭ‬ ‫ﺒﻴﺌﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺍﻋﺘﻤﺎﺩ‬ ‫ﺘﻡ‬ ، ‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬Turbo Pascal، ‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺒﺨﻼﻑ‬ ، ‫ﺍﻟﺠﺎﻫﺯﻩ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻜﺒﻴﺭ‬ ‫ﻋﺩﺩ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺤﻴﺙ‬ ‫ﺫﻟﻙ‬ ‫ﻓﻲ‬ ‫ﻭﺍﻟﺴﺒﺏ‬ ‫ﺍﻟﻠﻐﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻋﻠﻰ‬ ‫ﺘﻌﻤل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﺎﺕ‬ ‫ﺒﻘﻴﻪ‬‫ﻴﻌﻨﻲ‬ ‫ﻻ‬ ‫ﻫﺫﺍ‬ ،‫ﻤﻨﺎﺴ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺒﻘﻴﻪ‬ ‫ﺍﻥ‬‫ﺒﻪ‬ ‫ﻟﻠﻌﻤل‬. ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﺼﻴﺏ‬ ‫ﻋﻨﺩ‬Turbo Pascal‫ﺍﻟﻤﺴﺎﺭ‬ ‫ﻴﺎﺨﺫ‬ ‫ﻋﺎﺩﻩ‬ ،c:tpw، ، ‫ﺍﻟﻤﻠﺤﻘﻪ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺫﻫﺎﺏ‬ ‫ﺜﻡ‬ ، ‫ﺍﺒﺩﺃ‬ ‫ﻗﺎﺌﻤﻪ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻴﻪ‬ ‫ﺍﻟﻭﺼﻭل‬ ‫ﻭﺘﺴﺘﻁﻴﻊ‬ ‫ﺍﺨﺘﺭ‬ ‫ﺜﻡ‬tpw‫ﺍﺨﺘﺭ‬ ‫ﺒﻌﺩﻫﺎ‬ ،TPW.EXE. PDF created with pdfFactory trial version www.pdffactory.com
  • 13. 13 ‫ﺍﻻﻜ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﻤﻜﻨﻙ‬ ، ‫ﺍﻻﺴﺎﺴﻴﻪ‬ ‫ﺍﻟﻭﺍﺠﻬﻪ‬ ‫ﻓﻲ‬‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﺩ‬‫ﺘ‬‫ﺍﻴﻀﺎ‬ ، ‫ﻻﺤﻘﺎ‬ ‫ﺘﻌﻠﻤﻬﺎ‬ ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﻭﺍﻟﻜﻠﻤﺎﺕ‬ ، ‫ﺍﻻﺯﺭﻕ‬ ‫ﺒﺎﻟﻠﻭﻥ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ، ‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻟﻌﺭﻴﺽ‬ ‫ﺒﺎﻟﺨﻁ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬. ‫ﺍﻟﺤﺎﻟﻰ‬ ‫ﺍﻟﺘﻁﺒﻴﻕ‬ ‫ﻤﺴﺎﺭ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ، ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﺸﺭﻴﻁ‬. ‫ﻨﻼﺤﻅ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻟﻘﻭﺍﺌﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ، ‫ﺍﻟﻘﻭﺍﺌﻡ‬ ‫ﺸﺭﻴﻁ‬.‫ﺘﺨﺘﻠﻑ‬ ‫ﻟﻥ‬ ‫ﻭﻫﻲ‬ ‫ﺘﻁﺒﻴ‬ ‫ﺍﻱ‬ ‫ﻋﻥ‬‫ﺍﺨﺭ‬ ‫ﻕ‬)‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺜﻼ‬word(.‫ﻟﻠﻘﺎﺌﻤﻪ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻤﺎ‬compile، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺘﺭﺠﻤﻪ‬ ‫ﻓﻬﻲ‬.‫ﻭﺍﻟﻘﺎﺌﻤﻪ‬run‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺘﺸﻐﻴل‬ ‫ﻓﻬﻲ‬)‫ﺘﻨﻔﻴﺫﻩ‬ ‫ﺍﻱ‬. ( ‫ﻟﺒﻌﺽ‬ ‫ﺍﺨﺘﺼﺎﺭ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺩﻭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ، ‫ﺍﻻﺩﻭﺍﺕ‬ ‫ﺸﺭﻴﻁ‬ ‫ﺍﻟﻘﻭﺍﺌﻡ‬ ‫ﺸﺭﻴﻁ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻭﺠﻭﺩﻩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬. ‫ﺍﻟﺼ‬ ‫ﺍﺴﻔل‬ ‫ﻓﻲ‬ ‫ﻴﻭﺠﺩ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﺸﺭﻴﻁ‬‫ﻔﺤﻪ‬)‫ﺸﺭﻴﻁ‬ ‫ﻋﻠﻴﻪ‬ ‫ﻨﻁﻠﻕ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺤﺎﻟﻪ‬(‫ﻭﺍﻟﻌﺎﻤﻭﺩ‬ ‫ﺍﻟﺼﻑ‬ ‫ﺭﻗﻡ‬ ‫ﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻻﻭﻟﻰ‬ ، ‫ﺨﺎﻨﺎﺕ‬ ‫ﺍﺭﺒﻊ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬. ‫ﻻ‬ ‫ﺍﻡ‬ ‫ﺍﻟﺘﻌﺩﻴل‬ ‫ﺒﻌﺩ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺤﻔﻅ‬ ‫ﺘﻡ‬ ‫ﻫل‬ ‫ﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬.‫ﻁﺭﻴﻘﻪ‬ ‫ﻟﺘﻐﻴﺭ‬ ‫ﺍﻟﺜﺎﻟﺜﻪ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 14. 14 ‫ﺍﻟﻜﺘﺎﺒﻪ‬)‫ﺍﻟﻤﻔﺘﺎﺡ‬ ‫ﻤﻥ‬ ‫ﺘﻐﻴﺭﻫﺎ‬ ‫ﺘﺴﺘﻁﻴﻊ‬insert‫ﺍﻟﻤﻔﺎﺘﻴﺢ‬ ‫ﻟﻭﺤﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻭﺠﻭﺩ‬(‫ﻟﻜﻥ‬ ‫ﺒﺘﻐﻴﺭﻫ‬ ‫ﺍﻨﺼﺢ‬ ‫ﻻ‬‫ﺍﺒﺩﺍ‬ ‫ﺎ‬.‫ﻋﺭﺽ‬ ‫ﻓﻴﻬﺎ‬ ‫ﻴﺘﻡ‬ ‫ﻻﻨﻪ‬ ، ‫ﺨﺎﻨﻪ‬ ‫ﺍﻫﻡ‬ ‫ﺍﻟﺭﺍﺒﻌﻪ‬ ‫ﺍﻟﺨﺎﻨﻪ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺭﺠﻤﻪ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺍﻻﺨﻁﺎﺀ‬.‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﺘﻡ‬ ‫ﻭﺴﻭﻑ‬ ‫ﺍﻟﺨﺎﻨﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺨﻁﺄ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 15. 15 ‫ﺍﻟﻴﻮﻡ‬‫ﺍﻟﺜﺎﱐ‬ ‫ﺍﻟﱪﳎﻪ‬ ‫ﻣﺜﻞ‬ ‫ﻣﻌﻘﺪ‬ ‫ﻣﻮﺿﻮﻉ‬ ‫ﺗﻌﻠﻢ‬ ‫ﰲ‬ ‫ﺍﻟﺼﻌﻮﺑﻪ‬ ‫ﺗﻜﻤﻦ‬ ‫ﻋﻠ‬ ‫ﺳﺘﺘﻌﻠﻤﻪ‬ ‫ﳑﺎ‬ ‫ﻛﺜﲑ‬ ‫ﺍﻋﺘﻤﺎﺩ‬ ‫ﰲ‬‫ﺗﻌﻠﻤﻪ‬ ‫ﳝﻜﻨﻚ‬ ‫ﺍﺧﺮ‬ ‫ﺷﻲﺀ‬ ‫ﻛﻞ‬ ‫ﻰ‬. ‫ﺍﻳﻀﺎ‬ ، ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﰲ‬ ‫ﻟﻠﱪﻧﺎﻣﺞ‬ ‫ﺍﻻﺳﺎﺳﻲ‬ ‫ﺍﻟﺘﺮﻛﻴﺐ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬ ‫ﻣﺎ‬ ‫ﻧﻮﻋﺎ‬ ‫ﻣﻘﺮﻭﺀ‬ ‫ﻳﻌﺘﱪ‬ ‫ﺑﺮﻧﺎﻣﺞ‬ ‫ﻛﺘﺎﺑﻪ‬ ‫ﻛﻴﻔﻴﻪ‬ ‫ﺍﺩﺭﺍﻙ‬ ‫ﻣﻦ‬ ‫ﺗﺘﻤﻜﻦ‬ ‫ﺳﻮﻑ‬. ‫ﻭﺍ‬ ، ‫ﺍﻟﻮﺣﺪﺍﺕ‬ ‫ﻣﻦ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬ ‫ﺗﺘﻜﻮﻥ‬‫ﻭﺍﻟﺜﻮﺍﺑﺖ‬ ‫ﻭﺍﳌﺘﻐﲑﺍﺕ‬ ، ‫ﻻﺟﺮﺍﺀﺍﺕ‬ ‫ﻋ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻳﻜﻮﻥ‬ ‫ﺍﻳﻦ‬ ‫ﺳﺘﺘﻌﻠﻢ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬‫ﻨﻬﻢ‬ ‫ﺍﻧﻚ‬ ‫ﺫﻛﺮﻧﺎ‬ ‫ﻛﻤﺎ‬ ‫ﻻﻧﻨﺎ‬ ، ‫ﺍﻟﻜﺜﲑ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻧﻚ‬ ‫ﺗﻌﺘﻘﺪ‬ ‫ﻻ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬ ‫ﻣﻦ‬ ‫ﺍﳌﺰﻳﺪ‬ ‫ﻗﺮﺍﺀﻩ‬ ‫ﰲ‬ ‫ﺗﻘﺪﻣﻚ‬ ‫ﺧﻼﻝ‬ ‫ﻣﻦ‬ ‫ﺍﳉﺪﻳﺪﻩ‬ ‫ﺍﳌﻮﺍﺿﻴﻊ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﳌﺘﻘﺪﻣﻪ‬ ‫ﺍﳌﻮﺍﺿﻴﻊ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 16. 16 ‫ﺍﻟﺘﺭﻜﻴﺒﻴﻪ‬ ‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺘﻌﺘﺒﺭ‬structured‫ﺸﻲ‬ ‫ﺍﻱ‬ ‫ﺍﻨﻪ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻫﺫﺍ‬ ، ‫ﻤﺭﺘﺏ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻓﻴﻬﺎ‬ ‫ﻴﻜﺘﺏ‬‫ﻭﻤﻨﻅﻡ‬‫ﻭﺠﻤل‬ ‫ﺍﻟﻘﻔﺯﺍﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻻ‬ ، ‫ﺍﻟـ‬Goto‫ﻭﺍﺤﺩﻩ‬ ‫ﻫﻴﺌﻪ‬ ‫ﺍﻭ‬ ‫ﺼﻴﻐﻪ‬ ‫ﻟﻬﺎ‬ ‫ﻴﻌﻨﻲ‬ ،،‫ﺤﻘﺎ‬!! ‫ﻫﻴﺌﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬‫ﺒﺴﻴﻁ‬ ‫ﺒﺭﻨﺎﻤﺞ‬:: Program name (input, output); Uses...... Var ... Begin {Your program is here} End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺱ‬ ‫ﺭﺃ‬ ‫ﺍﻟﺴ‬‫ﻁ‬‫ﻴﻤ‬ ‫ﺍﺴﻡ‬ ‫ﺍﻱ‬ ، ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻟﻜﺘﺎﺒﻪ‬ ‫ﻫﻭ‬ ‫ﺍﻻﻭل‬ ‫ﺭ‬، ‫ﺘﺭﻴﺩ‬ ‫ﻜﻴﻔﻤﺎ‬ ‫ﻭﻀﻌﻪ‬ ‫ﻜﻨﻙ‬ ، ‫ﺤﺎﺴﺒﻪ‬ ‫ﺍﻟﻪ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻤﺜﻼ‬ ، ‫ﺘﻜﺘﺒﻪ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺒﺎﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻋﻼﻗﻪ‬ ‫ﻟﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺤﺒﺫ‬ ‫ﻟﻜﻥ‬ ‫ﻤﺜﻼ‬ ‫ﺍﺴﻤﻪ‬ ‫ﻴﺼﺒﺢ‬calculate،‫ﻓﻼ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺍﺴﻤﺎﺀ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﻗﻭﺍﻋﺩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺒﺭﻗﻡ‬ ‫ﺍﻻﺴﻡ‬ ‫ﻴﺒﺩﺃ‬ ‫ﺍﻭ‬ ‫ﻤﺴﺎﻓﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬‫ﺍﻥ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻴﻀﺎ‬ ،‫ﺍﺴﻡ‬ ‫ﻜﻠﻤﺘﻴ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﻤﺭﺍﻋﺎﻩ‬ ‫ﻤﻊ‬ ‫ﻤﺘﻼﺼﻘﺘﻴﻥ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻓﻤﻥ‬ ‫ﻥ‬ ‫ﻓﻤﺜﻼ‬ ، ‫ﻜﻠﻤﻪ‬ ‫ﻜل‬ ‫ﻤﻥ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﺘﻜﺒﻴﺭ‬WajdyEssam‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺸﺭﻁﻪ‬ ‫ﻋﻼﻤﻪ‬ ‫ﻭﻀﻊ‬–، ‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻻﺴﻡ‬ ‫ﺒﻴﻥ‬ ‫ﻟﻠﻔﺼل‬wajdy-essam. PDF created with pdfFactory trial version www.pdffactory.com
  • 17. 17 ‫ﺍﻟﻜﻠﻤﺘﻴﻥ‬ ‫ﺍﻤﺎ‬input‫ﻭ‬output‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫل‬ ‫ﻟﺘﻭﻀﻴﺢ‬ ‫ﻓﻬﻰ‬ ، ‫ﻤﺩﺨﻼﺕ‬)‫ﻤﺴﺘﺨﺩ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻱ‬‫ﺒﻴﺎﻨﺎ‬ ‫ﺒﺎﺩﺨﺎل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻡ‬‫ﺕ‬(‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﺍﻭ‬)‫ﺘﻨﻁﺒﻊ‬ ‫ﺍﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻓﻭﺭ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻨﺘﺎﺌﺞ‬. ( ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻤﺜﻼ‬ ، ‫ﻓﻘﻁ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺍﻟﺘﻰ‬ ‫ﻓﺎﻟﺒﺭﺍﻤﺞ‬ ‫ﻓﻴﻜﻭﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻓﻭﺭ‬output‫ﻓﻘﻁ‬!‫ﺒﺩﻭﻥ‬ ‫ﻓﻘﻁ‬ ‫ﻤﺩﺨﻼﺕ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬ ‫ﻤﺨﺭﺠﺎﺕ‬)‫ﺒﺎﻻﺼﺢ‬ ‫ﺍﻭ‬ ، ‫ﻤﺎ‬ ‫ﻨﻭﻋﺎ‬ ‫ﻤﺴﺘﺤﻴﻠﻪ‬‫ﻨﺎﺩﺭﻩ‬(‫ﻓﺘﻜﻭﻥ‬input‫ﻓﻲ‬ ، ‫ﻓﻘﻁ‬ ‫ﻭﻤﺨﺭﺠﺎﺕ‬ ‫ﻤﺩﺨﻼﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺤﺎل‬)‫ﺍﻻﻏﻠﺏ‬ ‫ﻭﻫﻭ‬(‫ﺍﻻﺜﻨﻴﻥ‬ ‫ﻓﺘﻜﻭﻥ‬ ‫ﺍﻱ‬ ، ‫ﻤﻌﺎ‬input, output. Program example (output); {‫ﻓﻘﻁ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻋﻠﻰ‬ ‫}ﻤﺜﺎل‬ ‫ﺍﻟﻜﻠﻤﺘﻴﻥ‬ ‫ﺘﺠﺎﻫل‬ ‫ﻴﺘﻡ‬ ، ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬outputinput ,‫ﻜﺘﺎﺒﺘﻬ‬ ‫ﻴﺘﻡ‬ ‫ﻭﻻ‬‫ﺎ‬ ‫ﺍﻻﻁﻼﻕ‬ ‫ﻋﻠﻰ‬.‫ﻓﻘﻁ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺎﺴﻡ‬ ‫ﻭﻴﻜﺘﻔﻰ‬. Program test; ‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺍﻴﻀﺎ‬/ Program clean (I ,o); ‫ﺍﻟﺤﺭﻓﻴﻥ‬I‫ﻭ‬o‫ﻟﻜﻠﻤﺘﻰ‬ ‫ﺍﺨﺘﺼﺎﺭ‬ ‫ﻫﻤﺎ‬:input‫ﻭ‬output ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻨﻪ‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺘﻨﻔﻴﺫ‬ ‫ﻀﺭﻭﺭﻱ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺭﺃﺱ‬ ‫ﺍﻥ‬ ‫ﻜﻤﺎ‬ ‫ﺘﻤ‬ ‫ﺘﺠﺎﻫﻠﻪ‬‫ﺘﻤﺎﻤﺎ‬ ‫ﻤﺤﺒﺫ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺨﻴﺎﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻟﻜﻥ‬ ، ‫ﺘﻠﻴﻪ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺒﺎﻟﺠﻤﻠﻪ‬ ‫ﻭﺍﻟﺒﺩﺀ‬ ‫ﺎﻡ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 18. 18 ‫ﺍﻓﻀل‬ ‫ﺍﻨﺎ‬ ، ‫ﺸﺨﺼﻴﺎ‬)‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﻌﺩﻴﺩ‬(‫ﻭﺘﻭﻀﻴﺢ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻭﻤﺨﺭﺠﺎﺕ‬ ‫ﻤﺩﺨﻼﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﻫل‬. ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬)‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻤﻜﺘﺒﺎﺕ‬( ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﻪ‬uses‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ،‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﻭﺤﺩﺍﺕ‬ ‫ﻓﻲ‬ ‫ﺘﺴﺘﺨﺩﻤﻬﺎ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬.‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﺎﻫﺯﻩ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻫﻨﺎﻙ‬ ، ‫ﺒﺭﻨﺎﻤﺠﻙ‬ ‫ﻓﻲ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬‫ﺍﻨﺸﺎﺀ‬ ‫ﻴﻤﻜﻨﻙ‬ ‫ﺍﻭ‬‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﻭﺤﺩﺍﺘﻙ‬)‫ﺸﺭﺤﻬﺎ‬ ‫ﻭﺴﻴﺘﻡ‬ ‫ﻭﻗﺘﻬﺎ‬ ‫ﻴﺤﻴﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ، ‫ﺒﺎﻟﺘﻔﺼﻴل‬. (‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﺍﺴﻡ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬unit، ‫ﺍﻟﻤﻜﺘﺒﺎﺕ‬ ‫ﺍﺴﻡ‬ ‫ﻤﻥ‬ ‫ﺒﺩل‬library.‫ﺍﺸ‬ ‫ﻭﻤﻥ‬‫ﻟﻐﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻬﺭ‬ ‫ﺒﺎﺴﻜﺎل‬:wincrt‫ﻭ‬windos‫ﻭ‬strings‫ﻭﻏﻴﺭﻫﺎ‬. ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﺍﺫﺍ‬// Uses wincrt; Uses wincrt, windos; { ‫ﺍﻻﺜﻨﻴﻥ‬ ‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ } ‫ﺍﻟﻭﺤﺩﻩ‬ ، ‫ﻤﺒﺴﻁ‬ ‫ﺒﺸﻜل‬unit‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺒﺭﻨﺎﻤ‬ ‫ﻓﻲ‬ ‫ﺘﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﺍﻟﺘﻰ‬‫ﻋﺒﺎﺭﻩ‬ ‫ﻤﺜﻼ‬ ، ‫ﺠﻙ‬writeln‫ﻭ‬readln)‫ﻨﺘﻁﺭﻕ‬ ‫ﺴﻭﻑ‬ ‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬ ‫ﻟﻬﻤﺎ‬(‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﺩﺍﺨل‬ ‫ﺘﻀﻤﻴﻨﻬﺎ‬ ‫ﻭﺘﻡ‬ ، ‫ﺍﺠﺭﺍﺀﺍﺕ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ wincrt. ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻭﻫﺫﻩ‬ ، ‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﻭﺤﺩﻩ‬ ‫ﺍﻱ‬ ‫ﺍﺫﺍ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬، ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﺩﺍﺨل‬‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﻓﻌﻨﺩﻤﺎ‬، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺭ‬ ‫ﺍﻱ‬ ‫ﺍ‬ ‫ﻴﺠﺏ‬‫ﺍﻋﻠﻨﺎ‬ ‫ﻨﻜﻭﻥ‬ ‫ﻥ‬‫ﺍﻻﻤﺭ‬ ‫ﻟﻬﺫﺍ‬ ‫ﺍﻟﻤﺘﻀﻤﻨﻪ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻋﻥ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 19. 19 ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬Var ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﻪ‬Var)‫ﻓﺈﻨﻪ‬ ، ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻋﻨﺩ‬ ‫ﺍﻟﻌﺭﻴﺽ‬ ‫ﺒﺎﻟﺨﻁ‬ ‫ﺒﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﻴﻘﻭﻡ‬Bold(‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺸﻴﺭ‬ ‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻓﻲ‬ ‫ﻤﺴﺎﺤﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺘﺴﺘﺨﺩﻤﻬﺎ‬‫ﺒﺎﺴﻜﺎل‬ ‫ﻴﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﺤﺴﺏ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻫﺫﻩ‬ ، ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺒﻌﺽ‬ ‫ﻟﺘﺨﺯﻴﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻟﺤﻅﻪ‬ ‫ﻓﻲ‬ ‫ﺘﻌﺎﻟﺞ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬.‫ﻴﺠﺏ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﺴﻤﻴﻪ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺭﻗﻡ‬ ‫ﻴﺒﺩﺃ‬ ‫ﻓﻼ‬ ، ‫ﺍﻟﻘﻭﺍﻋﺩ‬ ‫ﺒﻌﺽ‬ ‫ﻨﺘﺒﻊ‬ ‫ﺍﻥ‬‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﻤﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻭﻻ‬ ،.. ‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﻤﻥ‬ ‫ﻭﻏﻴﺭﻫﺎ‬ ، ‫ﺍﻟﺦ‬‫ﺒﺎﻟﺘﻔﺼﻴل‬ ‫ﻻﺤﻘﺎ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﻨﻤﺭ‬. ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﺘﺒﺩﺃ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻜل‬begin‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻭﺘﻨﺘﻬﻲ‬ ، ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬end.)‫ﺸﻲ‬ ‫ﻭﺍﻱ‬ ، ‫ﻫﻨﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻥ‬ ‫ﻭﻤﻌﻨﺎﻫﺎ‬ ، ‫ﺍﻟﻨﻘﻁﻪ‬ ‫ﻻﺤﻅ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺍﻟﻴﻬﺎ‬ ‫ﻴﻠﺘﻔﺕ‬ ‫ﻻ‬ ، ‫ﺍﻟﻨﻘﻁﺔ‬ ‫ﻫﺫﻩ‬ ‫ﺒﻌﺩ‬ ‫ﻴﻜﺘﺏ‬(. ‫ﺴ‬ ، ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻥ‬ ‫ﺘﺭﻯ‬ ‫ﻭﻑ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﻠﻐﻪ‬ ‫ﺍﻟﺨﺎﺼﻪ‬)‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻤﺜل‬if‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻭﺠﻤل‬ ،for(‫ﺘﺤﺘﺎﺝ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﺍﻟﻰ‬begin‫ﻭﻨﻬﺎﻴﻪ‬end;)‫ﺍﻟﻤﻨﻘﻭﻁﻪ‬ ‫ﺍﻟﻔﺎﺼﻠﻪ‬ ‫ﻻﺤﻅ‬;Semicolon. ( ‫ﺍﻟﺠﻤل‬ ‫ﻫﺫﻩ‬)‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ‫ﺍﻟﺘﻰ‬begin‫ﻭ‬end;‫ﺒﻬﺎ‬ ‫ﺨﺎﺼﻪ‬(‫ﻤﺭﻜﺒﻪ‬ ‫ﺠﻤل‬ ‫ﺘﺴﻤﻰ‬ ‫ﺍﻴ‬ ‫ﻭﺘﺴﻤﻰ‬‫ﻀﺎ‬Block. ‫ﺒﺎﻟﺠﻤﻠﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺩﺍﺌﻤﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻥ‬ ، ‫ﺘﻼﺤﻅ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬end.‫ﺍﻟـ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻤﺎ‬ ، Block)‫ﺍﻟﻤﺭﻜﺒﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬(‫ﺒﺎﻟﺠﻤﻠﻪ‬ ‫ﺩﺍﺌﻤﺎ‬ ‫ﻴﻜﻭﻥ‬end;. ‫ﺴﻭﻑ‬‫ﻨﺘ‬‫ﺍﻟﻨﻘﺎﻁ‬ ‫ﻫﺫﻩ‬ ‫ﻋﻥ‬ ‫ﻜﻠﻡ‬‫ﺒﺎﻟﺘﻔﺼﻴل‬‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﺩﺭﻭﺱ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬!! PDF created with pdfFactory trial version www.pdffactory.com
  • 20. 20 ‫ﺍﻟﺘﻌﻠﻴـﻘﺎﺕ‬Comments ‫ﻭ‬ ‫ﻟﺘﻭﻀﻴﺢ‬ ، ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻴﻀﻌﻬﺎ‬ ‫ﻜﻠﻤﺎﺕ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬‫ﺍﻭ‬ ، ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺍﺤﺩ‬ ‫ﻅﻴﻔﻪ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻋﻥ‬ ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺒﻌﺽ‬ ‫ﻟﻜﺘﺎﺒﻪ‬)‫ﻤﺘﻰ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺩﺃ‬ ‫ﻤﺘﻰ‬ ‫ﻤﺜﻼ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻁﻭﻴﺭ‬ ‫ﺍﺨﺭ‬ ‫ﺃﻭ‬ ‫ﺍﻨﺘﻬﻰ‬. ( ‫ﺍﻟﺘﻲ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺍﻟﻰ‬ ‫ﻭﺍﻟﺫﻫﺎﺏ‬ ‫ﺒﺘﺎﺠﻬﻠﻬﺎ‬ ‫ﻴﻘﻭﻡ‬ ، ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﻫﺫﻩ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﺭﻯ‬ ‫ﻭﻋﻨﺩﻤﺎ‬ ‫ﺘـﻠﻴﻬ‬‫ﺎ‬)‫ﺘﻅﻬﺭ‬ ‫ﺒﻴﻨﻤﺎ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻭﻗﺕ‬ ‫ﺘﻅﻬﺭ‬ ‫ﻻ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻱ‬‫ﺍﻟﻤﺼﺩﺭ‬ ‫ﺍﻟﻜﻭﺩ‬ ‫ﻓﻲ‬ source code(‫ﻭﻫﻤﺎ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻋﻴﻥ‬ ‫ﻭﻫﻨﺎﻙ‬: 1/(* This is Comments *) 2/{ This is another comments } ‫ﻤﻨﻬﻤﺎ‬ ‫ﺘﺸﺎﺀ‬ ‫ﻤﺎ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻴﻤﻜﻨﻙ‬ ، ‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﻓﺭﻕ‬ ‫ﻴﻭﺠﺩ‬ ‫ﻭﻻ‬. ‫ﻭﺍﻟﺠﻤﻠﻪ‬{Your program is here}‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﻓﻲ‬ ‫ﻴﻨﻔﺫ‬ ‫ﻻ‬ ‫ﺘﻌﻠﻴﻕ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬. ‫ﺘﻌﻠﻴﻕ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬// Program wajdy (input, output); Uses wincrt; Begin Writeln ('hello im wajdy essam'); {print my name} End. PDF created with pdfFactory trial version www.pdffactory.com
  • 21. 21 ‫ﺍﻻﺯﺭﻕ‬ ‫ﺒﺎﻟﻠﻭﻥ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺴﻭﻑ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻌﻠﻴﻕ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ،‫ﺍﻟﻔﺎﺘﺢ‬{print my name}‫ﺍﺜﻨﺎﺀ‬ ‫ﻴﻅﻬﺭ‬ ‫ﻭﻟﻥ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬. ‫ﺒﺎﺨﺘﺼﺎﺭ‬ ‫ﺍﺫﺍ‬/‫ﺍﻟﺘﻰ‬ ‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻟﺩﻭﺍل‬ ‫ﺒﻌﺽ‬ ‫ﻋﻤل‬ ‫ﻻﻴﻀﺎﺡ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ، ‫ﻟﻠﺒﻘﻴﻪ‬ ‫ﻤﻌﺭﻭﻓﻪ‬ ‫ﻭﻏﻴﺭ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻟﺩﻯ‬ ‫ﻤﻌﺭﻭﻓﻪ‬ ‫ﺘﻜﻭﻥ‬‫ﻟﻜﺘﺎﺒﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺤﻭل‬ ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺒﻌﺽ‬)‫ﻭﺘﺤﺩﻴﺜﻪ‬ ‫ﺍﻨﺸﺎﺀﻩ‬ ‫ﻜﻭﻗﺕ‬(‫ﺤﻭل‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺍﻭ‬ ‫ﻨﻔﺴﻪ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬)‫ﻭﻋﻨ‬ ‫ﻜﺎﻻﺴﻡ‬‫ﺍﻻﻟﻜﺘﺭﻭﻨﻲ‬ ‫ﺍﻟﺒﺭﻴﺩ‬ ‫ﻭﺍﻥ‬. ( ، ‫ﺍﻻﻁﻼﻕ‬ ‫ﻋﻠﻰ‬ ‫ﻤﻜﺎﻥ‬ ‫ﺍﻱ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﻤﻜﺎﻥ‬ ‫ﺍﻱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﻴﻔﻀل‬ ‫ﻟﻜﻥ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻫﺫﺍ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﺤﻭل‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻭﻅﻴﻔﻪ‬ ‫ﺤﻭل‬(‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﺠﺎﻨﺏ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺍﻭ‬ ، ‫ﻤﻌﺭ‬ ‫ﺍﻟﻐﻴﺭ‬‫ﺍﻟﻤ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ، ‫ﻭﻓﻪ‬‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺜﺎل‬)‫ﺍﻻﻤﺭ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬writeln‫ﻏﻴﺭ‬ ‫ﻤﻌﺭﻭﻑ‬. ( ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻗﺒل‬ ‫ﻤﺎ‬ )‫ﺍﻟـ‬ ‫ﻗﺒل‬ ‫ﻤﺎ‬ ‫ﺍﻱ‬begin‫ﻭﺍﻟـ‬end.(‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﻴﺨﺼﺹ‬ ‫ﺍﻟﻤﻜﺎﻥ‬ ‫ﻫﺫﺍ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﺒﺠﻤﻴﻊ‬ ‫ﺍﻗﺼﺩ‬ ، ‫ﺒﺭﻨﺎﻤﺠﻙ‬ ‫ﻓﻲ‬ ‫ﺘﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﺠﻤﻴﻊ‬/ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺭﺍﺱ‬)‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬(‫ﺍ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻪ‬ ‫ﻴﻌﻠﻥ‬‫ﻟﻤﺤﺠﻭﺯﻩ‬program ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬)‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬(‫ﺍﻟﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬uses ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻌﻨﻭﺍﻴﻥ‬label ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻗﺒل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤل‬type PDF created with pdfFactory trial version www.pdffactory.com
  • 22. 22 ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬)‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬(‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬‫ﺍ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬‫ﻟﻤﺤﺠﻭﺯﻩ‬Var ‫ﻋﻨ‬ ‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﺜﻭﺍﺒﺕ‬‫ﻬ‬‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﺎ‬const ‫ﺍﻻ‬‫ﺠﺭ‬‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﺀﺍﺕ‬‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬Procedure ‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﻴﻌﻠﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬Function ‫ﺍﻟﺘﻔﺼﻴ‬ ‫ﻤﻥ‬ ‫ﺒﺸﻲﺀ‬ ، ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﻫﺫﻩ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺫﻜﺭ‬ ‫ﻭﺴﻴﺘﻡ‬‫ﻭﻗﺘﻬﺎ‬ ‫ﻴﺤﻴﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ل‬. ‫ﻻﺤﻅﺕ‬ ‫ﻜﻤﺎ‬)‫ﺫﻟﻙ‬ ‫ﺍﻅﻥ‬(‫ﺒﺎﻟﻔﺎﺼﻠﻪ‬ ‫ﻴﻨﺘﻬﻲ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬ ‫ﺴﻁﺭ‬ ‫ﺍﻱ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻨﻘﻭﻁﻪ‬semicolon‫ﻭﻫﻲ‬( ; ).‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻔﺎﺼﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻌﻨﻰ‬)‫ﺍﻻﻤﺭ‬ ‫ﺍﻭ‬( ‫ﺍﻨﺘﻬﻰ‬. ‫ﻭﺍﻟـ‬ ‫ﺍﻟﻤﺴﺎﻓﺎﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬Tab‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﻜل‬ ‫ﻟﺘﺤﺴﻴﻥ‬: ‫ﺍﻟﻤﻘﺭﻭﺌﻴﻪ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺒﻬﺎ‬ ‫ﺘﺘﻤﻴﺯ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﻴﺯﺍﺕ‬ ‫ﻤﻥ‬Readability!!‫ﻤﺎﺫﺍ‬ ‫ﺍﻟﺘﺘﺒﻊ‬ ‫ﻴﺴﻬل‬ ‫ﻭﺴﻬل‬ ‫ﻤﻨﻅﻡ‬ ‫ﺒﺸﻜل‬ ‫ﻤﻜﺘﻭﺏ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻥ‬ ‫ﺘﻌﻨﻲ‬ ‫؟‬ ‫ﺘﻌﻨﻲ‬ ‫ﻓﻲ‬ ‫ﺘﺩﺭﺱ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺴﺎﺴﻴﻪ‬ ‫ﺍﻟﻠﻐﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺠﻌﻠﺘﻬﺎ‬ ‫ﺍﻟﻤﻴﺯﻩ‬ ‫ﻫﺫﻩ‬ ،‫ﻴﺴﺭ‬ ‫ﺒﻜل‬ ‫ﻭﺍﻟﻘﺭﺍﺀﻩ‬ ، ‫ﻭﺍﻟﺠﺎﻤﻌﺎﺕ‬ ‫ﺍﻟﻤﻌﺎﻫﺩ‬ ‫ﺍﻏﻠﺏ‬‫ﺍﻥ‬ ‫ﻴﻤﻜﻨﻙ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻴﺯﻩ‬ ‫ﻫﺫﻩ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﻻﻀﺎﻓﻪ‬ ‫ﻓﺄﻜﺜ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﻜل‬ ‫ﻤﻥ‬ ‫ﺘﺤﺴﻥ‬‫ﺭ‬.‫ﺴﻴﺄﺘﻲ‬ ‫ﻜﻤﺎ‬. ‫ﻟ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﺍﻫﻡ‬ ‫ﻤﻥ‬‫ﻤﺎ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﺘﺎﺒﺔ‬ ‫ﻋﻨﺩ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﺩﻯ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻫﻭ‬ ، ‫ﻟﻠﺠﻤﻴﻊ‬ ‫ﻭﻤﻘﺭﻭﺀ‬ ‫ﻭﺍﻀﺢ‬)‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬(‫ﺍﺭﺍﺩ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ، ‫ﻨﻔﺴﻪ‬ ‫ﻟﻠﻤﺒﺭﻤﺞ‬ ‫ﺤﺘﻰ‬ ، ‫ﺍﻟﻜﻭﺩ‬ ‫ﻤﻥ‬ ‫ﻗﻁﻌﻪ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺍﻭ‬ ، ‫ﻤﺎ‬ ‫ﺨﻁﺄ‬ ‫ﺘﺼﺤﻴﺢ‬!!‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﺘﻌﻠﻴﻘﺎ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﻭﺍﻴﻀﺎ‬ ‫ﻤﺭﺘﺏ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﻏﻴﺭ‬ ‫ﺩﻭﺍل‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺕ‬ ‫ﺍﻟﺘﻌﻠﻴﻘﺎﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﺫﻜﺭ‬ ‫ﺘﻡ‬ ‫ﻭﻗﺩ‬ ‫ﻤﺄﻟﻭﻓﻪ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 23. 23 ‫ﺍﻟﻰ‬ ‫ﻨﺄﺘﻲ‬‫ﻭﺫﻟﻙ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﻜل‬ ‫ﺘﺤﺴﻴﻥ‬‫ﺒ‬‫ﺍﻟـ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﺎﺴﺘﺨﺩﺍﻡ‬Tab‫ﻭﻫﻭ‬ ‫ﺍﻟﺠﻬ‬ ‫ﻓﻲ‬ ‫ﻤﻭﺠﻭﺩ‬‫ﻪ‬‫ﺍﻟﻜﻴﺒﻭﺭﺩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻴﺴﺭﻯ‬. ‫ﺍﻻﺘﻲ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﺍﻨﻅﺭ‬)‫ﻋﺎﻤﻪ‬ ‫ﻓﻜﺭﻩ‬ ‫ﺨﺫ‬ ‫ﻓﻘﻁ‬ ، ‫ﺍﻻﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻔﻬﻡ‬ ‫ﺍﻥ‬ ‫ﺘﺘﻭﻗﻊ‬ ‫ﻻ‬( ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬: Program clean (I , o); Uses wincrt; Var X: integer; Begin Read(x); If x>10 then writeln (' bigger then 10 ') Else Writeln (' less then 10 '); End. ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬: Program clean (I , o); Uses wincrt; Var X: integer; Begin Read(x); If x>10 then writeln (' bigger then 10 ') Else Writeln (' less then 10 '); End. PDF created with pdfFactory trial version www.pdffactory.com
  • 24. 24 ‫ﺍﻻﻥ‬ ، ‫ﻓﻴﻬﻤﺎ‬ ‫ﺍﻟﻨﻅﺭ‬ ‫ﺘﻤﻌﻥ‬‫ﻨﻅﺭﻙ‬ ‫ﻓﻲ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺍﻻﺴﻬل‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬........‫؟؟‬ ‫ﺒﻜﺜﻴﺭ‬ ‫ﺍﺴﻬل‬ ‫ﺍﻻﻭل‬ ‫ﺍﻅﻥ‬،‫ﻜﺫﻟﻙ‬ ‫ﺍﻟﻴﺱ‬!!‫ﺘﻡ‬ ‫ﻻﻨﻪ‬‫ﺍﻟـ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬Tab،‫ﻋﻥ‬ ‫ﺍﻤﺎ‬ ‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻨﺹ‬ ‫ﺘﺤﺭﻙ‬ ‫ﺍﻥ‬ ‫ﺘﺭﻴﺩ‬ ‫ﻜﻨﺕ‬ ‫ﺍﺫﺍ‬ ، ‫ﺠﺩﺍ‬ ‫ﺴﻬﻠﻪ‬ ‫ﻓﻬﻲ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻪ‬ ‫ﻁﺭﻴﻘﻪ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﻀﻐﻁ‬ ‫ﻫﻭ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻤﺎ‬ ‫ﻜل‬Tab‫ﻭ‬‫ﺒﻌﺩ‬‫ﺍﻟﺠﻤﻠ‬ ‫ﻜﺘﺎﺒﻪ‬‫ﻪ‬‫ﻭﻀﻐﻁ‬enter‫ﺴﻭﻑ‬ ‫ﻤﺒﺎﺸﺭﻩ‬ ‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﺴﻔل‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻴﻨﺘﻘل‬)‫ﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﻗﺒل‬ ‫ﺘﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻱ‬ ‫ﺍﻟـ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬Tab. ( ‫ﺍﻟﻌ‬ ‫ﺍﻅﻥ‬‫ﺍﺴﺘﺨﺩ‬ ‫ﻤﺤﺎﻭل‬ ‫ﻋﻨﺩ‬ ‫ﻟﻜﻥ‬ ، ‫ﻤﺎ‬ ‫ﻨﻭﻋﺎ‬ ‫ﺼﻌﺒﻪ‬ ‫ﻨﻅﺭﻴﺎ‬ ‫ﻤﻠﻴﻪ‬‫ﺍ‬‫ﺘﺠﺩﻫﺎ‬ ‫ﺴﻭﻑ‬ ‫ﻤﻬﺎ‬ ، ‫ﺍﻟﺴﻬﻭﻟﻪ‬ ‫ﻏﺎﻴﻪ‬ ‫ﻓﻲ‬‫ﻭ‬‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺒﻌﺽ‬ ‫ﺒﻜﺘﺎﺒﻪ‬‫ﺍﻟﻌﺩﻴﺩﻩ‬‫ﺍﺼﺒﺤﺕ‬ ‫ﺍﻨﻙ‬ ‫ﺘﻼﺤﻅ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻻﻥ‬ ‫ﺍﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﺘﺩﺭﻙ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ‫ﺘﻘﻠﻕ‬ ‫ﻻ‬ ، ‫ﻜﺒﻴﺭﻩ‬ ‫ﺒﻤﻬﺎﺭﻩ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬ ‫ﻋﻠﻰ‬ ‫ﻗﺎﺩﺭﺍ‬. ‫ﻓ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺩل‬ ‫ﺒﺎﺴﻡ‬ ‫ﺘﺴﻤﻴﺘﻪ‬ ‫ﻴﺭﺍﻋﻰ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺴﻤﻴﻪ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬‫ﻭﻅﻴﻔﺘﻪ‬ ‫ﺍﻭ‬ ‫ﻌﻠﻪ‬ ‫ﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﺴﻡ‬ ‫ﻨﻔﺴﻪ‬ ‫ﻫﻭ‬ ‫ﻭﻴﻜﻭﻥ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻭﻻ‬،‫ﺍﻴﻀﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺴﺎﻓﺎﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬،‫ﺍﻟﻁﻭﻴﻠﻪ‬ ‫ﻭﺍﻻﺴﻤﺎﺀ‬ ‫ﺤﺭﻴﺹ‬ ‫ﻜﻥ‬ ، ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺘﺎﺘﺎ‬ ‫ﻤﺤﺒﺫﻩ‬ ‫ﻏﻴﺭ‬!! ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺼﻁﻠﺤﺎﺕ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﺍﺴﺘﺨﺩﻤﻨﺎ‬ ‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﺼﻔﺤﺎﺕ‬ ‫ﻓﻲ‬‫ﺍﻅﻥ‬ ‫ﻫﺫﻩ‬ ، ‫ﺘﻤﺎﻤﺎ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻁﺭﻴﻕ‬ ‫ﻓﻲ‬ ‫ﺍﻨﺕ‬ ‫ﻫﺫﺍ‬ ‫ﻜل‬ ‫ﻤﻊ‬ ، ‫ﺘﺠﻴﺩﻫﺎ‬ ‫ﺍﻭ‬ ‫ﺘﻔﻬﻤﻬﺎ‬ ‫ﻟﻡ‬ ‫ﺍﻨﻙ‬ ‫ﺃﻱ‬ ‫ﻤﺴﺘﻭﻋﺏ‬ ‫ﻏﻴﺭ‬ ‫ﻨﻔﺴﻙ‬ ‫ﺴﺘﺠﺩ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ، ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺤﺎل‬ ‫ﻫﻰ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﻭﻗﺭﺍﺀﻩ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻜﺘﺎﺒﺔ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﻟﻜﻨﻙ‬ ‫ﺸﻲﺀ‬ ‫ﻨﻔﺴﻙ‬ ‫ﺴﺘﺠﺩ‬ ‫ﺍﻟﺩﺭﻭﺱ‬‫ﻤﺒﺘﺩﺉ‬ ، ‫ﻤﺒﺭﻤﺞ‬J PDF created with pdfFactory trial version www.pdffactory.com
  • 25. 25 ‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺜﺎﻟﺚ‬ ‫ﺍﳌ‬‫ﻭﺍﻟﺜﻮﺍﺑﺖ‬ ‫ﺘﻐﲑﺍﺕ‬ ‫ﺗﻘﺪﻡ‬ ‫ﺗﺴﺘﺨﺪﻣﻬﺎ‬ ‫ﺍﻟﱴ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻟﺘﺨﺰﻳﻦ‬ ‫ﻃﺮﻳﻘﻪ‬ ‫ﺍﺗﺒﺎﻉ‬ ‫ﺍﱃ‬ ‫ﺍﻟﱪﺍﻣﺞ‬ ‫ﲢﺘﺎﺝ‬ ، ‫ﻭﻣﻌﺎﳉﺘﻬﺎ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻫﺬﻩ‬ ‫ﻟﺘﻤﺜﻴﻞ‬ ‫ﺍﻟﻄﺮﻕ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﻭﺍﳌﺘﻐﲑﺍﺕ‬ ‫ﺍﻟﺜﻮﺍﺑﺖ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﺳﺘﺘﻌﻠﻢ‬ v‫ﺍﻟﺸﺎﺷﻪ‬ ‫ﻋﻠﻰ‬ ‫ﲨﻠﻪ‬ ‫ﻃﺒﺎﻋﻪ‬ ‫ﻛﻴﻔﻴﻪ‬ v‫ﻛﻴﻔﻴ‬‫ﻭﺍﻟﺜﻮﺍﺑﺖ‬ ‫ﺍﳌﺘﻐﲑﺍﺕ‬ ‫ﻋﻦ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻪ‬‫ﻭﺗﻌﺮﻳﻔﻬﻤﺎ‬ v‫ﺍﻟﻘﻴﻢ‬ ‫ﺗﻌﻴﲔ‬ ‫ﻛﻴﻔﻴﻪ‬‫ﺍﻟﻘﻴﻢ‬ ‫ﻫﺬﻩ‬ ‫ﻭﻣﻌﺎﳉﻪ‬ ‫ﻟﻠﻤﺘﻐﲑﺍﺕ‬ v‫ﺍﻟﺸﺎﺷﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﳌﺘﻐﲑﺍﺕ‬ ‫ﺍﺣﺪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻛﺘﺎﺑﻪ‬ ‫ﻛﻴﻔﻴﻪ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 26. 26 ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬: ‫ﻟ‬ ‫ﺠﻤﻠﺘﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬‫ﻠ‬‫ﻁﺒﺎﻋﻪ‬‫ﻋﻠﻰ‬‫ﻭﻫﻡ‬ ‫ﺍﻟﺸﺎﺸﻪ‬: 1/write 2/writeln ‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﺍﻟﻔﺭﻕ‬:‫ﺍﻥ‬ ‫ﻫﻭ‬write‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺜﻡ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬. ‫ﺠﻤﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬writeln‫ﻓﺎﻥ‬‫ﺍﻟ‬ ‫ﻟﻜﻥ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺘﻨﻁﺒﻊ‬ ‫ﺍﻟﺠﻤﻠﻪ‬‫ﻤ‬‫ﻴﻨﺘﻘل‬ ‫ﺅﺸﺭ‬ ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬. ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺜﻼﺙ‬ ‫ﻫﻨﺎﻙ‬: ·‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ·‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ·‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬ ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﺒﻜﺘ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻨﺹ‬ ‫ﺍﻱ‬ ‫ﻟﻁﺒﺎﻋﻪ‬‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻤﺭ‬ ‫ﺎﺒﻪ‬)write‫ﺍﻭ‬ writeln(‫ﻗﻭﺱ‬ ‫ﺒﻔﺘﺢ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺜﻡ‬‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﺩﺍﺨﻠﻪ‬ ‫ﻭﻨﻜﺘﺏ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻭﺍﻏﻼﻗﻪ‬ ‫ﺒﻘﻭﺱ‬ ‫ﻨﺤﻴﻁﻬﺎ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﻁﺒﺎﻋﺘﻬﺎ‬ ‫ﺍﻟﻤﺭﺍﺩ‬‫ﺼﻐﻴﺭ‬quote (')‫ﻤﻥ‬ ‫ﺍﻟﺠﺎﻨﺒﻴﻥ‬)‫ﺤﺭﻑ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻜﺘﺎﺒﺘﻪ‬ ‫ﻴﺘﻡ‬)‫ﻁ‬(‫ﺍﻻﻨﺠﻠﻴﺯﻴﻪ‬ ‫ﺒﺎﻟﻠﻐﻪ‬( PDF created with pdfFactory trial version www.pdffactory.com
  • 27. 27 ‫ﻤﺜﻼ‬: 1/ Write (' wajdy '); 2/ Writeln (‘Welcome to My Program!! ‘); ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻓﻲ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺴﻭﻑ‬)‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻋﻨﺩ‬(‫ﻜﻠﻤﻪ‬wajdy ‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻜﻭﻥ‬. ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬Welcome to My Program !! ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻴﻨﺘﻘل‬ ‫ﻭﺴﻭﻑ‬)‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺒﺴﺒﺏ‬writeln. ( ‫ﻤﺜﺎل‬)‫ﻟﻡ‬‫ﻜﺎﻤل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻜﺘﺏ‬/ ( Begin Writeln ('I learn Pascal'); Writeln ('Hi, there !'); End. ‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫﺫﺍ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬: I learn Pascal Hi, there ‫ﺒﺠﻤﻠﻪ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻜﻭﺩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬write،، begin Write('I learn Pascal'); Write ('Hi, there !'); end. PDF created with pdfFactory trial version www.pdffactory.com
  • 28. 28 ‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫﺫﺍ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬: I learn Pascal Hi, there ‫ﺍﻥ‬ ‫ﻨﺭﻴﺩ‬ ‫ﺍﻨﻨﺎ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬‫ﻨﺘﺭﻙ‬‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﻭﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻴﻥ‬ ‫ﺴﻁﺭ‬ ‫ﻤﺴﺎﻓﻪ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺴﻭﻑ‬:writeln; ‫ﻤﺜﺎل‬// ‫ﺸﻜل‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﺨﺭﻯ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺜﻡ‬ ‫ﻓﺎﺭﻍ‬ ‫ﺴﻁﺭ‬ ‫ﻭﺘﺭﻙ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬:: Begin Writeln ('My Name is wajdy essam'); Writeln; Write (‘do you understand the lesson '); End. ‫ﻜﺎﻻﺘﻲ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬: My name is wajdy essam Do you understand the lesson? Hello World‫ﺒﺎﺴﻜﺎل‬ ‫ﺒﻠﻐﻪ‬ ‫ﻟﻙ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻭل‬ ‫ﺍ‬ ‫ﻫﺫﻩ‬ ‫ﺘﺒﺩﺃ‬ ‫ﺃﻥ‬ ‫ﻭﻫﻭ‬ ، ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻜﺘﺏ‬ ‫ﻓﻲ‬ ‫ﻤﺘﺒﻊ‬ ‫ﺘﻘﻠﻴﺩ‬ ‫ﻫﻨﺎﻙ‬‫ﺒﺈﻨﺸﺎﺀ‬ ‫ﺩﺍﺌﻤﺎ‬ ‫ﻟﻜﺘﺏ‬ ‫ﺒﺎﺴﻡ‬ ‫ﺒﺭﻨﺎﻤﺞ‬Hello‫ﺍﻟﺘﺭﺤﻴﺒﻴﻪ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺒﻌﺭﺽ‬ ‫ﻴﻘﻭﻡ‬Hello World‫ﻋﻠﻰ‬ ‫ﺍﻟﺸﺎﺸﻪ‬.‫ﺒﺄﻥ‬ ‫ﺠﺩﻴﺭ‬ ‫ﺍﻟﻘﺩﻴﻡ‬ ‫ﺍﻟﺘﻘﻠﻴﺩ‬ ‫ﻭﻫﺫﺍ‬‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺒﻪ‬ ‫ﻴﺅﺨﺫ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 29. 29 Program Hello (output); Uses wincrt; Begin Writeln (‘Hello World ! ‘); End. ‫ﺍ‬‫ﺒ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻜﺘﺏ‬‫ﻴﺌ‬‫ﺒﺘﺸﻐ‬ ‫ﺜﻡ‬ ‫ﺒﺘﺭﺠﻤﺘﻪ‬ ‫ﻭﻗﻡ‬ ، ‫ﺍﻟﺘﻁﻭﻴﺭ‬ ‫ﻪ‬‫ﻴ‬‫ﻠﻪ‬.‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﺴﺘﺠﺩ‬ ‫ﺘﻌﺭﺽ‬:Hello World ! ‫ﻟﻙ‬ ‫ﻓﺘﻬﺎﻨﻴﻨﺎ‬ ‫ﺫﻟﻙ‬ ‫ﺘﻡ‬ ‫ﺍﺫﺍ‬!‫ﻗﺩ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﻟﻙ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻭل‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﻨﺠﺤﺕ‬ ‫ﻓﻘﺩ‬ ‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺍﻥ‬ ‫ﺘﺩﺭﻙ‬ ‫ﺍﻥ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻟﻜﻥ‬ ، ‫ﻟﻠﻐﺎﻴﻪ‬ ‫ﺒﺴﻴﻁﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﺒﺩﻭﺍ‬ ‫ﺒﻬﺫﺍ‬ ‫ﺒﺩﺅﺍ‬ ‫ﺍﻟﻤﺤﺘﺭﻓﻴﻥ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬// ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻟﻜﺘﺎﺒﻪ‬ ‫ﻫﻭ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬Hello‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻥ‬ ‫ﻭﺤﻴﺙ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫل‬ ‫ﺒﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺍﻟﺘﻭﻀﻴﺤﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻨﺠﺩ‬ ، ‫ﻓﻘﻁ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻫﻲ‬ ، ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﺍﻭ‬ ‫ﻤﺩﺨﻼﺕ‬ ‫ﻟﻪ‬output‫ﻓﻘﻁ‬. ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻪ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻫﻲ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺴﻁﺭ‬‫ﻻﻥ‬ ‫ﻭﻨﻅﺭﺍ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻤﺭ‬write‫ﻭ‬writeln‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﻤﻭﺠﻭﺩﻩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻫﻲ‬wincrt ‫ﻋﻨﻬﺎ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻓﻴﺠﺏ‬)‫ﻴﺘﻡ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻱ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬. ( PDF created with pdfFactory trial version www.pdffactory.com
  • 30. 30 ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺒﺩﺍﻴﻪ‬ ‫ﻫﻭ‬ ، ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺴﻁﺭ‬begin. ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻫﻭ‬ ، ‫ﺍﻟﺭﺍﺒﻊ‬ ‫ﺍﻟﺴﻁﺭ‬‫ﺠﻤﻠﻪ‬Hello World !‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬‫ﻭﺘﻡ‬ ، ‫ﺍﻻﻤﺭ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬writeln‫ﺘﻨﻔﻴﺫ‬ ‫ﺒﻌﺩ‬ ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﺴﻴﻨﺘﻘل‬ ‫ﺍﻱ‬ ، ‫ﺍﻻﻤﺭ‬. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻻﻨﻬﺎﺀ‬ ‫ﻫﻭ‬ ، ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﺴﻁﺭ‬end.)‫ﺍﻟﻨﻘﻁﻪ‬ ‫ﺘﻨﺴﻰ‬ ‫ﻻ‬( ‫ﺸﺭﺡ‬ ‫ﺒﻌﺩ‬ ‫ﺸﺭﺤﻬﻡ‬ ‫ﻴﺘﻡ‬ ‫ﺴﻭﻑ‬ ، ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬. ‫ﺍﻟﻤ‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬‫ﺘﻐﻴﺭ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻓﻲ‬variable، ‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻟﺘﺨﺯﻴﻥ‬ ‫ﻤﻜﺎﻥ‬ ‫ﻫﻭ‬ ‫ﺍﺴﺘﻌﺎﺩﻩ‬ ‫ﺜﻡ‬ ‫ﺒﺩﺍﺨﻠﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﺨﺯﻴﻥ‬ ‫ﻴﻤﻜﻨﻙ‬ ‫ﺤﻴﺙ‬ ‫ﺠﻬﺎﺯﻙ‬ ‫ﺒﺫﺍﻜﺭﻩ‬ ‫ﻤﻭﻗﻊ‬ ‫ﻫﻭ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻌﺩ‬ ‫ﻓﻴﻤﺎ‬ ‫ﻤﻨﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻫﺫﻩ‬. ‫ﺨﺎﻨﻪ‬ ‫ﻭﻜل‬ ، ‫ﺍﻟﺨﺎﻨﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﻫﻴﺌﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺠﻬﺎﺯﻙ‬ ‫ﺫﺍﻜﺭﻩ‬ ‫ﺘﺼﻭﺭ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﻤﺘﺭ‬ ‫ﺨﺎﻨﺎﺕ‬ ‫ﻋﺩﻩ‬ ‫ﻤﻥ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﺘﻤﺜل‬‫ﺍﻟﺨﺎﻨﺎﺕ‬ ‫ﻭﺠﻤﻴﻊ‬ ، ‫ﺍﺼﻪ‬)‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻤﻭﺍﻗﻊ‬ ‫ﺍﻭ‬(‫ﻴﺘﻡ‬ ‫ﺘﺴﻠﺴﻠﻴﺎ‬ ‫ﺘﺭﻗﻴﻤﻬﺎ‬. ‫ﺍﻜﺜﺭ‬ ‫ﺃﻭ‬ ‫ﺨﺎﻨﻪ‬ ‫ﺒﺤﺠﺯ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﻘﻭﻡ‬ ، ‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻋﻨﺎﻭﻴﻥ‬ ‫ﺒﺄﻨﻬﺎ‬ ‫ﺍﻻﺭﻗﺎﻡ‬ ‫ﻫﺫﻩ‬ ‫ﺘﻌﺭﻑ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺤﺩﻯ‬ ‫ﻓﻴﻬﺎ‬ ‫ﺘﺨﺯﻥ‬ ‫ﺒﺤﻴﺙ‬. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﺴﻡ‬ ‫ﺴﻴﻤﺜل‬)‫ﻭﻟﻴﻜﻥ‬myvariable(‫ﺍﺤﺩﻯ‬ ‫ﻋﻠﻰ‬ ‫ﻤﻠﺼﻘﻪ‬ ‫ﻋﻨﻭﻨﻪ‬ ‫ﺒﻁﺎﻗﻪ‬ ‫ﺍﻟﻭﺼﻭ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﺒﺤﻴﺙ‬ ‫ﺍﻟﺨﺎﻨﺎﺕ‬ ‫ﻫﺫﻩ‬‫ﻓﻲ‬ ‫ﻋﻨﻭﺍﻨﻪ‬ ‫ﻤﻌﺭﻓﻪ‬ ‫ﺒﺩﻭﻥ‬ ‫ﺴﺭﻴﻌﺎ‬ ‫ﺍﻟﻴﻪ‬ ‫ل‬ ، ‫ﺍﻟﺫﺍﻜﺭﻩ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 31. 31 ‫ﺍﻟﻔﻜﺭﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻴﻤﺜل‬ ‫ﺘﺨﻁﻴﻁﺎ‬ ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻴﻌﺭﺽ‬.، ‫ﺍﻟﺸﻜل‬ ‫ﻤﻥ‬ ‫ﻴﺘﻀﺢ‬ ‫ﻭﻜﻤﺎ‬ ‫ﻴﺒﺩ‬‫ﺃ‬‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻋﻨﻭﺍﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬102.‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺤﺠﻡ‬ ‫ﺍﻟﻰ‬ ‫ﻭﺍﺴﺘﻨﺎﺩﺍ‬ myvraiable‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻋﻨﺎﻭﻴﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺃﻭ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻴﺄﺨﺫ‬ ‫ﻓﻘﺩ‬. ‫ﺤﺠ‬‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﺯ‬// ‫ﻫﺫﺍ‬ ‫ﺒﻨﻭﻉ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺘﺨﺒﺭ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻻﺤﺩ‬ ‫ﺘﻌﺭﻴﻔﻙ‬ ‫ﻋﻨﺩ‬ ‫ﺼﺤﻴﺢ‬ ‫ﻋﺩﺩ‬ ‫ﻫﻭ‬ ‫ﻫل‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭ‬Integer‫ﺤﺭﻑ‬ ‫ﺍﻡ‬character‫؟‬ ‫ﺫﻟﻙ‬ ‫ﻏﻴﺭ‬ ‫،ﺍﻡ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻨﻭﻉ‬ ‫ﻭﻜﺫﻟﻙ‬ ‫ﺴﻴﺤﺠﺯﻫﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺒﺎﻟﻤﺴﺎﺤﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺘﺨﺒﺭ‬ ‫ﺍﻟﻤﻌﻠﻭﻤﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺒﺎﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﺨﺯﻴﻨﻬﺎ‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺒ‬ ‫ﻭﺍﺤﺩ‬ ‫ﺘﺸﻐل‬ ‫ﺨﺎﻨﻪ‬ ‫ﻜل‬‫ﺎﻴﺕ‬.، ‫ﺒﺎﻴﺕ‬ ‫ﺍﺭﺒﻌﻪ‬ ‫ﺘﻨﺸﺌﻪ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺤﺠﻡ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻴﺕ‬ ‫ﺍﺭﺒﻌﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺤﺘﺎﺝ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻩ‬ ‫ﻓﻬﺫﺍ‬.‫ﺨﺎﻨﺎﺕ‬ ‫ﺍﺭﺒﻌﻪ‬ ‫ﺍﻭ‬.‫ﻴﺨﺒﺭ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻨﻭﻉ‬)‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﻤﺜل‬integer(‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﺒﻤﻘﺩﺍﺭ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬)‫ﻋﺩﺩ‬ ‫ﺍﻟﺨﺎﻨﺎﺕ‬(‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺴﻴﺤﺠﺯﻫﺎ‬ ‫ﺍﻟﺘﻰ‬. ‫ﺍﻟﻤﺨﺘﻠ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻫﻨﺎﻙ‬،، ‫ﻤﺨﺘﻠﻔﻪ‬ ‫ﺒﺄﺒﻌﺎﺩ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬ ‫ﻔﻪ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻤﺨﺘﻠﻔﻪ‬ ‫ﻭﺤﺠﻭﻡ‬!!‫ﺍﺸﻬﺭﻫﺎ‬ ‫ﻫﻲ‬ ‫ﻫﺫﻩ‬:: Myvariable‫اﺳﻢ‬‫اﻟﻤﺘﻐﯿﺮ‬ ‫اﻟﺬاﻛﺮه‬ ‫اﻟﻌﻨﻮان‬ 100 104103 102 101 102 PDF created with pdfFactory trial version www.pdffactory.com
  • 32. 32 ‫ﺍﻴ‬ ‫ﻴﻭﺠﺩ‬‫ﺍﻟ‬ ‫ﻀﺎ‬‫ﻤﺯﻴﺩ‬‫ﻨﺤﺘﺎ‬ ‫ﻤﺎ‬ ‫ﻜل‬ ‫ﻫﺫﺍ‬ ‫ﻟﻜﻥ‬ ،‫ﺠ‬‫ﺍﻻﻥ‬ ‫ﻪ‬. ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺴﺎﺒﻘ‬ ‫ﺭﺃﻴﻨﺎ‬ ‫ﻜﻤﺎ‬‫ﹰ‬‫ﺎ‬)‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻴﻭﻡ‬(‫ﻋﺒﺎﺭﻩ‬ ‫ﺭﺃﻴﻨﺎ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻓﻲ‬ var‫ﻓﻲ‬ ‫ﻨﺤﺘﺎﺠﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻋﻥ‬ ‫ﻨﻌﻠﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻨﺎ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬)‫ﺍﻟﺒﺭﻨﺎ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻁﻠﻭﺏ‬ ‫ﺤﺴﺏ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻟﻪ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻜل‬‫ﻤﺞ‬(. ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬: ‫ﺍﺴ‬‫ـ‬‫ﺍﻟ‬ ‫ﻡ‬‫ــ‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻨﻭﻋﻪ‬: ; variablename : type ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﺴﻡ‬‫ﺍﻟﻤـ‬‫ــ‬)‫ﻤﻥ‬(‫ـــــ‬)‫ﺍﻟﻰ‬(‫ــﺩﻯ‬‫ﺍﻟﺤﺠﻡ‬‫ﺍﻟﻨﻭﻉ‬ Shortint-128‫ﺍﻟﻰ‬+1271‫ﺒﺎﻴﺕ‬integer Byte0‫ﺍﻟﻰ‬2551‫ﺒﺎﻴﺕ‬integer Integer-32768‫ﺍﻟﻰ‬+327672‫ﺒﺎﻴﺕ‬integer Word0‫ﺍﻟﻰ‬655352‫ﺒﺎﻴﺕ‬integer Longint-2146473648‫ﺍﻟﻰ‬+21464736474‫ﺒﺎﻴﺕ‬integer Real-???????‫ﺍﻟﻰ‬+???????6‫ﺒﺎﻴﺕ‬fractional String‫ﺒﺤﺩﻭﺩ‬255‫ﺤﺭﻑ‬255‫ﺒﺎﻴﺕ‬‫ﺭﻗﻤﻰ‬ ‫ﻏﻴﺭ‬ Char‫ﺤﺭﻑ‬‫ﻭﺍﺤﺩ‬‫ﻓﻘﻁ‬1‫ﺒﺎﻴﺕ‬‫ﺭﻗﻤﻰ‬ ‫ﻏﻴﺭ‬ BooleanTrue - False1‫ﺒﺎﻴﺕ‬‫ﺭﻗﻤﻰ‬ ‫ﻏﻴﺭ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 33. 33 Variablename ‫ﺍﻻﺴﻡ‬ ‫ﺩﺍﺨل‬ ‫ﻤﺴﺎﻓﺎﺕ‬ ‫ﻭﻀﻊ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻻ‬ ‫ﻟﻜﻨﻙ‬ ، ‫ﺘﺭﻴﺩ‬ ‫ﻜﻴﻔﻤﺎ‬ ‫ﺍﺴﻡ‬ ‫ﺍﻱ‬ ‫ﺘﻀﻊ‬ ‫ﻫﻨﺎ‬.‫ﺍﻭ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﻤﺎﺀ‬ ‫ﺍﺤﺩ‬ ‫ﻓﻲ‬ ‫ﺒﺭﻗﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬‫ﺍ‬ ‫ﺍﺴﻤﺎﺀ‬ ‫ﺒﻴﻥ‬ ‫ﻭﻤﻥ‬‫ﺍﻟﺘﻰ‬ ‫ﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬ ‫ﺘﺴﺘﻁﻴﻊ‬x‫ﻭ‬myage‫ﻭﻫﻜﺫﺍ‬،‫ﺍﻟﺘﻰ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺠﻴﺩﻩ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﻤﺎﺀ‬ ‫ﺍﻟﺠﻴﺩﻩ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ، ‫ﻟﻬﺎ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺒﺎﻟﻌﻨﺎﺼﺭ‬ ‫ﺘﻌﺭﻓﻙ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺴﻴﺭ‬ ‫ﺨﻁﻭﺍﺕ‬ ‫ﻭﺍﺴﺘﻌﻴﺎﺏ‬ ‫ﻓﻬﻡ‬ ‫ﻤﻥ‬ ‫ﻴﺴﻬل‬. ‫ﻤﺜﺎل‬// Var X:integer; Y:string; A,b:char; { ‫ﻟﻼ‬‫ﻭﺍﺤﺩ‬ ‫ﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭﻴﻥ‬ ‫ﻋﻥ‬ ‫ﻋﻼﻥ‬ } ‫ﺘﺨﺼﻴﺹ‬ ‫ﻴﺘﻡ‬ ، ‫ﻤﺘﻐﻴﺭ‬ ‫ﻋﻥ‬ ‫ﺍﻋﻼﻨﻙ‬ ‫ﻋﻨﺩ‬)‫ﺤﺠﺯ‬(‫ﻗﻴﻤﻪ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻟﻬﺫﺍ‬ ‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻫﺫﺍ‬، ‫ﺍﻟﻭﻗﺕ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﺫﺍﻜﺭﻩ‬ ‫ﻭﺠﻭﺩﻫﺎ‬ ‫ﺘﺼﺎﺩﻑ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻱ‬ ‫ﺴﺘﻜﻭﻥ‬ ‫ﺍﻟﺫﺍﻜﺭﻩ‬ ‫ﻟﻬﺫﻩ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬ ‫ﺴﺘﻌﺭﻑ‬. ‫ﺍﻟﺘﺴﻤﻴﻪ‬ ‫ﻓﻲ‬ ‫ﻋﺎﻤﻪ‬ ‫ﻭﻜﻘﺎﻋﺩﻩ‬: ·‫ﺍﻻﺴﻤﺎ‬ ‫ﺘﺠﻨﺏ‬ ‫ﺤﺎﻭل‬‫ﻤﺜل‬ ‫ﺍﻟﻤﺒﻬﻤﻪ‬ ‫ﺀ‬j5d8g ·‫ﺍﻟﻭﺍﺤﺩ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﺫﺍﺕ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺤﺎﻭل‬x‫ﻭ‬i ·‫ﻤﺜل‬ ‫ﺍﻟﻤﻌﺒﺭﻩ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺤﺎﻭل‬count‫ﻭ‬MyAge PDF created with pdfFactory trial version www.pdffactory.com
  • 34. 34 ‫ﻟﻤﺘﻐﻴﺭﺍﺘﻙ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﻻﺴﻨﺎﺩ‬)‫ﺘﻌﻴﻴﻥ‬(‫ﻤﻌﻴﻨﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬،‫ﺍﻻﺘﻲ‬ ‫ﺒﺎﻟﺸﻜل‬ ‫ﻜﺘﺎﺒﺘﻪ‬ ‫ﻴﺠﺏ‬: var_name:= value; ‫ﻴ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻭﻫﺫﺍ‬‫ﺒﺩﺍﻴﻪ‬ ‫ﺩﺍﺨل‬ ‫ﻜﻭﻥ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﺍﻟـ‬ ‫ﺒﻌﺩ‬ ‫،ﺃﻱ‬begin ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬. ‫ﻤﺜﺎل‬// Var X: integer; Begin X: = 10; Writeln(x); End. ‫ﻗﻴﻤﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬X‫ﻭﺘﺴﺎﻭﻱ‬10. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬: ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﻭﺍﻟﻭﺤﺩﻩ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺒﻌﺩ‬‫ﻟﻡ‬‫ﺍﻜﺘﺒﻬﻤﺎ‬‫ﺍﻻﺨﺘﺼﺎﺭ‬ ‫ﺒﻐﺭﺽ‬ ، ‫ﻭﺍﻟﺴﺭﻋﻪ‬‫ﺒﻨﻔﺴﻙ‬ ‫ﺒﻜﺘﺎﺒﺘﻬﻤﺎ‬ ‫ﻗﻡ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬(‫ﺒﺎﻻﻋﻼﻥ‬ ‫ﻨﻘﻭﻡ‬ ‫ﻟﻬﺎ‬ ‫ﺍﻟﻤﺨﺼﺹ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬،‫ﺒﺘﻌﺭﻴﻑ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻭﻓﻲ‬x‫ﻤﻥ‬ ‫ﺍﻟﻨﻭﻉ‬integer‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﺜﻡ‬ ، ‫ﺼﺤﻴﺢ‬ ‫ﻜﻌﺩﺩ‬ ‫ﺃﻱ‬‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﻭﺫﻟﻙ‬‫ﺍﻟﻌﺒﺎﺭﻩ‬ begin‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺒﻌﺩﻫﺎ‬ ،)‫ﺍﺴﻨﺎﺩ‬(‫ﺍﻟﺭ‬‫ﻗﻡ‬10‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﻰ‬x‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺜﻡ‬ ، PDF created with pdfFactory trial version www.pdffactory.com
  • 35. 35 ‫ﺍﻟﻤﺘﻐﻴﺭ‬x‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬writeln(x)‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﻟﻡ‬ ‫ﺍﻨﻨﺎ‬ ‫ﻻﺤﻅ‬ ‫ﺍﻟﺼﻐﻴﺭﻩ‬ ‫ﺍﻻﻗﻭﺍﺱ‬' ')‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﻭ‬ ‫ﻭﻫﺫﺍ‬(. ‫ﻤﻨﻁﻘﻰ‬ ‫ﺴﺅﺍل‬ ‫؟؟؟‬ ‫ﻨﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﻟﻡ‬ ‫ﻟﻤﺎﺫﺍ‬!! ‫ﺍﻗﻭﺍﺱ‬ ‫ﺒﺩﻭﻥ‬ ‫ﻓﻨﻜﺘﺒﻬﺎ‬ ‫ﻤﺎ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻨﻁﺒﻊ‬ ‫ﺍﻥ‬ ‫ﻨﺭﻴﺩ‬ ‫ﻋﻨﺩﻤﺎ‬)‫ﺍﻟﻨ‬‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﻉ‬(. ‫ﺒﺎﻻﻗﻭﺍﺱ‬ ‫ﻨﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﻫﻲ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬)‫ﺍﻻﻭل‬ ‫ﺍﻟﻨﻭﻉ‬(. ‫ﻤﺜﺎل‬)‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬x‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string(// Write (' I Learn Pascal '); X: = ‘O.k.’; Writeln(x); ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬)‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬// ( I Learn Pascal O.K ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﻫﻭ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬I Learn Pascal‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻤﺭ‬ ‫ﺍﻥ‬ ‫ﻭﺤﻴﺙ‬ ‫ﻫﻭ‬write‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻓﺈﻥ‬. ‫ﺍﻟﻜﻠﻤﻪ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﺘﻡ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺴﻁﺭ‬o.k‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻲ‬x. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻫﻭ‬ ، ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺴﻁﺭ‬x)‫ﻭﻫﻲ‬o.k. ( ‫ﺍﺨﺭ‬ ‫ﻤﺜﺎل‬// ‫ﻗﻴﻤﻪ‬ ‫ﻫﻲ‬ ‫ﻤﺎ‬ ‫ﻗﺭﺭ‬x‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬integer‫؟‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 36. 36 X: = 10; X: = 2; Write(x); ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬‫ﻫﻲ‬/2 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﺘﻡ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬x‫ﻭﻫﻲ‬10‫ﺘﻌﻴﻴﻥ‬ ‫ﺘﻡ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﺜﻡ‬ ، ‫ﻟﻠـ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﻗﻴﻤﻪ‬x)‫ﻭﻫﻲ‬ ‫ﺒﺩﻟﻬﺎ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻭﺘﻌﻴﻴﻥ‬ ‫ﺍﻟﻘﺩﻴﻤﻪ‬ ‫ﻤﺴﺢ‬ ‫ﺘﻡ‬ ‫ﺍﻱ‬2(‫ﻭﻓﻲ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺘﻡ‬ ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﺴﻁﺭ‬x‫ﻭﻫﻲ‬ ،2. ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻻﺘﻲ‬ ‫ﺒﺎﻟﺸﻜل‬ ‫ﻭﺘﻜﻭﻥ‬ ، ‫ﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬ ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻭﻫﻭ‬// 1.Writeln (‘The total is ‘, x); 2.Writeln (‘my name is: ‘, n, ‘my family name is:’, f); ‫ﻗﻴﻤﻪ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬x‫ﺘﺴﺎﻭﻱ‬100 ‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬/ The total is 100 ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬‫ﻗﻴﻤﻪ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬ ‫ﺍﻟﺜﺎﻨﻲ‬n‫ﺘﺴﺎﻭﻱ‬wajdy‫ﻭﻗﻴﻤﻪ‬f‫ﺘﺴﺎﻭﻱ‬essam ‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬/ My name is: wajdy my family name is: essam PDF created with pdfFactory trial version www.pdffactory.com
  • 37. 37 ‫ﻤﻨﻪ‬ ‫ﻭﺍﻟﻐﺭﺽ‬ ، ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﻭ‬ ‫ﻭﻫﺫﺍ‬‫ﺍﻻ‬‫ﺨﺘﺼﺎﺭ‬ ‫ﻓ‬‫ﻘﻁ‬!‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻨﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﻓﺒﺩل‬)‫ﺍﻻﻭل‬ ‫ﺍﻟﻨﻭﻉ‬(‫ﺠﻤﻠﻪ‬ ‫ﻨﻜﺘﺏ‬ ‫ﺜﻡ‬ ‫ﻁﺒﺎﻋﻪ‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬)‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬(‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺜﻨﺎﻥ‬ ‫ﺘﺼﺒﺢ‬ ، ‫ﻭﺍﺤﺩﻩ‬‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﺍﻟﺘﻔﺭﻴﻕ‬ ‫ﻭﻴﺘﻡ‬ ،)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬ ‫ﺍﻟﻨﺹ‬ ‫ﺒﻴﻥ‬ ‫ﺍﻱ‬(‫ﺒﻭﺍﺴﻁﻪ‬ ‫ﻓﺎﺼﻠﻪ‬(,). ‫ﺠﻤﻠﻪ‬‫ﻋﻠﻰ‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬‫ﺍﻟﺸﺎﺸﻪ‬: ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﻓﻲ‬ ‫ﻤﺎ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﺎﺩﺨﺎل‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ، ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﻤﻥ‬ ‫ﻜﺜﻴﺭ‬ ‫ﻋﻠﻰ‬ ‫ﻭﺍﻋﺘﻤﺎﺩﺍ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﺴﻭﻑ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻫﺫﻩ‬‫ﻨﺘﺎﺌﺞ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺘﻜﻭﻥ‬. ‫ﻭ‬‫ﻓ‬‫ﻭﻫﻲ‬ ‫ﺍﻻ‬ ‫ﻟﻠﻘﺭﺍﺀﻩ‬ ‫ﺠﻤﻠﺘﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻲ‬/ 1/read 2/readln ‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﺍﻟﻔﺭﻕ‬: ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﻲ‬read، ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺩﺨﻠﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻴﺘﻡ‬ ، ‫ﻭ‬‫ﺍﻟ‬ ‫ﻴﺘﻭﻗﻑ‬‫ﻗﺭﺍﺌﺘﻪ‬ ‫ﺘﻤﺕ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺍﺨﺭ‬ ‫ﻋﻨﺩ‬ ‫ﻤﺅﺸﺭ‬.‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻨﺯل‬ ‫ﺍﻻﺨﺭ‬ ‫ﻭﻓﻲ‬ ‫ﺍﻟﺘﺎﻟﻲ‬. ‫ﺍﺭ‬‫ﺍﻻﺩﺨﺎل‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﺍﻨﻭﻩ‬ ‫ﺍﻥ‬ ‫ﻴﺩ‬"‫ﻤﺴﺎﻓﻪ‬ ‫ﺜﻡ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﺍﺩﺨﻠﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻴﻬﻡ‬ ‫ﻻ‬ ‫ﺍﺩﺨﻠﺕ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﺜﻡ‬‫ﺍﻟﻌﺩﺩ‬‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﺜﻡ‬ ‫ﺍﻨﺘﺭ‬ ‫ﺜﻡ‬ ‫ﺍﻻﻭل‬. " ‫ﺍﻻﺩﺨﺎل‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬: PDF created with pdfFactory trial version www.pdffactory.com
  • 38. 38 Begin Write(‘Enter you number: ‘); Readln(x); Writeln (‘You Number is: ‘, x); End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﻭﻫﻭ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻨﺹ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺃ‬Enter you number:‫ﻭﻓﻲ‬ ‫ﺍﻻﻥ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬)‫ﻫﻲ‬ ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﺒﺴﺒﺏ‬write(‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺴﻭﻑ‬ x)‫ﺒﻨﻔﺴﻙ‬ ‫ﺒﺘﻌﺭﻴﻔﻪ‬ ‫ﻗﻡ‬!. (‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻨﺘﻘل‬. ‫ﺴﻭﻑ‬ ‫ﺍﺨﻴﺭﺍ‬‫ﻨﺹ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻨﻘﻭﻡ‬+‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬)‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻭﻫﻭ‬ ‫ﺍﻟﻁﺒﺎﻋﻪ‬. ( ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬ Program example (input, output); Uses wincrt; Var X: integer; S: string; Begin Write ('Enter your Name: '); Readln(s); Write ('Enter your Age: '); Readln(x); Writeln ('Your Name is: ',s,' your age is: ',x); End. PDF created with pdfFactory trial version www.pdffactory.com
  • 39. 39 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ Enter your Name: wajdy Enter your Age: 20 Your Name is: wajdy your age is: 20 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻟﻤﺴ‬ ‫ﻟﻠﻭﺤﺩﻩ‬ ‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻻﺴﻡ‬ ‫ﺍﻻﻭل‬ ‫ﻤﻌﺭﻭﻓﻴﻥ‬ ، ‫ﺍﻻﻭﻟﻴﻥ‬ ‫ﺍﻟﺴﻁﺭﻴﻥ‬‫ﺘﺨﺩﻤﻪ‬ )‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻻﻥ‬ ‫ﻨﻅﺭﺍ‬)‫ﻋﺒﺎﺭﻩ‬writeln(‫ﻭﺤﺩﻩ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺍﻥ‬ ‫ﻓﻴﺠﺏ‬ wincrt(. ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﻟﻼﻋﻼﻥ‬ ‫ﻫﻭ‬ ، ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺴﻁﺭ‬.‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬ ‫ﻭﻗﺩ‬x‫ﻤﻥ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬integer‫ﻭﺍﻟﻤﺘﻐﻴﺭ‬ ،s‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺒﺩﺍﻴﻪ‬ ‫ﺍﻟﺭﺍﺒﻊ‬ ‫ﺍﻟﺴﻁﺭ‬begin‫ﺍﻟﺴﻁﺭ‬ ،‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻟﺨﺎﻤﺱ‬Enter your Name:‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻜﻭﻥ‬‫ﺍﻟﺴﺎﺩﺱ‬ ‫ﻭﺍﻟﺴﻁﺭ‬ ، ‫ﻗﻴﻤﻪ‬ ‫ﻟﻘﺭﺍﺀﻩ‬s‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﻭﺍﻻﻨﺘﻘﺎل‬‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻟﺴﺎﺒﻊ‬ ‫ﺍﻟﺴﻁﺭ‬ ، Enter your Age:‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻜﻭﻥ‬‫ﺍﻟﺴﻁﺭ‬ ، ‫ﻗﻴﻤﻪ‬ ‫ﻟﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﺜﺎﻤﻥ‬x‫ﺍﻟﻤﺅ‬ ‫ﻭﻴﻨﺘﻘل‬‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺸﺭ‬. ‫ﺍﻟﻨﺹ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺘﺎﺴﻊ‬ ‫ﺍﻟﺴﻁﺭ‬Your Name is‫ﺍﻟ‬ ‫ﻭﻗﻴﻤﻪ‬‫ﻤﺘﻐﻴﺭ‬s ‫ﺍﻟﻨﺹ‬ ‫ﻭﻁﺒﺎﻋﻪ‬your age is:‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬x. PDF created with pdfFactory trial version www.pdffactory.com
  • 40. 40 ‫ﺍﻟﺜﻭﺍﺒﺕ‬Constants ‫ﻗﻴﻤ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﻻ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺜﺎﺒﺘﻪ‬ ‫ﺍﻻﺸﻴﺎﺀ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻨﺠﺩ‬ ‫ﻤﻨﺎ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﺍﻟﻭﺍﻗﻌﻴﻪ‬ ‫ﺤﻴﺎﺘﻨﺎ‬ ‫ﻓﻲ‬‫ﺘﻬﺎ‬ ‫ﺍﺒﺩﺍ‬‫ﻤﺜﻼ‬ ،/ Pi = 3.1415926513 , e = 2.7182818284529 ‫ﺍﻻﻗل‬ ‫ﻋﻠﻰ‬ ‫ﻤﻨﺎ‬ ‫ﻟﻠﺒﻌﺽ‬ ، ‫ﺤﻔﻅﻬﺎ‬ ‫ﺍﻟﺼﻌﺏ‬ ‫ﻤﻥ‬ ‫ﺍﻻﺭﻗﺎﻡ‬ ‫ﻫﺫﻩ‬‫ﻟﻠﺫﻙ‬ ،‫ﺘﻘﺩﻡ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻠﺜﻭﺍﺒﺕ‬ ‫ﺠﻴﺩﻩ‬ ‫ﺍﺩﺍﻩ‬‫ﻤﺜﻼ‬ ‫ﻓﻴﻬﺎ‬ ‫ﻤﺴﺒﻘﺎ‬ ‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺩﻭﺍل‬ ‫ﺒﻌﺽ‬ ‫ﺘﻭﺠﺩ‬ ‫ﺍﻴﻀﺎ‬ ،pi. ‫ﺍﻟﺜﻭﺍﺒﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺍﻻﺘﻲ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻴﺄﺨﺫ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻓﻭﻕ‬ ‫ﻋﺎﺩﻩ‬ ‫ﻴﻜﻭﻥ‬/ ;‫ﻗﻴﻤﺘﻪ‬:‫ﺍﻟﺜﺎﺒﺕ‬ ‫ﺍﺴـﻡ‬ Constname: Value; ‫ﺍﻻﻋﻼﻥ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬ Const Myconst = 1234 ; ‫ﺍﻟﺜﺎﺒﺕ‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬myconst‫ﻗﻴﻤﺘﻪ‬ ‫ﺘﻜﻭﻥ‬ ،1234‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﻭﻻ‬ ، ‫ﺩﺭﺱ‬ ‫ﺭﺍﺠﻊ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﺴﻤﻴﻪ‬ ‫ﺸﺭﻭﻁ‬ ‫ﻟﻨﻔﺱ‬ ‫ﺘﺨﻀﻊ‬ ‫ﺍﻟﺜﻭﺍﺒﺕ‬ ‫ﺘﺴﻤﻴﻪ‬ ‫ﺍﻥ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬. ‫ﺍﻟﺜﻭﺍﺒﺕ‬ ‫ﻻﺴﺘﺨﺩﺍﻡ‬ ‫ﺒﺴﻴﻁ‬ ‫ﻤﺜﺎل‬// PDF created with pdfFactory trial version www.pdffactory.com
  • 41. 41 Program example (input, output); Uses wincrt; Const Mc=50; Var X: integer; Begin X: = 2; Write(x*mc); End. ‫ﺃﺭﺃﻴﺕ‬، ‫ﺍﻻﺴﺘﺨﺩﺍﻡ‬ ‫ﺒﺴﻴﻁ‬ ‫ﻫﻭ‬ ‫ﻜﻡ‬ ،‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﺠﺭﺒﻪ‬ ‫ﻗﻡ‬‫ﺍﻟﻤﺨﺭﺠﺎﺕ؟؟‬ ‫ﻫﻲ‬ ‫ﻤﺎ‬ ، ‫ﻀﺭﺏ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻰ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬50*2‫ﻭ‬‫ﺘﺴﺎﻭﻱ‬100. ‫ﻫﺫﻩ‬ ‫ﻜﻠﻤﺘﻰ‬ ‫ﺘﺫﻜﺭ‬ ‫ﻟﻜﻥ‬‫ﻭﺍﺤﺩﻩ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻ‬ ‫ﺍﺒﺩﺍ‬ ‫ﺍﺒﺩﺍ‬ ‫ﻟﻠﺘﻐﻴﺭ‬ ‫ﻗﺎﺒﻠﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺜﻭﺍﺒﺕ‬ ، ‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺍﻟﺜﺎﺒﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﻭﻫﻲ‬ ‫ﻓﻘﻁ‬/ Const Myconst: mytype =the value; ‫ﻤﺜﺎل‬// Const Mc: integer = 40; ‫ﺍﻴﻀﺎ‬/ PDF created with pdfFactory trial version www.pdffactory.com
  • 42. 42 Const Aa: integer=2, 3; ‫ﺨ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻫﺫﺍ‬‫ﺎﻁﺊ‬‫ﻟﻤﺎﺫﺍ‬ ‫؟‬ ‫ﺍﻟﺜﺎﺒﺕ‬ ‫ﻻﻥ‬Aa‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer‫ﻤﻥ‬ ‫ﻗﻴﻤﺘﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻭﻻ‬ ‫ﺍﻟﺤﻘﻴﻘﻲ‬ ‫ﺍﻟﻨﻭﻉ‬real‫ﺃﻱ‬2.3 ‫ﻭﺍﻀﺢ‬‫ﻴﻤﻜﻥ‬ ‫ﻜﻴﻑ‬ ‫ﺍﻻﻥ‬ ،‫ﺍﻥ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﻗﻴﻤﺘﻪ‬ ‫ﻨﻐﻴﺭ‬. ‫ﻤﺜﺎل‬// Const X:word=10; Var Z:integer; Begin Z:= 2; X:= 20; Writeln(x*z); End. ‫ﻜﺫﻟﻙ‬ ‫ﺍﻟﻴﺱ‬ ، ‫ﺴﻬل‬‫ﺍﻟﻌﺎﺩﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ،. PDF created with pdfFactory trial version www.pdffactory.com
  • 43. 43 ‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺮﺍﺑﻊ‬ ‫ﻭﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﺍﻟﺘﻌﺒﲑﺍﺕ‬ ‫ﺗﻨﻔﻴﺬﻫﺎ‬ ‫ﳚﺮﻱ‬ ‫ﺍﻟﱴ‬ ‫ﺍﻻﻭﺍﻣﺮ‬ ‫ﻣﻦ‬ ‫ﳎﻤﻮﻋﻪ‬ ‫ﻋﻦ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺣﻘﻴﻘﺘﻪ‬ ‫ﰲ‬ ‫ﺍﻟﱪﻧﺎﻣﺞ‬ ‫ﺑﺎﻟ‬‫ﺘ‬‫ﺍﻣ‬ ‫ﰲ‬ ‫ﻳﺘﻤﺜﻞ‬ ‫ﺍﻟﱪﻧﺎﻣﺞ‬ ‫ﰲ‬ ‫ﺍﻟﻘﻮﻩ‬ ‫ﻭﻣﻜﻤﻦ‬ ، ‫ﺴﻠﺴﻞ‬‫ﻜﺎ‬‫ﺍﻭ‬ ‫ﳎﻤﻮﻋﻪ‬ ‫ﺗﻨﻔﻴﺬ‬ ‫ﻧﻴﻪ‬ ‫ﺍ‬ ‫ﺍﺳﺘﻨﺎﺩﺍ‬ ‫ﺍﻻﻭﺍﻣﺮ‬ ‫ﻣﻦ‬ ‫ﺍﺧﺮﻯ‬‫ﻣﻌﲔ‬ ‫ﺷﺮﻁ‬ ‫ﺧﻄﺄ‬ ‫ﺍﻭ‬ ‫ﺻﺤﻪ‬ ‫ﱃ‬. ‫ﺍﻟﻴﻮﻡ‬ ‫ﺳﺘﺘﻌﻠﻢ‬: ·‫ﻭﺍﻟﺘﻌﺒﲑﺍﺕ‬ ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﻫﻴﻪ‬ ‫ﻣﺎ‬ ·‫ﺍﻟﻜﺘﻞ‬ ‫ﻫﻲ‬ ‫ﻣﺎ‬ ·‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬)‫ﻭﻣﻨﻄﻘﻴﻪ‬ ‫ﺣﺴﺎﺑﻴﻪ‬(‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬ ‫ﰲ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 44. 44 ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﺘﺘﺤﻜﻡ‬statement‫ﻻ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﺒﺘﻘﻴﻴﻡ‬ ‫ﺘﻘﻭﻡ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺘﻨﻔﻴﺫ‬ ‫ﺘﺴﻠﺴل‬ ‫ﻓﻲ‬ ‫ﺸﻲ‬ ‫ﺍﻱ‬ ‫ﺘﻔﻌل‬.‫ﻤﻨﻘﻭﻁﻪ‬ ‫ﺒﻔﺎﺼﻠﻪ‬ ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﻜﺎﻗﻪ‬ ‫ﻨﺘﺘﻬﻲ‬);. (‫ﺍﺸﻬﺭ‬ ‫ﻭﻤﻥ‬ ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ، ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬)‫ﺍﻻﺴﻨﺎﺩ‬(‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻩ‬ ‫ﺘﻡ‬ ‫ﻜﻤﺎ‬ ،. X:= a+b; ‫ﻓﻲ‬ ‫ﻋﻠﻴﻪ‬ ‫ﻤﺘﻌﺎﺭﻑ‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬ ‫ﻋﻜﺱ‬ ‫ﻭﻋﻠﻰ‬‫ﻋﻠﻡ‬‫ﺍﻥ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻻﺘﻌﻨﻲ‬ ، ‫ﺍﻟﺠﺒﺭ‬x ‫ﻤﺠﻤﻭﻉ‬ ‫ﻴﺴﺎﻭﻱ‬a‫ﻭ‬b.‫ﺘﻘﺭﺃ‬ ‫ﻭﺍﻨﻤﺎ‬"‫ﻤﺠﻤﻭﻉ‬ ‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻡ‬a‫ﻭ‬b‫ﻟﻠﻤﺘﻐﻴﺭ‬x" ‫ﻓ‬ ، ‫ﺒﻤﻬﻤﺘﻴﻥ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻗﻴﺎﻡ‬ ‫ﻤﻥ‬ ‫ﻭﺒﺎﻟﺭﻏﻡ‬‫ﺎ‬‫ﻨﻬ‬‫ﻭﺍﺤﺩﻩ‬ ‫ﻜﻌﺒﺎﺭﻩ‬ ‫ﺘﻌﺎﻤل‬ ‫ﺎ‬‫ﻻ‬ ‫ﻭﻟﺫﻟﻙ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﻤﻨﻘﻭﻁﻪ‬ ‫ﻓﺎﺼﻠﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻻ‬ ‫ﺘﺸﺘﻤل‬.‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻤﻌﺎﻤل‬assignment‫ﻴﻌﻤل‬ ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻟﻌﻼﻤﻪ‬ ‫ﻟﻌﻼﻤﻪ‬ ‫ﺍﻻﻴﻤﻥ‬ ‫ﺒﺎﻟﺠﺎﻨﺏ‬ ‫ﻤﻭﺠﻭﺩ‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﻋﻠﻰ‬):=(‫ﻫﻭ‬ ‫ﻟﻤﺎ‬ ‫ﺍﻻﻴﺴﺭ‬ ‫ﺒﺎﻟﺠﺎﻨﺏ‬ ‫ﻤﻭﺠﻭﺩ‬. ‫ﺍﻟﻤﺭﻜﺒﻪ‬ ‫ﻭﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﺍﻟﻜﺘﻠﻪ‬block ‫ﻤﻔﺭﺩ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻭﻀﻊ‬ ‫ﻓﻴﻪ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻤﻜﺎﻥ‬ ‫ﺍﻱ‬‫ﻤﺭﻜﺒﻪ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻭﻀﻊ‬ ‫ﻜﺫﻟﻙ‬ ‫ﺴﻴﻤﻜﻨﻙ‬ ، ‫ﻩ‬ ‫ﺒﺎﻟﻜﺘﻠﻪ‬ ‫ﺘﺴﻤﻰ‬ ‫ﻭﺍﻟﺘﻰ‬ ، ‫ﻓﻴﻪ‬)‫ﺍﻟﻤﺭﻜﺒﻪ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺍﻭ‬(‫ﻜﺘﺎﺒﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻭﺘﻜﻭﻥ‬ ، begin‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﺍﻟﻜﺘﻠﻪ‬ ‫ﺒﺎﻏﻼﻕ‬ ‫ﻗﻡ‬ ‫ﺫﻟﻙ‬ ‫ﺒﻌﺩ‬ ، ‫ﺘﺭﻴﺩﻫﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻌﺒﺎﺭﺕ‬ ‫ﻭﻀﻊ‬ ‫ﺜﻡ‬ end;)‫ﻜﻠﻤﻪ‬ ‫ﻤﻊ‬ ‫ﺍﻟﻔﺎﺼﻠﻪ‬ ‫ﻭﺠﻭﺩ‬ ‫ﻻﺤﻅ‬end. ( ‫ﺍﻟﺘﻌﺒﻴﺭﺍﺕ‬ ‫ﺒﺄﻨﻪ‬ ‫ﻴﻭﺼﻑ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺤﺩﻯ‬ ‫ﻋﻨﻪ‬ ‫ﻴﻨﺘﺞ‬ ‫ﺸﻲ‬ ‫ﺍﻱ‬‫ﺘﻌﺒﻴﺭ‬expression.‫ﻫﻭ‬ ‫ﻭﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺒﺎﺤﺩﻯ‬ ‫ﻴﻌﻭﺩ‬ ‫ﻤﺎ‬.‫ﻓﺎﻟﻌﺒﺎﺭﻩ‬2+3‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﺘﻌﻭﺩ‬5‫ﻫﻲ‬ ‫ﺍﻟﺘﻌﺒﻴﺭﺍﺕ‬ ‫ﺠﻤﻴﻊ‬ ، ‫ﻋﺒﺎﺭﺍﺕ‬ ‫ﺍﻟﻭﻗﺕ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 45. 45 ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﻭﺍﻟﻤﻨﻁﻘﻴﻪ‬ ‫ﺍﻟﺭﻴﺎﻀﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬: ·‫ﺍﻟﺭﻴﺎﻀﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬: ‫ﻭﺍﻟﻘﺴﻤﻪ‬ ‫ﻭﺍﻟﻁﺭﺡ‬ ‫ﻭﺍﻟﻀﺭﺏ‬ ‫ﺍﻟﺠﻤﻊ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻤﻥ‬ ‫ﺘﺘﻜﻭﻥ‬ ‫ﻭﻫﻲ‬)، ‫ﺼﺤﻴﺢ‬ ‫ﻋﺩﺩ‬ ‫ﺤﻘﻴﻘﻲ‬ ‫ﻋﺩﺩ‬(‫ﻴﻠﻲ‬ ‫ﻓﻴﻤﺎ‬ ‫ﺫﻟﻙ‬ ‫ﻭﺘﻔﺼﻴل‬ ، ‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﻭﺒﺎﻗﻰ‬: ‫ﺍﻟﻌﻤﻠﻴﻪ‬‫ﺸﻜﻠﻬﺎ‬ ‫ﺍﻟﺠﻤﻊ‬+ ‫ﺍﻟﻁﺭﺡ‬- ‫ﺍﻟﻀﺭﺏ‬* ‫ﺼﺤﻴﺢ‬ ‫ﻋﺩﺩ‬ ‫ﻗﺴﻤﻪ‬div ‫ﺤﻘﻴﻘﻲ‬ ‫ﻋﺩﺩ‬ ‫ﻗﺴﻤﻪ‬/ ‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﺒﺎﻗﻲ‬mod ·‫ﺍﻟﻤﻨﻁﻘﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬: ‫ﻭﻴﺴﺎﻭﻱ‬ ‫ﻭﺍﺼﻐﺭﻤﻥ‬ ‫ﺍﻜﺒﺭﻤﻥ‬ ‫ﻋﻼﻤﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺘﺘﻜﻭﻥ‬..‫ﺫﻟﻙ‬ ‫ﻭﺘﻔﺼﻴل‬ ، ‫ﺍﻟﺦ‬ ‫ﻴﻠﻲ‬ ‫ﻜﻤﺎ‬: ‫ﺍﻟﻌﻤﻠﻴﻪ‬‫ﺍﻟﻌﻼﻤﻪ‬ ‫ﺍﻜﺒﺭ‬> ‫ﻴﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬>= ‫ﺍﺼﻐﺭ‬< ‫ﻴﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬<= ‫ﻴﺴﺎﻭﻱ‬= ‫ﻴﺴﺎﻭﻱ‬ ‫ﻻ‬< > PDF created with pdfFactory trial version www.pdffactory.com
  • 46. 46 ‫ﺍﻭﻻ‬:‫ﺍﻟﺭﻴﺎﻀﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬/ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬ ‫ﺒﻬﺫﻩ‬ ‫ﻋﻠﻡ‬ ‫ﻋﻠﻰ‬ ‫ﻴﻜﻭﻨﻭﺍ‬ ‫ﺍﻟﺒﺸﺭ‬ ‫ﺍﻏﻠﺏ‬ ‫ﺍﻥ‬ ، ‫ﺍﻅﻥ‬ ‫ﻜﻤﺎ‬.‫ﺍﻟﺠﻤﻊ‬ ‫ﻓﻌﻤﻠﻴﻪ‬ ‫ﺒﺎﻻﺸﺎﺭﻩ‬ ‫ﺘﻜﻭﻥ‬+‫ﻭﺍﻟﻁﺭﺡ‬-‫ﻭﺍﻟﻀﺭﺏ‬*‫ﻫﻭ‬ ‫ﺍﻻﻭل‬ ، ‫ﻨﻭﻋﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻭﺍﻟﻘﺴﻤﻪ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻗﺴﻤﻪ‬integer)‫ﻓﻲ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺘﻌﺭﻴﻔﻪ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻱ‬‫ﻗﺴﻡ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬(‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻭﺘﻜﻭﻥ‬div‫ﺍﻟﺤﻘﻴﻘﻴﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻗﺴﻤﻪ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ، ‫ﻭﺘﻜﻭﻥ‬‫ﺍﻟﻌﺎﺩﻴﻪ‬ ‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﺒﺎﺸﺎﺭﻩ‬/‫ﺒﺎﻟﻜﻠﻤﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﺒﺎﻗﻲ‬ ،mod. ·‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻻﻋﺩﺍﺩ‬integer‫ﺘﺤﺘﻭﻱ‬ ‫ﻻ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺼﺤﻴﺤﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻫﻲ‬ ‫ﻤﺜﻼ‬ ‫ﻜﺴﻭﺭ‬ ‫ﻋﻠﻰ‬/5‫ﻭ‬10‫ﻭ‬-52)‫ﺍ‬‫ﻭﻻ‬ ، ‫ﻤﻭﺠﺒﻪ‬ ، ‫ﺴﺎﻟﺒﻪ‬ ‫ﻋﺩﺍﺩ‬ ‫ﻜﺴﻭﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬(. ·‫ﺍﻟﺤﻘﻴﻘﻴﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬real‫ﻜﺴﻭﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺍﺘﻰ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻫﻲ‬)‫ﺍﻴﻀﺎ‬ ‫ﺴﺎﻟﺒﻪ‬ ‫ﺍﻭ‬ ‫ﻤﻭﺠﺒﻪ‬(‫ﻤﺜﻼ‬/2.5‫ﻭ‬-9.2‫ﻭ‬10)‫ﺍﻟﺼﺤﻴﺤﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﺍﻟﺤﻘﻴﻘ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻀﻤﻥ‬ ‫ﻤﻥ‬‫ﻴ‬‫ﺍﺫﻥ‬ ، ‫ﻭﺍﺸﻤل‬ ‫ﺍﻭﺴﻊ‬ ‫ﺍﻟﺤﻘﻴﻘﻴﻪ‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬ ، ‫ﻪ‬ ‫ﺠ‬‫ﺤﻘﻴﻘﻴﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺼﺤﻴﺤﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻤﻴﻊ‬‫ﺼﺤﻴﺢ‬ ‫ﻏﻴﺭ‬ ‫ﻭﺍﻟﻌﻜﺱ‬ ،. ( ‫ﺍﻟﻘﺴﻤﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﺒﺎﻗﻲ‬ ، ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻗﺴﻤﻪ‬ ‫ﻨﻘﺴﻡ‬ ‫ﻋﻨﺩﻤﺎ‬24‫ﻋﻠﻰ‬4،24 div 4.‫ﻫﻭ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﻴﻜﻭﻥ‬5‫ﻤﻥ‬ ‫ﻭﺍﻟﻤﺘﺒﻘﻰ‬ ، ‫ﻫﻭ‬ ‫ﺍﻟﻘﺴﻤﻪ‬1. ‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﻴﻜﻭﻥ‬ ، ‫ﺍﻟﻤﺘﺒﻘﻰ‬ ‫ﻋﻠﻰ‬ ‫ﻭﻟﻠﺤﺼﻭل‬:24 mod 4. PDF created with pdfFactory trial version www.pdffactory.com
  • 47. 47 ‫ﺍﻟﻤﻌﺎﻤﻼﺕ‬ ‫ﺍﺴﺒﻘﻴﻪ‬ ‫ﺍﻟﺤ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﺒﺩﺀ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺴﻴﻘﻭﻡ‬ ، ‫ﺤﺴﺎﺒﻴﻪ‬ ‫ﻋﻤﻴﻠﻪ‬ ‫ﺍﻱ‬ ‫ﻓﻲ‬‫ﺍﺴﺒﻘﻴﻪ‬ ‫ﺤﺴﺏ‬ ‫ﻋﻠﻰ‬ ‫ﺴﺎﺏ‬ ‫ﺴﻠﻴﻤﻪ‬ ‫ﻨﺘﺎﺌﺞ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻟﺘﻨﺒﻴﻪ‬ ‫ﻴﺠﺏ‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﻋﻤﻠﻴﻪ‬ ‫ﻜل‬.‫ﻜﻤﺎ‬ ‫ﻭﻫﻲ‬ ‫ﻴﻠﻲ‬/ ·‫ﺍﻟﻀﺭﺏ‬ ·‫ﺍﻟﻘﺴﻤﻪ‬ ·‫ﺍﻟﺠﻤﻊ‬ ·‫ﺍﻟﻁﺭﺡ‬ ‫ﺘﻨﻔﻴﺫﻫﻤﺎ‬ ‫ﻴﺠﺭﻱ‬ ‫ﻓﺴﻭﻑ‬ ، ‫ﺍﻻﺴﺒﻘﻴﻪ‬ ‫ﻨﻔﺱ‬ ‫ﻟﻬﻤﺎ‬ ‫ﺤﺴﺎﺒﻴﻥ‬ ‫ﻤﻌﺎﻤﻠﻴﻥ‬ ‫ﻭﺠﻭﺩ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬.‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﻔﻰ‬ X:= 5+3+8*9+6*4; ‫ﺍﻟﻀﺭﺏ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻴﺠﺭﻱ‬‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬ ،‫ﺍﻭﻻ‬.‫ﺍﻥ‬ ‫ﺍﺴﺎﺱ‬ ‫ﻭﻋﻠﻰ‬ 9*8=72‫ﻭﺍﻥ‬6*4=24‫ﺴﺘﺼﺒﺢ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﺈﻥ‬ ،: X:= 5+3+72+24; ‫ﺍﻟﻴﻤﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻴﺴﺎﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺠﻤﻊ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﺴﺘﺠﺭﻱ‬ ‫ﻭﺍﻻﻥ‬5+3=8‫ﻭ‬8+72=80‫ﻭ‬ 80+24=104. ، ‫ﺍﻻﺴﺒﻘﻴﻪ‬ ‫ﺘﺭﺘﻴﺏ‬ ‫ﻟﺘﻐﻴﺭ‬ ‫ﺍﻻﻗﻭﺍﺱ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻴﺘﻭﺠﺏ‬ ، ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺒﻌﺽ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻗﻭﺍﺱ‬ ‫ﺍﻥ‬ ‫ﺤﻴﺙ‬‫ﺍﻟﺤﺴﺎﺒﻴﻪ‬ ‫ﺍﻟﻤﻌﺎﻤﻼﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻤﻥ‬ ‫ﺍﻋﻠﻰ‬ ‫ﺍﺴﺒﻘﻴﻪ‬ ‫ﺩﺭﺠﻪ‬ ‫ﺘﺄﺨﺫ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 48. 48 ‫ﺍﻻﻗﻭﺍﺱ‬ ‫ﺘﻌﺸﻴﺵ‬ ‫ﺩﺭﺠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻤﻘﻌﺩ‬ ‫ﺍﺼﺒﺢ‬ ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺴﻨﺠﺩ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬ ‫؟‬ ‫ﺘﻌﻨﻲ‬ ‫ﻤﺎﺫﺍ‬ ‫ﻟﻜل‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ، ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﺫﻟﻙ‬ ‫ﺘﺨﻔﻴﻑ‬ ‫ﺍﻟﻰ‬ ‫ﻨﻠﺠﺄ‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﻤﺨﻴﻔﻪ‬ ‫ﺍﻟﻤﻘﻌﺩ‬ ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﻋﺒﺎﺭﻩ‬. Total:= ( (old+new)/2) * (water+phone); ‫ﺍﻟﺨﺎﺭﺝ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺩﺍﺨل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻌﻘﺩ‬ ‫ﺍﻟﺘﻌﺒﻴﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺘﺘﻡ‬. ‫ﺍﻟﺘﻌﺸﻴﺵ‬ ‫ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺒﺴﻴﻁﻪ‬ ‫ﺤﺎﻭﻟﻨﺎ‬ ‫ﻟﻭ‬ ‫ﺍﻻﻥ‬ All:= old+new; Avarge := all/2; Hosue:= water*phone; Toltal:=avarge * house ; ‫ﺍ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻴﺴﺘﺨﺩﻡ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻜﺘﺎﺒﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻁﻭل‬ ‫ﻭﻗﺘﺎ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻨﻪ‬ ‫ﺼﺤﻴﺢ‬ ، ‫ﺍﺭﺃﻴﺕ‬، ‫ﻜﺜﺭ‬ ‫ﺍﻻﺴﺘﻴﻌﺎﺏ‬ ‫ﻓﻲ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﺍﺴﻬل‬ ‫ﻟﻜﻨﻪ‬. ‫ﺜﺎﻨﻴﺎ‬:‫ﺍﻟﻤﻨﻁﻘﻴﻪ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬/ ‫ﻴﺴﺎﻭﻱ‬ ، ‫ﺍﺼﻐﺭ‬ ، ‫ﺍﻜﺒﺭ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺠﺩﻭل‬ ‫ﻓﻲ‬ ‫ﻭﺍﻀﺢ‬ ‫ﻫﻭ‬ ‫ﻜﻤﺎ‬...‫ﻭﻫﻲ‬ ، ‫ﺍﻟﺦ‬ ‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﺘﺭﺠﻊ‬true‫ﺼﺤﻴﺤﻪ‬ ‫ﺍﻟﻌﻠﻤﻴﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬3<6‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﻭﺘﺭﺠﻊ‬ ،false‫ﺍﺫﺍ‬ ‫ﺼﺤﻴﺤﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﻌﻤﻠﻴﻪ‬ ‫ﻜﺎﻨﺕ‬5=1. PDF created with pdfFactory trial version www.pdffactory.com
  • 49. 49 ‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﳋﺎﻣﺲ‬ ‫ﺍﻟﺸ‬ ‫ﺍﳉﻤﻞ‬‫ﺮﻃﻴﻪ‬ ‫ﻓﻴﻬﺎ‬ ‫ﳓﺘﺎﺝ‬ ‫ﺍﻟﱴ‬ ‫ﺍﳌﻮﺍﻗﻒ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﺗﻮﺍﺟﻬﻨﺎ‬ ‫ﻣﺎ‬ ‫ﻛﺜﲑﺍ‬ ، ‫ﺍﻟﻌﺎﺩﻳﻪ‬ ‫ﺣﻴﺎﺗﻨﺎ‬ ‫ﰲ‬ ‫ﺍﻟﺸﺮﻭﻁ‬ ‫ﺍﺣﺪ‬ ‫ﺍﲣﺎﺫ‬ ‫ﺍﱃ‬ ‫ﺳﻮﻑ‬ ‫ﻭﺍﻻ‬ ‫ﺍﻟﺘﺎﱄ‬ ‫ﺍﻟﺪﺭﺱ‬ ‫ﺍﱃ‬ ‫ﺍﻧﺘﻘﻞ‬ ‫ﻓﺴﻮﻑ‬ ‫ﺍﻟﺪﺭﺱ‬ ‫ﻓﻬﻤﺖ‬ ‫ﺍﺫﺍ‬ ،‫ﻓﻤﺜﻼ‬ ‫ﺍﺧﺮﻯ‬ ‫ﻣﺮﻩ‬ ‫ﻗﺮﺍﺋﺘﻪ‬ ‫ﺍﻋﻴﺪ‬! ‫ﻟﻠﺸﺮﻁ‬ ‫ﲨﻠﺘﲔ‬ ‫ﺗﻮﺟﺪ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬ ‫ﰲ‬/ ·‫ﲨﻠﻪ‬if ·‫ﲨﻠﻪ‬case ‫ﺑﺎﻟﺘ‬ ‫ﳍﻤﺎ‬ ‫ﻧﺘﻄﺮﻕ‬ ‫ﻭﺳﻮﻑ‬‫ﻔﺼﻴﻞ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 50. 50 ‫ﺍﻭﻻ‬:‫ﺠﻤﻠﻪ‬if ‫ﻟﻬﺎ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ If condition then Begin : End; ‫ﻭﺍﻻ‬ ‫ﻜﻠﻤﻪ‬ ‫ﺒﺎﻀﺎﻓﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻭ‬: If condition then Begin : End {No Semicolon ; } Else Begin : End; ‫ﺫﻟﻙ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻔﻬﻡ‬ ‫ﻜﻴﻑ‬ ، ‫ﺤﺴﻨﺎ‬‫؟‬‫ﺍ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺘﺤﻘﻕ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻭﻻ‬‫ﻟﺸﺭﻁ‬condition، ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺎﻨﻪ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﺍﻟﺸﺭﻁ‬)‫ﺍﻟـ‬Block(Begin‫ﻭ‬end; ‫ﻭﺍﻻ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻭﻤﺎ‬else‫ﻴ‬ ‫ﻓﺎﻨﻪ‬‫ﺒﺘﺠﺎﻫﻠﻬﺎ‬ ‫ﻘﻭﻡ‬)‫ﺍﻟﺸﺭﻁ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﻫﺫﺍ‬‫ﻤﺘﺤﻘﻕ‬(. ‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺫﻫﺏ‬ ‫ﻓﺎﻨﻪ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﻴﻜﻥ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬else‫ﺍﻟـ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻭﻴﻘﻭﻡ‬ Block‫ﺒﺎﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﺨﺎﺹ‬else. PDF created with pdfFactory trial version www.pdffactory.com
  • 51. 51 ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﻫﻨﺎ‬ ‫ﺍﻻﺸﺎﺭﻩ‬ ‫ﻴﺠﺩﺭ‬‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺠﻤل‬ ‫ﺍﻏﻠﺏ‬)if‫ﻭ‬for‫ﻭ‬case ‫ﻭ‬...‫ﺍﻟﺦ‬(‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻨﻪ‬)‫ﻤﺜﻼ‬‫ﺠﻤﻠﻪ‬if(‫ﻏﻴﺭ‬ ‫ﻓﺎﻨﻪ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻤﻁﻠﻭﺏ‬Block‫ﺃﻱ‬begin‫ﻭ‬end;. ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬if‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺘﻨﻔﻴﺫﻫﺎ‬ ‫ﻤﺭﺍﺩ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺍﻟـ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻓﺎﻨﻪ‬block. ‫ﻤﺜﺎل‬// Begin Read(x); If x<10 then Begin Sum:=x+20; Write(sum); End; Write('done'); End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬: ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬x , sum‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﻗﻡ‬‫ﺒﻨﻔﺴﻙ‬ ‫ﺒﺘﻌﺭﻴﻔﻬﻤﺎ‬(، ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﻘﻭﻡ‬x،‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻴﻘﺭﺭ‬ ‫ﺜﻡ‬X‫ﻫﻲ‬ ‫ﻫل‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬10‫؟؟‬ ‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬)‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺍﻱ‬(‫ﺍﻟـ‬ ‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺎﻨﻪ‬block)‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺃﻱ‬ begin‫ﻭ‬end;(. PDF created with pdfFactory trial version www.pdffactory.com
  • 52. 52 ‫ﻤﺘﺤﻘﻕ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬)‫ﺍﻟـ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻤﺜﻼ‬x=20(‫ﺒ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬‫ﺘﺠﺎﻫل‬ ‫ﺍﻟـ‬block‫ﺘﻠﻴﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻭﻴﻘﻭﻡ‬done. ‫ﻤﻼﺤﻅﻪ‬: ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬)‫ﻤﺜﻼ‬x=5(‫ﺍﻟـ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺴﻴﺘﻡ‬ ‫ﻓﺈﻨﻪ‬block‫ﺴﻴﻘﻭﻡ‬ ‫ﻭﺒﻌﺩﻫﺎ‬ ‫ﺘﻠﻴﻪ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺒﻁﺒﺎﻋﻪ‬done. ‫ﻤﺜﺎل‬// Program wajdy (input,output); Uses wincrt; Var I:integer; Begin Write('Please enter any number: '); Readln(i); If i <=10 then Begin Writeln('hello world'); Writeln('wajdy essam'); Writeln('O.K'); End; Writeln('do you anderstand ?? '); End. PDF created with pdfFactory trial version www.pdffactory.com
  • 53. 53 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬Please enter any number‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬. ‫؟؟‬ ‫ﻤﻨﻬﺎ‬ ‫ﻤﺎﻟﻔﺎﺌﺩﻩ‬ ‫ﺍﺤﺩ‬ ‫ﻗﺎﻡ‬ ‫ﻓﻠﺭﺒﻤﺎ‬ ، ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺘﻭﻀﻴﺢ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺃﻱ‬ ‫ﻴﺩﺨﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻤﺎ‬ ‫ﻟﻠﻤﺴﺘﺨﺩﻡ‬ ‫ﺘﻭﻀﺢ‬ ‫ﺍﻥ‬ ‫ﻓﻴﺠﺏ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﺠﺭﺒﻪ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻤﻴﻥ‬ ‫ﻋﺩﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬ ‫ﻫل‬ ، ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬‫ﺍﺴﻡ‬ ‫ﻋﻥ‬ ‫ﺼﺤﻴﺢ‬‫ﺍﻭ‬‫ﻋﻥ‬‫ﺍﻭ‬ ‫ﺤﻘﻴﻘﻲ‬ ‫ﻋﺩﺩ‬ ‫ﺤﺭﻑ‬‫ﻭﻫﻜﺫﺍ‬ ،. ‫ﺍﻟﻐﺭﺽ‬ ‫ﺍﺫﺍ‬‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺘﺼﻨﻊ‬ ‫ﻻ‬ ‫ﻓﺄﻨﺕ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺘﻭﻀﻴﺢ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻴﺩﺨﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻤﺎ‬ ‫ﺘﻭﻀﻴﺢ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻱ‬ ‫ﻓﻲ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻓﻴﺠﺏ‬ ، ‫ﻟﻨﻔﺴﻙ‬ ‫ﻟﺘﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﺍﺩﺨﺎل‬ ‫ﻋﻤﻴﻠﻪ‬ ‫ﺍﻱ‬ ‫ﻗﺒل‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﻲ‬i،‫ﺜ‬ ‫ﻭﻤﻥ‬‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺒﺩﺃﺕ‬ ‫ﻡ‬ ‫ﺍﻟﻤﺩﺨل‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬i‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﺍﻟﻌﺸﺭﻩ‬ ‫ﻴﺴﺎﻭﻱ‬ ‫ﺍﻟـ‬block.‫ﺍﻟـ‬ ‫ﺒﺘﺠﺎﻫل‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬block. ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ·‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬i=5/ Please enter any number: 5 hello world wajdy essam O.K do you anderstand ?? PDF created with pdfFactory trial version www.pdffactory.com
  • 54. 54 ·‫ﻓ‬‫ﺤﺎﻟﻪ‬ ‫ﻲ‬i=20/ Please enter any number: 20 do you anderstand ?? ‫ﺍﺨﺭ‬ ‫ﻤﺜﺎل‬// Begin Read(x); If x>0 then Begin Writeln('You Enterd 0'); Writeln('o.k'); End Else Begin Writeln('you enterd not 0 '); Writeln('o.k'); End; Writeln('done'); End. ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﺍﻟﻤﺩﺨل‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬0‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﻓﺈﻥ‬: You Enterd 0 o.k done PDF created with pdfFactory trial version www.pdffactory.com
  • 55. 55 ‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﻓﺈﻥ‬ ‫ﺍﻟﺼﻔﺭ‬ ‫ﻏﻴﺭ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬: You Enterd not 0 o.k Done ‫ﻋﻼﻤﻪ‬ ‫ﺍﺨﺘﻔﺎﺀ‬ ‫ﻻﺤﻅ‬;‫ﺠﻤﻠﻪ‬ ‫ﻗﺒل‬else‫ﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻜﺫﺍ‬ ،if.‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬else‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﻻ‬ ‫ﻗﺒﻠﻬﺎ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﺈﻥ‬ semicolon‫ﻻﻨ‬‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺘﻌﺘﺒﺭ‬ ‫ﻬﺎ‬. ‫ﺠﻤﻠﻪ‬if‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬Nested if ‫ﺠﻤﻠﻪ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺤﺎل‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬if‫ﺠﻤﻠﻪ‬ ‫ﺒﺩﺍﺨﻠﻬﺎ‬if‫؟‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻜﻴﻑ‬ ، ‫ﺍﺨﺭﻯ‬ ‫ﻤﺜﺎل‬// Begin If x<10 then Begin Writeln(' x is less than 10 '); If x>3 then write('x is more than 3'); End; End. ‫ﺠﻤﻴل‬ ‫ﻫﻭ‬ ‫ﻜﻡ‬ ، ‫ﻨﻌﻡ‬ ‫ﻨﻌﻡ‬،‫ﺘﺤﺘﻭﻱ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬if‫ﺍﻟﺜﺎﻨﻴﻪ‬)‫ﻓﻲ‬ ‫ﺍﻟ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬‫ﺴﺎﺒﻕ‬(‫ﺘﻭﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻭﻓﻲ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻭ‬ ‫ﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺩﺍﺨل‬block‫ﺍﺨﺭ‬)‫ﺃﻱ‬begin‫ﻭ‬end;(. PDF created with pdfFactory trial version www.pdffactory.com
  • 56. 56 Combining the conditions‫ﺍﻟﺸﺭﻁ‬ ‫ﺭﺒﻁ‬ ‫ﺍﺭﺒﻌﻪ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺘﻘﺩﻡ‬‫ﺒﻌﻀﻬﺎ‬ ‫ﺍﻟﺸﺭﻭﻁ‬ ‫ﻟﺭﺒﻁ‬ ‫ﻁﺭﻕ‬‫ﻭﻫﻲ‬ ‫ﺒﺒﻌﺽ‬: xornot,And , or, ‫ﺠﻤﻠﻪ‬and‫ﻭ‬: ‫ﺍﻟـ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻴﺘﻡ‬ ‫ﻻ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻫﺎ‬bolck‫ﻤ‬ ‫ﺍﻟﺸﺭﻁﻴﻥ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻻ‬‫ﺘﺤﻘﻘﻴ‬‫ﻥ‬ ‫ﺠﻤﻠﻪ‬or‫ﺍﻭ‬: ‫ﺍﻟـ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻻﻴﺘﻡ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻫﺎ‬block‫ﺍﻟﺸﺭﻁﻴﻥ‬ ‫ﺍﺤﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻻ‬)‫ﺍﻭ‬ ‫ﻜﻼﻫﻤﺎ‬(‫ﻤﺘﺤﻘﻕ‬ ‫ﺠﻤﻠﻪ‬xor: ‫ﺍ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻻﻴﺘﻡ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻫﺎ‬‫ﺍﻟـ‬ ‫ﻭ‬block‫ﻓﻘﻁ‬ ‫ﻭﺍﺤﺩ‬ ‫ﺸﺭﻁ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻻ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﺍﻟﻨﻔﻰ‬ ‫ﺠﻤﻠﻪ‬not: ‫ﺍﻟﺸﺭﻁ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﻴﻌﻨﻲ‬ ، ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﻨﻔﻰ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺃﻱ‬true‫ﻴﺼﺒﺢ‬ ‫ﻓﺈﻨﻪ‬false‫ﻭﺍﻟﻌﻜﺱ‬ ‫ﺍﻴﻀﺎ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 57. 57 ‫ﻤﺜﺎل‬// Begin Read(x,y); If (x<10) and (y>5) then Begin Writeln('o.k'); Writeln('helow'); End; End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬x‫ﻭ‬y‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer‫ﺒﺘﻌﺭﻴﻔﻬﻤﺎ‬ ‫ﻗﻡ‬ ، ‫ﺒﻨﻔﺴﻙ‬(‫ﻤﻥ‬ ‫ﻜل‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬x‫ﻭ‬y.‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ، ‫ﺍﻟﺸﺭﻁ‬ ‫ﺒﺩﺃ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬X ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬10‫ﻭ‬y‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺴﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬block. ‫ﺒﻤ‬‫ﻌﻨ‬‫ﻰ‬‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬X=8‫ﻭ‬y=5‫ﺍﻻﺘﻲ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﺴﻴﻘﻭﻡ‬ ‫ﻓﺎﻨﻪ‬: o.k Helow ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬x=12‫ﻭ‬y=6‫ﺸﻲ‬ ‫ﺃﻱ‬ ‫ﻴﻨﻔﺫ‬ ‫ﻟﻥ‬ ‫ﻓﺎﻨﻪ‬. ‫ﺍﻻﺨﺘﻼﻑ‬ ‫ﻭﻻﺤﻅ‬ ، ‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﺭﺒﻁ‬ ‫ﺠﻤل‬ ‫ﺒﻜل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﺠﺭﺒﻪ‬ ‫ﻗﻡ‬. ‫ﻻ‬ ‫ﺍﻴﻀﺎ‬‫ﺸﺭﻁ‬ ‫ﻜل‬ ‫ﻓﻲ‬ ‫ﺍﻻﻗﻭﺍﺱ‬ ‫ﻭﻀﻊ‬ ‫ﺤﻅ‬‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺭﺒﻁ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻜل‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬ ، ‫ﻗﻭﺱ‬ ‫ﻓﻲ‬ ‫ﺸﺭﻁ‬ ‫ﻜل‬ ‫ﺘﻭﻀﻊ‬. ‫ﺍﻻﻥ‬‫ﻜﻴﻑ‬ ،‫؟؟‬ ‫ﺸﺭﻭﻁ‬ ‫ﺜﻼﺜﻪ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺤﺎل‬ ‫ﻫﻭ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 58. 58 ‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﺘﻨﻔﻴﺫ‬ ‫ﺸﻜل‬ ‫ﺴﻴﻜﻭﻥ‬: If ( (x<10) and (y>5) ) or (k>3) then ….. ‫ﻨﻌﻡ‬ ‫ﻨﻌﻡ‬، ‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺴﻴﻘﻭﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﺃﻱ‬‫ﺍﻟﻜﺒﻴﺭ‬ ‫ﺍﻟﻘﻭﺱ‬( (x<10) and (y>5) ) ‫ﻋﻤﻠﻴﻪ‬ ‫ﺘﺒﺩﺃ‬ ‫ﺜﻡ‬or‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻤﻊ‬(k>3). ‫ﻤﺜﻼ‬:‫ﺍﻻﺘﻴﻪ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺘﻡ‬ ‫ﺍﺫﺍ‬x=7 y=6 k=4 ‫ﺍﻻﻥ‬‫ﻫل‬x‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬10‫ﻭ‬y‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫؟؟‬ ‫ﻨﻌﻡ‬ ‫ﻫل‬ ‫ﺍﻻﻥ‬k‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬3‫ﻨﻌﻡ‬ ‫؟؟؟‬ ‫ﹰ‬‫ﺍ‬‫ﺍﺫ‬‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬،،، ‫ﺤﺴﻨﺎ‬‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ،k=2‫؟؟؟‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺴﻴﺘﻨﻔﺫ‬ ‫ﻫل‬ ‫ﻨﻌﻡ‬ ‫؟؟؟‬ ‫ﻟﻤﺎﺫﺍ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻻﻥ‬( (x<10) and (y>5) )‫ﻭﺍﻟﻌﻤﻠﻴﻪ‬or‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺘﺘﻨﻔﺫ‬ ‫ﺍﻟﺸﺭﻭﻁ‬ ‫ﺍﺤﺩ‬ ‫ﻫﻨﺎﻙ‬‫ﻤﺘﺤﻘﻕ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 59. 59 ‫ﺜﺎﻨﻴﺎ‬:‫ﺠﻤﻠﻪ‬: case .. Of ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻓﻲ‬‫ﻭﺍﺤﺩ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺸﺭﻭﻁ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﻤﻥ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻴﻌﻨﻲ‬if،‫ﺍﻟﺤﺎﻟ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﻭﻟﻜﻥ‬‫ﻭﻤﻌﻘﺩ‬ ‫ﻁﻭﻴل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻪ‬ ‫ﺍﻻﻗل‬ ‫ﻋﻠﻰ‬ ‫ﻟﻠﺒﻌﺽ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ،‫ﺍﻴﻀﺎ‬‫ﻋﺒﺎﺭﻩ‬ ‫ﺠﺎﺌﺕ‬ ‫ﻫﻨﺎ‬ ‫ﻭﻤﻥ‬case‫ﻟﺠﻤﻠﻪ‬ ‫ﻜﺒﺩﻴل‬if ‫ﺍﻥ‬ ‫ﻟﻨﻘل‬‫ﻜﺎﻻﺘﻲ‬ ‫ﺍﻟﻤﻁﻠﻭﺏ‬ ‫ﻭﻴﻜﻭﻥ‬ ،، ‫ﺍﻟﻁﻼﺏ‬ ‫ﻟﺩﺭﺠﺎﺕ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺩﻴﻨﺎ‬: ‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬90-100‫ﻴﻁﺒﻊ‬A ‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬80-89‫ﻴﻁﺒﻊ‬B ‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬70-79‫ﻴﻁﺒﻊ‬C ‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬60-69‫ﻴﻁﺒﻊ‬E ‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬50-59‫ﻴﻁﺒﻊ‬D ‫ﺍﺫ‬‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍ‬0-49‫ﻴﻁﺒﻊ‬F ‫؟؟‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻫﺫﺍ‬ ‫ﺤل‬ ‫ﻴﻤﻜﻥ‬ ‫ﻜﻴﻑ‬ ‫ﺍﻭﻻ‬:‫ﺒﺠﻤﻠﻪ‬if: Begin Read(x); If (x>=90) and (x<=100) then writeln('A'); If (x>=80) and (x<=89) then writeln('B'); If (x>=70) and (x<=79) then writeln('C'); If (x>=60) and (x<=69) then writeln('D'); If (x>=50) and (x<=59) then writeln('E'); If (x>=0) and (x<=49) then writeln('F'); End. PDF created with pdfFactory trial version www.pdffactory.com
  • 60. 60 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻋﻼﻩ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬‫ﺒﺠﻤﻠﻪ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺤل‬ ‫ﻗﻤﻨﺎ‬ ،if‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ،)‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬x‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer(‫ﺒﻘﺭﺍ‬ ‫ﻗﻤﻨﺎ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺀﻩ‬(x)‫ﻓﻲ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﻓﻲ‬ ‫ﺜﻡ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺠﻤل‬. ‫ﺍﺫﺍ‬‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬ ‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬90‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﻭﺍﺼﻐﺭ‬100‫ﻓﺎﻁﺒﻊ‬ A ‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬ ‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬80‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﻭﺍﺼﻐﺭ‬89‫ﻓﺎﻁﺒﻊ‬B ‫ﺍﻟﺒﺎﻗﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻜﺫﺍ‬. ‫ﺠﻤﻠﻪ‬in ‫ﺠﻤﻠﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬in‫ﻟﺘﺤﺩ‬ ‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻲ‬‫ﻨﺭ‬ ‫ﺩﻋﻨﺎ‬ ، ‫ﺍﻟﻤﺩﻯ‬ ‫ﻴﺩ‬‫ﻯ‬‫ﻜﻴﻔﻴﻪ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻬﺎ‬. ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﻓﻤﺜﻼ‬: If (x>=90) and (x<=100) then writeln('A'); ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺒﻌﺩ‬ ‫ﺘﺼﺒﺢ‬ ‫ﺴﻭﻑ‬in)‫ﺍﻟﻤﺩﻯ‬ ‫ﻟﺘﺤﺩﻴﺩ‬ ‫ﻭﻫﻰ‬( If x in [90 .. 100] then writeln('A'); ‫ﺍﻟ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﺍﻟﻤﺩﻯ‬ ‫ﺘﺤﺩﻴﺩ‬ ‫ﻴﺘﻡ‬ ، ‫ﺴﻬل‬ ‫ﻫﻭ‬ ‫ﻜﻡ‬ ، ‫ﺍﺭﺃﻴﺕ‬‫ﻭﺒﻴﻨﻬﻡ‬ ‫ﻭﺍﻻﺨﻴﺭ‬ ‫ﺍﻻﻭل‬ ‫ﻌﻨﺼﺭ‬ ‫ﻓﻘﻁ‬ ‫ﻨﻘﻁﺘﺎﻥ‬)..(‫ﻓﻘﻁ‬ ‫ﻨﻘﻁﺘﺎﻥ‬ ‫ﻻﺤﻅ‬ ،! ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﻤﻌﻴﻨﻪ‬ ‫ﺍﻋﺩﺍﺩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﻟﻭ‬ ‫ﺍﻴﻀﺎ‬in‫ﺘﺼﺒﺢ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻻﺘﻰ‬ ‫ﺒﺎﻟﺸﻜل‬: If z in [5,9,6,8,66] then writeln('O.k'); PDF created with pdfFactory trial version www.pdffactory.com
  • 61. 61 ‫ﺍﻴﻀﺎ‬ ‫ﺤﺭﻭﻑ‬ ‫ﺍﻭ‬: If ch in ['C','B','U'] then writeln('CPU'); ‫ﺒﺎ‬ ‫ﺍﻻﺨﺫ‬ ‫ﻤﻊ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻻﻋﺘﺒﺎﺭ‬ch‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬char‫ﺍﻭ‬string. ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﺍﻟﻰ‬ ‫ﻨﻌﻭﺩ‬)‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﺎﺕ‬(‫ﺤﻴﺙ‬ ،)‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬(‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺒﺠﻤﻠﻪ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬if‫ﻗﻤ‬ ‫ﻟﻭ‬ ‫ﺭﺃﻴﻙ‬ ‫ﻤﺎ‬ ‫ﻭﻟﻜﻥ‬‫ﻨ‬‫ﺒـ‬ ‫ﺒﻜﺘﺎﺒﺘﻪ‬ ‫ﺎ‬if‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬)‫ﺠﻤﻠﻪ‬ ‫ﺃﻱ‬if ‫ﺠﻤﻠﻪ‬ ‫ﺩﺍﺨل‬if‫ﺍﺨﺭﻯ‬(. Begin Read(x); If x>= 90 then mark:= 'A' Else If x >= 80 then mark:='B' Else If x>=70 then mark:= 'C' Else If x>=60 then mark:='D' Else If x>= 50 then mark:='E' Else If x>=0 then mark:='F'; Writeln(mark); End. PDF created with pdfFactory trial version www.pdffactory.com
  • 62. 62 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻻﻭل‬ ‫ﻤﺘﻐﻴﺭﻴﻥ‬ ‫ﺒﺘﻌﺭﻴﻑ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬x‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer‫ﻭﺍﻟﺜﺎﻨﻲ‬mark ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬char. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺒﻌﺩﻫﺎ‬x،‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺒﺩﺃﺕ‬ ‫ﺜﻡ‬. If x>= 90 then mark:= 'A' ‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻤﻌﻨﻰ‬x‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬90‫ﺒﺘﺨﺯﻴﻥ‬ ‫ﻓﻘﻡ‬A‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐ‬‫ﻴﺭ‬mark)‫ﺍﻟﻌﻼﻤﻪ‬ ‫ﻻﺤﻅ‬'‫ﺠﺎﻨﺒﻲ‬ ‫ﻋﻠﻰ‬A‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻻﻨﻬﺎ‬char(‫ﺜﻡ‬ ‫ﻭﺍﻻ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻀﻔﻨﺎ‬else)‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬ ‫ﺃﻱ‬89(‫ﺍﻟﺸﺭﻁ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻭﻗﻤﻨﺎ‬ ‫ﻭﺍﻀﺎﻓﻪ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬else‫ﺍﻴﻀﺎ‬،‫ﺍﻟﺒﺎﻗﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻜﺫﺍ‬. ‫ﺘﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﻓﺈﺫﺍ‬ ، ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺫﻫﺏ‬ ، ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺘﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﻓﺈﺫﺍ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻴﻨﺘﻘل‬ ، ‫ﺍﻟﺸﺭﻁ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ، ‫ﻭﻫﻜﺫﺍ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺫﻫﺏ‬ ‫ﺍﻟﻁﺒﺎﻋﻪ‬. ‫ﻋﻼﻤﻪ‬ ‫ﺍﺨﺘﻔﺎﺀ‬ ‫ﻻﺤﻅ‬;)semicolon(‫ﺠﻤﻠﻪ‬ ‫ﺒﻌﺩﻫﺎ‬ ‫ﻴﺄﺘﻲ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ else‫ﺠﻤﻠﻪ‬ ‫ﻟﻴﺱ‬ ‫ﺒﻌﺩﻩ‬ ‫ﻤﺎ‬ ‫ﺍﻥ‬ ‫ﺒﺴﺒﺏ‬ ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺍﻻ‬else. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻻﺨﻴﺭ‬ ‫ﻭﻓﻲ‬mark. ‫ﻨﻌﻭ‬ ‫ﺍﻻﻥ‬‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺩ‬case‫ﻟﻠﺠﻤﻠﻪ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ ،: Case variable of : End; PDF created with pdfFactory trial version www.pdffactory.com
  • 63. 63 ‫ﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻻﺤﻅ‬case‫ﻋﻠﻰ‬ ‫ﻻﺘﺤﺘﻭﻱ‬begin‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﻭﻟﻜﻥ‬end;. ‫ﺒﺠﻤﻠﻪ‬ ‫ﺍﻟﺩﺭﺠﺎﺕ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﺤل‬ ‫ﺍﻻﻥ‬case Begin Read(x); Case x of 90..100 : writeln('A'); 80..89 : writeln('B'); 70..79 : writeln('C'); 60..69 : writeln('D'); 50..59 : writeln('E'); 0..49 : writeln('F'); End; End. ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬x‫ﺠﻤﻠﻪ‬ ‫ﺤﻴﺙ‬ ، ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬case‫ﺘﻘﺒل‬ ‫ﺍﻟﺤﻘﻴﻘﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻤﺎﻋﺩﺍ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺠﻤﻴﻊ‬real(‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬x.‫ﻜﺎﻨﺕ‬ ‫ﻓﺈﺫﺍ‬‫ﻗﻴﻤﻪ‬x)‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﺩﺭﺠﻪ‬(‫ﺒﻴﻥ‬ ‫ﺘﻨﺤﺼﺭ‬90‫ﺍﻟﻰ‬100 ‫ﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﺘﻡ‬A‫ﺒﻴﻥ‬ ‫ﺘﻨﺤﺼﺭ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﺫﺍ‬ ، ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬80‫ﺍﻟﻰ‬89‫ﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﺘﻡ‬ B‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬.‫ﻭﻫﻜﺫﺍ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ، ‫ﺤﺴﻨﺎ‬x‫ﺘﺴﺎﻭﻱ‬-10‫ﺍﻭ‬200‫ﺘﻜﻭﻥ‬ ‫ﻟﻥ‬ ‫؟‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﻫﻲ‬ ‫ﻤﺎ‬ ‫ﻟ‬ ، ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﺍﻱ‬ ‫ﻫﻨﺎﻙ‬‫ﺠﻤﻠﻪ‬ ‫ﻭﻀﻊ‬ ‫ﻴﺠﺏ‬ ‫ﺫﻟﻙ‬else‫ﺨﻁﺄ‬ ‫ﺭﺴﺎﻟﻪ‬ ‫ﺒﻬﺎ‬ ‫ﻭﻨﻀﻊ‬ erorr،‫ﺍﻟﻤﺠﺎل‬ ‫ﻓﻲ‬ ‫ﺘﻘﻊ‬ ‫ﻻ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻱ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺤﺘﻰ‬0..100‫ﺨﻁﺄ‬ ‫ﺭﺴﺎﻟﻪ‬ ‫ﻟﻬﺎ‬. )‫ﺍﻟﻤﺩﻯ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﺜﻨﺎﺀ‬ ، ‫ﺍﻟﻨﻘﻁﺘﺎﻥ‬ ‫ﻭﻀﻊ‬ ‫ﺘﻨﺴﻰ‬ ‫ﻻ‬.‫ﻤﺩﻯ‬ ‫ﻭﺠﻭﺩ‬ ‫ﻋﺩﻡ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺒﻔﺎﺼﻠﻪ‬ ‫ﺒﻴﻨﻬﻡ‬ ‫ﺍﻟﻔﺼل‬ ‫ﻤﻊ‬ ‫ﺍﻟﻌﻨﺎﺼﺭ‬ ‫ﻭﻀﻊ‬ ‫ﻴﻤﻜﻥ‬(. PDF created with pdfFactory trial version www.pdffactory.com
  • 64. 64 ‫ﻤﺜﺎل‬/ ‫ﺍﻟﻨﺘﻴﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬a‫ﻭ‬b‫ﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﺘﻡ‬very good‫ﺍﻟﻨﺘﻴﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﺫﺍ‬ ،c‫ﻭ‬d ‫ﻓﻴﻁﺒﻊ‬good‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﺫﺍ‬ ،e‫ﻓﻴﻁﺒﻊ‬bad. Begin Read(x); Case x of A,b:writeln(‘Very Good’); C,d:writeln(‘Good’); E:writeln(‘bad’); Else Writeln(‘Please enter any value between (a,b,c,d,e) ‘); End; End. ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﺫﻟﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻤﻌﻴﻥ‬ ‫ﻤﺩﻯ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻱ‬ ‫ﺍﻟﻨﻘﻁﺘﺎﻥ‬ ‫ﺜﻡ‬ ‫ﺍﻟﻤﺩﻯ‬)..(‫ﺍﻟﻤﺩﻯ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻨﻜﺘﺏ‬ ‫ﺜﻡ‬ ،. ‫ﺒﻴﻨﻬﻡ‬ ‫ﻭﺍﻟﻔﺼل‬ ‫ﺍﻟﻌﻨﺎﺼﺭ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻓﺘﺘﻡ‬ ، ‫ﻤﺨﺘﻠﻔﻪ‬ ‫ﻋﻨﺎﺼﺭ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬ ‫ﺒﻔﺎﺼ‬‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ‫ﻠﻪ‬. ‫ﻤﺎ‬ ‫ﺍﻟﺩﺭﺠﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﺃﻱ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﻟﻭ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺒﻴﻥ‬90‫ﺍﻟﻰ‬100‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﺘﻴﻥ‬ ‫ﻤﺜﻼ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬‫ﻜﻴﻑ‬ ‫ﺫﻟﻙ‬ ‫ﻓﻌل‬ ‫ﻴﻤﻜﻥ‬..‫؟‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 65. 65 ‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻟﻰ‬ ‫ﻨﺤﺘﺎﺝ‬ ‫ﺒﺒﺴﺎﻁﻪ‬begin‫ﺍﺩﺨﺎﻟﻬﺎ‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺒﺩﺨﻠﻬﺎ‬ ‫ﻨﻜﺘﺏ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺜﻡ‬‫ﺒﻌﺒﺎﺭﻩ‬ ‫ﺌﻬﺎ‬end; ‫ﻤﺜﺎل‬/ Case x of 90..100: Begin Writeln('Your good man'); Writeln(' Your mark is A'); Writeln('Have anice day'); End; 80..89: Begin Writeln('Thank you very mach'); Writeln('Your mark is B'); End; 0..49: Begin Writeln('Im sorry'); Writeln('your maek is F'); End; Else Writeln('wrong'); End; End. PDF created with pdfFactory trial version www.pdffactory.com
  • 66. 66 ‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬x‫ﺘﺴﺎﻭﻱ‬94‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ، ‫ﻋﺒﺎ‬‫ﻋﻥ‬ ‫ﺭﻩ‬: Your good man Your mark is A Have anice day ‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻭﻤﺎﺫﺍ‬x‫ﺘﺴﺎﻭﻱ‬-60‫ﺍﻭ‬70،،،‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﺴﺘﺨﺩﻤﻨﺎ‬ ‫ﺍﻨﻨﺎ‬ ‫ﻻﺤﻅ‬ ‫؟؟‬ else ‫ﻟـ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺃﻱ‬ ‫ﻤﻌﻨﺎﻫﺎ‬x‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺫﻜﻭﺭﻩ‬ ‫ﻏﻴﺭ‬wrong PDF created with pdfFactory trial version www.pdffactory.com
  • 67. 67 ‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺴﺎﺩﺱ‬ ‫ﻭﺍﻟﺘﻜﺮﺍﺭﺍﺕ‬ ‫ﺍﳊﻠﻘﺎﺕ‬ ، ‫ﺍﻻﺣﻴﺎﻥ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﰲ‬‫ﲨﻠﻪ‬ ‫ﺗﻜﺮﺍﺭ‬ ‫ﻧﺮﻳﺪ‬ ‫ﺳﻮﻑ‬)‫ﻋﻠﻰ‬ ‫ﺍﲰﻚ‬ ‫ﻃﺒﺎﻋﻪ‬ ‫ﺗﻜﺮﺍﺭ‬ ‫ﻣﺜﻼ‬ ‫ﺍﻟﺸﺎﺷﻪ‬(‫ﻣﺜﻼ‬ ‫ﻛﺒﲑ‬ ‫ﻟﻌﺪﺩ‬ ‫ﺍﻟﻄﺒﺎﻋﻪ‬ ‫ﲨﻠﻪ‬ ‫ﻛﺘﺎﺑﻪ‬ ‫ﻳﺘﻢ‬ ‫ﺍﻥ‬ ‫ﺍﳌﻨﻄﻘﻲ‬ ‫ﻏﲑ‬ ‫ﻭﻣﻦ‬100‫ﻣﺮﻩ‬. ‫ﻻ‬ ، ‫ﺍﳌﱪﻣﺞ‬ ‫ﻟﺪﻯ‬ ‫ﳎﻬﻮﻝ‬ ‫ﺍﻟﺘﻨﻔﻴﺬ‬ ‫ﻋﺪﺩ‬ ‫ﻳﻜﻮﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻭ‬‫ﺭ‬‫ﺷﺮﻭﻁ‬ ‫ﺍﻭ‬ ‫ﺑﺸﺮﻁ‬ ‫ﺍﻟﻌﺪﺩ‬ ‫ﻫﺬﺍ‬ ‫ﺗﺒﺎﻁ‬ ‫ﻣﻌﻴﻨﻪ‬! ‫ﻟﻪ‬ ‫ﻣﻨﻬﺎ‬ ‫ﻛﻞ‬ ‫ﺍﻟﺘﻜﺮﺍﺭ‬ ‫ﻣﻦ‬ ‫ﺍﻧﻮﺍﻉ‬ ‫ﺛﻼﺛﻪ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻗﺪﻣﺖ‬ ‫ﻟﺬﻟﻚ‬‫ﻭﻫﻢ‬ ‫ﻣﻌﲔ‬ ‫ﻏﺮﺽ‬ ‫ﺍﻭ‬ ‫ﻭﻇﻴﻔﻪ‬ : ·For ….. To …. do ·While ……. Do ·Repeat …… until ‫ﻭﺑﺪﺍﻳﺘﻪ‬ ‫ﺍﻟﺘﻜﺮﺍﺭ‬ ‫ﻧﺸﺄﻩ‬ ‫ﻧﻌﺮﻑ‬ ‫ﺍﻥ‬ ‫ﳚﺐ‬ ، ‫ﺍﳉﻤﻞ‬ ‫ﻫﺬﻩ‬ ‫ﰲ‬ ‫ﺍﻟﺒﺪﺍﻳﻪ‬ ‫ﻭﻗﺒﻞ‬)‫ﲨﻠﻪ‬ goto(. PDF created with pdfFactory trial version www.pdffactory.com
  • 68. 68 ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺠﺫﻭﺭ‬)Goto( ‫ﻭﺍﻟﺘﻌﻘﻴﺩ‬ ‫ﺍﻟﻘﺼﺭ‬ ‫ﻏﺎﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻜﺎﻨﺕ‬ ،‫ﺍﻟﺤﺎﺴﺏ‬ ‫ﻟﻌﻠﻡ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺒﺩﺍﻴﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻭﻗﺕ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬.‫ﻭﻜﺎﻨ‬، ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﻭﺒﻌﺽ‬ ، ‫ﻋﻨﻭﺍﻥ‬ ‫ﻤﻥ‬ ‫ﻤﻜﻭﻨﻪ‬ ‫ﺍﻟﺘﻜﺭﺍﺭﺕ‬ ‫ﺕ‬ ‫ﻭﻗﻔﺯﻩ‬. ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﻓﻲ‬label‫ﻤﺘﺒﻭ‬ ‫ﺍﺴﻡ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬‫ﻉ‬‫ﺒﻨﻘﻁﺘﻴﻥ‬):. (‫ﻴﺘﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻘﻔﺯﻩ‬ ‫ﻭﺘﺅﺩﻯ‬ ، ‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻱ‬ ‫ﻴﺴﺎﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﻭﻀﻊ‬goto ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﺒﺎﺴﻡ‬ ‫ﻤﺘﺒﻭﻋﻪ‬. ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﻭﻴﻜﻭﻥ‬namelabel)name‫ﺍﻟﻌﻨ‬ ‫ﺍﺴﻡ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺭﻤﺯ‬‫ﻭﺍﻥ‬(‫ﺒﻌﺩ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬)‫ﺒﻌﺩ‬ ‫ﺍﻱ‬uses(‫ﺍ‬ ‫ﻭﻓﻲ‬ ،‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻨﻘﻁﻪ‬ ‫ﻨﻀﻊ‬ ‫ﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺼﻨﻌﻨﺎﻫﺎ‬name‫ﺒﻨﻘﻁﺘﻴﻥ‬ ‫ﻤﺘﺒﻭﻋﻪ‬):(‫ﻨﻀﻊ‬ ‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻟﺫﻫﺎﺏ‬ ‫ﻨﺭﻴﺩ‬ ‫ﻭﻋﻨﺩﻤﺎ‬ ، ‫ﺠﻤﻠﻪ‬goto name. ‫ﻤﺜﺎل‬// Program ex (input, output); Uses wincrt; Label wajdy; Var X: integer; Begin Read(x) ; PDF created with pdfFactory trial version www.pdffactory.com
  • 69. 69 If x>=10 then exit‫؛‬ if x<10 then goto wajdy ; Wajdy: writeln ('Less Than 10’); End. ‫ﺍﻟﺸﺭﺡ‬ ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬ ، ‫ﺍﻋﻼﻩ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬label‫ﺒﺎﺴﻡ‬wajdy‫ﻭﻓﻲ‬ ، ‫ﻭﻀﻌ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻨﺎ‬:‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬x‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬ ‫ﺘﺴﺎﻭﻱ‬10‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻓﻘﻡ‬exit.‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬x‫ﻤﻥ‬ ‫ﺍﻗل‬ 10‫ﺍﻟﻌﻨﻭﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﻓﺘﻭﺠﻪ‬wajdy‫ﻤﺘﺒﻭﻋﺎ‬ ‫ﺍﻟﻌﻨﻭﺍﻥ‬ ، ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬ ، ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻭﻴﺤﺘﻭﻱ‬ ‫ﺭﺍﺴﻴﺘﻴﻥ‬ ‫ﺒﻨﻘﻁﺘﻴﻥ‬less than 10. ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺠﻨﺏ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺴﺒﺏ‬goto ‫ﺘﻜﺭﺍﺭ‬ ‫ﻋﺒﺎﺭﺍﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻬﺠﻭﻡ‬ ‫ﺤﻤﻼﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻜﺜﻴﺭ‬ ‫ﻫﻨﺎﻙ‬Goto‫ﺍﻻﻭﻨﻪ‬ ‫ﻓﻲ‬ ‫ﺘﺄﻜﻴﺩ‬ ‫ﺒﻜل‬ ‫ﺫﻟﻙ‬ ‫ﺘﺴﺘﺤﻕ‬ ‫ﻭﻫﻲ‬ ، ‫ﺍﻻﺨﻴﺭﻩ‬.‫ﺘﺅﺩﻱ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬‫ﻋﺒﺎﺭﻩ‬goto‫ﺍﻟﻰ‬ ‫ﻟﻠﺨﻠﻑ‬ ‫ﺍﻭ‬ ‫ﻟﻼﻤﺎﻡ‬ ‫ﺴﻭﺍﺀ‬ ، ‫ﺘﻜﺘﺒﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻓﻲ‬ ‫ﻤﻭﻗﻊ‬ ‫ﺍﻱ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺘﻨﻔﻴﺫ‬ ‫ﺍﻨﺘﻘﺎل‬ ‫ﻟﻌﺒﺎﺭﺕ‬ ‫ﺍﻟﻤﻘﻴﺩ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻻﺴﺘﺨﺩﺍﻡ‬ ‫ﺍﺩﻯ‬ ‫ﻟﻘﺩ‬Goto‫ﺒﺭﺍﻤﺞ‬ ‫ﻭﺠﻭﺩ‬ ‫ﺍﻟﻰ‬‫ﻤﺘﺸﺎﺒﻜﻪ‬ ‫ﺘﻌﺭﻑ‬ ‫ﻗﺭﺍﺀﺘﻬﺎ‬ ‫ﻴﺴﺘﺤﻴل‬‫ﺒﺎﺴﻡ‬"‫ﺍﻻﺴﺒﺎﺠﻴﺘﻲ‬ ‫ﺍﻻﻭﺍﻤﺭ‬")‫ﻟﺘﺸﺎﺒﻜﻬﺎ‬ ‫ﻨﻅﺭﺍ‬( ‫ﺼﺏ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺨﻴﺭﻩ‬ ‫ﺍﻻﻭﻨﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻜﻤﺒﻴﻭﺘﺭ‬ ‫ﻋﻠﻭﻡ‬ ‫ﻤﻌﻠﻤﻭ‬ ‫ﺍﻤﻀﻰ‬ ‫ﻅﻥ‬ ‫ﻟﻬﺫﺍ‬ ‫ﻭﻨﺘﻴﺠﻪ‬ ‫ﻭﻫﻭ‬ ‫ﺍﻻ‬ ، ‫ﺘﻼﻤﻴﺫﻫﻡ‬ ‫ﺭﺅﻭﺱ‬ ‫ﻓﻲ‬ ‫ﻭﺍﺤﺩ‬ ‫ﺩﺭﺱ‬"‫ﻋﺒﺎﺭﺍﺕ‬ ‫ﻻﺘﺴﺘﺨﺩﻡ‬goto‫ﻤﻬﻤﺎ‬ ‫ﺍﻟﻅﺭﻭﻑ‬ ‫ﺍﻭ‬ ‫ﺍﻻﺴﺒﺎﺏ‬ ‫ﻜﺎﻨﺕ‬. " PDF created with pdfFactory trial version www.pdffactory.com
  • 70. 70 ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻟﺘﺠﻨﺏ‬Goto‫ﺍ‬ ‫ﻅﻬﺭﺕ‬‫ﻤﻥ‬ ، ‫ﻭﺍﺤﻜﺎﻤﺎ‬ ‫ﺘﻁﻭﺭﺍ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﻭﺍﻤﺭ‬ ‫ﺒﻴﻨﻬﺎ‬For‫ﻭ‬while‫ﻭ‬repeat.‫ﺍﻜﺜﺭ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﺠﻌل‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻫﺫﻩ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺠﻨﺏ‬ ‫ﺍﻟﻰ‬ ‫ﻭﺍﺩﻯ‬ ، ‫ﺍﺴﺘﻴﻌﺎﺒﻬﺎ‬ ‫ﺤﻴﺙ‬ ‫ﻤﻥ‬ ‫ﺴﻬﻭﻟﻪ‬Goto،‫ﻋﺎﻤﻪ‬ ‫ﺒﺼﻔﻪ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻨﻭﻉ‬::‫ﺤﻠﻘﻪ‬for:: ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬// For variable := fromwhat to what do Begin : : End; ‫ﺠﻤﻠﻪ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻗﺒل‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬for،‫ﻋﻠﻰ‬ ‫ﻤﻌﺭﻑ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﻤﻁﻠﻭﺏ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺤﺴﺏ‬.‫ﺍﺫﺍ‬ ‫ﺒﻤﻌﻨﻰ‬‫ﺍﻟ‬‫ﻤﻥ‬ ‫ﺘﻜﺭﺍﺭ‬1‫ﺍﻟﻰ‬10‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬integer‫ﺍﻟﺤﺭﻑ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬ ،a‫ﺍﻟﺤﺭﻑ‬ ‫ﺍﻟﻰ‬z ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻴﻜﻭﻥ‬char‫ﻭﻫﻜﺫﺍ‬ ،. ‫ﺍ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬‫ﻟﻤﺘﻐﻴﺭ‬variable‫ﺍﺴﻨﺎﺩ‬ ‫ﻋﻼﻤﻪ‬ ‫ﺒﻭﻀﻊ‬ ‫ﻨﻘﻭﻡ‬)( :=‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ‫ﻟﻠﺘﻜﺭﺍﺭ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻨﻜﺘﺏ‬fromwhat‫ﺃﻱ‬ ‫ﺍﻟﻰ‬ ‫ﻜﻠﻤﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬to‫ﻨﻀﻊ‬ ‫ﺜﻡ‬ ‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﻨﻬﺎﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬what‫ﺠﻤﻠﻪ‬ ‫ﺒﻌﺩﻫﺎ‬ ‫ﻭﻨﻀﻊ‬‫ﺃﻱ‬ ‫ﺍﻓﻌل‬do. PDF created with pdfFactory trial version www.pdffactory.com
  • 71. 71 ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﺘﻨﺒﻪ‬ ‫ﻴﺠﺏ‬‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻤﻥ‬‫ﺍﻟﻀﺭﻭﺭﻱ‬ ‫ﻏﻴﺭ‬ ‫ﻤﻥ‬ ‫ﻓﺈﻨﻪ‬ ، ‫ﻭﺍﺤﺩﻩ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻭﻀﻊ‬Block‫ﻟﺤﻠﻘﻪ‬for.‫ﺍﻥ‬ ‫ﻓﻴﺠﺏ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻤﻥ‬ ‫ﻷﻜﺜﺭ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬ ‫ﻨﻀﻊ‬block‫ﻟﺤﻘﻠﻪ‬For.)‫ﺠﻤﻠﻪ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬if‫ﻭ‬case(‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﺫﻟﻙ‬ ‫ﻭﺴﺘﺒﻴﻥ‬ ‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻻﻤﺜﻠﻪ‬. ‫ﺍﻟﻰ‬ ‫ﺍ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻤﺜﻼ‬10: Program loop1 (input,output); Uses wincrt; Var I:integer; Begin For I := 1 to 10 do Writeln(i); End. ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬1‫ﺍﻟﻰ‬ 10‫ﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﻤﻨﺎ‬ ‫ﻷﻨﻨﺎ‬ ‫ﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﻤﻁﺒﻭﻉ‬ ‫ﻋﺩﺩ‬ ‫ﻭﻜل‬writeln‫ﺍﺭﺩﻨﺎ‬ ‫ﺤﺎل‬ ‫ﻓﻲ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﻁﺒﺎﻋﺘﻬﻡ‬write‫ﻓﻘﻁ‬. ‫ﻜﻴﻔﻴﻪ‬،،، ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻋﻤل‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬( ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﺒﻌﺩ‬begin‫ﻤﻥ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﺭﻯ‬ ‫ﺴﻭﻑ‬ ،1‫ﺍﻟﻰ‬10‫ﻫﺫﺍ‬ ، ‫ﺒﻌﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻥ‬ ‫ﻴﻌﻨﻲ‬do‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬10‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﺄﺨﺫ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﺍﻱ‬ ، ‫ﻤﺭﺍﺕ‬ 1‫ﻴﺄﺨﺫ‬ ‫ﻭﻋﻨﺩﻤﺎ‬ ، ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻴﻨﻔﺫ‬ ‫ﺜﻡ‬2‫ﻭﻫﻜﺫﺍ‬ ‫ﺍﻴﻀﺎ‬ ‫ﻴﻨﻔﺫﻫﺎ‬ ‫ﺴﻭﻑ‬.‫ﻨﺄﺨﺫﻫﺎ‬ ‫ﺩﻋﻨﺎ‬ ‫ﺍﻟﺘﻔﺼﻴل‬ ‫ﻤﻥ‬ ‫ﺒﺸﻲﺀ‬)‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﺭﺍﻫﺎ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻱ‬. ( PDF created with pdfFactory trial version www.pdffactory.com
  • 72. 72 ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻭﻻ‬I‫ﻟﻪ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬)‫ﻭﻫﻲ‬1(.‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺘﻨﻘل‬ ‫ﺜﻡ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻭﻫﻲ‬I‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻭﻀﻊ‬،‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﻘﻭﻡ‬ ‫ﺍﻟﺭﻗﻡ‬1‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﺍﻨﺯﺍل‬)‫ﺒﺴﺒﺏ‬writeln(. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻻﻥ‬I‫ﺍ‬ ‫ﺍﻟﻘﻴﻤﻪ‬‫ﻟﻪ‬ ‫ﻟﺜﺎﻨﻴﻪ‬)‫ﻭﻫﻲ‬2(‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻨﺘﻘل‬ ‫ﺜﻡ‬ )‫ﺍﻟﺭﻗﻡ‬ ‫ﻓﻴﻁﺒﻊ‬2‫ﻻﺴﻔل‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻨﺘﻘل‬(. ‫ﺍﻟﺭﻗﻡ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻭﻫﻲ‬ ‫ﻟﻬﺎ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﺨﺭ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﻨﺘﻬﻲ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻫﻜﺫﺍ‬10. ‫ﻤﻥ‬ ‫ﺃﻱ‬ ‫ﺘﻨﺎﺯﻟﻰ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﺍﺩ‬ ‫ﺍﻴﻀﺎ‬10‫ﺍﻟﻰ‬1‫ﺸﻜﻠﻪ‬ ‫ﻭﻴﻜﻭﻥ‬ ‫ﻜﺎﻟﺘﺎﻟﻲ‬: For i:= 10 downto 1 do Writeln(i); ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬)‫ﺍﻟﺴﺎﺒﻘﻪ‬(‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﻤﻁﺒﻭﻋﻪ‬)‫ﺴﻁﺭ‬ ‫ﻋﻠﻰ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﻜل‬(‫ﻤﻥ‬10‫ﺍﻟﻰ‬1. ‫ﺍﻻﺤﺭﻑ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻋﺩﺍﺩ‬ ‫ﺍﺭﺩﻨﺎ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬)‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ char(. For i:= 'a' to 'z' do Write(I,' '); ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻌﻨﻰ‬write(I,' ');‫ﻫﻰ‬‫ﻟﻠﻌﺩﺍﺩ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻥ‬)‫ﻟﻠﺤﻠﻘﻪ‬( ‫ﻭﻫﻲ‬a‫ﻭﻫﻰ‬ ‫ﻟﻠﻌﺩﺍﺩ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺍﻻﻥ‬ ، ‫ﻤﺴﺎﻓﻪ‬ ‫ﻭﻀﻊ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬b‫ﻭﺘﺭﻙ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 73. 73 ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻫﻜﺫﺍ‬ ، ‫ﺍﻴﻀﺎ‬ ‫ﻓﺭﺍﻍ‬z)‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬ ‫ﻫﺫﻩ‬ ‫ﻜل‬ ‫ﻻﺘﻨﺴﻰ‬ ‫ﺍﻟﺴﻁﺭ‬(. ‫ﻤﺴﺎﻓﺘﻴﻥ‬ ‫ﻨﻁﺒﻊ‬ ‫ﺍﻥ‬ ‫ﺍﺭﺩﻨﺎ‬ ‫ﻟﻭ‬//write(I,' '); ‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬//write(i:2); ‫ﻓﺭﺍﻏﻴﻥ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻭﻤﻌﻨﺎﻫﺎ‬)‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺜﻡ‬ ‫ﻓﺭﺍﻍ‬ ‫ﻴﻌﻨﻲ‬1( ‫ﻓﺭﺍﻏﻴﻥ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺜﻡ‬)‫ﻭﻫﻲ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺜﻡ‬ ‫ﻓﺭﺍﻍ‬2( ‫ﺍﻴﻀﺎ‬ ‫ﻓﺭﺍﻏﻴﻥ‬ ‫ﻓﻲ‬ ‫ﻭﻴﻁﺒﻌﻬﺎ‬ ‫ﺍﻟﻌﺎﺸﺭﻩ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬)‫ﺍﻻﻭل‬ ‫ﺍﻟﻔﺭﺍﻍ‬1 ‫ﻭ‬‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻔﺎﺭﻍ‬0( ‫ﺍﻟ‬ ‫ﺸﻜل‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬‫ﻜﺎﻟﺘﺎﻟﻲ‬ ‫ﺤﻠﻘﻪ‬//1 2 3 4 5 6 7 8 910 ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻟﻭ‬ ‫ﺤﺴﻨﺎ‬writeln('hallow':10);‫ﻤﻥ‬ ‫ﻜﻠﻬﺎ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺴﻭﻑ‬ ‫ﻤﺴﺎﻓﺎﺕ‬ ‫ﺍﻟﻌﺸﺭﻩ‬ ‫ﺨﻼل‬،‫ﺍﺭﺒﻌﻪ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻤﺴﺎﻓﺎﺕ‬ ‫ﻋﺸﺭﻩ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻟﻠﺠﻤﻠﻪ‬ ‫ﻭﺴﺘﻪ‬ ‫ﻓﺎﺭﻏﻪ‬hallow. ‫ﺤﻠﻘﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻻﻤﻭﺭ‬ ‫ﻤﻼﺤﻅﻪ‬ ‫ﻴﺠﺏ‬for: 1.‫ﺍﻟ‬ ‫ﺘﻘﻭﻡ‬‫ﻟﻬﺎ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﺨﺭ‬ ‫ﺍﻟﻰ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻭل‬ ‫ﻤﻥ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺤﻠﻘﻪ‬ 2.‫ﺍﻟﻨﻬﺎﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻨﻔﺴﻬﺎ‬ ‫ﻫﻲ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬،‫ﻓﺎﻟﺤﻠﻘﻪ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﻤﺭﻩ‬ ‫ﺘﻨﻔﺫ‬ ‫ﺴﻭﻑ‬. For i:=1 to 1 do Writeln('wajdy'); PDF created with pdfFactory trial version www.pdffactory.com
  • 74. 74 ‫ﻫﻲ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻨﺎﺘﺞ‬‫ﻜﻠﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬wajdy‫ﻓﻘﻁ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻤﺭﻩ‬ 3.‫ﺍﻟ‬ ‫ﻨﻭﻉ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬‫ﺍﻟﺤ‬ ‫ﻓﻲ‬ ‫ﻤﺘﻐﻴﺭ‬‫ﻠﻘ‬‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﻨﻭﻉ‬ ‫ﻨﻔﺴﻪ‬ ‫ﻫﻭ‬ ‫ﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬ ‫ﻓﻤﺜﻼ‬ ‫ﻭﺍﻟﻨﻬﺎﺌﻴﻪ‬I‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer)‫ﺍﻻﻤﺜﻠﻪ‬ ‫ﻫل‬ ‫ﻗﺭﺭ‬ ‫ﻻ‬ ‫ﺍﻡ‬ ‫ﺼﺤﻴﺤﻪ‬ ‫ﺍﻟﺘﺎﻟﻴﻪ‬( For i:= 1 to 's' do For i:='a' to 'z' do For i:=10 to 3 do For i:=5 downto 10 do ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬:‫ﺨﺎﻁﺊ‬ ‫ﺍﻟ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻻﻥ‬‫ﻨﻬﺎﺌﻴﻪ‬s‫ﺍﻟﻌﺩﺍﺩ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻟﻴﺴﺕ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬:‫ﺨﺎﻁﺊ‬ ‫ﺍﻟﻌﺩﺍﺩ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻟﻴﺴﺕ‬ ‫ﻭﺍﻟﻨﻬﺎﺌﻴﻪ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻻﻥ‬ ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻤﺜﺎل‬:‫ﺨﺎﻁﺊ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻴﺠﺏ‬ ‫ﺘﻨﺎﺯﻟﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻻﻥ‬dwonto‫ﺠﻤﻠﻪ‬ ‫ﺒﺩل‬to ‫ﺍﻟﺭﺍﺒﻊ‬ ‫ﺍﻟﻤﺜﺎل‬:‫ﺨﺎﻁﺊ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻴﺠﺏ‬ ‫ﺘﺼﺎﻋﺩﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻻﻥ‬to‫ﺒ‬‫ﺠﻤﻠﻪ‬ ‫ﺩل‬dwonto PDF created with pdfFactory trial version www.pdffactory.com
  • 75. 75 4.‫ﺠﻤﻠﻪ‬for‫ﻤﺜﻼ‬ ، ‫ﺘﻠﻴﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻘﻁ‬ ‫ﺘﻜﺭﺭ‬ For i:=1 to 10 do Writeln('wajdy'); Writeln('essam'); ‫ﻜﻠﻤﺎﺕ‬ ‫ﻋﺸﺭﻩ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬wajdy)‫ﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻜل‬(‫ﻭﻓﻲ‬ ‫ﻜﻠ‬ ‫ﺍﻻﺨﻴﺭ‬‫ﻤ‬‫ﻪ‬essam.‫ﻓﻘﻁ‬ ‫ﺘﻠﻴﻪ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺍﻥ‬،‫ﺍﺭﺩﻨﺎ‬ ‫ﻓﺈﺫﺍ‬ ‫ﺍﻥ‬‫ﺍﻜ‬ ‫ﻴﺄﺨﺫ‬‫ﺜ‬‫ﻓﻲ‬ ‫ﻨﺤﺼﺭﻫﺎ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺭ‬block‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﺃﻱ‬begin ‫ﺘﻜﺭﺍﺭﻫﺎ‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺜﻡ‬،‫ﺜﻡ‬end;‫ﻟﻠﺘﻜﺭﺍﺭ‬،‫ﺜﻡ‬end.‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬. ‫ﻤﺜﺎل‬ ‫ﻨﺄﺨﺫ‬ ‫ﺩﻋﻨﺎ‬ ، ‫ﺍﻻﻥ‬// ‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﻤﻥ‬ ‫ﻁﻠﺏ‬ ‫ﻟﻭ‬10‫ﻤﺭﺍﺕ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺠﻤﻠﻪ‬:‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻓﻲ‬hallow‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺴﻁﺭ‬world‫؟‬ Program loop2 (input,output); Uses wincrt; Var I: integer; Begin For i:=1 to 10 do Begin Writeln('hallow'); Writeln('world'); End; End. PDF created with pdfFactory trial version www.pdffactory.com
  • 76. 76 ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻋﻤل‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﻨﺸﺭﺡ‬ ‫ﺩﻋﻨﺎ‬ ‫ﺍﻻﻥ‬ ، ‫ﺍﺭﺃﻴﺕ‬)‫ﺍﻟﻤﺭﻜﺒﻪ‬(‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺃﻱ‬ block‫ﻟﺩﻴﻬﺎ‬ ‫ﺃﻱ‬ ، ‫ﺒﻬﺎ‬ ‫ﺨﺎﺹ‬begin‫ﻭ‬end;‫ﺒﻬﺎ‬ ‫ﺨﺎﺼﻪ‬. ‫ﺍﻟﻤﻌﻨﻰ‬ ‫ﻨﻔﺱ‬ ‫ﻟﻬﺎ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﻫﺫﻩ‬ ‫ﻜل‬// ، ‫ﻤﺭﻜﺒﻪ‬ ‫ﺤﻠﻘﻪ‬block،begin‫ﻭ‬end;‫ﻜﺘﻠﻪ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬I‫ﻭﻫﻲ‬ ‫ﻟﻪ‬ ‫ﺍﻻﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬1.‫ﻭ‬‫ﺍﻟﻰ‬ ‫ﻴﻨﺘﻘل‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬،‫ﻫﻨﺎﻙ‬ ‫ﻴﺠﺩ‬ ‫ﺴﻭﻑ‬begin‫ﻭ‬end;!! ‫ﻤﺎﺒﻴﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﺴﻴﻔﻬﻡ‬ ‫ﻫﻨﺎ‬begin‫ﻭﺍﻟـ‬end;‫ﻋﻨﺩﻤﺎ‬ ‫ﻤﺭﻩ‬ ‫ﻜل‬ ‫ﻴﻨﻔﺫ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﺘﻐﻴﺭ‬I. ‫ﺒﻤﻌﻨﻰ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬ ‫ﻋﻨﺩﻤﺎ‬I‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬1‫ﺍﻟﻜﻠﻤﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺴﻭﻑ‬hallow‫ﺜﻡ‬ ‫ﻭﻴﻁﺒﻊ‬ ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﻟﻠﺴﻁﺭ‬ ‫ﻴﻨﺘﻘل‬world‫ﻴﻨ‬ ‫ﺜﻡ‬‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﻟﻠﺴﻁﺭ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﺘﻘل‬.‫ﻫﺫﻩ‬ ‫ﻜل‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬)1(‫ﻓﻘﻁ‬!! ‫ﺍﻻﻥ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬I‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻭﺴﻴﻘﻭﻡ‬ ، ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬block)‫ﻁﺒﺎﻋﻪ‬ ‫ﻓﻴﻪ‬ ‫ﺍﻟﻤﻭﺠﻭﺩﻩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬(. ‫ﺜﻡ‬‫ﺴ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺄﺨﺫ‬I‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬،‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻭﻴﻘﻭﻡ‬block.‫ﻴﻘﻭﻡ‬ ‫ﺤﺘﻰ‬ ‫ﻭﻫﻜﺫﺍ‬ ‫ﺍ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺒﻨﺘﻔﻴﺫ‬‫ﻟﻨﻬﺎﺌﻴﻪ‬)10. ( PDF created with pdfFactory trial version www.pdffactory.com
  • 77. 77 ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬::‫ﺤﻠﻘﻪ‬while:: ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬// While condition do begin : : End; ‫ﻋﻤﻠﻬﺎ‬ ‫ﻜﻴﻔﻴﻪ‬: ‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﺤﻘﻕ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬condition،‫؟‬ ‫ﻻ‬ ‫ﺍﻡ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﻫﻭ‬ ‫ﻫل‬ ‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬،‫ﻓﻲ‬ ‫ﺘﻭﺠﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻭﻴﻨﻔﺫ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﺄﺨﺩ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻓﺈﻥ‬ ‫ﺍﻟـ‬block‫ﻟﻠـ‬ ‫ﻴﺼل‬ ‫ﺤﺘﻰ‬end;. ‫ﻻ‬ ‫ﺍﻡ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﻫل‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻓﺈﻨﻪ‬..‫؟‬ ‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺜﺎﻨﻴﻪ‬ ‫ﻤﺭﻩ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬block.‫ﻴﺘﺤﻘﻕ‬ ‫ﻻ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬‫ﺍﻟﺸﺭﻁ‬. ‫ﻓﺎﻨﻪ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬‫ﻴﻘﻭﻡ‬‫ﺠﻤﻠﻪ‬ ‫ﺒﻌﺩ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻭﺘﻨﻔﻴﺫ‬ ، ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ end;‫ﺍﻭﺍﻤﺭ‬ ‫ﺍﻭ‬ ‫ﺠﻤل‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬. ‫ﺍﻟ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬‫ﺍﻻﺘﻲ‬ ‫ﺸﻜل‬// PDF created with pdfFactory trial version www.pdffactory.com
  • 78. 78 ‫ﻤﺜﺎل‬//‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻟﻁﺒﺎﻋﻪ‬1‫ﺍﻟﻰ‬5‫ﺒﺤﻠﻘﻪ‬while// Program loop3 (input,output); Uses wincrt; Var I:integer; Begin I:=1; While i<6 do ‫اﻟـ‬ ‫ﻧﻔﺬ‬Block ‫ﻧﻌﻢ‬ ‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﻻ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 79. 79 Begin Writeln(i); I: =i+1; End; End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬: ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬I‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer.(‫ﺒﻭﻀﻊ‬ ‫ﻗﻤﻨﺎ‬ ‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﺍﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﻗﻴﻤﻪ‬I)‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻌﺭﻑ‬ ‫ﺤﺘﻰ‬ ‫ﻭﻀﻌﻬﺎ‬ ‫ﻴﺠﺏ‬‫ﻭﺍﻻ‬ ، ‫ﺩﺍﺌﻤﺎ‬ ‫ﻭﻫﻲ‬ ‫ﻟﻪ‬ ‫ﺍﻻﻓﺘﺭﺍﻀﻴﻪ‬ ‫ﺴﻴﻀﻊ‬0(‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺠﻤل‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻴﻀﺎ‬ repeat‫ﻭﻫﻲ‬ ‫ﺍﻻﻓﺘﺭﺍﻀﻴﻪ‬ ‫ﺴﺘﻜﻭﻥ‬ ‫ﻭﺍﻻ‬ ‫ﻟﻠﺘﻜﺭﺍﺭ‬ ‫ﺍﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻭﻀﻊ‬ ‫ﻴﺠﺏ‬0. ‫ﺍﻟﺸﺭﻁ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻗﻤﻨﺎ‬ ، ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﺍﻻﻥ‬i<6‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻤﻌﻨﺎﻩ‬ ،I‫ﺍﺼﻐﺭ‬ ‫ﻤﻥ‬6‫ﺍﻟـ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺩﺨﻭل‬ ‫ﺴﻴﺘﻡ‬Block‫ﺘﺴﺎﻭﻱ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬6‫ﺍﻜﺒﺭ‬ ‫ﺍﻭ‬ ‫ﺸﻲ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻭﻋﺩﻡ‬ ‫ﻤﻨﻪ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬)‫ﺍﻟـ‬ ‫ﻓﻲ‬block‫ﻁﺒﻌﺎ‬( ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺤﻘﻕ‬ ‫ﺍﺫﺍ‬)‫ﺍﻱ‬I‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬6(‫ﺴﻭﻑ‬‫ﻁﺒﺎﻋﻪ‬ ‫ﺘﺘﻡ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬I.‫ﻭﺍﻀ‬‫ﺎ‬‫ﻓﻪ‬ ‫ﺍﻟ‬‫ﺠﻤﻠﻪ‬i:=i+1‫ﻴﻌﻨﻲ‬ ،I‫ﺍﻟﻘﺩﻴﻤﻪ‬)1(+‫ﺍﻟﺭﻗﻡ‬1‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﺒﺘﺨﺯﻴﻥ‬ ‫ﻭﻗﻤﻨﺎ‬ ،)2( ‫ﻤﺘﻐﻴﺭ‬ ‫ﻓﻲ‬I. ‫ﺍ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻌﻭﺩ‬ ‫ﺍﻻﻥ‬‫ﻫل‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻟﺸﺭﻁ‬I‫ﻫﻲ‬ ‫ﺍﻟﻠﻰ‬2‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬6‫؟‬‫ﻨﻌﻡ‬،‫ﺍﺫﺍ‬ ‫ﺍﻟـ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻴﻘﻭﻡ‬block)‫ﺍﻟـ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻭﺴﻭﻑ‬I‫ﺍﻟﻤﺭﻩ‬ ‫ﻫﺫﻩ‬ ‫ﺘﺴﺎﻭﻱ‬3( PDF created with pdfFactory trial version www.pdffactory.com
  • 80. 80 ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻌﻤﻠﻴﻪ‬ ‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬ ‫ﻭﻫﻜﺫﺍ‬I‫ﺘﺴﺎﻭﻱ‬6‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﻫل‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺭﺠﻊ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺤﺎﻟﻪ‬I)6(‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬6....‫ﻁﺒﻌﺎ‬ ‫ﻻ‬ ‫ﺍﻟﺠﻭﺍﺏ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺴﻭﻑ‬ ‫ﺍﺫﺍ‬. ‫ﻤﻼﺤﻅﺎﺕ‬:: ‫ﻗﺒل‬ ‫ﻟﺩﻴﻙ‬ ‫ﺍﻟﺫﻱ‬ ‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﻤﺎ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻌﻁﻲ‬ ‫ﺍﻥ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻓﻲ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻴﺠﺏ‬ ‫ﺠﻤﻠﻪ‬while)‫ﻭﺍﻴﻀﺎ‬repeat(‫ﻴﻌﻁﻴﻬﺎ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻓﺈﻥ‬ ‫ﺘﺭﻴﺩ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ، ‫ﻭﻫﻲ‬ ‫ﺍﻻﻓﺘﺭﺍﻀﻴﻪ‬ ‫ﻗﻴﻤﺘﻬﺎ‬0. ‫ﻨﻬﺎﺌﻴﺎ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺍﺤﺫﻑ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬)i:=i+1(‫ﻭﻗﻡ‬ ،‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺘﻼﺤﻅ‬ ‫ﻤﺎﺫﺍ‬‫؟‬‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﺍﻥ‬ ‫ﺘﺠﺩ‬ ‫ﺴﻭﻑ‬0‫ﺍﻟﻰ‬5 ‫ﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻜل‬ ‫ﻤﻁﺒﻭﻋﻪ‬. ‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻴﺼﺒﺢ‬ ‫ﻟﻜﻲ‬ ‫ﺍﻟﻌﻤل‬ ‫ﻤﺎ‬ ‫ﺍﺫﺍ‬1‫ﺍﻟﻰ‬5‫ﻤﻥ‬ ‫ﻭﻟﻴﺱ‬0‫؟‬ ‫ﺍﻟـ‬ ‫ﺒﺩﺍﺨل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﻭﺍﻗﻊ‬ ‫ﺒﺘﻐﻴﺭ‬ ‫ﻋﻠﻴﻨﺎ‬block‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺃﻱ‬ i:=i+1‫ﺍ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬‫ﻫﻲ‬ ‫ﻟﺜﺎﻨﻴﻪ‬writeln(i);. ‫ﻴﺼﺒﺢ‬ ‫ﺃﻱ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺒﺘﻐﻴﺭ‬ ‫ﻋﻠﻴﻨﺎ‬ ‫ﺍﻴﻀﺎ‬while i<5 do ‫ﺍﻟﻤﻼﺤﻅﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺒﺘﺠﺭﻴﺏ‬ ‫ﻗﻡ‬‫ﺘﻔﻬﻤ‬ ‫ﻟﻜﻲ‬ ،‫ﻬ‬‫ﺠﻴﺩ‬ ‫ﺒﺸﻜل‬ ‫ﺎ‬... ‫ﺍﻟـ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﻜﺘﺏ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬Blocki:=i+1 //‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﻓﺈﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬I)1‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﺍﺴﻨﺩﺕ‬ ‫ﻗﺩ‬ ‫ﻜﻨﺕ‬ ‫ﺍﺫﺍ‬I‫ﻗﻴﻤﻪ‬‫ﺒﺩﺀ‬ ‫ﻗﺒل‬ ‫ﺤﻠﻘﻪ‬while‫ﻭ‬ ،0‫ﺘﺴﻨﺩ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬)‫ﻗﻴﻤﻪ‬ ‫ﻟﻬﺎ‬ ‫ﺘﻌﻁﻲ‬ ‫ﺍﻭ‬(( ‫ﺍﻟﻤﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﻻ‬ ‫ﻤﺎ‬ ‫ﺍﻟﻰ‬ ‫ﻴﻨﻔﺫ‬ ‫ﺴﻭﻑ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 81. 81 ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬::‫ﺤﻠﻘﻪ‬Repeat:: ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬// Repeat : : Until condition ‫ﻋﻤﻠﻬﺎ‬ ‫ﻜﻴﻔﻴﻪ‬: ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺒﺩﺨﻭل‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬repeat‫ﺍﻟﺘ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻭﺘﻨﻔﻴﺫ‬‫ﻲ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺤﺘﻰ‬ ‫ﺒﺩﺍﺨﻠﻪ‬until‫ﻻ؟؟‬ ‫ﺍﻡ‬ ‫ﻤﺘﺤﻘﻕ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻫل‬ ‫ﻟﻴﺴﺄل‬ ‫ﻓﻴﺘﻭﻗﻑ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬! ‫ﻻ‬ ‫ﻭﺍﺫﺍ‬)‫ﻤﺘﺤﻘﻕ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺸﺭﻁ‬(‫ﻭﺘﻜﺭﺍﺭ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﻟﺩﺨﻭل‬ ‫ﻴﻘﻭﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﺍﻻﻭﺍﻤﺭ‬...‫ﻭﻫﻜﺫﺍ‬،‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﺤﻘﻕ‬ ‫ﻴﺘﻡ‬ ‫ﺤﺘﻰ‬. ‫ﺍﻟﻤﻼﺤﻅﻪ‬ ‫ﻴﺠﺏ‬‫ﺤﻠﻘﻪ‬ ‫ﺍﻥ‬repeat‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ‫ﻻ‬begin‫ﻭﻻ‬end; ‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ‫ﻭﺘﻜﻭﻥ‬// PDF created with pdfFactory trial version www.pdffactory.com
  • 82. 82 ‫ﻤﺜﺎل‬//‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻟﻁﺒﺎﻋﻪ‬1‫ﺍﻟﻰ‬5‫ﺒﺤﻠﻘﻪ‬repeat// Program loop3 (input,output); Uses wincrt; Var I:integer; ‫اﻻواﻣﺮ‬ ‫وﺗﻨﻔﯿﺬ‬ ‫اﻟﺤﻠﻘﮫ‬ ‫اﻟﻰ‬ ‫اﻟﺪﺧﻮل‬ ‫اﻟﺸﺮط‬ ‫ﺗﺤﻘﻖ‬ ‫اﻟﺘﺎﻟﯿﮫ‬ ‫اﻻواﻣﺮ‬ ‫ﻧﻌﻢ‬ ‫ﻻ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 83. 83 Begin I:=1; repeat Writeln(i); I:=i+1; Until i>5 End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺒﻌﺩ‬‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬integer(‫ﺘﻡ‬‫ﺍﺒﺘﺩﺍﺌﻴﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻭﻀﻊ‬ ‫ﻟﻠﻤﺘﻐﻴﺭ‬I‫ﻭﻫﻲ‬1)I:=1(.‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺒﺩﺃﻨﺎ‬repeat‫ﺴﻭ‬ ،‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ ‫ﻴﺠﺩ‬ ‫ﻑ‬ repeat‫ﺃﻱ‬ ‫ﻤﻌﻨﺎﻫﺎ‬‫ﻜﺭﺭ‬‫ﺤﺘﻰ‬ ‫ﺍﻻﺘﻴﻪ‬ ‫ﺍﻟﺠﻤل‬Until‫ﻭﻫﻭ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻴﺘﺤﻘﻕ‬I ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫ﻓ‬ ‫ﺘﺤﻘﻕ‬ ‫ﻓﺈﺫﺍ‬‫ﺎ‬‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﺨﺭﺝ‬. ‫ﻟﻠﻤﺘﻐﻴﺭ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺴﻴﺠﺩ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬I)‫ﺘﺴﺎﻭﻱ‬ ‫ﻗﻴﻤﺘﻪ‬1‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﺒﺴﺒﺏ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻗﺒل‬ ‫ﺍﻟﺫﻱ‬.( ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺴﻴﺠﺩ‬ ‫ﺫﻟﻙ‬ ‫ﺒﻌﺩ‬I:=i+1‫ﻭﻤﻌﻨﺎﻫﺎ‬ ،"‫ﺯﻴﺎﺩﻩ‬ ‫ﻗﻡ‬ ‫ﺍﻱ‬1‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻋﻠﻰ‬I )‫ﺘﺴﺎﻭﻱ‬ ‫ﻗﻴﻤﺘﻪ‬1(‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺩﺍﺨل‬ ‫ﺒﺘﻌﻴﻨﻬﻤﺎ‬ ‫ﻭﻗﻡ‬ ،I. " ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬I‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻟﺤﺎﻟﻴﻪ‬2. ‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺴﻴﺫﻫﺏ‬ ‫ﺍﻻﻥ‬until‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬ ‫ﻭﻴﺘﺤﻘﻕ‬ ،.‫ﻫل‬2‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫ﺍﺫﺍ‬ ‫؟‬ ‫ﻓﺴﻭ‬ ‫ﻨﻌﻡ‬ ‫ﺍﻟﺠﻭﺍﺏ‬ ‫ﻜﺎﻥ‬‫ﻑ‬‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬.‫ﻻ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬)‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﻭﻫﻭ‬ ‫ﺍﻻ‬‫ﻥ‬(‫ﻟﻠﺘﻜﺭﺍﺭ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻴﺭﺠﻊ‬ ‫ﻓﺴﻭﻑ‬. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻴﻁﺒﻊ‬I)‫ﺘﺴﺎﻭﻱ‬ ‫ﻗﻴﻤﺘﻪ‬2(‫ﺒﺯﻴﺎﺩﻩ‬ ‫ﻭﻴﻘﻭﻡ‬ ،1‫ﻭﻴﺼﺒﺢ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻋﻠﻰ‬3. ‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻭﺍﻻﻥ‬..‫ﻭﻫﻜﺫﺍ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 84. 84 ‫ﺍ‬‫ﺍﻥ‬ ‫ﻟﻰ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬I‫ﻫﻲ‬5‫ﺍﻟﺭﻗﻡ‬ ‫ﻓﻴﻁﺒﻊ‬ ،5‫ﻭﺍﺤﺩ‬ ‫ﻋﻠﻴﻬﺎ‬ ‫ﻴﺯﻴﺩ‬ ‫ﺜﻡ‬ ، )‫ﺴﺘﺼﺒﺢ‬ ‫ﺃﻱ‬6(‫ﻫل‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺫﻫﺏ‬ ‫ﻭﺍﻻﻥ‬6‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5‫؟؟‬ ‫ﻨﻌﻡ‬،‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﺴﻴﺨﺭﺝ‬ ‫ﺍﺫﺍ‬. ‫ﻤﻥ‬ ‫ﺍﻻﺭﻗﺎﻡ‬ ‫ﻫﻭ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﺃﻥ‬ ‫ﺃﻱ‬1‫ﺍﻟﻰ‬5‫ﺴﻁﺭ‬ ‫ﻓﻲ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻜل‬ ‫ﻤﻁﺒﻭﻋﻪ‬. ‫ﻋﻠﻰ‬ ‫ﺘﻨﻁﺒﻕ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﻼﺤﻅﺎﺕ‬while‫ﻋﻠﻰ‬ ‫ﺘﻨﻁﺒﻕ‬ ‫ﺍﻴﻀﺎ‬repeat،‫ﺒﻔﻬﻤﻬﺎ‬ ‫ﻗﻡ‬ ‫ﻋﻠﻴﻬﻤﺎ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻭﻗﻡ‬ ، ‫ﺍﻻﻥ‬. ‫ﺠﻤﻠﻪ‬ ‫ﻓﻲ‬while‫ﻭﺠﻤﻠﻪ‬repeat‫ﺍﻟﻰ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻴﺼﺒﺢ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬‫ﻤﺎ‬ ‫ﻤﺜﻼ‬ ‫ﻻﻨﻬﺎﻴﻪ‬/ While 2<4 do Writeln('wajdy '); 2‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬ ‫ﺩﺍﺌﻤﺎ‬4!‫ﻨﻬﺎﻴﻪ‬ ‫ﻻ‬ ‫ﻤﺎ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﻟﺫﻟﻙ‬. Repeat Writeln('wajdy'); Until 3>5 ‫ﺘﺼﺒﺢ‬ ‫ﺤﺘﻰ‬ ‫ﻜﺭﺭ‬3‫ﺍﻜﺒﺭ‬‫ﻤﻥ‬5!!‫ﺘﻜﺭ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﻟﺫﻟﻙ‬‫ﺍ‬‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺭ‬ ‫ﺘﺼﺒﺢ‬ ‫ﺤﺘﻰ‬3‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬5)‫ﻻﻨﻬﺎﻴ‬ ‫ﻤﺎ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﻟﻌﺭﺒﻲ‬‫ﻪ‬(. PDF created with pdfFactory trial version www.pdffactory.com
  • 85. 85 ‫ﺍﻟﻤﺘﺩﺨﻠﻪ‬ ‫ﺍﻟﺤﻠﻘﺎﺕ‬::Nested Loops ‫ﺤﻠﻘﻪ‬ ‫ﺃﻱ‬ ، ‫ﺍﻟﺤﻠﻘﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻨﻭﺍﻉ‬ ‫ﻫﺫﻩ‬ ‫ﻤﺜل‬ ‫ﺍﻟﻰ‬ ‫ﻨﺤﺘﺎﺝ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻓﻲ‬For ‫ﺤﻠﻘﻪ‬ ‫ﺒﺩﺍﺨل‬for، ‫ﺍﺨﺭﻯ‬while‫ﺒﺩﺍﺨل‬while‫ﻤﺜﻼ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬ ، repeat‫ﺤﻠﻘﻪ‬ ‫ﺒﺩﺍﺨﻠﻬﺎ‬for‫ﻭﻫﻜﺫﺍ‬ ،. ‫،ﻋﻠﻰ‬ ‫ﺍﻟﻤﻁﻠﻭﺏ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺤﺴﺏ‬ ‫ﻋﻠﻰ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻻﻤﻭﺭ‬ ‫ﺘﻠﻙ‬ ‫ﻜل‬‫ﻤﺩ‬‫ﻯ‬‫ﺘﻔﻜﻴﺭ‬ ، ‫ﺍﻟﻤﺒﺭﻤﺞ‬‫ﺍﻥ‬ ‫ﺒﻤﻌﻨﻰ‬‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻨﺠﺩ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬3‫ﻟﺤﻠﻪ‬ ‫ﻁﺭﻕ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ، ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﻤﻔﻬﻭﻡ‬ ‫ﺘﻔﻬﻡ‬ ‫ﺤﺎﻭل‬ ‫ﻭﺍﻨﻤﺎ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺃﻱ‬ ‫ﺤﻔﻅ‬ ‫ﺘﺤﺎﻭل‬ ‫ﻻ‬ ‫ﻟﺫﻟﻙ‬ ‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺒﻁﺭﻴﻘﺘﻙ‬ ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺴﺘﺴﺘﻁﻴﻊ‬. ‫ﻤﺜﺎل‬//‫ﺍﻟﺘﺎﻟﻲ‬ ‫ﺒﺎﻟﺸﻜل‬ ‫ﺘﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ، ‫ﺤﻠﻘﻪ‬ ‫ﺩﺍﺨل‬ ‫ﺤﻠﻘﻪ‬:: Repeat …. : For ….. do Begin : End; : Until ………. ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﻟﻠﺨﺭﻭﺝ‬:: ‫ﺍﻻﻤﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻨﻜﺘﺏ‬::exit PDF created with pdfFactory trial version www.pdffactory.com
  • 86. 86 If i>3 then exit; ‫ﻤﺜﺎل‬: Begin For i:= 1 to 10 do Begin Writeln(i); If i=5 then exit ; End; Writeln('Done'); End. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻭﺼﻠﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺃﻱ‬I5‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻓﻘﻡ‬!! ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬: 1 2 3 4 5 Done PDF created with pdfFactory trial version www.pdffactory.com
  • 87. 87 ‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬ ‫ﺍﻟﺤﻠﻘﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬/// ‫ﺍﻻ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻟﻁﺒﺎﻋﻪ‬‫ﺘﻲ‬: * * * * * * * * * * Program loop4 (input,output); Uses wincrt; Var I,j:integer; Begin For i:= 1 to 4 do Begin For j:= 1 to I do Write(' * '); Writeln; End; End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬:: ‫ﺤﻠﻘﺘﻴﻥ‬ ‫ﺒﻌﻤل‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﺍﺨﺭﻯ‬ ‫ﺒﺩﺍﺨل‬ ‫ﻭﺍﺤﺩﻩ‬(‫ﺍﺭﺒﻊ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻥ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻔﻜﺭﻩ‬ ، ‫ﺍﺴﻁﺭ‬)‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻭﻫﻲ‬(‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻴﻨﺘﻘل‬ ‫ﺜﻡ‬ ‫ﻨﺠﻤﻪ‬ ‫ﻓﻴﻪ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﺠﻤﺘﺎﻥ‬ ‫ﺒﻪ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺴﻁﺭ‬ ، ‫ﻟﻼﺴﻔل‬‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻴﻨﺘﻘل‬)‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻭﻫﻲ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬(‫ﺍﻟﺴﻁﺭ‬ ‫ﻭ‬3‫ﺍﻟﺴﻁﺭ‬ ، ‫ﻨﺠﻤﺎﺕ‬ ‫ﺜﻼﺜﻪ‬ ‫ﺒﻪ‬4‫ﻨﺠﻤﺎﺕ‬ ‫ﺍﺭﺒﻊ‬ ‫ﺒﻪ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 88. 88 ‫ﻨﺒﺩﺃ‬ ‫ﺩﻋﻨﺎ‬‫ﺒﺨﻁﻭﻩ‬ ‫ﺨﻁﻭﻩ‬!! ‫ﻋﻨﺩﻤﺎ‬ ‫ﺍﻭﻻ‬‫ﻴ‬‫ﺄﺨﺫ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬I‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻘﻴﻤﻪ‬1‫ﺍﻟـ‬ ‫ﺒﻴﻥ‬ ‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬Block. ‫ﺍﻟـ‬block‫ﺍﺨﺭﻯ‬ ‫ﺤﻠﻘﻪ‬ ‫ﺒﻪ‬ ‫ﻴﻭﺠﺩ‬)‫ﺩﺍﺨﻠﻴﻪ‬(‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺴﺘﻨﻔﺫ‬ ‫ﺍﻱ‬ ،‫ﺍﻟﺩﺍﺨﻠﻴﻪ‬‫ﻜﺎﻤﻠﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺄﺨﺫ‬ ‫ﻋﻨﺩﻤﺎ‬1.‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺄﺨﺫ‬ ‫ﻭﻋﻨﺩﻤﺎ‬2 ‫ﺍﺨﺭﻯ‬ ‫ﻤﺭﻩ‬ ‫ﻜﺎﻤﻠﻪ‬ ‫ﺍﻟﺩﺍﺨﻠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺴﺘﻨﻔﺫ‬.‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺎﺨﺫ‬ ‫ﻤﺎ‬ ‫ﻜل‬ ‫ﻭﻫﻜﺫﺍ‬ ‫ﻜﺎﻤﻠﻪ‬ ‫ﺘﻨﻔﺫ‬ ‫ﺍﻟﺩﺍﺨﻠﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻓﺈﻥ‬ ‫ﻤﺎ‬ ‫ﻗﻴﻤﻪ‬. ‫ﺍﻻﻭ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺍﺨﺫ‬ ‫ﺍﻻﻥ‬‫ﻟﻰ‬)‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬(‫ﺍﻟﻘﻴﻤﻪ‬1)‫ﺍﻱ‬I‫ﻴﺴﺎﻭﻱ‬1‫ﺍﻻﻥ‬.( ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬‫ﻤﻥ‬1‫ﺍﻟﻰ‬I)‫ﺍﻟﻰ‬ ‫ﺃﻱ‬1(‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﻤﺭﻩ‬ ‫ﺴﺘﻜﺭﺭ‬ ‫ﺃﻱ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺘﻨﻔﺫ‬ ‫ﺍﻻﻥ‬ ، ‫ﻨﺠﻤﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻭﻫﻲ‬writeln. ‫ﻭ‬‫ﺒﻬﺫﺍ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﺍﻨﺘﻬﻰ‬I‫ﺘﺴﺎﻭﻱ‬1 ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﺍﻻﻥ‬‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﺘﻐﻴﺭ‬‫ﺍﻟﺨﺎﺭﺠﻴﻪ‬I‫ﺘﺴﺎﻭﻱ‬2‫ﻤﺎ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﺴﻴﻘﻭﻡ‬ ، ‫ﺍﻟـ‬ ‫ﺒﻴﻥ‬block ‫ﺍﻟ‬ ‫ﺍﻟﺤﻠﻘﻪ‬‫ﺩﺍﺨﻠﻴﻪ‬‫ﻤﻥ‬1‫ﺍﻟﻰ‬)I‫ﺍﻟﻲ‬ ‫ﺃﻱ‬2(، ‫ﻤﺭﺘﺎﻥ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺴﺘﻜﺭﺭ‬ ‫ﺃﻱ‬ ‫ﺍﻻﻭﻟ‬ ‫ﺍﻟﻤﺭﻩ‬‫ﻰ‬‫ﺘﻨﻁﺒﻊ‬ ‫ﺴﻭﻑ‬*،‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﻭﺍﻟﻤﺭﻩ‬) *‫ﺍﻟﺴﻁﺭ‬ ‫ﻨﻔﺱ‬ ‫ﻓﻲ‬ ‫ﻨﺠﻤﺘﺎﻥ‬ ‫ﺃﻱ‬( ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺘﻨﻔﺫ‬ ‫ﺜﻡ‬writeln‫ﻭﻫﻜﺫﺍ‬ ، ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﻟﻠﺴﻁﺭ‬ ‫ﺍﻟﻤﺅﺸﺭ‬ ‫ﻭﻴﻨﺘﻘل‬!! PDF created with pdfFactory trial version www.pdffactory.com
  • 90. 90 ‫ﻫﻴﻜﻠﻴﻪ‬ ‫ﺍﻭ‬ ‫ﺘﺭﻜﻴﺒﻴﻪ‬ ‫ﻟﻐﻪ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻐﻪ‬ ‫ﺍﻥ‬ ‫ﻨﻌﻠﻡ‬ ‫ﻜﻠﻨﺎ‬structured language‫ﻫﺫﺍ‬ ‫ﺼﻐﻴﺭﻩ‬ ‫ﻭﻤﺸﺎﻜل‬ ‫ﺨﻁﻭﺍﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺘﻘﺴﻡ‬ ‫ﺍﻟﻤﺸﺎﻜل‬ ‫ﺍﻥ‬ ‫ﻴﻌﻨﻲ‬،‫ﺒﺸﻜل‬ ‫ﺘﻜﺘﺏ‬ ‫ﺫﻟﻙ‬ ‫ﻭﺒﻌﺩ‬ ‫ﻭﺍﻻﻗﺘﺭ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺘﻘﻭﺩﻨﺎ‬ ‫ﻭﺍﻟﺘﻘﺴﻤﺎﺕ‬ ‫ﺍﻟﺘﺭﺘﻴﺒﺎﺕ‬ ‫ﻫﺫﻩ‬ ، ‫ﻤﺭﺘﺏ‬‫ﺍﻨﺎﺕ‬. ‫ﻟﻬﺎ‬ ‫ﻤﻨﻔﺼﻠﻪ‬ ‫ﺒﺭﺍﻤﺞ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﻭﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻋﺎﻡ‬ ‫ﺒﺸﻜل‬Block ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺃﻱ‬ ‫ﺒﻬﺎ‬ ‫ﺨﺎﺹ‬begin‫ﻭ‬end;. ‫ﻫﻨ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﻤﻔﻴﺩﻩ‬ ‫ﻭﻫﻲ‬‫ﺎ‬‫ﻤﻌﻴﻨﻪ‬ ‫ﺒﺎﻋﻤﺎل‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻙ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﻤﺘﻔﺭﻗﻪ‬ ‫ﺍﺠﺯﺍﺀ‬ ‫ﻓﻲ‬!! ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻋﻠﻰ‬ ‫ﻨﻅﺭﻩ‬ ‫ﻨﻠﻘﻲ‬ ‫ﺩﻋﻨﺎ‬// Procedure procename ; Begin : : End; Begin : End. ‫ﻜﻤﺎ‬‫ﺸﺎﻫﺩﻨﺎ‬‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻗﺒل‬ ‫ﺘﻌﺭﻑ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ،)‫ﺴﻭﻑ‬ ‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﻻﺤﻘﺎ‬ ‫ﺍﺘﻨﺎﻭﻟﻬﺎ‬(‫ﻤﻜﺎﻥ‬ ‫ﺍﻴﻀﺎ‬procename‫ﻴ‬‫ﺘﺭﻴﺩﻩ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺘﻡ‬!! PDF created with pdfFactory trial version www.pdffactory.com
  • 91. 91 ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻓﻜﺭﻩ‬:: ‫ﻨﺭﻴ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ، ‫ﺩ‬ ‫ﻓﻘﻁ‬ ‫ﺍﺴﻤﻪ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬ ‫ﻨﻘﻭﻡ‬!! ‫ﻟﻼﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﺜﺎل‬// Program example (input, output); Uses wincrt; Procedure pause; Begin Writeln ('press any key to continuo '); Readln; End; Begin Writeln (‘my name is wajdy essam '); Pause; Writeln ('I like Pascal Language '); Pause; Writeln ('good luck !! '); Pause; End. PDF created with pdfFactory trial version www.pdffactory.com
  • 92. 92 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬// ‫ﺒﺎﻨﺘﻅﺎﺭ‬ ‫ﻭﻴﻘﻭﻡ‬ ، ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻓﻲ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﺠﺭﺍﺀ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻭﺫﻟﻙ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﺃﻱ‬ ‫ﻴﺩﺨل‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬Readln. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬،‫ﻋﻠ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻁﺒﻌﻨﺎ‬‫ﻰ‬‫ﺍﻟﺸﺎﺸﻪ‬‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﻭﺘﻡ‬ ، ‫ﺍﻻﺠﺭﺍﺀ‬pause. ‫ﺴ‬ ‫ﺍﻻﻥ‬‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﺘﻨﻔﻴﺫ‬ ‫ﻴﻘﻭﻡ‬)‫ﺍﺩﺨ‬ ‫ﻭﺍﻨﺘﻅﺎﺭ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺃﻱ‬‫ﺎ‬‫ﻤﻥ‬ ‫ﻤﻔﺘﺎﺡ‬ ‫ﺃﻱ‬ ‫ل‬ ‫ﺍﻟﻤﺴﻨﺨﺩﻡ‬(.‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻨﻪ‬ ‫ﺍﻻﻤﺭ‬ ‫ﻤﺎﻓﻲ‬ ‫ﻜل‬ ، ‫ﺍﻟﺒﺎﻗﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﻭﻫﻜﺫﺍ‬ ‫ﻓﻴﻪ‬ ‫ﻤﺎ‬ ‫ﻭﺘﻨﻔﻴﺫ‬ ‫ﺍﻻﺠﺭﺍﺀ‬!!! ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺴﻴﺼﺒﺢ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺒﺩﻭﻥ‬: Program example (input, output); Uses wincrt; Begin Writeln (‘my name is wajdy essam '); Writeln ('press any key to continuo '); Readln; Writeln ('I like Pascal Language '); Writeln ('press any key to continuo '); Readln; Writeln ('good luck !! '); Writeln ('press any key to continuo '); Readln; End. PDF created with pdfFactory trial version www.pdffactory.com
  • 93. 93 ‫ﺍﻻﻓﻀل‬ ‫ﻫﻭ‬ ‫ﻤﺎ‬ ‫ﺍﻻﻥ‬‫ﺍﻻﻭل‬ ‫ﺍﻜﻴﺩ‬ ‫؟‬‫ﻟﻠﻘﺭﺍﺀﻩ‬ ‫ﻭﺍﺴﻬل‬ ‫ﺍﻭﻀﺢ‬ ،،‫ﻜﺫﻟﻙ‬ ‫ﺃﻟﻴﺱ‬!!، ‫ﻫ‬‫ﺍﻟﺘﺘﺒﻊ‬ ‫ﻭﺴﻬل‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﺴﻬل‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺠﻌل‬ ‫ﻭﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻫﻲ‬ ‫ﻜﺫﺍ‬ ‫ﻭﺘﺼﻠﻴﺤﻬﺎ‬ ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﺍﻜﺘﺸﺎﻑ‬ ‫ﺍﻟﺴﻬل‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬. ‫ﺍﻟﻤﺤﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﺴﻤﻰ‬ ‫ﺒﻬﺎ‬ ‫ﺨﺎﺼﻪ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬local variable‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﻓﻘﻁ‬ ‫ﻤﻌﺭﻓﻪ‬ ‫ﻭﻫﻲ‬)‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﻤﻌﺭﻓﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺃﻱ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬(. ‫ﻤﺜﺎل‬// Procedure wajdy; Var a: integer; Begin a:=10 ; Writeln (a); End; Begin wajdy; a:= 20; { ‫ﻻﻥ‬ ،، ‫ﺨﻁﺄ‬ ‫ﻫﻨﺎ‬‫ﻤﻌﺭﻑ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﻓﻘﻁ‬ } End. ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺘﻡ‬wajdy‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻟﻜﻥ‬ ،a‫ﺍﻨﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﻌﺭﻑ‬ ‫ﻻﻨﻪ‬ ، ‫ﺨﺎﻁﺊ‬ ‫ﻤﺤﻠﻰ‬ ‫ﻤﺘﻐﻴﺭ‬‫ﻓﻘﻁ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﺨﺎﺹ‬ ‫ﺃﻱ‬ ،!! PDF created with pdfFactory trial version www.pdffactory.com
  • 94. 94 ‫ﺍﻟﻌﺎﻟﻤﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬global variable‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻫﻲ‬ ‫ﻭﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻭﺩﺍﺨل‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬. Var B: integer; Procedure wajdy; Var A: integer; Begin A: = 10; B: =64; {this is legal} Writeln (a); End; Begin Wajdy; A: = 20; {this is illegal} B: = 50; {this is legal} End. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻨﺭﻯ‬ ‫ﻜﻤﺎ‬‫ﺍﻤﺎ‬ ، ‫ﻭﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﺘﻐﻴﺭﻩ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺍﻟﻌﺎﻟﻤﻲ‬ ‫ﺫ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻓﻼ‬ ‫ﺍﻟﻤﺤﻠﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬‫ﻟ‬‫ﻓﻘﻁ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﺍﻻ‬ ‫ﻙ‬!! ‫ﺴﻴﺘﺠﺎﻭﺯ‬ ‫ﺍﻟﻌﺎﻟﻤﻲ‬ ‫ﻓﺈﻥ‬ ، ‫ﺍﻻﺴﻡ‬ ‫ﺒﻨﻔﺱ‬ ‫ﻭﺍﻟﻌﺎﻟﻤﻲ‬ ‫ﺍﻟﻤﺤﻠﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻋﻼﻥ‬ ‫ﺘﻡ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬ overrided‫ﺍﻻﺘﻲ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻤﺤﻠﻰ‬ ‫ﻋﻠﻰ‬// PDF created with pdfFactory trial version www.pdffactory.com
  • 95. 95 Program ex2 (input, output); Uses wincrt; Var A: integer; Procedure wajdy; Var A: integer; Begin A: =10; Writeln (a); End; Begin A: =50; Writeln (a); Wajdy; Writeln (a); End. ‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺎﺘﺞ‬: 50 10 50 ‫ﺍﻟﻭﺴﺎﺌﻁ‬Parameters: ‫ﺍﻥ‬ ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﻴﺠﺏ‬ ، ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﻤﺤﻠﻲ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻨﺭﻴﺩ‬ ‫ﻋﻨﺩﻤﺎ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 96. 96 ‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﻨﺴﺘﺨﺩﻡ‬psrsmeters‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﻬﺎ‬ ‫ﻴﺯﻭﺩ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻭﻫﻲ‬ ، ‫ﻭﻅﻴﻔﺘﻪ‬ ‫ﻻﺩﺍﺀ‬ ‫ﺍﻟﻔﺭﻋﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬. ‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﻨﻘﻭﻡ‬ ، ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻋﻨﺩ‬ ‫ﺍﻭﻻ‬)‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﻡ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺒﻌﺩ‬(‫ﻗﻭﺱ‬ ‫ﺒﻔﺘﺢ‬ ‫ﺘﻘﻁﺘﻴﻥ‬ ‫ﺜﻡ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻓﻴﻪ‬ ‫ﻭﻨﻀﻊ‬):(‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻟﻬﺫﻩ‬ ‫ﻨﻭﻉ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬. ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻫﺫﻩ‬ ‫ﻭﺘﺴﻤﻰ‬"‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺒﺎﻟﻤﺘﻐﻴﺭﺍﺕ‬"formal variables. ‫ﺒﻔ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﻋﻨﺩ‬ ، ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻥ‬‫ﻭﻨﻘﻭﻡ‬ ‫ﻗﻭﺱ‬ ‫ﺘﺢ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺒﻜﺘﺎﺒﻪ‬‫ﻤﺘﺸﺎﺒﻬﻪ‬‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻤﻊ‬)‫ﺍﺴﻡ‬ ‫ﺒﻌﺩ‬ ‫ﺒﻜﺘﺎﺒﺘﻬﺎ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺘﻲ‬ ‫ﻤﺒﺎﺸﺭﻩ‬ ‫ﺍﻻﺠﺭﺍﺀ‬. (‫ﺒﺎل‬ ‫ﻭﺘﺴﻤﻰ‬"‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﻤﺘﻐﻴﺭﺍﺕ‬"Actual Variables. ‫ﺘﻌﻨﻲ‬ ‫ﻤﺘﺸﺎﺒﻬﻪ‬ ‫ﻜﻠﻤﻪ‬"‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻟﻌﺩﺩ‬ ‫ﻤﺴﺎﻭ‬ ‫ﻋﺩﺩﻫﺎ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻥ‬ ‫ﺘﻜﻭ‬ ‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻭﺍﻥ‬ ، ‫ﺍﻟﺸﻜﻠﻴﻪ‬‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻨﻭﻉ‬ ‫ﻨﻔﺱ‬ ‫ﻤﻥ‬ ‫ﻥ‬" ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻴﺘﻡ‬ ‫ﻟﻥ‬ ‫ﺍﻟﺸﺭﻁﻴﻥ‬ ‫ﻫﺫﻴﻥ‬ ‫ﺘﺤﻘﻕ‬ ‫ﻭﺒﺩﻭﻥ‬. ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﻡ‬ ‫ﺒﻌﺩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬)‫ﺒﻨﻭﻋﻪ‬ ‫ﻤﺘﺒﻭﻋﻪ‬. (‫ﺍﻤﺎ‬ ‫ﻁﺒﻴﻌﻲ‬ ‫ﺒﺸﻜل‬ ‫ﺘﻌﺭﻴﻔﻬﺎ‬ ‫ﻓﻴﺘﻡ‬ ‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬)‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬ ‫ﺍﻱ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬var. ( ‫ﺒﺴﻴﻁ‬ ‫ﻤﺜﺎل‬: Program ex ( I, o); Uses wincrt; Procedure w (a, b: integer); PDF created with pdfFactory trial version www.pdffactory.com
  • 97. 97 Var X: integer; Begin Read (a, b); X: =a+b; Write(x); End; Var no1, no2: integer; Begin W (no1, no2); End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺸ‬ ‫ﻤﺘﻐﻴﺭﻴﻥ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬‫ﻜﻠﻴﻴﻥ‬a,b‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻓﻲ‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬w ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻭﻓﻲ‬ ، ‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬ ‫ﺫﻟﻙ‬ ‫ﺒﻌﺩ‬‫ﺘﻡ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬W‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﻤﻊ‬)‫ﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬. ( ‫ﻻﺤﻅ‬‫ﻤﻥ‬ ‫ﻜل‬ ‫ﺘﺸﺎﺒﻪ‬‫ﻭﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻭﻋﺩﺩ‬ ‫ﻨﻭﻉ‬. ‫ﺍﻟﺘﻤﺭﻴﺭ‬passes ، ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻋﻴﻥ‬ ‫ﻫﻨﺎﻙ‬‫ﺒﻌﺽ‬ ‫ﻨﺭﻯ‬ ‫ﺩﻋﻨﺎ‬ ، ‫ﺍﻟﺨﺎﺹ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﻪ‬ ‫ﻤﻨﻬﻡ‬ ‫ﻭﻟﻜل‬ ‫ﺍﻻﻤﺜﻠﻪ‬: Procedure foo (a: byte); Begin PDF created with pdfFactory trial version www.pdffactory.com
  • 98. 98 Writeln (a); {15} a:=10; Writeln (a); {10} End; Var x: byte; Begin x: =15; Writeln(x); {15} Foo(x); Writeln(x); {Still 15} End. ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ 15 15 10 15 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬x=15‫ﺍﻟﻰ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻤﺭﺭ‬ ‫ﺜﻡ‬a‫ﺘﻐﻴﺭ‬ ‫ﻭﺘﻡ‬ ،a.‫ﻁﺒﺎﻋﺘﻪ‬ ‫ﻭﺘﻡ‬ 10‫ﻁﺒﺎﻋﻪ‬ ‫ﺘﻡ‬ ‫ﺜﻡ‬ ،x)‫ﻗﻴﻤﻪ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﻟﻡ‬ ‫ﻻﺤﻅ‬x‫ﻤﻥ‬ ‫ﺒﺎﻟﺭﻏﻡ‬‫ﻗﻴﻤﻪ‬ ‫ﺘﻐﻴﺭ‬a‫ﻓﻲ‬ ‫ﺍﻻﺠﺭﺍﺀ‬. ( ‫ﻴﺴﻤﻰ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬"‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬"pass by value PDF created with pdfFactory trial version www.pdffactory.com
  • 99. 99 ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻤﺜﺎل‬: Procedure foo (var a: byte); {See the difference?} Begin Writeln (a); {15} a: =10; Writeln (a); {10} End; Var x : byte; Begin x: =15; Writeln(x); {15} Foo(x); Writeln(x); {10} End. ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ 15 15 10 10 ‫ﺍﻟﺸﺭﺡ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺘﻡ‬ ‫ﺍﺫﺍ‬var‫ﺍﻤﺎﻡ‬‫ﺍﻟﻭﺴ‬‫ﺎﺌﻁ‬parameters،‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻓﺈﻥ‬x‫ﺴﻭﻑ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻐﻴﺭﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺘﺘﻐﻴﺭ‬a. PDF created with pdfFactory trial version www.pdffactory.com
  • 100. 100 ‫ﻴﺴﻤﻰ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬"‫ﺍﻟﻤﺭﺠﻊ‬ ‫ﺍﻭ‬ ‫ﺒﺎﻻﺸﺎﺭﻩ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬"pass By Reference. ‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﻨﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻀﺭﻭﺭﻱ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻨﻪ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺎﻟﻘﻴﻤﻪ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻰ‬. ‫ﻓﻲ‬ ‫ﻀﺭﻭﺭﻱ‬ ‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﺘﻐﻴﺭ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻤﺎ‬‫ﺒﺎﻻﺸﺎﺭﻩ‬ ‫ﺍﻟﺘﻤﺭﻴﺭ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬. ‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬functions: ‫ﻗﻴﻤﻪ‬ ‫ﺒﺈﺭﺠﺎﻉ‬ ‫ﺘﻘﻭﻡ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻻ‬ ، ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﻊ‬ ‫ﻜﺜﻴﺭﺍ‬ ‫ﺘﺘﺸﺎﺒﻪ‬‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﻡ‬ ‫ﻓﻲ‬ )‫ﺍﻻﻗﺘﺭﺍﻥ‬(‫ﺍﻟﻨﻬﺎﺌﻴﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﺤﻤل‬ ‫ﺍﻱ‬ ،.‫ﻭﻴﺠﺏ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﻡ‬ ‫ﻴﻌﺘﺒﺭ‬ ‫ﻟﺫﻟﻙ‬ ‫ﻓﺈﻨ‬ ‫ﻭﺴﺎﺌﻁ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻨﺕ‬ ‫ﻭﺍﺫﺍ‬ ، ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﻡ‬ ‫ﺒﺠﺎﻨﺏ‬ ‫ﻨﻭﻋﻬﺎ‬ ‫ﻜﺘﺎﺒﻪ‬‫ﺍﺴﻡ‬ ‫ﺒﻌﺩ‬ ‫ﺘﻜﺘﺏ‬ ‫ﻬﺎ‬ ‫ﺍﻟﺩﺍﻟﻪ‬)‫ﺍﻻﺠﺭﺍﺀﺕ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬(‫ﺜﻡ‬):(‫ﺍﻟﻭﺴﺎﺌﻁ‬ ‫ﻨﻭﻉ‬ ‫ﺜﻡ‬.‫ﻨﻭﻉ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﺘﻡ‬ ‫ﺒﻌﺩﻫﺎ‬ ‫ﺍﻟﺩﺍﻟﻪ‬. ‫ﻟﻬﺎ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﻭﺍﻟﺸﻜل‬// Function funcname (parameters): returntype; Begin : : End; Begin : End. PDF created with pdfFactory trial version www.pdffactory.com
  • 101. 101 ‫ﺍ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻗﺒل‬ ‫ﺘﻘﻊ‬ ‫ﺩﺍﺌﻤﺎ‬ ‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬ ‫ﺍﻴﻀﺎ‬‫ﻟﺒﺭﻨﺎ‬‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻤﺞ‬)‫ﻤﺜل‬ ‫ﻤﺜﻠﻬﺎ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬.( ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻨﺩﺍﺀ‬ ‫ﺒﻁﺭﻴﻘﺘﻴﻥ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻨﺩﺍﺀ‬ ‫ﻴﺘﻡ‬: ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬)‫ﺍﻟﻌﺎﻟﻤﻴﻪ‬( ‫ﻭﻟﻴﻜﻥ‬ ‫ﺠﺩﻴﺩ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬x‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻨﺩﺍﺀ‬ ‫ﻴﺘﻡ‬ ‫ﺒﻌﺩﻫﺎ‬ ،: X: = functionname; ‫ﻤﺘﻐ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﻡ‬ ‫ﻴﻌﺘﺒﺭ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬ ‫ﺤﻴﺙ‬ ، ‫ﻴﺭ‬ ‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺍﻟﻨﺩﺍﺀ‬ ‫ﻭﻴﺘﻡ‬ ، ‫ﻤﺘﻐﻴﺭ‬: Write (functionname); ‫ﻤﺜﺎل‬: Program ex (input, output); Uses wincrt; Function w (a, b: integer): integer; Begin Read (a, b) ; W: = a+b; End; Var no1, no2: integer; PDF created with pdfFactory trial version www.pdffactory.com
  • 102. 102 Begin Write (w (no1, no2)); End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬: ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺘﻡ‬w‫ﺘﻘﻭﻡ‬ ‫ﻭﺍﻟﺩﺍﻟﻪ‬ ، ‫ﻓﻴﻬﺎ‬ ‫ﻭﺴﻴﻁﻴﻥ‬ ‫ﻭﻀﻊ‬ ‫ﻭﺘﻡ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺠﻤﻌﻬﻤﺎ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ‫ﻋﺩﺩﻴﻥ‬ ‫ﺒﻘﺭﺍﺀﻩ‬. ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﻭﺫﻟﻙ‬ ، ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺘﻡ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻥ‬ )‫ﻜﻤﺎ‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺫﻜﺭﻨﺎ‬. ( ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻭﺠﻭﺩﻩ‬ ‫ﻨﻔﺴﻬﺎ‬ ‫ﻓﻬﻰ‬ ، ‫ﻭﺍﻟﻔﻌﻠﻴﻪ‬ ‫ﺍﻟﺸﻜﻠﻴﻪ‬ ‫ﻟﻠﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬. ‫ﻤﺜﺎل‬//‫ﺒﻭﺍﺴﻁﻪ‬ ‫ﺍﻟﻤﻀﺭﻭﺏ‬ ‫ﻟﺤﺴﺎﺏ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻌﻤل‬‫ﺍﻻﻗﺘﺭﺍﻨﺎﺕ‬: Program factorial (input, output); Uses wincrt; Function fact (n: integer): integer; Var I,f:integer; Begin F: =1; For i: = 1 to n do F: =f*I; Fact: =f; End; PDF created with pdfFactory trial version www.pdffactory.com
  • 103. 103 Var X: integer; Begin Write ('please enter any number: '); Readln(x); Writeln (x,' ! is ',fact(x) ); End. ‫ﻭﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻟﺩﺍﻭل‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺒﺸﺭﻁ‬ ، ‫ﺍﺨﺭ‬ ‫ﺍﺠﺭﺍﺀ‬ ‫ﺩﺍﺨل‬ ‫ﻤﻥ‬ ‫ﺍﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﻌﺩ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ، ‫ﻤﻨﻪ‬ ‫ﺍﺴﺘﺩﻋﻰ‬ ‫ﺍﻟﺫﻱ‬. Procedure a; Begin : End; Procedure b; Begin A; {legal} End; Begin : End. PDF created with pdfFactory trial version www.pdffactory.com
  • 104. 104 ‫ﻴﺠﻭﺯ‬Legal‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬B‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬A‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﻭﻟﻜﻥ‬ ، ‫ﺍﻻﺠﺭﺍﺀ‬a‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬b‫ﺨﺎﻁﺊ‬ ‫ﻓﻬﺫﺍ‬ ،illegal. ‫ﺍﻟﺩ‬ ‫ﺘﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﺍﻭ‬ ، ‫ﺩﺍﻟﻪ‬ ‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬‫ﺍ‬‫ﺒﺎﺴﺘﺩﻋﺎﺀ‬ ‫ﻟﻪ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻤﺤﺎﻓﻅﻪ‬ ‫ﻤﻊ‬ ، ‫ﺍﻟﺒﻌﺽ‬ ‫ﺒﻌﻀﻬﺎ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﺍﻟﺩﻭﺍل‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﺍﺠﺭﺍﺀ‬ ‫ﻴﺭﻴ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻭﻫﻭ‬ ، ‫ﺍﻟﺸﺭﻁ‬‫ﻴﺭﻴﺩ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻤﻨﻬﺎ‬ ‫ﺍﻻﺴﺘﺩﻋﺎﺀ‬ ‫ﺩ‬ ‫ﺍﺴﺘﺩﻋﺎﺌﻬﺎ‬.‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻤﺜل‬ ‫ﻤﺜﻠﻬﺎ‬. ‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺘﺼﺒﺢ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ، ‫ﻭﺍﻟﺘﻜﺭﺍﺭﻴﻪ‬ ‫ﺍﻟﺸﺭﻁﻴﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﺜل‬ ‫ﻤﺘﺩﺍﺨﻠﻪ‬ Procedure e; {e cannot access a, b, c, and d} Begin : End; Procedure a; Procedure b; Begin c; {illegal} e; {legal} End; Procedure c; Begin PDF created with pdfFactory trial version www.pdffactory.com
  • 105. 105 b; {legal} e; {legal} End; Begin : b; {legal} c; {legal} e; {legal} End; Procedure d; Begin : b; {illegal} c; {illegal} a; {legal} e; {legal} End; Begin : b; {illegal} c; {illegal} a; {legal} d; {legal} PDF created with pdfFactory trial version www.pdffactory.com
  • 106. 106 e; {legal} End. ‫ﺍﻻﺠﺭﺍﺀ‬c‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﺴﺘﺩﻋﻲ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬b‫ﻻﻥ‬ ،c‫ﺍﻻﺠ‬ ‫ﺒﻌﺩ‬ ‫ﻴﺄﺘﻲ‬‫ﺭﺍﺀ‬b. ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﻤﺎ‬b‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻴﺴﺘﺩﻋﻲ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻓﻼ‬c‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻻﻥ‬c‫ﺒﻌﺩ‬ ‫ﻴﺄﺘﻲ‬ ‫ﺍﻻﺠﺭﺍﺀ‬b. ‫ﺍﻻﺠﺭﺍﺀ‬a‫ﻴﺤ‬ ‫ﺍﻟﺫﻱ‬‫ﺍﺠﺭﺌﻴﻥ‬ ‫ﻋﻠﻰ‬ ‫ﺘﻭﻱ‬b‫ﻭ‬c‫ﻋﻠﻰ‬ ‫ﻭﻴﺤﺘﻭﻱ‬block‫ﺍﻴﻀﺎ‬ ‫ﺍﻻﺠﺭﺍﺌﻴﻥ‬ ‫ﻴﺴﺘﺩﻋﻰ‬ ‫ﺍﻥ‬ ‫ﻴﺴﺘﻁﻴﻊ‬b‫ﻭ‬c. ‫ﺍﻻﺠﺭﺍﺌﻴﻥ‬b‫ﻭ‬c‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻤﻥ‬ ‫ﺍﺴﺘﺩﻋﺎﺌﻬﻤﺎ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬ ،d‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﻭﻻ‬ ، ‫ﺍﻟﺭﺌﻴﺴﻲ‬main block. ‫ﹰ‬‫ﺍ‬‫ﺍﺫ‬:‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ، ‫ﺩﺍﺨﻠﻬﺎ‬ ‫ﻤﻥ‬ ‫ﺍﻻ‬ ‫ﺍﺴﺘﺩﻋﺎﺌﻬﺎ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬ ، ‫ﺍﻟﻤﺘﺩﺍﺨﻠﻪ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻻﺠﺭﺍﺌﻴﻥ‬b‫ﻭ‬c. ‫ﺍﻟﺫﺍﺘﻲ‬ ‫ﺍﻻﺴﺘﺩﻋﺎﺀ‬ Procedure a; Begin A; End; Begin A; End. PDF created with pdfFactory trial version www.pdffactory.com
  • 107. 107 ، ‫ﺍﻟﺘﻜﺭﺍﺭﻱ‬ ‫ﺒﺎﻻﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻻﺴﺘﺩﻋﺎﺀ‬ ‫ﻫﺫﺍ‬ ‫ﻴﺴﻤﻰ‬RECURSIVE CALLS. ‫ﺤﻠﻘﻪ‬ ‫ﻴﺸﺒﻪ‬ ‫ﻭﻫﻭ‬repeat .. Until ‫ﺫﻟﻙ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎﻻ‬ ‫ﻨﺄﺨﺫ‬ ‫ﺩﻋﻨﺎ‬: Procedure m; Var N: integer; Begin Readln (n); If n<=100 then m; End; Begin Writrln (‘please enter any number: ‘); M; End. ‫ﻗﻴﻤﻪ‬ ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬n‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻭ‬ ‫ﻤﻥ‬ ‫ﺍﺼﻐﺭ‬100‫ﻴﺘﻡ‬ ‫ﻓﺈﻨﻪ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬m)‫ﻨﻔﺴﻪ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺍﻱ‬(‫ﻭﻫﻜﺫﺍ‬.‫ﻗﻴﻤﻪ‬ ‫ﺘﺼﺒﺢ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻰ‬n ‫ﺍ‬‫ﻤﻥ‬ ‫ﻜﺒﺭ‬100‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﻨﻬﺎﺀ‬ ‫ﻴﺘﻡ‬ ‫ﻓﺈﻨﻪ‬. ‫ﻭﺍﻻ‬ ، ‫ﻤﺎ‬ ‫ﺸﺭﻁ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻤﻬﻤﻪ‬ ‫ﺍﻟﻨﻘﻁﻪ‬ ‫ﺘﻨﺴﻰ‬ ‫ﻻ‬ ‫ﻟﺫﻟﻙ‬ ، ‫ﺍﻟﻤﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻨﻬﺎﺌﻲ‬ ‫ﻏﻴﺭ‬ ‫ﻋﺩﺩ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﺍﺴﺘﺩﻋﺎﺀ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺍﻻﺠﺭﺍﺀ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺨﺭﻭﺝ‬ ‫ﻴﺘﻡ‬ ‫ﻴﺘﺤﻘﻕ‬ ‫ﻟﻡ‬ ‫ﺍﺫﺍ‬ ‫ﻤﻌﻴﻥ‬ ‫ﺸﺭﻁ‬ ‫ﻭﻀﻊ‬)‫ﻤﺜﻼ‬. ( PDF created with pdfFactory trial version www.pdffactory.com
  • 108. 108 ‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺜﺎﻣﻦ‬ ‫ﺍﳌﺼﻔﻮﻓﺎﺕ‬ ‫ﺍﻟﺴﺎ‬ ‫ﺍﻻﻳﺎﻡ‬ ‫ﰲ‬‫ﺍﻧﺜﲔ‬ ‫ﺃﻭ‬ ‫ﻭﺍﺣﺪ‬ ‫ﺻﺤﻴﺢ‬ ‫ﻣﺘﻐﲑ‬ ‫ﻋﻦ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺗﺮﻳﺪ‬ ‫ﻋﻨﺪﻣﺎ‬ ، ‫ﺑﻘﻪ‬ ‫ﻋﻨﻬﻢ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺍﻟﺴﻬﻞ‬ ‫ﻣﻦ‬ ، ‫ﻣﺜﻼ‬ ‫ﻛﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻣﺎ‬20‫ﺍﳊﺮﰲ‬ ‫ﺍﻟﻨﻮﻉ‬ ‫ﻣﻦ‬ ‫ﻣﺘﻐﲑ‬!!‫ﻭﺍﺣﺪ‬ ‫ﻋﻨﻬﻢ‬ ‫ﺳﺘﻌﻠﻦ‬ ‫ﻫﻞ‬ ‫ﻭﺍﺣﺪ‬..‫ﻣﺎﺫﺍ‬ ‫ﺍﻡ‬! ‫ﺍﻟﺜﻨﺎﺋﻴﻪ‬ ‫ﻭﺍﳌﺼﻔﻮﻓﺎﺕ‬ ‫ﻋﻨﻬﺎ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻭﻃﺮﻕ‬ ‫ﺍﳌﺼﻮﻓﺎﺕ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺫﻟﻚ‬ ‫ﺍﱃ‬ ‫ﻭﻣﺎ‬ ‫ﻭﺍﻟﺜﻼﺛﻴﻪ‬ ‫ﺳﻮ‬ ‫ﺍﻳﻀﺎ‬‫ﺍﳌﺼﻔﻮﻓﺎﺕ‬ ‫ﻣﻊ‬ ‫ﻧﺘﻌﺎﻣﻞ‬ ‫ﻑ‬)‫ﺍﻟﺴﻼﺳﻞ‬(‫ﺍﳊﺮﻓﻴﻪ‬string. PDF created with pdfFactory trial version www.pdffactory.com
  • 109. 109 ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻫﻲ‬ ‫ﻤﺎ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬array‫ﻫﻲ‬‫ﻤﺠﻤﻭﻋﻪ‬‫ﻜل‬ ‫ﻴﺸﺘﻤل‬ ‫ﻭﺍﻟﺘﻲ‬ ،‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺘﺨﺯﻴﻥ‬ ‫ﻤﻭﺍﻗﻊ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻨﻭﻉ‬ ‫ﻨﻔﺱ‬ ‫ﻋﻠﻰ‬ ‫ﻤﻨﻬﺎ‬ ‫ﻤﻭﻗﻊ‬.‫ﻭﻜ‬‫ﻴﺴﻤﻰ‬ ‫ﻤﻭﻗﻊ‬ ‫ل‬"‫ﻋﻨﺼﺭ‬"‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﻤﻭﻗﻊ‬ ‫ﻭﻜل‬)‫ﻋﻨﺼﺭ‬(‫ﻤﻌﻴﻨﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻟﻪ‬. ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻋ‬ ‫ﻴﻌﻠﻥ‬‫ﻨ‬‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬ ‫ﻬﺎ‬‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ،: Var Arrayname: array [x..y] of type ; Type:‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺍﺤﺩ‬ ‫ﻫﻲ‬. ‫ﻤﺜﺎل‬// Var X:array [1..10] of integer; Data:array[5..25] of char; ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﺘﺭﻴﺩ‬ ‫ﻜﻤﺎ‬ ‫ﺍﺴﻡ‬ ‫ﺒﺄﻱ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﺍﻋﻼﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓ‬‫ﻤﺤﻠﻲ‬ ‫ﺍﻭ‬ ‫ﻋﺎﻟﻤﻲ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺎﺕ‬. ‫ﻤﻥ‬ ‫ﻤﻜﻭﻨﻪ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﻟﺩﻴﻨﺎ‬ ‫ﺍﻥ‬ ‫ﻟﻨﻔﺘﺭﺽ‬30‫ﻋﻨﺼﺭ‬ Var X:array [1..30] of integer; PDF created with pdfFactory trial version www.pdffactory.com
  • 110. 110 ‫ﻟ‬ ‫ﺍﻥ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻫﺫﺍ‬‫ﻤﻌﻴﻨﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻜل‬‫،ﻻﺩﺨﺎل‬‫ﺍﻟﻰ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﻻﺩﺨﺎل‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻭ‬ ، ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﺍﻤﺎ‬ ‫ﺫﻟﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬.‫ﺴﻴﺄﺘﻲ‬ ‫ﻜﻤﺎ‬ ‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬. ‫ﻋ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻻﺩﺨﺎل‬‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻥ‬: X[1]:=10 ; X[2]:= 30; : X[30]:=5; ‫ﺍﻟﻌﻨﺼ‬ ‫ﺍﺫﺍ‬‫ﻭﻫﻲ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻟﺩﻴﻪ‬ ‫ﺍﺼﺒﺢ‬ ‫ﺍﻻﻭل‬ ‫ﺭ‬10،‫ﻭﺍﻟﻌﻨﺼﺭ‬‫ﺍﻟﺜﺎﻨﻲ‬‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻟﻪ‬30 ‫ﻭﻫﻜﺫﺍ‬.. ‫ﻤﺜﺎل‬// Var X:array [1..10] of integer; Begin X[1]:= 3; X[5]:= 2; Writeln(x[1]*x[5]); Writeln(x[1]); End. PDF created with pdfFactory trial version www.pdffactory.com
  • 111. 111 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬x‫ﻟﻬﺎ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬10‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻋﻨﺎﺼﺭ‬ ‫ﻟﻠﻘﻴﻤﻪ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬3)‫ﺒﺴﺒﺏ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻋﺭﻓﻨﺎ‬ ‫ﺍﻨﻨﺎ‬(. ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻭﺘﻌﻴﻴﻥ‬5‫ﻟﻠﻘﻴﻤﻪ‬2. ‫ﻗﻤﻨ‬ ‫ﺍﻻﻥ‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﺎ‬)‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﻨﻭﻉ‬(‫ﺤﺎﺼل‬ ‫ﻭﻫﻲ‬ ‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻀﺭﺏ‬)‫ﺍﻱ‬2*3. ( ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﺨﻴﺭﺍ‬. )‫ﺍﺒﺩ‬ ‫ﺘﺘﻐﻴﺭ‬ ‫ﻻ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻗﻴﻡ‬ ‫ﺍﻥ‬ ‫ﻻﺤﻅ‬، ‫ﹶ‬‫ﺍ‬‫ﺇ‬‫ﺠﺩﻴﺩﻩ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﺎﻋﻁﺎﺌﻬﺎ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﺫﺍ‬ ‫ﻻ‬ ‫ﺍﻭ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬‫ﻗﻴﻤﻪ‬ ‫ﺍﺩﺨﺎل‬(. ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬ 6 3 ‫ﺍﻻﺩﺨﺎل‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﻻﺩﺨﺎل‬:: ‫ﺜﻼﺜﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺍﻥ‬ ‫ﺒﻤﺎ‬30‫ﻓﺈﻨﻪ‬ ، ‫ﺠﻤﻴﻌﺎ‬ ‫ﻗﺭﺍﺌﺘﻬﻡ‬ ‫ﻭﻨﺭﻴﺩ‬ ، ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻫﻜﺫﺍ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻨﻘﺭﺃ‬ ‫ﺍﻥ‬ ‫ﻟﻠﻭﻗﺕ‬ ‫ﻤﻀﻴﻌﻪ‬ ‫ﻴﻌﺘﺒﺭ‬: Read(x[1]); Read(x[2]); : Read(x[30]); PDF created with pdfFactory trial version www.pdffactory.com
  • 112. 112 ‫ﻟﺫ‬‫ﻟ‬‫ﺒﻘﺭﺍﺀ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺒﺤﻴﺙ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﺠﺏ‬ ‫ﻙ‬‫ﻓﻘﻁ‬ ‫ﺴﻁﺭﻴﻥ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻩ‬!! ‫ﺫﻟﻙ‬ ‫ﻨﺭﻯ‬ ‫ﺩﻋﻨﺎ‬.. For i:= 1 to 30 do Readln(x[i]); ، ‫ﺃﺭﺃﻴﺕ‬)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬i‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬integer. (‫ﻫﺫﺍ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﺘﻜﺭﺍﺭ‬x1‫ﻭ‬x2‫ﻭ‬x3...‫ﺍﻟﻰ‬x30. ‫ﻤﺜﺎل‬//‫ﻴﻘﺭﺃ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻜﺘﺎﺒﻪ‬10‫ﺒﺎﻟﻌﻜﺱ‬ ‫ﺒﻁﺒﺎﻋﺘﻬﺎ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺜﻡ‬ ، ‫ﺍﺤﺭﻑ‬.‫؟؟‬ Program ex4 (input,output); Uses wincrt; Var I:integer; X:array [1..10] of char; Begin For i:= 1 to 10 do Read(x[i]); For i:=10 dwonto 1 do Write(x[i]); End. PDF created with pdfFactory trial version www.pdffactory.com
  • 113. 113 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬// ‫ﻗﻤﻨ‬‫ﺎ‬)‫ﻟﻠﻤﺼﻔﻭﻓﻪ‬ ‫ﻭﺍﻻﺨﺭ‬ ، ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻟﻌﻤل‬ ‫ﻭﺍﺤﺩ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬( ‫ﻤﻥ‬ ‫ﻤﻜﻭﻥ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﺒﻌﻤل‬10‫ﻋﻨﺎﺼﺭ‬. ‫ﺤﻠﻘﻪ‬ ‫ﺨﻼل‬ ‫ﻤﻥ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻜل‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺤﻴﺙ‬ ‫ﻤﻌﻴﻨﻪ‬ ‫ﻗﻴﻤﻪ‬ ‫ﻟﻪ‬ ‫ﻋﻨﺼﺭ‬ ‫ﻜل‬ For‫ﺍﻻﻭﻟﻰ‬. ‫ﺍﻟﻌﺎ‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻭﻓﻲ‬‫ﺍﻟﺘﺎﺴﻊ‬ ‫ﺜﻡ‬ ‫ﺸﺭ‬)‫ﺒﺎﻟﻌﻜﺱ‬ ‫ﺃﻱ‬( ‫ﻻﺤﻅ‬‫ﺠﻤﻠﻪ‬downto،‫ﻭﻫﻜﺫﺍ‬.. ‫ﻟﻠﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﺍﻟﺤﺎﺠﻪ‬ ‫ﻫﻨﺎﻙ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻤﺘﻰ‬‫؟‬ ‫ﻟﺩ‬ ‫ﺍﻥ‬ ‫ﻟﻨﻔﺘﺭﺽ‬‫ﻟﻨﻔﺘﺭﺽ‬ ‫ﺍﻻﺴﻤﺎﺀ‬ ‫ﻤﻥ‬ ‫ﻗﺎﺌﻤﻪ‬ ‫ﻴﻨﺎ‬10‫ﺒﻬﺫﺍ‬ ‫ﺘﻌﺭﻴﻔﻬﺎ‬ ‫ﺴﻴﻜﻭﻥ‬ ، ‫ﺍﻟﺸﻜل‬// Var Name1,nam2,name3,name4,name5,name6,name7, name8,name9,name10:string ; ‫ﻴ‬ ‫ﺴﻭﻑ‬ ‫ﺒﺎﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﺍﻤﺎ‬‫ﻜﺎﻟﺘﺎﻟﻲ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻜﻭﻥ‬: Var name:array[1..10] of string; ‫ﺍﻻﺒﻌﺎﺩ‬ ‫ﺍﻟﺜﻨﺎﺌﻴﻪ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬two-dimensional array: ‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﻋﻨﻬﺎ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﻜﻭﻥ‬// Var PDF created with pdfFactory trial version www.pdffactory.com
  • 114. 114 X:array[1..10 , 1..5] of byte ; ‫ﻫﻜﺫﺍ‬ ‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﻭﻴﺘﻡ‬: x[5,2]:= 20; ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﻌﻤﻭﺩ‬ ‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﺍﻟﺼﻑ‬ ‫ﻓﻲ‬ ‫ﺍﻥ‬ ‫ﺍﻱ‬‫ﺘﺴﺎﻭﻱ‬ ‫ﺍﻟﻘﻴﻤﻪ‬20. ‫ﻭﻫﻜﺫ‬‫ﻭﺍﻟﺭﺒﺎﻋﻴﻪ‬ ، ‫ﺍﻻﺒﻌﺎﺩ‬ ‫ﺍﻟﺜﻼﺜﻴﻪ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﺍ‬‫ﺍﻟ‬ ،‫ﻰ‬100‫ﺒﻌﺩ‬. ‫ﺍﻟﻤﻔﻬﻭﻡ‬ ‫ﺒﻨﻔﺱ‬ ‫ﻜﻠﻬﺎ‬!! ‫ﺍﻻﻭﻟﻰ‬ ‫ﺤﻠﻘﺘﻴﻥ‬ ‫ﺍﻟﻰ‬ ‫ﺴﺘﺤﺘﺎﺝ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺒﻌﺩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﺘﺤﺘﺎﺠﻪ‬ ‫ﺍﻟﺫﻱ‬ ‫ﻟﻠ‬‫ﻟﻠﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻻﻭل‬ ‫ﺒﻌﺩ‬‫ﺍﻟﻰ‬ ‫ﺴﺘﺤﺘﺎﺝ‬ ‫ﺍﺒﻌﺎﺩ‬ ‫ﺍﻟﺜﻼﺜﻪ‬ ‫ﺫﺍﺕ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﺍﻴﻀﺎ‬ ، ‫ﺤ‬ ‫ﺜﻼﺙ‬‫ﻤﺘﺩﺍﺨﻠﻪ‬ ‫ﻠﻘﺎﺕ‬!!)‫ﻋﻥ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻗﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺘﺭﻴﺩ‬ ‫ﻜﻨﺕ‬ ‫ﺍﺫﺍ‬ ‫ﻫﺫﺍ‬ ‫ﺍﻻﺩﺨﺎل‬ ‫ﺠﻤﻠﻪ‬ ‫ﻁﺭﻴﻕ‬readln‫ﻭ‬read(. ‫ﻤﺜﺎل‬//‫؟‬ ‫ﻤﺭﺒﻌﺘﻴﻥ‬ ‫ﻤﺼﻔﻭﻓﺘﻴﻥ‬ ‫ﻟﻀﺭﺏ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻜﺘﺏ‬!! Program example (input,output); Uses wincrt; Var I,j,sum:integer; X,a,b:array [1..3,1..3] of integer; Begin For i:= 1 to 3 do Begin PDF created with pdfFactory trial version www.pdffactory.com
  • 115. 115 For j:=1 to 3 do Read(a[I,j]); End; For i:= 1 to 3 do Begin For j:=1 to 3 do Read(b[I,j]); End; sum:=0; for i:=1 to 3 do begin for j:= 1 to 3 do x[I,j]:=sum + ( (a[I,j]) * (b[I,j]) ) ; end; for i:= 1 to 3 do begin for j:= 1 to 3 do writeln(x[I,j]); end; end. PDF created with pdfFactory trial version www.pdffactory.com
  • 116. 116 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻱ‬ ‫؟؟‬ ‫ﻤﺭﺒﻌﻪ‬ ‫ﻤﺼﻭﻓﻪ‬ ‫ﺘﻌﻨﻲ‬ ‫ﻤﺎﺫﺍ‬ ‫ﺍﻭﻻ‬‫ﺒﻌﺩﻴﻥ‬ ‫ﺫﺍﺕ‬ ‫ﻤﺼﻔﻭﻓﻪ‬..‫ﺘﺘﻜﻭﻥ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻱ‬ ‫ﺒﻌﺩﻴﻥ‬ ‫ﻤﻥ‬)‫ﺠﻴﺩﺍ‬ ‫ﺍﻨﺘﺒﻪ‬( ‫ﺍﻟﺒﻌﺩﻴﻥ‬ ‫ﺫﺍﺕ‬ ‫ﺍﻟﻤﺼﻭﻓﺎﺕ‬ ‫ﻭﻓﻲ‬"‫ﻤﺘﺩﺍﺨﻠﺘﻴﻥ‬ ‫ﺤﻠﻘﺘﻴﻥ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬"‫ﻟﻴﺘﻡ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺒﻌﺩ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺒﻌﺩ‬ ‫ﻗﺭﺍﺀﻩ‬. ‫ﻫﻭ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺒﻌﺩ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬I‫ﻫﻭ‬ ‫ﻭﺍﻟﺜﺎﻨﻲ‬j. ‫ﺍﻟـ‬ ‫ﺒﻌﺩ‬ ‫ﻨﺒﺩﺃ‬ ‫ﺩﻋﻨﺎ‬ ، ‫ﺍﻻﻥ‬begin‫ﺍﻟﺭﺌﻴﺴﻲ‬: For i:= 1 to 3 do Begin For j:=1 to 3 do Read(a[I,j]); End; ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺴﻴﺘﻡ‬ ‫ﻫﻨﺎ‬a‫ﻜﺎﻤﻠﻪ‬)‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺒﻌﺩ‬. ( For i:= 1 to 3 do Begin For j:=1 to 3 do Read(b[I,j]); End; ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺴﻴﺘﻡ‬ ‫ﻫﻨﺎ‬b‫ﻜﺎﻤﻠﻪ‬)‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺒﻌﺩ‬. ( PDF created with pdfFactory trial version www.pdffactory.com
  • 117. 117 sum:=0;‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺼﻭﻓﻪ‬ ‫ﻀﺭﺏ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺠﻤﻊ‬ ‫ﻓﻴﻪ‬ ‫ﺴﻴﺘﻡ‬ ، ‫ﻤﺨﺯﻥ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﺜﺎﻟﺜﻪ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻤﺼﻭﻓﻪ‬ ‫ﻓﻲ‬ ‫ﺘﺨﺯﻴﻨﻬﺎ‬ ‫ﻭﻴﺘﻡ‬ ، ‫ﻭﺍﻟﺜﺎﻨﻴﻪ‬x. for i:=1 to 3 do begin for j:= 1 to 3 do x[I,j]:=sum + ( (a[I,j]) * (b[I,j]) ) ; End; ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻤﺼﻭﻓﻪ‬ ‫ﻀﺭﺏ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺍﻻﻥ‬a‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﻓﻲ‬b‫ﻓﻲ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﺘﺨﺯﻴﻥ‬ ‫ﻭﻴﺘﻡ‬ ‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﻤﺼﻭﻓﻪ‬x. for i:= 1 to 3 do begin for j:= 1 to 3 do writeln(x[I,j]); end; ‫ﺴﻴ‬ ‫ﺍﻻﻥ‬‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺘﻡ‬x. PDF created with pdfFactory trial version www.pdffactory.com
  • 118. 118 ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻼﺴل‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬: ‫ﺍﻻﺤﺭﻑ‬ ‫ﻤﻥ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ، ‫ﻓﻌﻠﻴﺎ‬char،‫ﻟﻨﻔ‬‫ﺘ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﺭﺽ‬ s‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string‫ﺍﻻﻭل‬ ‫ﺍﻟﻌﻨﺼﺭ‬ ،s[1]‫ﻭﺍﻟﻌﻨﺼﺭ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﻴﺴﺎﻭﻱ‬ ‫ﺍﻟﺜﺎﻨﻲ‬s[2]‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﻴﺴﺎﻭﻱ‬..‫ﻭﻫﻜﺫﺍ‬. Program example (input,output); uses wincrt; var s : string; begin s:='Hello, dear'; writeln(s); s[1]:='J'; {Replace the first character with J} s[5]:='y'; {Replace the fifth character with y} writeln(s); {Jelly, dear} writeln('The length of s is ',ord(s[0]) ); end. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬s‫ﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string‫ﻫﺫﺍ‬ ‫ﺒﺈﺴﻨﺎﺩ‬ ‫ﻗﻤﻨﺎ‬ ، ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬Hello, dear)‫ﺍﺴﻨﺎﺩ‬ ‫ﻋﻨﺩ‬ ‫ﻭﻫﻜﺫﺍ‬ ،‫ﺍﻟﺼﻐﻴﺭ‬ ‫ﺍﻟﻘﻭﺱ‬ ‫ﻻﺤﻅ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬string‫ﻭﺍﻟﻨﻭﻉ‬char‫ﺍﻟﻘﻭﺴﻴﻥ‬ ‫ﻭﻀﻊ‬ ‫ﻴﺠﺏ‬ ، ‫ﺍﻟﺼﻐﻴﺭﻴﻥ‬.( ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺜﻡ‬s)‫ﻗﻴﻤﺘﻪ‬ ‫ﻭﺍﻟﺫﻱ‬Hello, dear(‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﺫﻟﻙ‬ writeln(s). PDF created with pdfFactory trial version www.pdffactory.com
  • 119. 119 ‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﻟﻠﻌﻨﺼﺭ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻻﻥ‬ s[1]:='J'‫ﺍﻻﻭل‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﺒﺎﺴﺘﺒﺩﺍل‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻱ‬H‫ﺒﺎﻟﺤﺭﻑ‬j. ‫ﻗﻴﻤﻪ‬ ‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻴﻀﺎ‬‫ﻭﺫﻟﻙ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﻟﻠﻌﻨﺼﺭ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬s[5]:='y'‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﺒﺎﺴﺘﺒﺩﺍل‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻱ‬ ،o‫ﺒﺎﻟﺤﺭﻑ‬y. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻗﻡ‬ ‫ﺍﻻﻥ‬s)‫ﺍﻻﺴﻨﺎﺩ‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﺒﻌﺩ‬(‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﻟﺫﻟﻙ‬writeln(s) ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻉ‬ ‫ﻫﻲ‬ ، ‫ﺍﻻﺨﻴﺭ‬ ‫ﺍﻟﻌﺒﺎﺭﻩ‬ ‫ﺍﻻﻥ‬)‫ﺒﺎﻟﺘﺤﺩﻴﺩ‬ ‫ﺍﻟﺜﺎﻟﺙ‬ ‫ﺍﻟﻨﻭﻉ‬(، ‫ﻟﻤﺘﻐﻴﺭ‬ ‫ﻭﻗﻴﻤﻪ‬ ‫ﻨﺹ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺤﻴﺙ‬)‫ﺒﻔﺎﺼﻠﻪ‬ ‫ﺒﻴﻨﻬﻡ‬ ‫ﺍﻟﻔﺼل‬ ‫ﻤﻊ‬.( ‫ﻫﻭ‬ ‫ﺍﻟﻨﺹ‬The length of s is. ‫ﻫﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﻴﻤﻪ‬ord(s[0]).‫ﻭﻤﻌﻨﺎﻫﺎ‬"‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻁﻭل‬". ‫ﺒﻜ‬ ‫ﺍﻟﻁﻭل‬ ‫ﻤﻨﻬﺎ‬ ‫ﺘﺴﺘﺨﺭﺝ‬ ‫ﺍﻥ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﺨﺭﻯ‬ ‫ﺩﺍﻟﻪ‬ ‫ﻭﻫﻨﺎﻙ‬‫ل‬، ‫ﻴﺴﺭ‬ ‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬ ‫ﻋﻨﻬﺎ‬ ‫ﺍﻟﺘﺤﺩﺙ‬ ‫ﻴﺘﻡ‬ ‫ﻭﺴﻭﻑ‬. ‫ﺒﺎﻟﻨﺴ‬ ‫ﺍﻤﺎ‬‫ﻟﻠـ‬ ‫ﺒﻪ‬ord‫ﺍﻟﻘﺎﺩﻤﻪ‬ ‫ﺍﻟﺩﺭﻭﺱ‬ ‫ﻓﻲ‬ ‫ﺸﺭﺤﻬﻡ‬ ‫ﻭﺴﻴﺘﻡ‬ ‫ﺍﺴﺘﺨﺩﺍﻤﺎﻥ‬ ‫ﻓﻠﻪ‬ ، ‫ﺒﺎﻟﺘﻔﺼﻴل‬. ‫ﺘﺄﺨﺫ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ، ‫ﻋﺎﺩﻩ‬80‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﺭﻴﺩ‬ ‫ﻜﻨﺕ‬ ‫ﺍﺫﺍ‬ ، ‫ﺍﻗﺼﻰ‬ ‫ﻜﺤﺩ‬ ‫ﺤﺭﻑ‬ ‫ﺒﺤﺩﻭﺩ‬ ‫ﻟﻜﻥ‬ ‫ﻨﺼﻴﻪ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﻋﻥ‬10‫ﻋﺩﺩ‬ ‫ﻟﺘﺤﺩﻴﺩ‬ ‫ﻭﺴﻴﻠﻪ‬ ‫ﺘﻘﺩﻡ‬ ‫ﺒﺎﺴﻜﺎل‬ ، ‫ﻤﺜﻼ‬ ‫ﺍﺤﺭﻑ‬ ‫ﺍﻻﺤﺭﻑ‬.‫ﺘ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻌﺎﺩﻴﻪ‬ ‫ﺒﺎﻟﻁﺭﻴﻘﻪ‬ ‫ﻋﻨﻬﺎ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻻﻥ‬‫ﺍﻟﻤﺴﺎﺤﻪ‬ ‫ﻓﻲ‬ ‫ﺒﺫﻴﺭ‬ . Var S:string[10]; PDF created with pdfFactory trial version www.pdffactory.com
  • 120. 120 ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻼﺴل‬ ‫ﻤﻊ‬ ‫ﺘﺘﻌﺎﻤل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ 1/‫ﺍﻻﻤﺭ‬length ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻁﻭل‬ ‫ﻻﺴﺘﺨﺭﺍﺝ‬ ‫ﻴﺴﺘﺨﺩﻡ‬)، ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ord(s[0])(‫ﻭﻟﻬﻤﺎ‬ ‫ﺍﻟﻨﺘﻴﺠﻪ‬ ‫ﻨﻔﺱ‬. ‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:length(s) )‫ﺒﺎﻋﺘﺒﺎﺭ‬s‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬string‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻓﻲ‬ ‫ﺍﻴﻀﺎ‬ ،‫ﺍﻟﺘﺎﻟﻴﻪ‬.( S:= (‘wajdy essam’); N:= length(s); Writeln(n); ‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:11 2/‫ﺍﻻﻤﺭ‬Copy ‫ﻤﺤﺩﺩ‬ ‫ﻤﻜﺎﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺤﺭﻭﻑ‬ ‫ﺒﻨﺴﺦ‬ ‫ﻴﻘﻭﻡ‬from،‫ﻴﺄﺨﺫ‬ ‫ﺃﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺤﺭﻑ‬ ‫ﻭﻜﻡ‬ howmuch. ‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:copy(s,from,howmuch) S:= ‘(wajdy essam’); N:= copy(s,7,3); Writeln(n); ‫ﺍ‬ ‫ﻤﻌﻨﻰ‬‫ﺍﻟﺤﺭﻑ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻨﺴﺦ‬ ‫ﺒﻌﻤﻠﻴﻪ‬ ‫ﺒﺎﻟﺒﺩﺀ‬ ‫ﻗﻡ‬ ، ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻟﺴﻁﺭ‬7‫ﻭﺍﻨﺴﺦ‬ ،3‫ﻓﻘﻁ‬. ‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:ess PDF created with pdfFactory trial version www.pdffactory.com
  • 121. 121 ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬‫ﺍﻟﻨﺴﺦ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬from‫ﻓ‬ ، ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬‫ﺈ‬‫ﺠﻤﻠﻪ‬ ‫ﺍﻟﻨﺎﺘﺞ‬ ‫ﻥ‬ ‫ﻓﺎﺭﻏﻪ‬. S:= ‘(wajdy essam’); N:= copy(s,15,3); Writeln(n); ‫ﻤﺨﺭﺠﺎﺕ‬ ‫ﺘﻭﺠﺩ‬ ‫ﻻ‬)‫ﻓﺎﺭﻏﻪ‬ ‫ﺠﻤﻠﻪ‬.( ‫ﻜﺎﻨﺕ‬ ‫ﺍﺫﺍ‬‫ﻋ‬‫ﻨﺴﺨﻬﺎ‬ ‫ﻨﺭﻴﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺤﺭﻭﻑ‬ ‫ﺩﺩ‬howmuch‫ﻓﺈﻨﻬﺎ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻜﺒﺭ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﺎﻗﻲ‬ ‫ﺘﻜﺘﺏ‬. S:= (‘wajdy essam’); N:= copy(s,7,10); Writeln(n); ‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:ess 3/‫ﺍﻻﻤﺭ‬pos ‫ﺍﻟﻜﺒﻴﺭﻩ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ، ‫ﺍﻟﺼﻐﻴﺭﻩ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻭﻗﻊ‬ ‫ﺒﺎﺴﺘﺨﺭﺍﺝ‬ ‫ﻴﻘﻭﻡ‬s. ‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:pos(substr,s) Substr‫ﺍﻟﺒﺤﺙ‬ ‫ﻜﻠﻤﻪ‬ ‫ﻫﻲ‬ S‫ﺍﻟﺒﺤﺙ‬ ‫ﻴﺘﻤﻥ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬‫ﺒﻬﺎ‬. S:= pos(‘are’,’how are you’); Writeln(s); ‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:5 ‫ﺍﻟﻜﻠﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺤﻴﺙ‬are‫ﺍﻟﻜﺒﻴﺭﻩ‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺨﺎﻤﺱ‬ ‫ﺍﻟﻤﻭﻗﻊ‬ ‫ﻓﻲ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 122. 122 4/‫ﺍﻻﻤﺭ‬Insret ‫ﺍﺨﺭﻯ‬ ‫ﺍﻟﻰ‬ ‫ﻨﺼﻴﻪ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﺒﺎﻀﺎﻓﻪ‬ ‫ﺍﻻﻤﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻴﻘﻭﻡ‬. ‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:insert(source,target,index) Source:‫ﺍﺨﺭﻯ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﺩﺨﺎﻟﻬﺎ‬ ‫ﻨﺭﻴﺩ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﺼل‬ ‫ﺍﻟﺴﻠﺴﻠﻪ‬ Target:‫ﺍﻟﺴﻠﺴ‬‫ﻠ‬‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻻﺩﺨﺎل‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﻪ‬ Index:‫ﻤﻨﻪ‬ ‫ﺍﻻﺩﺨﺎل‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻟﻤﻭﻗﻊ‬. S1:=’not’; S2:=’ I do love you’; Insert(s1,s2,6); Writeln(s2); ‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:I do not love you ‫ﺍﻟﻨﺎ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬‫ﻤﻥ‬ ‫ﺍﻜﺜﺭ‬ ‫ﺘﺞ‬255‫ﺍ‬ ‫ﺤﺫﻑ‬ ‫ﻴﺘﻡ‬ ‫ﻓﺎﻨﻪ‬ ، ‫ﺤﺭﻑ‬‫ﻟ‬‫ﻤﻥ‬ ‫ﺒﺎﻗﻲ‬ ‫ﺍﻟـ‬255‫ﺤﺭﻑ‬. 4/‫ﺍﻻﻤﺭ‬delete ‫ﺍﻟﺴﻠﺴﻠﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺤﺭﻭﻑ‬ ‫ﺒﺤﺫﻑ‬ ‫ﺍﻻﻤﺭ‬ ‫ﻫﺫﺍ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻟﻌﺎﻤﻪ‬ ‫ﺍﻟﺼﻴﻐﻪ‬:delete(s,from,howmuch) S:=(’wajdy essam’); Delete(s,1,6); Writeln(s); ‫ﻫﻲ‬ ‫ﺍﻟﻤﺨﺭﺠﺎﺕ‬:essam PDF created with pdfFactory trial version www.pdffactory.com
  • 123. 123 ‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﺘﺎﺳﻊ‬ ‫ﺍﳌﻌﺮﻓﻪ‬ ‫ﺍﳉﻤﻞ‬)type( ‫ﻭﺍ‬‫ﻤﻮﻋﺎﺕ‬set ‫ﺍﳉﻤﻞ‬ ‫ﻭﻫﻲ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﻟﻐﻪ‬ ‫ﳑﻴﺰﺍﺕ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﺗﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻟﺪﺭﺱ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬ ‫ﺍﳌﱪﻣﺞ‬ ‫ﻗﺒﻞ‬ ‫ﻣﻦ‬ ‫ﺍﳌﻌﺮﻓﻪ‬. ‫ﺍﻟـ‬ ‫ﺍﻧﻮﺍﻉ‬ ‫ﺩﺍﺧﻞ‬ ‫ﺗﻨﻄﻮﻱ‬ ‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﺍﻥ‬ ‫ﺣﻴﺚ‬ ، ‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻣﻌﻬﺎ‬ ‫ﻭﻳﺄﰐ‬ type. ‫ﺟﺪﺍ‬ ‫ﻭﺳﻬﻞ‬ ‫ﻗﺼﲑ‬ ‫ﺩﺭﺱ‬ ‫ﻓﻬﻮ‬ ‫ﻟﻠﻤﺠﻤﻮﻋﺎﺕ‬ ‫ﺑﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻣﺎ‬)‫ﻳﻨﻄﻮﻱ‬ ‫ﻫﻮ‬ ‫ﺍﻳﻀﺎ‬ ‫ﺍﻟـ‬ ‫ﺍﻧﻮﺍﻉ‬ ‫ﲢﺖ‬type(‫ﲤﺖ‬ ‫ﻟﺬﻟﻚ‬ ،‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﺍﱃ‬ ‫ﺍﺿﺎﻓﺘﻪ‬.. Have Anice Day PDF created with pdfFactory trial version www.pdffactory.com
  • 124. 124 ‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤل‬Type ‫ﺍﺴﻡ‬ ‫ﺘﺤﺕ‬ ‫ﺘﺨﺯﻴﻨﻬﺎ‬ ‫ﻴﺘﻡ‬ ‫ﻗﻴﻡ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬)‫ﻤﺘﻐﻴﺭ‬. (‫ﺍﻟﺼﺤﻴﺤﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻓﻤﺜﻼ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻫﻲ‬-32768‫ﺍﻟﻰ‬+32767‫ﺍﺴﻡ‬ ‫ﺘﺤﺕ‬ ‫ﺘﺨﺯﻴﻨﻬﺎ‬ ‫ﻴﺘﻡ‬integer. ‫ﺍﺴﻡ‬ ‫ﺘﺤﺕ‬ ‫ﻭﺘﻀﻌﻬﺎ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺘﻌﺭﻑ‬ ‫ﺍﻨﺕ‬ ‫ﻭﺒﺎﻤﻜﺎﻨﻙ‬)‫ﻤﺘﻐﻴﺭ‬. (‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻴﻤﻜﻥ‬ ‫ﻫ‬‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻻ‬ ‫ﺍﻨﻙ‬ ‫ﺒﺎﺴﺘﺜﻨﺎﺀ‬ ، ‫ﻁﺒﻴﻌﻲ‬ ‫ﺒﺸﻜل‬ ‫ﺒﺭﻨﺎﻤﺠﻙ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺫﺍ‬ ‫ﺍﻟﻁﺒﺎﻋﻪ‬ ‫ﺠﻤل‬write‫ﻭ‬writeln‫ﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﺠﻤل‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻻ‬ ‫ﻭﺍﻴﻀﺎ‬ read‫ﻭ‬readln. ‫ﻤﺜﻼ‬//‫ﻤﺘﻐﻴﺭ‬ ‫ﺘﺤﺕ‬ ‫ﺍﻻﺴﺎﻤﻲ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺘﺴﺘﻁﻴﻊ‬name: Type Name= (wajdy, essam, Ahmed); ‫ﻤ‬ ‫ﻟﺩﻴﻨﺎ‬ ‫ﺍﺼﺒﺢ‬ ‫ﺍﻻﻥ‬‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺘﻐﻴﺭ‬name)‫ﻤﺜل‬ ‫ﻤﺜﻠﻪ‬integer‫ﻭ‬real‫ﻭ‬char ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻭﺒﺎﻗﻲ‬(‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬ ‫ﻋﻨﻪ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﺘﻡ‬ Var N: name; ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺒﻘﻴﻪ‬ ‫ﻤﺜل‬ ‫ﺘﻤﺎﻤﺎ‬ ، ‫ﺃﺭﺃﻴﺕ‬!! ‫ﻤﺜﺎل‬// Type Car = (bmw , Mazda ,Honda ,ford); Color = (red ,green ,blue); Str20 = string[20]; PDF created with pdfFactory trial version www.pdffactory.com
  • 125. 125 Var Mycar:car; Mycolor:color; Name:str20; ‫ﺭﺍﺌﻊ‬‫ﺘﺴﻤﻰ‬ ‫ﺍﻟﻌﺒﺎﺭﺍﺕ‬ ‫ﻫﺫﻩ‬ ،enumerated types‫ﺍﻟﺠﻤل‬ ‫ﺍﻱ‬‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﻤﺒﺭﻤﺞ‬ ‫ﻗﺒل‬ ‫ﻤﻥ‬ ‫ﻤﺴﺒﻘﺎ‬. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻓﻨﺠﺩ‬mycar‫ﻤﻥ‬‫ﺍﻟﻨﻭﻉ‬car‫ﻭﺍﻟﻤﺘﻐﻴﺭ‬ ،mycolor‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ color. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻴﻀﺎ‬mycolor‫ﻗﻴﻤﻪ‬ ‫ﺍﻁﺎﺭ‬ ‫ﺨﺎﺭﺝ‬ ‫ﻴﺨﺭﺝ‬ ‫ﺍﻥ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬ ،‫ﺍﻥ‬ ‫ﺒﻤﻌﻨﻰ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭ‬)‫ﻤﺜﻼ‬ ‫ﺍﺴﻨﺎﺩﻩ‬ ‫ﻋﻨﺩ‬(‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺤﺩ‬ ‫ﻫﻲ‬ ‫ﺍﻻﺴﻨﺎﺩ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻟﺠﺩﻴﺩ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺤﻤﻠﻬﺎ‬color‫ﻭﻫﻲ‬red‫ﻭ‬green‫ﻭ‬blue. ‫ﺍﻟﺼﺤﻴﺢ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻥ‬ ‫ﻓﻜﻤﺎ‬integer‫ﺍﻟﻜﺴﺭﻴﻪ‬ ‫ﺍﻻﻋﺩﺍﺩ‬ ‫ﻻﻴﻘﺒل‬2.6. ‫ﻓﺎﻟﻤﺘﻐﻴﺭ‬mycar‫ﻭﻫﻲ‬ ‫ﻋﻨﺎﺼﺭﻩ‬ ‫ﺍﺤﺩ‬ ‫ﺍﻻ‬ ‫ﻻﻴﻘﺒل‬)bmw, mazda, Honda, ford(،‫ﻭﻫﻜﺫﺍ‬. ‫ﻤﺜﺎل‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺎﺒﻊ‬: ( Begin Mycar := 1; {illegal} Mycar := ford; {legal} If mycar = mazda then writeln(‘I love mazda’); {legal} End. PDF created with pdfFactory trial version www.pdffactory.com
  • 126. 126 {illegal}‫ﻤﻌﻨﺎﻫﺎ‬)‫ﺸﺭﻋﻲ‬ ‫ﻏﻴﺭ‬(‫ﺼﺤﻴﺤﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻱ‬)‫ﻤﺭﻓﻭﻀﻪ‬. ( {legal}‫ﻤﻌﻨﺎﻩ‬)‫ﺸﺭﻋﻲ‬(‫ﺼﺤﻴﺤﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻱ‬)‫ﻤﻘﺒﻭﻟﻪ‬. ( ‫ﺍﻟـ‬ ‫ﻤﻊ‬ ‫ﺘﺘﻌﺎﻤل‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺒﻌﺽ‬ ‫ﻫﻨﺎﻙ‬Type// 1.‫ﺍﻻﻤﺭ‬ord: ‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤل‬ ‫ﻤﻭﻗﻊ‬ ‫ﺘﺤﺩﻴﺩ‬ ‫ﻫﻰ‬ ‫ﺍﻻﻭﻟﻰ‬ ‫ﻭﻅﻴﻔﺘﺎﻥ‬ ‫ﻟﻪ‬)‫ﺍﻟـ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬Type( ‫ﺍﺴﻜﻲ‬ ‫ﺒﺼﻴﻐﻪ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻋﻁﺎﺀ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺜﺎﻨﻴﻪ‬ASCII ‫ﺍﻻﻭﻟﻰ‬ ‫ﺍﻟﻭﻅﻴﻔﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬(// Ord(bmw); {=0} Ord(mazda); {=1} ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺍﻟﻭﻅﻴﻔﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬// N:= Ord(a); {n=65} 2.‫ﺍﻻﻤﺭ‬chr: ‫ﺍﻟﻤﺩﺨل‬ ‫ﻟﻠﺤﺭﻑ‬ ‫ﺍﻟﺭﻗﻡ‬ ‫ﺒﺎﻋﻁﺎﺀ‬ ‫ﻴﻘﻭﻡ‬‫ﻟﻤﻌﺎﻴﻴﺭ‬ ‫ﻁﺒﻘﺎ‬ ،ASCII‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻋﻜﺱ‬ ‫ﺍﻱ‬ ord ‫ﻤﺜﺎل‬/ Chr(65); {=a} ‫ﺍﻟـ‬ ‫ﺍﻟﺤﺭﻑ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻥ‬ ‫ﻤﻼﺤﻅﻪ‬ ‫ﻤﻊ‬capital‫ﺍﻟـ‬ ‫ﻋﻥ‬ ‫ﺘﺨﺘﻠﻑ‬small. 3.‫ﺍﻻﻤﺭ‬succ‫ﻭﺍ‬‫ﻻﻤﺭ‬pred// ‫ﺍﻟﺘﺎﻟﻴﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻭ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺒﺎﻋﻁﺎﺀ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻻﻭل‬)‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻲ‬( ‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺃﻭ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺒﺎﻋﻁﺎﺀ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻟﺜﺎﻨﻲ‬)‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻓﻲ‬( PDF created with pdfFactory trial version www.pdffactory.com
  • 127. 127 ‫ﻤﺜﺎل‬// Type Color= (red ,green ,blue); Var Mc : color; Begin Succ(red); {green} Pred(blue); {green} Ord(blue); {2} End. ‫ﺍﻟﺨﺎﺼﻴﻪ‬ ‫ﻟﻬﺫﻩ‬ ‫ﺍﻨﻅﺭ‬ ‫ﺍﻴﻀﺎ‬// Type Car = (bmw=1,mazda ,Honda ,ford=7,Volvo); Begin Ord (bmw); {=1} Ord (mazda); {=2} Ord (Honda); {=3} Ord (ford); {=7} Ord (Volvo); {=8} End. ‫ﻭﻀﺤﺕ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻅﻥ‬‫ﺘﻤﺎﻤﺎ‬ ،!! PDF created with pdfFactory trial version www.pdffactory.com
  • 128. 128 ‫ﺍﻟﺴﺠﻼﺕ‬record ‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬‫ﻋﺩﺩ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺴﺠﻼﺕ‬ ،‫ﺘﺤﺕ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻤﻥ‬ ‫ﻤﻌﻴﻥ‬ ‫ﻭﺍﺤﺩ‬ ‫ﺍﺴﻡ‬‫ﺘﺴﺘﻁﻴ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﺤﺎل‬ ‫ﻜل‬ ‫ﻋﻠﻰ‬ ،‫ﻤﻥ‬ ‫ﻭﺍﺤﺩ‬ ‫ﻨﻭﻉ‬ ‫ﺘﺤﻤل‬ ‫ﺍﻥ‬ ‫ﻊ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬‫ﺍﻟ‬ ‫ﻟﻜﻥ‬ ،‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺠﻤﻴﻊ‬ ‫ﺘﺤﻤل‬ ‫ﺍﻥ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻤﻥ‬ ‫ﺴﺠﻼﺕ‬)‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬( ‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬ ‫ﻓﻴﻬﺎ‬ ‫ﺒﻤﺎ‬!! ‫ﻫﻭ‬ ‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻓﻌﻠﻴﺎ‬‫ﺍﻟﻤﻌﺭﻓﻪ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻉ‬‫ﺍﻟـ‬ ‫ﻗﺴﻡ‬ ‫ﺘﺤﺕ‬ ‫ﻭﺘﻨﻁﻭﻱ‬ ، type‫ﺍﻟـ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺍﻏﻠﺏ‬ ‫ﻭﻓﻲ‬ ،type‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺒل‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬. ‫ﺒﺒﺎﺴﻜﺎ‬ ‫ﻤﺘﻜﺎﻤل‬ ‫ﺸﺒﻪ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺤﻭل‬ ‫ﻨﻅﺭﻩ‬‫ل‬: Program progname (input,output); Uses unit1 , unit2 …. Type : Var : Procedure & function : Begin {main} : End. PDF created with pdfFactory trial version www.pdffactory.com
  • 129. 129 ‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬// Program example (I,o); Uses wincrt; Type Data = record Name : string; Age : integer; Tel : integer ; end; Var Da: data ; ‫ﺍ‬‫ﻋﻨﻪ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺒﻌﺩ‬ ‫ﻴﺴﺘﺨﺩﻡ‬ ‫ﻟﻥ‬ ‫ﻟﺴﺠل‬‫ﻤﺘﻐﻴﺭ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻜﺎﻥ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻻ‬ ،da‫ﺍﺴ‬ ‫ﻴﺤﻤل‬‫ﻡ‬ ‫ﺍﻟﺴﺠل‬‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻓﻲ‬ ‫ﻨﻘﻁ‬ ‫ﺍﻫﻡ‬ ‫ﻫﻲ‬ ‫ﻫﺫﻩ‬ ،. ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻟﻰ‬ ‫ﻨﺄﺘﻲ‬،‫ﻭﻜﻴﻔﻴﻪ‬‫ﺠﻤل‬ ‫ﻁﺭﻴﻕ‬ ‫ﻋﻥ‬ ، ‫ﺍﻟﻴﻬﺎ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺍﻻﺩﺨﺎل‬ ‫ﺠﻤﻠﻪ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺘﻌﻴﻴﻥ‬readln‫ﻭ‬read. ‫ﺍﻟﺘﻌﻴﻴﻥ‬ ‫ﺠﻤﻠﻪ‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺎﺒﻊ‬:: ( Begin Da.name := ‘wajdy’ ; Da.age := 20; Da.tel := 0911119415 ; End. PDF created with pdfFactory trial version www.pdffactory.com
  • 130. 130 ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬: ‫ﺍﻟﺴﺠل‬ ‫ﻗﻴﻡ‬ ‫ﺒﺎﺴﻨﺎﺩ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻻﻋﻠﻰ‬ ‫ﻓﻲ‬)‫ﺍﻟﺤﻘﻭل‬fields(‫ﺍﻱ‬ ‫ﺍﻟﻰ‬‫ﺘﺭﻴﺩ‬ ‫ﻗﻴﻤﻪ‬، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺤﻘل‬ ‫ﻓﻲ‬ ‫ﻓﻤﺜﻼ‬name‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﺴﻨﺎﺩﻩ‬ ‫ﻗﻤﻨﺎ‬wajdy‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﻭﺍﻟﺤﻘل‬ ، age‫ﺍﻟﺭﻗﻡ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﺴﻨﺎﺩﻩ‬ ‫ﻗﻤﻨﺎ‬20‫ﻭﻫﻜﺫﺍ‬. ‫ﺍﻟﺴﺠل‬ ‫ﻴﺤﻤل‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻨﻪ‬ ‫ﻻﺤﻅ‬da‫ﺍﺴﻡ‬ ‫ﺜﻡ‬ ، ‫ﻨﻘﻁﻪ‬ ‫ﺜﻡ‬ ‫ﻗﻴﻤﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺘﻌﻴﻴﻨﻪ‬ ‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻟﺤﻘل‬. )‫ﺍﻟﻘﻴﻡ‬ ‫ﺘﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻭﺍﻻﺤﺭﻑ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﺴﻼﺴل‬ ‫ﺍﺴﻨﺎﺩ‬ ‫ﻋﻨﺩ‬ ، ‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭ‬ ‫ﻭﻜﻤﺎ‬ ‫ﻋﻼﻤﻪ‬ ‫ﺒﻴﻥ‬‘ here’(. ‫ﺍﻻ‬ ‫ﺠﻤﻠﻪ‬‫ﺩﺨﺎل‬)‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺎﺒﻊ‬:: ( Begin Read(da.name); Read(da.age); Read(da.tel); End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺜﻡ‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﻴﺘﻡ‬)‫ﺍﻟﺴﺠل‬ ‫ﻴﺤﻤل‬ ‫ﺍﻟﺫﻱ‬(‫ﺍﻟﺤﻘل‬ ‫ﺍﺴﻡ‬ ‫ﺜﻡ‬ ‫ﻨﻘﻁﻪ‬ ‫ﺜﻡ‬ ‫ﺍﻟﻤﺭﺍﺩ‬.‫ﻭﻫﻜﺫﺍ‬.. ‫ﻗﺭﺍﺀﻩ‬ ‫ﻭ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﻻﺴﻨﺎﺩ‬ ‫ﺍﺨﺭﻯ‬ ‫ﻁﺭﻴﻘﻪ‬ ‫ﻫﻨﺎﻙ‬)‫ﻗﻴﻡ‬ ‫ﺍﺩﺨﺎل‬(‫ﺍﻟﺴﺠﻼ‬‫ﺕ‬‫ﺍﻓﻀل‬ ‫ﻭﻫﻲ‬ ، ‫ﺍﻻﻭﻟﻰ‬ ‫ﻤﻥ‬)‫ﺍﻜﺜﺭ‬ ‫ﻻ‬ ‫ﻓﻘﻁ‬ ‫ﺴﻬﻭﻟﻪ‬ ‫ﻨﺎﺤﻴﻪ‬ ‫ﻤﻥ‬(‫ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﻭﻫﻲ‬with … do PDF created with pdfFactory trial version www.pdffactory.com
  • 131. 131 ‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺒﻬﺎ‬ ‫ﺍﻻﺴﻨﺎﺩ‬ ‫ﻭﻴﻜﻭﻥ‬// Begin With da do Begin Name := ‘wajdy’ ; Age := 20; Tel := 0911119415 End; End. ‫ﺒ‬ ‫ﺍﻟﻘﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﻭﻴﻜﻭﻥ‬‫ﺍﻟﺸﻜل‬ ‫ﻬﺫﺍ‬// Begin With da do Begin Read(name); Read(age); Read(tel); End; End. ‫ﺍﻟﻜﻠﻤﻪ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﻴﺘﻡ‬ ‫ﺍﻱ‬with، ‫ﺍﻟﺴﺠل‬ ‫ﻴﺤﻤل‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬ ، ‫ﻜﻠﻤﻪ‬ ‫ﻨﻀﻊ‬ ‫ﺜﻡ‬do.‫ﺒﻔﺘﺢ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺒﻌﺩﻫﺎ‬block‫ﺍﻟﻤﺭﺍﺩ‬ ‫ﺍﻟﺠﻤل‬ ‫ﺒﺩﺍﺨﻠﻪ‬ ‫ﻭﻨﻀﻊ‬ ‫ﺍﺩﺨﺎﻟﻬ‬‫ﺎ‬.‫ﻗﻴﻡ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺠﻤل‬ ‫ﺍﻭ‬ ، ‫ﺍﺴﻨﺎﺩ‬ ‫ﻋﻤﻠﻴﺎﺕ‬ ‫ﺍﻤﺎ‬)‫ﺍﻟﺴﺎﺒﻘﻴﻥ‬ ‫ﺍﻟﻤﺜﺎﻟﻴﻥ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬. ( PDF created with pdfFactory trial version www.pdffactory.com
  • 132. 132 ‫ﻟﻠﻁﺒﺎﻋﻪ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻤﺎ‬// Writeln (da.name); { ‫ﺒﺎﻟﻁﺭﻴﻘﻪ‬‫ﺍﻻﻭﻟﻰ‬ } With da do Begin Writeln(name); {‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫}ﺒﺎﻟﻁﺭﻴﻘﻪ‬ End; ‫ﺍﻟﻤﻤ‬ ‫ﻤﻥ‬ ‫ﺍﻴﻀﺎ‬‫ﺍﻟﺴﺠﻼﺕ‬ ‫ﻤﻥ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺍﻥ‬ ‫ﻜﻥ‬‫ﻨﺭﺠﻊ‬ ،‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺴﺠل‬ ‫ﻋﺭﻓﻨﺎ‬ ‫ﺍﻥ‬ ‫ﺒﻌﺩ‬data‫ﻓﻲ‬ ‫ﺍﻻﻥ‬ ،‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻗﺴﻡ‬: Da : array [1..10] of data ; ‫ﺍﻟﻤﺼﻔﻭﻓﻪ‬ ‫ﻗﺴﻡ‬ ‫ﻭﺒﺎﺴﻨﺎﺩ‬// Da[1].name := ‘wajdy’; ‫ﺍﻟﺜﺎﻨﻴﻪ‬ ‫ﺒﺎﻟﻁﺭﻴﻘﻪ‬with … do// With da[1] do Begin Name := ‘wajdy’; End; ‫ﺤﻠ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺍﻟﻤﻤﻜﻥ‬ ‫ﻭﻤﻥ‬‫ﻘﻪ‬)‫ﺘﻜﺭﺍﺭ‬(‫ﺍﻟﺴﺠل‬ ‫ﻗﻴﻡ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻟﻘﺭﺍﺀﻩ‬)‫ﻓﻲ‬ ‫ﻭﻀﻌﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻤﺼﻔﻭﻓﻪ‬!! ( PDF created with pdfFactory trial version www.pdffactory.com
  • 133. 133 ‫ﻤﺜﺎل‬//‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻴﻘﺭﺃ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻜﺘﺏ‬3‫ﺍﻟﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻫﺫﻩ‬ ‫ﻴﻁﺒﻊ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ‫ﻁﻼﺏ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺒﺄﻥ‬ ‫ﻋﻠﻤﺎ‬ ‫؟؟‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬)‫ﺍﻟﻬﺎﺘﻑ‬ ،‫ﺍﻟﻌﻤﺭ‬ ، ‫ﺍﻻﺴﻡ‬(‫؟؟‬ Program database (input,output); Uses wincrt; Type Data = record Name:string; Age,tel:integer; End; Var Da:array [1..3] of data ; I:integer; Begin Writeln(‘please fill the information : ‘); For i:= 1 to 3 do Begin Writeln(‘NOW .. student no ’,i); With da[i] do Begin Write(‘Name: ‘); Readln(name); Write(‘age: ‘); Readln(age); Write(‘tel: ‘); Readln(tel); End; End; {for} PDF created with pdfFactory trial version www.pdffactory.com
  • 134. 134 Clrcsr; For i:= 1 to 3 do Begin With da[i] do Begin Writeln(‘ student no ‘,i); Write (‘name: ‘); Writeln(name); Write (‘age: ‘); Writeln(age); Write (‘tel: ‘); Writeln(tel); End; Writeln; End; {for} End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬ ‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻌﺭﻑ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺘﻡ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬)‫ﻫﻭ‬ ‫ﺍﻨﻪ‬ ‫ﺍﻱ‬‫ﺍﻟـ‬ ‫ﺍﻨﻭﺍﻉ‬ ‫ﺍﺤﺩ‬type( ‫ﻨﻭﻉ‬ ‫ﻤﻥ‬record)‫ﺴﺠل‬ ‫ﺍﻱ‬(‫ﺒﺎﺴﻡ‬data‫ﻭﻫﻲ‬ ، ‫ﺤﻘﻭل‬ ‫ﺜﻼﺙ‬ ‫ﻭﻀﻊ‬ ‫ﻭﺘﻡ‬ ، ‫ﺍﻻﺴﻡ‬ ، ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻁﻠﻭﺒﻪ‬name‫ﺍﻟﻌﻤﺭ‬ ،age‫ﺍﻟﻬﺎﺘﻑ‬ ،tel. ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻟﺩﻴﻨﺎ‬ ‫ﺍﺼﺒﺢ‬ ‫ﺍﻻﻥ‬data. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺘﻡ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻗﺴﻡ‬ ‫ﻓﻲ‬da‫ﻫﻭ‬ ‫ﻭﺍﻟﺫﻱ‬ ‫ﻤ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬‫ﻋﻨﺎﺼﺭ‬ ‫ﺜﻼﺜﻪ‬ ‫ﻤﻥ‬ ‫ﻤﻜﻭﻨﻪ‬ ‫ﺼﻔﻭﻓﻪ‬)data(.‫ﻭﻤﺘﻐﻴﺭ‬I‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺼﺤﻴﺢ‬)‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﻓﻲ‬ ‫ﻴﺴﺘﺨﺩﻡ‬. ( PDF created with pdfFactory trial version www.pdffactory.com
  • 135. 135 ‫ﺒﺩﺍﻴﻪ‬ ‫ﺒﻌﺩ‬begin‫ﻨﺸﺎﻫﺩ‬ ‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬: Writeln(‘please fill the information : ‘); For i:= 1 to 3 do Begin Writeln(‘NOW .. student no ’,i); With da[i] do Begin Write(‘Name: ‘); Readln(name); Write(‘age: ‘); Readln(age); Write(‘tel: ‘); Readln(tel); End; End; {for} ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻴﻨﻁﺒﻊ‬ ‫ﺴﻭﻑ‬ ، ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﻨﻔﻴﺫ‬ ‫ﻓﻭﺭ‬. ‫ﺍﻟﺴﻁ‬‫ﻫﻲ‬ ‫؟‬ ‫ﻤﻨﻬﺎ‬ ‫ﺍﻟﻔﺎﺌﺩﻩ‬ ‫ﻤﺭﺍﺕ‬ ‫ﺜﻼﺙ‬ ‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬ ‫ﺤﻠﻘﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺜﺎﻨﻲ‬ ‫ﺭ‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﺩﺨل‬ ‫ﺨﻼﻟﻬﺎ‬ ‫ﻤﻥ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺍﻨﻪ‬)‫،ﺍﻟﻌﻤﺭ،ﺍﻟﻬﺎﺘﻑ‬ ‫ﺍﻻﺴﻡ‬(‫ﻁﻼﺏ‬ ‫ﺜﻼﺙ‬. ‫ﻋﻠﻰ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬begin‫ﻭ‬end;‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﺍﻭﺍﻤﺭ‬ ‫ﻭﺍﻱ‬ ‫ﻤﺭﻜﺒﻪ‬ ‫ﺤﻠﻘﻪ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻱ‬ ، ‫ﻤﺭﺍﺕ‬ ‫ﺜﻼﺜﻪ‬ ‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺤﻠﻘﻪ‬. ‫ﻨﺹ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻨﺭﻯ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻻﻥ‬+‫ﻗﻴﻤﻪ‬‫ﻤﺘﻐﻴﺭ‬I‫ﺒﺩ‬ ‫ﺜﻡ‬ ،‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﺃ‬‫ﺍﻟﺴﺠل‬ ‫ﺒﺎﻟﺠﻤﻠﻪ‬With da[i] do‫ﺍﻟﻁﺎﻟﺏ‬ ‫ﻤﻊ‬ ‫ﺍﻱ‬ ،)‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ، ‫ﺍﻻﻭل‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬I‫ﺘﺴﺎﻭﻱ‬1‫ﻗﻴﻤﻪ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﻭﺍﻟﺜﺎﻨﻲ‬ ،I‫ﺘﺴﺎﻭﻱ‬2‫ﻭﻫﻜﺫﺍ‬ ،. ( PDF created with pdfFactory trial version www.pdffactory.com
  • 136. 136 ‫ﺠﻤﻠﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻋﻨﺩ‬ ‫ﺴﺎﺒﻘﺎ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻭﻜﻤﺎ‬with .. Do‫ﺩﺍﺨل‬ ‫ﺘﻭﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ block‫ﺍ‬ ‫ﻫﺫﺍ‬ ‫ﺩﺍﺨل‬ ‫ﻭﻀﻊ‬ ‫ﻭﺘﻡ‬ ، ‫ﻤﻨﻔﺼل‬‫ﻟـ‬block‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻁﺒﺎﻋﻪ‬ ‫ﺠﻤل‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﺩﺨﺎل‬ ‫ﻭﺠﻤل‬. ‫ﺍل‬ ‫ﻫﺫﺍ‬ ‫ﻴﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬block‫ﻤﺭﺍﺕ‬ ‫ﺜﻼﺙ‬)‫ﻟﺤﻠﻘﻪ‬ ‫ﻨﻅﺭﺍ‬for. (‫ﺍﺩﺨﺎل‬ ‫ﺘﻡ‬ ‫ﻭﻫﻜﺫﺍ‬ ‫ﻁﻼﺏ‬ ‫ﺜﻼﺙ‬ ‫ﺒﻴﺎﻨﺎﺕ‬. ‫ﺍﻟﺠﻤﻠﻪ‬clrscr‫ﻤﻌﻨﺎﻫﺎ‬clear screen‫ﻜﺘﺎﺒﻪ‬ ‫ﻋﻨﺩ‬ ‫ﺴﻴﺘﻡ‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﺘﻨﻅﻴﻑ‬ ‫ﺍﻱ‬ ‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻜﺎﻓﻪ‬ ‫ﻤﺴﺢ‬ ‫ﺍﻻﻤﺭ‬ ‫ﻫﺫﺍ‬. ‫ﺍ‬ ‫ﺍﻟﺤﻠﻘﻪ‬‫ﺍﻟﺜﻼ‬ ‫ﺍﻟﻁﻼﺏ‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﻫﻲ‬ ‫ﻟﺜﺎﻨﻴﻪ‬‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺒﺎﻟﺤﻠﻘﻪ‬ ‫ﺸﺒﻴﻪ‬ ‫ﻭﻫﻲ‬ ، ‫ﺜﻪ‬ )‫ﺍﻻﻭﻟﻰ‬(‫ﺍﻟﻜﻼﻡ‬ ‫ﻨﻔﺱ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﻨﻌﻴﺩ‬ ‫ﻟﻥ‬ ‫ﻟﺫﻟﻙ‬. ‫ﺍﻟﻤﺠﻤﻭﻋﺎﺕ‬Sets ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﻠﻐﻪ‬ ‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺍﻟﻤﺯﺍﻴﺎ‬ ‫ﺍﺤﺩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺠﻤﻭﻋﺎﺕ‬،‫ﻤ‬ ‫ﻨﺎﺩﺭﺍ‬ ‫ﻭﺍﻟﺘﻰ‬‫ﻓﻲ‬ ‫ﻨﺠﺩﻫﺎ‬ ‫ﺎ‬ ‫ﺍﻻﺨﺭﻯ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬. ‫ﻭﻴﻘﻭ‬ ‫ﺍﻟﺨﺎﺼﻴﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻴﺘﺠﺎﻫﻠﻭﺍ‬ ‫ﺍﻟﻤﺒﺭﻤﺠﻴﻥ‬ ‫ﺍﻏﻠﺏ‬‫ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﺫﻟﻙ‬ ‫ﻋﻥ‬ ‫ﺒﺩﻻ‬ ‫ﻤﻭﺍ‬ ‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬،‫ﺒﻴﻨﻬﻤﺎ‬ ‫ﺘﺸﺎﺒﻪ‬ ‫ﻤﻥ‬ ‫ﻴﻭﺠﺩ‬ ‫ﻟﻤﺎ‬. ‫ﺍﻟﻤﺠﻤﻭ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﺍﻟﻌﻤﻭﻡ‬ ‫ﻋﻠﻰ‬‫ﺠﻴﺩ‬ ‫ﺸﻲﺀ‬ ‫ﻴﻌﺘﺒﺭ‬ ‫ﺒﺭﺍﻤﺠﻨﺎ‬ ‫ﻓﻲ‬ ‫ﻋﺎﺕ‬‫ﺠﺩﺍ‬ ،!! ‫ﺍﻴﻀﺎ‬ ‫ﺍﺴﺘﺨﺩﻤﻬﺎ‬ ‫ﻤﺎ‬ ‫ﻨﺎﺩﺭﺍ‬ ‫ﺸﺨﺼﻴﺎ‬ ‫ﺍﻨﺎ‬، ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺒﻌﺽ‬ ‫ﻓﻲ‬ ‫ﻤﻔﻴﺩﻩ‬ ‫ﻟﻜﻨﻬﺎ‬ ،‫ﻭﺍﻟﻌﺩﻴﺩ‬ ‫ﺍﻥ‬ ‫ﻟﻜﻥ‬ ، ‫ﻟﻬﺎ‬ ‫ﺍﻻﺸﺎﺩﻩ‬ ‫ﻭﻋﺩﻡ‬ ‫ﺍﻟﺨﺎﺼﻴﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﺠﺎﻫل‬ ‫ﺘﻡ‬ ‫ﺍﻟﻜﺘﺏ‬ ‫ﻤﻥ‬‫ﺍﷲ‬ ‫ﺸﺎﺀ‬ ‫ﺍﻻﻤﻜﺎﻥ‬ ‫ﺒﻘﺩﺭ‬ ‫ﺍﻏﻁﻴﻬﺎ‬ ‫ﺃﻥ‬ ‫ﺴﺄﺤﺎﻭل‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 137. 137 ‫ﺍﻟﻤﺠﻤﻭﻋﻪ‬Set‫ﺍﻟﻤﺠ‬ ‫ﺘﺸﺎﺒﻪ‬ ‫ﺘﻘﺭﻴﺒﺎ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻓﻲ‬‫ﻤ‬‫ﺍﻟﺭﻴﺎﻀﻴﺎﺕ‬ ‫ﻓﻲ‬ ‫ﻭﻋﻪ‬، ‫ﺍﻟﺭﻴﺎﻀﻴﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺠﻤﻭﻋﻪ‬ ‫ﻨﺸﺎﻫﺩ‬ ‫ﺩﻋﻨﺎ‬// S = {1, 5, 8, 9} ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺠﻤﻭﻋﻪ‬ ‫ﻫﻲ‬ ‫ﻭﻫﻜﺫﺍ‬)‫ﻋﻨﺎﺼﺭﻫﺎ‬ ‫ﻭﺠﻤﻴﻊ‬ ، ‫ﻭﻨﻬﺎﻴﻪ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻟﻬﺎ‬ ‫ﻤﻌﻠﻭﻤﻪ‬. ( ‫ﺍﻻﻋﻼ‬ ‫ﻜﻴﻔﻴﻪ‬ ‫ﻨﺸﺎﻫﺩ‬ ‫ﺩﻋﻨﺎ‬‫ﻋﻨﻬﺎ‬ ‫ﻥ‬// Type Days = (Sut,sun,mon,tues,wed,thurs,fri); Var Allday : set of days ; ‫ﺍﻟﻤﺘﻐﻴﺭ‬allday‫ﺍﻟﺠﻤﻌﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺴﺒﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻻﻴﺎﻡ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻋﻨﺎﺼﺭﻩ‬ ،. ‫ﻤﺜﺎل‬// Program ex (input, output); Uses wincrt; Type Days = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); Var allday : set of days; workday : set of Monday .. Friday; thisday : days; PDF created with pdfFactory trial version www.pdffactory.com
  • 138. 138 Begin thisday:= Monday; If thisday in workday then writeln('This day I''m in work') Else Writeln ('This day I''m on holiday’); End. ‫ﺒﺘﻐﻴﺭ‬ ‫ﻗﻡ‬ ‫ﺍﻻﻥ‬thisday:= Monday;‫ﺍﻟﻰ‬thisday:= Saturday;. ‫ﺍﻟﻔﺭﻕ‬ ‫ﻭﺸﺎﻫﺩ‬‫ﺠﺩﺍ‬ ‫ﻭﺍﻀﺤﻪ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻅﻥ‬ ،!! ‫ﻨﺭﻴﺩ‬ ‫ﺍﻨﻨﺎ‬ ‫ﻟﻨﻔﺘﺭﺽ‬‫ﻤﺎ‬ ‫ﻟﺴﺒﺏ‬ ‫ﺍﻻﻴﺎﻡ‬ ‫ﻫﺫﻩ‬ ‫ﺍﺤﺩ‬ ‫ﻨﺤﺫﻑ‬ ‫ﺍﻥ‬‫ﺫ‬ ‫ﻴﻜﻭﻥ‬ ،‫ﻫﻜﺫﺍ‬ ‫ﻟﻙ‬ Exclude(myday,Friday); ‫ﺍﻻﺴﺒﻭﻉ‬ ‫ﺍﻴﺎﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺠﻤﻌﻪ‬ ‫ﻴﻭﻡ‬ ‫ﺍﺴﺘﺒﻌﺎﺩ‬ ‫ﺘﻡ‬ ‫ﺍﻻﻥ‬. ‫ﻫﻜﺫﺍ‬ ‫ﺫﻟﻙ‬ ‫ﻴﻜﻭﻥ‬ ، ‫ﻴﻭﻡ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺍﻭ‬ ‫ﻭﻻﺭﺠﺎﻉ‬ Include(myday,Friday); ‫ﻤﻬﻤﻪ‬ ‫ﻤﻼﺤﻅﻪ‬//‫ﺍﻻﻤﺭﻴﻥ‬exclude‫ﻭ‬include‫ﻴ‬ ‫ﻻ‬‫ﺘﻴﺭﺒﻭ‬ ‫ﺍﻟﻨﺴﺨﻪ‬ ‫ﻓﻲ‬ ‫ﻌﻤﻼﻥ‬ ‫ﺒﺎﺴﻜﺎل‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 139. 139 ‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻟﻌﺎﺷﺮ‬ ‫ﺍﳋﺎﺻﻪ‬ ‫ﻭﺣﺪﺍﺗﻚ‬ ‫ﻋﻤﻞ‬ ‫ﺍ‬ ‫ﰲ‬‫ﻭﺑﻌﺾ‬ ‫ﻭﺍﻟﺪﻭﺍﻝ‬ ‫ﺍﻻﺟﺮﺍﺀﺍﺕ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﺍﱃ‬ ‫ﳓﺘﺎﺝ‬ ، ‫ﺍﻻﺣﻴﺎﻥ‬ ‫ﻣﻦ‬ ‫ﻟﻜﺜﲑ‬ ‫ﺗ‬ ‫،ﺍﻥ‬ ‫ﺍﻻﻭﺍﻣﺮ‬‫ﺘ‬‫ﺑﺮﻧﺎﻣﺞ‬ ‫ﻛﻞ‬ ‫ﰲ‬ ‫ﻜﺮﺭ‬.‫ﺍﻻﺟﺮﺍﺀﺍﺕ‬ ‫ﻫﺬﻩ‬ ‫ﻛﺘﺎﺑﻪ‬ ‫ﻋﻨﺪ‬ ‫ﻟﺬﻟﻚ‬ ‫ﻛﺘﺎﺑﺘﻪ‬ ‫ﰲ‬ ‫ﲣﻄﺊ‬ ‫ﻭﺭﲟﺎ‬ ، ‫ﺍﻟﻮﻗﺖ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻜﺜﲑ‬ ‫ﺪﺭ‬ ‫ﺳﻮﻑ‬ ‫ﻭﺍﻟﺪﻭﺍﻝ‬. ‫ﻭﺍﺣﺪﻩ‬ ‫ﻭﺣﺪﻩ‬ ‫ﲢﺖ‬ ‫ﺗﺮﻳﺪﻫﺎ‬ ‫ﺍﻟﱴ‬ ‫ﺍﻭﺍﻣﺮﻙ‬ ‫ﲨﻴﻊ‬ ‫ﺗﻀﻊ‬ ‫ﺍﻥ‬ ‫ﺍﳌﻤﻜﻦ‬ ‫ﻣﻦ‬ ‫ﻟﺬﻟﻚ‬ ‫ﻛﻞ‬ ‫ﰲ‬ ‫ﻭﺗﻀﻌﻬﺎ‬‫ﺑﺮﻧﺎﻣﺞ‬. ‫ﺑﺮﻧﺎﳎ‬ ‫ﰲ‬ ‫ﻭﺍﺳﺘﺨﺪﻣﻬﺎ‬ ، ‫ﺍﻟﻮﺣﺪﺍﺕ‬ ‫ﺻﻨﺎﻋﻪ‬ ‫ﻛﻴﻔﻴﻪ‬ ‫ﺳﺘﺘﻌﻠﻢ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬‫ﻚ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 140. 140 ‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﻋﻤل‬ ‫ﻭﺍﺤﺩ‬ ‫ﺍﺴﻡ‬ ‫ﻓﻲ‬ ‫ﻤﻭﺠﻭﺩﻩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻭﻫﻭ‬ ‫ﺍﻻ‬"‫ﻭﺤﺩﻩ‬unit"‫ﻨﺴﺘﻁﻴﻊ‬ ‫ﻻ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻫﺫﻩ‬ ‫ﺍﺴﻡ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻭﺒﺩﻭﻥ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺘﺸﻐﻴل‬. ‫ﺍﻻﻤ‬ ‫ﻤﺜﻼ‬‫ﺭ‬write‫ﻭ‬writeln‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﺩﺍﺨل‬ ‫ﻤﻭﺠﻭﺩﺍﻥ‬ ‫ﺍﻤﺭﺍﻥ‬ ‫ﻫﻤﺎ‬wincrt، ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﺒﺩﻭﻥ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﻫﺫﻩ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺤﺎﻭﻟﺕ‬ ‫ﻭﺍﺫﺍ‬wincrt‫ﻓﺈﻥ‬ ‫ﻴﻌﻤل‬ ‫ﻟﻥ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬. ، ‫ﺤﺴﻨﺎ‬‫ﻜﺘ‬ ‫ﻟﻜﻴﻔﻴﻪ‬ ‫ﺍﻟﻌﺎﻡ‬ ‫ﺍﻟﺸﻜل‬ ‫ﻨﺭﻯ‬ ‫ﺩﻋﻨﺎ‬‫ﺎ‬‫ﺒﻨﺎ‬ ‫ﺨﺎﺼﻪ‬ ‫ﻭﺤﺩﻩ‬ ‫ﺒﻪ‬ {This code must be saved with name wajdy.PAS} Unit wajdy; Interface Uses.... Var ... {Visible global variables} {Procedures & functions definitions} Procedure myproc; Function myfunc: word; : PDF created with pdfFactory trial version www.pdffactory.com
  • 141. 141 : Implementation Var ... {Invisible global variables} Procedure myproc; Begin : {the routines} : End; Function myfunc: word; Begin : {the routines} : End; : : {other procedure's / function's routines} : Begin : {Initialization code} : End. PDF created with pdfFactory trial version www.pdffactory.com
  • 142. 142 ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﻪ‬intercafe‫ﻭﺍﻟﻭﺤﺩﺍﺕ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺠﻤﻴﻊ‬ ‫ﻋﻥ‬ ‫ﺍﻻﻋﻼﻥ‬ ‫ﻴﺘﻡ‬ ‫ﻭﺍﻟﺩﻭﺍل‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﻭﺍﺴﺎﻤﻲ‬‫ﻤﺘﺎ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻭﺴﻭﻑ‬ ،‫ﺍﻱ‬ ‫ﻓﻲ‬ ‫ﻭﺤﺩﺘﻙ‬ ‫ﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﺤﻪ‬ ‫ﺒﺭﻨﺎﻤﺞ‬. ‫ﺍﻟﺠﺎﺌﺯ‬ ‫ﻤﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ، ‫ﺒﻙ‬ ‫ﺍﻟﺨﺎﺼﻪ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻭﻀﻊ‬ ‫ﻴﺘﻡ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﺍﻱ‬ ‫ﺍﻥ‬ ‫ﺒﻤﻌﻨﻰ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻐﻴﺭ‬. ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﻪ‬implementation‫ﺍﻻﺠﺭﺀﺍﺕ‬ ‫ﻤﺤﺘﻭﻴﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﺘﺤﺘﻭﻱ‬ ‫ﺘﻐﻴﺭﻫﺎ‬ ‫ﻴﺘﻡ‬ ‫ﻟﻥ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ، ‫ﻭﺍﻟﺩﻭﺍل‬. ‫ﺒﺴﻴﻁ‬ ‫ﻤﺜﺎل‬ {This unit must be stored in MYUNIT.PAS} Unit myunit; Interface Uses CRT; Var X : byte; Y, z: integer; Procedure a; Procedure b; Function c: byte; Implementation Var PDF created with pdfFactory trial version www.pdffactory.com
  • 143. 143 P, q, r: shortint; Procedure a; Begin : : End; Procedure d; Begin : : End; Procedure b; Begin : : End; Function c: byte; Begin : : End; PDF created with pdfFactory trial version www.pdffactory.com
  • 144. 144 Procedure e; Begin : : End; Begin : {Initialization code} : End. ‫ﺍﻟﺴﺎﺒﻘﻪ‬ ‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻴﺴﺘﺨﺩﻡ‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻟﻌﻤل‬ ‫ﺍﻻﻥ‬ Uses myunit; Var N: byte; Begin A; {legal} B; {legal} N: =c; {legal} X: =1; {legal} Y: =-1; {legal} PDF created with pdfFactory trial version www.pdffactory.com
  • 145. 145 Z: =14; {legal} D; {illegal, because it is invisible} E; {illegal, because it is invisible} P: =-1; {illegal, because it is invisible} End. ‫ﺍﻟﺤ‬ ‫ﺍﻥ‬ ، ‫ﺍﻟﺩﺭﺱ‬ ‫ﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﺫﻜﺭﻨﺎ‬ ‫ﻜﻤﺎ‬‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻨﺭﻴﺩ‬ ‫ﻋﻨﺩﻤﺎ‬ ‫ﻟﻬﺎ‬ ‫ﺎﺠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﻀﻡ‬ ‫ﻭﺤﺩﻩ‬ ‫ﺒﻜﺘﺎﺒﻪ‬ ‫ﻨﻘﻭﻡ‬ ، ‫ﺍﻟﺒﺭﺍﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺩﻴﺩ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺠﺭﺍﺀﺍﺕ‬ ‫ﺍﻭ‬ ‫ﺍﻻﻭﺍﻤﺭ‬ ‫ﺠﻤﻴﻌﺎ‬ ‫ﺍﻻﻭﺍﻤﺭ‬.‫ﺒﺎﻀ‬ ‫ﻨﻘﻭﻡ‬ ‫ﺍﻟﺭﻴﺌﺴﻲ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻓﻲ‬ ‫ﺜﻡ‬‫ﺎ‬‫ﺍﻟﻭﺤﺩﻩ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻪ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 146. 146 ‫ﺍ‬ ‫ﺍﻟﻴﻮﻡ‬‫ﻋﺸﺮ‬ ‫ﳊﺎﺩﻱ‬ ‫ﻭﺍﻟﺜﻨﺎﺋﻴﻪ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﳌﻠﻔﺎﺕ‬ Text & Binary Flies PDF created with pdfFactory trial version www.pdffactory.com
  • 147. 147 ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻨﺼﻭﺹ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻤﺤﺘﻭﻴﺎﺘﻪ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻱ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻲ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬text ‫ﺍﻤﺘﺩﺍﺩﻩ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻤﺎ‬ ‫ﻭﻏﺎﻟﺒﺎ‬txt‫ﺍﻟﻜﺘﺎﺒﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻜﻴﻑ‬ ‫ﻨﻨﺎﻗﺵ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺩﺭﺱ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬ ، ‫ﺍﻴﻀﺎ‬ ‫ﻭﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬. ‫ﻓﻲ‬‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﺤﺎﻟﻪ‬‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻥ‬ ‫ﺍﺴﺎﺱ‬ ‫ﻋﻠﻰ‬ ‫ﺴﻨﻨﺎﻗﺵ‬ ، ‫ﺴﻨﻨﺸﺌﻪ‬ ‫ﺍﻟﺫﻱ‬)‫ﺍﻟﻤﻭﺠﻭﺩ‬ ‫ﺍﻭ‬(‫ﻓﻲ‬ ‫ﻤﻭﺠﻭﺩ‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺠﻠﺩ‬ ‫ﻓﻲ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﻘﺭﺹ‬c‫ﺍﻟﻤﺠﻠﺩ‬ ‫ﺩﺍﺨل‬TPW. ‫ﻓﻴﻬﺎ‬ ‫ﺍﻟﺘﺭﺘﻴﺏ‬ ‫ﻭﻴﺠﺏ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬ ‫ﻤﻌﻴﻨﻪ‬ ‫ﺨﻁﻭﺍﺕ‬ ‫ﺘﻭﺠﺩ‬. 1.‫ﻤﺎ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﻫﻲ‬ ‫ﺨﻁﻭﻩ‬ ‫ﺍﻭل‬)‫ﻭﻟﻴﻜﻥ‬f(‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬text Var F: text; 2.‫ﺘﻌﻴﻴﻥ‬ ‫ﻓﻲ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺨﻁﻭﻩ‬ ‫ﺜﺎﻨﻲ‬assign‫ﺍﻟﻤﺘﻐﻴﺭ‬f‫ﻨﺼﻲ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻱ‬ ‫ﻓﻲ‬ )‫ﺠﺩﻴﺩ‬ ‫ﻨﺼﻲ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻭ‬ ، ‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻭﺠﻭﺩ‬(‫ﺒﺩﺍﻴﻪ‬ ‫ﺒﻌﺩ‬ ‫ﻭﻴﻜﻭﻥ‬Begin ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬. ‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻭﺠﻭﺩ‬ ‫ﻨﺼﻲ‬ ‫ﻤﻠﻑ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬)‫ﺩﺍﺨل‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬ ‫ﻗﻠﻨﺎ‬ ‫ﻜﻤﺎ‬ ‫ﺍﻟﻤﺴﺎﺭ‬ ‫ﻓﻲ‬ ‫ﺍﻱ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺠﻠﺩ‬C:/TPW(‫ﺍﻟـ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ assign‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬‫ﺒﺎﺴﻡ‬ ‫ﺍﻟﻤﻭﺠﻭﺩ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻥ‬ ‫ﺒﺎﻋﺘﺒﺎﺭ‬ ،wajdy.txt Begin Assign (f,’wajdy.txt’); PDF created with pdfFactory trial version www.pdffactory.com
  • 148. 148 ‫ﺠﺩﻴﺩ‬ ‫ﻨﺼﻲ‬ ‫ﻤﻠﻑ‬ ‫ﻨﻨﺸﺊ‬ ‫ﺍﻥ‬ ‫ﻨﺭﻴﺩ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬)‫ﻤﺴﺘﺨﺩﻡ‬ ‫ﺍﻱ‬ ‫ﺍﻻﺴﻡ‬ ‫ﻴﻜﺘﺏ‬ ‫ﺍﻟﺫﻱ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬(‫ﻤﺎ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻨﻀﻊ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﻭﻟﻴﻜﻥ‬s‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻴﺭﻴﺩﻩ‬ ‫ﺍﻟﺫﻱ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﺴﻡ‬ ‫ﻓﻴﻪ‬ ‫ﻴﺤﻔﻅ‬ ‫ﻟﻜﻲ‬ Var F: text; S: string; Begin Read(s); Assign (f, s); ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻻﺤﻅ‬s‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string‫ﻨﺼﻴﻪ‬ ‫ﺴﻠﺴﻠﻪ‬ ‫ﺍﻱ‬)‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﺴﻡ‬ ‫ﻻﻥ‬ ‫ﻭﺍﻻﺭﻗﺎﻡ‬ ‫ﺍﻟﺤﺭﻭﻑ‬ ‫ﻤﻥ‬ ‫ﻤﺠﻤﻭﻋﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬(. 3.‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﺘﺢ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺜﺎﻟﺜﻪ‬ ‫ﺍﻟﺨﻁﻭﻩ‬‫ﻤﺴﺒﻘﺎ‬ ‫ﺍﻟﻤﻭﺠﻭﺩ‬ Reset (f); ‫ﺠﺩﻴﺩ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻨﺸﺎﺀ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬ Rewrite (f); 4.‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻫﻭ‬ ‫ﺍﻟﺭﺍﺒﻌﻪ‬ ‫ﺍﻟﺨﻁﻭﻩ‬)‫ﺍﻟﻘﺩﻴﻡ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬(‫ﺒـ‬ ‫ﺫﻟﻙ‬ ‫ﻭﻴﺘﻡ‬ Readln (f, x); Writeln(x); PDF created with pdfFactory trial version www.pdffactory.com
  • 149. 149 ‫ﺍﻟﻤﺘﻐﻴﺭ‬X‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬string‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬ ‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻭﻤﻌﻨﻰ‬ ، ‫ﺍﻟﻤﺘﺭ‬‫ﺠ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻲ‬ ‫ﻭﺘﺨﺯﻴﻨﻪ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻡ‬X‫ﻁﺒﺎﻋﻪ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ، ‫ﺍﻟﻤﺘﻐﻴﺭ‬x‫ﺍﻟﺸﺎﺸﻪ‬ ‫ﻋﻠﻰ‬. ‫ﺠﺩﻴﺩ‬ ‫ﻟﻤﻠﻑ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﺩﺨﺎل‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻤﺎ‬ Readln(x); Writeln (f, x); ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻡ‬ ‫ﺍﻱ‬x)‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string(‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺒﻁﺎﻋﺘﻪ‬ ‫ﻗﻡ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬F 5.‫ﺍﻨﺘﻬﻰ‬ ‫ﻫل‬ ‫ﺍﻱ‬ ، ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻨﺘﻬﻰ‬ ‫ﻫل‬ ‫ﻟﻤﻌﺭﻓﻪ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺨﺎﻤﺴﻪ‬ ‫ﺍﻟﺨﻁﻭﻩ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻭﺼل‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺘﺭﺠﻡ‬ Eof (f); ‫ﻟـ‬ ‫ﺍﺨﺘﺼﺎﺭ‬ ‫ﻫﻲ‬ ‫ﻭ‬end of file If eof (f) then writeln (‘The End’); 6.‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻟﻼﻏﻼﻕ‬ ‫ﻫﻲ‬ ‫ﺍﻟﺴﺎﺩﺴﻪ‬ ‫ﺍﻟﺨﻁﻭﻩ‬ Close (f); ‫ﺒﺎﺴﻡ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺠﻠﺩ‬ ‫ﻓﻲ‬ ‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻠﻑ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬romansy.txt Program ex1 (input, output); Uses wincrt; PDF created with pdfFactory trial version www.pdffactory.com
  • 150. 150 Var F: text; S: string; Begin Assign (f,’romansy.txt’); Reset (f); Repeat Readln (f, s); Writeln(s); Until eof (f); Close (f); End. ‫ﺸﺭ‬‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺡ‬// ‫ﺍﻻﻭل‬ ، ‫ﻤﺘﻐﻴﺭﻴﻥ‬ ‫ﺒﺘﻌﺭﻴﻑ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﻟﺒﺩﺍﻴﻪ‬ ‫ﻓﻲ‬f‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬text‫ﻭﺍﻟﺜﺎﻨﻲ‬ ‫ﻤﺘﻐﻴﺭ‬s‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬string. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺩﺃﻨﺎ‬ ‫ﺍﻻﻥ‬begin‫ﺒﺘﻌﻴﻴﻥ‬ ‫ﻗﻤﻨﺎ‬ ،assign‫ﺍﻟﻤﻠﻑ‬romansy‫ﺒﺎﻟﻤﺘﻐﻴﺭ‬ f. ‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺒﻔﺘﺢ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬reset(f)‫ﺤﻠﻘﻪ‬ ‫ﺒﻌﺩﻫﺎ‬ ‫ﻭﺒﺩﺃ‬ ،repaet‫ﻤﻌﻨﺎﻫﺎ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻓﻲ‬ ‫ﺒﺘﺨﺯﻴﻨﻪ‬ ‫ﻭﻴﻘﻭﻡ‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺍﻻﻭل‬ ‫ﺍﻟﺴﻁﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻥ‬s ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻁﺒﺎﻋﻪ‬ ‫ﻭﻴﻘﻭﻡ‬s‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺜﻡ‬ ،Until eof(f);‫ﺒﺎﻟﺘﺤﻘﻕ‬ ‫ﻓﻴﻘﻭﻡ‬ ‫ﺍﻟﺸﺭﻁ‬ ‫ﻤﻥ‬)‫ﻨﻬﺎﻴﺘﻪ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻭﺼل‬ ‫ﻫل‬ ‫ﺍﻱ‬(‫ﻻ‬ ‫ﺍﻡ‬. ‫ﻨﻌﻡ‬ ‫ﺍﺫﺍ‬)‫ﻭﺼل‬ ‫ﺍﻱ‬(‫ﻫﺫﻩ‬ ‫ﺒﺘﻜﺭﺍﺭ‬ ‫ﻓﻴﻘﻭﻡ‬ ‫ﻷ‬ ‫ﺍﺫﺍ‬ ، ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺍﻟ‬‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺘﺤﻘﻕ‬ ‫ﺤﺘﻰ‬ ‫ﺤﻠﻘﻪ‬)‫ﺍﻟﻤﻠﻑ‬ ‫ﻨﻬﺎﻴﻪ‬ ‫ﺍﻟﻰ‬ ‫ﻴﺼل‬ ‫ﺍﻱ‬(. PDF created with pdfFactory trial version www.pdffactory.com
  • 151. 151 ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻔﺎﺌﺩﻩ‬//‫ﺍﺨﺭﻩ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻭﻟﻪ‬ ‫ﻤﻥ‬ ‫ﻜﺎﻤﻼ‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻫﻰ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺍﺴﺘﺨﺩﺍﻡ‬ ‫ﻴﻤﻜﻥ‬ ‫ﻻ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﻭﻁﺒﻌﺎ‬for‫ﻋﺩﺩ‬ ‫ﻻﻥ‬ ‫ﻭﻫﻤﺎ‬ ، ‫ﺍﻟﺸﺭﻁ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺘﻜﺭﺍﺭ‬ ‫ﺠﻤﻠﻪ‬ ‫ﻨﺴﺘﺨﺩﻡ‬ ‫ﺍﻥ‬ ‫ﻓﻴﺠﺏ‬ ، ‫ﻤﻌﻠﻭﻡ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﺴﻁﻭﺭ‬ repeat‫ﻭ‬while. ‫ﻴﺩﺨﻠﻪ‬ ‫ﺍﻟﺫﻱ‬ ‫ﻫﻭ‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﺴﻡ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺍﺩﺭﻨﺎ‬ ‫ﻟﻭ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺍﻟﻤﺜﺎل‬ ‫ﻓﻲ‬ ‫ﻜﺎﺍﻻﺘﻲ‬ ‫ﺸﻜﻠﻪ‬ ‫ﻴﻜﻭﻥ‬ ، ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬/ Begin Read (n); Assign (f, n); : : End. ‫ﺍﻟﻤﺘﻐﻴﺭ‬N‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻫﻭ‬string. ‫ﺠﺩﻴﺩ‬ ‫ﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﺍﺩﺨل‬ ‫ﻋﻠﻰ‬ ‫ﻤﺜﺎل‬)‫ﺍ‬‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ‫ﺍﺴﻡ‬ ‫ﺒﺎﻱ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻨﺸﺎﺀ‬ ‫ﻴﺘﻡ‬ ‫ﻱ‬ ‫ﻋﻠﻴﻪ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﺒﻌﺽ‬ ‫ﻜﺘﺎﺒﻪ‬ ‫ﺘﺘﻡ‬(. Program ex2 (input, output); Uses wincrt; Var F: text; S, n: string; Ch: char; PDF created with pdfFactory trial version www.pdffactory.com
  • 152. 152 Begin Read (n); Assign (f, n); Rewrite (f); Repeat Readln(s); Writeln (f, s); Ch: = readkey; Until ch=#27 Close (f); End. ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺸﺭﺡ‬// ، ‫ﺍﻟﻤﺘﻐﻴﺭﺍﺕ‬ ‫ﺘﻌﺭﻴﻑ‬ ‫ﺒﻌﺩ‬F، ‫ﺍﻟﻨﺼﻲ‬ ‫ﻟﻠﻤﻠﻑ‬n‫ﻗﺒل‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺩﺨل‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻻﺴﻡ‬ ، ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬s‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺩﺨﻠﻪ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻟﻁﺒﺎﻋﻪ‬ ‫ﺍﻟﻤﺘﻐﻴﺭ‬ch‫ﺤﺭﻓﻲ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬ ‫ﻫﻭ‬char‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬ ‫ﻋﻨﻪ‬ ‫ﺍﺘﻜﻠﻡ‬ ‫ﻭﺴﻭﻑ‬. ‫ﺒﺩﺃ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺒﻘﺭﺍﺀﻩ‬ ‫ﻗﻤﻨﺎ‬ ، ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬n‫ﻭﻋﻴﻨﺎﻩ‬assign، ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺈﻨﺸﺎﻩ‬ ‫ﻭﻗﻤﻨﺎ‬rewrite. ‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻗﺭﺃ‬ ، ‫ﺍﻟﺘﻜﺭﺍﺭ‬ ‫ﺤﻠﻘﻪ‬ ‫ﺒﺩﺍﺕ‬ ‫ﺍﻻﻥ‬s)Readln(s);(‫ﻋﻠﻰ‬ ‫ﺍﻁﺒﻌﻪ‬ ‫ﺜﻡ‬ ‫ﻭﻤﻥ‬ ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬)Writeln(f,s);( ‫ﻭ‬)Ch:= readkey;(‫ﺒﻬﺎ‬ ‫ﻴﻘﺼﺩ‬ ‫ﻤﺎﺫﺍ‬.......‫؟‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 153. 153 ‫ﻨﻌﺭﻑ‬ ‫ﺍﻥ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻭﻻ‬readkey‫ﻫﻭ‬‫ﻟﻘﺭﺍﺀﻩ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺩﺍﻟﻪ‬ ‫ﻋﻥ‬ ‫ﻋﺒﺎﺭﻩ‬)‫ﺍﻟﺤﺭﻑ‬ ‫ﺍﻟﺭﻤﺯ‬ ‫ﺍﻭ‬ ‫ﺍﻟﺭﻗﻡ‬ ‫ﺍﻭ‬(‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺩﺨل‬. ‫ﺒﺘﻌﻴﻨﻪ‬ ‫ﻭﻗﻤﻨﺎ‬)‫ﺍﺴﻨﺎﺩﻩ‬(‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﻰ‬ch. ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺘﺘﻜﺭﺭ‬ ‫ﻭﺴﻭﻑ‬)‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﺍﻱ‬s‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﻲ‬ ‫ﻭﻁﺒﺎﻋﺘﻪ‬( ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﺘﺤﻘﻕ‬ ‫ﺤﺘﻰ‬ch=#27‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻴﺼﺒﺢ‬ ‫ﺍﻱ‬Ch‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﻴﺴﺎﻭﻱ‬#27 ‫ﺍﻟﻤﻔﺘﺎ‬ ‫ﻭﻤﻌﻨﺎﻩ‬‫ﺡ‬Esc‫ﺍﻟﻴﻤﻨﻰ‬ ‫ﺍﻟﺠﻬﻪ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﻔﺎﺘﻴﺢ‬ ‫ﻟﻭﺤﻪ‬ ‫ﺍﻋﻠﻰ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻭﺠﻭﺩ‬. ‫ﻤﻔﺘﺎﺡ‬ ‫ﻋﻠﻰ‬ ‫ﺒﺎﻟﻀﻐﻁ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺤﺘﻰ‬ ‫ﺍﻟﺤﻠﻘﻪ‬ ‫ﺘﻜﺭﺭ‬ ‫ﺴﻭﻑ‬ ‫ﺫﻟﻙ‬ ‫ﻤﻌﻨﻰ‬ ‫ﺍﻟﻬﺭﻭﺏ‬Esc. ‫ﺠﻤﻠﻪ‬append// ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ، ‫ﻤﺴﺒﻘﺎ‬ ‫ﻤﻨﺸﺄ‬ ‫ﺍﻱ‬ ‫ﻗﺩﻴﻡ‬ ‫ﻟﻤﻠﻑ‬ ‫ﺍﻻﺴﻡ‬ ‫ﺒﻨﻔﺱ‬ ‫ﺠﺩﻴﺩ‬ ‫ﻤﻠﻑ‬ ‫ﺒﺎﻨﺸﺎﺀ‬ ‫ﻗﻤﻨﺎ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻜﺎﻓﻪ‬ ‫ﻤﺴﺢ‬ ‫ﻴﺘﻡ‬ ‫ﺴﻭﻑ‬ ‫ﺍﻟﺤﺎﻟﻪ‬‫ﺍﻟﻘﺩﻴﻡ‬. ‫ﺠﻤﻠﻪ‬ ‫ﺍﺫﺍ‬append‫ﻭﻴﺘﻡ‬ ، ‫ﻗﺩﻴﻡ‬ ‫ﻤﻠﻑ‬ ‫ﺍﻟﻰ‬ ‫ﺠﺩﻴﺩﻩ‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﻻﻀﺎﻓﻪ‬ ‫ﺘﺴﺘﺨﺩﻡ‬ ‫ﺠﻤﻠﻪ‬ ‫ﺒﺩل‬ ‫ﻜﺘﺎﺒﺘﻬﺎ‬rewrite‫ﻻﺤﻅ‬: Assign (f,’wajdy.txt’); Append (f); ‫ﺍﻟﻨﺼﻲ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺩﺍﺨل‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﻻﻀﺎﻓﻪ‬ ‫ﺍﻱ‬wajdy.txt ‫ﺩﺍﺨﻠﻴﻪ‬ ‫ﺫﺍﻜﺭﻩ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﺘﺴﺘﺨﺩﻡ‬Buffer‫ﺍﻟ‬ ‫ﻟﺤﻔﻅ‬‫ﻭﺍﻟـ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ buffer‫ﺍ‬ ‫ﻤﺼﻔﻭﻓﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻋﺎﺩﻩ‬ ‫ﻤﺅﻗﺕ‬ ‫ﻤﻜﺎﻥ‬ ‫ﻫﻭ‬‫ﻓﻲ‬ ‫ﻤﺎ‬ ‫ﻤﻭﻗﻊ‬ ‫ﻓﻲ‬ ‫ﻤﺅﺸﺭ‬ ‫ﻭ‬ ‫ﺍﻟﺫﺍﻜﺭﻩ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 154. 154 ‫ﺍﻟـ‬ ‫ﻴﺴﺘﺨﺩﻡ‬buffer‫ﺍﻭ‬ ‫ﻟﺘﺴﺭﻴﻊ‬cache، ‫ﻤﻠﻑ‬ ‫ﻻﻱ‬ ‫ﺍﻟﻜﺘﺎﺒﻪ‬ ‫ﺍﻭ‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬ ‫ﻋﻤﻠﻴﻪ‬ ‫ﻭﺍﻟـ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺤﺘﻰ‬Buffer‫ﻟﻜﻨﻪ‬ ‫ﻤﻌﻴﻨﻪ‬ ‫ﻤﺴﺎﺤﻪ‬ ‫ﺍﻭ‬ ‫ﻜﻤﻴﻪ‬ ‫ﻟﻪ‬ ‫ﻤﻜﺎﻥ‬ ‫ﺍﻤ‬ ، ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﻟﻠﻌﻤﻠﻴﺎﺕ‬ ‫ﻴﻜﻔﻲ‬‫ﺍﻟـ‬ ‫ﺍﻤﺘﻼﺀ‬ ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺎ‬buffer‫ﺒﺎﺴﻜﺎل‬ ‫ﺘﻘﻭﻡ‬ ‫ﺒﻌﻤﻠﻴﻪ‬)‫ﺤﻔﻅ‬(flush‫ﺍﻟﻘﺭﺹ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﺤﺘﻭﻴﺎﺕ‬. ‫ﺍﻟـ‬ ‫ﺍﻥ‬ ‫ﻤﻥ‬ ‫ﺍﻟﺘﺄﻜﺩ‬ ‫ﺍﻟﻰ‬ ‫ﺘﺤﺘﺎﺝ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺒﻌﺽ‬ ‫ﻓﻲ‬buffer‫ﺤﺩﻩ‬ ‫ﻴﺘﺠﺎﻭﺯ‬ ‫ﻻ‬ ‫ﻟﻭ‬ ‫ﻤﺎﺫﺍ‬ ‫ﻟﻜﻥ‬ ‫ﻨﻌﻡ‬ ‫؟؟‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﻟﻠﻌﻤﻠﻴﺎﺕ‬ ‫ﻜﺎﻓﻲ‬ ‫ﺍﻨﻪ‬ ‫ﻗﻠﺕ‬ ‫ﺍﻨﺕ‬ ، ‫ﻤﻬﻼ‬ ‫ﺍﻻﻗﺼﻰ‬ ‫ﻤﻥ‬ ‫ﺴﺒﺏ‬ ‫ﻻﻱ‬ ‫ﺍﻟﺠﻬﺎﺯ‬ ‫ﺍﻨﻐﻠﻕ‬ ‫ﺍﻭ‬ ‫ﺍﻟﻜﻬﺭﺒﺎﺀ‬ ‫ﺍﻨﻘﻁﺕ‬‫ﺍﻻﺴﺒﺎﺏ‬‫ﻓﺈﻥ‬ ‫ﺍﻟﺤﺎﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﻓﻲ‬ ‫ﺍﻟـ‬ ‫ﻤﺤﺘﻭﻴﺎﺕ‬ ‫ﻜل‬buffer‫ﻤﻨﺜﻭﺭﺍ‬ ‫ﻫﺒﺎﺀﺍ‬ ‫ﺘﻀﻴﻊ‬ ‫ﺴﻭﻑ‬‫ﻴﺠﺏ‬ ‫ﻟﺫﻟﻙ‬ ،‫ﺤﻔﻅ‬ flush‫ﺘﺭﻴﺩ‬ ‫ﻻ‬ ‫ﺍﻨﺕ‬ ، ‫ﺒﺄﻭل‬ ‫ﺍﻭل‬ ‫ﻴﺤﻔﻅ‬ ‫ﻻﻨﻪ‬ ‫ﻴﺩﻭﻱ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﻘﺭﺹ‬ ‫ﻤﺤﺘﻭﻴﺎﺕ‬ ‫ﺒﻴﺎﻨﺎﺘﻲ‬ ‫ﻓﻘﺩﺕ‬ ‫ﻟﻘﺩ‬ ‫ﺍﺍﺍﺍﺍﺍﺍﺍﺍﺍﻩ‬ ‫ﻴﻘﻭل‬ ‫ﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﺴﺘﺨﺩﻡ‬J ‫ﺤﻔﻅ‬‫ﺍﻟـ‬ ‫ﻤﺤﺘﻭﻴﺎﺕ‬Buffer‫ﺒﺎﻀﺎﻓﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﻴﺩﻭﻱ‬ ‫ﺒﺸﻜل‬ ‫ﺍﻟﻘﺭﺹ‬ ‫ﺍﻟﻰ‬‫ﺍﻟﺠﻤﻠﻪ‬ ‫ﺍﻻﺘﻴﻪ‬/ Flush (f); ‫ﻴﻔﻀل‬ ‫ﻋﺎﺩﻩ‬ ‫ﻟﻜﻥ‬ ، ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻏﻼﻕ‬ ‫ﺍﻟﻰ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺘﻌﻴﻴﻥ‬ ‫ﺒﻌﺩ‬ ‫ﻤﻜﺎﻥ‬ ‫ﻓﻲ‬ ‫ﻜﺘﺎﺒﺘﻪ‬ ‫ﻭﻴﻤﻜﻥ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻏﻼﻕ‬ ‫ﻗﺒل‬. ‫ﻴﺨﺘﻠﻑ‬ ‫ﻓﺎﻻﻤﺭ‬ ‫ﺍﻟﺜﻨﺎﺌﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺍﻤﺎ‬ ، ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺍﻟﻰ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﻫﺫﺍ‬)‫ﻭﺴﻭﻑ‬ ‫ﻋﻨﻪ‬ ‫ﻨﺘﻜﻠﻡ‬‫ﻗﻠﻴل‬ ‫ﺒﻌﺩ‬(. ‫ﺤﺎﻟﻪ‬ ‫ﻓﻲ‬ ‫ﺍﻻﺤﻴﺎﻥ‬ ‫ﺒﻌﺽ‬، ‫ﻤﻭﺠﻭﺩ‬ ‫ﻏﻴﺭ‬ ‫ﻟﻤﻠﻑ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﺍﻭ‬ ‫ﻗﺭﺍﺀﻩ‬ ‫ﻴﺼﺭﺥ‬ ‫ﺒﺎﺴﻜﺎل‬"Error"‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﻤﻥ‬ ‫ﺒﺎﻟﺨﺭﻭﺝ‬ ‫ﻴﻘﻭﻡ‬ ‫ﺜﻡ‬‫ﺍﻟﻰ‬ ‫ﻭﺍﻟﺭﺠﻭﻉ‬ ، PDF created with pdfFactory trial version www.pdffactory.com
  • 155. 155 ‫ﻭﻨﻭﻋﻪ‬ ‫ﺍﻟﺨﻁﺄ‬ ‫ﻋﻥ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻭﺍﻋﻁﺎﺌﻪ‬ ‫ﻟﻠﻤﺴﺘﺨﺩﻡ‬ ‫ﺍﺨﻁﺎﺭ‬ ‫ﺒﺩﻭﻥ‬ ، ‫ﺍﻟﻌﻤل‬ ‫ﺸﺎﺸﻪ‬ ‫ﺫﻟﻙ‬ ‫ﺍﻟﻰ‬ ‫ﻭﻤﺎ‬. ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﻟﻤﻌﺎﻟﺠﻪ‬ ‫ﺭﻭﺘﻴﻨﺎ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻗﺩﻤﺕ‬ ‫ﻟﺫﻟﻙ‬error-handling‫ﺩﻋﻨﺎ‬ ، ‫ﻗﺭ‬ ‫ﻋﻥ‬ ‫ﻨﺸﺎﻫﺩﻩ‬‫ﺏ‬// {$I-} ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﺍﻜﺘﺸﺎﻑ‬ ‫ﻋﻨﺩ‬ ‫ﺼﺎﻤﺘﻪ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﺠﻌل‬ : ‫ﺍﻟﻤﻠﻑ‬ ‫ﻋﻠﻰ‬ ‫ﺍﻟﻌﻤﻠﻴﺎﺕ‬ {$I+} ‫ﻭﺠﺩ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻟﺨﻁﺄ‬ ‫ﻨﻭﻉ‬ ‫ﺘﻘﺭﺭ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻟﺠﻌل‬ ‫ﺍﻟﺩﺍﻟﻪ‬ ‫ﻫﺫﻩ‬ ‫ﺒﺎﻀﺎﻓﻪ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﻭﺍﻜﺘﺸﺎﻑ‬IOResult‫ﺍ‬ ،‫ﻜﺎﻨﺕ‬ ‫ﺫﺍ‬ IOresult‫ﺼﻔﺭ‬ ‫ﺘﺴﺎﻭﻱ‬0‫ﺨﻁﺄ‬ ‫ﻻﻴﻭﺠﺩ‬ ‫ﺍﻨﻪ‬ ‫ﻤﻌﻨﺎﻩ‬. ‫ﻤﺜﺎل‬// Program example (input,output); Uses wincrt; Var F:text; S:string; Begin Write (‘Enter the file name: ‘); Readln(s); Assign (f, s); {$I-} PDF created with pdfFactory trial version www.pdffactory.com
  • 156. 156 Reset (f); {$I+} If ioresult <> 0 then Begin Writeln (‘error while reading file’, s); Halt; End; While not eof do Begin Readln (f, s); Writeln(s); End; Flush (f); Close (f); End. {$I-}‫ﻭ‬{$I+}‫ﺍﻟ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬ ، ‫ﺍﻟﻤﻠﻑ‬ ‫ﻓﺘﺢ‬ ‫ﺒﻴﻥ‬ ‫ﻋﺎﺩﻩ‬ ‫ﺘﻜﻭﻥ‬‫ﻤﺜﺎل‬‫ﺍﻟﺴﺎﺒﻕ‬‫ﻗﻡ‬ ، ‫ﻤﻌﺭﻓﺘﻪ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﺘﺎﻜﺩ‬ ‫ﺍﻟﺒﺭﻨﺎﻤﺞ‬ ‫ﺒﺘﺠﺭﺒﻪ‬. ‫ﺍﻟـ‬ ‫ﺘﻀﻤﻴﻥ‬ ‫ﺍﻥ‬IOResult‫ﺍﻟﻤ‬ ‫ﻤﻥ‬ ، ‫ﺍﻟﺨﻁﺄ‬ ‫ﺭﻤﺯ‬ ‫ﺍﻋﺎﺩﻩ‬ ‫ﻓﻲ‬ ‫ﻴﺘﺴﺒﺏ‬‫ﻔﺘﺭ‬‫ﺍﻥ‬ ‫ﺽ‬ ‫ﻨﻔﺭﺽ‬ ، ‫ﺍﻟﺨﻁﺄ‬ ‫ﺍﻜﺘﺸﻑ‬ ‫ﺜﻡ‬ ‫ﺍﻭﻻ‬ ‫ﻤﺤﺘﻭﻴﺎﺘﻪ‬ ‫ﺒﺤﻔﻅ‬ ‫ﺘﻘﻭﻡ‬n‫ﺍﻟﻨﻭﻉ‬ ‫ﻤﻥ‬ ‫ﻤﺘﻐﻴﺭ‬ ‫ﺍﻟﺤﻘﻴﻘﻲ‬integer. ‫ﺍﻟﻤﺜ‬ ‫ﺍﻟﻰ‬ ‫ﻨﺭﺠﻊ‬ ‫ﺍﻻﻥ‬‫ﺍﻟـ‬ ‫ﺒﻌﺩ‬ ‫ﻤﺎ‬ ‫ﺴﺄﻜﺘﺏ‬ ، ‫ﺍﻟﺴﺎﺒﻕ‬ ‫ﺎل‬Begin‫ﺍﻟﺭﺌﻴﺴﻲ‬ ‫ﻟﻠﺒﺭﻨﺎﻤﺞ‬ PDF created with pdfFactory trial version www.pdffactory.com
  • 157. 157 : {$I-} Reset (F); {$I+} n:=IOResult; If n<>0 then Begin Writeln ('Error encountered in reading file ', s); Case n of 2: writeln ('File not found'); 3: writeln ('Path not found'); 4: writeln (‘too many open files'); 5: writeln ('File access denied'); 100: writeln ('Disk read error'); 101: writeln ('Disk write error'); 150: writeln ('Disk is writing protected'); 152: writeln ('Drive is not ready'); 154: writeln ('CRC error in data'); 156: writeln ('Disk seeks error'); 157: writeln ('Unknown media type'); 162: writeln ('Hardware failure'); Else writeln (‘various error'); End; Halt; End; PDF created with pdfFactory trial version www.pdffactory.com
  • 158. 158 ‫ﻤﺴﺘﺨﺩﻡ‬ ‫ﺘﺨﺒﺭ‬ ‫ﻭﺍﻴﻀﺎ‬ ، ‫ﺍﻟﺸﺎﺌﻌﻪ‬ ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﺍﻏﻠﺏ‬ ‫ﺍﻜﺘﺸﺎﻑ‬ ‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﻫﻜﺫﺍ‬ ، ‫ﺍﻟﺨﻁﺄ‬ ‫ﺭﺴﺎﻟﻪ‬ ‫ﻋﻠﻴﻪ‬ ‫ﻋﺎﺭﻀﺎ‬ ‫ﺒﺎﻟﺨﻁﺄ‬ ‫ﺒﺭﻨﺎﻤﺠﻙ‬‫ﺒﺭﺍﻤﺞ‬ ‫ﺘﻜﺘﺏ‬ ‫ﺍﻥ‬ ‫ﻋﻠﻴﻙ‬ ‫ﻴﺠﺏ‬ ‫ﺍﻨﺕ‬ ‫ﻟﻜﻥ‬ ‫ﻗﻠﻴﻼ‬ ‫ﻤﻀﺠﺭﻩ‬ ‫ﺍﻨﻬﺎ‬ ‫ﺍﻋﻠﻡ‬ ‫ﺍﻨﺎ‬ ، ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﺍﺜﻨﺎﺀ‬ ‫ﺍﻟﻁﺭﻴﻘﻪ‬ ‫ﺒﻬﺫﻩ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻤﻊ‬ ‫ﺍﻟﺘﻌﺎﻤل‬ ‫ﺴﻬﻠﻪ‬ ‫ﺒﺭﺍﻤﺠﻙ‬ ‫ﺘﻜﻭﻥ‬ ‫ﺍﻥ‬ ‫ﺘﺭﻴﺩ‬. ‫ﺍﻟﻤ‬‫ﺍﻟﺜﻨﺎﺌﻴﻪ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﻠﻔﺎﺕ‬Binary File ‫ﻫﻤﺎ‬ ‫ﺍﻟﺜﻨﺎﺌﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻤﻥ‬ ‫ﻨﻭﻋﻴﻥ‬ ‫ﻴﻭﺠﺩ‬/ *‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬Typed File *‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﻏﻴﺭ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬Untyped File ‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬Typed File‫ﻓﻲ‬ ‫ﻭﺍﺤﺩﻩ‬ ‫ﺼﻴﻐﻪ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻥ‬ ‫ﺘﻌﻨﻲ‬ ‫ﻻ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ‬ ‫ﻗﻭﺍﻋﺩ‬ ‫ﻴﺘﻀﻤﻥ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬ ، ‫ﻤﺤﺘﻭﻴﺎﺘﻬﺎ‬ ‫ﺍﻨﺤﺎﺀ‬ ‫ﻜﺎﻓﻪ‬‫ﻤﺤﺘﻭﻴﺎﺘﻬﺎ‬ ‫ﻜل‬ ‫ﻥ‬ ‫ﺒﻴﺎﻨﺎﺕ‬ ‫ﺴﺠﻼﺕ‬)‫ﻤﻠﻔﺎﺕ‬ ‫ﺴﺠل‬( ‫ﻤﻁﺒﻭﻋﻪ‬ ‫ﺍﻟﻐﻴﺭ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬Untyped File‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﻻ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻥ‬ ‫ﺘﻌﻨﻲ‬ ‫ﺘﺭﻜﻴﺒﺎ‬ ‫ﺘﻜﻭﻥ‬ ‫ﻗﺩ‬ ‫ﺍﻀﺎﻓﻴﻪ‬ ‫ﻤﻌﻠﻭﻤﺎﺕ‬ ‫ﻋﻠﻰ‬ ‫ﻴﺤﺘﻭﻱ‬ ‫ﺍﻟﻨﻭﻉ‬ ‫ﻫﺫﺍ‬ ، ‫ﻭﺍﺤﺩﻩ‬ ‫ﺼﻴﻐﻪ‬ ‫ﻟﻠﺴﺠﻼﺕ‬ ‫ﻤﺨﺘﻠﻔﺎ‬. ‫ﺍﻭﻻ‬:Typed File ‫ﺍﻟﺸﻜل‬ ‫ﺒﻬﺫﺍ‬ ‫ﺴﺠل‬ ‫ﻋﺭﻓﺕ‬ ‫ﺒﺄﻨﻙ‬ ‫ﻟﻨﻔﺘﺭﺽ‬ Type Data = record PDF created with pdfFactory trial version www.pdffactory.com
  • 159. 159 Name: string [10]; Age: integer; Tel: integer; End; Typed file‫ﺍﻟﺴﺠل‬ ‫ﻟﻬﺫﺍ‬)‫ﺍﻟﺴﺎﺒﻕ‬(‫ﺒﺎﻟﺸﻜل‬ ‫ﻴﻜﻭﻥ‬ ‫ﺴﻭﻑ‬ Var F: file of data; ‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺴﻨﺘﺒﻌﻬﺎ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺨﻁﻭﺍﺕ‬ ‫ﺍﻻﻥ‬Typed File‫ﺘﺸﺒﻪ‬ ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﺨﻁﻭﺍﺕ‬text file. ‫ﺒﺎﺴ‬ ‫ﻨﻘﻭﻡ‬‫ﺍﻟﻤﺘﻐﻴﺭ‬ ‫ﻨﺎﺩ‬F‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺒﺎﺴﻡ‬assign ‫ﺍﻟﻤﻠﻑ‬ ‫ﻟﻔﺘﺢ‬reset‫ﺠﺩﻴﺩ‬ ‫ﻤﻠﻑ‬ ‫ﻻﻨﺸﺎﺀ‬ ،rewrite ‫ﺘﻐﻴﺭ‬ ‫ﻴﺠﺏ‬writeln‫ﻭ‬readln‫ﺍﻟﻰ‬write‫ﻭ‬read ‫ﺒﺎﻟﻌﺒﺎﺭﻩ‬ ‫ﻭﺫﻟﻙ‬ ‫ﺍﻟﻤﻠﻑ‬ ‫ﺍﻏﻼﻕ‬close ‫ﺍﻻﺨﻁﺎﺀ‬ ‫ﻤﻌﺎﻟﺠﻪ‬ ‫ﻁﺭﻕ‬ ‫ﻜل‬Erorr Handling‫ﻭ‬Ioresult‫ﻜﻤﺎ‬ ‫ﻴﺴﺘﺨﺩﻡ‬ ‫ﻻ‬ ‫ﺩﺍﻋﻲ‬ ‫ﻭﻻ‬ ، ‫ﻫﻭ‬‫ﻋﺎﺩﻩ‬‫ﺫﻜﺭﻩ‬‫ﻤﺭﻩ‬‫ﺍﺨﺭﻯ‬. ‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﺒﻴﻥ‬ ‫ﺍﻟﻔﺭﻕ‬text file‫ﺍﻟﻤﻁﺒﻭﻋﻪ‬ ‫ﻭﺍﻟﻤﻠﻔﺎﺕ‬typed file ‫ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﻤﻠﻑ‬ ‫ﺒﻔﺘﺢ‬ ‫ﻗﻤﺕ‬ ‫ﺍﺫﺍ‬ ‫ﺍﻨﻙ‬ ‫ﻫﻭ‬reset‫ﺘﺴﺘﻁﻴﻊ‬ ‫ﺍﻨﻙ‬ ‫ﻴﻌﻨﻲ‬ ‫ﻻ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻘﻁ‬ ‫ﻤﻨﻪ‬ ‫ﺍﻟﻘﺭﺍﺀﻩ‬)‫ﺍﻟﻨﺼﻴﻪ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‬ ‫ﻓﻲ‬ ‫ﻜﻤﺎ‬. (‫ﻭﺍﻴﻀﺎ‬ ‫ﺍﻟﻤﺯﻴﺩ‬ ‫ﺍﻀﺎﻓﻪ‬ ‫ﻴﻤﻜﻥ‬ ‫ﺒل‬ ‫ﺘﻌﺩﻴﻠﻪ‬ ‫ﺍﻤﻜﺎﻨﻴﻪ‬. Program example (input, output); PDF created with pdfFactory trial version www.pdffactory.com
  • 160. 160 Uses wincrt; Type Data=record Name: string; Age: integer; End; Var F: file of data; D: data; C: char; S: string; Begin Write (‘Input File name: ‘); Readln(s); Assign (f, s); Rewrite (f); Repeat Clrscr; Write (‘Name= ‘); readln (d.name); Write (‘Age = ‘); readln (d.age); Write (f, d); Write (‘Input New Data Y/N ‘); Repeat C: = upcase (readkey); PDF created with pdfFactory trial version www.pdffactory.com
  • 161. 161 Until c in [‘Y’,’N’]; Write(c); Until c=’N’; Close (f); End. ‫ﺒﻌﺩ‬ ‫ﻴﻜﺘﻤل‬ ‫ﻟﻡ‬......... PDF created with pdfFactory trial version www.pdffactory.com
  • 162. 162 ‫ﺍﻟﻴﻮﻡ‬‫ﺍ‬‫ﻋﺸﺮ‬ ‫ﻟﺜﺎﱐ‬ ‫ﺍﶈﺠﻮﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬&‫ﺍﳊ‬ ‫ﺍﻟﺪﻭﺍﻝ‬‫ﺴﺎﺑﻴﻪ‬ ‫ﻛﺬﻟﻚ‬ ‫ﺍﻟﻴﺲ‬ ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﰲ‬ ‫ﻣﱪﳎﺎ‬ ‫ﺍﺻﺒﺤﺖ‬ ، ‫ﺍﻟﺴﺎﺑﻘﻪ‬ ‫ﻟﻼﻳﺎﻡ‬ ‫ﺎﺋﻚ‬‫ﺍ‬ ‫ﺑﻌﺪ‬ )‫ﺫﻟﻚ‬ ‫ﺍﲤﲎ‬. ( ‫ﱂ‬ ‫ﺍﻟﱴ‬ ‫ﺍﳌﻮﺍﺿﻴﻊ‬ ‫ﻣﻦ‬ ‫ﺍﻟﻌﺪﻳﺪ‬ ‫ﻫﻨﺎﻙ‬ ‫ﻟﻜﻦ‬‫ﻋﻠﻰ‬ ‫ﻻﺧﺮ‬ ‫ﺍﻭ‬ ‫ﻟﺴﺒﺐ‬ ‫ﺍﺿﻌﻬﺎ‬ ‫ﻟﻜﲎ‬ ، ‫ﺑﺎﺳﻜﺎﻝ‬ ‫ﰲ‬ ‫ﺍﶈﺠﻮﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬ ‫ﻧﺘﻌﻠﻢ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻟﻴﻮﻡ‬ ‫ﻫﺬﺍ‬ ‫ﰲ‬ ‫ﺍﻟﻌﻤﻮﻡ‬ ‫ﺍﻧﻚ‬ ‫ﺍﻋﺘﻘﺪ‬‫ﲨﻴﻌﺎ‬ ‫ﺗﻌﺮﻓﻬﺎ‬. ‫ﺍﳊ‬ ‫ﺍﻟﺪﻭﺍﻝ‬ ‫ﺑﻌﺾ‬ ‫ﻧﺄﺧﺬ‬ ‫ﺳﻮﻑ‬ ‫ﺍﻳﻀﺎ‬‫ﺴﺎﺑﻴﻪ‬‫ﻋﻤﻞ‬ ‫ﺍﺭﺩﺕ‬ ‫ﺣﺎﻟﻪ‬ ‫ﰲ‬ ‫ﺗﻔﻴﺪﻙ‬ ‫ﺍﻟﱴ‬ ‫ﺭﻳﺎﺿﻴﻪ‬ ‫ﺑﺮﺍﻣﺞ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 163. 163 ‫ﺍﻟﻤﺤﺠﻭﺯﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ‬: =-=-=-=-=-= TOPACKEDIFDOWNTOAND TYPEPROCEDUREINELSEARRY UNTILPROGRAMLABELENDBEGIN USESRECORDMODFILECASE VARREPEATNOTFORCONST WHILESETOFFUNCTIONDIV WITHTHENORGOTODO ‫ﺍﻟ‬ ‫ﺍﻟﺩﻭﺍل‬‫ﺤﺴﺎﺒ‬‫ﻴﻪ‬: =-=-=-=-=-= ‫ﺍﻟﺩﺍﻟﻪ‬‫ﺍﻟﻭﻅﻴﻔﻪ‬‫ﻤﺜﺎل‬‫ﺍﻟﻨﺎﺘﺞ‬ ABS‫ﻟﻠﻌﺩﺩ‬ ‫ﺍﻟﻤﻁﻠﻘﻪ‬ ‫ﺍﻟﻘﻴﻤﻪ‬ ‫ﺘﻌﻁﻲ‬ABS(-10);10 SQR‫ﻤﺭﺒﻊ‬ ‫ﺘﻌﻁﻲ‬‫ﺍﻟﻤﺩﺨل‬ ‫ﺍﻟﻌﺩﺩ‬SQR(5);25 SQRT‫ﻟﻠﻌﺩﺩ‬ ‫ﺍﻟﺘﺭﺒﻴﻌﻲ‬ ‫ﺍﻟﺠﺫﺭ‬ ‫ﺘﻌﻁﻲ‬SQRT(25);5 TRUNC‫ﺍﻟﻌﺩﺩ‬ ‫ﻤﻥ‬ ‫ﺍﻟﻌﺸﺭﻱ‬ ‫ﺍﻟﺠﺯﺀ‬ ‫ﺘﺤﺫﻑ‬TRUNC(2.55);2 ROUND‫ﺼﺤﻴﺢ‬ ‫ﻋﺩﺩ‬ ‫ﻻﻗﺭﺏ‬ ‫ﺍﻟﻌﺩﺩ‬ ‫ﺘﻘﺭﺏ‬ROUND(5.91);6 PDF created with pdfFactory trial version www.pdffactory.com
  • 164. 164 ‫اﻟ‬‫ﻧ‬‫ـ‬‫ﮫ‬‫ـ‬‫ﺎﻳــــــﻪ‬ =-=-=-=-=-=-= ‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺬﺍ‬ ‫ﻓﻲ‬ ‫ﻣﻨﻬﺎ‬ ‫ﺍﺳﺘﻔﺪﺕ‬ ‫ﺍﻟﺘﻰ‬ ‫ﺍﻟﻤﺮﺍﺟﻊ‬: ‫ﺍﻻﺠﻨﺒ‬ ‫ﺍﻟﻜﺘﺏ‬‫ﻴﻪ‬ EssentialPascal‫ﻟﻠﻜﺎﺘﺏ‬Marco cantu Introduction to Pascal‫ﻟﻠﻜﺎﺘﺏ‬Rob miles M.F.Somers ‫ﻟﻠﻜﺎﺘﺏ‬ Learning PASCAL PascalRevisedReport‫ﺍﻟﻠﻐﻪ‬ ‫ﻟﺼﺎﺤﺏ‬Wirth The Basic of Pascal‫ﻟﻠﻜﺎﺘﺏ‬Roby Joehanes ‫ﺍ‬ ‫ﺍﻟﻜﺘﺏ‬‫ﻟﻌﺭﺒﻴﻪ‬ ‫ﺍﻟﺒﺭﻤﺠﻪ‬ ‫ﻟﻐﺎﺕ‬ ‫ﺘﻘﻴﻴﻡ‬ ‫ﻓﻲ‬ ‫ﻤﻌﺎﻴﻴﺭ‬‫ﻟﻠﻜﺎﺘﺏ‬‫ﻋﺭﻭﻩ‬ ‫ﺒﺎﺴﻜﺎل‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﺘﺭﺠﻤﻪ‬ ‫ﺍﻟﺩﺭﻭﺱ‬‫ﻟﻠﻜﺎﺘﺏ‬MaaSTaaR ‫ﻭﺍﻻﺠﻨﺒﻴﻪ‬ ‫ﺍﻟﻌﺭﺒﻴﻪ‬ ‫ﻟﻠﻤﻭﺍﻗﻊ‬ ‫ﺒﺎﻟﻨﺴﺒﻪ‬ ‫ﺍﻟﻌﺭﺒﻴﻪ‬ ‫ﺍﻟﻤﻭﺴﻭﻋﻪ‬‫ﺍﻟﻤﻭﻗﻊ‬www.c4arab.com ‫ﻟﻠﺒﺭﻤﺠﻪ‬ ‫ﺍﻟﻌﺭﺒﻲ‬ ‫ﺍﻟﻔﺭﻴﻕ‬‫ﺍﻟﻤﻭﻗﻊ‬www.arabteam2000.com ‫ﺍﻟـ‬ ‫ﻤﻥ‬ ‫ﻭﺍﻟﻌﺩﻴﺩ‬Tutorial‫ﺍﻟﻤﻜﺎﻥ‬ ‫ﻴﺴﻊ‬ ‫ﻭﻻ‬ ‫ﺍﻻﻨﺘﺭﻨﺕ‬ ‫ﺍﻨﺤﺎﺀ‬ ‫ﻓﻲ‬ ‫ﺍﻟﻤﻨﺘﺸﺭﻩ‬ ‫ﺒﺎﻻﻨﺠﻠﻴﺯﻴﻪ‬ ‫ﺍﻏﻠﺒﻬﺎ‬ ‫ﺒﺄﻥ‬ ‫ﻋﻠﻤﺎ‬ ، ‫ﻟﻨﺸﺭﻫﺎ‬ ‫ﻫﻨﺎ‬. PDF created with pdfFactory trial version www.pdffactory.com
  • 165. 165 ‫ﺍﷲ‬ ‫ﺒﺤﻤﺩ‬ ‫ﺘﻡ‬ ‫ﻭﺘﻌﺎﻟ‬ ‫ﺘﺒﺎﺭﻙ‬ ‫ﺍﷲ‬ ‫ﻨﺴﺄل‬‫ﻰ‬‫ﻟﻭﺠﻬﻪ‬ ‫ﺨﺎﻟﺼﺎ‬ ‫ﺍﻟﻌﻤل‬ ‫ﻫﺫﺍ‬ ‫ﻴﻜﻭﻥ‬ ‫ﺍﻥ‬ ، ‫ﺫﻟﻙ‬ ‫ﻭﻟﻲ‬ ‫ﺇﻨﻪ‬ ، ‫ﺒﺈﺫﻨﻪ‬ ‫ﻭﺘﺒﻠﻴﻐﻪ‬ ‫ﺘﻌﻠﻤﻪ‬ ‫ﻋﻠﻰ‬ ‫ﻴﻌﻴﻨﻨﺎ‬ ‫ﻭﺃﻥ‬ ‫ﺍﻟﻜﺭﻴﻡ‬ ‫ﻋﻠﻴﻪ‬ ‫ﻭﺍﻟﻘﺎﺩﺭ‬ ‫ﻓﻤﻥ‬ ‫ﺼﻭﺍﺏ‬ ‫ﻤﻥ‬ ‫ﻜﺎﻥ‬ ‫ﺇﻥ‬ ، ‫ﻭﺃﺨﻴﺭﺍ‬‫ﺘﻌﺎﻟ‬ ‫ﺍﷲ‬‫ﻰ‬‫ﺨﻁﺄ‬ ‫ﻤﻥ‬ ‫ﻜﺎﻥ‬ ‫ﻭﺇﻥ‬ ، ‫ﻭﺍﻟﺸﻴﻁﺎﻥ‬ ‫ﺍﻨﻔﺴﻨﺎ‬ ‫ﻓﻤﻥ‬. ‫ﻭﺼﺤﺒﻪ‬ ‫ﺍﻟﻪ‬ ‫ﻭﻋﻠﻰ‬ ‫ﻤﺤﻤﺩ‬ ‫ﻨﺒﻴﻨﺎ‬ ‫ﻋﻠﻰ‬ ‫ﻭﺒﺎﺭﻙ‬ ‫ﻭﺴﻠﻡ‬ ‫ﺍﻟﻠﻬﻡ‬ ‫ﻭﺼﻠﻲ‬ ‫ﺍﺠﻤﻌﻴﻥ‬. ‫ﺍﻟﻌﺎﻟﻤﻴﻥ‬ ‫ﺭﺏ‬ ‫ﷲ‬ ‫ﺍﻟﺤﻤﺩ‬ ‫ﺃﻥ‬ ‫ﺩﻋﻭﺍﻨﺎ‬ ‫ﻭﺍﺨﺭ‬. ‫ﻭﺒﺭﻜﺎﺘﻪ‬ ‫ﺍﷲ‬ ‫ﻭﺭﺤﻤﻪ‬ ‫ﻋﻠﻴﻜﻡ‬ ‫ﻭﺍﻟﺴﻼﻡ‬. ‫ﻋﺼﺎﻡ‬ ‫ﻭﺠﺩﻱ‬ ‫ﻟـ‬ ‫ﻤﺤﻔﻭﻅﻪ‬ ‫ﺍﻟﺤﻘﻭﻕ‬ ‫ﺠﻤﻴﻊ‬ All Copy Rigth is reseved to wajdy essam ‫ﺘﻡ‬‫ﺍﻟﺒﺩﺍﻴﻪ‬‫ﺍﻟﻜﺘﺎﺏ‬ ‫ﻫﺫﺍ‬ ‫ﻓﻲ‬‫ﺒﺘﺎﺭﻴﺦ‬3/7/2005‫ﺒﺘﺎﺭﻴﺦ‬ ‫ﻤﻨﻪ‬ ‫ﻭﺍﻻﻨﺘﻬﺎﺀ‬3/9/2005 PDF created with pdfFactory trial version www.pdffactory.com