1- قسمت مفاهیم اولیه دربرگیرنده مفاهیم اولیه زبان C، کتابخانه ها، متغیرها و داده های اولیه ( صحیح، کاراکتری، اعشاری، داده های شمارشی و … ) و عملگرها و عبارات محاسباتی می باشد. 2- قسمت سایر شامل مباحث سرریزی (Overflow)، پیش پردازنده (Preprocessor)، تخصیص پویا (Heap)، کلاسهای حافظه (Extern، Static و …)، توابع محاسباتی، ریاضی، کاراکتری و … می باشد. 3- قسمت دستورات كنترلي شامل دستورات شرطي (If – Switch ) و دستورات كنترلي (For – While) میباشد. 4- مبحث اشاره گر به تابع در قسمت توابع منظور شده است. 5- در کنکور آزاد 89 علاوه بر 14 تست فوق یک تست از مفاهیم شی گرایی ( overload کردن توابع سازنده و نابودکننده ) طرح شده است. 6- در کنکورهای سراسری 88 و 89 از زبان ++C سوال طرح شده است. در کنکور آزاد 89 از زبان ++C و C سول طرح شده است. در کنکور علمی کاربردی 87 از زبان C و 88 از زبان ++C سوال طرح شده است. 7- اکثر تستهای برنامه نویسی ترکیبی هستند به این صورت که در یک تست مباحث مختلف بکار می رود ( برای مثال در یک تست تابع، دستورات I/O، عملگرها و آرایه استفاده شده است ). در بودجه بندی معیار مبحث نکته تست در نظر گرفته شده است. طبق بودجه بندی سوالات سالهای گذشته در کنکور سراسری اهمیت مباحث به صورت زیر می باشد: توابع (%15) دستورات ورودي/خروجي (%14) رشته (%13) مفاهيم اوليه (%12) دستورات كنترلي (%12) آرايه (%11) اشاره گر (%8) فايل (%5) استراكچر و يونيون (%5) ساير (%5) سرفصلهای مهم مبحث شی گرایی سراسری 86 تا 89 مفاهیم اولیه (class – instance) سازنده (Constructor) – نابودکننده (Destructor) عملگرها (دسترسی، تفکیک حوزه، سربازگذاری و …) وراثت (inheritance) کپی عضو به عضو پیش فرض ( توسط عملگر انتساب ) توابع inline – توابع استاتیک اشاره گر به اعضای کلاس سربارگذاری توابع اشاره گر this محدوده دسترسی طبق بودجه بندی سوالات سالهای گذشته در کنکور آزاد اهمیت مباحث به صورت زیر می باشد: مفاهیم اولیه (%20) توابع (%18) دستورات کنترلی (%15) رشته (%14) آرایه (%10) اشاره گر (%6) فایل (%5) استراکچر و یونیون (%5) سایر (%5) دستورات ورودی/خروجی (%2) طبق بودجه بندي سوالات سالهاي گذشته در كنكور علمي كاربردي اهميت مباحث به ترتيب زير مي باشد: مفاهیم اولیه (%17) توابع (%17) دستورات کنترلی (%16) رشته (%12) دستورات ورودی/خروجی (%11) استراکچر و یونیون (%7) اشاره گر (%6) آرایه (%5) فایل (%5) سایر (%4)
Read More »Tag Archives: فایل
بخش دوم جزوه ذخیره و بازیابی اطلاعات
اغلب در بخش کنترلی اطلاعات زیر ذخیره می شود: 1ـ طول رکورد 2ـ نوع رکورد 3ـ اشاره گرها 4ـ پرچم های عملیاتی و حفاظتی 5ـ اطلاعاتی خاص، ویژه بعضی ساختارها 1ـ طول رکورد: هنگامی که طول رکوردها متغیر باشد در بخش کنترلی طول آن رکورد ذخیره میشود و رکوردهای با طول ثابت به این اطلاع نیازی ندارند. 2ـ نوع رکورد: ممکن است در یک فایل اطلاعات دو یا چند رکورد ذخیره شود (فایل چند نوعی) ممکن است در یک فایل هم اطلاعات اساتید و هم اطلاعات دانشجویان ذخیره گردد در اینجا نوع هر رکورد باید در ابتدای آن مشخص گردد و فایلی را که فقط یک نوع رکورد دارد، فایل تک نوعی می گویند. 3ـ اشاره گرها: مثلاً پردازشگر فایل ممکن است رکوردهای اساتید را به ترتیب حروف الفبا مشاهده و پردازش کند؛ ولی این رکوردها که منطقاً مجاور یکدیگرند هنگام ذخیره شدن بر روی دیسک الزاماً به همان ترتیب نخواهند بود. در این حال با استفاده از اشاره گر ها ارتباط منطقی بین رکوردها پیاده سازی می گردد. 4ـ پرچم (Flag): این پرچم ها برای نشان دادن عملیاتی که قرار است روی رکورد انجام بگیرد و یا نشان دادن عملیاتی که روی آن رکورد انجام شده بکار می روند. مثلاً در بسیاری از سیستم ها حذف به دو صورت منطقی و فیزیکی صورت می گیرد؛ بدین معنا که هنگام صدور فرمان حذف (جهت بالا بردن سرعت عملیات) تنها در ابتدای آن رکورد پرچمی “|” می شود (بدون حذف واقعی) و در این حالت مثلاً هنگام نمایش رکوردها آنهایی که علامت حذف خوردهاند نشان داده نمی شوند و سپس در فرصتی مناسب این اطلاعات بطور فیزیکی حذف می شوند. همچنین در محیط های اشتراکی نیاز به پرچم های کنترلی است که نحوه دستیابی افراد را به رکوردها معین می سازد. مثلاً اگر پرچم Read Only برای کاربری فعال شود آنگاه آن کاربر نمی تواند رکورد را تغییر دهد. 5ـ اطلاعاتی خاص، ویژه بعضی ساختارها: در ساختارهای مختلف فایل جهت پیاده سازی آن ها گاهی اوقات لازم است اطلاعات خاصی همراه رکوردها ذخیره گردد. کلید (Key): صفت خاصه یا ترکیبی از چند صفت خاصه را که در تمام نمونه های مختلف یک موجودیت، مقدار یکتایی را داشته باشد، کلید می گویند. مثلاً در فایل اطلاعات دانشجویان فیلد شماره دانشجویی کلید است، زیرا هر شماره دانشجویی فقط یک دانشجو را معرفی می کند (شماره دانشجویی تکراری نیست). فایل: مجموعهای از نمونه های مختلف یک یا چند رکورد با ساختار مشخص است. فایل نیز دارای دو ساختار منطقی و فیزیکی است. فایل ها بر روی حافظه جانبی ذخیره شده و محتویات آن ها ماندگار است. اغلب فایل ها به قدری بزرگند که نمی توان آن ها را جهت پردازش بطور کامل به حافظه اصلی آورد. همچنین در حالت کلی فایل ها بصورت اشتراکی توسط چند کاربر استفاده می شوند. بلاک بندی (Blocking): بلاک واحد رد و بدل کردن اطلاعات بین حافظه جانبی و حافظه اصلی توسط سیستم فایل است. البته در یک عمل I/O ممکن است چندین بلوک یکباره خوانده یا نوشته شوند. از نظر برنامه پردازشگر، فایل مجموعهای از رکوردها با ساختار مشخص است ولی از نظر سیستم فایل، یک فایل از تعدادی بلاک تشکیل یافته است. نمایش ساده یک بلوک: به تعداد رکوردهای موجود در هر بلاک ضریب بلاک بندی گفته می شود و آن را با BF (مخفف Blocking Factor) نمایش می دهیم. مابین بلاک ها یک فضای بلا استفاده (GAP) وجود دارد که باعث هدر رفتن فضای ذخیره سازی می گردد. بلاک بندی در نوار توسط کاربر انجام گرفته و اندازه آن می تواند تغییر کند. «GAP» بین بلوک ها در نوار جهت رسیدن سرعت هد به سرعت حس و یا توقف هد مورد نیاز است. بلاک بندی در دیسک: بلاک در دیسک می تواند یک سکتور یا ترکیبی از چند سکتور سخت افزاری، یک شیار یا بخشی از یک شیار باشد. یک بلوک را نمی توان بین دو یا چند شیار تقسیم کرد. شیارهای دیسک را می توان بر حسب سکتورها یا بر حسب بلوک ها تقسیم بندی کرد، تقسیم بندی بلوکی توسط کاربر و یا سیستم عامل انجام می پذیرد. بلوک واحد رد و بدل اطلاعات بین دیسک و حافظه است و بلوک ها می توانند طول ثابت یا متغیری داشته باشند که بستگی به نیاز طراح فایل و قابلیت های سیستم عامل دارد. بلوک ها را مشابه سکتورها می توان رکوردهای فیزیکی در نظر گرفت. بلوک ها طوری سازماندهی می شوند که تعداد ثابتی از رکوردهای منطقی را نگهداری می کنند. تکنیک های بلاک بندی: 1ـ بلاک بندی رکوردها با طول ثابت و یکپاره 2ـ بلاک بندی رکوردها با طول متغیر و یکپاره 3ـ بلاک بندی رکوردها با طول متغیر و دوپاره در هر کدام از این سه مورد که بررسی کنیم باید دو مسئله را مد نظر داشته باشیم: 1ـ فاکتور بلاک بندی؛ یعنی تعداد رکورد موجود در هر بلاک. معیار سنجش یک نرم افزار: پیچیدگی خود نرم افزار، میزان حافظهای که اشغال می کند، سرعت، کارایی بالا. زمان حیات یک فایل: از وقتی که یک فایل ایجاد می شود تا وقتی که پاک می گردد. تغییر طول فایل به دو علت می باشد: 1ـ تعداد رکوردهای فایل عوض شود 2ـ طول رکوردهای فایل عوض شود. مزایای بلاک بندی: کاهش دفعات خواندن و نوشتن، کاهش حافظه هرز ناشی از وجود گپ بین رکوردها. معایب بلاک بندی: کار نرم افزاری بیشتر، مصرف حافظه ی اصلی بیشتر، بالا رفتن احتمال خطا در اطلاعات به علت افزایش میزان اطلاعات انتقالی در یک عمل ورودی و خروجی (هر چه حجم اطلاعات بالا رود حجم خطا هم بالا میرود) باکت بندی: مجموعهای از تعدادی بلاک با حداقل طول یک بلاک می باشد. مزایا و معایب باکت بندی همان مزایا و معایب بلاک بندی است. اگر بلاک بندی داشته باشیم واحد خواندن می شود بلاک و اگر باکت بندی داشته باشیم واحد خواندن و نوشتن می شود باکت و هر وقت با کل فایل کار داشتیم سیستم عامل مطرح است و هر وقت با رکورد کار داشتیم نرم افزار مطرح می شود. اگر رکوردی دوپاره گردد در روش سوم بلاک بندی داشتیم، دوباره باید به سراغ دیسک برویم؛ یعنی دوبار خواندن و نوشتن صورت می گیرد ولی در روش باکت بندی این مشکل را نداریم. چگالی Load اولیه در فایل ها: تعریف Load اولیه در فایل ها: ایجاد اولیه ی یک فایل و اطلاعات اولیه ای که در فایل قرار می گیرد و لحظه Load اولیه فایل یک مقداری از بلاک ها را خالی می گذارند برای اضافه کردن اطلاعات بعدی. اگر پشت سر هم رکوردها را بنویسیم و یکدفعه فضای خالی بگذاریم، اگر رکوردی را اضافه بنماییم، همه رکوردها باید یک شیفت به جلو بخورند و این نرمافزاری است و بافری که تعیین می کنیم مقداری از آن را خالی می گذاریم و به سراغ بعدی می رویم.
Read More »بخش اول جزوه ذخیره و بازیابی
حافظه: هر دستگاهي که قادر به ذخيره سازي و بازيابي اطلاعات باشد. انواع حافظه: اصلي و جانبي. سيستم هاي فايل لينک: ذخيره سازي اطلاعات در محيط برون ماشين و بررسي مکانيزم دستيابي و بازيابي آن ها. علت به کارگيري و استفاده از حافظه هاي جانبي اين است که حافظه هاي درون ماشين گران اند و ظرفيت محدودي دارند. چگالي ذخيره سازي اطلاعات به تعداد شيار در واحد طول بستگي دارد. از نظر تعداد شيار ها دو نوع نوار وجود دارد: 7 شياره و 9 شياره تعريف 1ـ گپ فضاي بلا استفاده بين دو گروه کاراکتر يا بلوک يا رکوردِ ضبط شده مي باشد. تعريف 2ـ گپ از نظر ذخيره سازي اصطلاحاً حافظه Waste مي باشد. پارامترهاي اساسي نوار: سرعت، چگالي، نرخ انتقال. براي اين که هد خواندن و نوشتن بتواند دادهاي را حس کند بايد پس از توقف به سرعتي مطلوب و يکنواخت موسوم به سرعت حس برسد که براي اين کار فضاي خالي گپ مورد نياز است. همچنين براي رسيدن سرعت حس تا توقف کامل نيز فضاي خالي گپ لازم مي باشد. به چند سکتور پشت سر هم يک کلاستر مي گويند. ديسک ها با هد ثابت سريع تر و گران تر از ديسک ها با هد متحرک مي باشد. طبله رسانهاي منطقاً معادل ديسک با نوک ثابت متشکل از يک استوانه با يک يا چند هد خواندن و نوشتن است و در قديم به عنوان حافظه اصلي استفاده مي شد. حافظه کش حافظه ايست مابين CPU و RAM و جزء حافظه اصلي مي باشد. زمان پيگرد زمان لازم جهت انتقال هد به سيلندر است و متوسط اين زمان را با حرف s نشان مي دهند. اين زمان حدود 2 تا 10 ميلي ثانيه است. زمان درنگ دوراني: پس از آن که هد به سيلندر مورد نظر رسيد زماني براي چرخش ديسک لازم است تا سکتور مورد نظر در زير هد قرار بگيرد که به آن زمان درنگ دوراني مي گويند. متوسط اين زمان را با حرف R نشان مي دهند که نصف زمان لازم جهت يک دور چرخيدن ديسک مي باشد. نوع موجوديت به فرد، شيء، پديده يا مفهومي که مي خواهيم در رابطه با آن اطلاعات داشته باشيم گفته مي شود. محيط عملياتي: به محيطي که در رابطه با آن مي خواهيم يک سري داده ها را در آن ذخيره، بازيابي يا پردازش کنيم گويند. مثلاً محيط عملياتي دانشگاه از موجوديت هاي دانشجو، استاد، درس، کارمند، کلاس و … تشکيل يافته است. انواع موجوديت ها توسط صفحات خاص مربوط به هر يک از ساير موجوديت ها متمايز مي گردد. مثلاً موجوديت استاد ميتواند صفحات خاصهي مدرک، نام، آدرس، سابقه تدريس و … را داشته باشد. فيلد: مکان ذخيره شدن يک واحد معنادار يا يک فقره اطلاعات را فيلد گويند که کوچکترين واحد اطلاعات در فايل است. اطلاع: هر صفت خاصه از دو مؤلفه تشکيل يافته است. يکي اسم صفت خاصه و ديگري مقدار صفت خاصه. به مجموع اين دو مؤلفه اطلاع گفته مي شود. اطلاع توسط انسان يا ماشين توليد، ذخيره، بازيابي و پردازش مي شود. مثلاً نام خانوادگي صفت خاصه است و مثلاً احمدي مقدار صفت خاصه است. رکورد: مجموعهاي از فيلدها تشکيل رکورد را مي دهند و مجموعهاي از رکوردها فايل را تشکيل مي دهند. ساختارهاي فيلد: براي مشخص ساختن فيلدها در طول رکوردها راه حلهاي مختلف زير وجود دارد: 1ـ قرار دادن فيلدها در طول هاي از قبل تعيين شده. 12 بايت 20 بايت 14 بايت نام فاميل مدرک علي حسيني ليسانس يک ايراد اين روش اين است که براي رساندن فيلدها به طول معين مي بايست از فاصله خالي استفاده شود و فضاي خالي باعث بزرگ شدن اندازه فايل و اتلاف حافظه ديسک مي گردد. 2ـ قرار دادن طول فيلد در ابتداي هر فيلد. 03Ali 06Javadi 06Doctor 07Physics 3ـ استفاده از يک کاراکتر ويژه به عنوان حد فاصل در انتهاي هر فيلد. Ali, Javadi, Doctor, Physics 4ـ بکار بردن نام هر فيلد در مقابل مقدار هر فيلد. به عبارت ديگر استفاده از يک عبارت کليدي براي شناسايي هر فيلد. Name=Ali, Family=Javadi, City=Tehran مزيت اين ساختار آن است که فيلد خودتوصيف بوده و فيلدها مي توانند جابجا شوند؛ همچنين مقادير بعضي از فيلدها در صورت عدم وجود ذخيره نمي گردد. ايراد اين روش اتلاف حافظه ايست که در اثر ذخيره ي نام فيلدها با آن مواجه مي شويم. ساختار رکوردها: بعضي از روش هاي سازمان دهي رکوردها به صورت زير مي باشد: 1ـ رکوردهايي با طول ثابت: در اين روش طول همه رکوردهاي فايل با هم برابر مي باشد و اين روش متداول ترين سازمان دهي رکوردهاست. ثابت بودن طول رکورد الزاماً به منظور ثابت بودن طول فيلدهاي تشکيل دهنده آن نيست. 2ـ تعيين طول رکوردها بر حسب تعداد فيلدهاي آن: در اين روش هر رکورد از n فيلد تشکيل يافته است و n براي کل فايل ثابت است. مثلاً اگر n = 4 آنگاه فايل مي تواند به صورت زير باشد: Ali, Javadi, Doctor, Physics, Mohammad, Husseini, Doctor, Computer 3ـ ذخيره طول رکورد در اول هر رکورد: در اين روش در فيلدي در ابتداي هر رکورد طول آن ذخيره مي شود. اين روش اغلب براي کار با رکوردهاي با طول متغير بکار مي رود. 4ـ استفاده از انديس براي آدرس هاي هر رکورد نسبت به اول فايل. …. 26 0 5ـ ذخيره يک علامت ويژه فاصل در انتهاي هر رکورد. از يک نظر مي توان گفت دو ساختار کلي جهت پياده سازي رکوردها وجود دارد: الف) رکورد با قالب ثابت و مکاني که تعداد، مکان و طول فيلدها در نمونه هاي مختلف ثابت بوده و تعريف اين ساختار از قبل مشخص شده است. نام فاميل رشته علي کريمي برق حسين محمودي فيزيک ب) رکورد با قالب غير ثابت و غير مکاني که در هر فيلد، اسم فيلد به همراه مقدار آن ذخيره مي شود. نام=علي، فاميل=کريمي، رشته=برق نام=حسين، رشته=فيزيک طول يک رکورد بنا به دلايل زير ممکن است متغير شود: الف) طول بعضي فيلدها مثل آدرس ممکن است متغير باشد. ب) تعداد فيلدهاي نمونه هاي يک رکورد (موجوديت) ممکن است متغير باشد. مثلاً موجوديت استاد ممکن است به دو دسته ي ” رسمي با حقوق ثابت ” و ” حق التدريس ” تقسيم گردد. نوع رسمي: نام استاد، مدرک، رشته، حقوق ماهانه . نوع حق التدريس: نام استاد، مدرک، رشته، تعداد ساعات تدريس، حق الزحمه هر ساعت ج) ممکن است در رکورد، فيلد (فقره اطلاع) تکرار شونده داشته باشيم. نام مدرک دانشکدهاي که تدريس مي کند اکبري دکترا برق، کامپيوتر حسيني دکترا رياضي، برق، کامپيوتر از سه ديدگاه مي توان به رکورد نگاه کرد: الف) رکورد در سطح انتزاعي که رکورد را مستقل از جنبه هاي نمايشي آن و بصورت کلي نگاه مي کنيم. ب) رکورد در سطح منطقي که رکورد را از ديدگاه برنامه نويس مشخص مي سازد و Sort شده است. ج) رکورد ذخيره شده يا رکورد در سطح فيزيکي که رکورد را به صورتي که در محيط ذخيره سازي مثل ديسک قرار ميگيرد معني مي سازد و ممکن است به آن اطلاع بيشتري اضافه شود و يا ساختار آن قدري تغيير کند و معمولاً رکورد ذخيره شده داراي دو بخش مجزاي دادهاي و کنترلي مي باشد و به بخش کنترلي، بخش پيشوندي، بخش غيردادهاي يا Meta Section نيز گفته مي شود. بخش کنترلي اغلب توسط سيستم فايل استفاده شده و از ديد برنامه مخفي است.
Read More »