close
دانلود فیلم
داده
فیلم های آموزشی درس ساختمان داده به زبان فارسی 3 dvd

درس ساختمان داده ها و الگوریتم ها یکی از بنیادین ترین درس های بسیاری از رشته های علوم پایه و مهندسی است. هدف این درس مطالعه و تحقیق در مورد روش های گوناگون ذخیره، نگهداری و بازیابی اطلاعات در یک سیستم کامپیوتری است به گونه ای که این اطلاعات بتوانند به طور کارآمد مورد استفاده قرار گیرند.

 

مجموعه آموزشی فوق شامل

جلسه اول - زمان اجرای الگوریتم ها . الگوریتم مرتب سازی درجی

جلسه دوم - مقایسه زمان اجرای الگوریتم ها . رشد توابع

جلسه سوم - تحلیل الگوریتم های ترتیبی . مرتب سازی حبابی و ادغامی

جلسه چهارم - حل رابطه بازگشتی

جلسه پنجم - قضیه اصلی

جلسه ششم - تحلیل سرشکن

جلسه هفتم -لیست ها

جلسه هشتم -

جلسه نهم - درخت ها

جلسه دهم - درخت ها

جلسه یازدهم - درخت عبارت

جلسه دوازدهم - درخت دودویی جست و جو

جلسه سیزدهم - هرم بیشینه

جلسه چهاردهم - درهم سازی ؛ آدرس دهی مستقیم ، توابع درهم سازی

جلسه پانزدهم - درهم سازی ؛ آدرس دهی باز ، درهم سازی پویا

جلسه شانزدهم - مرتبه

جلسه هفدهم - مرتب سازی

جلسه هجدهم - الگوریتم مرتب سازی مقایسه ای

جلسه نوزدهم - الگوریتم مرتب سازی خطی

جلسه بیست و یکم - درخت قرمز-سیاه

جلسه بیست و دوم

 پرداخت هزینه درب منزل به قیمت 16000 تومانپرداخت آنلاین با تخفیف به قیمت 13000

 

آموزش کاملا فارسی

به صورت مالتی مدیا

آموزش به صورت مفهومی

 

آموزش توسط استاد پای تخته !

   مناسب برای تمامی دانشجویان

با ما استاد را به خانه بیاورید !

کیفیت مناسب صدا و تصویر

 

 

 

فیلم فارسی درس ساختمان داده ها این فیلم بی نظیر شامل آموزش درس ساختمان داده ها به صورت مفهومی همراه با حل تمرین و مثال های گوناگون توسط استاد پای تخته انجام میشود.مرجع کامل درس ساختمان داده ها

 


ساختمان داده

زیر برنامه های بازگشتی

تابع فاکتوریل

حل مثال از انواع توابع بازگشتی

تابع محاسبه باقیمانده به صورت بازگشتی

پیاده سازی تقسیم به صورت بازگشتی

تابع آکرومان به صورت بازگشتی

تابع محاسبه مجومع دو عدد به صورت بازگشتی

تابع محاسبه حاصلضرب به صورت بازگشتی

تابع محاسبه ب م م به صورت بازگشتی

تابع محاسبه سری فیبوناچی به صورت بازگشتی

پیچیدگی زمانی و مرتبه اجرایی

مفهوم O (n)

مرتبه اجرایی جملات توانی

مرتبه اجرایی حلقه FOR

مرتبه اجرایی حلقه های FOR تو در تو

مرتبه اجرایی حلقه While

جدول سرعت رشد ثابت لگاریتم خطی مرتبه ۲ توانی و فاکتوریل

حل مثال از سرعت رشد توابع

مفهوم امگا و تتا

حل مثال از امگا و تتا

آرایه و پشته

آرایه یک بعدی

طریقه محاسبه آدرس شروع آرایه

طریقه محاسبه تعداد عناصر آرایه

مثال از قسمت آرایه ها

روش های جستجو در آرایه ها

آرایه نامرتب جستجوی ترتیبی یا خطی

آرایه مرتب جستجوی دودویی یا باینری

حل مثال از جستجو 

تعداد مقایسه جستجوی ترتیبی و باینری

نحوه ذخیره آرایه دو بعدی

تعریف آرایه دو بعدی

تعداد عناصر آرایه دو بعدی

طریقه محاسبه آدرس شروع آرایه دو بعدی

روش سطری و روش ستونی 

روش های ذخیره سازی آرایه ۳ بعدی

ضرب ماتریس ها

حل مثال از ضرب ماتریس ها

ماتریس اسپارس sparse

ماتریس ترانهاده 

ماتریس بالا مثلثی

ماتریس پایین مثلثی

پشته stack-LIFO

صف FIFO

حل مثال از صف و پشته

شرط خالی بودن پشته 

شرط پر بودن پشته

عملیات درج و حذف از پشته push-pop

صف معمولی

عملیات اصلی روی صف  حدف و اضافه

کدهای عملیات روی صف

حل مثال از قسمت صف ها

صف حلقوی 

عملیات prefix پیشوندی

infix میانوندی

postfix پسوندی

انواع تبدیلات پیشوندی میانوندی و پسوندی 

حل مثال های گوناگون از تبدیلات پیشوندی میانوندی و پسوندی 

لیستهای پیوندی

حل مثال از لیست های پیوندی

انواع عملیات در لیست های پیوندی

پیاده سازی پشته با لیست پیوندی

لیست حلقوی یکطرفه

لیست پیوندی دو طرفه

درخت

مفهوم درخت

درخت باینری

درخت متوازن

درخت پر

درخت کامل

درخت دودویی محض

فرمول های درختها

حداکثر تعداد گره ها

درخت دودویی پر با n گره

ضرب ۴ ماتریس

پیمایش درخت دودویی

انواع پیمایش درخت preorder و postorder

 

راهنمای خرید محصول :

نحوه خرید : از این سایت می توانید به روش های زیر خریداری کنید .

خرید نقدی :

در این روش محصول را در سایت انتخاب کرده و پس از انتخاب استان و شهر خود  هزینه آن را به صورت نقدی و از درگاه بانکی پرداخت می کنید . پس از آن محصول با پست سفارشی و یا پیشتاز که خودتان انتخاب می کنید ، تحویل شما خواهد گردید . ضمنا پرداخت نقدی سفارش دارای تخفیف بوده و بسته شما در اولویت ارسال قرار می گیرد

خرید پستی و پرداخت هزینه درب منزل :
در این روش محصول را از سایت انتخاب و پس از انتخاب استان و شهر خود  نسبت به تکمیل مشخصات اقذام و محصول برای شما ارسال می شود و شما در هنگام دریافت بسته هزینه را به مامور پست پرداخت می کنید

 پرداخت هزینه درب منزل به قیمت 16000 تومانپرداخت آنلاین با تخفیف به قیمت 13000
دانلود فیلم های آموزشی پایگاه داده دانشگاه شریف-مرتضی امینی

پایگاه داده‌ها (دادگان یا بانک اطّلاعاتی) به مجموعه‌ای از اطّلاعات با ساختار منظم و سامانمند گفته می‌شود. پایگاه‌های داده‌ها معمولاً در قالبی که برای دستگاه‌ها و رایانه‌ها قابل خواندن و دسترسی باشد ذخیره می‌شوند. البته چنین شیوه ذخیره‌سازی اطلاعات تنها روش موجود نیست و شیوه‌های دیگری مانند ذخیره‌سازی ساده در پرونده‌ها نیز استفاده می‌گردد. آنچه ذخیره‌سازی داده‌ها در پایگاه‌های داده‌ها را مؤثر می‌سازد وجود یک ساختار مفهومی برای ذخیره‌سازی و روابط بین داده‌ها است. پایگاه داده در اصل مجموعه‌ای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه می‌گیرد، اما کاربرد وسیع و عمومی نیز دارد، این وسعت به اندازه‌ای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانه‌ای برای پایگاه داده ایجاد می‌کند) شامل تعاریف غیر الکترونیکی برای پایگاه داده می‌باشد. در این نوشتار به کاربردهای تکنیکی برای این اصطلاح محدود می‌شود. یک تعریف ممکن این است که: پایگاه داده مجموعه‌ای از رکوردهای ذخیره شده در رایانه با یک روش سیستماتیک (اصولی) مثل یک برنامه رایانه‌ای است که می‌تواند به سؤالات کاربر پاسخ دهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولاً به صورت مجموعه‌ای از اجزای داده‌ای یا رویدادها سازماندهی می‌گردد. بخش‌های بازیابی شده در هر پرسش به اطلاعاتی تبدیل می‌شود که برای اتخاذ یک تصمیم کاربرد دارد. برنامه رایانه‌ای که برای مدیریت و پرسش و پاسخ بین پایگاه‌های داده‌ای استفاده می‌شود را مدیر سیستم پایگاه داده‌ای یا به‌اختصار (DBMS) می‌نامیم. خصوصیات و طراحی سیستم‌های پایگاه داده‌ای در علم اطلاعات مطالعه می‌شود.

دکتر مرتضی امینی استادیار دانشکده کامپیوتر دانشگاه صنعتی شریف است.وی مدرک دکتری خود را از دانشگاه صنعتی شریف دریافت کرده و در زمینه های امنیت اطلاعات، امنیت پایگاه داده و کنترل دسترسی، روش های رسمی و منطق برای امنیت و سیستم های تشخیص نفوذ تحقیق و پژوهش داشته است. 

ادامه مطلب...
دانلود جزوات پایگاه داده
کتاب الکترونیکی پایگاه داده ها

کتاب الکترونیکی زیر در ۱۰ فصل به بررسی تعاریف و آموزش مباحث پایگاه داده ها پرداخته که عناوین فصل های آن در ادامه ذکر شده است.

عنوان کتاب: کتاب الکترونیکی پایگاه داده ها

تعداد صفحات: ۲۷۵

حجم فایل: ۳.۱ مگابایت

 

این کتاب شامل مطالب زیر می باشد :

فصل اول : تاریخچه و مفاهیم اولیه
فصل دوم : نمودار EER (طراحی کلی بانک اطلاعاتی)
فصل سوم : تعریف پایگاه داده ها
فصل چهارم : ساختارهای داده ای
فصل پنجم : مفاهیم مدل رابطه ای
فصل ششم : جبر رابطه ای
فصل هفتم : حساب رابطه ای
فصل هشتم :  SQL
فصل نهم : وابستگی تابعی
فصل دهم : نرمال سازی
ادامه مطلب...

کتاب حاضر خلاصه ای از کتاب درسی ذخیره و بازیابی اطلاعات نوشته استاد مقسمی می باشد. این کتاب برای کنکور کاردانی به کارشناسی کامپیوتر مفید می باشد

عنوان :جزوه درسی ذخیره و بازیابی اطلاعات 
تهيه کننده:استاد مقسمی
نوع فايل:PDF
تعداد صفحه:20
 حجم فايل: 400 کیلوبایت
 

دانلود جزوه ذخیره و بازیابی اطلاعات مقسمی در ادامه

ادامه مطلب...

سرفصل های این جزوه عبارتند از : مقدمه ای بر ساختمان داده ها ، پشته ها ، صف ها ، لیست های پیوندی ، درخت های دودویی ، درخت های عمومی ، گراف ها و کاربردهای آن.

عنوان جزوه : ساختمان داده ها در C

مدرّس : استاد آقایی

ساختار فایل : PDF

کیفیت جزوه : تایپ شده

زبان جزوه : پارسی

تعداد صفحات : ۴۱۴

حجم فایل : ۳.۲ مگابایت

ادامه مطلب...

با سلام ، در ادامه آماده سازی ویس کلاس اساتید صاحب نام ، امروز ویس های کلاس ساختمان داده دکتر ابراهیمی مقدم را برای شما آماده کرده ایم. این کلاس در موسسه نصیر تشکیل شده و شامل 9 جلسه کامل می باشد برای استفاده بهتر از این صداها بهتر است ابتدا جزوه  ساختمان داده هماهنگ با این کلاس را تهیه کنید شما می توانید جزوه ساختمان داده ابراهیمی مقدم را از طریق لینک زیر دانلود کنید

ادامه مطلب...

جزوه ای که در این پست آمده است خلاصه ای است از مهمترین مطالبی که در دانشگاه شریف توسط دکتر قدسی تدریس می شود. گفته می شود که دکتر قدسی طراح سوال های کنکور ارشد کامپیوتر در چند سال اخیر بوده است .به هر حال در این جزوه مفاهیم مهم ساختمان داده مانند صف، پشته، لیست پیوندی، آرایه ها، ماتریس، درخت و گراف آموزش داده شده است. دانلود جزوه ساختمان داده دکتر قدسی در ادامه

ادامه مطلب...

ساختمان داده‌ها (Data Structure) از جملهٔ بنیادی‌ترین مباحث مورد نیاز جهت یادگیری و درک بسیاری از مفاهیم عمده در علوم رایانه است. مدل منطقی یا ریاضی سامان‌دهی به داده‌ها به یک شکل خاص، ساختمان داده نام دارد. هر برنامه رایانه‌ای از الگوریتم و ساختمان داده‌ها تشکیل شده‌است. موارد زیر از جمله مهمترین ساختمان داده‌ها هستند. در کتابی که اینبار برای دانشجویان و علاقه مندان به علوم رایانه ای آماده کرده ایم بطور کامل و در بیش از پانصد صفحه با ساختمان داده ها آشنا خواهید شد. 

عنوان : دانلود رایگان کتاب اصول ساختمان داده ها به زبان فارسی
نویسنده : حسین ابراهیم زاده
فرمت : PDF
تعداد صفحات :514
زبان : فارسی

حجم فایل : 12.01 مگابایت

ادامه مطلب...

با سلام، همچنان که می دانید ساختمان داده هم در دوره کارشناسی و هم در دوره کاردانی برای کلیه گرایش ها دارای اهمیت بالایی می باشد به همین دلیل ما در سایت اسفند سعی داریم همه منابع آموزشی این درس را جمع آوری کنیم در این پست هم  با دانلود کتاب ساختمان داده دکتر ناصر رضوی در خدمت شما هستیم امیدوارم مفید و مورد استفاده باشد.  دانلود در ادامه

ادامه مطلب...

با سلام خدمت دوستان گرامی

در این پست از سایت  برای شما عزیزان جزوه درس ساختمان گسسته دکتر سید جوادی از اساتید بنام دروس رشته کامپیوتر را آماده کرده ایم این جزوه بیشتر برای کنکور مناسب است. امیدوارم مفید باشد

ادامه مطلب...

اهمیت درس ساختمان داده در دوره کارشناسی بر کسی پوشیده نیست. بی شک این درس مهمترین درس در این دوره می باشد یادگیری این درس به معنی یادگیری مهمترین مفاهیم پایه ای و اصولی رشته کامپیوتر می باشد این در س در کنکور ارشد مهندسی کامپیوتر از دروس مشترک برای چهار گرایش نرم افزار، هوش، معماری و الگوریتم و محاسبات بوده و ضریب 4 دارد. با توجه به استقبال دانشجویان از کتابهای مقسمی سایت  تلاش دارد تا همه کتابهای مقسمی را جهت دانلود به سایت اضافه کند. در این پست کتاب ساختمان داده مقسمی تقدیم می شود. تا زمان نوشتن این پست 70 صفحه از کتاب آماده شده و لینک دانلود آن در ادامه مطلب آورده شده است بقیه کتاب به محض آماده شدن در همین پست اضافه خواهد شد.

ادامه مطلب...
دانلود جزوه پایگاه داده‌‌ها ناصر آیت

پیشگفتار این کتاب : اين كتاب با توجه به سر فصل تعيين شده براي دانشجويان دانشگاه پيام نور در رشته كامپيوتر تهيه و تنظيم شده است. در تهيه اين كتاب سعي بر آن شده است تا مباحثي كه براي تدريس درس پايگاه داده ها لازم به تدريس است، مطرح گردند. اين كتاب مشتمل بر ده فصل مي باشد. در ابتداي كتاب ليست سر فصل مطالب قيد شده است. در انتهاي كتاب مجموع هاي از سؤالات تستي به همراه پاسخ نامه ارائه شده است.همچنين به منظور آشنایی بیشتر علاقمندان به ساختار پایه ای زبان SQL در زمینه 2 کتاب متن کامل SQL BNF ارائه شده است.

 

نظر به لزوم جاگذاري معادل فارسي كلمات تخصصي براي راحتي فهم دانشجويان دو واژه نامه ب صورت انگليسي به فارسي و فارسي به انگليسي در انتهاي كتاب آمده است. در صفحه پاياني كتاب ليست منابع و ماخذ نيز براي آگاهي دانشجويان ارائه شده است. اين اثر با دقت نظر فراوان كارشناسان مديريت توليد مواد و تجهيزات آموزشي مورد ارزيابي قرار گرفت كه بدينوسيله از جناب آقاي اكبري به نمايندگي از آن عزيزان قدرداني مي نماييم.

كتاب حاضر بعنوان منبع درسي در دانشگاه پيام نور اعلام شده كه بعلت كوتاه بودن زمان امكان رفع كليه ايرادات تايپي و نگارشي ميسر نشد. لذا از كليه صاحب نظران، اساتيد و دانشجويان محترم تقاضا دارد نظرات پيشنهادي خود را در جهت اصلاح ايرادات اين اثر، به آدرس پست الكترونيكي مولفين ارسال فرمايند. در پايان از آقاي مهندس كاميار آهنكوب كه در تنظيم و تدوين كتاب همكاري شاياني داشته اند سپاسگزاري مي كنيم.

دانلود کتاب پایگاه داده  مهندس سید ناصر آیت ، دکتر احمد فراهی

 

عناوین سرفصل های این کتاب :

فصل 1 - مفاهيم اوليه سيستم پايگاه داده

فصل 2 - مدل سازي معنايي داده ها

فصل 3 - معماري پايگاه داده

فصل 4 - سيستم مديريت پايگاه داده

فصل 5 - مدل ها و ساختارهاي داده اي پايگاه داده ها

فصل 6 - پايگاه داده رابطه اي

فصل 7 - عمليات در پايگاه رابطه اي

فصل 8 - آشنايي با زبان رابطه اي SQL

فصل 9 - نرمال سازي

فصل 10 - معماري هاي مختلف سيستم پايگاه داده

 

تعداد صفحات کتاب : 442 صفحه

مولفین : مهندس سید ناصر آیت ، دکتر احمد فراهی

ادامه مطلب...

جزوه ای که امروز برای دانلود، درسایت قرار داده ایم. یک دستور کار کامل از درس آزمایشگاه پایگاه داده ها می باشد.
این جزوه از کلاس های درس آقای حسن علی اکبر پور تهیه شده است و حاوی تعداد زیادی مثال انجام شده با SQL و C#.NET می باشد.

تعداد صفجات جزوه : ۱۴۳ صفحه

ادامه مطلب...

همانطور که می دانید درس پایگاه داده ها یکی از مهمترین دروس در کنکور کارشناسی ارشد رشته کامپیوتر می باشد.
جزوه حاضر مجموعه کاملی از نکات کنکوری مربوط به درس پایگاه داده ها می باشد که توسط آقای حسین عبدالکریمی و خانم نیره کرمانشاهی از کلاسهای کنکور دکتر روحانی رانکوهی تهیه شده است. که آن را به کاربران سایت تقدیم می کنیم.

تعداد صفحات جزوه : ۲۰۶ صفحه

ادامه مطلب...

عنوان جزوه : پایگاه داده های پیشرفته

تعداد صفحه :  ۸۵

قالب کتاب : PDF

حجم فایل :  ۱,۱۴۰  کیلوبایت

 

دانلود در ادامه:

توضیحات : تعریف علمی و تئوریکی که از پایگاه داد ها در دنیای نرم افزار ارائه گردیده است عبارت است از : مجموعه ای از داده های بهم مرتبط که طبق یک ساختار مشترک ، تحت کنترل متمرکز و با حداقل افزونگی به صورت اشتراکی و همزمان قابل استفاده باشند . اما امروز وقتی صحبت از فناوری های نوین در عرصه پایگاه داده ها و نرم افزار های مرتبط با آن به میان می آید، محیطی به مراتب قدرتمند تر و انعطاف پذیر تر از تعریف فوق به ذهن می آید که برای مدیران ، طراحان و برنامه نویسان پایگاه داده ها نوید لذت بخش توسعه و تولید سریع(RAD) محیطهای مبتنی بر بانک های اطلاعاتی را بهمراه دارد . در سالهای اخیر متولیان و تصمیم گیران بسته های بانک های اطلاعاتی با توجه به شرایط حاکم بر دنیای امروز از قبیل رشد روز افزون داده ها و اطلاعات ، وسعت ، گستردگی حیطه کاربری و ….. استانداردهای متنوع دیگری را برای اینگونه محصولات تدوین نموده اند که در ذیل به برخی از آنها اشاره می گردد

ادامه مطلب...

جزوه  درس پایگاه داده پیشرفته مقطع کارشناسی ارشد

نویسنده : دکتر محمد نادری دهکردی

تعداد صفحات : ۲۲۷

ساختار فایل : PDF

حجم فایل دانلودی : ۹٫۷۷ MB

برگرفته از : بانک اطلاعات علمی-کاربردی، جلد دوم: مفاهیم پیشرفته، دکتر مصطفی حق جو و علی اصغر صفائی

فهرست 
• معماری های مختلف سیستم پایگاه داده
– معماری متمرکز
– معماری نامتمرکز
– معماری سیستم پایگاهی مشتری-خدمتگزار
– معماری سیستم پایگاهی توزیع شده
– معماری با پردازش موازی
– معماری با حافظه مشترک
– معماری با دیسکهای مشترک
– معماری بی اجزاء مشترک
– معماری سلسله مراتبی
– معماری چند پایگاهی
– سیستم پایگاهی همراه

بانک اطلاعات مبتنی بر شیئ و XML
– بانک اطلاعات شیئ گرا
– بانک اطلاعات شیئ-رابطه ای
– بانک اطلاعات XML
• مدیریت تراکنش
– مفاهیم
– پروتکل های کنترل همروندی
– مدیریت ترمیم
– مبانی نظری مدیریت تراکنش

بانک اطلاعات نامتمرکز )توزیع شده(
• سیستم های نوین بانک اطلاعات و مدل های پیشرفته
تراکنش
– سیستم های نوین بانک اطلاعات
– مدلهای پیشرفته تراکنش
• امنیت در بانک اطلاعات

 

ادامه مطلب...

ثابت ها

ثابت مشابه متغير محلی برای ذخيره داده ای است که توسط برنامه استفاده می شود. اما برخلاف متغير، مقدار ذخيره شده در يک ثابت در طی اجرای برنامه قابل تغيير نيست.

++C دو نوع ثابت واقعی و سمبليک دارد.

ثابت های واقعی

ثابت واقعی (literal constant) مقداری است که مستقيما در کد برنامه تايپ می شود.


مثال. مقادير 20 و 0.28 در عبارات زير ثابت های واقعی هستند که در متغيرهای count و tax_rate ذخيره می شوند.

int count = 20;
float tax_rate = 0.28;


مقادير ثابت برای نوع های پيش ساخته می تواند به صورت های دسيمال، اکتال، هگزادسيمال، مميزشناور يا کاراکتر باشند.

نقطه اعشار نشان دهنده ثابت مميزشناور است. ثابت های مميزشناور را می توان به صورت نماد علمی هم بيان کرد.


مثال. اعداد زير همگی ثابت های مميزشناورهستند.

123.456
0.019
100.
1.23E2 or 123
4.08e6 or 4080000
0.85e-4 or 0.000085


حروف f يا F برای ثابت های float و l يا L برای ثابت های long double را می توان به عنوان پسوند اضافه کرد در غير اينصورت با ثابت مميزشناور بعنوان يک عدد double برخورد می شود.

ثابتی که نقطه اعشار ندارد بعنوان ثابت صحيح تفسير می شود. ثابت های صحيح را به 3 صورت می توان نشان داد:

• ثابت دهدهی. اگر ثابت با هر عدد غير صفری شروع شود بعنوان يک عدد صحيح مبنای 10 تفسير می شود.. ثابت های دهدهی شامل ارقام 0 تا 9 و علامت + يا – می توانند باشند. اگر علامت نوشته نشود ثابت مثبت درنظر گرفته می شود.
• ثابت اکتال. اگر ثابت با رقم 0 شروع شود بعنوان يک عدد صحيح مبنای 8 تفسير می شود. ثابت های اکتال می توانند شامل ارقام 0 تا 9 و علامت + يا – باشند.
• ثابت هگزادسيمال. اگر ثابت با 0x يا 0X شروع شود بعنوان يک ثابت مبنای 16 با آن برخورد می شود. ثابت های هگزادسيمال می توانند شامل ارقام 0 تا 9 و حروف A تا F و علامت + يا – باشند.

ثابت های کاراکتری بين علامت کوتيشن (') قرارمی گيرند، مانند کاراکترهای 'A' و '0'. کاراکترهای خاص با علامت () نشان داده می شوند مانند 'n' (newline)،'t' (tab)،'' (backslash)،'r' (carriage return)،''' (single quote)،'"' (double quotes)، و غيره.

ثابت های سمبليک

ثابت سمبليک (symbolic constant) ثابتی است که توسط يک نام در برنامه مشخص می شود. مقدار حقيقی ثابت سمبليک تنها يکبار هنگام تعريف آن وارد می شود و اين مقدار مشابه ثابت های واقعی در طول اجرای برنامه قابل تغيير نيست. هر زمان که به مقدار ثابت در برنامه نياز باشد نام آن ذکر می شود.


مثال. برای محاسبه مساحت و محيط دايره در يک برنامه به جای نوشتن عدد 3.14 می توان ثابت PI را تعريف و استفاده کرد.

circumference = PI * (2 * radius);
area = PI * (radius)*(radius);

در اين حالت هم نوشتن برنامه راحت تر است و برنامه دارای خوانائی بيشتر است هم اگر نياز به تغيير ثابت پی به مقدار 3.14159 برای بالا بردن دقت محاسبات باشد اصلاح تنها در يک نقطه برنامه که ثابت تعريف شده است صورت می گيرد نه کل برنامه.


تعريف ثابت سمبليک

دوروش برای تعريف ثابت های سمبليک وجود دارد: راهنمای define# و کلمه کليدی const.

راهنمای define# در قسمت پيش پردازنده ها بيشتر توضيح داده خواهد شد. فرم کلی آن به صورت زير است:

#define CONSTNAME literal

CONSTNAME نام ثابت و literal مقدار واقعی آن است. راهنمای define# به کامپايلر دستور می دهد که درسرتاسر کد برنامه CONSTNAME را با literal جايگزين کند.

نام ثابت از همان قواعد نامگذاری متغيرها تبعيت می کند. مرسوم است که کليه حروف ثابت را بزرگ می نويسند که باعث تشخيص راحت تر آن از متغيرها که با حروف کوچک هستند می شود.


مثال. ثابت PI با مقدار 3.14159 تعريف شده است.

#define PI 3.14159


دقت کنيد که خط define# به سميکولن(;) ختم نمی شود. define# می تواند در هر کجای برنامه باشد ولی معمولا همگی در قسمتی از ابتدای کد برنامه و قبل از تابع main() هستند.

روش دوم تعريف يک ثابت سمبليک استفاده از کلمه کليدی const است. const را می توان به اول هر اعلان متغيری اضافه کرد. در اين صورت متغير در طول اجرای برنامه قابل تغيير نخواهد بود. اگر برنامه سعی به تغيير آن کند خطای کامپايلر صادر خواهد شد.


مثال.

const int count = 100;
const float pi = 3.14159;
const long debt = 12000000, float tax_rate = 0.21;


const روی کليه متغيرهای خط اعلان تاثير می گذارد.

تفاوت ثابت هائی که با #define و const تعريف می شوند در حوزه آنهاست. وقتی از #define استفاده می کنيد کنترل ثابت ها را از حوزه کامپايلر خارج می کنيد؛ type checking روی اسم آن انجام نمی گيرد و آدرس آنرا قابل بازيابی نيست و اشاره گريا ارجاعی به آن ممکن نيست و نمی تواند از نوع user-defined باشد. اما اگر ثابت توسط const تعريف شده باشد می تواند از هر نوع داده استاندارد يا user-defined باشد. آدرس آن هم قابل بازيابی است و مانند يک متغير دارای حوزه دسترسی است بنابراين ثابتی که درون يک تابع تعريف می شود در ساير نقاط برنامه شناخته شده نيست.

مقداردهی اوليه متغيرهای عددی

هنگام اعلان يک متغير، با وجوديکه مقدار آن هنوز تعيين نشده است، به کامپايلر فرمان داده می شود تا فضای لازم برای متغير را کنار بگذارد. در اين حالت مقدار متغير می تواند صفر يا يک مقدار تصادفی باشد. قبل از استفاده از متغير هميشه بايد آن را با يک مقدار مشخص مقداردهی کرد. اين کار موقع اعلان متغير می تواند صورت بگيرد. برای اينکار بعد از اسم متغير علامت مساوی و مقدار اوليه موردنظر را ذکر کنيد.


مثال.

int count = 0;
double percent = 0.01, taxrate = 28.5;


علامت مساوی (=) عملگر واگذاری در زبان C است که در بخش عبارات توضيح داده می شود.

توجه کنيد مقداراوليه متغير خارج از محدوده مجاز نباشد. کامپايلر چنين خطائی را گير نمی اندازد و برنامه ممکن ا ست هنگام اجرا نتايج غيرمنتظره ای توليد کند.


نکته. با تعداد بايت هائی که نوع های متغير روی کامپيوتر شما اشغال می کند به خوبی آشنا شويد.
نکته. از typedef برای خوانا کردن برنامه خود استفاده کنيد.
نکته. تاحد ممکن هنگام تعريف متغير به آنها مقداراوليه بدهيد. استفاده از متغيری که مقداردهی نشده است ممکن است نتايج غيرقابل پيش بينی توليد کند.
نکته. استفاده از متغيرهای float و double برای ذخيره اعداد صحيح باعث پايين آمدن کارائی برنامه می شود.
نکته. مقادير بزرگ را در نوع متغيری که برای ذخيره آنها کوچک است ذخيره نکنيد.
نکته. اعداد منفی را در نوع های بدون علامت ذخيره نکنيد.

انواع داده عددی

دانستن انواع متغيرهای عددی که زبان برنامه نويسی در اختيار می گذارد لازم است زيرا مقادير عددی مختلف ميزان حافظه متفاوتی را اشغال می کنند و عمليات رياضی معينی روی آنها انجام می شود. نوع متغير بسته به طبيعت داده ای که ذخيره می کند می تواند يکی از اين انواع تعريف شده باشد. با انتخاب نوع مناسب برای متغير برنامه شما با بيشترين بازدهی ممکن اجرا می شود.

اعداد صحيح کوچک حافظه کمتری می خواهند و کامپيوتر می تواند عمليات رياضی مانند جمع و ضرب را به سرعت روی آنها انجام بدهد. درحاليکه مقادير صحيح بزرگ و اعداد مميز شناور به فضا و زمان بيشتری برای محاسبات نياز دارند.

انواع متغير عددی در دو دسته کلی قرار می گيرند:

• متغيرهای صحيح، مقاديری را نگه می دارند که بخش کسری ندارند. متغيرهای صحيح خود دو نوع هستند: علامتدار، که می توانند مقادير مثبت و منفی را ذخيره کنند و بدون علامت، که تنها مقادير مثبت را نگه می دارند.
• متغيرهای مميزشناور، مقاديری را که دارای بخش کسری هستند يعنی اعداد حقيقی را نگه می دارند.


عبارات signed، unsigned، short و long اصلاح کننده هائی هستند که برای تغيير و تبديل انواع پايه از قبيل char، int و double اضافه می شوند .

انواع داده ها وابسته به platform کامپيوتر است و ممکن است روی کامپيوترهای مختلف متفاوت باشد، اما C با توجه به استاندارد ANSI موارد زير را تضمين می دهد:

• يک کاراکتر هميشه يک بايت است.
• اندازه short کوچکتر يا مساوی اندازه int است.
• اندازه int کوچکتر يا مساوی اندازه long است.
• اندازه unsigned برابر با int است.
• اندازه float کوچکتر مساوی با اندازه double است.

 

يک متغير يک محل ذخيره داده نامگذاری شده در حافظه کامپيوتر است. شما در برنامه با استفاده از نام متغير به داده ذخيره شده در اين محل رجوع می کنيد.

نام متغير

هر متغير دارای يک نام است. در زبان C اسامی متغير ها بايد از قوانين زير پيروی کند:

• اسم می تواند شامل حروف، ارقام و کاراکتر زيرخط ( _ ) باشد.
• اولين حرف اسم متغير بايد يک حرف باشد. زير خط هم می تواند در ابتدای اسم متغير بکار برود ولی توصيه نمی شود.
• بزرگ و کوچک بودن حروف مهم است، بنابراين اسامی count و Count به دو متغير جداگانه اشاره دارند. برنامه نويسان اغلب از حروف کوچک برای متغير ها استفاده می کنند و اسامی با حروف بزرگ معمولا برا ثابت ها بکار می رود.
• کلمات کليدی نمی توانند به عنوان نام متغير استفاده شود.


مثال. چند نمونه از اسامی مجاز و غير مجاز در جدول زير ديده می شود:

مجازبودننام متغير
مجازPercent
مجازy2x5__fg7h
مجازannual_profit
مجاز، ولی توصيه نمی شود_1990_tax
غير مجاز، کاراکتر#savings#account
غيرمجاز، کلمه کليدیdouble
غيرمجاز، اولين کاراکتر رقمی9winter

در بعضی کامپايلرها نام متغير می تواند 31 کاراکتر (در ++C استاندارد 1024 کاراکتر) طول داشته باشد؛ يعنی کامپايلر تنها 31 کاراکتر اول نام را درنظر می گيرد. با اين طول می توان نامی برای متغير انتخاب کرد که معنی داده ذخيره شده در آن را منعکس کند.

نام متغير کمک به روشن شدن کاربرد آن برای کسی که source برنامه را نگاه می کند .


مثال. در برنامه ای که پرداخت های وام را محاسبه می کند مقدار بهره را می توان در متغير interest_rate ذخيره کرد.


مرسوم است از زيرخط برای جدا کردن متغيرهای چند کلمه ای استفاده شود. يا ازروش نام گذاری کوهانی (camel notation) که حرف اول هر کلمه بزرگ است پيروی می شود.


مثال. متغيری که بهره بانکی را ذخيره می کنذد می تواند به دو صورت interest_rate يا InterestRate تعريف شود.


نکته. نامهای توصيفی برای متغيرها انتخاب کنيد.
نکته. به سبکی که برای نامگذاری متغير ها انتخاب کرده ايد در کل برنامه وفادار بمانيد.
نکته. شروع نام متغير با زيرخط غير ضروری است.
نکته. نامگذاری متغير همگی با حروف بزرگ غير ضروری است.

 

مرتب سازی انتخابی (selection sort) روش بهبود يافته مرتب سازی حبابی است.

الگوريتم ابتدا کوچکترين عنصر را توسط جستجوی خطی پيدا می کند و آنرا در اولين محل ليست قرار می دهد، سپس دومين عنصر کوچک را پيدا می کند و به همين ترتيب تا آخر.

پیاده سازی

شبه کد الگوریتم مرتب سازی انتخابی به صورت زیر است:

for i:=0 to n-2 do
   min:=i
   for j:=(i + 1) to n-1 do
      if A[j] < A[min] then
         min:= j
      end if
   end for
   swap (A[i] , A[min])
end for


مثال. در زير مراحل مختلف برای مرتب کردن 5 عنصر "64 25 12 22 11" مشاهده می شود.

First Pass
(64 25 12 22 11) ( 11 25 12 22 64)
Second Pass
(11 25 12 22 64) ( 11 12 25 22 64)
Third Pass
(11 12 25 22 64) (11 12 22 25 64)
Forth Pass
(11 12 22 25 64) (11 12 22 25 64)


ارزیابی کارائی

در مقايسه با الگوريتم های ديگر مرتب سازی انتخابی، به دليل سادگی ساختار، صرف نظر از ترتيب داده های ليست هميشه يک زمان اجرا را می دهد. (n-1) جابه جائی در کل مورد نياز است که نسبت به مرتب سازی حبابی کمتر است و اگر تعداد جابه جائی ها مهم باشد مرتب سازی انتخابی روش مناسبی است. تعداد مقايسه ها در کل برابر است با (n-1)+(n-2)+…+1= Θ(n2).

مرتب سازی انتخابی برای ساختارهائی مانند ليست پيوندی که روش حذف و اضافه کارائی دارند سودمند است. در اين حالت کوچکترين عنصر از ليست حذف شده و سپس به انتهای مقاديری که قبلا مرتب شده اند اضافه می شود.

مثال.

64 25 12 22 11
11 64 25 12 22
11 12 64 25 22
11 12 22 64 25
11 12 22 25 64

یک الگوریتم مرتب سازی الگوریتمی است که عناصر یک لیست را در ترتیب معینی قرار می دهد. کارائی مرتب سازی برای بهینه سازی کاربردهای الگوریتم های دیگر مانند جستجو و ادغام، که به لیست های مرتب نیاز دارند، اهمیت دارد. مرتب سازی برای تهیه خروجی های خوانا برای انسان نیز مفید است.

مرتب سازی حبابی

مرتب سازی انتخابی

مقايسه الگوريتم های مرتب سازی


الگوریتم های مرتب سازی اغلب بر اساس زیر دسته بندی می شوند:

• پیچیدگی زمانی مقایسه عناصر برحسب اندازه لیست (n) . معمولا برای یک الگوریتم مرتب سازی عادی O(n log n) بهترین حالت و O(n2) بدترین حالت است. زمان ایده آل O(n) است.
• پیچیدگی زمانی تعداد جابه جائی ها برای الگوریتم های درجا (in place).
• مصرف حافظه (و استفاده از منابع دیگر سیستم). برخی از الگوریتم های مرتب سازی برون از جا (out place) هستند. که به محل کمکی برای نگهداری داده های موقت علاوه بر داده های در حال مرتب شدن نیاز دارند.
• بعضی از الگوریتم ها بازگشتی یا غیر بازگشتی یا هردو هستند.
• پايداری. الگوریتم های مرتب سازی پايدار ترتیب نسبی رکوردها با کلیدهای مساوی را برقرار می کنند. یعنی اگر دو رکورد R و S با یک کلید وجود داشته باشد و R قبل از S در لیست اصلی آمده باشد، در لیست مرتب شده هم R قبل از S می آید.
• متد کلی. روش مرتب سازی داده ها که می تواند درج،‌ تعویض، انتخاب، ادغام و غیره باشد. برای مثال مرتب سازی حبابی و سریع مرتب سازی تعویضی هستند.


سيستم پايگاه داده (database system)

در اين روش كليه داده ها به صورت مجتمع در پايگاه داده ذخيره می شود، ولي هر كاربر ديد خاص خود را نسبت به داده ها دارد. كاربران مختلف مي توانند به طور مشترك با پايگاه داده كار كنند. به دليل تجمع داده افزونگي به حداقل ممكن كاهش مي يابد.

نرم افزاری به نام سيستم مديريت پايگاه داده ( DBMS ) به عنوان واسطه بين برنامه هاي كاربردي و پايگاه داده ايفاي نقش مي كند لذا امنيت داده ها در اين روش بيشتر است.

چند نمونه از کاربردهای سيستم پايگاه داده موارد زير هستند:

• انجام کليه تراکنش های بانکداري
• رزرواسيون و زمانبندي خطوط هوائي
• ثبت نام دانشجويان، واحدگيری و ثبت نمرات در مراکز آموزشی
• ثبت اطلاعات مشتريان، محصولات و فاکتورهای خريد و فروش
• پيگيري سفارشات و پيشنهادات در فروش online
• ثبت رکوردهاي کارمندان و محاسبات حقوق، کسورات مالياتي در سازمان

 

دو روش كلي براي ذخيره و بازيابي خودكار داده ها وجود دارد: سيستم فايلی ساده و سيستم پايگاه داده

سيستم فايلی (file system)

در اين روش، داده ها در فايل هاي مجزا قرار گرفته و سيستم های جداگانه ای به نام سيستم پردازش فايل براي استفاده از فايل های داده ای طراحي مي شوند. در اين سيستم ها هر برنامه ي كاربردي تنها به فايل داده ای مربوط به خود می تواند مراجعه مي كند.

اشکالات چنين طراحي در ذخيره داده به طور خلاصه عبارتند:

1. افزونگي و ناسازگاري داده به دليل چندين فرمت فايل و تکرار اطلاعات در فايلهاي مختلف.
2. مشکل در دستيابی داده و نياز به نوشتن برنامه جديدي براي انجام هر کار
3. قيدهای جامعيت به جاي اينکه صريحا بيان شوند در کدبرنامه از نظر پنهان مي شد. اضافه کردن قيدهاي جديد يا تغيير قيدهاي موجود به سختي صورت مي گيرد.
4. ايجاد ناسازگاري به دليل وجود چندين کپي از فقره هاي داده
5. مشکلات امنيتی به دليل دسترسي همروند و بدون کنترل توسط چند کاربر

ادامه مطلب...
به کانال تلگرام سایت ما بپیوندید