Professional Documents
Culture Documents
C Programming
C Programming
اﻟﺒﻮﺻﻠﺔ اﻟﺘﻘﻨﻴﺔ
www.boosla.com
ﺒﺴﻡ ﺍﷲ ﺍﻟﺭﺤﻤﻥ ﺍﻟﺭﺤﻴﻡ
• ﺍﻹﺘﻔﺎﻗﻴﺔ:
ﻟﻘﺩ ﻜﺘﺒﺕ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻟﻐﺭﺽ ﺘﺜﻘﻴﻑ ﺍﻟﺸﺒﺎﺏ ﺍﻟﻌﺭﺒﻲ ﻓﻲ ﻤﺠﺎل ﻋﻠﻭﻡ ﺍﻟﺤﺎﺴﺏ
ﺍﻵﻟﻲ .ﻭﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﺠﺎﻨﻲ ﻟﻠﺠﻤﻴﻊ ﻭﻻ ﺃﺭﻴﺩ ﻤﻥ ﻭﺭﺍﺌﻪ ﺇﻻ ﺸﻲﺀ ﺒﺴﻴﻁ ﺠﺩﹰﺍ ﻭﻫﻭ
ﺩﻋﻭﺓ ﺼﺎﻟﺤﺔ ﻓﻲ ﻅﻬﺭ ﺍﻟﻐﻴﺏ ﻟﻲ ﻭﻟﺠﻤﻴﻊ ﺃﺨﻭﺍﻨﻨﺎ ﺍﻟﻤﺴﻠﻤﻴﻥ ﻓﻲ ﺃﻨﺤﺎﺀ ﺍﻟﻌﺎﻟﻡ.ﻜﻤﺎ
ﺃﺭﺠﻭﺍ ﺃﻥ ﻻ ﻴﺘﻡ ﺍﻟﺘﻌﺩﻴل ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻭﺇﻨﺴﺎﺒﻪ ﺇﻟﻰ ﻏﻴﺭﻱ ﻷﻨﻲ ﻗﺩ ﺘﻌﺒﺕ ﻓﻴﻪ
ﻜﺜﻴﺭﹰﺍ .ﻜﻤﺎ ﺃﻨﻨﻲ ﺃﺅﺅﻜﺩ ﺃﻨﻨﻲ ﺃﺭﺤﺏ ﻭﺒﻜل ﺴﻌﺔ ﺼﺩﺭ ﺒﺎﻟﻨﻘﺩ ﺍﻟﺒﻨﺎﺀ ﺍﻟﺫﻱ ﻴﺴﺘﻔﻴﺩ
ﻤﻨﻪ ﺍﻟﺠﻤﻴﻊ .ﻜﻤﺎ ﺃﻨﻪ ﺇﺫﺍ ﻭﺠﺩﺕ ﻋﺯﻴﺯﻱ ﺍﻟﻘﺎﺭﺉ ﺃﻱ ﺃﺨﻁﺎﺀ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻴﺭﺠﻰ
ﺃﺨﺒﺎﺭﻱ ﺒﻬﺎ ﻭﺴﻴﺘﻡ ﻭﻀﻊ ﺃﺴﻤﻙ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﻊ ﺍﻟﺘﻌﺩﻴل .ﻜﻤﺎ ﺃﻨﻲ ﺃﺭﺤﺏ ﺃﻥ
ﻴﺸﺘﺭﻙ ﻤﻌﻲ ﺃﻱ ﺸﺨﺹ ﻹﻀﺎﻓﺔ ﺍﻟﻤﺯﻴﺩ ﻤﻥ ﺍﻟﺩﺭﻭﺱ ﻟﻬﺫﺍ ﺍﻟﻤﻠﻑ ﻭﺴﻴﺘﻡ ﻭﻀﻊ
ﺃﺴﻤﻪ ﺃﻴﻀﹰﺎ ﻭﺫﻟﻙ ﺤﺘﻰ ﻴﻜﻭﻥ ﻫﻨﺎﻙ ﻤﺭﺠﻊ ﻋﺭﺒﻲ ﻟﻠﻐﺔ ﺍﻟﺴﻲ.
• ﺍﻟﺘﻌﻠﻴﻘﺎﺕ :
ﺍﻟﺘﻌﻠﻴﻘﺎﺕ ﻫﻲ ﺍﻟﻤﻼﺤﻅﺎﺕ ﺍﻟﺫﻱ ﻴﻘﻭﻡ ﺒﻜﺘﺎﺒﺘﻬﺎ ﺍﻟﻤﺒﺭﻤﺞ ﻋﻠﻰ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺤﺘﻰ ﻻ ﻴﺘﻡ
ﻨﺴﻴﺎﻥ ﺍﻟﻔﺎﺌﺩﺓ ﻤﻥ ﺍﻟﻜﻭﺩ ﺍﻭ ﻤﻥ ﺠﺯﺀ ﻤﻨﻪ ﺇﺫﺍ ﻋﺎﺩ ﺇﻟﻴﻪ ﺒﻌﺩ ﻤﺩﺓ ﻤﻥ ﺍﻟﺯﻤﻥ .ﻭﻫﻲ
ﻓﻲ ﺍﻟﺤﻘﻴﻘﺔ ﻤﻔﻴﺩﺓ ﺠﺩﹰﺍ ﺨﺎﺼﹰﺔ ﺇﺫﺍ ﻜﺎﻥ ﺍﻟﻤﺒﺭﻤﺞ ﻴﺘﺸﺎﺭﻙ ﺒﺒﺭﺍﻤﺠﻪ ﻤﻊ ﻤﺒﺭﻤﺠﻴﻥ
ﺁﺨﺭﻴﻥ ﺤﻴﺙ ﺃﻥ ﺍﻟﻤﺒﺭﻤﺞ ﺍﻵﺨﺭ ﻴﺴﺘﻁﻴﻊ ﺃﻥ ﻴﻌﺭﻑ ﻤﺎﻫﻭ ﻋﻤل ﺍﻟﺒﺭﻨﺎﻤﺞ ﺩﻭﻥ
ﺘﺘﺒﻊ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻤﻥ ﺃﻭﻟﻪ ﻭﻴﺘﻀﺢ ﻓﺎﺌﺩﺓ ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻘﺎﺕ ﻓﻲ ﺍﻟﺒﺭﺍﻤﺞ ﺍﻟﻜﺒﻴﺭﺓ ﻭﺍﻟﻤﻌﻘﺩﺓ.
ﻭﻴﻤﻜﻥ ﻜﺘﺎﺒﺔ ﺍﻟﺘﻌﻠﻴﻘﺎﺕ ﻋﻠﻰ ﻫﻴﺌﺘﻴﻥ ﻤﺨﺘﻠﻔﺘﻴﻥ .ﺍﻟﻬﻴﺌﺔ ﺍﻷﻭﻟﻰ ﺇﺫﺍ ﻜﺎﻥ ﺍﻟﺘﻌﻠﻴﻕ
ﻴﻤﻜﻥ ﻜﺘﺎﺒﺘﻪ ﻓﻲ ﺴﻁﺭ ﻭﺍﺤﺩ ﻓﺈﻥ ﺍﻟﺼﻭﺭﺓ ﺍﻟﺘﻲ ﻴﺠﺏ ﺃﻥ ﻴﻜﻭﻥ ﻋﻠﻴﻬﺎ ﻫﺫﺍ ﺍﻟﺘﻌﻠﻴﻕ
ﻫﻭ :
ﻫﺫﺍ ﺍﻟﺘﻌﻠﻴﻕ ﺍﻷﻭل//
ﻭﻫﺫﺍ ﺍﻟﺘﻌﻠﻴﻕ ﺍﻟﺜﺎﻨﻲ//
ﺃﻤﺎ ﺇﺫﺍ ﻜﺎﻥ ﺍﻟﺘﻌﻠﻴﻕ ﺃﻜﺜﺭ ﻤﻥ ﺴﻁﺭ ﻓﺈﻨﻪ ﻴﺘﻡ ﻜﺘﺎﺒﺘﻪ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ:
ﺍﻟﺴﻁﺭ ﺍﻷﻭل */
ﻭﻫﻨﺎ ﺍﻟﺴﻁﺭ ﺍﻟﺜﺎﻨﻲ
*/ﻭﻫﻨﺎ ﺃﻴﻀﹰﺎ ﺍﻟﺴﻁﺭ ﺍﻟﺜﺎﻟﺙ
ﻭﻫﻭ ﻓﻲ ﺍﻟﺤﻘﻴﻘﺔ ﻴﻤﻜﻨﻙ ﻜﺘﺎﺒﺔ ﻗﺩﺭ ﻤﺎ ﺘﺸﺎﺀ ﻤﻥ ﺍﻟﺴﻁﻭﺭ ﻷﻥ ﺍﻟﻤﻔﺴﺭ ﻋﻨﺩﻤﺎ ﻴﺠﺩ
ﺍﻟﻌﻼﻤﺔ )* (/ﻓﺈﻨﻪ ﻴﺘﻭﻗﻑ ﻋﻥ ﺍﻟﺘﺭﺠﻤﺔ ﻭﻴﺒﺩﺃ ﻴﺒﺤﺙ ﻋﻥ ﻋﻼﻤﺔ ﺇﻏﻼﻕ ﺍﻟﺘﻌﻠﻴﻕ
ﻭﻫﻲ ) (*/ﻭﻋﻨﺩﻤﺎ ﻴﺠﺩﻫﺎ ﺍﻟﻤﻔﺴﺭ ﻓﺈﻨﻪ ﻴﺒﺩﺃ ﻤﻥ ﺒﻌﺩﻫﺎ ﻓﻲ ﺘﺭﺠﻤﺔ ﺒﻘﻴﺔ
ﺒﺭﻨﺎﻤﺠﻙ.ﻭﺍﻟﺨﻼﺼﺔ ﻤﻤﺎ ﺴﺒﻕ ﺃﻨﻪ ﻤﻥ ﺍﻷﻓﻀل ﺫﻜﺭ ﺍﻟﺘﻌﻠﻴﻘﺎﺕ ﻓﻲ ﺍﻟﺴﻁﻭﺭ ﺍﻟﺫﻱ
ﺘﺤﺱ ﺃﻨﻬﺎ ﻤﻬﻤﺔ .ﻭﺍﻟﺩﻟﻴل ﺍﻟﺘﺎﻟﻲ ﻴﻭﻀﺢ ﻜﻴﻔﻴﺔ ﺍﻟﻌﻤل ﻤﻊ ﺍﻟﺘﻌﻠﻴﻘﺎﺕ.
>#include <stdio.h
)( main
{
/*this program will print into screen in the first line
O % ) •
" '[ ) 9 N B*& GN T B7 'O % )
?= O % ) \< : +9 + V= '+E 9 80
h^
_`abac_defac g] / /A 9C+ O % ) •
1 . F" / /A ? 4B += " G N G: N 9O % ) i &'8
A L J) / 3J: / /A C+ j+k"< 8 .8 : E (<*
Gm 80l < E O % ) i&' Gm )980 9
n . U & JC + % ) T +9< = '8 % ) \ <D38:* & G N9
&' G:7>s ' h^ _`
] G:r h^ _`pq] ' T / "9o G N
+380 % ) . ? hp] :0JC+ % ) B
7 ' % )
Gm )
9G: N 9 80D" . = * o "= A *P
G:HW 9 8 *0 &N'8h^_`ptftuq] H# + 8 R. %) #
*:
v 30+ 8 R. + \= O % ) ; E Gm )9
JC + \= O % ) ; H ) ) 9! * 9 ) #
w /k
x^_uydza{gz̀^|0}~
ep^_h]
•
^
_`pt fq
pۥq
f€‚q
ƒc^
_`„h…†z ‡_ˆt
p]q
ƒc^
_`„h…†z ‡_ˆt
f]q
ca`
dc _‰q
„y
|p`
^_b] 9 A L J)
/ J& ""/ C+ I O % ) •
h_defacg
J) / 9 C+ 'O % ) \ = &? B += " G N8
? G N9 ) C+ I ' ""/ C+ I8 0 9 A L
L • R= 9 ; E80- . 8 :-E C + G*D 1. 9 A
!9 ) ) 9
80 \ = &' L D W9
:• R= 9 / /k 9 C+ O % )
h„y|p` ] *r h„y |p`p] B
7k L O % ) \ = &'
"" \ < % ) B*& T )9G:- 95< : =
* 9 ) # 8 0 %) . ? hp] :0 9 A
0O % ) \ = &'; H )
x^ _uy dza{gz̀^|0}~
ep^ _h]
•
„y|p`pt fq
p€•0‘’q
f€“0‘q
ƒc ^
_` „h…†„ ‡_ˆt
p]q
ƒc ^
_` „h…†„ ‡_ˆt
f]q
ca` dc_‰q
Š
9+ O % ) # 5 95< :v m<• #
m i &'8h†„] m F" = '‹ N8w /k \ =
A ""/ JC + \= O % ) ; H ) <= <: =
'• l < ”>G N9n .8 0 9
•0‘’
hu}pcpu`ac
] / O %) •
H*G:r O % ) \ = &? F" C=.4 N 98
i &' Gm N9 80F" + 8n 9
TZ) F" ; ) 9 %)
)9 N ' hu}pc ] G:r hu}pcpq] B 7k m> O %)
0 \< % ) B*& DT T /9G:-. / •?E m 4
/ O % ) ; H ) * 9 ) # 8
x^ _uy dza{gz̀^ |0}~
ep^ _h]
•
u}pcu}q
u}€– p–q
—c ^_`„h…†u ‡_ˆ t
u}]q
˜a` dc_‰q
Š
&' =
'• R= 95< Ž " O % ) #: *P ; E= '8
+Z) .4L 3C '80h†u] m F" ! ) > 5<:+ #
5< Ž %
)L4 C=.4+= 5< :v 38 0 / O %)
0h ™ ™] Y k= A B+= " ;W G:- 9
A OP ""/ 9 C+ O % ) hz|dfy a] % ) D W9
:+E 9
8
D &>j9\ = &'G: h„y |p`] \ = &'! ) Z9
89
0h„y
|p`
] % ) '&>j 9 ) B*& D W
O % ) O A •
+Z) H V=' G N95))* )9J& l #*
:
O oO m> UP 85 <l < 8U <
22 L m# +Z)
D š+ 6 ”Z O+ 8 L
O R &>: +3 G I › 5<
: * 0 +Z)
+Z) &>j)
. (=*G4 8œU <H )
9L) +Z)
)9L) B*& T O R i
&? G N G:+385<ŽO R
&' T / " O % ) G:H = +8O R i&' 9TZ
G: 9G: N 9! * ' =' [ N8 % )
JC+ %) 8:w /A JC+ %) T 5=
9TZ ) 9LR
L 9 +E8U & œ %) L) 8:9 A ""
(<*G4Om>+ T ) "9 H )O % ) O A
8: "" 9 C
+ O % ) 8: / /A 9 C+ O % ) GTZ)
.
2 2 L ;R<G:+9< += 5< : =9 &'80 O % )
"9R ) 9G:+3 5<Ž B*& T s9 % )Dm# +Z)
O % ) 1 .:7) >4+= • m £8 •
0hp¥¦] n8/ J:H I L + 8n G N9G: N 90¤
H#0h䴤] 7:
8n8 GN % ) . G N9G: N 9 8
¨_`pfuq
Ÿy|p`pf’q
H# n / % ) . : +9G: N 930©
¨_`‘b}q
.7 R 9n . GŽ B7k i &? % ) . < T
0j
R>
H# % ) . F" h«] ) /) o +Z)
.4 N 90ª
¨_`p«fq
H# % ) . h¥] o +Z).4 N 930¬
¨_`p¥fq
0jR> .7 R 9n . GŽB 7k i &? % ) =
GŽ U P®+ G4 8O % ) 1 .: O K +Z) .4 N 930-
0D
W9:j
R> .7 R 9n .
¨_`pg zq
. 7) > n I i+9 J& C + +Z).4 N 90¯
0 %)
3 hp] n / G:J:n8/ / = . % 0°
0hž] n / J8 9
0O % ) 1 .j *• / % O *+ :7) >4 ) 9G: N 930±
0 %) . *hep^ _] +Z) .4H#
L +9 .3 G N9G:HW I 5<Ž % ) .3 V7) >4+=
GŽ ? 7 :
8 mR 1 .:C l < )*+9 (= * D m# % )
. <k) > = <:r mR 1 .I hgz̀«_pea] % ) . 7) >4
. GN mR 7: %) :œ hg`dza_`_pea] %)
0hg`
dza_`_defac] 7k) >4'8hgz̀«_de] ' % )
8 \ž§^
J& ( H* 7( L 4\žž^ ( …
4) 9k . 5<
:='l 3
' … & =+ HN ¨ b .8 5 9
ƒ §
ž ž ž~ žŠ
~ Š ~ Š
‘= \~Š^ C + J8 9 '8 \~Š~Š^ G N9k . … { <G:J:
0\~Š^ C+ ' # &'{ <G:J:J
"R= O ) •
3 J: R̀> 8:¨A : ? <G N9J& ) ' "R= )
% R= ) 9 ) 8+ 8 7 #*:H )/
? B7b . T7
ª«
dfeŒ
Œ r
•h~ ©© e«df
eŒŒ
r•hž L= J:\ghi^ ©©
% \8^
C=. O •
G: N 8 0 %)L4 C=
.4J:C= . O +b"<
8
)* '8 N2I +9+ O )a&'&>`
)H 2 ?} N ) ) )
^ G: J: y ) • < ª«df
eŒŒr
•h~oe« df
eŒŒr
•hž
k . \e« dfeŒŒr
•hž
^ GT Z
0\e«dfeŒŒr
•hž
^ 9 ) ; E ª« dfeŒŒr
•h~o ª«df
eŒŒr
•h~]o
^8 \ª«dfeŒŒr
•h~ ª« dfeŒŒr
•h~] ª«df
eŒŒr
•hž
;Q88 \ª« dfeŒŒr
•hž ª« dfeŒŒr
•hž
^ {=
\[ª«dfeŒŒr•h
ª« df
eŒ Œr
•h~]o ^ ) ? y R= 9 ) O ) l3
0\ª«df
eŒŒr
•hž
• ª« dfeŒŒr
•h~_o ª« dfeŒ Œ
r•hž
• ª« dfeŒŒr
•h~•o ª« dfeŒ Œr
•hž
• ª« dfeŒŒr
•h~Žo ª« dfeŒ Œ
r•hž
• ª« dfeŒŒr
•h~uo ª« df eŒŒr
•hž
• ª«
dfeŒ
Œr•h~””o ª«
dfeŒ
Œr•hž
• ª«
dfeŒ
Œr•h~––o ª«
dfeŒ
Œr•hž
• ª«
dfeŒ
Œr•h~©o ª«
dfeŒ
Œr•hž
• ª«
dfeŒ
Œr•h~®o ª«
dfeŒ
Œr•hž
• ª«
dfeŒ
Œr•h~ -o ª«
dfeŒ
Œr•hž
" O ) O 98I •
) O % ) F > •
O % ) ; E (<* / O = += y #
(<* G4 N8 0\rhneºef Œ
^ ¨ /A C+ % ) '8 F" + 8 ¹ <
; ¨ /A JC + % ) ; E H# ¹ < #
*:+ 8 O % )
F >; %H * 9 ) 8+ 80 &N'8 %)
; L y R= 9J& G:l 3» + ) O % )
0 O ; EL y R= 9
# Hb/ . J& % ) /
¼o p]§0~ƒo£0~ƒ +E8 P 4 G N9 +=
= 9&' + 8 %
) + )
G• O % ) ^ ¨ /A JC +
/9k . %
)8 \r hneºef
JC+ %) A " JC +
%) L 4 ¨ /b 0\s
‹•gn
^ 9
0 "" JC +
¼oŸ]§o|£ +E8 P 4 G N9 +=
a&? )= (/ A: 8 = 9&' + 8 %
) + )
GI B 7b G• O % ) ; ¨ /A JC +
¹ = &' „ 9 += /9k . ; \r hneºef^ %)
k F Z L4 / %) ^ %)
• ﺍﻹﺘﻔﺎﻗﻴﺔ:
ﻟﻘﺩ ﻜﺘﺒﺕ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻟﻐﺭﺽ ﺘﺜﻘﻴﻑ ﺍﻟﺸﺒﺎﺏ ﺍﻟﻌﺭﺒﻲ ﻓﻲ ﻤﺠﺎل ﻋﻠﻭﻡ ﺍﻟﺤﺎﺴﺏ ﺍﻵﻟﻲ.
ﻭﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﺠﺎﻨﻲ ﻟﻠﺠﻤﻴﻊ ﻭﻻ ﺃﺭﻴﺩ ﻤﻥ ﻭﺭﺍﺌﻪ ﺇﻻ ﺸﻲﺀ ﺒﺴﻴﻁ ﺠﺩﹰﺍ ﻭﻫﻭ ﺩﻋﻭﺓ
ﺼﺎﻟﺤﺔ ﻓﻲ ﻅﻬﺭ ﺍﻟﻐﻴﺏ ﻟﻲ ﻭﻟﺠﻤﻴﻊ ﺃﺨﻭﺍﻨﻨﺎ ﺍﻟﻤﺴﻠﻤﻴﻥ ﻓﻲ ﺃﻨﺤﺎﺀ ﺍﻟﻌﺎﻟﻡ.ﻜﻤﺎ ﺃﺭﺠﻭﺍ ﺃﻥ
ﻻ ﻴﺘﻡ ﺍﻟﺘﻌﺩﻴل ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻭﺇﻨﺴﺎﺒﻪ ﺇﻟﻰ ﻏﻴﺭﻱ ﻷﻨﻲ ﻗﺩ ﺘﻌﺒﺕ ﻓﻴﻪ ﻜﺜﻴﺭﹰﺍ .ﻜﻤﺎ
ﺃﻨﻨﻲ ﺃﺅﺅﻜﺩ ﺃﻨﻨﻲ ﺃﺭﺤﺏ ﻭﺒﻜل ﺴﻌﺔ ﺼﺩﺭ ﺒﺎﻟﻨﻘﺩ ﺍﻟﺒﻨﺎﺀ ﺍﻟﺫﻱ ﻴﺴﺘﻔﻴﺩ ﻤﻨﻪ ﺍﻟﺠﻤﻴﻊ .ﻜﻤﺎ
ﺃﻨﻪ ﺇﺫﺍ ﻭﺠﺩﺕ ﻋﺯﻴﺯﻱ ﺍﻟﻘﺎﺭﺉ ﺃﻱ ﺃﺨﻁﺎﺀ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻴﺭﺠﻰ ﺃﺨﺒﺎﺭﻱ ﺒﻬﺎ ﻭﺴﻴﺘﻡ
ﻭﻀﻊ ﺃﺴﻤﻙ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﻊ ﺍﻟﺘﻌﺩﻴل .ﻜﻤﺎ ﺃﻨﻲ ﺃﺭﺤﺏ ﺃﻥ ﻴﺸﺘﺭﻙ ﻤﻌﻲ ﺃﻱ
ﺸﺨﺹ ﻹﻀﺎﻓﺔ ﺍﻟﻤﺯﻴﺩ ﻤﻥ ﺍﻟﺩﺭﻭﺱ ﻟﻬﺫﺍ ﺍﻟﻤﻠﻑ ﻭﺴﻴﺘﻡ ﻭﻀﻊ ﺃﺴﻤﻪ ﺃﻴﻀﹰﺎ ﻭﺫﻟﻙ
ﺤﺘﻰ ﻴﻜﻭﻥ ﻫﻨﺎﻙ ﻤﺭﺠﻊ ﻋﺭﺒﻲ ﻟﻠﻐﺔ ﺍﻟﺴﻲ.
ﻨﻅﺭﹰﺍ ﻷﻥ ﺃﻜﺜﺭ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻤﺒﻨﻴﺔ ﻋﻠﻰ ﺍﻟﺘﻔﺎﻋل ﻤﻊ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻓﺄﺤﺒﺒﺕ ﻗﺒل ﺍﻟﺒﺩﺀ ﻓﻲ
ﺍﻟﺠﻤل ﺍﻟﺸﺭﻁﻴﺔ ﻭﺠﻤل ﺍﻟﺘﻜﺭﺍﺭ ﻤﻨﺎﻗﺸﺔ ﺩﺍﻟﺘﻴﻥ ﻟﻠﺩﺨل ﻭﺍﻟﺨﺭﺝ ﻭﺫﻟﻙ ﺤﺘﻰ ﻴﺘﺴﻨﻰ
ﻟﺠﻤﻴﻊ ﻓﻬﻡ ﺍﻟﺒﺭﺍﻤﺞ ﺍﻟﻤﻜﺘﻭﺒﺔ ﺠﻴﺩﹰﺍ .ﻭﺴﻴﺘﻡ ﻤﻨﺎﻗﺸﺔ ﻫﺫﻩ ﺍﻟﺩﻭﺍل ﻻﺤﻘﹰﺎ ﻓﻲ ﺃﻗﺴﺎﻡ ﺃﺨﺭﻯ
ﻤﻥ ﻫﺫﺍ ﺍﻟﺴﻠﺴﻠﺔ.
• ﺇﺴﺘﺨﺩﺍﻡ ):(printf
ﺘﺴﺘﺨﺩﻡ ﻫﺫﻩ ﺍﻟﺩﺍﻟﺔ ﻭﻫﻲ ﻓﻲ ﺍﻟﺤﻘﻴﻘﺔ ﻟﻴﺴﺕ ﺒﺩﺍﻟﺔ ﻭﻟﻜﻨﻬﺎ ﺃﺤﺩ ﺍﻟﻜﻠﻤﺎﺕ ﺍﻟﻤﺤﺠﻭﺯﺓ ﻟﻠﻐﺔ
ﺍﻟﺴﻲ ﺤﻴﺙ ﺃﻥ ﻟﻜل ﻟﻐﺔ ﺒﺭﻤﺠﺔ ﻜﻠﻤﺎﺘﻬﺎ ﺍﻟﻤﺤﺠﻭﺯﺓ ﺍﻟﺨﺎﺼﺔ ﺒﻬﺎ .ﻭﺘﺴﺘﺨﺩﻡ ﻫﺫﻩ ﺍﻟﻜﻠﻤﺔ
ﻟﻁﺒﺎﻋﺔ ﺸﻲﺀ ﻤﺎ ﻋﻠﻰ ﺸﺎﺸﺔ ﺍﻟﻜﻤﺒﻴﻭﺘﺭ.ﻭﻫﻲ ﺘﺩﻋﻡ ﻤﻭﺼﻔﺎﺕ ﺍﻷﻋﺩﺍﺩ ﺍﻟﺘﻲ ﺘﻤﺕ
ﻤﻨﺎﻗﺸﺘﻬﺎ ﺴﺎﺒﻘﹰﺎ .ﻭﻗﺩ ﺘﻌﺎﻤﻠﻨﺎ ﻤﻌﻬﺎ ﻤﻥ ﻗﺒل ﻟﺫﻟﻙ ﻻ ﺤﺎﺠﺔ ﻟﺫﻜﺭ ﻤﺜﺎل ﻋﻠﻴﻬﺎ .
• ﺇﺴﺘﺨﺩﺍﻡ ):(scanf
ﻭﻫﺫﻩ ﺍﻟﻜﻠﻤﺔ ﺃﻴﻀﹰﺎ ﻤﻥ ﺍﻟﻜﻠﻤﺎﺕ ﺍﻟﻤﺤﺠﻭﺯﺓ ﻓﻲ ﻟﻐﺔ ﺍﻟﺴﻲ ﻭﻫﻲ ﺘﺴﺘﺨﺩﻡ ﻷﺨﺫ
ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﻤﻥ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺤﺘﻰ ﻴﺘﻡ ﺘﻨﻔﻴﺫ ﺍﻟﻌﻠﻤﻴﺔ ﺍﻟﻤﻁﻠﻭﺒﺔ .ﻭﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ﻴﺒﻴﻥ ﻜﻴﻔﻴﺔ
ﺍﻟﺘﻌﺎﻤل ﻤﻊ ﻫﺫﺍ ﺍﻟﺩﺍﻟﺔ.
>#include <stdio.h
)( main
{
;int a,b,c
• ﺍﻟﺠﻤل ﺍﻟﺸﺭﻁﻴﺔ:
• ﺇﺴﺘﺨﺩﺍﻡ ).(if
ﻭﺘﺴﺘﺨﺩﻡ ﻫﺫﻩ ﺍﻟﺠﻤﻠﺔ ﻋﻨﺩﻤﺎ ﻴﺭﻴﺩ ﺍﻟﻤﺒﺭﻤﺞ ﺃﻥ ﻴﺘﺄﻜﺩ ﻤﻥ ﺸﻲﺀ ﻤﻌﻴﻥ ﻓﻲ ﺒﺭﻨﺎﻤﺠﻪ
ﻼ ﻫل ﻗﻴﻤﺔ ﻤﺘﻐﻴﺭ ﻤﺎ ﻫﻲ ﺍﻟﻘﻴﻤﺔ ﺍﻟﺘﻲ ﻴﺭﻴﺩﻫﺎ ﺍﻟﻤﺒﺭﻤﺞ ﺃﻭ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺃﻡ ﻻ ﻤﺜ ﹰ
ﻭﺍﻟﺼﻭﺭﺓ ﺍﻟﻌﺎﻤﺔ ﻟﻬﺫﻩ ﺍﻟﺠﻤﻠﺔ ﻫﻲ.
)If (expression
;Statement
(&&)*/ﺃﻜﺜﺭ ﻋﻥ ﺍﻟﺘﻌﻠﻴﻤﺔ
(&&)*/ﺃﻜﺜﺭ ﻋﻥ ﺍﻟﺘﻌﻠﻴﻤﺔ
printf("the number you entered is between 11 and
;)"20:\n
else printf("the number you entered is greater than
;)"21.\n
;return 0
}
• ﺍﻹﺘﻔﺎﻗﻴﺔ:
ﻟﻘﺩ ﻜﺘﺒﺕ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻟﻐﺭﺽ ﺘﺜﻘﻴﻑ ﺍﻟﺸﺒﺎﺏ ﺍﻟﻌﺭﺒﻲ ﻓﻲ ﻤﺠﺎل ﻋﻠﻭﻡ ﺍﻟﺤﺎﺴﺏ ﺍﻵﻟﻲ.
ﻭﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﺠﺎﻨﻲ ﻟﻠﺠﻤﻴﻊ ﻭﻻ ﺃﺭﻴﺩ ﻤﻥ ﻭﺭﺍﺌﻪ ﺇﻻ ﺸﻲﺀ ﺒﺴﻴﻁ ﺠﺩﹰﺍ ﻭﻫﻭ ﺩﻋﻭﺓ
ﺼﺎﻟﺤﺔ ﻓﻲ ﻅﻬﺭ ﺍﻟﻐﻴﺏ ﻟﻲ ﻭﻟﺠﻤﻴﻊ ﺃﺨﻭﺍﻨﻨﺎ ﺍﻟﻤﺴﻠﻤﻴﻥ ﻓﻲ ﺃﻨﺤﺎﺀ ﺍﻟﻌﺎﻟﻡ.ﻜﻤﺎ ﺃﺭﺠﻭﺍ ﺃﻥ
ﻻ ﻴﺘﻡ ﺍﻟﺘﻌﺩﻴل ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻭﺇﻨﺴﺎﺒﻪ ﺇﻟﻰ ﻏﻴﺭﻱ ﻷﻨﻲ ﻗﺩ ﺘﻌﺒﺕ ﻓﻴﻪ ﻜﺜﻴﺭﹰﺍ .ﻜﻤﺎ
ﺃﻨﻨﻲ ﺃﺅﺅﻜﺩ ﺃﻨﻨﻲ ﺃﺭﺤﺏ ﻭﺒﻜل ﺴﻌﺔ ﺼﺩﺭ ﺒﺎﻟﻨﻘﺩ ﺍﻟﺒﻨﺎﺀ ﺍﻟﺫﻱ ﻴﺴﺘﻔﻴﺩ ﻤﻨﻪ ﺍﻟﺠﻤﻴﻊ .ﻜﻤﺎ
ﺃﻨﻪ ﺇﺫﺍ ﻭﺠﺩﺕ ﻋﺯﻴﺯﻱ ﺍﻟﻘﺎﺭﺉ ﺃﻱ ﺃﺨﻁﺎﺀ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻴﺭﺠﻰ ﺃﺨﺒﺎﺭﻱ ﺒﻬﺎ ﻭﺴﻴﺘﻡ
ﻭﻀﻊ ﺃﺴﻤﻙ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﻊ ﺍﻟﺘﻌﺩﻴل .ﻜﻤﺎ ﺃﻨﻲ ﺃﺭﺤﺏ ﺃﻥ ﻴﺸﺘﺭﻙ ﻤﻌﻲ ﺃﻱ
ﺸﺨﺹ ﻹﻀﺎﻓﺔ ﺍﻟﻤﺯﻴﺩ ﻤﻥ ﺍﻟﺩﺭﻭﺱ ﻟﻬﺫﺍ ﺍﻟﻤﻠﻑ ﻭﺴﻴﺘﻡ ﻭﻀﻊ ﺃﺴﻤﻪ ﺃﻴﻀﹰﺎ ﻭﺫﻟﻙ
ﺤﺘﻰ ﻴﻜﻭﻥ ﻫﻨﺎﻙ ﻤﺭﺠﻊ ﻋﺭﺒﻲ ﻟﻠﻐﺔ ﺍﻟﺴﻲ.
• ﺠﻤل ﺍﻟﺘﻜﺭﺍﺭ:
• ﺠﻤﻠﺔ ﺍﻟﺘﻜﺭﺍﺭ ):(for
ﻓﻲ ﺒﻌﺽ ﺍﻷﺤﻴﺎﻥ ﻨﺤﺘﺎﺝ ﺃﻥ ﻨﻘﻭﻡ ﺒﻌﻤل ﻤﻌﻴﻥ ﻋﺩﺩ ﻤﻌﻴﻥ ﻤﻥ ﺍﻟﻤﺭﺍﺕ ﺩﻭﻥ ﺘﻐﻴﻴﺭ
ﻭﺤﻴﺙ ﺃﻨﻪ ﻤﻥ ﺍﻟﺼﻌﺏ ﺘﻨﻔﻴﺫ ﻫﺫﺍ ﺍﻟﻌﻤل ﺇﺫﺍ ﻜﺎﻥ ﻋﺩﺩ ﻤﺭﺍﺕ ﺍﻟﺘﻜﺭﺍﺭ ﻜﺒﻴﺭﺓ ﺠﺩﹰﺍ ﻟﺫﻟﻙ
ﻭﺠﺩ ﺍﻟﺒﺩﻴل ﻓﻲ ﻟﻐﺔ ﺍﻟﺴﻲ ﻟﻬﺫﺍ ﺍﻟﺘﻜﺭﺍﺭ ﺤﻴﺙ ﻋﻨﺩﻤﺎ ﻨﺴﺘﻌﻴﻥ ﺒﻬﺫﻩ ﺍﻟﺠﻤﻠﺔ ﻓﺈﻨﻬﺎ ﺴﻭﻑ
ﺘﻘﻭﻡ ﺒﺘﻜﺭﺍﺭ ﺍﻟﻤﻬﻤﺔ ﺫﺍﺘﻬﺎ ﻋﺩﺩ ﻤﻌﻴﻥ ﻤﻥ ﺍﻟﻤﺭﺍﺕ ﻭﻫﺫﺍ ﺍﻟﺒﺩﻴل ﻫﻭ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻟﺠﻤﻠﺔ )
.(forﻭﻴﻤﻜﻨﻨﺎ ﺃﻥ ﻨﻘﻭل ﺃﻥ ﻫﺫﻩ ﺍﻟﺠﻤﻠﺔ ﺘﻘﻭﻡ ﺒﺘﻜﺭﺍﺭ ﻤﻬﻤﺔ ﻤﻌﻴﻨﺔ ﻴﺤﺩﺩﻫﺎ ﺍﻟﻤﺒﺭﻤﺞ ﺃﻭ
ﺍﻟﻤﺴﺘﺨﺩﻡ ﻟﻠﺒﺭﻨﺎﻤﺞ .ﻭﺍﻟﺼﻭﺭﺓ ﺍﻟﻌﺎﻤﺔ ﻟﻬﺫﻩ ﺍﻟﺠﻤﻠﺔ ﻫﻭ:
)For (expression1 ;expression2 ;expression3
;Statement
ﺤﻴﺙ ﺃﻥ ﺍﻟﺠﺯﺀ ) (expression1ﻴﻤﺜل ﻨﻘﻁﺔ ﺍﻟﺒﺩﺀ ﻟﻌﻤﻠﻴﺔ ﺍﻟﺘﻜﺭﺍﺭ ﺍﻟﺫﻱ ﺘﻭﺩ ﺍﻟﻘﻴﺎﻡ
ﺒﻬﺎ .ﺃﻤﺎ ) (expression2ﻓﻬﻲ ﺘﻤﺜل ﻨﻘﻁﺔ ﺍﻟﺘﺤﻘﻕ ﺃﻱ ﻫل ﺴﻴﺘﻡ ﺇﻜﻤﺎل ﻫﺫﺍ ﺍﻟﺘﻜﺭﺍﺭ
ﺃﻤﺎ ﺃﻥ ﺍﻟﺘﻜﺭﺍﺭ ﻗﺩ ﺇﻨﺘﻬﻰ .ﺃﻤﺎ ) (expression3ﻓﻬﻲ ﺘﻤﺜل ﻤﻘﺩﺍﺭ ﺍﻟﺯﻴﺎﺩﺓ ﺍﻟﺘﻲ
ﺴﻴﺘﻡ ﻓﻴﻬﺎ ﻜل ﻤﺭﺓ ﺍﻟﺯﻴﺎﺩﺓ .ﻭﻻﺤﻅ ﺃﻨﻪ ﻴﺘﻡ ﺍﻟﻔﺼل ﺒﻴﻥ ﻫﺫﻩ ﺍﻷﺠﺯﺍﺀ ﺍﻟﺜﻼﺜﺔ ﺒﻔﺎﺼﻠﺔ
ﻤﻨﻘﻭﻁﺔ );( .ﻭﻨﺠﺩ ﻓﻲ ﺍﻟﻨﻬﺎﻴﺔ ﻤﺎ ﻴﺴﻤﻰ ﺏ ) (statementﻭﻫﻲ ﺘﻌﻨﻲ ﺍﻟﺠﻤﻠﺔ
ﺍﻟﺘﻲ ﺴﺘﻨﻔﺫ ﻓﻲ ﻜل ﻤﺭﺓ ﺘﺘﻡ ﻋﻤﻠﻴﺔ ﺍﻟﺘﻜﺭﺍﺭ ﻭﺍﻹﻓﺘﺭﺍﻀﻲ ﻭﺠﻭﺩ ﺠﻤﻠﺔ ﻭﺍﺤﺩ ﻓﻘﻁ
(else) */ﻜﺎﻥ ﻜﺫﻟﻙ ﻓﺈﻨﻪ ﻴﻨﻔﺫ ﺒﻘﻴﺔ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻭﺇﻻ ﻓﺈﻨﻪ ﺴﻭﻑ ﻴﺘﺠﻪ ﺇﻟﻰ ﺍﻟﺠﻤﻠﺔ
{
)for (count=num1 ;count<=num2 ;count++
ﻓﻲ ﺍﻟﺴﻁﺭ ﺍﻟﺴﺎﺒﻕ ﺍﺴﺘﺨﺩﻤﻨﺎ ﺍﻟﺸﺭﻁ )>=( ﻭﺫﻟﻙ ﻟﻠﺘﺤﻘﻕ ﻫل ﻭﺼل ﺍﻟﺒﺭﻨﺎﻤﺞ */
(else) */ﻜﺎﻥ ﻜﺫﻟﻙ ﻓﺈﻨﻪ ﻴﻨﻔﺫ ﺒﻘﻴﺔ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻭﺇﻻ ﻓﺈﻨﻪ ﺴﻭﻑ ﻴﺘﺠﻪ ﺇﻟﻰ ﺍﻟﺠﻤﻠﺔ
{
)for (count=num1 ;count<=num2 ;count++
ﻓﻲ ﺍﻟﺴﻁﺭ ﺍﻟﺴﺎﺒﻕ ﺍﺴﺘﺨﺩﻤﻨﺎ ﺍﻟﺸﺭﻁ )>=( ﻭﺫﻟﻙ ﻟﻠﺘﺤﻘﻕ ﻫل ﻭﺼل ﺍﻟﺒﺭﻨﺎﻤﺞ */
*/ﺍﻟﺒﺭﻨﺎﻤﺞ
*/ﻫﺫﺍ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻴﻘﻭﻡ ﺒﺘﻭﻟﻴﺩ ﺃﻋﺩﺍﺩ ﻤﺘﺴﻠﺴﻠﺔ*main () /
{
;int num1,num2,count
;char ch
do
{
• ﺍﻟﺠﻤﻠﺔ ):(break
ﻼ ﻟﻭ ﺃﺭﺩﺕ ﺇﻴﻘﺎﻑ ﻋﻤﻠﻴﺔ ﻭﺘﺴﺘﺨﺩﻡ ﻫﺫﻩ ﺍﻟﺠﻤﻠﺔ ﻋﺎﺩﺓ ﻟﻜﻲ ﻨﻘﻭﻡ ﺒﺈﻴﻘﺎﻑ ﻋﻤﻠﻴﺔ ﻤﺎ ﻤﺜ ﹰ
ﺘﻜﺭﺍﺭ ﺩﻭﻥ ﺍﻟﻭﺼﻭل ﻟﻨﻘﻁﺔ ﺍﻟﻨﻬﺎﻴﺔ ﻓﻬﺫﻩ ﺍﻟﻜﻠﻤﺔ ﺘﻘﻭﻡ ﺒﻁﻠﺒﻙ ﺒﺎﻟﺘﺄﻜﻴﺩ .ﻻﺤﻅ ﺍﻟﺒﺭﻨﺎﻤﺞ
ﺍﻟ ﺘ ﺎ ﻟ ﻲ:
>#include<stdio.h