انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر

سي (زبان برنامه‌نويسي)
از ويکي‌پديا، دانشنامهٔ آزاد
(تغيير مسير از زبان برنامه‌نويسي C)
پرش به: ناوبري, جستجو
زبان برنامه‌نويسي C، زباني همه منظوره، ساخت يافته و روندگرا مي باشد که در سال ۱۹۷۲ توسط دنيس ريچي در آزمايشگاه بل ساخته شد.[۱]
تاريخچه
براي بررسي تاريخچه زبان C بايد به سال ۱۹۶۷ بازگرديم که مارتين ريچاردز زبان BCPL را براي نوشتن نرم افزارهاي سيستم عامل و کامپايلر در دانشگاه کمبريج ابداع کرد. سپس در سال ۱۹۷۰ کن تامپسون زبان B را بر مبناي ويژگي‌هاي زبان BCPL نوشت و از آن براي ايجاد اولين نسخه هاي سيستم عامل يونيکس در آزمايشگاه‌هاي بل استفاده کرد. زبان C در سال ۱۹۷۲ توسط دنيس ريچي از روي زبان B و BCPL در آزمايشگاه بل ساخته شد و ويژگي‌هاي جديدي همچون نظارت بر نوع داده ها نيز به آن اضافه شد. ريچي از اين زبان براي ايجاد سيستم عامل يونيکس استفاده کرد اما بعدها اکثر سيستم عاملهاي ديگر نيز با همين زبان نوشته شدند. اين زبان با سرعت بسياري گسترش يافت و چاپ کتاب "The C Programming Language" در سال ۱۹۷۸ توسط کرنيگان و ريچي باعث رشد روزافزون اين زبان در جهان شد.
متاسفانه استفاده گسترده اين زبان در انواع کامپيوترها و سخت افزارهاي مختلف باعث شد که نسخه‌هاي مختلفي از اين زبان بوجود آيد که با يکديگر ناسازگار بودند. در سال ۱۹۸۳ انستيتوي ملي استاندارد آمريکا (ANSI) کميته اي موسوم به X3J11 را را مأمور کرد تا يک تعريف فاقد ابهام و مستقل از ماشين را از اين زبان تدوين نمايد. در سال ۱۹۸۹ اين استاندارد تحت عنوان ANSI C به تصويب رسيد و سپس در سال ۱۹۹۰، سازمان استانداردهاي بين المللي (ISO) نيز اين استاندارد را پذيرفت و مستندات مشترک آنها تحت عنوان ANSI/ISO C منتشر گرديد.
در سالهاي بعد و با ظهور روشهاي برنامه‌نويسي شئ‌گرا نسخه جديدي از زبان C بنام C++ توسط بيارنه استراوستروپ در اوايل ۱۹۸۰ در آزمايشگاه بل توسعه يافت. در C++ علاوه بر امکانات جديدي که به زبان C اضافه شده است، خاصيت شئ‌گرايي را نيز به آن اضافه شده‌است.
با گسترش شبکه و اينترنت، نياز به زباني احساس شد که برنامه‌هاي آن بتوانند برروي هر ماشين و هر سيستم عامل دلخواهي اجرا گردد. شرکت سان مايکروسيستمز در سال ۱۹۹۵ ميلادي زبان جاوا را برمبناي C و C++ ايجاد کرد که هم اکنون از آن در سطح وسيعي استفاده مي‌شود و برنامه هاي نوشته شده به آن برروي هر کامپيوتري که از چاوا پشتيباني کند (تقريباً تمام سيستم‌هاي شناخته شده) قابل اجرا مي‌باشد. شرکت مايکروسافت در رقابت با شرکت سان، در سال 2002 زبان جديدي بنام C# (سي شارپ) را ارائه داد که رقيبي براي Java بشمار مي‌رود.
برنامه نويسي ساخت يافته
در دهه ۱۹۶۰ ميلادي توسعه نرم‌افزار دچار مشکلات عديده‌اي شد. در آن زمان سبک خاصي براي برنامه نويسي وجود نداشت و برنامه‌ها بدون هيچگونه ساختار خاصي نوشته مي‌شدند. وجود دستور پرش (goto) نيز مشکلات بسياري را براي فهم و درک برنامه توسط افراد ديگر ايجاد مي‌کرد، چرا که جريان اجراي برنامه مرتبا دچار تغيير جهت شده و دنبال کردن آن دشوار مي‌گرديد. لذا نوشتن برنامه ها عملي بسيار زمان بر و پرهزينه شده بود و معمولاً اشکال زدايي، اعمال تغييرات و گسترش برنامه ها بسيار مشکل بود. فعاليتهاي پژوهشي در اين دهه باعث بوجود آمدن سبک جديدي از برنامه نويسي بنام روش ساخت‌يافته گرديد؛ روش منظمي که باعث ايجاد برنامه‌هايي کاملاً واضح و خوانا گرديد که اشکال‌زدايي و خطايابي آنها نيز بسيار ساده‌تر بود.
اصلي‌ترين نکته در اين روش عدم استفاده از دستور پرش (goto) است. تحقيقات بوهم و ژاکوپيني نشان داد که مي‌توان هر برنامه اي را بدون دستور پرش و فقط با استفاده از ۳ ساختار کنترلي ترتيب، انتخاب و تکرار نوشت.
ساختار ترتيب، همان اجراي دستورات بصورت متوالي (يکي پس از ديگري) است که کليه زبانهاي برنامه نويسي در حالت عادي بهمان صورت عمل مي‌کنند.
ساختار انتخاب به برنامه‌نويس اجازه مي‌دهد که براساس درستي يا نادرستي يک شرط، تصميم بگيرد کدام مجموعه از دستورات اجرا شود.
ساختار تکرار نيز به برنامه نويسان اجازه مي‌دهد مجموعه خاصي از دستورات را تا زمانيکه شرط خاصي برقرار باشد، تکرار نمايد.
هر برنامه ساخت‌يافته از تعدادي بلوک تشکيل مي‌شود که اين بلوکها به ترتيب اجرا مي‌شوند تا برنامه خاتمه يابد (ساختار ترتيب). هر بلوک مي‌تواند يک دستور ساده مانند خواندن، نوشتن يا تخصيص مقدار به يک متغير باشد و يا اينکه شامل دستوراتي باشد که يکي از ۳ ساختار فوق را پياده سازي کنند. نکته مهم اينجاست که درمورد دستورات داخل هر بلوک نيز همين قوانين برقرار است و اين دستورات مي‌توانند از تعدادي بلوک به شرح فوق ايجاد شوند و تشکيل ساختارهايي مانند حلقه‌هاي تودرتو را دهند.
نکته مهم اينجاست که طبق قوانين فوق يک حلقه تکرار يا بطور کامل داخل حلقه تکرار ديگر است و يا بطور کامل خارج آن قرار مي‌گيرد و هيچگاه حلقه هاي روي هم افتاده نخواهيم داشت.
از جمله اولين تلاشها در زمينه ساخت زبانهاي برنامه نويسي ساخت‌يافته، زبان پاسکال بود که توسط پروفسور نيکلاس ويرث در سال ۱۹۷۱ براي آموزش برنامه نويسي ساختيافته در محيطهاي آموزشي ساخته شد و بسرعت در دانشگاهها رواج يافت. اما بدليل نداشتن بسياري از ويژگيهاي مورد نياز مراکز صنعتي و تجاري در بيرون دانشگاهها موفقيتي نيافت.
کمي‌بعد زبان C ارائه گرديد که علاوه بر دارا بودن ويژگيهاي برنامه نويسي ساختيافته بدليل سرعت و کارايي بالا مقبوليتي همه گير يافت و هم اکنون سالهاست که به‌عنوان بزرگ‌ترين زبان برنامه نويسي دنيا شناخته شده است.
مراحل اجراي يک برنامه C
براي اجراي يک برنامه C ابتدا بايد آن را نوشت. براي اينکار مي‌توان از هر ويرايشگر متني موجود استفاده کرد و سپس فايل حاصل را با پسوند .C ذخيره نمود (فايلهاي C++ با پسوند.CPP ذخيره مي‌گردند). به اين فايل، کد مبدأ (source code) گفته مي‌شود. مرحله بعدي تبديل کد مبدا به زبان ماشين است که به آن کد مقصد (object code) گفته مي‌شود. همانطورکه قبلا نيز گفته شد براي اينکار از يک برنامه مترجم بنام کامپايلر استفاده مي‌شود. کامپايلرهاي متعددي براي زبان C توسط شرکتهاي مختلف و براي سيستم عاملهاي مختلف نوشته شده است که مي‌توانيد برحسب نياز از هريک از آنها استفاده نماييد. اما هنوز برنامه براي اجرا آماده نيست. معمولاً برنامه نويسان از در برنامه هاي خود از يک سري از کدهاي از پيش آماده شده براي انجام عمليات متداول (مانند محاسبه جذر و يا سينوس) استفاده مي‌کنند که برنامه آنها قبلا نوشته و ترجمه شده است. اين برنامه ها يا در قالب کتابخانه‌هاي استاندارد توسط شرکتهاي ارائه کننده نرم افزار عرضه شده است و يا توسط ديگر همکاران برنامه نويس اصلي نوشته و در اختيار وي قرار داده شده است. در اين مرحله بايد کد مقصد برنامه اصلي با کدهاي مربوط به اين برنامه هاي کمکي پيوند زده‌شود. براي اينکار نياز به يک پيوند‌زننده (Linker) داريم و نتيجه اين عمل يک فايل قابل اجرا خواهد بود (در سيستم عامل ويندوز اين فايل پسوند .EXE خواهد داشت). مرحله بعدي اجراي برنامه و دادن وروديهاي لازم به آن و اخذ خروجيها مي‌باشد. در شکل زير اين مراحل نشان داده شده اند.
 
يک برنامه ساده با ورودي و خروجي
مسلما طي مراحل بالا براي اجراي هر برنامه زمانبر مي‌باشد، بهمين دليل اکثر توليد کنندگان کامپايلرها، محيطهايي را براي برنامه نويسي ارائه کرده اند که کليه مراحل بالا را بطور اتوماتيک انجام مي‌دهند.
به اين محيطها IDE (Integrated Development Environment) يا محيط مجتمع توسعه نرم‌افزار گفته مي‌شود. اين محيطها داراي يک ويرايشگر متن مي‌باشند که معمولاً داراي خواص جالبي همچون استفاده از رنگهاي مختلف براي نشان دادن اجزاي مختلف برنامه مانند کلمات کليدي و قابليت تکميل اتوماتيک قسمت‌هاي مختلف برنامه مي‌باشد. پس از نوشتن برنامه و با انتخاب گزينه اي مانند Run کليه عمليات فوق بطور اتوماتيک انجام شده و برنامه اجرا مي‌گردد. علاوه براين، اين محيطها معمولاً داراي امكانات اشكالزدايي برنامه (Debug) نيز مي باشند كه شامل مواردي همچون اجراي خط به خط برنامه و يا ديدن محتويات متغيرها در زمان اجرا است. چند محيط معروف برنامه نويسي عبارت‌اند از :
•    Borland C++ 3.1 براي محيط DOS
•    Borland C++ از نسخه 4 به بالا براي Windows
•    Microsoft Visual C++ براي محيط Windows
•    Borland C++ Builder براي محيط Windows
خطاهاي برنامه نويسي
بنظر مي‌رسد خطاها جزء جداناپذير برنامه ها هستند. بندرت مي‌توان برنامه اي نوشت که در همان بار اول بدرستي و بدون هيچگونه خطايي اجرا شود. اما خطاها از لحاظ تأثيري که بر اجراي برنامه ها مي‌گذارند، متفاوتند. گروهي ممکن است باعث شوند که از همان ابتدا برنامه اصلاً کامپايل نشود و گروه ديگر ممکن است پس از گذشت مدتها و در اثر دادن يک ورودي خاص به برنامه، باعث يک خروجي نامناسب و يا يک رفتار دور از انتظار (مانند قفل شدن برنامه) شوند. بطور کلي خطاها به دو دسته تقسيم مي‌شوند:
1.    خطاهاي نحوي (خطاهاي زمان کامپايل): اين خطاها در اثر رعايت نکردن قواعد دستورات زبان C و يا تايپ اشتباه يک دستور بوجود مي‌آيند و در همان ابتدا توسط کامپايلر به برنامه نويس اعلام مي‌گردد. برنامه نويس بايد اين خطا را رفع کرده و سپس برنامه را مجدداً کامپايل نمايد. لذا معمولاً اين قبيل خطاها خطر کمتري را در بردارند.
2.    خطاهاي منطقي (خطاهاي زمان اجرا): اين دسته خطاها در اثر اشتباه برنامه نويس در طراحي الگوريتم درست براي برنامه و يا گاهي در اثر درنظر نگرفتن بعضي شرايط خاص در برنامه ايجاد مي‌شوند. متأسفانه اين دسته خطاها در زمان کامپايل اعلام نمي‌شوند و در زمان اجراي برنامه خود را نشان مي‌دهند. بنابراين، اين خود برنامه‌نويس است که پس از نوشتن برنامه بايد آن را تست کرده و خطاهاي منطقي آن را پيدا کرده و رفع نمايد.





انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

 

سفارش پایان نامه

نقشه