تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




مشاهده نتيجه نظر خواهي: تاپيك بدرد بخور ه ؟

راي دهنده
26. شما نمي توانيد در اين راي گيري راي بدهيد
  • اره؛ خوبه !

    25 96.15%
  • نه ؛ جمع كن بره!

    1 3.85%
صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 16

نام تاپيک: اموزش ++C/C از ابتدا تا ...

  1. #1
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض اموزش ++C/C از ابتدا تا ...

    سلام!
    ميخوام اطلاعاتی را که در طی این مدت بدست اوردم و به اشتراك بذارم.
    به شرطي كه استقبال بشه. ميتونيد از tnx ويا نظر سنجي استفاده كنيد
    اگه كسي نظري يا پيشنهادي هم داره بگه.
    Last edited by p d; 16-06-2011 at 16:47.

  2. 13 کاربر از p d بخاطر این مطلب مفید تشکر کرده اند


  3. #2
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض پيشينه برنامه نويسي

    مطالب از خودمه . استفاده از مطالب با ذكر منبع مجاز ميباشد.

    lمقدمه :

    قبل از بوجود اومدن سيستم عامل هاو پيش رفت زبانهاي برنامه نويسي سيستم هاي simple batch system بودن كه از طريق cr و cpu و ram و طprinter با هم كار ميكردن . اطلاعات از كارت ريدر ها وارد ميشد و خروجي چاپ ميشد.



    كارت ريدر


    كارت منگنه/سوراخ يا هرچي(الان ترجمه ديگه اي به ذهنم نميرسه) همون punched card


    در اينجا 1 برنامه نويس وجود داشت كه با consol كار ميكرد و در واقع كار سيستم عامل ها را انجام ميداد. اين oprator كارهايي كه شيبه هم بودن 1job تهيه ميكرد و به سيستم ميداد اونم بعد از گذشت زمان طولاني (گاهي چند روز) جواب ميداد.


    با گذشت زمان، پيش رفت سريعي در تكنولوژي بوجود اومد و سخت افزارها و نرم افزار هاي جديد تري بوجود اومدن و زبان برنامه نويسي شروع به تكامل كردن.

    اطلاعات بيشتر
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خب اين گذشته سيستم هاي پيشرفته امروزي بوود.

    اين و گفتم كه بدونيد از اول اينطوري نبودش كه همه كارا نرم افزاري باشه. در واقع جد زبان هاي برنامه نويسي همين كارت هاي پانچ هستن. بهد از اون زبان هاي برنامه سطح پايين و مياني و بالا و در حال حاضر شي گرايي و تعريفات جديدي بوجود اومده كه مار برنامه نويسي و اسان تر ميكنه و نياز به دونستن اطلاعات سطح پايين نداره. اين كار شايد باعث راحتر شدن برنامه نويسي بشه ولي 1 مشكلي داره، اونم زياد شدن حجم برنامه هاس.
    وقتي با asm برنامه مينويسيد شايد برنامه شمت در حد kb باشه ولي 1 پروژه يc# و بدون اضافه كردن دستور به خودي خود چندن برابر حجم دارن.
    براي شروع و داشتن 1 ديد كلي اينا رو گفتم . اينا مقدمه بود.
    براي اخرين مطلب 1 عكس كه سير و تولد زبان هاي برنامه نويسي و نشون ميده ميذارم.


  4. 2 کاربر از p d بخاطر این مطلب مفید تشکر کرده اند


  5. #3
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض



    خب ......

    حالا با شخصيت اقاي دنيس ريچي اشنا ميشيم.


    ايشون كسي بود كه زبان c را توسعه داد.
    همون طور كه در تصوير اخر پست قبلي مشاهده كرديد:
    cpl->bcpl->b->c
    اين درخت زبان c بوده و هست. شايد جالب باشه كه بدونيد زبان a هم داريم.a-> b-> c
    هربرت شليد اينگونه مينويسد
    زبان c دنياي كامپوتر را متحول كرد.
    اين زبان وقتي بوجود اومد (چون 1 زبان general purpose است ، بسياري از نياز هاي اون دوره رو ارضا ميكرد و به خاطر همين حتي تا الان ازش براي برنامه ها سييستمي و... استفاده ميشه. اين زبان ويژگي هاي بسياري داره كه از بهترينش شايد به انعطاف پذيريش (هم سطح پاييين هم مياني) اشاره كرد. با اين زبان هم ميشه با سخت افزار (تا حدي البته) كار كرد هم كارهاي سطح بالا كرد.بنظرم، سرعت و انعطاف پذيري و كم حجم بودن برنامه ها براي برنامه نويسان حرفه اي كافي باشه تا ب سراغ اين زبان بيايند.
    البته همون طور كه ميدونيد هيچيز مطلق نيست و همه چي مشكلات خاص خودش و داره.

    -------------------
    سي پلاس پلاس:

    هربرت شليد اينگونه مينويسد(البته ترجمه !)
    ++c حاصل سال ها تجربه در زبان هاي برنامه نويسي است. با اين وجود، دقيقا زبان هاي جديد و بهتري در اينده ارايه خواهد شد ولي ++c اوج هنر زبان هاي برنامه نويسي در حال حاضر است.



    Bjarne Stroustrup
    Born December 30, 1950 (age 60)
    Aarhus, Denmark
    Occupation College of Engineering Chair in Computer Science Professor, Texas A&M University
    ايشون پديد اورنده زبان c++ هستن.
    خب 1سوال :
    اگه زبان c واقعا قدرت مند هست چرا زبان ++C بوجود امده است ؟
    جواب ساده است.
    انسان هاموجوداتي راحت طلب هستن . وقتي ميتوان كاري را از راهي اسانتر انجام داد چرا نبايد اينكار ار كرد ؟!
    بله ++c ويژگي جديدي را پشتيباني ميكرد كه C اينكار را نميكرد و اين ويژگي سبب راحتتر شدن برنامه نويسي ميشود و اين َشي گراييست. شي گرايي در واقع بوجود امد تا برنامه هاي بزرگ تر را راحتر مديريت كرد و اكنون به جايي رسيديم كه اشياي گرافيكي وجود دارد كه كار برنامه نويسي فقط انتخاب كردن و كنار هم چيدن انها بدون دانستن اين كه در واقع اين شي چطوري كار ميكند . اينگونه انتظار ميرود كه بجايي برسسيم كه فقط برنامه اي كه ميخواهيم بنويسيم را انتخاب كنيم تا برايمان نوشته شود.

    اطلاعات بيشتر :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by p d; 22-06-2011 at 12:45.

  6. 4 کاربر از p d بخاطر این مطلب مفید تشکر کرده اند


  7. #4
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض hello world 1

    من به 1 چيزي اتقاد دارم اونم اينه كه كسي نميتونه به كسي برنامه نويسي ياد بده.
    برنامه نويسي حفظ كردن 1سري دستور و تكرار چيزايي كه حفظ قبلا نوشني نيست. برنامه نويسي يعني تجزيه و تحليل 1 سيستم و پياده سازي 1 الگوريتم. البته + كد زدن. شايد باور نكنيد كه كد زدن ساده ترين بخش كار 1 برنامه نويس هست و تجزيه تحليل سخترين قسمت كار.
    برنامه نويسي بايد ديد تحليلي نسبت به سيستم داشته باشه و سيستم و به 1سري الگوريتم هاي تكراري و ساده تجزيه كنه و سپس كد زدن شروع ميشه.
    -----

    براي نوشتن برنامه ها ، نياز به محيطي داريم كه برنامه هايي كخ مينويسيم و كامپايل كنه و به زبان سطح پايين تبديل كنه تا براي cpu قابل فهم باشه .
    شما ميتونيد از لينك زير دانلودش كنيد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    -----
    هر چيزي ساختاري داره . برنامه در ++C از 1 سري توابع تشكيل ميشه. يعني شما 1 سري قطعه كد بايد ايجاد كنيد و با كنار هم قرار دادن اينا برنامه رو به وجود بياريد. و اينم در نظر بگيريد كه برنامه جسم فيزيكي نيست كه بخواد ساخته بشه. برنامه جزيي منطقي هست كه بسط داده ميشه.
    بدنه ي برنامه ما تابع main هست. به صورت زير تعريف ميشه :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برنامه هاي ما ازين تابع شروع ميشن ؛ بطور پيش فرض.
    خب بياين بدنه ي برنامه خودمون و كامل كنيم.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خب اينا يعني چي؟
    در حال حاضر فقط در همين حد بدونيم كافي ؛ اينها بدنه ي برنامه ي مارو تشكيل ميدهند.
    هرتابعي 1 يا چند ورودي و فقط 1 خروجي داره.
    int main يعني خروجي اين تابع از نوع int هست. int براي متغييرهاي عددي استفاده ميشه. پس اين يعني اين تابع 1 عدد برميگرداند.
    سوال : اين تابع چه عددي و چرا و به كي/چي برميگرداند؟
    جواب : تابع main اين عدد را سيستم عامل برميگرداند. اين عدد 0 است و با دستور return 0 مشخص شده.
    و برگشت داده ميشود هنگامي كه برنامه به اين دستور برسد و رسيدن به اين دستور يعني اجراي كامل برنامه. پس برنامه ما مشكلي نداشته كه كامل اجرا شده . پس ما اين مقدار را به سيستم عامل برميگردانيم تا مشخص شود برنامه با موفقيت اجرا شده.
    ---
    خب شما اولين برنامه خودتون و نوشتيد. برنامه اي كه هيچ كاري (البته به ظاهر ) انجام نداده.

  8. 3 کاربر از p d بخاطر این مطلب مفید تشکر کرده اند


  9. #5
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض hello world 2

    قبل از دامه دادن به كد نويسي بايد 2تا مفهوم و بررسي كنيم.
    الگوريتم و فلوچارت
    متغيير
    ---

    الگوريتم نويسي قسمت بزرگ كار شما رو تشكيل ميده،(شايد در ابتدا كد نويسي به نظر مشكل بياد ولي بعد از مدتي اين وضع تغيير ميكنه).
    پس بهتر با الگوريتم و فلوچارت بيشتر اشنا بشيم.

    كامپيوتر رو 1موجود خنگ ولي سريع در نظر بگيريد بطوري كه براي انجام كاري بايد تمام جزييات و براش شرح دهيم. اين يعني همون الگوريتم نوشتن.

    متغيير : 1 ظرف در نظر بگيريد كه در حافظه ايجاد ميشه؛ داراي صفاتي هم چون نوع و اندازه است. مثلا وقتي ميخوايم 1 عدد از كاربر بگيريم بايد 1 متغيير از نوع عددي تعريف كنيم.

    خب حالا الگوريتم جمع 2 عدد رو مينويسيم.

    متغيير a را از نوع عددي در نظر بگير
    متغيير b را از نوع عددي در نظر بگير
    (در واقع حالا 2 تا خونه حافظه به نام a و b ايجاد كرديم)
    عددي را از كيبرد از كاربر بگير و در داخل a بريز
    عددي را از كيبرد از كاربر بگير و در داخل b بريز
    a را با b جمع كن
    و
    حاصل را در a بريز
    a را نمايش بده

    اين 1 مثال ساده از نوشتن الگوريتم بود. حالا همين مثال رو به زبان كامپيوتر نزديك تر ميكنيم.
    چند قرار داد:
    حالا براي ايجاد متغيير از نوع عددي عبارت int استفاده ميكنيم.
    وقتي خواستيم چيزي را روي مانيتور نمايش بديم از show .
    از عبارت هاي جبري استفاده ميكنيم.
    وقتي خواستيم از كيبرد عدد بگيريم از get .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا بهتر شد. اين قوانين ما بود . براي نوشتن برنامه بايد از قرارداد هاي خود زبان استفاده كنيم.
    قرار داد هاي زبان ++c:
    در پايان هر دستور بايد از ';' استفاده كنيد.
    وقتي خواستيم از كيبرد عدد بگيريم از <<cin و براي نمايش از >>cout استفاده ميكنيم.
    هر برنامه اي براي اجرا از تابع main() شروع ميشود.
    +قرار داد هاي قبلي:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اين برنامه ؛ برنامه جمع 2عدد شد. ولي اگه اين و كامپايل كنيد اجرا نميشه. اولين برنامه اجرا شدني و در پست بعدي ميگم انشاالله.
    فلوچارت هم 1 سري اشكال گرافيكي هست كه براي درك بهتر الگوريتم بوجود اومده. لزومي نداره كه بلد باشيد و ضرري هم نداره :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by p d; 23-06-2011 at 10:12.

  10. 5 کاربر از p d بخاطر این مطلب مفید تشکر کرده اند


  11. #6
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض HELL0 WORLD

    خوشبختانه علوم كامپيوتري با سرعتي باور نكردني در حال پيشرفت . كي ميتونست باور كنه كه از اينجا :



    به اينجا


    برسيم؟ روزي كامپوترهاي غول پيكر كه پر از مدار و سيم بودن و در انحصار ارتش امريكا بودن الان تو خونه همه البته بسيار پيشرفته تر يافت ميشن ! كامپيوتر هاي اوليه برنامه نويسي نميشدند،درواقع نياز به تغيير مدار و سيم كشي و كلي داستان براي هر بار تغيير نياز داشتن.

    ----------
    خب قرار شد اولين برنامه اي كه اجرا ميشه رو در اين تاپيك بياريم.
    بهتره با محيط dev اشنا بشيم.(در حد نياز البته)
    بعد از باز كردن، طبق شكل زير :


    خب اين محيط برنامه نويسي شماست. 1 محيط ساده .
    معمولا رسم شده كه اولين برنامه اي كه اجرا ميكنيد خروجي HEllo World رو نمايش بده. خب ما هم به اين رسم احترام ميذاريم.
    طبق قوانيين زبان ++C عمل كنيد:
    برنامه ,داخل تابع main بنويسيد.
    انتهاي هر دستور از ; استفاده كنيد.
    براي نمايش هر چيزي بر مانيتور از cout>> استفاده كنيد.
    تبصره : براي نمايش متن(رشته) اون و بايد داخل " " قرار بدهيد . مثلا : "hi"
    خب ساده شد ديگه . شروع ميكنيم. بدنه ي اصلي تابع:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    قرار شده خروجي بر مانيتور نشون بديم پس :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    فعلا اينطوري فكر كنيد كه :
    خب گفتيم كه كامپيوتر موجودي خنگ هست. cout براش معني نداره.
    براي اينكه براش معني دار بشه از عبارت زير استفاده ميكينم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پس همه ي قسمت هاي برنامه اي كه نوشتيم ثابت فرض كنيد جز:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پس برنامه ما به شكل زير در مياد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خب با F9 برنامه رو اجرا كنيد.
    حتما ميگيد 1 جاي كار ايراد داره . نه همه چيزي درسته !!!
    شما به برنامه گفتيد چاپ كن اين عبارت و؛ بهش نگفتيد منتظر من بمون تا ببينم !
    خب براي اينكه شما بتونيد خروجي رو ببنيد ، به برنامه ميگيد بعد از نمايش خروجي منتظر باش تا من بهت 1 ورودي بدم. بعد بسته شو. به اين شكل:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خب اومديم 1 متغيير عددي تعريف كرديم ،و بعد از نمايش خروجي گفتم اين و بگيره . پس منتظر ميمونه.
    اجراش كنيدو بايد شكل زير و نمايش بده :
    Last edited by p d; 23-06-2011 at 11:00.

  12. 3 کاربر از p d بخاطر این مطلب مفید تشکر کرده اند


  13. #7
    آخر فروم باز elendil's Avatar
    تاريخ عضويت
    Sep 2006
    محل سكونت
    مشاوره، طراحی سازه ، تاسیسات ، تهویه مطبوع
    پست ها
    2,281

    پيش فرض

    خواستین ما هم یه چیزای کوچیکی بلدیم : )) کمک خواستین بگین ( البته به جز بیوگرافی و تاریخچه زبون : )) )

  14. #8
    کاربر فعال انجمن طراحی وب m.m.m5651's Avatar
    تاريخ عضويت
    Dec 2009
    محل سكونت
    Tehran
    پست ها
    1,496

    پيش فرض

    من از آموزش های این سایت استفاده کردم فوق الاعادست:
    thenewboston.com

  15. این کاربر از m.m.m5651 بخاطر این مطلب مفید تشکر کرده است


  16. #9
    اگه نباشه جاش خالی می مونه p d's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    قبرستون
    پست ها
    449

    پيش فرض C++ Operators


    بعنوان پيش نياز اين و ببنيد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا اونايي كه بكارتون مياد و ازش مثال ميزنيمو توضيح ميديمشون.

    + براي جمع دو عدد مثال a=1+2=3

    ++ lمثال a++ و ++a كه كه برابر عبارت a=a+1 .

    نكته : فرق ++ پيشوندي با پسوندي.
    فرض كنيد كه براي خوندن كدها از چپ به راست حركت ميكنيم(دراينجا) .
    a++ اول 1كي به a اضافه ميكنه ولي ++a در اخرين اولويت به a 1كي اضافه ميكنه.
    مثال:
    فرض a=2 و b=3 حالا جمع زير را حساب كنيد
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بعد از اجراي كامل مقادير بصورت زير هستن:
    a=2 و b=4 ولي در اولي حاصل 6 ولي در دومي حاصل 5 است. چون همونطور كه گفتم پسوندي كمترين اولويت رو دارد.
    يعني در اخرين مرحله بعد از جمع a+b به b اضافه ميشود.

    - براي منها كردن مثل جمع. a-b
    *ضرب a*b
    / تقسيم صحيح. 5/2=2
    % باقي مانده 5%2=1
    == عبارت مقايسه اي . a==b يعني ايا a مساوي b هست .
    =! مقايسه اي . a!= b يعني ايا a نابرابر با b هس.
    بزرگتر و كوچكتر و بزرگتر مساوي و كوچكتر مساوي بترتيب:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    && اند , || ار. تويه if ها توضيحش ميدم.

    Subtracts ها

    a+=1 يعني a=a+1

    ?: اين يعني if...then...else . تويه if توضيحش ميدم.
    بقيشون هم به موقش.

    1مطلب ديگه اولويت بين ايناست.
    اين اولويت ها رو بايد بدونيد تا عبارت هاي محاسباتي طولاني خودتون و درست بنويسيد.
    به نظر من باز لزومي نداره چيزي و ياد بگيريد كه بكارتون نمياد.



    به كار نمياد چونكه اگه از پرانتز استفاده كنيد بر طبق اولويت كه شما طبق پرانتزها مشخص كرديد اجرا ميشه.
    ---
    حاشيه:
    جناب avardeh ، دوست عزيز 1 لطفي بكنيد ؛ وسط كار اسكي نريد !
    Last edited by p d; 26-06-2011 at 10:59.

  17. این کاربر از p d بخاطر این مطلب مفید تشکر کرده است


  18. #10
    در آغاز فعالیت koohsar62's Avatar
    تاريخ عضويت
    Jul 2011
    محل سكونت
    مشهد
    پست ها
    3

    پيش فرض

    سلام
    اطلاعات ارائه شده جالب و مفیدن اگه بتونید در مورد برنامه نویسی اسمبلی هم همین طور راهنمایی کنید عالیه من تو اسمبلی خیلی مشکل دارم.

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •