تبلیغات
سیستم عامل - اصول برنامه نویسی(بخش اول)
 
اگر باگ های زندگی نبود-هیجکس برنامه نویس خوبی نمیشد...
سیستم عامل
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
سه شنبه 9 خرداد 1391 :: نویسنده : EHsAN 031
نویسنده:احسان جعفری

در ادامه ی مطلب این پست/تمامی پیش نیاز های اطلاعات تئوری در مورد برنامه نویسی به طور مختصر توضیح داده شده است...
عناوین این بخش:
الگوریتم
كاركتر
شناسه
متغیر
كلمات رزرو شده یا كلیدی
علامت توضیح

الگوریتم
مجموعه ای از دستورالعمل ها كه به صورت محدود و پایان پذیر است و اگر بصورت متوالی دنبال شود موجب انجام كار خاصی می گردد.
شرایط و معیارالگورتیم
1. ورودی( می تواند چند ورودی داشته باشد یا هیچ ورودی را از محیط خارج تامین نكند . )
2. خروجی (حداقل یك كمیت به عنوان هدف و نتیجه الگوریتم به خروجی برگزدانده می شوند . )
3. قطعیت (واضح و بی ابهام باشد . )
4. محدودیت ( بالاخره باید الگوریتم پایان یابد و برای تمام حالات عملی انجام گیرد و بازتابی داشته باشد . )
5. كارآیی ( هر دستورالعمل باید انجام پذیر باشد . )
نكته : در علم كامپیوتر باید بین یك الگوریتم و یك برنامه تفاوت قائل شد، بعنوان مثال سیستم عامل برنامه ایست كه هیچ گاه پایان نمی پذیرد در صورتیكه شرط الگوریتم پایان پذیریست .
نكته : یك الگوریتم را به شیوه های مختلف می توان بیان كرد و برای هر مساله می توان الگوریتم های متفاوتی نوشت .
نوع داده مجرد ADT (abstract data type)
یك نوع داده مجرد مفهوم مجردیست كه با مجموعه ای از خواص منطقی تعریف شده است . بعد از تعریف این نوع داده مجرد، باید اعمال مربوط به آن را مشخص گردد و می توان آن نوعِ داده را پیاده سازی كرد .
یك پیاده سازی نرم افزاری شامل ویژگی های چگونگی نمایش یك نوع داده جدید بر اساس داده های موجود است، به عبارت دیگر نوع داده مجموعه ای از انواع داده مقصد) ( object وعملكرد هایی است كه بر روی این نوع داده ها عمل می كنند .
توابع یك نوع داده مجرد را به چند گروه تقسیم می كنند :
1. ایجاد كننده یا سازنده ( این توابع نمونه جدیدی از نوع تعیین شده ایجاد می كند . )
2. تبدیل كننده ( این توابع با استفاده از یك یا چند نمونه دیگر نمونه تعیین شده را ایجاد می كند . )
3. مشاهده كننده یا گزارش دهنده ( اطلاعاتی را راجع به یك نمونه از نوع داده را ارائه می دهد . )
بررسی نحوه اجرای یك برنامه
عواملی چون :برآورده شدنِ اهداف اصلی برنامه، صدق كردن تمام مقادیر، مستند سازی برنامه، ایجاد واحدهای منطقی، استفاده موثر از توابع، خوانا بودن كد ها ی برنامه، استفاده موثر برنامه از حافظه ها ی اصلی و كمكی، زمان اجرای برنامه و ... در ارزیابی برنامه موثرند .
تعیین تخمین های حافظه و زمان مورد نیاز را تحلیل نحوه اجرای برنامه می نامند .
پیچیدگی فضای لازم
فضای مورد نیاز یك برنامه شامل موارد زیر است :
1. نیازمندیهای فضای ثابت
2. نیازمندیهای فضای متغیر
می توانیم نیازمندیهای فضای كل را بصورت مجموع نیازمندیهای فضای ثابت و متغیر بیان كنیم .
پیچیدگی زمان
میزان یا پیچیدگی زمان یك برنامه مقدار زمانی است كه كامپیوتر برای اجرای كامل برنامه نیاز دارد . این زمان شامل مجموع زمان كامپایل و زمان اجرای برنامه است البته از آنجا كه برنامه بعد از كامپایل اول دیگر نیازی به كامپایل مجدد ندارد و می توانیم چندین بار بدون كامپایل آنرا اجرا كنیم، زمان مهم برای ما زمان اجرای برنامه است .
چرخه زندگی سیستم ( شیوه توسعه نرم افزار)
این چرخه شامل موارد زیر است :
1. تعین نیاز های مسئله :
نیازها دو دسته اند : دسته اول نیازمندیهای عملیاتی سیستم كه در واقع كاربر با آن سرو كار دارد و دسته دوم نیازمندی های غیر عملیاتی هستند كه این نیازمندیها محدودیت ها و استانداردها ی سیستم را مشخص می كنند .
2. تحلیل مساله:
در تحلیل دو شیوه موجود است : شیوه از پایین به بالا ((bottom up و شیوه از بالا به پایین ((top down
در شیوه از پایین به بالا ما ابتدا كل برنامه را در نظر گرفته و بعد به ریشه ها و قسمت ها ی مختلف می پردازیم . این روش قدیمی و غیر ساخت یافته است اما در شیوه از بالا به پایین ما برنامه را به قسمت های قابل كنترل تقسیم می كنیم و در نهایت به برنامه اصلی دست پیدا می كنیم .
3. طراحی الگوریتم برای حل مساله :
در این مرحله، طراح سیستم را هم از نقطه نظر داده های مقصود مورد نیاز برنامه و هم از نظراعمالی كه بر روی انها انجام می گیرد، بررسی می كند. از آنجایی كه نوع داده مجرد و مشخصات الگوریتم ها مستقل از زبان هستند لذا جزئیات برنامه نویسی را نادیده می گیریم .
4. پیاده سازی الگوریتم :
در این مرحله الگوریتم توسعه می یابد و بر طبق زبان انتخاب شده الگوریتم پیاده سازی می شود .
5. بازبینی، بررسی و آزمایش برنامه كامل شده :
در این مرحله برنامه ها با انواع داده های ورودی مختلف آزمایش و خطا های مختلف رفع می شوند، جنبه های مختلف در این زمینه عبارتند از : اثبات درستی، آزمایش درستی و خطا زدایی .
نكته : باید توجه داشت كه برنامه بدون خطایی كه سرعت پایینی دارد از ارزش كمی برخوردار است .
6. پشتیبانی و به روز رسانی برنامه :
این بخش طولانی ترین دوره شیوه توشعه نرم افزار است . دراین مرحله برنامه وابسته به نیازهای جدید یا تغییر نیازهای قدیم یا بروز اشتباهات مختلف و ... به روز رسانی یا اصلاح می شود .
نكته : سه مرحله اول توسعه نرم افزار یعنی نیازمندیها، تحلیل مساله و طراحی الگوریتم، به عهده تحلیلگران سیستم است و برنامه نویس مرحله چهارم را به عنوان نوعی كتابدار انجام می دهد . در اصطلاح برنامه نویسی به دو مرحله آغازی تحلیل و به مراحل سه و چهار تركیب گفته می شود .
بعضی از الگو های توسعه نرم افزار :
1. روش آبشاری :
در این روش پس از تعریف هر مرحله توسعه نرم افزار به سمت مرحله بعدی پیش می رود .
2. برنامه نویسی اكتشافی :
دراین روش در حداقل زمان ممكن سیستمی ایجاد می شود و سپس اصطلاحات لازم در آن بوجود می آید، تا عمل مورد نظر را به درستی انجام دهد . این روش معمولا در توسعه سیستم های هوش مصنوعی كه كاربران نمی توانند نیاز های مشروح را بطور دقیق بیان كنند و كفایت به جای صحت هدف اصلی طراحان سیستم است بكار می رود .
طراحی شئ گرا:
ازآنجا كه پنهان سازی اطلاعات یك استراتژی طراحی است كه در آن اطلاعات تا آنجایی كه ممكن است در داخل قطعات سیستم مخفی می شوند ، طراحی شئ گرا نیز بر مبنای پنهان سازی اطلاعات است ، در روش شئ گرا سیستم به صورت مجموعه ای از اشیا یا حالت اختصاصی خود در نظر گرفته می شود .
ویژگی های طراحی شی گرا :
1. ناحیه مشترك داده ها حذف می شوند و اشیا به جای استفاده از متغیر های عمومی و مشترك با تبادل پیام ها با یكدیگر ارتباط برقرار می كنند . این كار هم باعث سهولت در اصلاحات و هم كاهش اتصال كل سیستم می شود .
2. اشیا نهادهای مستقلی هستند كه به راحتی قابل تغییرند زیرا تمام حالت ها و اطلاعات در داخل خود شئ پنهان شده است و اشیا دیگر چه از روی عمد و چه تصادفی به اطلاعات یك شی نمی توانند دست یابند و تغییر در یك شی بدون مراجعه به اشیای دیگر صورت می گیرد .
3. اشیا ممكن است توزیع شده باشند و می توانند بصورت ترتیبی یا موازی اجرا شوند .
امتیازات روش طراحی شئ گرا :
1. به دلیل مستقل بودن اشیا نگهداری سیستم آسانتر است ، می توان اشیا را جداگانه اصلاح كرد و افزودن یا حذف یك شی تغییری در سایر اشیا سیستم نخواهد داشت .
2. اشیا قطعات مناسبی هستند كه می توانند مجددا مورد استفاده قرار گیرند .
3. برای دسته ای از سیستم ها نگاشت روشنی بین نهاد های دنیای واقعی ( مثل قطعات سخت افزاری ) و اشیای كنترل كننده آنها در سیستم وجود دارد این موضوع درك سیستم را بالا می برد .
طراحی تابعی :
طراحی تابعی روشی برای انجام طراحی نرم افزار است ، در آن طراحی به مجموعه ای از واحدهای متاثر به هم تجزیه می شود كه هر كدام وظیفه خاصی دارند در واقع طراحی تابعی مكمل تكنیك طراحی شی گراست . یك روش طراحی تابعی طراحی ساخت یافته است، این روش با استفاده از نمودارهای جریان داده ها پردازش داده ای منطقی را توصیف می كند .
استراتژی طراحی تابعی بر تجزیه سیستم به مجموعه ای از توابع متاثر به همه تكیه دارد كه حالت متمركز سیستم بین توابع مشترك است . طراحی تابعی جزییات الگوریتم را در یك تابع پنهان می كند اما اطلاعات حالات سیستم مخفی نیست، این كار ممكن است موجب مشكلاتی گردد زیرا یك تابع می تواند این حالت را طوری تغییر دهد كه سایر توابع انتظارش را ندارند . این روش زمانی موفق است كه میزان اطلاعاتی حالت سیستم اندك باشد و از اشتراك داده ها جلوگیری گردد . بعضی از سیستم هایی كه واكنش های آنها وابسته به یك محرك یا ورودی است و متاثر از ورودی های قبلی نیست ، ماهیت تابعی دارند.
كاركتر

كلیدهایی كه بر روی كیبورد وجود دارد پس از فشردن هر كلید علامتی بر صفحة مونیتور نقش می بندد كه به هر كدام كاركتر می گویند . مفهوم كاركتر تنها به كلید های كیبورد محصور نمی شود ، بلكه گاهی فشردن مجموع چند كلید، كاركتر خاصی را معنا می دهد . این مجموعه كاركتر ها در واقع حكم مصالح اولیه جهت شكل دادن به اجزای اصلی برنامه اند . بعضی از كاركتر ها عبارتند از :
- حروف كوچك و بزرگ
- ارقام دهدهی شامل 0 تا 9
- جای خالی ( blank )
- كاركتر های مخصوص ~ ! @ # $ % ^ & * ) ( _ - + = ] [‌‍ {} > < " : ; ? / \ . ,
- كاركتر های فرمت دادن ( formating character ) : كه برای بیان كردن حالات ویژه ای به كار می روند و عبارتند از : \t ( horizental tab ) ، \v ( vertival tab ) ، \n ( new line ) ، \b ( back space ) ، \f ( form feed ) ، \r ( return line ) ، \0 ( null ) و . . . كه به آنها كاركتر های فرمان نیز می گویند .
یادآوری : هر كاركتر فرمان بیا ن كننده تنها یك كاركتر است ، هر چند با دو یا چند كاركتر نوشته می شوند .
شناسه

شناسه ، نامی است كه به عناصر مختلف برنامه مانند متغیر ها، توابع، آرایه ها، اشاره گر ها و غیر اطلاق می شود . یك شناسه دنباله ای از حروف بزرگ یا كوچك ، ارقام ، یا علامت زیر خط ( under line ) است كه با هر ترتیبی می توانند قرار گیرند ، به شرط آنكه اولین كاركتر باید یك حرف باشد . ضمنا استفاده از فضای خالی ( blank ) در نام شناسه مجاز نمی باشد .
طول اسامی در زبان های مختلف متفاوت است مثلا در زبان c استاندارد تا 31 كاركتر مجاز است .
قرارداد : شناسه هایی كه با علامت زیر خط ( under line ) شروع می شوند فقط در برنامه های سیستم كاربرد دارند .
متغیر

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

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




نوع مطلب : همه، برنامه نویسی، 
برچسب ها :
لینک های مرتبط :


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


درباره وبلاگ

هک و امنیت,سیستم عامل,ویندوز,لینوکس,مکینتاش,ترفند,آموزش,کامپیوتر,رایانه,برنامه نویسی,اخبار,ای تی,

مدیر وبلاگ : EHsAN 031
نویسندگان
صفحات جانبی
نظرسنجی
کدوم؟






جستجو

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