170 likes | 296 Views
بهنام خالق خِرد. مبانی برنامهسازی Fundamentals of Programming. مدرس: بینظیر بیگلری. جلسه 1: مفاهیم اولیه. عناوین. آشنایی با کلیت درس سیلابس نحوه ارزیابی نحوه اطلاع رسانی تعاریف اولیه معرفی اجزای اصلی کامپیوتر تاریخچه رشد زبانهای برنامهسازی. جلسه 1. آشنایی با کلیت درس. هدف:
E N D
بهنام خالق خِرد مبانی برنامهسازیFundamentals of Programming مدرس: بینظیر بیگلری جلسه 1: مفاهیم اولیه مبانی برنامهسازی - دانشگاه صنعتی شریف
عناوین • آشنایی با کلیت درس • سیلابس • نحوه ارزیابی • نحوه اطلاعرسانی • تعاریف اولیه • معرفی اجزای اصلی کامپیوتر • تاریخچه رشد زبانهای برنامهسازی مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
آشنایی با کلیت درس • هدف: • آشنایی با مبانی برنامهسازی کامپیوتر • ایجاد تفکر الگوریتمی در حل مسائل • کسب توانایی پیادهسازی الگوریتمها به وسیله کامپیوتر • آشنایی با اصول اولیه نوشتن برنامههای ساختیافته و مهندسیساز • مراجع: • اصلی: How to Think Like a Computer Scientist: Learning with Python. 3rd Ed. 2011 • کمکی: Practical Programming: An Introdction to Computer Science Using Python. 2009 Python Programming: An Introduction to Computer Science. 2004 مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
نحوه ارزیابی • 4 تمرین برنامهسازی + یک پروژه دو فازی 6 نمره • آزمونکها 2 نمره • آزمونها (میانترم و پایانترم) 12 نمره • مسابقه برنامهنویسی به صورت آنلاین 1+ نمره امتحان میانترم 5شنبه 30 آبان امتحان پایانترم شنبه 21 دی (عدم حضور در کلاس تأثیر منفی خواهد داشت) مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
نحوه اطلاعرسانی • مرجع اصلی، صفحه درس 40153 که روی ce.sharif.ir به زودی ایجاد میشود. • ثبت نام در سایت Piazza و جستجوی صفحه درس (در صورت برخورد با اشکال با آقای تبریزی و یا دیگر دستیاران تماس بگیرید. (ce153-12,13) • دانشکده مهندسی کامپیوتر- اتاق 612 آزمایشگاه مهندسی متدولوژی (روزهای 1شنبه و 3شنبه) آقای محمدباقر تبریزی tabrizimbt70@gmail.com مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
تعاریف اولیه • الگوریتم: روش انجام یک کار با ذکر دقیق تمام مراحل آن به طوریکه ترتیب انجام کارها، شروع و پایان آن مشخص باشد. • فلوچارت: نمایش الگوریتم به صورت شماتیک • حل مسئله: شامل شناخت مسئله، طرح نقشه حل مسئله و تحلیل راهحل مسئله (اجرا، وارسی یا تعمیم راه حل) • برنامه: نمود الگوریتم به کمک دستورات زبان برنامهسازی مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
حل مسئله • مهارت قدرت شناخت دقیق مسئله (تعیین دادهها، مجهولها و رابطه بین آنها) • مهارت ایجاد طرحی برای حل مسئله به صورت الگوریتمیک (تفکر خلاقانه در مورد راهحل و بیان واضح و دقیق راهحل) • اجرای راهحل و اطمینان از درستی راهحل مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
اجزای اصلی الگوریتم • شروع • دستورات ورودی/ خروجی: گرفتن مقدار یک عدد، کاراکتر، رشته و ... از کاربر/ نمایش خروجی روی مانیتور یا چاپ روی پرینتر و ... • دستورات محاسباتی، مقداردهی: انجام محاسبه مشخص، ذخیره کردن یک مقدار در یک متغیر • دستورات تصمیمگیری: ارزیابی یک شرط ساده یا مرکب • پرش • پایان «مقدار؟» را از کاربر بگیر. «پیام؟» را به کاربر نشان بده. «مقدار؟» را در «متغیر؟» بریز. اگر «شرط؟» آنگاه «دستور؟» وگرنه «دستور؟». برو به «گام؟» . مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
الگوریتم حاصل جمع دو عدد • شروع کن. • عدد a و عدد b را از کاربر بگیر. • a را با b جمع کن و حاصل آن را در c بریز. • c را چاپ کن. • پایان. مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
فلوچارت • دستورات ورودی/ خروجی • مقداردهی و محاسبات • تصمیمگیری • پرش • شروع و پایان خیر بله مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
فلوچارت حاصل جمع دو عدد شروع a و bرا بخوان a+b c cرا چاپ کن پایان مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
معرفی اجزای اصلی کامپیوتر • دیدگاه اول: • سختافزار: دستگاههایی که کامپیوتر را میسازند مثل واحدهای پردازنده، حافظه، صفحه کلید و ... • نرمافزار: برنامههایی که روی کامپیوتر اجرا میشوند. • دیدگاه دوم: • واحدهای ورودی و خروجی • واحد حافظه • واحد محاسبه و منطق (Arithmetic and Logic Unit) • واحد پردازش مرکزی (Central Processing Unit) • واحد ذخیره جانبی مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
سازماندهی اجزاء کامپیوتر مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
جایگاه زبانهای برنامهسازی مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
زبان برنامهسازی • زبان مصنوعی برای دستور دادن به دستگاههای برنامهپذیر مثل کامپیوترهاست. • سیستمهای عامل، منابع مختلف را مثل CPU، حافظه و... را به برنامههای مختلف اختصاص میدهند؛ بنابراین واسط بین برنامهها (نرمافزارها) و سختافزارها هستند. • سیستمهای عامل، نرمافزارها و حتی سختافزارها با استفاده از زبانهای برنامهسازی نوشته و تولید میشوند. • زبان ماشین و یا زبان اسمبلی سطح پایین هستند چون به سختافزار نزیکاند. • زبانی مثل Python یا C سطح بالا هستند و باید قبل از اجرا به چیزی مثل زبان ماشین ترجمه شوند. • علت وجود: سادگی، کاهش اندازه برنامه، خواناتر، احتمالا درستتر و قابل حمل مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
آشنایی بیشتر با زبان Python • زبان پایتون بسیار ساده است و برای رشتههای غیر از کامپیوتر مناسب. • یک موتور که برنامههایپایتون را ترجمه میکندPython Interpreter • دو راه استفاده: • Immediate Mode • Script Mode • به <<<، Python Prompt گفته میشود که نشان میدهد مترجم برای دریافت دستورات آماده است. مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1
ادامه مطلبدر جلسه بعد آشنایی بیشتر با زبان Python مبانی برنامهسازی - دانشگاه صنعتی شریف جلسه 1