دستور
Case
انواع داده
تکمیل مطالب گذشته
ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل -ﺟﻠﺴﻪ ﺷﺸﻢ
ﻣﺪرس :ﻧﻮري
داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ
آﺑﺎن
1 / 26
آبان 88
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
Case
انواع داده
تکمیل مطالب گذشته
انواع داده
انواع مختلف داده
• Integer
• Real
• Boolean
• Char
• String
2 / 26
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
نوع داده
•
•
•
تکمیل مطالب گذشته
Case
انواع داده
نوع داده
Char
ﻛﻮﭼﻚﺗﺮﻳﻦ ﻧﻮع داده اﺳﺖ )ﻳﻚ ﺑﺎﻳﺖ(.
ﺑﺮاي ذﺧﻴﺮه ﻛﺎراﻛﺘﺮﻫﺎي ﻧﻤﺎﻳﺸﻲ )ﻣﺜﻞ ﺣﺮف ،رﻗﻢ و ﻋﻼﻳﻢ ﺧﺎص(
اﺳﺘﻔﺎده ﻣﻲﺷﻮد.
ﻫﺮ ﻛﺎراﻛﺘﺮ در داﺧﻞ ﻳﻚ (’) Signle Quoteﻗﺮار ﻣﻲﮔﻴﺮد.
•
از ﻧﻤﻮﻧﻪﻫﺎي ﻛﺎراﻛﺘﺮ ﻣﻲﺗﻮان ﺑﻪ
و ’&’ اﺷﺎره ﻛﺮد.
•
ﻓﺎﺻﻠﻪ ﺧﺎﻟﻲ ﻳﻚ ﻛﺎراﻛﺘﺮ اﺳﺖ و ﺑﺎ
•
ﻳﻜﻲ از ﭘﺮﻛﺎرﺑﺮدﺗﺮﻳﻦ ﻣﺠﻤﻮﻋﻪ ﻛﺎراﻛﺘﺮﻫﺎ ،ﻣﺠﻤﻮﻋﻪ اﺳﻜﻲ )(ASCII
اﺳﺖ.
3 / 26
Char
آبان 88
’’$’ ’+’ ،’*’ ،’0’ ،’a’ ،’A
’
’ ﻧﺸﺎن داده ﻣﻲﺷﻮد.
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
Case
جدول
4 / 26
تکمیل مطالب گذشته
نوع داده
کاراکترهای ASCII
آبان 88
انواع داده
برنامهنویسی پاسکال
Char
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
تکمیل مطالب گذشته
Case
مجموعه کاراکترهای
انواع داده
نوع داده
ASCII
•
ﻫﺮ ﻳﻚ از 128ﻣﻘﺪار ﻣﺠﻤﻮﻋﻪ ﻛﺎراﻛﺘﺮﻫﺎي ASCIIﻧﺸﺎندﻫﻨﺪه
ﻳﻜﻲ از ﻛﺎراﻛﺘﺮﻫﺎﺳﺖ.
•
ﻣﺜﻼً ﻣﻘﺪار 65ﻧﻤﺎﻳﻨﺪه ’ ’Aو ﻣﻘﺪار 43ﻧﻤﺎﻳﻨﺪه ’ ’+اﺳﺖ.
•
ﻫﺮ ﻛﺎراﻛﺘﺮ ،ﻣﺤﻞ ﻣﺸﺨﺼﻲ در ﺗﺮﺗﻴﺐ ﺑﻴﻦ ﻛﺎراﻛﺘﺮﻫﺎ در اﻳﻦ
ﻣﺠﻤﻮﻋﻪ دارد.
5 / 26
آبان 88
Char
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
تکمیل مطالب گذشته
Case
مجموعه کاراکترهای
انواع داده
نوع داده
ASCII
•
ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ ﻣﻘﺪار ﻣﻲﺗﻮان ﻛﺎراﻛﺘﺮﻫﺎ را ﺑﺎ ﻫﻢ ﻣﻘﺎﻳﺴﻪ ﻛﺮد.
•
ﻣﺜﻼً ’ ’Bﻛﻪ ﺑﺎ ﻣﻘﺪار 66ﻣﺸﺨﺺ ﻣﻲﺷﻮد از ’ ’Aﺑﺰرﮔﺘﺮ اﺳﺖ.
•
’ ’+از ’ ’Aﻛﻮﭼﻜﺘﺮ اﺳﺖ زﻳﺮا 43از 65ﻛﻮﭼﻜﺘﺮ اﺳﺖ.
•
32ﻛﺎراﻛﺘﺮ اول ﺟﺪول ﻛﺎراﻛﺘﺮﻫﺎي ASCIIﻗﺎﺑﻞ ﭼﺎپ ﻧﻴﺴﺘﻨﺪ.
•
14اﻣﻴﻦ ﻛﺎراﻛﺘﺮ )ﻛﺎراﻛﺘﺮ (13ﻛﺎراﻛﺘﺮ ﺧﻂ ﺟﺪﻳﺪ اﺳﺖ.
6 / 26
آبان 88
Char
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
مجموعه کاراکترهای
•
تکمیل مطالب گذشته
Case
انواع داده
نوع داده
ASCII
ﺗﺎﺑﻊ Ordﺷﻤﺎره ﺗﺮﺗﻴﺐ ﻳﻚ ﻛﺎراﻛﺘﺮ را در ﻣﺠﻤﻮﻋﻪ
ﺑﺮﻣﻲﮔﺮداﻧﺪ.
ASCII
•
ﻣﺜﻼً )’ Ord(’Bﻣﻘﺪار 66را ﺑﺮﻣﻲﮔﺮداﻧﺪ.
•
ﺗﺎﺑﻊ Chrﻛﺎراﻛﺘﺮ ﺑﺎ ﺷﻤﺎره ﺗﺮﺗﻴﺐ داده ﺷﺪه را ﺑﺮﻣﻲﮔﺮداﻧﺪ.
•
ﻣﺜﻼً ) Chr(66ﻛﺎراﻛﺘﺮ ’ ’Bرا ﺑﺮﻣﻲﮔﺮداﻧﺪ.
7 / 26
آبان 88
Char
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
Case
تکمیل مطالب گذشته
انواع داده
نوع داده
استفاده از متغیرهای کاراکتری
Char
var
;A, B : Char
;Ch : Char
begin
;’A := ’A
;’A := ’B
;’*’ =A :
;))WriteLn(Ord(A
;B := A
}’ ’{ ;)Ch := Chr(32
;)ReadLn(Ch
)Read(Ch
end.
8 / 26
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
Case
انواع داده
تکمیل مطالب گذشته
نوع داده
نوع داده رشته
•
ﻳﻚ رﺷﺘﻪ دﻧﺒﺎﻟﻪاي ﺑﻪ ﻃﻮل ﺻﻔﺮ ﻳﺎ ﺑﻴﺸﺘﺮ از ﻛﺎراﻛﺘﺮﻫﺎﺳﺖ.
•
رﺷﺘﻪﻫﺎ در ﭘﺎﺳﻜﺎل در ﺑﻴﻦ دو ﻋﻼﻣﺖ ’ ﻗﺮار ﻣﻲﮔﻴﺮد.
•
رﺷﺘﻪ ﺑﻪ ﻃﻮل ﺻﻔﺮ ،رﺷﺘﻪ ﺗﻬﻲ ) (nullﻧﺎﻣﻴﺪه ﻣﻲﺷﻮد و ﺑﻪ ﺻﻮرت
” ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮد.
•
ﻫﺮ ﻛﺎراﻛﺘﺮ در ﻳﻚ رﺷﺘﻪ ،ﻣﺤﻞ ﻣﺸﺨﺼﻲ دارد.
•
اوﻟﻴﻦ ﻛﺎراﻛﺘﺮ در رﺷﺘﻪ در ﻣﺤﻞ ،1دوﻣﻴﻦ ﻛﺎراﻛﺘﺮ در ﻣﺤﻞ 2و
...ﻗﺮار دارﻧﺪ.
•
ﻃﻮل ﻳﻚ رﺷﺘﻪ ،ﺗﻌﺪاد ﻛﺎراﻛﺘﺮﻫﺎي ﺗﺸﻜﻴﻞ دﻫﻨﺪه آن اﺳﺖ.
9 / 26
آبان 88
برنامهنویسی پاسکال
Char
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
تکمیل مطالب گذشته
Case
استفاده از متغیرهای کاراکتری
انواع داده
نوع داده
Char
var
;A, B : String
;St : String
begin
;’A := ’ABCDEF
;’A := ’B
;’)A := ’*(ABC
;)WriteLn(A
;B := A
;)ReadLn(A
)Read(A, B
end.
10 / 26
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
انواع داده
دستور شرط
تکمیل مطالب گذشته
Case
دستور
چند انتخابیif تو در تو بهif تبدیل
if Single then
if Gender = ’M’then
if (Age >= 18) and Age <= 26) then
WriteLn(’Current person satisfies the critieria
if Single and (Gender = ’M’) and
(Age >= 18) and Age <= 26) then
WriteLn(’Current person satisfies the critieria.’)
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
11 / 26
دستور
تکمیل مطالب گذشته
Case
انواع داده
دستور شرط
مثال
•
•
•
12 / 26
اﮔﺮ در ﺗﺎﺑﺴﺘﺎن ﺑﻴﺸﺘﺮ از 2000$درآﻣﺪ داﺷﺘﻴﺪ و ﻧﻤﺮه ﺷﻤﺎ از
1300ﺑﻴﺸﺘﺮ ﺷﺪ ،ﻣﻲﺗﻮاﻧﻴﺪ ﺑﻪ داﻧﺸﮕﺎه ﻣﻮرد ﻋﻼﻗﻪ ﺧﻮد ﺑﺮوﻳﺪ.
اﮔﺮ ﻧﻤﺮه ﺷﻤﺎ از 1300ﻛﻤﺘﺮ ﺷﺪ وﻟﻲ ﺣﻘﻮق ﺷﻤﺎ ﺑﻴﺸﺘﺮ از
2000$ﺑﺎﺷﺪ ،داﻧﺸﮕﺎه ﺧﻮد را ﺑﻪ ﺷﻤﺎ ﭘﻴﺸﻨﻬﺎد ﻣﻲﻛﻨﻨﺪ.
اﮔﺮ ﺣﻘﻮق ﺷﻤﺎ در ﺗﺎﺑﺴﺘﺎن از 2000$ﺑﻴﺸﺘﺮ ﻧﺒﻮد ،ﻓﻘﻂ ﻣﻲﺗﻮاﻧﻴﺪ
ﺑﻪ داﻧﺸﮕﺎه ﻣﺤﻞ ﺳﻜﻮﻧﺖﺗﺎن ﺑﺮوﻳﺪ.
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
انواع داده
تکمیل مطالب گذشته
دستور شرط
Case
دستور
( تو در توif) مثال
if Earning > 2000 then
if SAT > 1300 then
WriteLn(’Apply to first-choice college.’)
else
WriteLn(’Apply to parents alma mater.’)
else
WriteLn(’Apply to local college.’)
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
13 / 26
انواع داده
تکمیل مطالب گذشته
دستور شرط
Case
دستور
( چند انتخابیif) مثال
if (Earning > 2000) and (SAT > 1300) then
WriteLn(’Apply to first-choice college.’)
else if (Earning > 2000) then
WriteLn(’Apply to parents alma mater.’)
else
WriteLn(’Apply to local college.’)
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
14 / 26
دستور
تکمیل مطالب گذشته
Case
نتیجه عبارات ریاضی
محاسبه عبارات
B
2
102 div 100
102 mod 100
Z - (A + B div 2) + W * Y
A div
+
W
Y
انواع داده
7 div 2 / 3
Z
7 / 2 div 3
-
*
+
15 / 26
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
تکمیل مطالب گذشته
Case
نتیجه عبارات ریاضی
مدار کوتاه در عبارات بولی
•
•
16 / 26
انواع داده
در ﺗﻮرﺑﻮ ﭘﺎﺳﻜﺎل ،ﺑﻪ ﺻﻮرت ﭘﻴﺶﻓﺮض در اوﻟﻴﻦ زﻣﺎﻧﻲ ﻛﻪ ﻧﺘﻴﺠﻪ
ﻳﻚ ﻋﺒﺎرت ﺑﻮﻟﻲ ﻣﺸﺨﺺ ﺑﺎﺷﺪ ،ﻛﺎر ﻣﺤﺎﺳﺒﻪ آن ﺧﺎﺗﻤﻪ ﻣﻲﻳﺎﺑﺪ.
در ﺻﻮرت ﻧﻴﺎز ﻣﻲﺗﻮان اﻳﻦ ﺗﻨﻈﻴﻢ را ﺗﻐﻴﻴﺮ داد.
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
تکمیل مطالب گذشته
Case
انواع داده
نتیجه عبارات ریاضی
مدار کوتاه در عبارات بولی
if (X <> 0) and (Y / X > 50) then
. . .
•
•
اﮔﺮ X = 0و ﺷﺮط دوم ﺑﺮرﺳﻲ ﺷﻮد )ﻛﻪ در ﺣﺎﻟﺖ ﻋﺎدي ﺑﺮرﺳﻲ
ﻧﻤﻲﺷﻮد( ،ﺧﻄﺎي ﺗﻘﺴﻴﻢ ﺑﺮ ﺻﻔﺮ رخ ﻣﻲدﻫﺪ.
ﺑﺮاي ﻋﺪم ﺑﺮوز ﭼﻨﻴﻦ ﻣﺸﻜﻠﻲ ﺑﺎ ﻛﺎﻣﭙﺎﻳﻠﺮﻫﺎي ﺑﺪون ﻣﺪار ﻛﻮﺗﺎه،
ﻣﻲﺗﻮان ﺷﺮط را ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻐﻴﻴﺮ داد.
if (X <> 0) then
if (Y / X > 50) then
. . .
17 / 26
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
تکمیل مطالب گذشته
Case
انواع داده
دستور
دستور Case
•
•
•
18 / 26
Case
اﻳﻦ دﺳﺘﻮر ،ﻣﺎﻧﻨﺪ ifﻣﻲﺗﻮاﻧﺪ ﺑﺮاي اﻧﺘﺨﺎب ﻳﻜﻲ از ﭼﻨﺪ ﺣﺎﻟﺖ
اﺳﺘﻔﺎده ﺷﻮد.
زﻣﺎﻧﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد ﻛﻪ اﻧﺘﺨﺎب ﺑﺮ اﺳﺎس ﻳﻚ ﻣﺘﻐﻴﺮ ﻳﺎ ﻋﺒﺎرت
ﺳﺎده از ﻧﻮع ﺗﺮﺗﻴﺒﻲ اﺳﺖ .ﻳﻌﻨﻲ ﻣﻲﺗﻮان ﻫﻤﻪ ﻣﻘﺎدﻳﺮ آن را ﻟﻴﺴﺖ
ﻛﺮد.
ﻳﻌﻨﻲ Boolean ،Integerو .Char
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
انواع داده
Case
تکمیل مطالب گذشته
دستور
Case
دستور
(روزهای هفته )عددی
case DayNumber of
1, 7 : Gross := Hours * 1.5 * DailyRate;
2, 3, 4, 5, 6 : Gross := Hours * DailyRate
end; {case}
if (DayNumber = 1) or (DayNumber = 7) then
Gross := Hours * 1.5 * DailyRate
else if (DayNumber = 2) or
(DayNumber = 3) or
(DayNumber = 4) or
(DayNumber = 5) then
Gross := Hours * DailyRate
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
19 / 26
دستور
تکمیل مطالب گذشته
Case
انواع داده
دستور
روزهای هفته )عددی(
Case
case DayNumber of
;1, 7 : Gross := Hours * 1.5 * DailyRate
2, 3, 4, 5, 6 : Gross := Hours * DailyRate
2..6 : Gross ...
}end; {case
20 / 26
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
انواع داده
Case
تکمیل مطالب گذشته
دستور
Case
دستور
با نوع کاراکترcase دستور
case MomOrDad of
’M’, ’m’: WriteLn(’Hello Mom’);
’D’, ’d’: WriteLn(’Hello Dad’)
end; {case}
if (MomOrDad = ’M’) or (MomOrDad = ’m’) then
WriteLn(’Hello Mom’)
else if (MomOrDad = ’D’) or (MomOrDad = ’d’)
WriteLn(’Hello Dad’)
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
21 / 26
انواع داده
Case
تکمیل مطالب گذشته
Case
دستور
Case
دستور
دستورSyntax
case selector of
label1 : Statement1;
label2 : Statement2;
.
.
.
labeln : Statementn
;
else
Statemente
end {case}
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
22 / 26
انواع داده
Case
تکمیل مطالب گذشته
دستور
Case
Case در
دستور
دستورات ترکیبی
case N of
1, 2 : begin
Write(’1, 2, ’);
WriteLn(’Buckle my shoe’)
end; {1, 2}
3, 4 : WriteLn(’3, 4, Shut the door’);
5, 6 : WriteLn(’5, 6, Pick up sticks’)
else
WriteLn(N, ’is out of range’)
end; {case}
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
23 / 26
دستور
تکمیل مطالب گذشته
Case
نکاتی در مورد
•
•
انواع داده
دستور
Case
اﮔﺮ ﻫﻴﭻﻳﻚ از ﺷﺮاﻳﻂ ﻗﺒﻞ از elseﺑﺮﻗﺮار ﻧﺒﻮدﻧﺪ ،دﺳﺘﻮر ﺑﻌﺪ از
elseاﺟﺮا ﻣﻲﺷﻮد )در ﺻﻮرت وﺟﻮد .(else
در ﭘﺎﺳﻜﺎل اﺳﺘﺎﻧﺪارد elseوﺟﻮد ﻧﺪارد ،و اﮔﺮ ﻫﻴﭻﻳﻚ از ﺷﺮاﻳﻂ
caseﺑﺮﻗﺮار ﻧﺒﺎﺷﺪ ،ﻳﻚ ﺧﻄﺎي زﻣﺎن اﺟﺮا رخ ﻣﻲدﻫﺪ.
•
ﻫﺮ ﻣﻘﺪار ﺣﺪاﻛﺜﺮ ﻣﻲﺗﻮاﻧﺪ در ﻳﻚ labelﻗﺮار ﺑﮕﻴﺮد) .اﮔﺮ ﺑﻴﺸﺘﺮ
ﺷﻮد ﭼﻪ اﺗﻔﺎﻗﻲ ﻣﻲاﻓﺘﺪ؟(
•
caseﺧﻮاﻧﺎﺗﺮ و ﻛﺎراﺗﺮ اﺳﺖ ،وﻟﻲ ifﻗﺪرت ﺑﻴﺸﺘﺮي دارد.
24 / 26
Case
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
تکمیل مطالب گذشته
Case
محافظت از
•
انواع داده
دستور
دستور case
Case
ﮔﺎﻫﻲ اوﻗﺎت ﻣﺤﺎﻓﻈﺖ از دﺳﺘﻮر caseدر ﻣﻘﺎﺑﻞ وروديﻫﺎي
ﻏﻴﺮﻣﻌﺘﺒﺮ ﺿﺮوري ﻣﻲﺑﺎﺷﺪ.
if (DayNumber >= 1) and (DayNumber <= 7) then
case DayNumber of
;1, 7 : Gross := Hours * 1.5 * DailyRate
2..6 : Gross := Hours * DailyRate
end
else
)’WriteLn(’invalid day number.
25 / 26
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
تکمیل مطالب گذشته
Case
تبدیل دستور
انواع داده
دستور
ifبه case
Case
case X = Y of
;)’True : WriteLn(’Equal
)’False : WriteLn(’Unequal
}end {case
26 / 26
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
© Copyright 2026 Paperzz