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

Slides:



Advertisements
Similar presentations
Compilation and Debugging 101. Compilation in C/C++ hello.c Preprocessor Compiler stdio.h tmpXQ.i (C code) hello.o (object file)
Advertisements

Introduction to C Programming CE Lecture 1 Introduction to C.
1 CSSE 332 Course Introduction. Roll Call and Introductions Name (nickname) Name (nickname) Hometown Hometown Local Residence Local Residence Major Major.
Unix Continuum of Tools Do something once: use the command line Do something many times: –Use an alias –Use a shell script Do something that is complex.
1 Key Concepts:  Why C?  Life Cycle Of a C program,  What is a computer program?  A program statement?  Basic parts of a C program,  Printf() function?
1 ICS103 Programming in C Lecture 2: Introduction to C (1)
CMSC 104, Version 9/011 Introduction to C Topics Compilation Using the gcc Compiler The Anatomy of a C Program 104 C Programming Standards and Indentation.
Computer Science 210 Computer Organization Introduction to C.
Introduction to C++ - How C++ Evolved Most popular languages currently: COBOL, Fortran, C, C++, Java (script) C was developed in 1970s at AT&T (Richie)
Hello World 2 What does all that mean?.
C++ Basics Structure of a Program. C++ Source Code Plain text file Typical file extension .CPP Must compile the C++ source code without errors before.
Programming With C.
Computer Programming I Hour 2 - Writing Your First C Program.
Algorithms  Problem: Write pseudocode for a program that keeps asking the user to input integers until the user enters zero, and then determines and outputs.
1 A simple C++ program // ======================================================= // File:helloworld.cpp // Author:Vana Doufexi // Date:1/4/2006 // Description:Displays.
1 COMS 261 Computer Science I Title: C++ Fundamentals Date: September 05, 2005 Lecture Number: 4.
DOCUMENTATION SECTION GLOBAL DECLARATION SECTION
Department of Electronic & Electrical Engineering Introduction to C - The Development cycle. Why C? The development cycle. Using Visual Studio ? A simple.
C++ Intro SarMag Trimester 31 Intro to C++ Language Scalar Variables, Operators and Control Structures.
1 TOPICS TO DISCUSS : FUNCTIONS TYPES OF FUNCTIONS HEADER FILES PRESENTED BY : AVISHEK MAJUMDAR(837837) GUNJAN AGARWAL(856587) SATYAPRIYA DEY(856624)
Week 1 Lecture 2SE1SA51 Introducing C SE1SA5 Sue Walmsley.
Computer Programming A simple example /* HelloWorld: A simple C program */ #include int main (void) { printf (“Hello world!\n”); return.
 2007 Pearson Education, Inc. All rights reserved. A Simple C Program 1 /* ************************************************* *** Program: hello_world.
C is a high level language (HLL)
C Programming Lecture 3 : C Introduction 1 Lecture notes : courtesy of Woo Kyun and Chang Byung-Mo.
1 Structure of Simple C++ Program Chapter 1 09/09/13.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
Chapter 1 slides1 What is C? A high-level language that is extremely useful for engineering computations. A computer language that has endured for almost.
STRUCTURED PROGRAMMING Complete C++ Program. Content 2  Main Function  Preprocessor directives  User comments  Escape characters  cout statement.
1 CS 192 Lecture 4 Winter 2003 December 8-9, 2003 Dr. Shafay Shamail.
KYC - Know your compiler Introduction to GCC
Introduction to C Topics Compilation Using the gcc Compiler
UMBC CMSC 104 – Section 01, Fall 2016
Computer Science 210 Computer Organization
ECE Application Programming
Computer Terms Review from what language did C++ originate?
Chapter 5- Assembling , Linking, and Executing Programs
CSE 220 – C Programming C Fundamentals.
Introduction to C Language
Computer Programming Chapter 1: Introduction
CS1010 Discussion Group 11 Week 4 – Overview of C programming.
Algorithms Problem: Write pseudocode for a program that keeps asking the user to input integers until the user enters zero, and then determines and outputs.
Day 01 Introduction to Linux and C
Introduction to C Topics Compilation Using the gcc Compiler
CHAPTER 3: Introduction to C Programming
C Short Overview Lembit Jürimägi.
Choice of Programming Language
and Executing Programs
Computer Science 210 Computer Organization
Hello World 2 What does all that mean?.
Introduction to CS Your First C Programs
פרטים נוספים בסילבוס של הקורס
Computer Electronic device Accepts data - input
Introduction to Computer Systems
Govt. Polytechnic,Dhangar
Introduction to C Topics Compilation Using the gcc Compiler
Computer Electronic device Accepts data - input
C++ Compilation Model C++ is a compiled language
Your first C and C++ programs
Introduction to Computer Programming
Introduction to C Topics Compilation Using the gcc Compiler
Let’s start from the beginning
EECE.2160 ECE Application Programming
Computer Terms Review from what language did C++ originate?
An Overview of C.
Introduction to C Topics Compilation Using the gcc Compiler
EECE.2160 ECE Application Programming
Compile and run c files.
Administrative things
Chapter 2 part #1 C++ Program Structure
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

اولين برنامه: 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)

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

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

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(“1.0000000000000000000001”); return 0; // return the status code to OS }

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

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

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

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

#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);

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

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

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

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

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

حل وجود \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 در رشته كنترلي باعث انتقال مكان نما به سطر بعد ميگردد

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

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