SlideShare a Scribd company logo
1 of 4
Download to read offline
‫‪: Stack‬‬

‫ﺣﺎﻝ ﺑﻪ ﺑﺮﺭﺳﻲ ﻋﻤﻠﻲ ﭼﻨﺪ ﻣﺜﺎﻝ ﺍﺯ ﺍﻧﺘﺰﺍﻉ ﺩﺍﺩﻩ ﻣﻲ ﭘﺮﺩﺍﺯﻳﻢ ﻧﻮﻉ ﺩﺍﺩﻩ ‪ Stack‬ﻳﺎ ﭘﺸﺘﻪ ﻧﻮﻉ ﺩﺍﺩﻩ ﺍﻱ ﺍﺳـﺖ‬


‫ﻛﻪ ﺑﺮﺍﻱ ﺫﺧﻴﺮﻩ ﺩﺍﺩﻩ ﻫﺎ ﻭ ﺍﻧﺒﺎﺷﺘﻦ ﺁﻧﻬﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﺷﻮﺩ. ﺩﺭ ﺍﻳﻦ ﺳﺎﺧﺘﺎﺭ ﺁﺧﺮﻳﻦ ﺩﺍﺩﻩ ﻫﺎﻳﻲ ﻛﻪ ﺫﺧﻴﺮﻩ ﺷﺪﻩ ﺍﻧـﺪ‬


                                                   ‫ﺍﻭﻟﻴﻦ ﺩﺍﺩﻩ ﻫﺎﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺧﻮﺍﻧﺪﻩ ﻣﻲ ﺷﻮﻧﺪ.)‪(1LIFO‬‬


‫ﻛﺎﺭﺑﺮﺩ ﺍﻳﻦ ﻧﻮﻉ ﺩﺍﺩﻩ ﺩﺭ ﻓﺮﺍﺧﻮﺍﻧﻲ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﺳﺖ ﭼﻨﺎﻧﻜﻪ ﺩﺭ ﺑﺨﺶ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺗﻮﺿﻴﺢ ﺩﺍﺩﻩ ﺷﺪ، ﺯﻳﺮ‬


                                                ‫ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺭﺍ ﻣﻲ ﺗﻮﺍﻥ ﺍﺯ ﺩﺭﻭﻥ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﺩﻳﮕﺮ ﺻﺪﺍ ﺯﺩ.‬


‫ﺩﺭ ﺍﻳﻦ ﻣﻮﺍﺭﺩ ﻣﻜﺎﻧﻲ ﺍﺑﺮ ﺑﺮﻧﺎﻣﻪ ﻛﻪ ﺍﺟﺮﺍ ﺩﺭ ﺁﻥ ﻣﺘﻮﻗﻒ ﻭ ﺑﻪ ﺑﺨﺶ ﺩﻳﮕﺮﻱ ﻣﻨﺘﻘﻞ ﺷﺪﻩ ﺩﺭ ﺣﺎﻓﻈـﻪ ﺫﺧﻴـﺮﻩ‬


‫ﺷﻮﺩ ﻭ ﭘﺲ ﺍﺯ ﺍﺗﻤﺎﻡ ﻛﺎﺭ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﺍﺯ ﻣﺤﻞ ﺗﻮﻗﻒ ﺍﺟﺮﺍ ﺍﺩﺍﻣﻪ ﻳﺎﺑﺪ. ﺣﺎﻝ ﺍﮔﺮ ﺩﻭ ﺯﻳﺮ ﺑﺮﻧﺎﻣـﻪ ﺩﺭﻭﻥ ﻫـﻢ ﻓﺮﺍﺧـﻮﺍﻧﻲ‬


                              ‫ﺷﻮﻧﺪ ﺍﺑﺘﺪﺍ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﺩﻭﻡ ﭘﺎﻳﺎﻥ ﻣﻲ ﻳﺎﺑﺪ ﻭ ﺳﭙﺲ ﺍﻭﻝ ﻭ ﻟﺬﺍ ‪ LIFO‬ﻣﻔﻴﺪ ﺍﺳﺖ.‬




                                                     ‫‪¾¶IºoM kº»n‬‬

                      ‫‪¾¶IºoM oÄp‬‬



                  ‫‪³»j ¾¶IºoM oÄp‬‬




                                                        ‫ﻛﺪﻫﺎﻱ ﺯﻳﺮ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﻫﺴﺘﻨﺪ.‬


‫‪ Stack‬ﻳﻚ ﺳﺎﺧﺘﺎﺭ ﺫﺧﻴﺮﻩ ﺍﻃﻼﻋﺎﺕ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺁﻥ ﺁﺧﺮﻳﻦ ﺩﺍﺩﻩ ﺫﺧﻴﺮﻩ ﺷﺪﻩ ﺍﻭﻟﻴﻦ ﺩﺍﺩﻩ ﺍﻱ ﺍﺳﺖ ﻛـﻪ‬


‫ﺑﺮﺩﺍﺷﺘﻪ ﻣﻲ ﺷﻮﺩ. ﺍﻳﻦ ﺳﺎﺧﺘﺎﺭ ﺩﻗﻴﻘﺎ ﻣﺸﺎﺑﻪ ﻳﻚ ﭘﺸﺘﻪ ﺍﺳﺖ ﻛﻪ ﺍﺑﺰﺍﺭﺗﺎﻥ ﺭﺍ ﺩﺭ ﺁﻥ ﺗﻞ ﺍﻧﺒﺎﺭ ﻛـﺮﺩﻩ ﺍﻳـﺪ. ﺁﺧـﺮﻳﻦ‬
‫ﻭﺳﻴﻠﻪ ﺍﻱ ﺭﻭﻱ ﭘﺸﺘﻪ ﺭﻳﺨﺘﻪ ﺑﺎﺷﻴﺪ، ﺍﻭﻟﻴﻦ ﻭﺳﻴﻠﻪ ﺍﻱ ﺍﺳﺖ ﻛﻪ ﺑﺮ ﻣﻴﺪﺍﺭﻳﺪ.‬


‫ﺩﺭ ﺫﺧﻴﺮﻩ ﺩﺍﺩﻩ ﻫﺎ ﺩﺭ ﭘﺸﺘﻪ ﺩﻭ ﻋﻤﻞ ﻭﺟﻮﺩ ﺩﺍﺭﺩ. ﻳﻜﻲ ﺍﻧﺒﺎﺭ ﺩﺍﺩﻩ ﻳﺎ ‪ Push‬ﻛﻪ ﻗﺮﺍﺭ ﺩﺍﺩﻥ ﺩﺍﺩﻩ ﺟﺪﻳـﺪ ﺩﺭ‬


                 ‫ﺭﻭﻱ ﭘﺸﺘﻪ ﺍﺳﺖ ﻭ ﺩﻳﮕﺮﻱ ﺑﺮﺩﺍﺷﺖ ﻳﺎ ‪ Pop‬ﻛﻪ ﻋﻤﻞ ﺑﺮﺩﺍﺷﺘﻦ ﻳﻚ ﺩﺍﺩﻩ ﺍﺯ ﺭﻭﻱ ﭘﺸﺘﻪ ﺍﺳﺖ.‬


‫ﺑﻪ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺎﻳﺪ ﻳﻚ ﺑﺨﺶ ﺣﺎﻓﻈﻪ ﺍﺧﺘﺼﺎﺹ ﻳﺎﺑﺪ ﻫﻤﭽﻨﻴﻦ ﻧﻴﺎﺯ ﺑﻪ ﻳﻚ ﻣﺘﻐﻴﺮ ﺍﺳﺖ ﻛﻪ ﻧﺸﺎﻥ ﺩﻫﺪ ﺭﻭﻱ‬


                                     ‫ﭘﺸﺘﻪ ﻛﺠﺎﺳﺖ. ﺩﺭ ﻋﺎﻟﻢ ﻃﺒﻴﻌﺖ ﻣﻌﻤﻮ ﹰ ﺍﺭﺗﻔﺎﻉ ﭘﺸﺘﻪ ﺍﻳﻦ ﻣﺘﻐﻴﺮ ﺍﺳﺖ!‬
                                                                ‫ﻻ‬


                 ‫ﺍﻛﻨﻮﻥ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺭﺍ ﻛﻪ ﺍﻳﻦ ﺳﺎﺧﺘﺎﺭ ﺫﺧﻴﺮﻩ ﺳﺎﺯﻱ ﺭﺍ ﭘﻴﺎﺩﻩ ﻣﻲ ﻛﻨﺪ ﺑﺎ ﻫﻢ ﻣﻲ ﻧﻮﻳﺴﻴﻢ.‬


‫ﺑﺮﺍﻱ ﺍﻳﻦ ﻛﺎﺭ ﺍﺑﺘﺪﺍ ﻳﻚ ﭘﺮﻭﮊﻩ ﺟﺪﻳﺪ ﺍﻳﺠﺎﺩ ﻛﻨﻴﺪ، ﺳﭙﺲ ﺩﺭ ﺑﺨﺶ ﺗﻌﺮﻳﻒ ﻣﺘﻐﻴﺮﻫﺎﻱ ﻋﻤﻮﻣﻲ ﻛﺘﺎﺑﺨﺎﻧﻪ‬


‫ﻣﺘﻐﻴﺮﻫﺎﻱ ﻋﻤﻮﻣﻲ ‪ Stack‬ﻭ ‪ StackTop‬ﺭﺍ ﻛﻪ ﺑﻪ ﺗﺮﺗﻴﺐ ﻓﻀﺎﻱ ﺫﺧﻴﺮﻩ ﺩﺍﺩﻩ ﻫﺎ ﻭ ﻣﺤﻞ ﺍﻧﺘﻬﺎﻱ ﭘﺸﺘﻪ ﺭﺍ ﻧﺸﺎﻥ‬


                                                                              ‫ﻣﻲ ﺩﻫﻨﺪ، ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ .‬


‫‪var‬‬
‫;1‪Form1:TForm‬‬
‫‪Stack : array [1..1024]of‬‬    ‫; ‪Extended‬‬
‫; ‪StackTop : Integer‬‬


                   ‫ﭘﺲ ﺍﺯ ﺁﻥ ﺩﺭ ﺑﺨﺶ ﺗﻌﺮﻳﻒ ﺗﻮﺍﺑﻊ ﻋﻤﻮﻣﻲ ﻛﺘﺎﺑﺨﺎﻧﻪ، ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﺯﻳﺮ ﺭﺍ ﺑﻨﻮﻳﺴﻴﺪ:‬
procedure push (a : Extended );
begin
        StackTop > 0 then
 if
 begin
   Stack [StackTop ] := a ;
   Form1.Memo1.Lines .Add (′Pushing ′ + FloatToStr (a ));
   StackTop := StackTop − 1;
 end else
   Form1.Memo1.lines .Add (' Stack overflow ');
end ;


procedure pop (var a : Extended );
begin
        StackTop < 1024 then
 if
 begin
   StackTop := StackTop + 1;
   a := Stack [StackTop ];
   Form1.Memo1.Lines .Add (′Popping ′ + FloatToStr (a ));
 end else
   Form1.Memo1.Lines .Add (′Stack is empty ′);
end‫؛‬

          .‫( ﺭﺍ ﺑﺮﮔﺰﻳﺪﻩ ﻭ ﺭﻭﻱ ﻓﺮﻡ ﻛﻠﻴﻚ ﻛﻨﻴﺪ‬MemoBox) ‫ ﺩﻓﺘﺮ ﻳﺎﺩﺩﺍﺷﺖ‬Standard ‫ﺣﺎﻝ ﺍﺯ ﺑﺨﺶ‬


                               .‫ﺩﺭ ﻧﻬﺎﻳﺖ ﺭﻭﻱ ﻓﺮﻡ ﺩﻭﺑﻞ ﻛﻠﻴﻚ ﻛﺮﺩﻩ ﻭ ﺩﺳﺘﻮﺭﺍﺕ ﺯﻳﺮ ﺭﺍ ﺑﻨﻮﻳﺴﻴﺪ‬
prodecure TForm1.FormCreate (Sender :Tobject );
var
 i = Integer‫؛‬
 b:Extended‫؛‬
begin
 StackTop := 1024;
 for i := 1 to 5 do
   push (Random (1000));
 for i := 1 to 5 do
   pop (b );
end ;


                                               .‫ﺍﻳﻦ ﺑﺮﻧﺎﻣﻪ ﺭﺍ ﺍﺟﺮﺍ ﻛﻨﻴﺪ ﻭ ﻧﺘﻴﺠﻪ ﺭﺍ ﺑﺒﻴﻨﻴﺪ‬


                                .‫ﺳﻌﻲ ﻛﻨﻴﺪ ﺑﺮﻧﺎﻣﻪ ﻭ ﻧﺤﻮﻩ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﭘﺸﺘﻪ ﺭﺍ ﺑﺮﺭﺳﻲ ﻛﻨﻴﺪ‬




                                                                1
                                                                    Last In First Out

More Related Content

What's hot

احمد قابل
احمد قابلاحمد قابل
احمد قابل
guest3fcbe
 
Soilmechanics2
Soilmechanics2Soilmechanics2
Soilmechanics2
guest680a4
 
Old Saudi Pics
Old Saudi PicsOld Saudi Pics
Old Saudi Pics
air
 
maple, part1
maple, part1 maple, part1
maple, part1
ahamidp
 
العادات السبع في العمل الناجح
العادات السبع في العمل الناجحالعادات السبع في العمل الناجح
العادات السبع في العمل الناجح
Ahmed Zeen EL Abeden
 
100 طريقة لتحفيز نفسك
100 طريقة لتحفيز نفسك100 طريقة لتحفيز نفسك
100 طريقة لتحفيز نفسك
anas0666
 
wall of apartheid
wall of apartheidwall of apartheid
wall of apartheid
diafayyad
 

What's hot (19)

مقدمه ای بر داده کاوی و اکتشاف دانش
مقدمه ای بر داده کاوی و اکتشاف دانشمقدمه ای بر داده کاوی و اکتشاف دانش
مقدمه ای بر داده کاوی و اکتشاف دانش
 
pamfelet
pamfeletpamfelet
pamfelet
 
احمد قابل
احمد قابلاحمد قابل
احمد قابل
 
Soilmechanics2
Soilmechanics2Soilmechanics2
Soilmechanics2
 
cool pics
cool picscool pics
cool pics
 
Old Saudi Pics
Old Saudi PicsOld Saudi Pics
Old Saudi Pics
 
maple, part1
maple, part1 maple, part1
maple, part1
 
الرؤية
الرؤيةالرؤية
الرؤية
 
العادات السبع في العمل الناجح
العادات السبع في العمل الناجحالعادات السبع في العمل الناجح
العادات السبع في العمل الناجح
 
Networks
NetworksNetworks
Networks
 
اگر خواستید یادم کنید
اگر خواستید یادم کنیداگر خواستید یادم کنید
اگر خواستید یادم کنید
 
[Nahu] - An wa3ul 'Irab (arabic)
[Nahu] - An wa3ul 'Irab (arabic)[Nahu] - An wa3ul 'Irab (arabic)
[Nahu] - An wa3ul 'Irab (arabic)
 
أرشيف عن الفنان أحمد فتحى
أرشيف عن الفنان  أحمد فتحىأرشيف عن الفنان  أحمد فتحى
أرشيف عن الفنان أحمد فتحى
 
menare
menaremenare
menare
 
100 طريقة لتحفيز نفسك
100 طريقة لتحفيز نفسك100 طريقة لتحفيز نفسك
100 طريقة لتحفيز نفسك
 
حقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآنحقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآن
 
Chocolate
ChocolateChocolate
Chocolate
 
چهل نكته درباره‌ي انتخابات
چهل نكته درباره‌ي انتخاباتچهل نكته درباره‌ي انتخابات
چهل نكته درباره‌ي انتخابات
 
wall of apartheid
wall of apartheidwall of apartheid
wall of apartheid
 

Viewers also liked

Viewers also liked (8)

Programa Auditori Municipal 2012
Programa Auditori Municipal 2012Programa Auditori Municipal 2012
Programa Auditori Municipal 2012
 
Bianco E Nero Art
Bianco E Nero ArtBianco E Nero Art
Bianco E Nero Art
 
السعادة
السعادةالسعادة
السعادة
 
siil ja siil
siil ja siilsiil ja siil
siil ja siil
 
Zadanak Na Konkurs Matematyczny
Zadanak Na Konkurs MatematycznyZadanak Na Konkurs Matematyczny
Zadanak Na Konkurs Matematyczny
 
Amamos skate
Amamos skateAmamos skate
Amamos skate
 
Dasar-dasar jQuery
Dasar-dasar jQueryDasar-dasar jQuery
Dasar-dasar jQuery
 
Remanente
RemanenteRemanente
Remanente
 

Similar to 0217

037 Khaterate Roospiane Sodazade
037 Khaterate Roospiane Sodazade037 Khaterate Roospiane Sodazade
037 Khaterate Roospiane Sodazade
Revoloution
 
maple , part2
maple , part2maple , part2
maple , part2
ahamidp
 
سيكولوجيه اللغه والمرض العقلى
سيكولوجيه اللغه والمرض العقلىسيكولوجيه اللغه والمرض العقلى
سيكولوجيه اللغه والمرض العقلى
mshary mshary
 

Similar to 0217 (20)

Abc U12 L22 Te Dg 100708
Abc U12 L22 Te Dg 100708Abc U12 L22 Te Dg 100708
Abc U12 L22 Te Dg 100708
 
037 Khaterate Roospiane Sodazade
037 Khaterate Roospiane Sodazade037 Khaterate Roospiane Sodazade
037 Khaterate Roospiane Sodazade
 
51313820316
5131382031651313820316
51313820316
 
pamfelet amozesh hamegani
pamfelet amozesh hameganipamfelet amozesh hamegani
pamfelet amozesh hamegani
 
kharid va foroosh interneti
kharid va foroosh internetikharid va foroosh interneti
kharid va foroosh interneti
 
The President’s Speech in Cairo: A New Beginning - Persian
The President’s Speech in Cairo: A New Beginning - PersianThe President’s Speech in Cairo: A New Beginning - Persian
The President’s Speech in Cairo: A New Beginning - Persian
 
توافق نامه خريد و فروش اينترنتي سهام
توافق نامه خريد و فروش اينترنتي سهامتوافق نامه خريد و فروش اينترنتي سهام
توافق نامه خريد و فروش اينترنتي سهام
 
تلخيص
تلخيصتلخيص
تلخيص
 
Warart
WarartWarart
Warart
 
The Invisible Web
The Invisible WebThe Invisible Web
The Invisible Web
 
maple , part2
maple , part2maple , part2
maple , part2
 
Sexix
SexixSexix
Sexix
 
الدليل لفهم مرض الزهايمر
الدليل لفهم مرض الزهايمر الدليل لفهم مرض الزهايمر
الدليل لفهم مرض الزهايمر
 
أرشيف عن الفنان أحمد فتحى
أرشيف  عن الفنان أحمد فتحىأرشيف  عن الفنان أحمد فتحى
أرشيف عن الفنان أحمد فتحى
 
[Nahu] - 'Alamat Irab (arabic)
[Nahu] - 'Alamat Irab (arabic)[Nahu] - 'Alamat Irab (arabic)
[Nahu] - 'Alamat Irab (arabic)
 
تعلم
تعلمتعلم
تعلم
 
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالث
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالثد. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالث
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالث
 
Miracle Quran-numeric-7
Miracle Quran-numeric-7Miracle Quran-numeric-7
Miracle Quran-numeric-7
 
سيكولوجيه اللغه والمرض العقلى
سيكولوجيه اللغه والمرض العقلىسيكولوجيه اللغه والمرض العقلى
سيكولوجيه اللغه والمرض العقلى
 
موقع وصفات طبخ
موقع وصفات طبخموقع وصفات طبخ
موقع وصفات طبخ
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

0217

  • 1. ‫‪: Stack‬‬ ‫ﺣﺎﻝ ﺑﻪ ﺑﺮﺭﺳﻲ ﻋﻤﻠﻲ ﭼﻨﺪ ﻣﺜﺎﻝ ﺍﺯ ﺍﻧﺘﺰﺍﻉ ﺩﺍﺩﻩ ﻣﻲ ﭘﺮﺩﺍﺯﻳﻢ ﻧﻮﻉ ﺩﺍﺩﻩ ‪ Stack‬ﻳﺎ ﭘﺸﺘﻪ ﻧﻮﻉ ﺩﺍﺩﻩ ﺍﻱ ﺍﺳـﺖ‬ ‫ﻛﻪ ﺑﺮﺍﻱ ﺫﺧﻴﺮﻩ ﺩﺍﺩﻩ ﻫﺎ ﻭ ﺍﻧﺒﺎﺷﺘﻦ ﺁﻧﻬﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﺷﻮﺩ. ﺩﺭ ﺍﻳﻦ ﺳﺎﺧﺘﺎﺭ ﺁﺧﺮﻳﻦ ﺩﺍﺩﻩ ﻫﺎﻳﻲ ﻛﻪ ﺫﺧﻴﺮﻩ ﺷﺪﻩ ﺍﻧـﺪ‬ ‫ﺍﻭﻟﻴﻦ ﺩﺍﺩﻩ ﻫﺎﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺧﻮﺍﻧﺪﻩ ﻣﻲ ﺷﻮﻧﺪ.)‪(1LIFO‬‬ ‫ﻛﺎﺭﺑﺮﺩ ﺍﻳﻦ ﻧﻮﻉ ﺩﺍﺩﻩ ﺩﺭ ﻓﺮﺍﺧﻮﺍﻧﻲ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﺳﺖ ﭼﻨﺎﻧﻜﻪ ﺩﺭ ﺑﺨﺶ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺗﻮﺿﻴﺢ ﺩﺍﺩﻩ ﺷﺪ، ﺯﻳﺮ‬ ‫ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺭﺍ ﻣﻲ ﺗﻮﺍﻥ ﺍﺯ ﺩﺭﻭﻥ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﺩﻳﮕﺮ ﺻﺪﺍ ﺯﺩ.‬ ‫ﺩﺭ ﺍﻳﻦ ﻣﻮﺍﺭﺩ ﻣﻜﺎﻧﻲ ﺍﺑﺮ ﺑﺮﻧﺎﻣﻪ ﻛﻪ ﺍﺟﺮﺍ ﺩﺭ ﺁﻥ ﻣﺘﻮﻗﻒ ﻭ ﺑﻪ ﺑﺨﺶ ﺩﻳﮕﺮﻱ ﻣﻨﺘﻘﻞ ﺷﺪﻩ ﺩﺭ ﺣﺎﻓﻈـﻪ ﺫﺧﻴـﺮﻩ‬ ‫ﺷﻮﺩ ﻭ ﭘﺲ ﺍﺯ ﺍﺗﻤﺎﻡ ﻛﺎﺭ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﺍﺯ ﻣﺤﻞ ﺗﻮﻗﻒ ﺍﺟﺮﺍ ﺍﺩﺍﻣﻪ ﻳﺎﺑﺪ. ﺣﺎﻝ ﺍﮔﺮ ﺩﻭ ﺯﻳﺮ ﺑﺮﻧﺎﻣـﻪ ﺩﺭﻭﻥ ﻫـﻢ ﻓﺮﺍﺧـﻮﺍﻧﻲ‬ ‫ﺷﻮﻧﺪ ﺍﺑﺘﺪﺍ ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﺩﻭﻡ ﭘﺎﻳﺎﻥ ﻣﻲ ﻳﺎﺑﺪ ﻭ ﺳﭙﺲ ﺍﻭﻝ ﻭ ﻟﺬﺍ ‪ LIFO‬ﻣﻔﻴﺪ ﺍﺳﺖ.‬ ‫‪¾¶IºoM kº»n‬‬ ‫‪¾¶IºoM oÄp‬‬ ‫‪³»j ¾¶IºoM oÄp‬‬ ‫ﻛﺪﻫﺎﻱ ﺯﻳﺮ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﻫﺴﺘﻨﺪ.‬ ‫‪ Stack‬ﻳﻚ ﺳﺎﺧﺘﺎﺭ ﺫﺧﻴﺮﻩ ﺍﻃﻼﻋﺎﺕ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺁﻥ ﺁﺧﺮﻳﻦ ﺩﺍﺩﻩ ﺫﺧﻴﺮﻩ ﺷﺪﻩ ﺍﻭﻟﻴﻦ ﺩﺍﺩﻩ ﺍﻱ ﺍﺳﺖ ﻛـﻪ‬ ‫ﺑﺮﺩﺍﺷﺘﻪ ﻣﻲ ﺷﻮﺩ. ﺍﻳﻦ ﺳﺎﺧﺘﺎﺭ ﺩﻗﻴﻘﺎ ﻣﺸﺎﺑﻪ ﻳﻚ ﭘﺸﺘﻪ ﺍﺳﺖ ﻛﻪ ﺍﺑﺰﺍﺭﺗﺎﻥ ﺭﺍ ﺩﺭ ﺁﻥ ﺗﻞ ﺍﻧﺒﺎﺭ ﻛـﺮﺩﻩ ﺍﻳـﺪ. ﺁﺧـﺮﻳﻦ‬
  • 2. ‫ﻭﺳﻴﻠﻪ ﺍﻱ ﺭﻭﻱ ﭘﺸﺘﻪ ﺭﻳﺨﺘﻪ ﺑﺎﺷﻴﺪ، ﺍﻭﻟﻴﻦ ﻭﺳﻴﻠﻪ ﺍﻱ ﺍﺳﺖ ﻛﻪ ﺑﺮ ﻣﻴﺪﺍﺭﻳﺪ.‬ ‫ﺩﺭ ﺫﺧﻴﺮﻩ ﺩﺍﺩﻩ ﻫﺎ ﺩﺭ ﭘﺸﺘﻪ ﺩﻭ ﻋﻤﻞ ﻭﺟﻮﺩ ﺩﺍﺭﺩ. ﻳﻜﻲ ﺍﻧﺒﺎﺭ ﺩﺍﺩﻩ ﻳﺎ ‪ Push‬ﻛﻪ ﻗﺮﺍﺭ ﺩﺍﺩﻥ ﺩﺍﺩﻩ ﺟﺪﻳـﺪ ﺩﺭ‬ ‫ﺭﻭﻱ ﭘﺸﺘﻪ ﺍﺳﺖ ﻭ ﺩﻳﮕﺮﻱ ﺑﺮﺩﺍﺷﺖ ﻳﺎ ‪ Pop‬ﻛﻪ ﻋﻤﻞ ﺑﺮﺩﺍﺷﺘﻦ ﻳﻚ ﺩﺍﺩﻩ ﺍﺯ ﺭﻭﻱ ﭘﺸﺘﻪ ﺍﺳﺖ.‬ ‫ﺑﻪ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺎﻳﺪ ﻳﻚ ﺑﺨﺶ ﺣﺎﻓﻈﻪ ﺍﺧﺘﺼﺎﺹ ﻳﺎﺑﺪ ﻫﻤﭽﻨﻴﻦ ﻧﻴﺎﺯ ﺑﻪ ﻳﻚ ﻣﺘﻐﻴﺮ ﺍﺳﺖ ﻛﻪ ﻧﺸﺎﻥ ﺩﻫﺪ ﺭﻭﻱ‬ ‫ﭘﺸﺘﻪ ﻛﺠﺎﺳﺖ. ﺩﺭ ﻋﺎﻟﻢ ﻃﺒﻴﻌﺖ ﻣﻌﻤﻮ ﹰ ﺍﺭﺗﻔﺎﻉ ﭘﺸﺘﻪ ﺍﻳﻦ ﻣﺘﻐﻴﺮ ﺍﺳﺖ!‬ ‫ﻻ‬ ‫ﺍﻛﻨﻮﻥ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺭﺍ ﻛﻪ ﺍﻳﻦ ﺳﺎﺧﺘﺎﺭ ﺫﺧﻴﺮﻩ ﺳﺎﺯﻱ ﺭﺍ ﭘﻴﺎﺩﻩ ﻣﻲ ﻛﻨﺪ ﺑﺎ ﻫﻢ ﻣﻲ ﻧﻮﻳﺴﻴﻢ.‬ ‫ﺑﺮﺍﻱ ﺍﻳﻦ ﻛﺎﺭ ﺍﺑﺘﺪﺍ ﻳﻚ ﭘﺮﻭﮊﻩ ﺟﺪﻳﺪ ﺍﻳﺠﺎﺩ ﻛﻨﻴﺪ، ﺳﭙﺲ ﺩﺭ ﺑﺨﺶ ﺗﻌﺮﻳﻒ ﻣﺘﻐﻴﺮﻫﺎﻱ ﻋﻤﻮﻣﻲ ﻛﺘﺎﺑﺨﺎﻧﻪ‬ ‫ﻣﺘﻐﻴﺮﻫﺎﻱ ﻋﻤﻮﻣﻲ ‪ Stack‬ﻭ ‪ StackTop‬ﺭﺍ ﻛﻪ ﺑﻪ ﺗﺮﺗﻴﺐ ﻓﻀﺎﻱ ﺫﺧﻴﺮﻩ ﺩﺍﺩﻩ ﻫﺎ ﻭ ﻣﺤﻞ ﺍﻧﺘﻬﺎﻱ ﭘﺸﺘﻪ ﺭﺍ ﻧﺸﺎﻥ‬ ‫ﻣﻲ ﺩﻫﻨﺪ، ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ .‬ ‫‪var‬‬ ‫;1‪Form1:TForm‬‬ ‫‪Stack : array [1..1024]of‬‬ ‫; ‪Extended‬‬ ‫; ‪StackTop : Integer‬‬ ‫ﭘﺲ ﺍﺯ ﺁﻥ ﺩﺭ ﺑﺨﺶ ﺗﻌﺮﻳﻒ ﺗﻮﺍﺑﻊ ﻋﻤﻮﻣﻲ ﻛﺘﺎﺑﺨﺎﻧﻪ، ﺯﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﺯﻳﺮ ﺭﺍ ﺑﻨﻮﻳﺴﻴﺪ:‬
  • 3. procedure push (a : Extended ); begin StackTop > 0 then if begin Stack [StackTop ] := a ; Form1.Memo1.Lines .Add (′Pushing ′ + FloatToStr (a )); StackTop := StackTop − 1; end else Form1.Memo1.lines .Add (' Stack overflow '); end ; procedure pop (var a : Extended ); begin StackTop < 1024 then if begin StackTop := StackTop + 1; a := Stack [StackTop ]; Form1.Memo1.Lines .Add (′Popping ′ + FloatToStr (a )); end else Form1.Memo1.Lines .Add (′Stack is empty ′); end‫؛‬ .‫( ﺭﺍ ﺑﺮﮔﺰﻳﺪﻩ ﻭ ﺭﻭﻱ ﻓﺮﻡ ﻛﻠﻴﻚ ﻛﻨﻴﺪ‬MemoBox) ‫ ﺩﻓﺘﺮ ﻳﺎﺩﺩﺍﺷﺖ‬Standard ‫ﺣﺎﻝ ﺍﺯ ﺑﺨﺶ‬ .‫ﺩﺭ ﻧﻬﺎﻳﺖ ﺭﻭﻱ ﻓﺮﻡ ﺩﻭﺑﻞ ﻛﻠﻴﻚ ﻛﺮﺩﻩ ﻭ ﺩﺳﺘﻮﺭﺍﺕ ﺯﻳﺮ ﺭﺍ ﺑﻨﻮﻳﺴﻴﺪ‬
  • 4. prodecure TForm1.FormCreate (Sender :Tobject ); var i = Integer‫؛‬ b:Extended‫؛‬ begin StackTop := 1024; for i := 1 to 5 do push (Random (1000)); for i := 1 to 5 do pop (b ); end ; .‫ﺍﻳﻦ ﺑﺮﻧﺎﻣﻪ ﺭﺍ ﺍﺟﺮﺍ ﻛﻨﻴﺪ ﻭ ﻧﺘﻴﺠﻪ ﺭﺍ ﺑﺒﻴﻨﻴﺪ‬ .‫ﺳﻌﻲ ﻛﻨﻴﺪ ﺑﺮﻧﺎﻣﻪ ﻭ ﻧﺤﻮﻩ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﭘﺸﺘﻪ ﺭﺍ ﺑﺮﺭﺳﻲ ﻛﻨﻴﺪ‬ 1 Last In First Out