lecture 2.pdf

‫ﻣﺪرس ‪ :‬ﻧﻮري‬
‫ﻣﻬﺮ ‪88‬‬
‫ﻣﻄﺎﻟﺐ ﺟﻠﺴﻪ ﻗﺒﻞ‬
‫‪ y‬ﻣﻌﺮﻓﻲ اﺟﺰاي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫‪ y‬ﻣﻌﺮﻓﻲ ﺗﺤﻮﻻت زﺑﺎنﻫﺎي ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫‪ y‬ﻣﻌﺮﻓﻲ ﻣﺮاﺣﻞ ﻧﻮﺷﺘﻦ ﻳﻚ ﺑﺮﻧﺎﻣﻪ از ﺗﺤﻠﻴﻞ ﻣﺴﺄﻟﻪ ﺗﺎ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ‬
‫‪2‬‬
‫زﺑﺎن ﭘﺎﺳﻜﺎل‬
‫‪ y‬اﻳﻦ زﺑﺎن ﺑﻪ اﻓﺘﺨﺎر ﭘﺎﺳﻜﺎل رﻳﺎﺿﻴﺪان ﻗﺮن ‪ 17‬ﻧﺎﻣﮕﺬاري ﺷﺪه اﺳﺖ‪.‬‬
‫‪ y‬زﺑﺎﻧﻲ آﻣﻮزﺷﻲ اﺳﺖ ﻛﻪ ﻣﻔﺎﻫﻴﻢ ﻣﺸﺘﺮك ﺑﻴﻦ ﻫﻤﻪ زﺑﺎنﻫﺎي ﻛﺎﻣﭙﻴﻮﺗﺮي را‬
‫ﭘﺮرﻧﮓ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ y‬ﺑﺎ اﺳﺘﺎﻧﺪارد ﺳﺎزي زﺑﺎن‪ ،‬ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ را راﺣﺖ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ y‬ﻗﻮاﻧﻴﻦ ﺳﺨﺖﮔﻴﺮاﻧﻪ اﻳﻦ زﺑﺎن‪ ،‬ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﺑﺪ را دﺷﻮار ﻣﻲﺳﺎزد‪.‬‬
‫‪3‬‬
‫ﺳﺎﺧﺘﺎر ﺑﺮﻧﺎﻣﻪ‬
.‫ ﻫﻤﻪ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﺎﻳﺪ ﺳﺎﺧﺘﺎر زﻳﺮ را رﻋﺎﻳﺖ ﻛﻨﻨﺪ‬y
program TITLE;
begin
program statements;
program statement
end.
4
‫ﺳﺎﺧﺘﺎر ﺑﺮﻧﺎﻣﻪ‬
‫‪program y‬‬
‫;‪program TITLE‬‬
‫‪begin‬‬
‫;‪program statements‬‬
‫‪program statement‬‬
‫‪end.‬‬
‫‪ y‬اوﻟﻴﻦ ﻛﻠﻤﻪ ﻫﺮ ﺑﺮﻧﺎﻣﻪ ﭘﺎﺳﻜﺎل اﺳﺖ‪.‬‬
‫‪ y‬ﻳﻚ ﻛﻠﻤﻪ رزرو ﺷﺪه اﺳﺖ‪ ،‬ﻳﻌﻨﻲ ﻧﻤﻲﺗﻮان از آن در‬
‫ﺳﺎﻳﺮ ﺑﺨﺶﻫﺎ ﻣﺜﻞ ﻧﺎم ﻣﺘﻐﻴﺮﻫﺎ اﺳﺘﻔﺎده ﻛﺮد‪.‬‬
‫‪TITLE y‬‬
‫‪ y‬ﻧﺎﻣﻲ اﺳﺖ ﻛﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ ﺑﺮاي ﺑﺮﻧﺎﻣﻪاش اﻧﺘﺨﺎب‬
‫ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ y‬اﻳﻦ ﻧﺎم ﻳﻚ ﺷﻨﺎﺳﻪ اﺳﺖ و ﺑﺎﻳﺪ از ﻗﻮاﻧﻴﻦ ﻣﺮﺑﻮط ﺑﻪ‬
‫ﺷﻨﺎﺳﻪﻫﺎ ﺗﺒﻌﻴﺖ ﻛﻨﺪ‪.‬‬
‫‪5‬‬
‫ﺷﻨﺎﺳﻪﻫﺎ‬
‫‪ y‬ﻳﻚ ﺷﻨﺎﺳﻪ ﺑﺎ ﻳﻚ ﺣﺮف ﻳﺎ _ ﺷﺮوع ﺷﺪه و ﺑﺎ ﺗﻌﺪادي ﺣﺮف ﻳﺎ ﻋﺪد‬
‫ﻳﺎ _ اداﻣﻪ ﻣﻲﻳﺎﺑﺪ‪.‬‬
‫‪ y‬در ﺗﻮرﺑﻮ ﭘﺎﺳﻜﺎل ﻳﻚ ﺷﻨﺎﺳﻪ ﺣﺪاﻛﺜﺮ ﻃﻮل ‪ 63‬دارد‪ .‬در ﺷﻨﺎﺳﻪﻫﺎي‬
‫ﺑﺎ ﻃﻮل ﺑﻴﺸﺘﺮ از ‪ ،63‬ﻓﻘﻂ ‪ 63‬ﻛﺎراﻛﺘﺮ اول در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﻧﺪ‪.‬‬
‫‪6‬‬
‫ﺷﻨﺎﺳﻪﻫﺎ‬
‫ ﻛﺪام ﻳﻚ از ﻧﺎمﻫﺎي زﻳﺮ ﻧﻤﻲﺗﻮاﻧﺪ ﻳﻚ ﺷﻨﺎﺳﻪ ﺑﺎﺷﺪ؟‬y
birthday
Too_hot?
First_Initial
grade
1stprogram
down.to.earth
see you
OldName
case
7
‫ﺳﺎﺧﺘﺎر ﺑﺮﻧﺎﻣﻪ‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪ : begin‬آﻏﺎز دﺳﺘﻮرات ﺑﺮﻧﺎﻣﻪ را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ : end.‬ﻫﻤﻴﺸﻪ ﺧﺎﺗﻤﻪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﺎ اﻳﻦ ﻛﻠﻤﻪ ﻣﺸﺨﺺ ﻣﻲﺷﻮد‪.‬‬
‫‪ : program statements‬دﺳﺘﻮرات اﺻﻠﻲ ﺑﺮﻧﺎﻣﻪ را ﻣﺸﺨﺺ‬
‫ﻣﻲﻛﻨﺪ ﻛﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﻮﻇﻒ ﺑﻪ اﺟﺮاي آنﻫﺎﺳﺖ‪.‬‬
‫‪ begin‬و ‪ end‬ﻋﻼوه ﺑﺮ وﻇﻴﻔﻪ ذﻛﺮ ﺷﺪه‪ ،‬اﺑﺘﺪا و اﻧﺘﻬﺎي ﻳﻚ ﮔﺮوه‬
‫دﺳﺘﻮرات را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ‪.‬‬
‫;‪program TITLE‬‬
‫‪begin‬‬
‫;‪program statements‬‬
‫‪program statement‬‬
‫‪end.‬‬
‫‪8‬‬
‫ﺳﺎﺧﺘﺎر ﺑﺮﻧﺎﻣﻪ‬
‫‪ y‬در اﻧﺘﻬﺎي ﻫﻤﻪ دﺳﺘﻮرات ﺑﺮﻧﺎﻣﻪ ﺑﺠﺰ ‪ begin‬و ‪ end‬ﺑﺎﻳﺪ ‪semi colon‬‬
‫);( ﻗﺮار ﺑﮕﻴﺮد‪.‬‬
‫‪ y‬دﺳﺘﻮراﺗﻲ ﻛﻪ ﺑﻌﺪ از آنﻫﺎ ﻛﻠﻤﻪ ‪ end‬ﺑﻴﺎﻳﺪ ﻧﻴﺎزي ﺑﻪ ; ﻧﺪارﻧﺪ‪.‬‬
‫‪ y‬ﭘﺎﺳﻜﺎل ﺑﻪ ﺑﺰرﮔﻲ و ﻛﻮﭼﻜﻲ ﺣﺮوف ﺣﺴﺎس ﻧﻴﺴﺖ‬
‫‪(case insensitive) y‬‬
‫;‪program TITLE‬‬
‫‪begin‬‬
‫;‪program statements‬‬
‫‪program statement‬‬
‫‪end.‬‬
‫‪9‬‬
‫دﺳﺘﻮر ﭼﺎپ ﺧﺮوﺟﻲ‬
‫ دﺳﺘﻮر ﭼﺎپ ﺧﺮوﺟﻲ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲﺷﻮد‬y
WriteLn(‘Hi, Please tell me your name’);
WriteLn(‘The sum of 1 + 4 = ‘, 1+4);
WriteLn(a, b);
WriteLn(a, b, …);
Write(‘A simple message’);
Write(‘A message that follow the previous one’)
10
‫ﭼﺎپ ﺧﺮوﺟﻲ‬
program WriteVsWriteLn;
{Digging into some details
about write and writeln}
begin
WriteLn(‘This produces a new line.’);
Write(‘This is going to be’);
WriteLn(‘a mess.’);
Write(‘But this is going to be ‘);
WriteLn(‘OK.’)
end.
11
‫ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ ﻗﺒﻞ‬
‫‪12‬‬
‫ﭼﻨﺪ ﻣﺜﺎل ﺳﺎده‬
program First;
begin
WriteLn(‘This is my first Pascal program’)
end.
program UseWrite;
begin
Write(‘One’);
Write(‘Two’)
end.
13
‫ﭼﻨﺪ ﻣﺜﺎل ﺳﺎده‬
program UseWriteLn;
begin
WriteLn(‘One’);
Write(‘Two.’)
end.
program UseWriteLn2;
begin
WriteLn(‘One’);
WriteLn;
WriteLn(‘Two.’)
end.
14
‫دﺳﺘﻮر درﻳﺎﻓﺖ ورودي‬
‫‪ y‬دﺳﺘﻮر ﻻزم ﺑﺮاي درﻳﺎﻓﺖ ورودي از ﻛﺎرﺑﺮ‬
‫‪Read a Line = Readln‬‬
‫اﺳﺖ و ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲﺷﻮد‬
‫;)‪ReadLn(a‬‬
‫;)‪ReadLn(a, b‬‬
‫)… ‪ReadLn(a, b,‬‬
‫‪15‬‬
‫ﺷﻨﺎﺳﻪﻫﺎي اﺳﺘﺎﻧﺪارد‬
‫‪ y‬دﺳﺘﻮرات ‪ ReadLn‬و ‪ WriteLn‬ﺟﺰو ﺷﻨﺎﺳﻪﻫﺎي اﺳﺘﺎﻧﺪارد ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ y‬ﺷﻨﺎﺳﻪ اﺳﺘﺎﻧﺪارد‪ ،‬ﺷﻨﺎﺳﻪاي اﺳﺖ ﻛﻪ ﻣﻌﻨﻲ ﺧﺎﺻﻲ دارد‪ ،‬وﻟﻲ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ‬
‫ﻣﻲﺗﻮاﻧﺪ ﺗﻌﺮﻳﻒ آن را ﺗﻐﻴﻴﺮ دﻫﺪ‪.‬‬
‫‪ y‬ﺗﻮﺻﻴﻪ ﻣﻲﺷﻮد ﻛﻪ ﺷﻨﺎﺳﻪﻫﺎي ﺧﻮد را )ﻧﺎم ﺑﺮﻧﺎﻣﻪ‪ ،‬ﻣﺘﻐﻴﺮﻫﺎ‪ ،‬ﺛﻮاﺑﺖ و ‪ (...‬را‬
‫از ﺷﻨﺎﺳﻪﻫﺎي اﺳﺘﺎﻧﺪارد اﻧﺘﺨﺎب ﻧﻜﻨﻴﺪ‪.‬‬
‫‪16‬‬
‫ﺗﻜﻤﻴﻞ ﺳﺎﺧﺘﺎر ﺑﺮﻧﺎﻣﻪ‬
program TITLE;
const
‫ﺑﺨﺶ ﺗﻌﺎرﻳﻒ‬
var
begin
program statements;
program statement
end.
‫ﺑﺪﻧﻪ اﺻﻠﻲ ﺑﺮﻧﺎﻣﻪ‬
17
‫ﺗﻜﻤﻴﻞ ﺳﺎﺧﺘﺎر ﺑﺮﻧﺎﻣﻪ‬
‫‪ y‬ﻛﻠﻤﺎت زﻳﺮ ﻫﻤﻪ ﻛﻠﻤﺎت ﻛﻠﻴﺪي ﻫﺴﺘﻨﺪ‪.‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪program‬‬
‫‪var‬‬
‫‪const‬‬
‫‪begin‬‬
‫‪end‬‬
‫‪ y‬ﻳﻌﻨﻲ ﻧﻤﻲﺗﻮان از آنﻫﺎ ﺑﺠﺰ در ﻗﺴﻤﺖﻫﺎﻳﻲ ﻛﻪ ﭘﺎﺳﻜﺎل ﻣﺸﺨﺺ ﻛﺮده‪،‬‬
‫اﺳﺘﻔﺎده ﻛﺮد‪.‬‬
‫‪18‬‬
‫ﻛﻠﻤﺎت ﻛﻠﻴﺪي ﭘﺎﺳﻜﺎل‬
and
array
begin
case
const
div
do
downto
else
end
file
for
forward
function
goto
if
in
label
mod
nil
not
of
or
packed
procedure
program
record
repeat
set
then
until
var
while
with
19
‫ﺑﺨﺶ ﺗﻌﺎرﻳﻒ‬
‫‪ y‬ﺗﻌﺎرﻳﻒ ﺷﺎﻣﻞ‬
‫‪ y‬ﻧﺎم و ﻧﻮع ﻣﺘﻐﻴﺮﻫﺎﻳﻲ اﺳﺖ‬
‫‪ y‬ﻧﺎم و ﻣﻘﺪار ﺛﻮاﺑﺘﻲ اﺳﺖ‬
‫ﻛﻪ در ﻃﻮل ﺑﺮﻧﺎﻣﻪ اﺳﺘﻔﺎده ﻣﻲﺷﻮﻧﺪ‪.‬‬
‫‪20‬‬
‫اﻧﻮاع ﻣﺨﺘﻠﻒ دادهﻫﺎ و ﻣﺘﻐﻴﺮﻫﺎ‬
‫‪ y‬ﭘﺎﺳﻜﺎل ‪ 5‬ﻧﻮع داده از ﻗﺒﻞ ﺗﻌﺮﻳﻒ ﺷﺪه را در اﺧﺘﻴﺎر ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﻗﺮار‬
‫ﻣﻲدﻫﺪ‪:‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪21‬‬
‫اﻋﺪاد ﺻﺤﻴﺢ )‪(Integer‬‬
‫اﻋﺪاد اﻋﺸﺎري )‪(Real‬‬
‫ﺣﺮﻓﻲ )‪(Char‬‬
‫درﺳﺖ‪/‬ﻧﺎدرﺳﺖ )‪(Boolean‬‬
‫رﺷﺘﻪاي )‪(String‬‬
‫ﭼﺮا اﻧﻮاع ﻣﺨﺘﻠﻒ داده‬
‫‪ y‬ﭘﺎﺳﻜﺎل ﺑﺮاي ﻛﺎﻫﺶ ﺧﻄﺎﻫﺎي ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ اﻳﻦ اﻧﻮاع داده را ﺗﻌﺮﻳﻒ‬
‫ﻛﺮده اﺳﺖ‪.‬‬
‫‪ y‬ﺗﺸﺨﻴﺺ ﻗﺮاردادن ﻣﻘﺪار ﻏﻠﻂ در ﻣﺤﻠﻲ از ﺣﺎﻓﻈﻪ‬
‫‪y‬‬
‫ﻣﺜﻞ ﺟﻤﻊ ﻛﺮدن دو ﻋﺪد اﻋﺸﺎري و ﻗﺮار دادن آن در ﻳﻚ ﻣﺘﻐﻴﺮ ﺻﺤﻴﺢ‪.‬‬
‫‪ y‬ﻣﻤﺎﻧﻌﺖ از اﻧﺠﺎم ﻛﺎرﻫﺎي ﺑﻲﻣﻌﻨﻲ‬
‫‪y‬‬
‫‪22‬‬
‫ﺟﻤﻊ ﻛﺮدن دو رﺷﺘﻪ ﻛﻪ در آنﻫﺎ ﻋﺪد ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ‪.‬‬
‫‪Integer‬‬
‫‪ y‬اﻳﻦ ﻧﻮع داده‪ ،‬ﻗﺎﺑﻠﻴﺖ ﻧﮕﻪداري اﻋﺪاد ﺻﺤﻴﺢ را دارد‪.‬‬
‫‪ y‬ﭼﻮن ﺑﺮاي اﻳﻦ ﻧﻮع داده ‪ 2‬ﺑﺎﻳﺖ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ‪ ،‬ﻣﻲﺗﻮان اﻋﺪاد‬
‫ﺑﻴﻦ ‪ -32768‬ﺗﺎ ‪ 32767‬را در اﻳﻦ ﻧﻮع داده ذﺧﻴﺮه ﻛﺮد‪.‬‬
‫‪ y‬ﻫﺮ ﺑﺎﻳﺖ ‪ 8‬ﺑﻴﺖ اﺳﺖ‪.‬‬
‫‪+1 * (118*256 + 7) y‬‬
‫‪0 0 0 0 0 1 1 1‬‬
‫‪0 1 1 1 0 1 1 0‬‬
‫اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﻋﺪد‬
‫ﻋﻼﻣﺖ‬
‫‪23‬‬
Integer
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
+1 * (127*256 + 255) = 32767 = MaxInt
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
‐1 * (127*256 + 255) = ‐32767 = ‐MaxInt
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
‐1 * (0 + 0)
= ‐32768 = ‐MaxInt ‐ 1
24
‫ﻣﺤﺎﺳﺒﻪ ﻣﺴﺎﺣﺖ ﻣﺮﺑﻊ‬
program AreaOfSquare;
var
Side, Area : Integer;
begin
Side := 5;
Area := Side * Side;
WriteLn(‘The area of square with side ‘,
Side, ‘ is equal to ‘, Area);
End.
25
‫ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ ﻗﺒﻞ‬
‫‪26‬‬
‫‪Real‬‬
‫‪ y‬اﻳﻦ ﻧﻮع داده ﺑﺮاي ذﺧﻴﺮه اﻋﺪاد اﻋﺸﺎري اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬
‫‪ y‬ﻫﺮ ﻋﺪد اﻋﺸﺎري در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﻪ ﺻﻮرت اﺳﺘﺎﻧﺪارد ذﺧﻴﺮه ﻣﻲﺷﻮد‪.‬‬
‫‪ y‬در ﺷﻜﻞ اﺳﺘﺎﻧﺪارد‪ ،‬ﻋﺪد اﻋﺸﺎري ﺑﺎ دو ﻋﺪد ‪ M‬و ‪ E‬ذﺧﻴﺮه ﻣﻲﺷﻮد ﺑﻪ‬
‫ﻃﻮري ﻛﻪ ﻋﺪد ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﺣﺎﺻﻞ ﻋﺒﺎرت ‪.M * 2^E‬‬
‫‪ y‬ﺑﺮاي ﻫﺮ ﻋﺪد ‪ 6 ،Real‬ﺑﺎﻳﺖ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد ﻛﻪ ﻣﻲﺗﻮاﻧﺪ اﻋﺪادي در ﺑﺎزه‬
‫)‪ 2/9 * 10^(-39‬ﺗﺎ ‪ 1/7 * 10^38‬را در ﺧﻮد ذﺧﻴﺮه ﻛﻨﺪ )ﺑﺮاي اﻋﺪاد‬
‫ﻣﻨﻔﻲ ﻧﻴﺰ ﺑﺎزهاي ﻣﺸﺎﺑﻪ وﺟﻮد دارد‪(.‬‬
‫‪27‬‬
‫‪Real‬‬
‫‪ y‬ﻧﻤﺎد ﻋﻠﻤﻲ‬
‫‪1/234567 * 10^6 = 1234567 y‬‬
‫‪1/234 * 10^(-4) = 0/0001234 y‬‬
‫‪ y‬ﻧﻤﺎﻳﺶ اﻋﺪاد اﻋﺸﺎري در ﭘﺎﺳﻜﺎل‬
‫‪1.234567E6 = 1234567 y‬‬
‫‪1.234E‐4= 0.0001234 y‬‬
‫‪28‬‬
‫ﺗﻌﺮﻳﻒ ﻣﺘﻐﻴﺮ‬
var
a: Integer;
b, c: Real;
d, age, grade: Integer;
29
‫ﻣﺤﺎﺳﺒﻪ ﻣﺴﺎﺣﺖ داﻳﺮه‬
program AreaOfCircle;
var
Radius: Integer;
Pi, Area : Real;
begin
Pi := 3.14;
Radius := 5;
Pi := 3.14159;
Area := Pi * Radius * Radius;
WriteLn(‘The area of a circle with radius ‘,
Radius, ‘ is equal to ‘, Area)
end.
30
‫ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ ﻗﺒﻞ‬
‫‪31‬‬
‫ﺗﻌﺮﻳﻒ ﻣﻘﺪار ﺛﺎﺑﺖ‬
const
PI = 3.14159;
METERS_TO_YARDS = 1.196;
MAX_GRADE = 20;
32
‫ﺑﺮﻧﺎﻣﻪ ﺗﺒﺪﻳﻞ واﺣﺪﻫﺎ‬
‫ ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻃﻮل ﻳﻚ ﭘﺎرﭼﻪ را ﺑﻪ ﻣﺘﺮ ﻣﺮﺑﻊ درﻳﺎﻓﺖ ﻛﺮده و ﻣﻘﺪار آن را ﺑﻪ ﻳﺎرد ﻣﺮﺑﻊ ﻣﺤﺎﺳﺒﻪ و‬y
.‫ﭼﺎپ ﻛﻨﺪ‬
program Metric;
const
METERS_TO_YARDS = 1.196;
var
SqMeters,
SqYards : Real;
begin
Write(‘Enter the fabric size in square meters >’);
ReadLn(SqMeters);
SqYards := METERS_TO_YARDS * SqMeters;
WriteLn(‘The fabric size in square yards is ‘,
SqYards)
end.
33
‫ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ‬
‫‪34‬‬
‫دﺳﺘﻮر اﻧﺘﺴﺎب‬
‫‪ y‬ﻳﻚ ﻣﻘﺪار ﻳﺎ ﻧﺘﻴﺠﻪ ﻳﻚ ﻣﺤﺎﺳﺒﻪ را در ﻳﻚ ﻣﺘﻐﻴﺮ ﻗﺮار ﻣﻲدﻫﺪ‪.‬‬
‫‪SqYards := METERS_TO_YARDS * SqMeters‬‬
‫‪ y‬ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞﺿﺮب دو ﻣﻘﺪار اﺳﺖ‪.‬‬
‫‪ y‬دو ﻣﺘﻐﻴﺮ )ﺛﺎﺑﺖ( ﺳﻤﺖ راﺳﺖ ﺑﺎﻳﺪ ﻣﻘﺪار ﻣﻌﻴﻨﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ )دو ﻋﺪد‬
‫ﺣﻘﻴﻘﻲ(‬
‫‪ y‬ﻋﻼﻣﺖ =‪ :‬را ﻛﻪ ﺑﺮاي اﻧﺘﺴﺎب اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪ ،‬ﺑﺨﻮاﻧﻴﺪ ﻣﻘﺪار‪ ...‬را‬
‫ﻣﻲﮔﻴﺮد‪ ،‬ﻳﺎ ﻣﻲﺷﻮد و ﻧﻪ ﻣﺴﺎوي‪.‬‬
‫‪Variable := expression‬‬
‫‪X := Y + Z + 2.0‬‬
‫‪35‬‬
‫دﺳﺘﻮر اﻧﺘﺴﺎب‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪36‬‬
‫‪Sum := Sum + Item‬‬
‫در رﻳﺎﺿﻲ ﻋﺒﺎرت ﺑﺎﻻ‪ ،‬ﻳﻚ ﺗﺴﺎوي ﺟﺒﺮي ﻧﻴﺴﺖ‪.‬‬
‫در ﭘﺎﺳﻜﺎل و ﺳﺎﻳﺮ زﺑﺎنﻫﺎي ﻛﺎﻣﭙﻴﻮﺗﺮي زﻳﺎد اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬
‫ﻣﻘﺪار ﻗﺒﻠﻲ ‪ Sum‬از ﺑﻴﻦ رﻓﺘﻪ و ﻣﻘﺪار ﺟﺪﻳﺪ ﺣﺎﺻﻞﺟﻤﻊ ‪ Sum‬و ‪Item‬‬
‫اﺳﺖ‪.‬‬
‫ﻣﻘﺪار ‪ Item‬ﺗﻐﻴﻴﺮي ﻧﻤﻲﻛﻨﺪ‪.‬‬
‫ﻫﻤﻴﺸﻪ ﺳﻤﺖ ﭼﭗ اﻧﺘﺴﺎب ﻓﻘﻂ ﻳﻚ ﻣﺘﻐﻴﺮ ﻗﺮار دارد‪.‬‬
‫ﻣﻘﺪار ﻣﺤﺎﺳﺒﻪ ﺷﺪه از ﻋﺒﺎرت ﺳﻤﺖ راﺳﺖ‪ ،‬ﺑﺎﻳﺪ ﻫﻤﻨﻮع ﺑﺎ ﻣﺘﻐﻴﺮ ﺳﻤﺖ‬
‫ﭼﭗ ﺑﺎﺷﺪ‪.‬‬