روباتیک
مارس 27, 2020
ساختمان داده و الگوریتم‌ها
مارس 27, 2020

هدف
• آشنایی با اصول برنامه‌نویسی به زبانهای سطح بالا
• آشنایی با تکنیکهای برنامه‌نویسی به زبانهای C#/C++/C
سرفصل مطالب درس
•مقدمه
آشنایی با نیازها و اهداف برنامه‌نویسی
تاریخچه برنامه‌نویسی
سیر تکامل زبانهای برنامه‌نویسی

• مبانی برنامه‌نویسی
الگوریتم و فلوچارت
برنامه‌های محاسباتی
مبانی برنامه‌نویسی C
انواع داده‌ها در C
عملگرها در زبان C
توابع ورودی/خروجی در زبان C
پیاده‌سازی برنامه‌های محاسباتی به زبان C

• ساختارهای تصمیم‌گیری
برنامه‌های مبتنی بر تصمیم‌گیری
ساختارهای if و if else
تصمیم‌گیریهای چندگانه
ساختار switch

• ساختارهای تکرار
برنامه‌های مبتنی بر تکرار
تکرار معین
ساختار for
تکرار نامعین
ساختار while
ساختار do…while
تکرارهای تودرتو

• توابع و زیربرنامه‌ها
اصول برنامه‌نویسی پیمانه‌ای
توابع در زبان C
ارسال پارامتر به توابع
مقادیر برگشتی توابع
متغیرهای محلی و عمومی
توابع بازگشتی
کلاسهای حافظه

• آرایه‌ها و رشته‌ها
آرایه‌های یک‌بعدی
ارسال آرایه به توابع
عملیات آرایه‌ها
مرتب‌سازی آرایه‌ها
جستجو در آرایه‌ها
آرایه‌های دو بعدی
مقداردهی اولیه آرایه‌ها
رشته‌ها
توابع ورودی/خروجی رشته‌ها
عملیات رشته‌ای

• ساختمان‌ها
تعریف نوع ساختمان و متغیر نوع ساختمان
عملیات ساختمان
آرایه‌ای از ساختمانها
ارسال ساختمان به عنوان پارامتر به تابع
ساختمان بیتی
یونیون‌ها
داده‌های شمارشی

• اشاره‌گرها
اصول عملکرد اشاره‌گرها
متغیرهای اشاره‌گر
عملیات اشاره‌گرها
متغیرهای پویا
اشاره‌گرها و توابع
انواع فراخوانی پارامترها
رابطه اشاره‌گرها با ساختارهای دیگر
اشاره‌گرها و آرایه‌ها
اشاره‌گرها و رشته‌ها
اشاره‌گرها و ساختمان

• مقدمه‌ای بر برنامه‌نویسی شیءگرا با ++C
کلاس‌ها و اشیاء
روش ایجاد برنامه‌های شیءگرا
سازنده‌ها و مخرب‌ها
توابع و کلاس‌های دوست
اشیاء و توابع
اشاره به اشیاء و اشاره‌گر this
تعریف مجدد عملگرها
وراثت
توابع مجازی و چندریختی
• اصول برنامه‌نویسی با #C
چارچوب NET.
مفاهیم اولیه #C
توسعه یک برنامه ساده #C
منابع
• «مرجع کامل برنامه‌نویسی به زبان C» – عین‌ا… جعفرنژاد قمی – انتشارات جهاد دانشگاهی مشهد.
• «مرجع کامل برنامه‌نویسی به زبان ++C » – عین‌ا… جعفرنژاد قمی – انتشارات جهاد دانشگاهی مشهد.
• برنامه‌نویسی به زبان #C در محیط Microsoft Visual Studio 11 – حمیدرضا رضایی و زهرا عسگری ریزی – انتشارات کنکاش – ۱۳۹۰

علاوه بر کتب فوق، کتابهای دیگر آموزش زبان C و ++C و #C مانند کتاب «الیوت ب. کافمن» و «دایتل و دایتل» و نیز کتابهای الکترونیکی ذیل نیز می‌توانند مورد استفاده دانشجویان قرار گیرند.
ارزیابی
• ۶ نمره آزمون میان‌ترم
• ۸ نمره آزمون پایان‌ترم
. ۶ نمره تکالیف و پروژه‌های عملی
طبق قوانین آموزشی، غیبت بیش از حد مجاز سبب حذف درس می‌شود.
کسب نیمی از نمره کتبی و نیمی از نمره عملی برای گذراندن درس لازم است.

نام مطلب حجم فایل لینک دانلود
آشنایی با مدکنسول محیط NET. ۵۳۲ کیلوبایت download
نرم‌افزار TurboC++3 با قابلیت تمام صفحه – Full Screen ۴۴۵۰ کیلوبایت

download
نرم‌افزار Borland C++ 5.5 تحت ویندوز به همراه نرم‌افزار گشودن فایل‌های Help ۸۹۶۰۰ کیلوبایت download
کتاب آموزش جامع C‌ نوشته داوود کریم‌زادگان مقدم (۴۲۳ صفحه) ۴۰۴۴ کیلوبایت download
مرجع کاربری C Reference Manual نوشته دنیس ریچی (۳۱ صفحه) ۷۸ کیلوبایت download
کتاب خود آموز ++C نوشته Juan Solie – شامل ۱۴۴ صفحه ۱۲۴۳ کیلوبایت download
کتاب خود آموز  ++Wrox Press C ۱۱۸۹ کیلوبایت download
کتاب آموزش برنامه‌نویسی به زبان ++C – شامل ۲۱۴ صفحه ۶۷۶۰ کیلوبایت download
کتاب برنامه‌‌نویسی بازی ++Programming Windows Games with Borland C- نوشته N. Barkakati شامل ۵۴۱ صفحه      ۳۴۰۴ کیلوبایت download
سایت برنامه‌نویسی ویندوز در دانشگاه بینگهمتون نیویورک: http://www.cs.binghamton.edu/~reckert/360/360notes.html
کتاب آموزشی گرافیک در #C ۳۷۰۰ کیلوبایت download
آموزش زبان #C – شامل ۱۸۲ صفحه ۱۷۶۰ کیلوبایت download
کتاب آموزش جامع زبان برنامه‌نویسی #C نوشته اسلام احمدزاده – ۵۷۹ صفحه ۷۷۱۷ کیلوبایت download
آموزش Visual C# 2005 نوشته سید محمد هاشمیان – ۹۵۱ صفحه ۱۲۴۷۶ کیلوبایت download
مرجع کامل #C                                                                                                                                               ۶۳۹ کیلوبایت download
آموزش NET. برای مبتدیان                                                                                                                                ۲۰۱۲ کیلوبایت download
برنامه‌نویسی ویندوز موبایل- ترجمه مهدی محبیان ۹۲۷ کیلوبایت download
یک مثال عملی از برنامه‌نویسی به زبان #C برای موبایل ۸۵۸ کیلوبایت download
خودآموز زبان جاوا ۱۰۹۵۳ کیلوبایت download
بسته کامل برنامه‌نویسی موبایل به زبان Java – حامد شریفی ۲۶۷۰ کیلوبایت download
J2MEdit – Syntax Editor for mobile devices ۱۰۸ کیلوبایت download
آموزش گام به گام J2ME ۹۹۰ کیلوبایت download
آموزش برنامه‌نویسی موبایل به زبان J2MEنوشته ایمان اشکاوند-حسن فرزانه ۱۹۲۶ کیلوبایت download
برنامه‌نویسی سیستم‌عامل اندروید – Android ۹۰۵ کیلوبایت download
آموزش ویژوال بیسیک ۶ شامل ۴۶۱ صفحه ۲۷۳۰ کیلوبایت download