دسته بندی | کامپیوتر و IT |
بازدید ها | 13 |
فرمت فایل | doc |
حجم فایل | 146 کیلو بایت |
تعداد صفحات فایل | 24 |
معرفی دادهکاوی و دلایل پیدایش آن
تعاریف داده کاوی
جایگاه دادهکاوی در علوم کامپیوتر
1. داده کاوی توصیفی یا توصیف کننده
2. داده کاوی پیشگویانه
1. بیان مسئله و فرموله کردن فرضیه
2. انتخاب و جمع آوری داده ها
3. تبدیل و پیش پردازش داده ها
4. برآورد مدل یا کاوش در داده ها
5. تفسیر نتیجه یا تفسیر مدل و رسیدن به نتایج
1. مدل استاندارد داده ها
2. دو وظیفه اصلی در آماده سازی داده ها
1. نرمال سازی
1-1 مقیاس دهی اعشاری
2-1 نرمال سازی حداقل-حداکثر
3-1 نرمال سازی انحراف معیار
2. یکنواخت سازی داده ها
3. تفاضل ها و نسبت ها
1. روش های آماری 2. تشخیص داده های نامنطیق برمبنای فاصله 3. روش ها و تکنیک های برمبنای انحراف
2-1 کاهش زمان محاسبه.
2-2 افزایش یادگیری در دقت پیشگویانه/توصیفی.
2-3 سادگی در ارائه مدل داده کاوی.
1. نمونه گیری سیستمی.
2. نمونه گیری تصادفی.
3. نمونه گیری لایه ای.
4. نمونه گیری معکوس.
مقدمه
امروزه با گسترش سیستم های پایگاهی و حجم بالای داده ها ی ذخیره شده در این سیستم ها، نیاز به ابزاری است تا بتوان داده های ذخیره شده پردازش کرد و اطلاعات حاصل از این پردازش را در اختیار کاربران قرار داد.
با استفاده ار پرسش های ساده درSQL و ابزارهای گوناگون گزارش گیری معمولی، می توان اطلاعاتی را در اختیار کاربران قرار داد تا بتوانند به نتیجه گیری در مورد داده ها و روابط منطقی میان آنها بپردازند اما وقتی که حجم داده ها بالا باشد، کاربران هر چقدرحرفه ای و با تجربه باشند نمی توانند الگوهای مفید را در میان حجم انبوه داده ها تشخیص دهند و یا اگر قادر به این کار هم با شند، هزینه عملیات از نظر نیروی انسانی و مالی بسیار بالا است.
بنابراین میشود گفت که درحال حاضر یک تغییر الگو از مدل سازی و تحلیل های کلاسیک برپایه اصول اولیه به مدل های درحال پیشرفت و تحلیل های مربوط بطور مستقیم از داده ها وجود دارد.
داده کاوی یکی از مهمترین این روشها است که به وسیله آن الگوهای مفید در داده ها با حداقل دخالت کاربران شناخته می شوند و اطلاعاتی را در اختیار کاربران و تحلیل گران قرار می دهند تا براساس آنها تصمیمات مهم و حیاتی در سازمانها اتخاذ شوند.
تعاریف داده کاوی
در متون آکادمیک تعاریف گوناگونی برای داده کاوی ارائه شده اند. در برخی از این تعاریف داده کاوی در حد ابزاری که کاربران را قادر به ارتباط مستقیم با حجم عظیم داده ها می سازد معرفی گردیده است و در برخی دیگر، تعاریف دقیقتر که درآنها به کاوش در داده ها توجه می شود موجود است.
برخی از این تعاریف عبارتند از :
نکته: همانگونه که در تعاریف گوناگون داده کاوی مشاهده می شود، تقریبا در تمامی تعاریف به مفاهیمی چون استخراج دانش ، تحلیل و یافتن الگوی بین داده ها اشاره شده است.
" داده کاوی فرآیندی است که طی آن با استفاده از ابزار های تحلیل داده به دنبال کشف الگوها و ارتباطات میان داده های موجود که ممکن است منجر به استخراج اطلاعات جدیدی از پایگاه داده گردند، می باشد."
در داده کاوی از بخشی از به نام تحلیل اکتشافی داده ها استفاده می شود که در آن بر کشف اطلاعات نهفته و ناشناخته از درون حجم انبوه داده ها تاکید می شودبنابراین می توان گفت در داده کاوی تئوریهای پایگاه داده ها، هوش مصنوعی، یادگیری ماشین وعلم آمار را در هم می آمیزند تا زمینه کاربردی فراهم شود.
باید توجه داشت که اصطلاح داده کاوی زمانی به کار برده می شود که با حجم بزرگی از داده ها در حد گیگابایت یا ترابایت، مواجه باشیم که از این نظر یکی از بزرگترین بازارهای هدف، انبارجامع داده ها، مراکز داده وسیستم های پشتیبانی تصمیم برای بدست آوردن تخصص هایی در صنایعی مثل شبکه های توزیع مویرگی، تولیدف مخابرات، بیمه و... می باشد.
دسته بندی | کامپیوتر و IT |
بازدید ها | 10 |
فرمت فایل | doc |
حجم فایل | 4053 کیلو بایت |
تعداد صفحات فایل | 56 |
مقدمه ای بر رباتیک
-1مقدمه
اتوماسیون در بخشهای مختلف صنعت و کارهای تولیدی در چند دهه اخیر ظهور پیدا کرده است و روز به روز نیز در حال توسعه می باشد. بیش از چند دهه از ظهور کارخانجات کاملاً مکانیزه که در آنها تمامی پروسه ها اتوماتیک بوده و نیروی انسانی در آن نقش اجرائی ندارد، نمی گذرد. اما در چند ساله اخیر شاهد بوجود آمدن کارخانجات مکانیزه ای بوده ایم که طراحی، ساخت و نحوه کار آنها واقعاً حیرت انگیز است. ایده و دانش کنترل اتوماتیک و استفاده از سیستمهای مکانیزه در کارخانجات به جنگ جهانی دوم می رسد. ما تحولات عظیم و چشمگیر آن در سالهای اخیر بوقوع پیوسته است.
رباتها جدیدترین مرحله تلاش انسان جهت صنایع اتوماتیک به شمار می روند. رباتها آن دسته از ماشینهای ساخت بشر هستند که لزوماً حرکتهایی شبیه انسان ندارند ولی توان تصمیم گیری و ایجاد و کنترل فعالیتهای از پیش تعیین شده را دارند.
شکل 1 : نمونه ای از استفاده از ربات در صنعت
2- تعریف ربات
دو تعریف موجود در رابطه با کلمه ربات از قرار زیر می باشند[9] :
1- تعریفــی که توسطConcise Oxford Dic. صورت گرفتــه است؛ ماشینی مکانیکی با ظاهر یک انسان که باهوش و مطیع بوده ولی فاقد شخصیت است. این تعریف چندان دقیق نیست، زیرا تمام رباتهای موجود دارای ظاهری انسانی نبوده و تمایل به چنین امری نیز وجود ندارد.
2- تعریفی که توسط مؤسسه ربات آمریکا صورت گرفته است؛ وسیله ای با دقت عمل زیاد که قابل برنامه ریزی مجدد بوده و توانایی انجام چند کار را دارد و برای حمل مواد، قطعات، ابزارها یا سیستم های تخصصی طراحی شده و دارای حرکات مختلف برنامه ریزی شده است و هدف از ساخت آن انجام وظایف گوناگون می باشد.
3- دسته بندی رباتها
رباتها در سطوح مختلف دو خاصیت مشخص را دارا می باشند :
1- تنوع در عملکرد
2- قابلیت تطبیق خودکار با محیط
به منظور دسته بندی رباتها لازم است که قادر به تعریف و تشخیص انواع مختلف آنــــــها باشیم. سه
دسته بندی مختلف در مورد رباتها وجود دارد. دسته بندی اتحادیــــــه رباتهای ژاپنی، دسته بندی
مؤسسه رباتیک آمریکا و دسته بندی اتحادیه فرانسوی رباتهای صنعتی.[9]
1-3-دسته بندی اتحادیه رباتهای ژاپنی
انجمن رباتهای صنعتی ژاپن، رباتها را به شش گروه زیر تقسیم می کند :
1- یک دست مکانیکی که توسط اپراتور کار می کند : وسیله ای است که دارای درجات آزادی متعدد بوده و توسط عامل انسانی کار می کند.
2- ربات با ترکیبات ثابت : این دسته رباتها با ترکیبات ثابت طراحی می شوند. در این حالت یک دست مکانیکی کارهای مکانیکی را با قدمهای متوالی تعریف شده انجام می دهد و به سادگی ترتیب کارها قابل تغییر نیست.
3- ربات با ترکیبات متغیر : یک دست مکانیکی که کارهای تکراری را با قدمهای متوالی و با ترتیب تعریف شده، انجام می دهد و این ترتیب به سادگی قابل تغییر است.
4- ربات قابل آموزش : اپراتور در ابتدای امر به صورت دستی با هدایت یا کنترل ربات کاری را که باید انجام شود، انجام می دهد و ربات مراحل انجام وظیفه را در حافظه ضبط می کند. هر وقت که لازم باشد، می توان اطلاعات ضبط شده را از ربات درخواست نمود و ربات وظیفه درخواست شده را بصورت خودکار انجام می دهد.
5- ربات با کنترل عددی : اپراتور وظیفه ربات را توسط یک برنامه کامپیوتری به او تفهیم می نماید و نیازی به هدایت دستی ربات نیست. درواقع ربات با کنترل عددی، رباتی است که با برنامه کامپیوتری کار می کند.
6- ربات باهوش : این ربات درک از محیط و استعداد انجام کار با توجه به تغییر در شرایط و محدوده عمل کار را دارد.
2-3- دسته بندی مؤسسه رباتیک آمریکا
انستیتوی رباتیک آمریکا تنها موارد 3 و 4 و 5 و 6 را به عنوان ربات پذیرفته است.
3-3- دسته بندی اتحادیه فرانسوی رباتهای صنعتی
مؤسسه ربات صنعتی فرانسوی، رباتها را به شکل زیر تقسیم کرده است :
نوع A : دستگاهی که توسط دست یا از راه دور کنترل می شود (مورد 1 طبقه بندی قبل).
نوع B : وسیلة حمل کننده خودکار با یک سیکل محاسبه شده از قبل (موارد 2 و 3 طبقه بندی قبل).
نوع C : دستگاهی قابل برنامه ریزی و با توانایی خود کنترل (موارد 4 و 5 طبقه بندی قبل).
نوع D : دستگاهی که قادر است اطلاعات معینی از محیط را بدست بیاورد و به عنوان ربات باهوش معروف است (مورد 6 طبقه بندی قبل).
4- اجزاء اصلی یک ربات
مهندسی ربات، مهندسیهای نرم افزار، سخت افزار، برق و مکانیک را در خدمت خود گرفته است. بعضی مواقع این علوم به حد کافی پیچیده می باشند. همچنانکه در شکل 2-2 مشاهده می شود هر ربات دارای 5 مؤلفه به شرح ذیل می باشد [9]و[15]:
1-4- بازوی مکانیکی ماهر(Mechanical Manipulator)
بازوی مکانیکی شامل چندین واصل است که با مفصلها به هم وصل می شوند. این واصلها در جهات مختلف در فضای کاری قادر به حرکت می باشند. حرکت یک مفصل بخصوص باعث حرکت یک یا چند واصل می شود. عامل تحریک مفصل می تواند مستقیماً یا از طریق بعضی انتقالات مکانیکی بر واصل بعدی متصل شود. به واصل نهایی بازوی مکانیکی وسیله کاری ربات وصل شده است که به آن عامل نهایی می گویند. هر یک از مفصلهای ربات یک محور مفصل دارند که واصل حول آن می چرخد. هر محور مفصل یک درجه آزادی(D.O.F.) تعریف می کند. بیشتر رباتها دارای 6 درجه آزادی می باشند به عبارت دیگر دارای 6 مفصل، بمنظور حرکت در 6 جهت. اولین سه مفصل ربات به عنوان محورهای اصلی شناخته می شوند. بطورکلی صرفنظر از جزئیات، محورهایی که برای محاسبه موقعیت
شکل 2 : مؤلفه های یک ربات
و استقرار مچ استفاده می شونــد، محورهای اصلی ربات هستند. محورهای مفصلهای باقیمانده جهت قرار گرفتن دست ربات را مشخص می کنند، ولذا محورهای فرعی نامیده می شوند.
دو نوع مفصل اصلی به صورت گسترده در صنعت رباتها بکار گرفته می شود. مفصل دورانی که نمایش دهنده حرکت چرخشی حول یک محور است و مفصل انتقالی یا لغزشی که نمایش دهنده حرکت خطی در طول یک محور است، (جدول 1).
Description Notation Type
Rotary motion about an axis R Revolute
Linear motion along an axis P Prismatic
جدول 1 : انواع مفصل ربات
2-4- سنسورها
برای کنترل صحیح بازوی مکانیکی بایستی وضعیت هر مفصل شناخته شده باشد. منظور از وضعیت، موقعیت مفصل، سرعت و شتاب می باشد. بنابراین در مفصلها بایستی سنسورهایی جهت دید مفصلها و وصلها جهت تعیین موقعیت، گشتاور، سرعت، شتاب، و ... نصب شود، تا وضعیت مفصلها به کنترلر ابلاغ شود. خواندن اطلاعات سنسور، یا در اتمام حرکت یا در حین حرکت انجام می گیرد و با ارسال اطلاعات آنی سنسورها به کنترلر، کنترل صحیح و واقعی سیستم مکانیکی انجام می شود. این اطلاعات سنسوری، دیجیتال یا آنالوگ و یا ترکیبی می باشند.
3-4- کنترلر
بخشی است که به بازوی مکانیکی، هوش انجام کار را می دهد. کنترلر معمولاً از بخشهای ذیل تشکیل می شود :
1- واحدی که اجازه می دهد ربات از طریق سنسورها با محیط بیرون ارتباط داشته باشد.
2- حافظه جهت ذخیره داده هایی که مختصات را تعریف می کنند تا بازو با توجه به این مختصات حرکت کند (برنامه).
3- واحدی که داده ذخیره شده در حافظه را تغییر می دهد و سپس داده را برای ارتباط دادن با مؤلفه های دیگر کنترل بکار می برد.
4- حرکت مؤلفه هــای بخصوصی در نقاط معینــی مقدار دهی اولیه شده و در نقطه بخصوص
دیگری پایان می یابند.
5- واحــد محاسباتی که محاسبــات لازم برای کنترلـر را انجام می دهد. به عبارت دیگر، برای
انجام صحیح اعمال بایست یک سری محاسبات جهت مشخص کردن مسیر، سرعت و موقعیت بازوی مکانیکی انجام شود.
6- واسطی جهت بدست آوردن داده ها (مختصات هر مفصل، اطلاعاتی از سیستم بینایی و ...) و واسطی جهت اعمال سیگنالهای کنترل به محرک مفصلها.
7- واسطی جهت انتقال اطلاعات کنترلر به واحد تبدیل توان، به طوری که محرک های مفصلها باعث بشوند که مفصلها به صورت مطلوب حرکت کنند.
8- واسط به تجهیزات دیگر، بطوری که کنترلر ربات با واحدهای خارجی یا ابزارهای کنترل دیگر، ارتباط داشته باشد.
9- وسایل و تجهیزات لازم جهت آموزش ربات.
کنترلرهای رباتها کلاً به 5 دسته تقسیم بندی می شوند :
1- کنترل با قدم ساده(Simple Step Sequencer)
2- سیستم منطقی پنوماتیکی(Pneumatic Logic System)
3- کنترلر با قدمهای الکترونیکی (Electronic Sequencer)
4- میکرو کامپیوتر (Micro Computer)
5- مینی کامپیوتر (Mini Computer)
سه کنترلر اول در رباتهای کم هزینه به کار برده می شوند. بیشتر کنترلرهای امروزی براساس میکروکامپیوترهای معمولی می باشند و سیستم کنترل براساس مینی کامپیوتر زیاد رایج نمی باشد، چرا که نسبت به میکروکامپیوترها هزینه بالاتری دارند.
4-4- واحد تبدیل توان
این واحد سیگنالهای کنترلر را گرفته و به یک سیگنال در سطح توان محرک ها و موتورها، جهت حرکت، تبدیــل می کند. این واحــد شامل تقویت کننده هـای توان الکترونیکی برای رباتهای الکتریکی و شیرهای کنترلی و راه اندازهای هیدرولیکی برای رباتهای هیدرولیکی می باشد.
دسته بندی | برنامه نویسی |
بازدید ها | 23 |
فرمت فایل | doc |
حجم فایل | 50 کیلو بایت |
تعداد صفحات فایل | 30 |
توضیحات مختصری در مورد زبانهای برنامه نویسی
DELPHI -1
C++ -2
C# -3
BASIC -4
FORTRAN -5
VISUAL BASIC -6
DELPHI -1
دِلفی (Delphi) یا به تعبیری ویژوآل پاسکال – یک زبان برنامهنویسی است و بستری برای توسعهٔ نرمافزار که شرکت بورلند آن را تولید کرده است. این زبان، در بدو انتشار خود در سال ۱۹۹۵، به عنوان یکی از نخستین ابزارهایی مطرح شد که از توسعهٔ نرمافزار بر مبنای متدولوژی RAD((Rapid Application Developmentپشتیبانی میکردند؛ یعنی تولید و توسعهٔ سریع برنامههای کاربردی این نرم افزار بر مبنای پاسکال شیگرا بوده و از این زبان مشتق شده است. البته بورلند نسخهای از دلفی و سیپلاسپلاسبیلدر را برای لینوکس به نام کایلیکس (Kylix) ارائه کرد که مورد استقبال توسعه دهندگان نرمافزارهای لینوکس قرار نگرفت. نرمافزارهای دلفی در ابتدا به صورت مستقیم از کتابخانههای ویندوز و کتابخانهٔ مخصوص خود به نام VCL استفاده میکرد، اما پس از نسخه ۶ دلفی، امکانات استفاده از داتنت هم به آن اضافه شد. در حال حاضر میتوان دلفی را یکی از رایجترین زبانهای ممکن در ایران دانست.زبانِ دلفی که پیشتر بنام پاسکال شیءگرا (Object-Pascal) خوانده میشد و برای طراحی نرمافزاهای تحت ویندوز به کار میرفت، امروزه چنان توسعه یافته است که برای تولید نرمافزارهای تحت سیستمعاملِ لینوکس و داتنت نیز به کار میآید. بیشترین کاربرد دلفی در طراحی برنامههای رومیزی و پایگاه دادهها است، اما به عنوان یک ابزارِ «چند- منظوره»، برای طراحی انواع گوناگونی از پروژههای نرمافزاری نیز مورد استفاده قرار میگیرد.
دلفی 2006
شرکت بورلند در سال ۲۰۰۶ نرمافزار جدید خود را با ویژگیهای جدید به بازار ارائه کرد. این برنامه جدید امکان برنامه نویسی با دلفی و سی پلاس پلاس و همچنین سیشارپ را بطور همزمان ارائه میدهد. بدین ترتیب برنامه نویسانی که با ابزارهای مختلفی کار میکنند براحتی میتوانند در این محیط جدید برنامه نویسی کنند. ویژگی مهم این نگارش نسبت به نگارش ۲۰۰۵ بحث مدیریت حافظه است. در نگارش ۲۰۰۵ ضعفهائی در این زمینه وجود داشت که در این نسخه حل شده است. شرکت بورلند افتخار دارد که به عنوان اولین شرکت تولید کننده IDE زبانهای برنامه نویسی مانند دلفی و سی شارپ بیلدر و جی بیلدر(مخصوص زبان جاوا) و .... از تکنولوژی دات نت در محصولات خود استفاده کرده است.
دلفی 2007
در اواخر سال 2006 شرکت بورلند یک شرکت تابع با نام CodeGear را تاسیس کرد تا این شرکت بتواند تمام انرژی خود را صرف محیط های برنامهنویسی مشهور خود یعنی دلفی و ++C بیلدر و... کند. بن اسمیت نام اولین مدیر CodeGear بود. شرکت بورلند نیز فعالیتهای خود را در زمینه Application Lifecycle Management ادامه میدهد. اولین محصول این شرکت، CodeGear Delphi 2007 هست که بسیاری از نقائص موجود در دلفی 2006 از جمله سرعت پائین آن در این محصول برطرف شده است و بعد از دلفی 7 میتوان از آن به عنوان محصولی مطمئن و قابل استفاده نام برد، هر چند که دلفی 2006 هم محصولی کارامد هست. از دیگر محصولات CodeGear میتوان به Delphi 2007 For PHP اشاره کرد که تحول شگرفی در رابطه با استفاده از تکنولوژی Ajax در دلفی است.
C++ -2
زبان برنامهنویسی ++C (تلفظ می شود: سی پلاس پلاس) یک زبان برنامهنویسی کامپیوتری عمومی با قابلیتهای سطح بالا و سطح پایین میباشد. این زبان دارای قابلیتهای کنترل نوع ایستا، نوشتار آزاد، چندمدلی، معمولا زبان ترجمه شده با پشتیبانی از برنامهنویسی ساختیافته، برنامهنویسی شیگرا، برنامه نویسی جنریک است.
زبان ++c یک زبان سطح میانی در نظر گرفته میشود. این زبان دارای قابلیت زبانهای سطح بالا و پایین بصورت همزمان است.
زبان ++C توسط بییارنه استراستروپ دانمارکی در سال ۱۹۷۹ در آزمایشگاه های بل (Bell Labs) و بر مبنای زبان C ساخته شد و آن را "C با کلاس" نامگزاری نمودند. در سال ۱۹۸۳ به ++c تغییر نام داد. توسعه با اضافه نمودن کلاسها و ویژگیهای دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثنا انجام شد. این زبان برنامهنویسی در سال ۱۹۹۸ تحت نام ISO/IEC 14882:1998 استاندارد شد. نسخه فعلی استاندارد این زبان ISO/IEC 14882:2003 است. نسخه جدیدی از استاندارد (که به صورت غیررسمی C++0x نامیده میشود) در دست تهیه است.
تاریخچه زبان
استراستروپ کار بر روی زبان «c با کلاس» را در سال ۱۹۷۹ آغاز کرد.ایده ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراستروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگیهای مناسب برای ساخت برنامههای بسیار بزرگ است اما برای استفاده عملی بسیار کند است اما BCPL با وجود سرعت بسیار زیاد برای ساخت برنامههای بزرگ بسیار سطح پایین است. زمانی که استراستروپ کار خود را در آزمایشگاه های بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته unix با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگیهای سیمولا گسترش داد. C به این دلیل انتخاب شد که C یک زبان عمومی، سریع، قابل حمل، و بصورت گسترده در حال استفاده بود. علاوه بر C و سیمولا زبانهای دیگری مانند ALGOL 68، ADA، CLU، ML نیز بر ساختار این زبان جدید اثر گذاشت. در ابتداویژگیهای کلاس، کلاسهای مشتق شده، کنترل نوع قوی، توابع درون خطی، و آرگومان پیشفرض از طریق Cfront به C اضافه شد. اولین نسخه تجاری در سال ۱۹۸۵ ارائه شد.در سال ۱۹۸۳ نام زبان از «C با کلاس» به ++C تغییر یافت. ویژگیهای دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر بصورت آزاد، کنترل نوع بهتر، و توضیحات یک خطی به صورت BCPL با استفاده از «//» نیز به آن اضافه شد. در سال ۱۹۸۵ اولین نسخه زبان برنامهنویسی ++C انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمی وجود نداشت. در سال ۱۹۸۹ ویرایش 2.0 از زبان ++C ارائه شد. ویژگیهای جدیدی مانند ارثبری چندگانه، کلاسهای انتزاعی، اعضای ایستای توایع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد. در سال ۱۹۹۰ «راهنمای مرجع ++C » منتشر شد. این کار بنیان استانداردهای بعدی شد. آخرین ویژگیهای اضافه شده شامل موارد زیر بودند: قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی.در حین تکامل ++C کتابخانه استاندارد نیز بوجود آمد. اولین نسخه کتاب استاندارد شامل کتابخانه جریانات I/O بود که جایگزین printf و scanf شد. در ادامه مهمترین ویژگی اضافه شده Standard Template Library بوده است.
استاندارد زبان
بعد از سالها کار کمیته مشترک ANSI–ISO در سال ۱۹۹۸ ++C را استاندارد نمودند (ISO/IEC 14882:1998). به مدت چند سال پس از انتشار استاندارد این کمیته گزارشات معایب را مورد بررسی قرار داده نسخه اصلاح شده استاندارد ++C منتشر شد. در سال ۲۰۰۵ گزارشی فنی بنام «گزارش فنی کتابخانه ۱» (که معمولا بصورت اختصار TR1 خوانده میشود) انتشار یافت. با وجود این که گزارش بخشی رسمی از استاندارد نیست ولی بخشهایی را به آن اضافه نموده که انتظار میرود در نسخههای بعدی استاندارد در نظر گرفته شود. پشتیبانی از این گزارش در حال افزایش بین تمام کامپایلرهای فعلی است.در حالی که ++C به هیچ موسسهای وابسته نیست این مستندات بصورت آزادانه در دسترس نیستند.