دستور
ساختارهای کنترلی برنامهنویسی
for
ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل
ﻣﺪرس :ﻧﻮري
داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ
آﺑﺎن
1 / 34
آبان 88
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
ساختارهای الزم
ساختارهای الزم برای برنامهنویسی
•
•
•
2 / 34
ﺑﺮاي ﻛﻨﺘﺮل اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺳﻪ ﺳﺎﺧﺘﺎر ﻛﻨﺘﺮل ﺗﺮﺗﻴﺐ ،اﻧﺘﺨﺎب و
ﺗﻜﺮار ﻧﻴﺎزﻣﻨﺪﻳﻢ.
ﺳﺎﺧﺘﺎرﻫﺎي ﻛﻨﺘﺮﻟﻲ ﺗﺮﺗﻴﺐ و اﻧﺘﺨﺎب را ﭘﻴﺶ از اﻳﻦ دﻳﺪﻳﻢ.
ﺳﺎﺧﺘﺎر ﺗﻜﺮار را در اﻳﻦ ﺟﻠﺴﻪ ﻣﻲآﻣﻮزﻳﻢ.
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
ساختارهای الزم
ساختار ترتیب
•
ﺳﺎﺧﺘﺎر ﻛﻨﺘﺮﻟﻲ ﺗﺮﺗﻴﺐ
begin
;Statement1
;Statement2
Statement3
end
3 / 34
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
ساختارهای الزم
ساختار انتخاب
•
ﺳﺎﺧﺘﺎرﻫﺎي ﻛﻨﺘﺮﻟﻲ اﻧﺘﺨﺎب دﺳﺘﻮرات ifو caseﻫﺴﺘﻨﺪ.
if Condition then
StatementT
else
; StatementF
4 / 34
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
ساختارهای الزم
برنامه مرتب سازی چهار نام
•
5 / 34
ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺳﻪ ﻧﺎم را درﻳﺎﻓﺖ ﻛﺮده و آنﻫﺎ را ﺑﻪ
ﺻﻮرت ﻣﺮﺗﺐ ﺷﺪه ﺻﻌﻮدي ﭼﺎپ ﻛﻨﺪ.
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
ساختارهای الزم
ساختار تکرار
•
ﺳﺎﺧﺘﺎرﻫﺎي ﻛﻨﺘﺮﻟﻲ ﺗﻜﺮار در ﭘﺎﺳﻜﺎل دﺳﺘﻮرات while ،forو
repeatﻫﺴﺘﻨﺪ.
•
دﺳﺘﻮر forﺳﺎدهﺗﺮﻳﻦ دﺳﺘﻮر در ﺑﻴﻦ اﻳﻦ دﺳﺘﻮرات اﺳﺖ.
•
forﻗﺎﺑﻠﻴﺖ ﺷﻤﺎرش از ﻳﻚ ﻣﻘﺪار اوﻟﻴﻪ ﺗﺎ ﻳﻚ ﻣﻘﺪار ﻧﻬﺎﻳﻲ را
دارد.
6 / 34
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
ساختارهای کنترلی برنامهنویسی
for
for
دستور
for
دستور
دستورSyntax
for counter := initial to final do
Statement;
for counter := initial to final do
begin
Statement1 ;
Statement2 ;
Statement3
end
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88 آبان
7 / 34
دستور
ساختارهای کنترلی برنامهنویسی
for
مثالهای از دستور
دستور
for
for
for Line := 1 to 10 do
;WriteLn
}{Print 10 blank lines
for I := 1 to 4 do
;)WriteLn(’Line no. ’, I
8 / 34
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
for
نکاتی در مورد دستور
•
•
•
9 / 34
ساختارهای کنترلی برنامهنویسی
دستور
for
for
دﺳﺘﻮر داﺧﻞ ﺣﻠﻘﻪ ﺑﻪ ازاي ﻫﺮ ﻣﻘﺪار ﺷﻤﺎرﻧﺪه از ﻣﻘﺪار اوﻟﻴﻪ ﺗﺎ
ﻧﻬﺎﻳﻲ ﻳﻚ ﺑﺎر اﺟﺮا ﻣﻲﺷﻮد.
ﻧﻮع ﻣﺘﻐﻴﺮ ﺷﻤﺎرﻧﺪه ﻓﻘﻂ ﻣﻲﺗﻮاﻧﺪ از اﻧﻮاع ﺗﺮﺗﻴﺒﻲ ) (Ordinalﺑﺎﺷﺪ
)ﺻﺤﻴﺢ ،ﻛﺎراﻛﺘﺮ و ﺑﻮﻟﻲ(.
ﻣﻘﺎدﻳﺮ اوﻟﻴﻪ ﺑﺎﻳﺪ ﻫﻢ ﻧﻮع ﺷﻤﺎرﻧﺪه ﺑﻮده و ﻣﻲﺗﻮاﻧﻨﺪ ﻣﻘﺪار ﺛﺎﺑﺖ،
ﻳﻚ ﻣﺘﻐﻴﺮ ﻳﺎ ﻳﻚ ﻋﺒﺎرت ﺑﺎﺷﻨﺪ.
آبان 88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
نکاتی در مورد دستور
دستور
for
•
اﮔﺮ ﻣﻘﺪار ﻧﻬﺎﻳﻲ از اوﻟﻴﻪ ﻛﻤﺘﺮ ﺑﺎﺷﺪ ،ﺑﺪﻧﻪ ﺣﻠﻘﻪ اﺻﻼً اﺟﺮا ﻧﻤﻲﺷﻮد.
•
ﻣﻘﺪار ﺷﻤﺎرﻧﺪه ) (counterﻧﺒﺎﻳﺪ در ﺑﺪﻧﻪ ﺣﻠﻘﻪ ﺗﻐﻴﻴﺮ ﻛﻨﺪ.
•
•
10 / 34
for
ﻣﻘﺪار ﻧﻬﺎﻳﻲ ﻓﻘﻂ ﻳﻜﺒﺎر در آﻏﺎز دﺳﺘﻮر ﺣﻠﻘﻪ ﻣﺤﺎﺳﺒﻪ ﻣﻲﺷﻮد و
ﺗﻐﻴﻴﺮ آن ﺗﺄﺛﻴﺮي در ﺗﻌﺪاد دﻓﻌﺎت اﺟﺮاي ﺣﻠﻘﻪ ﻧﺪارد.
ﺑﻌﺪ از اﺗﻤﺎم ﺣﻠﻘﻪ ،ﻣﻘﺪار ﺷﻤﺎرﻧﺪه ﺑﺮاﺑﺮ آﺧﺮﻳﻦ ﻣﻘﺪار آن در
اﺟﺮاي ﺑﺪﻧﻪ ﺣﻠﻘﻪ ﺧﻮاﻫﺪ ﺑﻮد.
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
محاسبه مجذور اعداد 1تا
دستور
for
n
for I := 1 to N do
;))WriteLn(’Square of ’, I, ’is ’, Sqr(I
11 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
مثال
دستور
دستور for
for
;)ReadLn(st
;)ReadLn(n
For I := 1 to n do
;)WriteLn(st
12 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
حلقه forبا پرش بیشتر از
•
دستور
for
1
اﮔﺮ ﺣﻠﻘﻪاي ﺑﺎ ﭘﺮش ﺑﻴﺸﺘﺮ از 1ﻧﻴﺎز داﺷﺘﻴﺪ ،آن را در ﺿﺮﻳﺐ
ﻻزم ﺿﺮب ﻛﻨﻴﺪ.
for I := 1 to 10 do
;)WriteLn(2 * I
13 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
حلقه forبا پرش اعشاری
•
for
اﮔﺮ ﺣﻠﻘﻪاي ﺑﺎ ﭘﺮش اﻋﺸﺎري ﻻزم داﺷﺘﻴﺪ )ﻣﺜﻞ (0.5ﺿﺮﻳﺐ
ﻣﻨﺎﺳﺐ ﺑﺮاي ﺗﺒﺪﻳﻞ آن ﺑﻪ ﺻﺤﻴﺢ را ﺑﻴﺎﺑﻴﺪ.
for I := 0 to 10 do
;)WriteLn(I/2
14 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
حلقه forنزولی
•
ﺑﺮاي اﻳﺠﺎد دﺳﺘﻮر ﺣﻠﻘﻪ ﻧﺰوﻟﻲ ﻣﻲﺗﻮان از downtoﺑﻪ ﺟﺎي
اﺳﺘﻔﺎده ﻛﺮد
for
to
for I := 10 downto 0 do
;)WriteLn(I
15 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
ساختارهای کنترلی برنامهنویسی
for
for
دستور
دستور
محاسبه میانگین سه عدد
var
A, B, C : Integer;
Sum : Integer;
Average : Real;
begin
ReadLn(A);
ReadLn(B);
ReadLn(C);
Sum := A + B + C;
Average := Sum / 3;
WriteLn(’The average of the numbers = ’, Average)
end.
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
16 / 34
ساختارهای کنترلی برنامهنویسی
for
دستور
for
for از
دستور
برنامه محاسبه میانگین با استفاده
var
A : Integer;
Sum : Integer;
Average : Real;
I : Integer;
begin
Sum := 0;
for I := 1 to 3 do
begin
ReadLn(A);
Sum := Sum + A
end;
Average := Sum / 3;
WriteLn(’The average of the numbers = ’, Average)
end.
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
17 / 34
دستور
ساختارهای کنترلی برنامهنویسی
for
مزایای نوشتن برنامه قبلی با استفاده از
•
ﺑﺮﻧﺎﻣﻪ ﺑﺮاي ﺗﻌﺪاد زﻳﺎد ورودي ﻛﻮﺗﺎهﺗﺮ اﺳﺖ
•
راﺣﺖﺗﺮ ﻣﻲﺗﻮان آن را ﮔﺴﺘﺮش داد.
18 / 34
آبان
88
برنامهنویسی پاسکال
دستور
for
for
)دانشگاه صنعتی شریف( مدرس :نوری
ساختارهای کنترلی برنامهنویسی
for
دستور
for
for از
دستور
برنامه محاسبه میانگین با استفاده
var
A, Sum, I, MaxI : Integer;
Average : Real;
begin
Sum := 0;
ReadLn(MaxI);
for I := 1 to MaxI do
begin
ReadLn(A);
Sum := Sum + A
end;
Average := Sum / MaxI;
WriteLn(’The average of the numbers = ’, Average)
end.
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
19 / 34
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
برنامه محاسبه ماکزیمم 10عدد
•
20 / 34
for
ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ 10ﻋﺪد را درﻳﺎﻓﺖ ﻛﺮده و ﻣﺎﻛﺰﻳﻤﻢ اﻳﻦ
10ﻋﺪد را ﻣﺤﺎﺳﺒﻪ ﻛﻨﺪ.
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
حلقه تو در تو
•
ﻣﻲﺗﻮان در ﺑﺪﻧﻪ ﻳﻚ ﺣﻠﻘﻪ ،ﻳﻚ ﺣﻠﻘﻪ دﻳﮕﺮ را ﻗﺮار داد.
•
در اﻳﻦ ﺻﻮرت ﻳﻚ ﺣﻠﻘﻪ ﺗﻮ در ﺗﻮ ﺧﻮاﻫﻴﻢ داﺷﺖ.
21 / 34
آبان
88
برنامهنویسی پاسکال
for
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
برنامه رسم جدول ضرب
•
22 / 34
for
ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺟﺪول ﺿﺮب 10*10را ﭼﺎپ ﻛﻨﺪ.
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
برنامه رسم جدول ضرب
for
var
;I, J : Integer
begin
for I := 1 to 10 do
for J := 1 to 10 do
)Write(I * J : 3
end.
23 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
برنامه رسم جدول ضرب
for
var
;I, J : Integer
begin
for I := 1 to 10 do
begin
for J := 1 to 10 do
)Write(I * J : 3
;WriteLn
end
end.
24 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
برنامه رسم جدول ضرب
25 / 34
آبان
88
برنامهنویسی پاسکال
for
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
برنامه رسم جدول ضرب
for
var
;I, J : Integer
begin
for I := 1 to 10 do
begin
for J := 1 to 10 do
)Write(I * J : 4
;WriteLn
end
end.
26 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
برنامه رسم جدول ضرب
27 / 34
آبان
88
برنامهنویسی پاسکال
for
)دانشگاه صنعتی شریف( مدرس :نوری
ساختارهای کنترلی برنامهنویسی
for
for
دستور
for Ch := ’A’
Write(Ch:4);
WriteLn;
for Ch := ’z’
Write(Ch:4);
WriteLn;
for Ch := ’z’
Write(Ch:4);
WriteLn;
for Ch := ’Z’
Write(Ch:4);
نوری:)دانشگاه صنعتی شریف( مدرس
دستور
با شمارنده کاراکتریfor دستور
to ’Z’do
downto ’a’do
to ’Z’do
to ’z’do
برنامهنویسی پاسکال
88
آبان
28 / 34
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
خروجی برنامه قبلی
29 / 34
آبان
88
برنامهنویسی پاسکال
for
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور forبا شمارنده بولی
دستور
for
for Flag := False to True do
;)WriteLn(Flag
30 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
ساختارهای کنترلی برنامهنویسی
for
for
دستور
4
دستور
تا1 برنامه چاپ مجذور و جذر اعداد
program Squares;
{Displays a table of integers and their
squares and sqaure roots}
const
MAX_I = 4; {largest integer in table}
var
I,
{counter variable}
Square : Integer; {output - square of I}
Root : Real;
{output - square root of I}
نوری:)دانشگاه صنعتی شریف( مدرس
برنامهنویسی پاسکال
88
آبان
31 / 34
دستور
ساختارهای کنترلی برنامهنویسی
for
برنامه چاپ مجذور و جذر اعداد 1تا
دستور
for
4
}begin; {Squares
;)WriteLn(’I’: 10, ’I * I’:10, ’Square root’:15
for I := 1 to MAX_I do
begin
;)Square := Sqr(I
;)Root := Sqrt(I
)WriteLn(I:10, Square:10, Root:15:1
end
}end. {Squares
32 / 34
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
خروجی برنامه قبلی
33 / 34
آبان
88
برنامهنویسی پاسکال
for
)دانشگاه صنعتی شریف( مدرس :نوری
دستور
ساختارهای کنترلی برنامهنویسی
for
دستور
تمرین
•
•
34 / 34
for
ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺟﻤﻠﻪ nام ﺳﺮي ﻓﻴﺒﻮﻧﺎﺗﭽﻲ را ﺣﺴﺎب ﻛﻨﺪ.
ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺟﻤﻠﻪ nام ﺗﺼﺎﻋﺪ ﻫﻨﺪﺳﻲ و ﺣﺴﺎﺑﻲ و
ﻣﺠﻤﻮع nﺟﻤﻠﻪ اول را ﺣﺴﺎب ﻛﻨﺪ.
آبان
88
برنامهنویسی پاسکال
)دانشگاه صنعتی شریف( مدرس :نوری
© Copyright 2026 Paperzz