.
اطلاعات کاربری
درباره ما
دوستان
خبرنامه
آخرین مطالب
لینکستان
دیگر موارد
آمار وب سایت



:: بازدید از این مطلب : 46
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : سه شنبه 19 خرداد 1394
.

بیسیک

 
 
 

در برنامه نویسی کامپیوتر، بیسیک (به انگلیسی: BASIC، سرنام Beginners All-Purpose Symbolic Instruction) یکی از زبانهای برنامه‌نویسی سطح بالاست. اولین بار بیسیک در سال ۱۹۶۴ توسط جان جورج کمنی (به انگلیسی: John George Kemeny) و توماس یوجین کرتز (به انگلیسی: Thomas Eugene Kurtz) در دانشگاه دارتموث در نیوهمپشر امریکا، به منظور دسترسی دانشجویان به کامپیوتر طراحی شد. در آن زمان استفاده از کامپیوترها نیاز به نوشتن تکه‌برنامه‌هایی داشت که تنها دانشمندان و ریاضی‌دانان می‌توانستند آنها را بنویسند. بیسیک وانواع مختلف آن تا دههٔ ۱۹۷۰ و ۱۹۸۰، به طور گسترده در میکروکامپیوترها گسترش یافت و تا امروز نیز پر طرفدار باقی‌مانده و بعنوان نسخهٔ خاصی از یک زبان کامپیوتر مفید و اصلاح شده و زبانهای جدیدی مانندمایکروسافت ویژوال بیسیک بر مبنای بیسیک ساخته شده‌اند. تا سال ۲۰۰۶، ٪۵۹ برنامه نویسان محیط دات‌نت از ویژوال بیسیک به عنوان تنها زبان خود استفاده می‌کردند

 

تاریخچه

پیش زمینه

تا قبل از اواسط دههٔ ۱۹۶۰، کامپیوترها بسیار گران بودند و فقط برای وظایفی که هدف خاصی را داشتند مورد استفاده قرار می‌گرفتند. یک دسته پردازشهای مرتب ساده، هر کدام بعنوان یک کار در هر لحظه یکی پس از دیگری اجرا می‌شدند. اما در دههٔ ۱۹۶۰، کامپیوترهای سریعتر و تواناتر با قدرت پردازشی بیشتر ساخته شدند، کامپیوترها می‌توانستند لحظاتی بدون کار باشند، بدون فعالیتی برای اجرا کردن.

زبانهایبرنامه‌نویسی مانند ماشینهایی که آنها را اجرا می‌کردتد باید طوری طراحی می‌شدند که برای اهداف مشخصی مانند محاسبهٔ فرمول علمی یا پردازش داده‌های تجاری یا مثلاً ویرایش یک متن مفید باشند. از آنجایی که حتی کامپیوترهای جدید و ارزانتر هنوز به سرمایه زیادی احتیاج داشت، تمایل شدیدی برای در نظر گرفتن کارایی به عنوان مهمترین ویژگی زبان وجود داشت. بطور کلی استفاده از این زبان‌های تخصصی شده مشکل بود و سینتکسهای مختلف زیادی برای آنها وجود داشت.

هنگامی که کامپیوترها قیمتشان کاهش یافت، این امکان به وجود آمد که دسترسی به کامپیوتر از انحصار آزمایشگاه‌های تحقیقاتی خارج شود و وارد استفادهٔ تجاری شود. کامپیوترهای جدید از سیستم اشتراک زمانی پشتیبانی می‌کنند که این امکان را برای چند پردازش یا کاربر فراهم می‌کند که بطور همزمان از پردازنده و حافظه استفاده کنند. در چنین سیستمهایی، سیستم‌عامل بین پردازشهای در حال اجرا بطور متناوب به هر کدام از آنها زمانی برای اجرا بر روی پردازنده می‌دهد، قبل از این که بر روی فعالیت دیگری برود. ماشینها به حدی سریع شدند که بیشتر کاربران می‌توانستند احساس کنند که تمام ماشین در خدمت آنهاست. اشتراک زمانی هزینهٔ محاسبات را بطور فاحشی کاهش داد. یک ماشین می‌توانست بین حتی صدها کاربر به اشتراک گذاشته شود.

سالهای نخست: دورهٔ مینی کامپیوترها

بیسیک اولیه در سال ۱۹۶۳ توسط John George Kemeny و  Thomas Eugene Kurtz طراحی شد و و توسط یک تیم از دانشجویان Dartmouth و زیر نظر آنها پیاده­سازی شد. در این طراحی سعی شده بود که موضوعات پیچیدهٔ زبانهای قدیمی با یک زبان جدید برای رده جدیدی از کاربران که سیستمهای اشتراک زمانی اجازه می‌داد که دارای اطلاعات تکنیکی کمتر و دارای پیش­زمینه ریاضی ضعیف­تری از کاربران قدیمی­تر بودند استفاده شود. امکان استفاده از کامپیوتر در آموزش و تحقیق در آن زمان یک چیز کاملاً جدید بود. در سالهای بعدی که نسخه‌های جدیدی از بیسیک ساخته شد، بیسیک اولیه که توسط John George Kemeny و Thomas Eugene Kurtz ساخته شد، تحت عنوان بیسیک Dartmouth شناخته شد.

هشت اصل در طراحی بیسیک عبارتند از:

  1. استفاده آن برای مبتدیان آسان باشد.
  2. یک زبان برنامه نویسی با اهداف عمومی باشد.
  3. امکان اضافه شدن ویژگی‌های پیشرفته برای متخصصین را بدهد (در حالی که سادگی زبان برای مبتدیان حفظ شود).
  4. تعاملی باشد.
  5. پیغام‌های خطای واضح داشته باشد.
  6. برای برنامه‌های کوچک، سریع پاسخ دهد.
  7. نیازی به آشنایی و دانستن سخت‌افزار نباشد.
  8. از کاربر در برابر سیستم‌عامل حفاظت کند.

بخشی از این زبان بر مبنای فرترن ۲ و بخشی از آن بر مبنای الگول۶۰ بود به اضافهٔ این مزیت که آنرا برای اشتراک زمانی مناسب می‌کرد. (ویژگی اشتراک زمانی از دیگر زبانها مانند JOSS وCORC و به میزان کمتری از زبان LISP، نیز در نظر گرفته شد.) این زبان از آزمایشهای آموزش زبان دیگر در Dartmouth مانند DARSIMCO (۱۹۵۶) و DOPE (پیاده­سازی شده در سال ۱۹۶۲SAP و (۱۹۶۳) DART که ساده شدهٔ فرترن۲ بود (پیشی گرفت. نخستین بار بیسیک بر روی کارهای سر راست ریاضی تمرکز داده شد، با پشتیبانی محاسبهٔ ماتریس از پیاده­سازی اولیه آن بعنوان یک زبان دسته­ای و امکانات کامل کار با رشته به آن در سال ۱۹۶۵ اضافه شد. در سال ۱۹۶۵ بیسیک نخستین بار بر روی GE-۲۶۵ mainframe که دارای چند ترمینال بود به کار گرفته شد. بر خلاف باورعمومی، بیسیک در زمان معرفی یک زبان کامپایل شده بود. بیسیک همچنین در غلبه بر FORTAN || و ALGOL ۶۰ در محاسبه ۲۶۵ محسبه ریاضی کاملاً موثر بود.

طراحان زبان تصمیم گرفتند برای اینکه زبان گسترده شود، کامپایلرهای رایگان برای آن تهیه کنند. آنها همچنین آن را در دبیرستانهای ناحیهٔ Dartmouth فراهم کردند و همچنین میزان قایل ملاحظه‌ای تلاش درجهت ارتقاء این زبان کردند. و در نتیجه دانش بیسیک بصورت نسبی همه جا گسترش یافت (به عنوان یک زبان برنامه نویسی) و بیسیک توسط تعدادی از سازندگان پیاده­سازی شد، و روی مینی کامپیوترهای جدید مانند سریهای DEC PDP و Data General Nov عمومی شد.همچنین زبان بیسیک بر روی سیستم‌های اشتراک زمانی HP در اواخر دههٔ ۱۹۶۰و اوایل دههٔ ۱۹۷۰ گسترش یافت. در این نمونه‌ها، زبان تمایل داشت به جای کامپایلربا مفسر اجرا شود.

چند سال پس از انتشارآن، افراد حرفه‌ای در کامپیوتر، به ویژه Edsger W. Dijkstra، اظهار کردند که استفاده از دستور GOTO، که در بسیاری از زبانهای برنامه نویسی مانند بیسیک وجود دارد، روشهای برنامه نویسی ضعیف را ترفیع می‌دهد. برخی از بیسیک انتقاد کردند که خیلی کند است (بیشتر نسخه­های دارای مفسر از دارای کامپایلر کندتر هستند) یا این انتقاد را کردند که بیسیک خیلی ساده‌است (بسیاری ازنسخه­ها به ویژه برای کامپیوترهای کوچک، ویژگی‌ها و قابلیت‌های مهم را رها کردند).

رشد خیره کننده: دورهٔ کامپیوترهای خانگی

بااینکه زبانها بر روی مینی کامپیوترهای زیادی استفاده می‌شوند ولی این معرفی مینی کامپیوتر MITS Altair ۸۸۰۰ "kit" در سال ۱۹۷۵ راه جهانی شدن را به روی بیسیک گشود. بیشتر زبانهای برنامه نویسی به فضای حافظه بیشتری نسبت به آنچه بر روی کامپیوترهای کوچکی که بیشتر کاربران استطاعت خرید آن را داشتند، نیاز داشتند. همچنین میکروکامپییوترهای اولیه دارای دسترسی کند به حافظه که از نوارهای صدا فراهم می‌شد و نیز فقدان ویرایشگر مناسب متن بودند. یک زبان مانند بیسیک با که با وجود این محدودیت‌ها کار می‌کرد.

بیسیک همچنین دارای این مزیت بود که در بین طراحان جوان و علاقه‌مندان در زمینهٔ کامپیوتر که عموماً در صنایع الکترونیکی آن روزگار کار می‌کردند بصورت نسبتاً خوبی شناخته شده بود. ابتکار Kemeny and Kurtz's به اندازهٔ درخور مورد توجه قرار گرفت که تعدادی از مجلات کامپیوتر در آن زمان، مطالبی در بارهٔ زبان نوشتند یا بر روی مقایسهٔ یک نسخه با دیگر نسخه‌ها تمرکز کردند.

یکی از اولین نسخه­هایی که برای ماشین ۸۰۸۰ مانند Altair به وجود آمد Tiny BASIC بود. یک اجرای ساده از بیسیک که در اصل توسط Dr. Li-Chen Wang نوشته شده بود و سپس به Altair برده شد توسط Dennis Allison به درخواست Bob Albrecht (که قبلاً مجلهٔ Dr. Dobb's را تاسیس کرده بود). طراحی و تمام کد منبع آن در سال ۱۹۷۶ درDJJ منتشر شد.

در سال ۱۹۷۵، MITS نسخهAltair BASIC را که توسط دانشجوی ترک تحصیل کرده، Bill Gates و Paul Allen به عنوان شرکت Micro-Soft (که بعدها شرکت عظیم مایکروسافت نام گرفت) منتشر کرد. نخستین نسخه از Altair توسط Gates، Allen وMonte Davidoff نوشته شد. نسخه‌های مایکروسافت بیسیک که بعداً بعنوان M BASIC یا MBASIC شناخته شدند، به زودی با کامپیوترهای بر مبنایفلاپی دیسک که در فعالیت‌های کوچک تجاری استفاده می‌شد رایج شد. چون محبوبیت بیسیک در CP/M گسترش یافت، طراحان کامپیوترهای جدید نیز نسخهٔ خودشان از زبان معرفی کردند و یا Micro-Soft نسخه خود را به محیط آنها برد.

هنگامی که سه کامپیوتر اصلی جدید در مجلهٔ Byte که قبلاً  ۱۹۷۷ Trinity نامیده می‌شد معرفی شدند، هر سه آنها بیسیک را بعنوان زبان اصلی و محیط عملکردی دارا بودند. Commodore PET لیسانس یک نسخه از مایکروسافت بیسیک را که به MOS ۶۵۰۲ برده شده بود را بدست آورد. و Apple II و TRS-۸۰ هر دو نسخه‌های جدیدی از زبان را معرفی کردند که خیلی شبیه به هم بودند. همان طور که کمپانی‌های جدید وارد عرصه می‌شدند، نسخه‌های جدیدی اضافه می‌شدند که به دقت خانوادهٔ بیسیک را تغییر می‌دادند. خانوادهٔ Atari ۸-bit نسخه Atari BASIC خود را داشت که برای کارتریج ۸ kB ROM مناسب شده بود. بی بی سی، BBC BASIC را منتشر کرد که توسط Acorn Computers Ltd برای آنها ساخته شده بود که دارای کلمات ساختاری زیادی بود. بیشتر کامپیوترهای خانگی دههٔ ۱۹۸۰ یک ROM مفسر بیسیک داشتند، که به ماشین اجازه می‌داد مستقیماً در بیسیک بوت شود. بیسیک بیش از هر زبان دیگری دارای گونه­های مختلف است.

در طول این دورهٔ رشد برای بیسیک، مجلات بسیاری منتشر شدند مانند مجله یCreative Computing که شامل کد منبع کامل بازی‌ها و نرم­افزارهای سودمند بود. این کار ساده‌ای بود که کدها را از مجله نوشته شوند و اجرا شود. مجلات مختلفی منتشر می‌شدند که برنامه‌ها را برای کامپیوترهای بخصوصی نشان می‌دادند گرچه بعضی از برنامه‌های بیسیک جهانی بودند و می‌توانستند بر روی هر ماشین استفاده کننده از بیسیک، اجرا شوند. یک راه منطقی دیگر ایده به کتاب درآوردن این کد منبع­ها بود که به طور مثال می‌توان به سری کتابهای بازیهای کامپیوتری David Ahl اشاره نمود.

بلوغ : دورهٔ کامپیوترهای شخصی

سال ۱۹۷۹ مایکروسافت با IBMبرای ساختن یک نسخه بیسیک به نام BASIC C)) که در BIOS این کامپیوترها قرار می‌گرفت در مذاکره بود. مایکروسافت نسخه­های زیادی از بیسیک را برای MS-DOS/PC-DOS فروخت که شامل BASIC D، BASIC A، BASICA، GW-BASIC(یک نسخه سازگار با BASIC A که احتیاج به رم IBMنداشت)، QBASIC می­شد. توربو پاسکال، منتشر کنندهٔ بورلند، توربو بیسیک ۱٫۰ را در سال ۱۹۸۵ منتشر کرد. نسخه‌های بعدی با نام نویسنده اصلی آن تحت نام POWERBASIC تا امروز عرضه می‌شوند. مایکروسافت نسخه­ای از بیسیک را که در محیط گرافیکی بود با نام AmigaBASIC منتشر نمود(اواخر سال ۱۹۸۵ و اوایل سال ۱۹۸۶)، اگرچه این محصول دارای نشان ماکروسافت نبود.

این زبانها الحاقات زیادی را به کامپیوترهای خانگی بیسیک اضافه نمودند. مانند: بهبود کار با رشته‌ها و پشتیبانی گرافیکی و دسترسی به سیستم فایل و نوع داده‌های اضافی. مهمتر از همه امکاناتبرنامه نویسی ساخت یافته بود. ازجمله ساختارهای کنترلی و رویه­ها که از متغیرهای محلی پشتیبانی می‌کردند.

به هر حال اواخر دههٔ ۱۹۸۰ کامپیوترهای جدید با توانایی بیشتر و ابتکارات نو در همین زمان کامپیوترها ترقی کردند از سرگرمی مورد علاقه به یک وسیله که عمدتاً برای فعالیت‌هایی که توسط دیگران نوشته می‌شد، استفاده می‌شدند. برنامه نویسی اهمیت کمتری برای بیشتر کاربران پیدا کرد. بیسیک شروع به پس رفتن در اهمیت کرد، اما نسخه­های بیشماری از آن باقی‌ماند. بیسیک کامپایل شده با CBASIC هنوز در سیستم‌عامل IBM ۴۶۹۰ استفاده می­شود.

شانس بیسیک یک بار دیگر با معرفی ویژوال بیسیک که توسط مایکروسافت عرضه شد باقی‌ماند. سخت است که این زبان را بیسیک در نظر بگیریم چون زبان تبدیل به یک زبان شی گرا و رویدادی شده بود. تنها چیز مهمی که شبیه به بیسیک قدیمی بود، سینتکس آن بود. سینتک به خودی خود زمان را به طور کامل تعریف نمی­کند، از آنجایی که بیشتر برنامه نویسان برای استفاده از اشایی مانند button و یا scrollbar از تکنیک drag and drop استفاده می‌کنند و مستقیماً درگیر تمام کد نمی­شوند، در حالی که این می‌توانست بعنوان یک تحول برای زبان در نظر گرفته شود، بعضی از ویژگی‌های ممتاز Dartmouth BASIC مانند شماره‌های خط و کلمهٔ کلیدی INPUT باقی‌ماند(گرچه هنوز هم ویژوال بیسیک از INPUT برای خواندن اطلاعات از فایل استفاده می‌کند و کلمه کلیدی INPUTBOX برای ورودی مستقیم از کاربرموجود است. line numbers نیز می‌تواند بصورت اختیاری در تمام نسخه‌های VB مورد استفاده قرار گیرد حتی VB.NET. گرچه آنها نمی‌توانند در بعضی مکان‌های خاص مورد استفاده قرار گیرند مانند قبل از SUB).

ایراد گرفته شده از بیسیک به این عنوان که بیسیک زبانی ابتدایی است و ظاهراً باعث تعجب بسیار زیادی شد که مایکروسافت هنوز ویژوال بیسیک را بعنوان یک زبان برای علاقه‌مندان می‌داند، این زبان به طور وسیعی برای فعالیتهای تجاری کوچک به مدت کوتاهی پس از عرضه شدن نسخهٔ ۳ از VB مورد استفاده قرار گرفت. که عموماً به عنوان نخستین نسخهٔ پایدار در نظر گرفته شد. در حالی که بسیاری از برنامه نویسان حرفه‌ای استفاده از بیسیک را مورد تمسخر قرار می‌دهند، VBنیازهای تجاری کوچک را در جاهایی که سرعت پردازش نسبت به تولید آسان اهمیت کمتری داشت به طور موثری برآورده کرد.((در ان زمان کامپیوترها Windows ۳٫۱ را اجرا می‌کردند که به اندازه‌ای سریع شده بودند که فعالیتهای مربوط به تجارت را می‌توانستند در یک چشم به هم زدن انجام دهند). خیلی از صاحبان کسب و کار کوچک فهمیدند که می‌توانند در چند بعد ظهر برنامه­ای کارا برای رفع نیازهایشان بنویسند. سرانجام در طول عمر VB۳ دانش ویژوال بیسیک به یک مهارت قابل عرضه در بازار تبدیل شد.

خیلی از نسخه‌های زبان بیسیک در چند سال اخیر ظاهر شده‌اند از جمله Bywater BASIC و True BASIC (جانشین اصلی بیسیک Dartmouth از شرکتی به هدایت Krutz). یک نسخه برجسته RealBasic می­باشد، که اولین بار در سال ۱۹۹۸ برای کامپیوترهای مکینتاش منتشر شد، که از سال ۲۰۰۵ در برنامه­های ویندوز ماکروسافت، Mac OS X و لینوکس ۳۲ و ۶۴ بیت استفاده می‌شود. برنامه­های کامپایل شده RealBasic ممکن است به صورت طبیعی در این محیط‌ها به عنوان سرویس کار کنند. خیلی از دیگر انواع بیسیک، توسط علاقه‌مندان نوشته شد. این زبان بطور نسبی برای مترجم آسان است. یک مثال از یک مترجم open source، به زبانC، MiniBasic می­باشد. وجود مفسرهای بیسیک روی تمام کامپیوترهای خانگی، دانشجویان را تشویق می‌کند که مفاهیم ریاضی و محاسباتی در کلاس یا خانه بر روی کامپیوتر تجربه کنند. و در آخر اینکه آقای David Brin در مقاله Salon نسبت به از دست رفتن همه­گیری بیسیک اظهار تاسف می­کند.

مثالها

برنامه نویسی ساخت نیافته

برنامه نویسان جدید بر روی یک کامپیوتر خانگی ممکن است با یک برنامهٔ ساده مانند Hello world program که توسط Kernighan and Ritchie معروف شد، شروع کنند. این مثال بطور کلی شما را درگیر یک کاربرد سادهٔ دستورچاپ برای نشان دادن پیغام­ها (مانند نوشتن نام برنامه) بر روی صفحهٔ مانیتور می‌کند. اغلب اوقات یک حلقه‌ی نامتناهی برای پر کردن صفحه نمایش با پیام مزبور مورد استفاده قرار می‌گیرد. بیشتر نسلهای اولیه زبان بیسیک، مانند MSX BASIC و GW-BASIC از انواع داده‌ای ساده، حلقه‌ها و آرایه‌ها پشتیبانی می‌کردند. مثال زیر برای GW-BASIC نوشته شد ولی روی بیشتر نسخه‌های BASIC با اندک تغییرات کار می‌کند:

۱۰ INPUT «What IS your NAME, U$
۲۰ PRINT «Hello»; U$
۳۰ INPUT «How many stars DO you want:», N
۴۰ S$ = ""
۵۰ FOR I = ۱ TO N
۶۰ S$ = S$ + «*»
۷۰ NEXT I
۸۰ PRINT S$
۹۰ INPUT «DO you want more stars?», A$
۱۰۰ IF LEN(A$) = ۰ THEN GOTO ۹۰
۱۱۰ A$ = LEFT$(A$, ۱)
۱۲۰ IF A$ = "Y" OR A$ = "y" THEN GOTO ۳۰
۱۳۰ PRINT «Goodbye»; U$
۱۴۰ END

بیسیک ساخت یافته

نسل دوم از بیسیک مانند QuickBASIC و PowerBASIC تعدادی ویژگی به داخل زبان معرفی کردند، این ویژگی‌ها عموماً مربوط به برنامه نویسی ساخت­یافته و رویه­ای بود. شماره گذاری خط از زبان حذف شد برچسبها (برای دستور GOT) جایگزین آن شد و رویه­ها ساده­تر و طراحی آنها انعطاف پذیرتر شد.

INPUT «What IS your NAME, UserName$
PRINT «Hello»; UserName$
DO
  INPUT «How many stars DO you want:», NumStars
  Stars$ = STRING$(NumStars, «*») 
  PRINT Stars$
  DO
    INPUT «DO you want more stars?», Answer$
  LOOP UNTIL Answer$ <> ""
  Answer$ = LEFT$(Answer$, ۱)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT «Goodbye»; UserName$

بیسیک با ویژگی‌های شی گرا

سومین نسل از زبان بیسیک مانند Visual Basic، StarOffice Basic، REALbasic، BlitzMax ویژگی‌هایی را برای پشتیبانی برنامه نویسی شی گرا و رویدادی معرفی کردند. بیشتر توابع و رویه­های به عنوان متد­های استاندارد اشیاء نشان داده می‌شدند تا عمگرها.

مثال زیر یک تکه کد در زبان Visual Basic.NET را نشان می‌دهد:

 
Class stars
    Sub Main()
        Dim UserName, Answer, stars As String ' UserName$, Answer$, stars$ may be used as well.
        Dim NumStars, I As Integer
        Console.Write(«What is your name:»)
        UserName = Console.ReadLine()
        Console.WriteLine(«Hello {۰}», UserName)
        Do
            Console.Write(«How many stars do you want:»)
            NumStars = CInt(Console.ReadLine())
            stars = New String(«*», NumStars)
            Console.WriteLine(stars)
            Do
                Console.Write(«Do you want more stars?»)
                Answer = Console.ReadLine()
            Loop Until Answer <> ""
            Answer = Answer.Substring(۰, ۱)
        Loop While Answer.ToUpper() = "Y"
        Console.WriteLine(«Goodbye {۰}», UserName)
    End Sub
End Class

و مثال دیگر در زبان BlitzMax:

SuperStrict ' Use very strict coding rules (no loose assumptions).
 
Framework brl.blitz ' Base BlitzMax module (Framework is the same as Import, except
		 ' in that it stops automatic Imports of official modules).
Import brl.standardio ' Import BRL's StandardIO module (contains Print and Input).
Import brl.random
 
' Run our function!
TNumberGuessingGame.Main()
 
' Non-instance based type (trying to mimic the flow of VB)...
Type TNumberGuessingGame ' NOTE: The 'T' before the the Type/Class' name is
			 ' a typical naming convention used, and is not necessary.
 
	Function Main()
		Local number:Int, guess:Int, quit:Int = False
 
		Repeat
			number = Rand(۱, ۱۰)
			Print(«Guess a number! (one to ten)»)
 
			guess = Int(Input(«>»))
			If guess = number
				Print(«Correct!!»)
			Else If guess <۱
				Print(«That's less than one!»)
			Else If guess> ۱۰
				Print(«That's more than ten!!»)
			Else
				Print(«Incorrect! The number was» + number + «.»)
			End If
 
			Print("") ' Print always appends a newline character at the end of the message.
			If Input(«Do you want to continue playing? (y/n)»).ToLower() = "n"
				quit = True
			End If
 
		Until quit = True
 
	End Function
 
End Type



www.boysecomputerchoram.loxblog.com
آرامآرامآرام
 


:: بازدید از این مطلب : 49
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : سه شنبه 19 خرداد 1394
.

سی++

 
 
 
سی++
طراحی‌شده توسط بی‌یارنه استراس‌تروپ
توسعه‌دهنده بی‌یارنه استراس‌تروپ،آزمایشگاه‌های بل
ظهوریافته در ۱۹۸۳
انتشار پایدار
ISO/IEC 14882:2014
زبان پیاده‌سازی
سی++
سیستم‌عامل چندسکویی
وب‌گاه وضعیت و اخبار و بحث درباره استاندارد سی++

++C (بخوانید سی پلاس‌پلاس) یک زبان برنامه‌نویسی رایانه‌ای همه‌منظوره، شیءگرا، سطح بالا و چندرگه (که از برنامه‌نویسی رویه‌ای، تجرید داده‌ها و برنامه‌نویسی شیءگرا پشتیبانی می‌کند)، عمومی و با قابلیت‌های سطح بالا و سطح پایین می‌باشد. این زبان دارای قابلیت‌های انواع داده ایستا، نوشتار آزاد، چندمدلی، معمولاً زبان ترجمه شده با پشتیبانی از برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شیءگرا، برنامه‌نویسی جنریکاست. از آنجا که در سی++ اشیاء را می‌توان ابتدا به ساکن از کلاس‌هایی ایجاد کرد که به هیچگونه سلسله مراتب رده‌ها و وراثت مقید نیستند، لذا سی++ از برنامه‌سازی شیء بنیاد (object-based programming) نیز پشتیبانی می‌کند. ++C به همراه جد خود C از پرطرفدارترین زبان‌های برنامه‌نویسی تجاری هستند.

++C یک زبان سطح میانی در نظر گرفته می‌شود؛ این زبان دارای قابلیت زبان‌های سطح بالا و پایین به‌صورت هم‌زمان است.

++C توسط بی‌یارنهاستراس‌تروپ ریاضیدان دانمارکی در سال ۱۹۷۹ در آزمایشگاه‌های بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد و آن را «C با کلاس» (C With Classes) نام‌گذاری نمود. در سال ۱۹۸۳ به ++C تغییر نام داد. توسعه با اضافه نمودن کلاس‌ها و ویژگی‌های دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثناء انجام شد. این زبان برنامه‌نویسی در سال ۱۹۹۸ تحت نام ISO/IEC۱۴۸۸۲:۱۹۹۸ استاندارد شد. نسخهٔ فعلی استاندارد این زبان ISO/IEC ۱۴۸۸۲:۲۰۱۴ است.

 

تاریخچهٔ زبان

 
بی‌یارنه استراس‌تروپ و ناشر کتابش-۲۰۱۰

استراس‌تروپ کار بر روی زبان «C با کلاس» را در سال ۱۹۷۹ آغاز کرد. ایدهٔ ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراس‌تروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگی‌هایی مناسب برای ساخت برنامه‌های بسیار بزرگ است اما برای استفادهٔ عملی بسیار کند است امابی‌سی‌پی‌ال با وجود سرعت بسیار زیاد برای ساخت برنامه‌های بزرگ بسیار سطح پایین است. زمانی که استراس‌تروپ کار خود را در آزمایشگاه‌های بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته یونیکس با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگی‌های سیمولا گسترش داد. C به این دلیل انتخاب شد که یک زبان عمومی، سریع، قابل حمل، و در سطح گسترده‌ای در حال استفاده بود. علاوه بر C و سیمولا زبان‌های دیگری مانند ALGOL ۶۸، ADA، CLU، ML نیز بر ساختار این زبان جدید اثر گذاشت. در ابتدا ویژگی‌های کلاس، کلاس‌های مشتق شده، کنترل نوع قوی، توابع درون‌خطی و آرگومان‌های پیش‌فرض از طریق Cfront به C اضافه شد. اولین نسخهٔ تجاری در سال ۱۹۸۵ ارائه شد.

در سال ۱۹۸۳ نام زبان از «C با کلاس» به ++C تغییر یافت. ویژگی‌های دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر به‌صورت آزاد، کنترل نوع بهتر، و توضیحات یک‌خطی به صورت BCPL با استفاده از «//» نیز به آن اضافه شد. در سال ۱۹۸۵ اولین نسخهزبان برنامه‌نویسی ++C انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمی‌ای وجود نداشت. در سال ۱۹۸۹ ویرایش ۲٫۰ از زبان ++C ارائه شد. ویژگی‌های جدیدی مانند ارث‌بری چندگانه، کلاس‌های انتزاعی، اعضای ایستای توایع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد. در سال ۱۹۹۰ «راهنمای مرجع ++C» منتشر شد. این کار بنیان استانداردهای بعدی شد. آخرین ویژگی‌های اضافه شده شامل موارد زیر بودند: قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی.

در حین تکامل ++C کتابخانهٔ استاندارد نیز به‌وجود آمد. اولین نسخهٔ کتاب استاندارد شامل کتابخانهٔ جریانات I/O بود که جایگزین printf و scanf شد. در ادامه مهم‌ترین ویژگی اضافه شده Standard Template Library بوده‌است.

استاندارد زبان

استاندارد سازی سی++ توسط یک گروه از تشکیلات ISO انجام می‌شود. تاکنون ۴ نسخه از استاندارد این زبان منتشر شده است؛ و استاندارد C++17 نیز برای انتشار در سال ۲۰۱۷ برنامه ریزی شده است.

سالاستاندارد سی++نام غیر رسمی
۱۹۹۸ ISO/IEC 14882:1998 C++98
۲۰۰۳ ISO/IEC 14882:2003 C++03
۲۰۰۷ ISO/IEC TR 19768:2007 C++TR1
۲۰۱۱ ISO/IEC 14882:2011 C++11
۲۰۱۴ ISO/IEC 14882:2014
C++14
۲۰۱۷ هنوز تعیین نشده. C++17

 

در سال ۱۹۹۸ برای اولین بار پس از سال‌ها کار کمیته مشترک ANSI–ISO این زبان تحت عنوان ISO/IEC 14882:1998  و نام غیر رسمی C++98 استاندارد سازی شد. بعدها در سال ۲۰۰۳ نسخه جدیدی از استاندارد یعنی ISO/IEC 14882:2003 انتشار یافت و برخی از مشکلات و باگ‌های C++98 در آن رفع شد.

در سال ۲۰۰۵ یک گزارش فنی به اسم «گزارش فنی کتابخانهٔ ۱» (که معمولاً بصورت اختصار TR۱ خوانده می‌شود) منتشر شد که مواردی جدید را برای اضافه کردن به کتابخانه استاندارد در برداشت با این که این گزارش قسمتی از استاندارد نبود ولی بعدها در نسخه بعدی استاندارد یعنی C++11 اضافه شد.

نسخه بعدی با نام غیر رسمی C++11 و استاندارد  ISO/IEC 14882:2011 در تاریخ ۱۲ اوت ۲۰۱۱ مورد تأیید سازمان بین‌المللی استانداردسازی قرار گرفت و جایگزین C++03 شد .

در سال ۲۰۱۴ آخرین نسخه از این زبان تا حال حاضر در در تاریخ ۱۸ آگوست ۲۰۱۴ با نام غیر رسمی C++14 و استاندارد ISO/IEC 14882:2014 منتشر شد. هدف اصلی C++14 همانند C++03 رفع مشکلات و همچنین اضافه کردن ویژگی‌ها و بهبود جزیی C++11 بوده است.

انتشار نسخه بعدی استاندارد این زبان با نام غیر رسمی C++17 برای سال ۲۰۱۷ برنامه ریزی شده است.

در حالی که ++C به هیچ مؤسسه‌ای وابسته نیست این مستندات به‌صورت آزادانه در دسترس نیستند. گرچه نسخه‌های نهایی نشده(draft) این اسناد در دسترس همگان قرار می‌گیرد.

نام ++C

این نام منسوب به ریک ماسکیتی (اواسط ۱۹۸۳) است و برای اولین بار در دسامبر سال ۱۹۸۳ به کار برده شد. در طول مدت تحقیق این زبان بنام «C جدید» و بعدها «C با کلاس» خوانده شد. درعلوم کامپیوتر هنوز هم ++C به عنوان ابرساختار C شناخته می‌شود. آخرین نام از عملگر ++ در زبان C (که برای افزایش مقدار متغیر به اندازهٔ یک واحد بکار می‌رود) و یک عرف معمول برای نشان دادن افزایش قابلیت‌ها توسط + ناشی گشته‌است. با توجه به نقل قولی از استراس‌تروپ: «این نام ویژگی‌ها تکاملی زبان در C را نشان می‌دهد.» +C نام زبانی غیرمرتبط به این زبان است.

استراس‌تروپ مبدأ این نام را در فصل اول کتاب خود «زبان برنامه‌نویسی ++C» اشاره می‌نماید که معنی دیگر ++C را می‌توان در ضمائم کتاب جرج ارول بنام ۱۹۸۴ یافت. در سه قسمت از زبان تخیلی Newspeak «کلمات C» برای اشاره به لغات فنی و حرفه‌ای بکار می‌رود. «دو علامت +» برای ایجاد صفات عالی از صفات Newspeak به کار می‌رفت بنابراین ++C به معنای زبانی با بیشترین شباهت به C است.

وقتی که به صورت خصوصی از ریک ماسکیتی در مورد این اسم سوال شد او در جواب گفت که این اسم بصورت خودمانی در بین آنها به کار می‌رفته‌است و تصور نمی‌کردند که این نام بصورت نام رسمی این زبان درآید.

فلسفه

در کتاب «طراحی و تکامل ++C» استراستروپ قوانین مورد استفاده در طراحی ++C را بیان می‌نماید. دانستن این قوانین به فهمیدن نحوه عملکرد ++C و چرایی آن کمک می‌کند. جزئیات بیشتر در کتاب قابل دسترسی است:

  • ++C طراحی شده‌است تا یک زبان عمومی با کنترل نوع ایستا و همانند C قابل حمل و پربازده باشد.
  • ++C طراحی شده‌است تا مستقیماً و بصورت جامع از چندین شیوه برنامه‌نویسی (برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شی‌گرا، انتزاع داده، و برنامه‌نویسی جنریک)
  • ++C طراحی شده‌است تا به برنامه‌نویس امکان انتخاب دهد حتی اگر این انتخاب اشتباه باشد.
  • ++C طراحی شده‌است تا حداکثر تطابق با C وجود داشته باشد و یک انتقال راحت از C را ممکن سازد.
  • ++C از بکاربردن ویژگی‌های خاص که مانع از عمومی شدن است خودداری می‌نماید.
  • ++C از ویژگی‌هایی که بکار برده نمی‌شوند استفاده نمی‌کند.
  • ++C طراحی شده‌است تا بدون یک محیط پیچیده عمل نماید.


در سال ۱۹۹۸ استاندارد ++C شامل دو بخش هسته زبان و کتابخانه استاندارد ++C است. این کتابخانه شامل بیشتر بخش‌های STL و کتابخانه استاندارد C است. بیشتر کتابخانه‌های ++C در استاندارد وجود ندارند و یا استفاده از تعریف قابلیت پیوند کتابخانه‌ها را می‌توان در زبان‌هایی مانندفرترن، C، پاسکال، بیسیک نوشته شوند. البته با توجه به ویژگی‌های کامپایلر مشخص خواهد شد که کدام زبان را می‌توان استفاده نمود.

کتابخانه استاندارد ++C شامل کتابخانه استاندارد C با یک سری تغییرات برای بهبود عملکرد است. بخش بزرگ بعدی این کتابخانه STL است. STL شامل ابزار بسیار قدرتمندی مانند نگه‌دارنده‌ها (مانند vector و list)، تکرارکننده‌ها (اشاره‌گرهای عمومی شده) برای شبیه‌سازی دسترسی مانند آرایه الگوریتم‌هایی برای جستجو و مرتب‌سازی در آنها وجود دارند. نقشه‌ها (نقشه‌های چندگانه) (آرایه شرکت‌پذیر) و مجموعه‌ها (مجموعه‌های چندگانه) واسط‌های عمومی فراهم می‌سازند. در نتیجه با استفاده از قالب تابع، الگوریتم‌های جنریک با هر نگه‌دارنده و دارای تکرارکننده عمل نماید. همانند C ویژگی‌های کتابخانه را می‌توان با استفاده از شبه دستور include# شامل یک سرآیند استاندارد اضافه نمود. c دارای ۶۹ کتابخانه استاندارداست که ۱۹ تا از آنها نامناسب تشخیص داده شده‌اند.

استفاده از کتابخانه استاندارد - مانند std::vector یا std::string به جای آرایه‌های C- موجب ایجاد برنامه‌های مطمئن‌تر شده‌است.

STL در آغاز محصولی جداگانه از HP و سپس SGL پیش از ادغام در کتابخانه استاندارد ++C بوده‌است. استاندارد عبارت STL را بکار نمی‌برد بلکه آن را بخشی از کتابخانه می‌داند اما مردم هنوز هم آن را برای جداسازی بخش‌های مختلف کتابخانه با این نام بکار می‌برند. (جریان‌های ورودی/خروجی، جهانی‌سازی، تشخیص، زیرمجموعه کتابخانه C)

بیشتر کامپایلرها کتابخانه استاندارد و STL را پیاده‌سازی می‌نماید. پیاده‌سازی‌های مستقلی نیز همانند STLport نیر وجود دارند. پروژه‌های دیگر نیز پیاده‌سازی‌های خود را از STL با توجه به اهداف خود بوجود می‌آورند.

ویژگی‌های معرفی شده در ++C

در مقایسه با C زبان ++C ویژگی‌های جدیدی را معرفی نموده‌است مانند تعریف متغیر به عنوان عبارت، تغییر نوع‌های همانند تابع، new/حذف، نوع داده bool، توابع درون‌خطی، آرگومان پیشفرض، گرانبارسازی عملگر و تابع، فضای نام و عملگر تعیین حوزه ::، کلاس‌ها (شامل تمام ویژگی‌های مربوط به کلاس‌ها همانند وراثت، اعضای تابع، توابع مجازی، کلاس‌های انتزاعی، و سازنده‌ها)، قالب‌ها، پردازش استثناء، کنترل نوع زمان اجرا، عملگرهای سربار شده ورودی (<<) و خروجی (>>).

برخلاف باور عموم ++C نوع داده ثابت را معرفی ننموده‌است. کلمه const کمی پیش از استفاده از این کلمه در ++C توسط زبان C بصورت رسمی بکار گرفته شد.

در بعضی حالات ++C تعداد کنترل نوع بیشتری نسبت به زبان C انجام می‌دهد. (برای اطلاعات بیشتر بخش «ناهماهنگی با C» را در پایین ببینید)

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

بعضی ویژگی‌های ++C بعداً توسط C به کار گرفته شد مانند نحوه تعریف for، توضیحات به شکل ++C (با استفاده از //)، و کلمه inline با وجود اینکه تعریف این کلمه در C با تعریف آن در زبان ++C هماهنگی ندارد. همچنین در C ویژگی‌هایی معرفی شده‌است که در ++C وجود ندارند مانند ماکروهای قابل تغییر و استفاده بهتر از آرایه‌ها به عنوان آرگومان. بعضی کامپایلرها این ویژگی‌ها را پیاده نموده‌اند اما در بقیه این ویژگی‌ها موجب ناهماهنگی می‌گردد.

برنامه Hello World

برنامه زیر با استفاده از کتابخانه استاندارد و جریان‌های خروجی یک متن را به خروجی استاندارد ارسال می‌نماید.

# include <iostream> // provides std::cout
using namespace std;
 
int main(int argc, char *argv[])
{
    cout <<"Hello, world!
"; // prints "Hello world!"
    return 0;
}

ویژگی‌های زبان

عملگرها

به بخش عملگرهای سی و سی++ مراجعه نمایید

پیش پردازنده

++C بطور عمومی در سه فاز ترجمه می‌گردد: پیش‌پردازنده، ترجمه به کد object، پیوند (که دو مرحله آخر به عنوان عمل کامپایل شناخته می‌شود) در اولین مرحله در پیش‌پردازنده، شبه‌دستورات پیش‌پردازنده تغییرات لغوی بر روی کد منبع ایجاد می‌نمایند و آن را به مراحل دیگر تحویل می‌دهند.

شبه دستورات پیش‌پردازنده با استفاده از کاراکتر # قبل از هر گونه فضای خالی آغاز گشته و رشته‌هایی را در کد منبع با فایل یا رشته‌های دیگر با توجه به قوانین تعریف گشته توسط برنامه‌نویس جایگزین می‌نماید. این دستورات معمولاً اعمال زیر را انجام می‌دهند: جایگزینی ماکروها، شمول فایل‌های دیگر (برخلاف ویژگی سطح بالاتر مانند شمول ماجول‌ها/پکیج‌ها/یونیت‌ها/کامپوننت‌ها)، کامپایل شرطی و/یا شمول شرطی. به عنوان مثال:

# include <iostream>

که این دستور تمام سمبل‌ها در فایل سرایند کتابخانه استاندارد iostream را در فایل منبع وارد می‌سازد.

کاربرد معمول دیگر به عنوان ماکرو خوانده می‌شود:

# define MY_ASSERT(x) assert(x)

که کد (MY_ASSERT(x را با (assert(x در فایل منبع جایگزین می‌نماید؛ که این جایگزینی امکان کنترل استفاده از این تابع را در اختیار برنامه‌نویس قرار می‌دهد.

استفاده از ماکروها در عمل چندان توصیه نمی‌گردد چرا که امکان کنترل نوع آرگومان‌ها را از بین برده در نتیجه ممکن است اشتباهاتی را وارد کد منبع نماید. طریقه دیگر برای انجام این کار استفاده از توابع درون‌خطی است.

علاوه بر شبه‌دستورات معمول تعدادی شبه دستور برای کنترل جریان کامپایل وجود دارد که امکان شمول یا عدم‌شمول قطعه‌ای کد یا سایر ویژگی‌های کامپایل را در اختیار ما قرار می‌دهد.

دستورات پیش‌پردازنده برای کاربردهای عددی نیز به کار می‌رود که هم‌اکنون استفاده از const به جای #define ترجیح داده می‌شود. این کار علاوه بر ایجاد کنترل نوع قوی مانع از گمراهی در فضاهای نام می‌گردد.

هدف کمیته استانداردسازی از بین بردن پیش‌پردازنده‌است اما با توجه به خصوصیت مدولار ++C بعید به نظر می‌آید که این حذف امکان‌پذیر باشد.

قالب‌ها

قالب‌ها متفاوت با ماکروها هستند. در حالی که از هر دوی این ویژگی‌ها در زمان کامپایل برای ایجاد کامپایل شرطی استفاده می‌شوند قالب‌ها محدود به تغییرات لغوی و متنی نیستند. قالب‌ها با آگاهی از معنا و سیستم نوع در زبان استفاده شده و سایر ویژگی‌های زمان کامپایل می‌توانند از عملیات سطح بالا برای کنترل ترتیب اجرا براساس نوع پارامترها استفاده نمایند. ماکروها کنترل خود را بر کامپایل از طریق ویژگی‌های از پیش تعیین شده انجام می‌دهند ولی قادر به ایجاد انواع جدید و کنترل نوع نیستند و فقط محدود به تغییرات متنی پیش از کامپایل هستند. به زبان دیگر ماکروها کنترل خود را با استفاده از نشانه‌های از پیش تعیین شده انجام می‌دهند اما همانند قالب‌ها نمی‌توانند نشانه‌ها را خود ایجاد نمایند. قالب‌ها ابزاری برای چندریختی ایستا و برنامه‌نویسی جنریک است. مثلاً جایگزین معادل با استفاده از قالب‌ها برای عبارت خطرناک #define max(x, y) ((x)> (y) ? (x) : (y)) در پایین نشان داده شده‌است.

template <typename T>
const T& max(const T& x, const T& y)
{
    return x> y ? x : y;
}

این قالب در سرآیند algorithm تحت عنوان std::max() قابل دسترسی است. معمولاً می‌توان از کلمه کلیدی class بجای typename استفاده کرد.

علاوه بر این قالب‌ها یک ویژگی تورینگ-کامل هستند که به این معناست که هر برنامه قابل محاسبه توسط کامپیوتر را می‌توان با استفاده از فرابرنامه‌نویسی قالب‌ها نوشت.

بطور خلاصه استفاده از قالب‌ها به معنای نوشتن هر تابع یا کلاس بااستفاده از تمامی انواعِ ممکن است، که نوع آن را پیش از کامپایل در قالب معین نمی‌کنیم.

اشیاء

سی++ چندین ویژگی شی‌گرا را زبان سی معرفی نمود معرفی کلاس چهار ویژگی که در زبان‌های شی‌گرا و بعضاً غیر شی‌گرا حضور دارد یعنی انتزاع، بسته‌بندی، وراثت، و چندریختی را فراهم کرد. اشیاء نمونه‌های ساخته شده از کلاس در زمان اجرا هستند. می‌توان کلاس را نمونه‌ای از قالب‌ها دانست که چندین مورد از آنها بوجود می‌آید.

بسته‌بندی

بسته‌بندی به معنای جمع‌آوری عملیات و داده در یک محل می‌باشد. سی++ بسته‌بندی را با ایجاد امکان تعریف هر کلاس به صورت public، private، protected پیاده‌سازی نموده‌است. اعضای private فقط توسط اعضای کلاس و یا کلاس‌ها دقیقاً بیان شده (friend) قابل دسترسی هستند. اعضای protected توسط کلاس‌های ارث برده شده و اعضای کلاس و کلاس‌های friend قابل دسترسی هستند.

در تعاریف شی‌گرا باید تنها توابعی بسته‌بندی گردند که باید از نحوه پیاده‌سازی این نوع بخصوص اطلاع داشته باشد. سی++ این ویژگی را با استفاده از توابع عضو و توابع دوست فراهم نموده اما قطعی نکرده‌است. در سی++ این امکان وجود دارد که تمام نوع را عمومی تعریف نمایند اما در صورتی که نیاز باشد فقط بخشی از آن عمومی گردد در نتیجه این زبان نه تنها شی‌گرا است بلکه از مدل‌های ضعیف‌تر همانند برنامه‌نویسی مدولار پشتیبانی می‌نماید.

عموماً توصیه بر این است که تمام اعضا به صورت خصوصی یا حفاظت شده تبدیل گردند و فقط توابعی که باید توسط دیگر کلاس‌ها به عنوان واسط استفاده شوند عمومی باقی بمانند.

وراثت

وراثت این امکان را ایجاد می‌کند که یک نوع ویژگی دیگر انواع را داشته باشد. وراثت از یک کلاس پایه می‌تواند عمومی، خصوصی یا حفاظت شده باشد. این تعیین سطح دسترسی مشخص می‌سازد آیا کلاس‌های نامربوط و یا مشتق شده می‌توانند به اعضای عمومی یا حفاظت شده کلاس پایه دسترسی داشته باشند. تنها وراثت عمومی به معنای وراثت به کار رفته بصورت عموم است. دو نوع دیگر وراثت به ندرت مورد استفاده قرار می‌گیرند. اگر تعیین‌کننده سطح دسترسی حذف شود سطح دسترسی برای کلاس خصوصی و برای ساختمان به صورت عمومی تعریف می‌گردد. کلاس‌های پایه ممکن است بصورت مجازی تعریف شوند که به آن وراثت مجازی گویند. وراثت مجازی تضمین می‌کند که فقط یک نمونه از کلاس پایه وجود داشته باشد و مشکلاتی همانند مشکلات وراثت چندگانه بوجود نیاید.

وراثت چندگانه یکی از ویژگی‌های مورد بحث در سی++ است. وراثت چندگانه امکان اشتقاق از چند کلاس پایه را فراهم می‌نماید که موجب بوجود آمدن گراف رابطه وراثت بسیار پیچیده‌است. به عنوان مثال «گربه پرنده» می‌تواند از کلاس «گربه» و کلاس «پستانداران پرنده» ارث برد. در زبان‌های دیگر مانند سی‌شارپ و جاوا به صورت دیگری ویژگی مشابه را پیاده‌سازی می‌نماید هر کلاس می‌تواند از چندین واسط اشتقاق یابد اما فقط یک کلاس پایه برای اشتقاق وجود دارد (واسط‌ها برخلاف کلاس پایه فقط تعریف هستند و هیچ‌گونه پیاده‌سازی را شامل نمی‌گردند).

چندریختی

امکان استفاده از یک واسط برای چندین پیاده‌سازی فراهم می‌نماید و اشیاء در شرایط مختلف رفتار مختلفی از خود نشان می‌دهند.

سی++ دو نوع چندریختی در اختیار برنامه‌نویس قرار می‌دهد: چندریختی زمان کامپایل و چندریختی زمان اجرا. چندریختی زمان کامپایل امکان تصمیم‌گیری‌های زمان اجرا را فراهم نمی‌سازد و چندریختی زمان اجرا اغلب موجب پایین آمدن بازدهی می‌گردد.

چندریختی ایستا

چندریختی ایستا شامل گرانبارسازی تابع، گرانبارسازی عملگر، آرگومان پیش‌فرض، و قالب کلاس‌ها و تابع است.

چندریختی پویا

چندریختی پویا شامل وراثت و توابع مجازی عضو است.

گرانبارسازی تابع

گرانبارسازی تابع امکان تعریف چندین تابع با نام یکسان اما با تعداد آرگومان‌های متفاوت را فراهم می‌سازد. این توابع از طریق تعداد پارامترها یا نوع رسمی آنها شناسایی می‌گردند. در نتیجه یک تابع ممکن است با توجه به موقعیت استفاده معنای مختلفی داشته باشد. نوع داده برگشتی برای تشخیص توابع از یکدیگر مورد استفاده قرار نمی‌گیرد.

گرانبارسازی عملگر

بطور مشابه گرانبارسازی عملگر امکان استفاده از یک عملگر مشخص می‌شود که عملکرد متفاوتی با توجه به عملوندهای خود دارد. این عملگرهای گرانبار شده موجب فراخوانی تابع مشخصی متناسب با آن موقعیت می‌گردند. گرانبارسازی عملگر ترتیب اجرا یا تعداد عملوندهای یک عملگر را تغییر نمی‌دهد. عملگرهای . :: .* ? نمی‌توانند گرانبار شوند.

آرگومان پیش‌فرض

آرگومان پیش‌فرض در شرایطی به کار می‌رود که تعیین یک مقدار مشخص برای یک آرگومان نیاز به تعریف یک تابع جدید را برطرف می‌سازد. هنگام استفاده از این مشخصه باید دقت شود که تابع‌های گرانبار شده و تابع‌های دارای آرگومان پیش‌فرض با یکدیگر تداخل نداشته باشند به عنوان مثال:

// function with default argument but also an overloaded function
int strcpy(char *str1, char *str2, short unsigned n=65535);
// second overloaded function
int strcpy(char *str1, char *str2);

کد بالا در صورت استفاده از یک آرگومان n برای strcpy درست کامپایل می‌گردد اما اگر آرگومانی تعیین نگردد درست عمل نخواهد کرد. چرا که کامپایلر نخواهد دانست که باید از مقدار پیش‌فرض استفاده نماید یا از تابع بدون آرگومان.

ساختار برنامه‌ه

ساختار برنامه‌ها در این زبان بدین صورت است که همانند زبان سی، هر برنامه بایستی یک تابع اصلی (main) به عنوان بدنه برنامه داشته باشد. هر برنامه معمولاً از تعداد زیادی فایل تشکیل می‌شود که به هم الحاق می‌گردند (با دستور include) و به این فایل‌های الحاقی، سرآیند (Header) گفته می‌شود. فایل‌های الحاقی حاوی کدها یا نسخه‌های اجرایی کلاس‌ها (مجموعه متغیرها و توابع) می‌باشند که در بدنه اصلی برنامه از آنها استفاده می‌شود. معمولاً هر کلاس (که تعریف یک نوع داده‌ای با متدهای مربوط به آن است) را در یک سرآیند می‌نویسند. هر سرآیند که معمولاً تنها تعاریف (معرفی) کلاس را در خود دارد به همراه فایل‌های پیاده‌سازی به زبان ++C یا پیاده‌سازی‌های کامپایل شده (به صورت فایل اشیاء مانند dll یا so یا ...) می‌تواند به کار برده شود. به مجموعه‌های یکپارچه‌ای از کلاس‌های پیاده‌سازی شده (به صورت فایل‌های سرآیند با پیاده‌سازی‌های کد یا اشیای زبان ماشین) که برای برنامه نویسی به کار می‌روند، یک کتابخانه ++C گفته می‌شود و قدرت اصلی این زبان در امکان به کارگیری کتابخانه‌های آماده می‌باشد. کتابخانه‌های بزرگ ++C مانند STL، MFC، QT و ... مجموعه قدرتمندی برای تولید برنامه در این زبان ایجاد کرده‌اند.

آرامwww.boysecomputerchoram.loxblog.comآرام



:: بازدید از این مطلب : 38
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : سه شنبه 19 خرداد 1394
.

سی شارپ

 

زبان سی شارپ، یک زبان برنامه‌نویسی چند الگویی و است و منظم شده مدل‌های تابعی، امری، عمومی، شیءگرا و جز گرا و در بستر دات نت می‌باشد. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA و ISO را نیز در بر گرفت. سی شارپ یکی از ۴۴ زبان برنامه‌نویسی است که توسط زمان اجرای زبان مشترک از چارچوب دات‌نت پشتیبانی می‌شوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته می‌شود.

زبان سی شارپ با قدرت و در عین حال سطح بالایی خود توانسته توجه بسیاری از برنامه نویسان را به خود جلب کند.

این زبان برپایه سادگی، مدرن بودن، همه منظوره و شیءگرا بودن ساخته شد. آندرس هجلزبرگ، طراح زبان برنامه‌نویسی دلفی، سرپرستی تیم طراحان زبان سی شارپ را بر عهده داشت. این زبان دارای دستوری شیءگرا مشابه ++C است و به شدت از زبان‌های جاوا و دلفینیازمندمدرک تاثیر پذیرفته‌است. در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در ژوئیه ۲۰۰۰، زمانی که مایکروسافت پروژه را عمومی اعلام کرد، اسم آن به سی شارپ تغییر پیدا کرد. آخرین نسخه آن نسخه ۵٫۰ است که همزمان با دات‌نت ۴٫۵ در آگوست ۲۰۱۲ منتشر شد.

 

اهداف طراحی زبان

  • استاندارد ECMA این اهداف طراحی زبان را برای سی شارپ بر آورده می‌سازد:
  • سی شارپ یک زبان برنامه‌سازی ساده، مدرن، برای اهداف عمومی و شیءگرا است.
  • به دلیل اهمیت داشتن موضوع نیرومندی و دوام و بهره‌وری برنامه‌نویس، زبان دارای چک‌کننده Strong Type، چک‌کننده مرزهای آرایه، تشخیص حالت‌هایی که یک متغیر مقداردهی اولیه نشده‌است، قابلیت انتقال کدها و Garbage Collection خودکار است.
  • این زبان برای استفاده در اجزای توسعه نرم‌افزار برای دستیابی به مزایای سامانه‌های توزیعی در نظر گرفته شده‌است.
  • قابلیت انتقال برنامه‌نویس بسیار مهم است، خصوصاً برای آن دسته از برنامه‌نویسانی که با زبان‌های C و C++ آشنا هستند.
  • پشتیبانی از این زبان برای بین‌المللی شدن بسیار مهم است.
  • زبان سی شارپ برای نوشتن برنامه‌ها برای سامانه‌های تعبیه شده و میزبان در نظر گرفته شده‌است، سیستم‌عامل‌های پیچیده بسیار بزرگ گرفته تا توابع اختصاصی بسیار کوچک.
  • هر چند برنامه‌های نوشته شده با سی شارپ طوری هستند که از لحاظ حافظه و پردازنده مورد نیاز مقرون به صرفه باشند، ولی خود زبان از لحاظ اندازه و کارایی به خوبی زبان‌های C و اسمبلی نیست.

تاریخچه

در سال ۱۹۹۹، شرکت سان اجازه استفاده از زبان برنامه‌نویسی جاوا را در اختیار ماکروسافت قرار داد تا در سیستم‌عامل خود از آن استفاده کند. جاوا در اصل به هیچ پلت فرم یا سیستم‌عاملی وابسته نبود، ولی ماکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستم‌عامل بودن جاوا را از آن برداشت. شرکت سان پرونده‌ای علیه ماکروسافت درست کرد و ماکروسافت مجبور شد تا زبان شیءگرای جدیدی با کامپایل جدید که به ++C شبیه بود را درست کند. در طول ساخت دات نت، کلاس‌های کتابخانه‌ای با زبان و کامپایلر SMC نوشته شدند. در سال ۱۹۹۹ آندرس هلزبرگ گروهی را برای طراحی زبانی جدید تشکیل داد که در آن زمان نامش Cool بود و همانند C بود با خواص شیءگرایی. ماکروسافت در نظر داشت اسم این زبان را تا آخر Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در ارائه و معرفی رسمی چارچوب دات‌نت در PDC در سال ۲۰۰۰ این زبان به سی شارپ تغییر نام یافت و کتابخانه کلاس‌ها و runtime در ای‌اس‌پی‌دات‌نت به سی شارپ منتقل شدند. مدیر و سرپرست طراحان در ماکروسافت آندرس هلزبرگ بود که تجربه قبلی او در طراحی Framework و زبان‌های برنامه سازی++Borland، دلفی (شهر)، Turbo Pascal، ویژوال سی++ به آسانی در دستورالعمل‌های سی شارپ قابل رویت است و به همان خوبی در هسته CLR.

ویژگی‌ها

برخی از تفاوت‌های زبان سی شارپ با C و ++C عبارتند از:

  • هیچ تابع یا متغیر سراسری(Global) وجود ندارد، تمام متدها و اعضا بایستی در داخل کلاس‌ها تعریف شوند. این امر ممکن است، هر چند برای استفاده از متغیرها و توابع عمومی باید از متدها و متغیرها در کلاس‌های عمومی استفاده کرد.
  • متغیرهای عمومی، بر خلاف C و ++C، نمی‌توانند بلاک‌های پیوستی را در بر بگیرند.
  • سی شارپ دارای یک نوع داده بولی است (bool). برخی از عبارت‌ها مانند while و if که شرطی هستند، نیازمند یک عبارت نوع بولی هستند. همان طور که ++C نیز دارای نوع داده بولی است، این نوع داده به راحتی می‌تواند به یا از Integerها تبدیل شود، و عبارتی مانند (if(a نیازمند این امر است که a از یک نوع قابل تبدیل به bool یا اشاره گر باشد. کامپایلر سی شارپ برنامه نویس را در این شرایط مجبور به استفاده از عباراتی می‌کند که به درستی یک مقدار bool را برمی‌گردانند؛ بنابراین دستوری مانند (if(a = b باعث بروز خطا می‌شوند.(به جای = بایستی از == استفاده شود)
  • در سی شارپ، اشاره گرهای به حافظه بایستی فقط در داخل بلوکهای unsafe استفاده شوند و برنامه در این حالت برای اجرا نیاز به اجازه از کاربر دارد. بیشتر دسترسی شی از طریق شی امن است که یا همیشه در حال اشاره به شی صحیح موجود است یا یک مقدار Null دارد. اشاره گری به شی به درد نخور یا بلاک حافظه رندم غیر ممکن است. اشاره گر نا امن می‌تواند به نمونه‌ای از value-type، آرایه، رشته یا بلاکی که حافظه به آن داده شده‌است اشاره نماید. کدی که به عنوان نا امن علامت نخورده باشد، هنوز می‌تواند اشاره گرها را از سامانه بازیابی یا در آن ذخیره کند ولی نمی‌تواند مرجع جدیدی به آنها اختصاص دهد.
  • حافظه ساماندهی شده نمی‌تواند صریحاً آزاد شود، ولی به طور خودکار به عنوان به درد نخور تلقی می‌شود. انتخاب آدرس‌های به درد نخور حافظه نفوذ ناپذیر است. هم چنین سی شارپ با استفاده از عبارات، پشتیبانی مستقیمی از پایان اجباری می‌کند (پشتیبانی از اصطلاح Resource Acquisition Is Initialization).
  • وراثت چندگانه از کلاس‌ها در این زبان پشتیبانی نمی‌شود. البته یک کلاس امکان ارث بری از تعداد نامحدود واسط‌ها را دارد. پشتیبانی نکردن از وراثت چندگانه به دلیل اهداف معماری این زبان در CLI و برای جلوگیری از پیچیدگی است. در عوض می‌توان از اینترفیس‌های مختلف استفاده کرد. یعنی برای یک کلاس که احتمالاً فرزند کلاسی دیگر است (ارث برده) می‌توان چندین اینترفیس را پیاده‌سازی (Implement) نمود.
  • سی شارپ بسیار typesafe تر از C++ است. تنها تبدیلات ضمنی مثل تبدیل نوع داده کوچکتر به بزرگتر یا تبدیل نوع مشتق شده به نوع پایه به طور پیش فرض و بدون خطا صورت می‌پذیرد. هیچ تبدیل ضمنی ای میانBooleanها و Integerها وجود ندارد و هر تبدیل user-defined بایستی به صراحت با یکی از کلمات explicit یا implicit نشانه گذاری شود. تبدیل b به a در حالتی که a یک Integer و b یک double باشد در زبان C++ مجاز است اما در سی شارپ به یک خطای زمان کامپایل منجر می‌شود (بایستی به صورت explicit تعریف شود)
  • اعضای Enumeration در داخل محدوده شخصی خود قرار دارند.
  • سی شارپ قابلیت syntactic sugar را برای توابع متداول، اکسسورها و ماجول‌های کسول شده در یک کلاس به صورت ویژگی‌ها قرار داده‌است.

اکسسورها که خاصیت نیز گفته می‌شوند در زبان سی شارپ قادر به کنترل دسترسی اعضا و معتبرسازی داده‌ها هستند.

  • تمام انواع بازتابی(Reflection) و بازیابی(Recovery) قابل استفاده‌است.
  • در حال حاضر (۳ ژوئن ۲۰۰۸) دارای ۷۷ کلمه رزرو شده‌است.

ساختمان داده (ساختار و ذخیر سازی داده)

این کمپایلر در مقابل C یا ++C دارای ساختار بسیار متفاوتی است که دانستن آن به برنامه نویس امکان نوشتن برنامه‌های بسیار بهینه را خواهد داد.

رشته‌ها

در C و یا ++C ساختار رشته به صورت ارایه‌ای از نوع char بود که امکان اضافه کردن به رشته را محدود می‌کرد به دلیل ثابت بودن طول در آغاز تعریف ولی در سی شارپ دو نوع متفاوت رشته وجود دارد؛ که یکی به صورت ارایه‌ای با طول ثابت ۲۵۶(در عمل ۲۵۵)موجوداست (به صورت پیش فرض) و در صورتی که با کمبود جا روبرو شود فضای جدید (بزرگتر) یافته و به ان انتقال می‌دهد؛ ولی در نوع دوم رشته‌ها از لیست پیوندی اسفاده می‌شود.

سامانه یکپارچه شده

سی شارپ دارای یک سامانه نوع یکپارچه‌است که به آن CTS می‌گویند. این بدان معناست که تمام انواع، شامل موارد اصلی مانند Integerها، مشتق شده از System.Object هستند. به عنوان مثال، هر نوع یک متد به نام ToString() را به ارث می‌برد. بخاطر کارائی، انواع اولیه (و انواع مقداری) به طور داخلی فضایی برای آنها بر روی پشته در نظر گرفته می‌شود.

انواع داده

CTS داده‌ها را به دو نوع تقسیم می‌کند:

  • نوع مقداری (Value Type)
  • نوع مرجعی (Refrence Type)

انواع داده‌ای توده ساده‌ای از داده می‌باشند. نمونه‌های انواع داده‌ای نه هویت مرجعی دارند و نه مفاهیم مقایسه مراجع را. برای مقایسه برابری یا عدم برابری انواع داده‌ای، خود مقدار داده‌ها را با یکدیگر مقایسه می‌کنیم مگر اینکه عملگرهای مشابه دوباره تعریف شده باشند. مقادیر داده‌های مرجعی همیشه یک مقدار پیش فرض دارند و همیشه می‌توانند ایجاد و یا کپی شوند. یکی دیگر از محدودیت‌های انواع داده‌ای این ات که آنها نمی‌توانند از یکدیگر مشتق شوند (ولی می‌توانند اشتراکاتی داشته باشند) و هم چنین نمی‌توانند در سازنده مقدار دهی اولیه شوند. مثالی از انواع داده‌ای، بعضی از انواع اولیه مانند int و float و char و System.DateTime می‌باشند. در مقابل، انواع مرجعی مفهوم تعریف مرجعی را دارند (که در آن هر نمونه از نوع مرجع، به طور ذاتی از دیگر نمونه‌ها جدا می‌شود، حتی اگر داده هر دو نمونه یکی باشد). این دقیقاً نمونه مشابه مقایسه تساوی یا عدم تساوی داده‌های مرجعی است، که در آن آزمایش برای مرجع‌ها از داده‌ای‌ها سریع تر است. در کل نه همیشه امکان تعریف نمونه مرجعی وجود دارد و نه امکان کپی یا نمایش مقادیر مقایسه دو نمونه؛ ولی به هر حال انواع مرجعی خاص می‌توانند این اعمال را از طریق سازنده‌های عمومی یا اجرای واسط‌های مشابه (مثل ICloneable یا IComparable) انجام دهند. نمونه‌هایی از انواع مرجعی، اشیا، System.String و Sysmet.Array می‌باشند. هر دو نوع داده قابلیت انعطاف توسط تعریف به وسیله کاربر را دارند. در واقع وقتی ما نوع داده‌ای را به تابع ای ارسال می‌کنیم، آدرس داده نیز فرستاده می‌شود. البته این امر پیش فرض است ولی برای داده‌های مثل آرایه، رشته‌ای، ادرس فرستاده می‌شود و ارسال از نوع مرجع می‌شود



:: بازدید از این مطلب : 76
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : سه شنبه 19 خرداد 1394
.

ملوان زبل در برزیل

ارلیندو د سوزا اسم مردی است که جان خود را به خطر انداخته وریسک تزریق الکل را به بدن و ماهیچه های خود پذیرفته است تا عضلات خود را بزرگ کند.

او یک بدنساز اهل برزیل است که ریسک تزریق این مواد را قبول کرده است چون بسیاری از کسانی که این کار را کرده […]

 
article-0-1C2A3E9600000578-854_634x486

ارلیندو د سوزا اسم مردی است که جان خود را به خطر انداخته وریسک تزریق الکل را به بدن و ماهیچه های خود پذیرفته است تا عضلات خود را بزرگ کند.

او یک بدنساز اهل برزیل است که ریسک تزریق این مواد را قبول کرده است چون بسیاری از کسانی که این کار را کرده اند جان خود را از دست داده اند.

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

ارلیندو د سوزا ۴۳ سال سن دارد و در شهر بندری اولیندا در کشور برزیل زندگی میکند.

ارلیندو میگوید که در روزهای اول تزریق مرگ را واقعا احساس میکردم ولی به مرور بهتر شد ولی هنوز هم به حالت عادی خود برنگشتم.

او میگوید من این کار رو به هیچ کس توصیه نمی کنم چون مرگ در این کار درصدش حدود ۵۰ درصد است.

 

article-2577998-1C2A3F2600000578-163_634x493article-0-1C2A3E8200000578-879_634x670

 



:: بازدید از این مطلب : 72
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : سه شنبه 19 خرداد 1394
.


:: بازدید از این مطلب : 59
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : سه شنبه 19 خرداد 1394
.

جدیدترین فیلم های سینمایی



:: بازدید از این مطلب : 64
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : دو شنبه 18 خرداد 1394
.

زمان ثبت نام و برگزاری کنکور کاردانی فنی و حرفه ای سال ۱۳۹۴

 

 

 

 

زمان ثبت نان و برگزاری کنکور کاردانی فنی و حرفه ای

دکتر توکلی مشاور عالی سازمان سنجش درباره آزمون کاردانی نظام جدید گفت :

زمان ثبت نام آزمون کاردانی نظام جدید دانشگاه فنی حرفه ای و موسسات آموزش عالی غیردولتی و غیرانتفاعی در روزهای ۱۳ تا ۲۰ اردیبهشت ماه ۹۴ خواهد بود

و آزمون در صبح روز جمعه ۱۶ مردادماه ۹۴ برگزار می شود.

 

نام آزمون

زمان ثبت نام زمان برگزاری آزمون
کاردانی فنی و حرفه ای ۱۳ تا ۲۰ اردیبهشت ۹۴

صبح روز ۱۶ مرداد ۹۴

 

 

هنرستانی عزیز هرچه سریعتر درس خواندن برای کنکور را شروع کنید زمان در حال گذر است و ما هرلحظه به کنکور ۹۴ هنرستان نزدیک تر می شویم.گریه



:: بازدید از این مطلب : 61
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : دو شنبه 18 خرداد 1394
.

آموزش تصویری و گام به گام نصب ویندوز 7

اگر برای نخستین بار است که ویندوز ۷ را روی سیستم خود نصب می کنید باید یک سری موارد را مد نظر قرار دهید که در زیر به آن اشاره خواهد شد.

سیستم مورد نیاز برای نصب ویندوز هفت

- پردازنده ای (CPU) با قدرت دست کم  ۱ گیگاهرتز (۳۲ و ۶۴ بیتی) 
- 1 گیگا بایت حافظه سیستم(RAM)
- 16 گیگابایت فضای مورد نیاز برای ذخیره در هارد دیسک
- کارت گرافیکی با قدرت دست کم  ۱۲۸ مگابایت
- درایو نوری  DVD

نگارش ۳۲ بیتی یا ۶۴ بیتی را نصب کنم؟

در این گام تصمیم با  شماست که بخواهید کدام سیستم(  ۳۲ یا ۶۴ بیتی )را نصب نماید. برخی از دیسک های نصب و راه اندازی ویندوز ۷  شامل هر دو نسخه ۳۲ بیتی و ۶۴ بیتی از ویندوز ۷ است. در واقع، نسخه ۶۴ بیتی ویندوز۷  مقدار زیادی از حافظه سیستم (RAM) را به طور موثرتر از سیستم های ۳۲ بیتی به کار میگیرد. بنابراین اگر سیستم شما دارای ۳ گیگا بایت حافظه رم  می باشد نصب  نسخه  ۶۴ بیتی میتواند بهترین انتخاب باشد.  بیشتر برنامه های طراحی شده برای نسخه های ۳۲ بیتی در نسخه ۶۴ بیتی نیز به درستی کار می کنند. و اگر با برخی از نرم افزارها  مشکل داشتید می توانید از گزینه XP Mode استفاده کنید.

- برای مطالعه بیشتر به ادامه مطلب رجوع نمایید...

روش نصب Windows 7
در اين قسمت با روش نصب و استفاده از Windows 7 آشنا مي‌شويد. در ابتدا مي‌خواهيم روش نصب اين نسخه از ويندوز را ياد بگيريم. روش نصب اين نسخه از ويندوز نسبت به نسخه‌هاي قبلي آن بسيار ساده و راحت مي‌باشد. در ابتدا بايد کامپيوتر خود را روشن کرده و DVD مربوط به نصب سيستم عامل Windows 7 را در DVD Drive خود قرار دهيد. بر روي جعبه يا Case کامپيوتر دو دکمه وجود دارد که يکي دکمه روشن کردن و ديگري دکمه Restart يا راه اندازي مجدد است. زماني که کامپيوتر خاموش است با فشردن دکمه Restart هيچ اتفاقي نمي‌افتد ولي با فشردن دکمه روشن کردن کامپيوتر، کامپيوتر روشن شده و يک چراغ که معمولاً قرمز است روشن مي‌شود.

در Mother Board‌های جدید گزینه‌ای با نام Boot وجود دارد که می‌توانید آن را انتخاب کنید. سپس با فلش‌های جهت دار بر روی گزینه اول رفته و کلید Enter را فشار دهید. از لیست نمایان شده CD-ROM را انتخاب کنید. برخی از Mother Board‌ها در این قسمت نام CD-ROM شما را نشان می‌دهند. مثلاً اگر شما از مدل ASUS استفاده می‌کنید این نام را مشاهده خواهید کرد. در صورتی که در گزینه‌های پائینی نام CD-ROM شما انتخاب شده است می‌توانید با استفاده از کلید‌های “+” یا “-“ صفحه کلید ترتیب قرار گیری آنها را تغییر دهید. توجه داشته باشید که برای نصب ویندوز حتماً باید CD-ROM در اولین گزینه قرار گیرد.

پس از اعمال این تغییرات کلید F10 را فشار داده و با انتخاب گزینه Y تغییرات اعمال شده را ذخیره کنید.

اکنون کامپيوتر را روشن کرده و DVD نصب Windows 7 را در DVD Drive قرار داده‌ايم.

سیستم را مجدداً Restart کنید و پس از نمایان شدن کلید Press any Key … یکی از کلید‌های صفحه کلید را فشار دهید تا سیستم از طریق سی دی Boot شود. در صورتي که در زمان مناسب اين کار را انجام ندهيد اين پيغام حذف شده و کامپيوتر از روي هارد ديسک يا شبکه بالا مي‌آيد،
(Boot مي‌شود) و براي ديدن دوباره اين پيغام بايد کامپيوتر را Restart کنيد. 
اکنون يک کليد از صفحه کليد را فشار دهيد تا برنامه نصب از روي DVD شروع به کار کند.

ملاحضه میکنید که ویندوز شروع به بارگذاری اطلاعات برای نصب ویندوز میکند. مانند تصویر زیر :

برنامه نصب شروع به کار مي کند و بايد منتظر باشيد، تا صفحه زير ظاهر شود.

در این قسمت شما باید تنظیمات مربوط به زبان نصب ویندوز؛ و زبان محلی کشور را انجام دهید.

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

گزینه دوم : زبان محلی کشور را سؤال می کند می توانید به دلخواه ایران یا هر کشوری را که دوست دارید انتخاب کنید.

گزینه سوم : تنظیم زبان کشور میباشد بصورت دلخواه فارسی یا انگلیسی را انتخاب کنید. (اگر می خواهید در کنار زبان انگلیسی فارسی را هم پشتیبانی کند روی Persian تنظیم کنید).

روي دکمه Next کليک کنيد.

در این مرحله با فشردن دکمه Install now وارد مرحله بعدی می شوید .


در اين قسمت بايد نسخه‌اي از سيستم عامل Windows 7 که مي خواهيم نصب کنيم را انتخاب نمائيد. نسخه Ultimate شامل تمامي ويژگيهاي موجود در ويندوز است. در اين نرم افزار آموزشي اين نسخه را مي‌خواهيم نصب کنيم. نسخه Ultimate براساس دو معماري x86 (32 بيتي) و x64 (64بيتي) قابل نصب است. عبارت 32 بيتي و 64 بيتي اشاره به معماري پردازشگر (CPU) کامپيوتر شما دارد. مزيت نسخه 64 بيتي در سرعت بيشتر آن و توانايي استفاده از حافظه بيشتر است. در نسخه 32 بيتي فقط دو گيگ از حافظه نصب شده در کامپيوتر شما قابل دسترس خواهد بود. در اين نرم‌افزار آموزشي نسخه 64 بيتي را مي‌خواهيم نصب کنيم. 
روي گزينه Windows 7 Ultimate X64 کليک کنيد. 
روي دکمه Next کليک کنيد. 


در اين قسمت قوانين نحوه استفاده از Windows 7 نوشته شده است. 
روي گزينهI accept the license terms که نشان دهنده خواندن و قبول داشتن اين قوانين است کليک کنيد. 
روي دکمه Next کليک کنيد.


تعیین روش نصب Windows 7
اکنون بايد نوع روش نصب را تعيين کنيد. در صورتيکه مي خواهيد نسخه قبلي ويندوز که در کامپيوتر شما نصب شده است به Windows 7 ارتقاء پيدا کند گزينه اول را انتخاب نمائيد. اين گزينه فقط زماني در دسترس هست که يک نسخه از ويندوز در کامپيوتر شما نصب شده باشد. 
با انتخاب گزينه دوم يک نسخه جديد از ويندوز بر روي کامپيوتر شما نصب مي‌شود.
توجه : در صورتيکه مي‌خواهيد دو نسخه از ويندوز مثلاً Vista و 7 را در کنار يکديگر داشته باشيد بايد اين گزينه را انتخاب کنيد. 
در هر دو حالت فوق هيچ فايلي از روي کامپيوتر شما پاک نمي‌شود ولي پيشنهاد مي‌شود که از فايلهاي خود پشتيبان تهيه کنيد. 
روي گزينه Custom (advanced) کليک کنيد.


تعیین پارتیشن
اکنون بايد پارتيشني از هارد ديسک که در آن ويندوز نصب مي‌شود را انتخاب کنيد. در اين مثال سه پارتيشن وجود دارد. در صورتيکه چندين پارتيشن داشته باشيد مي‌توانيد پارتيشن مورد نظر خود را انتخاب کنيد. 
توجه : در صورتيکه مي‌خواهيد دو نسخه از ويندوز مثلاً Vista و 7 را در کنار يکديگر داشته باشيد بايد پارتيشني را انتخاب کنيد که در آن ويندوز نصب نشده باشد. در صورتيکه پارتيشني را انتخاب کنيد که در آن ويندوز نصب شده باشد تمامي فايلهاي مربوط به نسخه قبلي ويندوز در شاخه windows.old ذخيره شده و نسخه جديد نصب مي‌شود و ديگر در زمان روشن کردن کامپيوتر امکان انتخاب نسخه قبلي ويندوز را نخواهيد داشت. 
روي گزينه Drive options(advanced) کليک کنيد. 


در اين قسمت يک سري گزينه جهت ايجاد، حذف، ادغام و فرمت کردن پارتيشن ها نمايش داده شده است. در صورتيکه بخواهيد اطلاعات يک پارتيشن را پاک کنيد ابتدا بر روي پارتيشن مورد نظر از ليست بالا کليک کرده و سپس روي گزينه Format کليک کنيد. توجه کنيد که با فرمت کردن يک پارتيشن تمامي اطلاعات موجود در آن پاک شده و ديگر قابل دسترس نيست. با کليک بر روي گزينه Delete پارتيشن انتخاب شده حذف 
مي شود و با کليک بر روي دکمه New يک پارتيشن جديد مي توانيد ايجاد کنيد. توجه کنيد که در صورتيکه يک پارتيشني را حذف کنيد تمامي اطلاعات موجود بر روي آن پاک مي شود! 
در صورتيکه با مفاهيم فرمت و پارتيشن که در بخشهاي بعدي اين نرم افزار آموزشي تدريس خواهد شد آشنا نيستيد بهتر است که با اين گزينه ها کار نکنيد. 
روي دکمه Next کليک کنيد.


صبر کنید تا مراحل نصب ویندوز طی شود...

پس از نصب کامپیوتر بصورت اتوماتیک ریستارت می شود و سپس شما با این تصویر زیر روبرو می شوید .

 


اکنون بايد منتظر بمانيد تا فايلهاي نصب کپي شده و نصب شوند. پس از کپي و نصب صفحه زير را مشاهده مي کنيد در اين مرحله تمامي فايلها کپي شده و سيستم عامل Windows 7 مي‌خواهد کامپيوتر را Restart کند.

به دليل اينکه هنوز DVD نصب Windows 7 داخل DVD Drive مي‌باشد پيغام روبرو ظاهر شده است. توجه کنيد که در اين قسمت نبايد هيچ دکمه‌اي را فشار دهيد در صورتيکه کليدي از صفحه کليد را فشار دهيد برنامه نصب از ابتدا اجرا مي‌شود. بعد از مدت زماني اين پيغام رد مي‌شود. 
در ادامه برنامه نصب به طور خودکار روند نصب را تکميل مي کند. بعد از مدتي برنامه نصب دوباره کامپيوتر شما را restart مي‌کند.

تعیین کد کاربری
در اين قسمت شما بايد يک کد کاربري براي ورود به ويندوز تعيين کنيد. 
براي مثال عبارت eniac را تايپ کنيد. 
بصورت خودکار نام اين کامپيوتر eniac-pc تعيين شده است. در فصلهاي بعد روش تغيير نام کامپيوتر را نيز بررسي خواهيم کرد. 
روي دکمه Next کليک کنيد.

در صورتيکه سيستم عامل Windows 7 را از شرکت مايکروسافت خريداري کرده باشيد يک شماره سريال نيز به شما داده مي‌شود آن شماره سريال را بايد در اين قسمت وارد نمائيد. در غير اين صورت شما فقط 30 روز مي‌توانيد از اين نرم افزار استفاده کنيد. 
در صورتيکه از نسخه اصلي استفاده نمي‌کنيد روشهاي مختلفي براي کرک ويندوز (طبق فایل راهنما) وجود دارد که با توجه به DVD خريداري شده بايد اقدام نمائيد. 
روي دکمه Next کليک کنيد.

در اين قسمت سه گزينه ظاهر شده است. با انتخاب گزينه اول که توسط شرکت مايکروسافت پيشنهاد شده است Updateهاي جديد ويندوز بر روي کامپيوتر شما نصب مي‌شود با انتخاب گزينه دوم فقط Updateهاي مهم بر روي کامپيوتر شما نصب مي‌شود. در هر دو حالت فوق اطلاعاتي از کامپيوتر شما براي شرکت مايکروسافت ارسال مي‌شود تا در توليد بهتر ويندوز و مشکلات پيش آمده با مايکروسافت همکاري کنيد. 
با انتخاب گزينه آخر updateها نصب نمي‌شوند. منظور از Update فايلهايي است که از سايت مايکروسافت دانلود مي‌شوند تا ويندوز شما بهتر و با امنيت بيشتر کار کند. 
بر روي گزينه اول کليک کنيد.

تنظیم زمان
در اين مرحله از نصب منطقه‌اي که در آن قرار داريد را مي توانيد انتخاب کنيد تا ساعت شما براساس آن شهر تنظيم شود. 
روي ليست باز شونده Time zone کليک کنيد. 
روي گزينه Tehran کليک کنيد. 

در پايين اين پنجره مي‌توانيد تاريخ و ساعت را تنظيم کنيد. 
روي دکمه Next کليک کنيد.

در اين قسمت سه گزينه مربوط به شبکه‌اي که هم اکنون به آن متصل هستيد، موجود است. با اين تنظيمات اطلاعات موجود در کامپيوتر شما با سطوح مختلف امنيتي تنظيم مي‌شود. اين سه گزينه از بالا به پايين شبکه موجود در خانه، محل کار و اماکن عمومي مي‌باشد. 
روي گزينه Work network کليک کنيد.

صبر کنید تا تنظیمات اعمال شود...

 

تبریک می‌گوییم! شما موفق به نصب ویندوز 7 شدید.

ویندوز شما به همین راحتی نصب شد. برای مطمئن شدن از اکتیو ویندوز 7 طبق تصویر زیر عمل کنید.

برای مشاهده فعال بودن ویندوزتان روی آیکن Computer راست کلیک کرده و گزینه Properties را انتخاب کنید. در پنجره باز شده با دیدن واژه های “Windows is activated”ویندوز شما فعال شده است.

تبریک ویندوز شما اکتیو است.

 

 

در غیر اینصورت برای فعال کردن ویندوز دو روش وجود دارد :

روش اول : با استفاده از راهنمای داخل DVD ویندوز 7 .

روش دوم : میتوانند نرم افزار active کردن ویندوز را  با جستجوی واژه های ”دانلود نرم افزار فعال سازی ویندوز ۷″ در موتورجستجوی گوگل دریافت کرده و ویندوزتان را فعال کنید.

نکته ضروری : لطفاً قبل از هرکاری پس از نصب ویندوز 7 ، گزینه windows Update را از مسیر زیر غیر فعال نمایید ؛ تا ویندوز جهت آپدیت با اینترنت ارتباط نداشته باشد.

 

Control Panel ->> Windows Update ->> Change settings

 

در قسمت Important Updates ، آیکون ضربدر قرمز رنگ (Never Check for Updates) انتخاب کنید و کلیه تیک های داخل مربع ها را بردارید؛ و نهایتاً روی Next کلیک کنید.

 

Smileبه همین راحتی...خنده

 

 

...موفق و پیروز باشید...



:: بازدید از این مطلب : 54
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
ن : امیر حسین
ت : یک شنبه 17 خرداد 1394
.

صفحه قبل 1 صفحه بعد

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