Presentation is loading. Please wait.

Presentation is loading. Please wait.

مباني كامپيوتر و برنامه سازي

Similar presentations


Presentation on theme: "مباني كامپيوتر و برنامه سازي"— Presentation transcript:

1 مباني كامپيوتر و برنامه سازي
وحيد حقيقت دوست

2 مراجع درس Juan Soulie, "C++ Language Tutorial", The C++ Resources Network, رابرت ليفور، "برنامه نويسي توربو C"، ترجمه سهيل صالحي، انتشارات اقليدس، انتشارات خراسان عين اله جعفر ن‍ژاد، "برنامه نويسي به زبان C"، انتشارات جهاد دانشگاهي مشهد

3 مطالب امروز... نحوه ارزيابي محيط برنامه نويسي متمركز IDE
معرفي و آشنايي با زبان برنامه نويسي C متغيرهاي عددي

4 نحوه ارزيابي... درس 4 واحدي تمرين: 2 نمره آزمون كلاسي و پروژه: 5 نمره
ميان ترم: 5 نمره پايان ترم: 8 نمره سايت درس: …

5 محيط برنامه نويسي متمركز IDE
روش متداولي كه براي توليد و توسعه برنامه ها مورد استفاده قرار ميگيرد استفاده از محيط برنامه نويسي متمركز (IDE:Integrated Design Environment) ميباشد در اين سيستم تمام عملگرهاي ضروري براي ايجاد يك برنامه در يك صفحه نمايش واحد قرار دارند. عملگرها از منو انتخاب ميشوند.

6

7 زبانهاي داراي كامپايلر
برنامه ورودي فقط يكبار به زبان ماشين تبديل شده و به شكل يك فايل اجرايي در مي‌آيد فايل زبان ماشين به سرعت اجرا ميشود بخشي از IDE، برنامه‌اي است با عنوان كامپايلر كه كد برنامه قابل درك توسط انسان را به زبان ماشين تبديل ميكند بخش ديگر IDE عمليات الحاق (link) را انجام ميدهد.

8 فرايند الحاق فايل توليد شده توسط كامپايلر، قابل اجرا نمي‌باشد.
ممكن است برنامه نوشته شده ”فايل كتابخانه‌اي“ داشته باشد ممكن است برنامه از فايلهاي مجزا و متعددي تشكيل شده باشد كه همزمان كامپايل نشده‌اند.

9 فرايند ساخت (Build) قدم1) فايل منبع (.cpp) در محيط IDE ايجاد ميشود.
قدم 2) اين فايل به كامپايلر رفته و توليد فايل (.obj) ميكند. قدم 3) حاصل كار به الحاق‌گر ارسال شده و فايلهاي اجرايي (.exe) ايجاد ميشوند

10 مراحل ايجاد يک برنامه Build=compile+link Builder=compiler+linker متن
فايل object فايل executable (اجرايي) compiler Linker اجرا توسط سيستم عامل ويرايشگر

11 ساير فايلهاي شيء توليد شده توسط كاربر
فايلهاي ضميمه‌اي موجود stdio.h conio.h Myprg.cpp فايل منبع cs.lib فايل كتابخانه‌اي Myprg.exe فايل اجرايي linker Myprg.obj فايل شيء Compiler ساير فايلهاي شيء توليد شده توسط كاربر

12 اولين برنامه: Hello World
// Hello World program #include <stdio.h> int main() { printf("Hello World\n“); return 0; } comment Allows access to an I/O library 1 2 3 4 5 6 7 Starts definition of special function main() output (print) a string Program returns a status code (0 means OK)

13

14 نكاتي در خصوص زبان برنامه نويسي c++
تمامي دستورات به ;‌(سميكالن) ختم ميشوند برنامه با تابع main آغاز ميشود. كد مربوط به هر تابع بين دو آكولاد {} قرار ميگيرد. استفاده از آكولاد براي ايجاد يك بلوك در اين زبان استفاده ميشود. حساس بودن به حالت حروف (case sensitivity) در نام گذاري توابع و متغيرها حروف کوچک و بزرگ با هم متفاوت هستند ALI ≠ALi ≠Ali ≠ali

15 Comments توضيحات قسمتي از متن برنامه است که توسط کامپايلر ترجمه نمي شود و براي کمک به کساني است که برنامه را مي خوانند. (خوانا کردن برنامه) توضيحات تک خطي با // شروع مي شوند. در هر جاي خط از برنامه با مشاهده اين علامت مابقي خط ناديده گرفته ميشود. توضيحات چند خطي با /* شروع و با */ پايان مي يابند.

16 Comment Example // program #1.1
// This program is for comment information #include <stdio.h> /* This program displays a real number with 27 decimal places. */ int main() { printf(“ ”); return 0; // return the status code to OS }

17 Includes اعلان #include <stdio.h> باعث اضافه شدن محتويات فايل stdio.h به فايل فعلي مي گردد. اين عمل قبل از کامپايل کد انجام ميگردد. بدين ترتيب، فايلهاي استاندارد کتابخانه اي C++ ، که حاوي تعاريف و توابع از پيش انجام شده مهمي هستند را مي توان به برنامه اضافه کرد و استفاده نمود. همچنين، مي توانيد فايلهايي را که خودتان قبلاً نوشته ايد به برنامه فعلي اضافه کنيد: #include "myfile.h"

18 C++ Preprocessor کامپايلر C++ به طور اتوماتيک يک پيش پردازنده را صدا مي‌کند که #include ها و راهنماها (directives) را پردازش مي‌کند. براي اجراي پيش پردازنده لازم نيست که شما کار خاصي انجام دهيد. اين امر به طور اتوماتيک هنگام کامپايل برنامه انجام مي‌گردد.

19 پيش پردازش Preprocessing
Temporary file (C++ program) C++ Preprocessor C++ Compiler فايل مياني C++ Program Executable Program

20 The Preprocessor تمام خطوطي که با # (number sign) شروع مي شوند توسط پيش پردازنده پردازش مي‌شوند. ممکن است پيش پردازنده اين خطها را با چيز ديگري عوض کند. مثلاً include با محتواي فايلي که الحاق شده است عوض ميشود. بقيه راهنما ها به پيش پردازنده مي‌گويند که به دنبال يک الگوي خاص در برنامه بگردند و پردازشهايي مخصوصي روي آن انجام دهند. به اين نوع راهنماها ماكرو ميگويند.

21 #define Example (macro)
#define square(a) (a * a) y = square(x); z = square(y*x); becomes y = (x * x); becomes z = (y*x * y*x);

22 Some common includes Basic I/O: stdio.h I/O : conio.h
Standard Library: stdlib.h Time and Date support: time.h Mathematical library: math.h

23 تابع main() main() تابعي است كه هنگام اجراي برنامه از طريق سيستم عامل فراخواني ميشود. و اولين تابعي است كه اجرا ميگردد. برنامه هاي C و C++ از تعدادي تابع تشكيل مي شوند. هر برنامه نوشته شده به زبان C++ حتماً بايد تابع main داشته باشد.

24 تابع printf() اين تابع براي نمايش اطلاعات برروي صفحه نمايش بكار گرفته ميشود. اين تابع قادر است خروجي را با توجه به فرمت مورد نياز توليد نمايد. نحوه استفاده از اين تابع به شكل زير ميباشد printf(<رشته كنترلي>[,<متغيرها>]); اين بخش ميتواند در دستور نباشد (optional)

25 دستور return 0; توابع در C++ ميتوانند يك مقدار خروجي داشته باشند
از آنجا كه طبق تعريف خروجي تابع main از نوع عدد صحيح (int) است، بايد در انتهاي اجراي اين تابع يك مقدار صحيح به سيستم عامل بعنوان خروجي تابع معرفي شود در غير اينصورت كامپايلر پيغام خطا ميدهد.

26 تمرين با توجه به مطالب عنوان شده، برنامه اي بنويسيد كه خروجي به شكل زير داشته باشد Hello world! I am a c++ programmer

27 حل وجود \n در رشته كنترلي باعث انتقال مكان نما به سطر بعد ميگردد
// program #2 solution 1 #include <stdio.h> int main() { printf("Hello world! \n"); printf("I am a c++ programmer"); return 0; } // program #2 solution 2 #include <stdio.h> int main() { printf("Hello world! \nI am a c++ programmer"); return 0; } وجود \n در رشته كنترلي باعث انتقال مكان نما به سطر بعد ميگردد

28 انواع خطا error: به خطاهاي برنامه نويسي error مي گويند.
انواع خطاها در برنامه نويسي: خطاهاي زمان compile(compile errors): مانع کامپايل صحيح برنامه مي شوند. خطاهاي زمان link (Link errors): براي کامپايل مزاحمتي ايجاد نمي کنند اما مانع Link برنامه مي شوند. خطاهاي زمان اجرا: (Run time errors): کامپايل و Link با موفقيت انجام مي شود ولي اجراي برنامه دچار اشکال مي شود.

29 error حسن سيب را خورد. هسن سيب را خورد. را حسن خورد سيب.
متناظر با خطاي کامپايل را حسن خورد سيب. متناظر با خطاي Link سيب حسن را خورد. متناظر با خطاي زمان اجرا مانند تقسيم بر صفر


Download ppt "مباني كامپيوتر و برنامه سازي"

Similar presentations


Ads by Google