تاريخچه ++C
++C بر مبنای زبان برنامه نويسی C است. زبان C در سال 1972 در آزمايشگاه Bell Telephone نوسط Dennis Ritchie به عنوان زبان پياده سازی برای سيستم عامل يونيکس طراحی شد. مقدار زيادی از برنامه نويسی يونيکس با زبان C انجام شده است. C در نتيجه تکوين پروسه ای است که با يک زبان قديمی تر به نام BCPL شروع شده بود. زبان BCPL زبانی بر اساس زبان B بوده است که توسط Ken Thompson در آزمايشگاه Bell طراحی شده بود.
به دليل اينکه C زبان قدرتمند و انعطاف پذيری بود، سريعا گسترش پيدا کرد. برنامه نويسان شروع به استفاده از آن برای انواع برنامه ها کردند. سازمان های مختلف شروع به پياده سازی نسخه های C خود شدند. تا اينکه در سال 1983، ANSI استاندارد C را تنظيم کرد که به عنوان ANSI Standard C شناخته می شود. کامپايلرهای بعدی C از اين استاندارد پيروی کردند.
زبان برنامه نويسي ++C بر اساس زبان C توسط Bjarne Stroustrup ابداع شد. آنچه امروزه ++C ناميده مي شود از سال 1979 آغاز شده است. نسخه اوليه آن "C with classes" ناميده شد که بعدا به ++C تغيير کرد. ++C کليه ويژگی های زبان C را داراست. تفاوت بين آنها اينستکه ++C شي گرائی را پشتيبانی می کند. البته پيشرفت های ديگری هم دارد برای مثال کار با رشته ها و سروکارداشتن با خطاها در آن قوی تر است.
نسخه اول ++C ابتدا در AT&T در سال 1983 استفاده شد. اولين نسخه تجاری آن در اکتبر 1985 به بازار آمد. در سال 1998 ANSI و ISO متفقا ++C را استاندارد کردند. به همين دليل اغلب ++C محض را ANSI Standard ++C يا ISO Standard ++C می نامند.
با تکامل ++C يک کتابخانه استاندارد هم با آن شکل گرفت. اولين کتابخانه استاندارد ++C کتابخانه stream I/O بود که امکاناتی برای جايگزينی توابع قديمی C مانند printf و scanf مهيا کرد. بعد از آن مهمترين کتابخانه استاندارد کتابخانه Standard Template بود.
توجه داشته باشيد که کد C در کامپايلر ++C کامپايل می شود اما عکس آن صادق نيست و کد ++C لزوما در کامپايلر C کامپايل نمی شود.
ادامه مطالب
چگونه برنامه نویس شویم(قسمت دوم)
امروز اینترنت قدرتش را از زبان هایی می گیرد که قطعا یادگیری آنها به شما کمک خواهد کرد تا از این سلاح(اینترنت) استفاده بیشتری ببرید. برای آشنایی شما امروز تعدادی از زبان های برنامه نویسی وب را معرفی خواهیم کرد:
PHP
پی اچ پی را بدون شک باید پادشاه زبان های سمت سرور نامید که امروز در اینترنت مورد استفاده قرار می گیرد.- در ۷۵ درصد سرور ها از پی اچ پی استفاده می شود.- زبانی که پروژه های بزرگی مثل وردپرس، ویکی پدیا و فیس بوک از آن استفاده می کنند.
کد های یک زبان سمت سرور قبل از آن که به مرورگر کاربر برسند اجرا می شوند. پی اچ پی با My Sql ترکیب می شود تا اطلاعات را در یک دیتا بیس وارد کند و یا از آن بخواند.
PHP از ابتدا با هدف استاندارد کردن وب سرور ها منتشر شد اگر تا به حال اصلاحاتی مانند MAMP/WAMP/LAMP را شنیده باشید P از پی اچ پی آمده است.
MYSQL
یکی دیگر از مولفه های یک وب سرور استاندارد MySql است. مای اسکیوال یک دیتا بیس-پایگاه داده- اپن سورس است. My SQL یک زبان برنامه نویسی نیست اما یک زبان است برای برقراری ارتباط با دیتا بیس ها بنابراین اگر در دنیای مدرن وب می خواهید سری در سرها داشته باشید باید قواعد زبانی آن را بیاموزید. گرچه مای اسکیوال یک زبان دستور بیس – Command line- است اما رابط های گرافیکی بسیاری مانند PHPMyAdmin وجود دارد که می توانید استفاده کنید.
باز هم باید اشاره کرد که در ورد پرس از MySQL استفاده شده است. همه پست ها و غیره در یک دیتا بیس MYSQL ذخیره می شوند.
جاواسکریپت
قبلا هم اشاره شد نباید جاوا اسکریپت را با جاوا قاطی کرد. جاوا اسکریپت که بیشتر برای تعامل با کاربر به کار می رود در مرورگر کاربر اجرا می شود که همین عامل باعث می شود تا آن را سمت کاربر بنامیم. شاید در بعضی از سایت ها دیده باشید که با ثبت اطلاعات یک فرم بدون رفرش شدن صفحه به شما اعلام می شود که اطلاعاتتان با موفقیت ثبت شد.
در اینجا نمی شود به جی کوئری اشاره نکرد. جی کوئری در واقع یک فریم ورک برای جاوا اسکریپت است که به شما اجازه می دهد کمتر کد نویسی کنید، امکانات بیشتری به شما می دهد و باید به این نکته هم اشاره کرد که به سرعت در حال تبدیل شدن به یک استاندار در وب می شود.
پرل
پرل قدرت زیادی در برنامه نویسی وب دارد اما بیشتر از آن در طراحی نرم افزار های بر پایه متن استفاده می شود. گرچه در محیط متن پرل بسیار سریع است اما در اینترنت مدرن کمتر از آن استفاده می شود. همه هکر ها به دلیل قدرت این زبان معمولا سعی می کنند کمی از حقه های این زبان را در چنته شان داشته باشند.
برای اینکه کمی از قدرت پرل را ببینید به تصویر زیر توجه کنید. این کل کدی است که به زبان پرل برای هک یک دی وی دی رمز گذاری شده استفاده شده است:
رابی
رابی یک زبان قدرتمند شی گرا است. فریم ورک آن برای وب Ruby On Rails در سرور اجرا می شود اما خروجی را به فرم HTML به مرورگر کاربر می فرستد.- شبیه به پی اچ پی اما بسیار متفاوت- از ویژگی این زبان به کدنویسی کمتر و توسعه آسانتر کدها می توان اشاره کرد .
از این زبان در وب سایت هایی مثل توییتر،Groupon،Shopify استفاده می شود.
اما متاسفانه بسیاری از وب سرور ها از این زبان به صورت عادی پشتیبانی نمی کنند در این موارد باید خودتان این زبان را در فضایتان نصب کنید.
پایتون
پایتون هم یکی از زبان های سطح بالای شی گرا است. که محافل غیر رسمی از آن با عنوان “یک زبان برای سرگرمی، راحت در استفاده و ابزاری خوب برای یادگیری” یاد می شود.
این در حالی است که در دنیای واقعی کمتر ابزار وبی را می بینیم که از پایتون استفاده کند.
ASP.net
ابزاری برای توسعه وب که توسط مایکروسافت ارائه شده است. که محبویت بالایی دارد. به دلیل عضویت در خانواده .Net برای اجرای آن باید از سرور ویندوزی استفاده کنید.
چگونه برنامه نویس شویم(قسمت اول)

در یک اتاق که تنها منبع نورش، از یک مانیتور به است. فردی را پشت کامپیوتر می بینید که مرتب دکمه های کیبورد را فشار می دهد فردی که برنامه ای می نویسد که کل سیستم های امنیتی یک سازمان را مختل خواهد کرد .
این یک صحنه تخیلی از یک فیلم است که با دیدنش آرزو می کنید کاش شما هم برنامه نویس بودید. برنامه نویسی علاوه بر داشتن خلاقیت نیاز به تمرین دارد چیزی مثل خطاطی که باید تمرین کنید، تجربه کنید تا یاد بگیرید. اگر فردی هستید که تا به الان اپراتور کامپیوتر بوده اید منظورم این است که از کامپیوتر فقط برای چت، اینترنت، دیدن فیلم و گوش کردن موسیقی استفاده کرده اید و اکنون مصمم هستید تا برنامه نوبسی را آغاز کنید پیشنهاد میکنم این مطلب را بخوانید.
زبان های برنامه نویسی
در دنیا، امروزه برای برنامه نویسی دو شاخه تعریف شده است. زبان هایی “برای نوشتن نرم افزار” و زبان هایی ” برای نوشتن محیط های بر پایه وب”
از زبان های مورد استفاده جهت نوشتن برنامه نویسی نرم افزار می توان به موارد زیر اشاره کرد:
جاوا
جاوا یک زبان شی گرا به تمام معنا است. همراه با ویژگی هایی که آن را به زبانی قدرتمند و مورد علاقه برنامه نویسان تبدیل می کند. نرم افزارهای نوشته شده با جاوا می توانند به صورت مجازی بر روی هر سیستم عاملی اجرا شوند. البته نباید جاوا را با جاوا اسکریپت اشتباه گرفت چرا که جاوا اسکریپت زبانی کاملا متفاوت و برای برنامه نویسی وب است.
++C/C

سی و سی پلاس پلاس هر کدام زبانی جداگانه هستند گرچه باید گفت که ++C ارتقا یاقته زبان سی است. سی پلاس پلاس زبانی شی گراست. از این زبان در بسیاری از انجین های حرفه ای بازی و همچنین نوشتن نرم افزارهای معروف ویندوزی استفاده شده است.
سی شارپ

#C که توسط مایکروسافت بر اساس جاوا اما با تفاوت های بسیاری ارائه شده است این زبان قوی و شی گر در مقایسه سرعت با ++C از آن عقب تر است. نرم افزارهای نوشته شده توسط #C برای اجرا شدن به Net framework. نیاز دارند و فقط در ویندوز اجرا می شوند.
ویژوال بیسیک
باز هم محصولی از مایکروسافت که تمرکز بیشتری بر نرم افزارهای با رابط گرافیکی ساده برای کاربران دارد. بیشتر بر پایه رخداد هاست مثلا اگر کاربر روی دکمه کلیک کرد چه اتفاقی بیفتد.
Objective-c/Cocoa
این مورد زبان اپل مک که بیشتر نرم افزار های OSX و iOS توسط آن نوشته می شود این زبان بر پایه C است که شی گرایی به آن اضافه شده شبیه به سی پلاس پلاس اما برای اجرای رابط های گرافیکی نیاز به اجرا در فریم ورک Cocoa دارد.
گرچه سینتکس و مفاهیم این زبان بسیار پیچیده است اما اپل محیط توسعه ای با نام Xcode به صورت رایگان فراهم کرده است همچنین ویدئوهای آموزشی متعدد که به برنامه نویسان در این زمینه کمک خواهد کرد.
دترمینان ماتریس مربعی
دترمینان
ماتریس مربعی -
که به صورت | A | یا ( det( A نمایش داده میشود - یکی از مفاهیم مشهور جبر خطی است که کاربردهای بسیاری در علوم مختلف دارد. امکان محاسبه سریع دترمینان یک ماتریس با ابعاد بزرگ، بحث مهمی است، که در ادامه سه روش محاسباتی رایج و پیچیدگی زمانی آنها مرور خواهند شد.
طبق تعریف دترمینان، اگر اندازه ابعاد ماتریس مربعی یک باشد (n = 1)، دترمینان همان مقدار تکعضو آن است. یعنی:

اما اگر مرتبه ماتریس بزرگتر از یک باشد (n > 1)، دترمینان را به یکی از روشهای زیر میتوان محاسبه کرد.

ادامه مطالب
اسلایدهای کتاب دایتل برای ++C
برای دریافت این اسلایدها که به زبان انگلیسی می باشد بر روی کلمه ی دانلود کلیک کنید.
متغیرهای ارجاع در ++c
زبان برنامهنویسی C از دو نوع متغیر پشتیبانی میکند: متغیرهای معمولی و اشارهگرها (متغیرهای حاوی آدرس حافظه). زبان ++C نوع سومی را به این مجموعه اضافه کرده است: متغیرهای مرجع (Reference).
متغیرهای مرجع از روی دو نوع دیگر ساخته میشود و به نوعی میتوان گفت نام مستعار برای متغیر اصلی به حساب میآید. برای تعریف متغیر مرجع از عملگر & استفاده میکنیم:
int a;
int &b = a;
عبارت فوق متغیر b را مرجعی برای a معرفی میکند. از این کد به بعد متغیرهای a و b معادل هم هستند. یعنی تغییرات a در b و تغییرات b در a تاثیر میگذارد. در واقع a و b از یک محل حافظه استفاده میکنند؛ یا اینکه یک خانه حافظه، دو نام متفاوت دارد.
حلقه ها تکرار
حلقه ها ی تکرار
یکی از ابزارهای پر استفاده و مهم هر زبان برنامهنویسی حلقههای تکرار هستند. وجود چنین ابزاری به برنامهنویس این امکان را میدهد که ساختارهای نیازمند به تکرار مجموعه دستورات (مانند جستجو، گزارشگیری، محاسبات، دریافت اطلاعات از کاربر یا فایل) را پیادهسازی کند.
هر زبانی عموما شامل چندین نوع حلقه تکرار است، که هر کدام به نحوی به برنامهنویس در نوشتن کدهای مختصر و با مفهوم کمک میکنند. در این فرصت با انواع حلقههای تکرار در زبان برنامهنویسی ++C آشنا میشویم.
حلقه تکرار while
این نوع حلقه، سادهترین نوع حلقه تکرار در این زبان برنامهنویسی است. فرم کلی حلقه while به این صورت است:
while( شرط اجرای حلقه )
{
دستورات داخل حلقه
}
عبارتهای داخل حلقه تا زمانی که شرط اجرای حلقه صحیح باشد اجرا خواهند شد. به عنوان مثال:
int n = 1;
while( n <= 10 )
{
cout << n << endl;
n++;
}
در این قطعه کد، ابتدا متغیر n با عدد یک مقداردهی میشود. سپس شرط n ≤ 10 بررسی میشود، که صحیح است. پس اجرای قطعه کد با دستورات داخل حلقه ادامه پیدا میکند. در این حلقه مقدار n چاپ شده و یک واحد به آن اضافه میشود. سپس کنترل برنامه به ابتدای حلقه باز میگردد. اگر شرط حلقه همچنان صحیح باشد، عبارتهای داخل آن مجددا اجرا خواهند شد. در نتیجه قطعه کد فوق اعداد یک تا ده را به ترتیب در سطرهای جداگانه خروجی چاپ خواهد کرد.
تذکر: شرط اجرای حلقه قبل از ورود به آن نیز بررسی میشود. اگر این شرط از همان ابتدا نادرست باشد، دستورات داخل حلقه هیچگاه اجرا نخواهند شد.
int n = 11;
while( n <= 10 )
{
cout << n << endl;
n++;
}
این قطعه کد خروجی ندارد. چرا که شرط اجرای حلقه هنگام ورود به آن نیز نادرست است.
تابع بازگشتی
سلام 
عشق نوشت : شیرین جون دوست دارم
ارادت به همه استادای خوبم
نمونههای برنامههای بازگشتی
فاکتوریال
محاسبهٔ فاکتوریال مرسومترین مثال برنامههای بازگشتی میباشد.
تابع بازگشتی فاکتوریال :
bn = nbn − 1
| محاسبهٔ رابطهٔ بازگشتی برای n = 4: |
|---|
b4 = 4 * b3 |
این الگوریتم هم مانند الگوریتمهای دیگر به صورت غیر بازگشتی هم نوشته میشود.


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