ﻣﺪرس :ﻧﻮري ﻣﻬﺮ 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ﺗﻐﻴﻴﺮي ﻧﻤﻲﻛﻨﺪ. ﻫﻤﻴﺸﻪ ﺳﻤﺖ ﭼﭗ اﻧﺘﺴﺎب ﻓﻘﻂ ﻳﻚ ﻣﺘﻐﻴﺮ ﻗﺮار دارد. ﻣﻘﺪار ﻣﺤﺎﺳﺒﻪ ﺷﺪه از ﻋﺒﺎرت ﺳﻤﺖ راﺳﺖ ،ﺑﺎﻳﺪ ﻫﻤﻨﻮع ﺑﺎ ﻣﺘﻐﻴﺮ ﺳﻤﺖ ﭼﭗ ﺑﺎﺷﺪ.
© Copyright 2025 Paperzz