گزارش كارآموزي
رشته: كامپيوتر
موضوع: ساختمان داده ها
مكان: شهرستان ايذه
استاد كارآموزي: مهندس سروش شفيعي
تهيه كننده: زينب حيدري مهرنان
سال 1386
تقديم به:
جامعه علمي و دانش پژوه كشور عزيزمان ايران اسلامي ، خانواده گرامي كه صميمانه مشوق ادامه تحصيل ما بودند .
با تقديم بهترين احترامات به تك ستاره شبهاي دلم ، مادر دلسوزم و پدر زحمتكشم.
مقدمه
مطالعه و بررسي ساختمان داده ها جزء اصلي و اجباري برنامه ي هر دانشجوي علم كامپيوتر است . كامپيوتر علم پرفسوني است كه فسون آن در ساختمان داده ها متجلي است . ساختمان داده ها يكي از زيباترين مباحث و نيرومندترين ابزار در حل مسائل كامپيوتري است . در اين گزارش بيشتر به تئوري پرداخته و عاري از لفاظي و توصيفهاي ناضرور است .
اصول ساختمان داده ها سيمور ليپ شوتز
دپارتمان كامپيوتر دانشگاه تِهپل
سيمپور ليپ شوتز / مهندس حسين ابراهيم زاده ي قلزم
هوروتيز – تننباوم
و ساختمان داده ها / مهندس حميدرضا تجسمي
فصل اول
– زير برنامه هاي بازگشتي
– دو شيوه تحليل و برنامه نويسي
– الگوريتم
– ساختمان داده ها
– زير برنامه هاي بازگشتي در پاسكال
– زير برنامه هاي باز گشتي در زبان نويسي c
« زير برنامه هاي بازگشتي »
فصل اول
شيوه تحليل و برنامه نويسي :
به طور كلي در تحليل يك سيستم دو شيوه وجود دارد : 1- شيوه از پايين به بالا (Down Top )كه روشي غير ساختياخته و قديمي است و بيشتر بر نكات صحيح كه نويسي تاكيد دارد .
2- شيوه از بالا به پايين (Top Down) كه در ابتدا برنامه به بخش ها و بلوكهاي مشخص تقسيم شده و سپس هر قسمت و بلوك نوشته مي شود . نام ديگر اين روش برنامه نويسي اوليه اي يا مالاژولار است .
الگوريتم
تعريف : الگوريتم مجموعه محدودي از دستور العمل هاست كه اگر دنبال شوند موجب انجام كار خاصي مي گردد هر الگوريتم ويژگيهاي زير را داراست :
1- ورودي : يك الگوريتم مي تواند هيچ يا چندين كميت ورودي داشته باشد .
2- خروجي : الگوريتم بايد حداقل يك كميت به عنوان خروجي ايجاد كند .
3- قطعيت : هر دستور العمل بايد بدون ابهام و كاملا” واضح باشد .
4- محدوديت : الگوريتم بايد پس از طي مراحل محدودي خاتمه يابد .
5- كارايي : هر دستورالعمل بايد به گونه اي باشد كه با استفاده از قلم و كاغذ بتوان آن را با دست نيز اجراء كرد به عبارت ديگر هر دستور العمل بايد انجام پذير باشد .
ساختمان داده ها (Data Structures)
ساختارهايي كه جهت دريافت داده هاي خام به شكل مناسب توسط كامپيوتر و پياده سازي و اجراي الگوريتم هاي مختلف روي آنها مورد استفاده قرار مي گيرند ساختمان داده ناميده مي شوند . يك نمونه از تقسيم بندي ساختمان داده هاي مختلف به شكل زير است :
ساختار ساختمان داده هاي ايستا در طول حياتشان تغيير نمي كند ولي در مدل پويا تغييرات نامحدود و مجاز است .
زير برنامه هاي باز گفتني ( Recur Sion ) در پاسكال :
در پاسكال دو نوع برنامه داريم يكي تابع و ديگري پروسي جر
بعضي از مسائل طبيعت بازگشتي دارند مثلاً اگر به ما بگويند ! 5 برابر چند است با توجه به فرمول
! ( 1- n ) ٭ n = ! n مي توانيم بگوييم كه اگر !4 را بدانيم كافي است آن را در 5 ضرب كنيم پس مسأله !5 تبديل به مسأله !4 مي شود و الي آخر .
زير برنامه هاي باز گفتني داراي دو ويژگي اصلي هستند :
1- زير برنامه ، خودش ، خودش را صدا مي زند ( اغلب با آرگومان كمتر )
2- يك شرط جهت اتمام فراخواني ها وجود دارد .
در پاسكال هم توابع و هم پروسي جر را مي توان به صورت بازگشتني نوشت .
مثال : برنامه اي بنويسيد كه عددي را خوانده و به كمك تابع بازگشتني و غير بازگشتني !8 را محاسبه كرده و در قسمت اصلي آن را چاپ كند .
Var x : Integer ;
Funcfion Fact1 ( n : Integer ) : Integer ; تابع غير بازگشتني
Var I و f : integer ;
Begin
F : = 1 ;
For i = 1 to n do
F: F* i ;
Factt = F ;
End ;
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Funcfion Fact( n : Integer ) : Integer ; تابع بازگشتي
Begin
Ip n 1
جواب :
Function Multiply ( a , b : integer ) : integer ;
Begin
if b = 1 Multiply : 1
else Multiply : = a + Multiply ( a , b -1 ) ;
End ;
زير برنامه هاي بازگشتي در زبان C
در زبان C برخلاف پاسكال فقط يك نوع برنامه با نام تابع وجود دارد مفهوم و اصول توابع بازگشتي در C دقيقا” معادل پاسكال است و فقط قدرت Syntax آنها با يكديگر تفاوت دارد مثلا” هنگامي كه تابع پاسكال مي خواهد مقداري را برگرداند ، آن مقدار در اسم تابع ريخته مي شود ولي زبان Cمقداري بازگشتي جلوي دستور return نوشته مي شود .
تابع بازگشتي در زبان C به صورت زير است :
int fact ( int n )
if ( n < = 1 )
return 1 ;
else
return ( n * fact ( n -1 ) ) ;
ترسيم استك تابع فوق دقيقا" مثل تابع معادل پاسكال آن است به همين ترتيب تابعي كه بصورت بازگشتي a * b را محاسبه كند بصورت زير است :
int Multiply ( int a , int b )
if ( b ==1 ) return a ;
return ( a + multiply ( a , b -1 )) ;
– يكي از ويژگي هاي اصلي زير برنامه هاي بازگشتي آن بود كه « زير برنامه ، خودش ، خودش را صدا بزند» . اين ويژگي در مورد تابع پاسكال بدين معناست كه در خطي اسم تابع هم در سمت چپ و هم در سمت راست عبارت ديده شود ( اغلب با آرگومان كمتر ) در مورد توابع C بدين معناست كه جلوي دستور return نام تابع ( اغلب با آرگومان كمتر ) بيايد . اين خاصيت در مورد پروسي جر پاسكال به اين صورت است كه نام پروسي جر درون بر نه پروسي جر ( اغلب با آرگومان كمتر ) ديده ي شود . این فایل کارآموزی به صورت فایل Word تهیه شده است این سایت به کاربران امکان میدهد تمام پروژهها، گزارشهای کارآموزی و مقالات دیگر را به راحتی دانلود کنند. این امکان برای دانشجویان و پژوهشگران بسیار مفید است زیرا میتوانند به راحتی به منابع مورد نیاز خود دسترسی پیدا کنند و از آنها برای ارائه یا تحقیقات خود استفاده کنند. این سایت به عنوان یک مرجع معتبر و قابل اعتماد برای دسترسی به مطالب علمی و آموزشی شناخته شده است و کاربران میتوانند با اطمینان از اطلاعات موجود در آن استفاده کنند.
لطفا توجه کنيد اين فايل کار آموزي” ساختمان داده ها ” که در اختيار شما قرار دارد ، بصورت قابل ويرايش مي باشد و در خود صفحات ورد بدون بهم ريختگي قرار گرفته است.لذا امکان تغيير و ويرايش محتواي اين فايل کارآموزي براي شما فراهم است..
تعداد صفحات ورد : 32
فرمت فايل : وورد
نقد و بررسیها
هنوز بررسیای ثبت نشده است.