150 likes | 269 Views
درس برنامه سازي کامپيوتر. مروري بر زبانهاي برنامه سازي معرفي زبان برنامه سازي C++. زبانهاي برنامه سازي رايج. Basic Pascal C و C++ Ada Java Fortran Matlab. دسته بندي زبانها بر اساس قابليتهاي اصلي. Procedural C, C++, Basic, Fortran, Pascal, Matlab , Maple Object Oriented
E N D
درس برنامهسازي کامپيوتر مروري بر زبانهاي برنامهسازي معرفي زبان برنامهسازي C++
زبانهاي برنامهسازي رايج • Basic • Pascal • C و C++ • Ada • Java • Fortran • Matlab
دستهبندي زبانها بر اساس قابليتهاي اصلي • Procedural • C, C++, Basic, Fortran, Pascal, Matlab, Maple • Object Oriented • C++, Java, Python,VB.Net, C# • Functional • Mathematica • Graphical • LabView, Simulink
تدوين زبان برنامهسازي • تدوين زبان به طور کلي (شامل غير برنامهنويسي) • زبان مصنوعي • توسط • شخص • تيم • غالباٌ : در دانشگاهها-مراکز تحقيقاتي • اهداف زبان • خصوصيات واقعي زبان
C • تلريخچه • 1969 : سيستم عامل Unix بکمک اسمبلي بر روي PDP-7 پياده شد • Ken Thompson بر اساس زبانهاي Algol60 CPL BCPL B را تأليف نمود. • B بيش از حد ساده بود و کند • قابليت اجرا بر روي PDP-7 و Unix را نداشت • Dennis Ritchie : Bell Labs : System Programmer • انگيزه • نياز به زبان با ويژگيهاي • ساختار مدولار • سرعت بيشتر در کامپايل شدن • سرعت بيشتر در اجرا • حجم کمتر • تواناييهاي نرمافزاري/ سختافزاري مناسب براي برنامهريزي سيستم
چرا C (C++) ؟ • حجم کم • يک کامپايلر C ميتواند KB256حجم داشته باشد • تعداد دستورات • C اوليه تنها 27 keyword داشت • ANSI C 32 keyword دارد • C++ 77 keyword دارد • سرعت برنامههايي که با C نوشته ميشوند بالاست • Not strongly typed • حمايت از برنامهنويسي مدولار
چرا C (C++) ؟ • ساختاريافته به دليل • ابزارهاي • while • do-while • for • if-else • switch-case • متغيرهاي محلي-عمومي • سابروتينها • Call by value/by reference
چرا C (C++) ؟ • ارتباط ساده با اسمبلي • کار بر روي بيتها • متغيرهاي اشارهگر • آرايهها • توابع کتابخانه : طيف وسيعي در اختيار هستند • بازده حافظه : افزوده شدن توابع از کتابخانهها در صورت نياز • Portability
ايرادهاي وارد به C (C++) • Not strongly typed • Lack of run-time checking
يک زبان برنامهسازي چه ويژگيهايي بايد داشته باشد؟ • کار هر برنامه پردازش اطلاعات و ارائة نتايج است • امکان دريافت اطلاعات از منبع داده • کاربر (user) • منابع سختافزاري • بتوان مشخص کرد دادهها چگونه و کجا ذخيره شوند • بتوان بر روي دادهها عمليات انجام داد • انتساب : ba • رياضي : جمع، تفريق، ضرب، تقسيم، سينوس، انتگرال، ... • منطقي : and, or, not, xor, … • عمليات شرطي :تصميمگيري : بخشي از برنامه گاهي اجرا بشود/نشود • حلقهها (تکرار عمليات) • سابروتينها • نتايج به نحو مناسب به اطلاع کاربر برسد
مراحل به اجرا رسيدن برنامه • Edit • Preprocess • Compile • Link • Load • Execute
خطاها • انواع خطا • Error • Warning • خطاهاي زمان تدوين • گرامري • ناشي از اشتباه در منطق برنامه (منطقي) • خطاهاي هنگام اجرا (Run time error) • امکان درک خطا • نحوة به اطلاع رساندن خطا • Fatal/Nonfatal error
انتظارها از دانشجويان • تدوين برنامه به صورت مدولار • Self-documenting code • Meaningful variable names • Well-posed comments • Good indentation scheme • در صورت عدم رعايت موارد بالا امتيازهاي دريافتي دانشجويان کاهش مييابد
يک نمونه برنامه • Guess Number • Hello!