تحقیق دانشجویی - 343

راهنمای سایت

سایت اقدام پژوهی -  گزارش تخصصی و فایل های مورد نیاز فرهنگیان

1 -با اطمینان خرید کنید ، پشتیبان سایت همیشه در خدمت شما می باشد .فایل ها بعد از خرید بصورت ورد و قابل ویرایش به دست شما خواهد رسید. پشتیبانی : بااسمس و واتساپ: 09159886819  -  صارمی

2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2  و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی  (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .

3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل http://up.asemankafinet.ir/view/2488784/email.png  را بنویسید.

http://up.asemankafinet.ir/view/2518890/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86.jpghttp://up.asemankafinet.ir/view/2518891/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA.jpg

لیست گزارش تخصصی   لیست اقدام پژوهی     لیست کلیه طرح درس ها

پشتیبانی سایت

در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا  پیام بدهید
آیدی ما در نرم افزار شاد : @asemankafinet

تحقیق درباره انواع زبان های برنامه نویسی

بازديد: 935

 


                                                                    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 به هیچ موسسه‌ای وابسته نیست این مستندات بصورت آزادانه در دسترس نیستند.

نام ++C

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

توسعه آینده

++C همچنان در حال تکامل است تا نیازهای آینده را پاسخگو باشد. نسخه جدید استاندارد ++C در حال بررسی است و تحت عنوان C++0x است که انتظار می‌رود در سال ۲۰۱۰ منتشر گردد. تغییرات کنونی نشان می‌دهد که که همچنان به صورت چندمدلی ++C تاکید می‌گردد. توسعه‌های مهم پشتیبانی از چندرشته‌ای و مفاهیمی برای راحت نمودن کار با قالب‌هاست. اضافه نمودن ویژگی جمع‌آوری زباله به آن به شدت مورد بحث است. Boost.org گروهی برای بیشترین استفاده از ویژگی‌های فعلی ++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/delete، نوع داده bool، توابع درون‌خطی، آرگومان پیشفرض، گرانبارسازی عملگر و تابع، فضای نام و عملگر تعیین حوزه ::، کلاس‌ها (شامل تمام ویژگی‌های مربوط به کلاس‌ها همانند وراثت، اعضای تابع، توابع مجازی، کلاس‌های انتزاعی، و سازنده‌ها)، قالب‌ها، پردازش استثنا، کنترل نوع زمان اجرا، عملگرهای سربار شده ورودی (<<) و خروجی (>>).

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

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

 

پیش پردازنده

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

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

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

کاربرد معمول دیگر به عنوان ماکرو خوانده می‌شود:                                             #define MY_ASSERT(x) assert(x)

که کد (MY_ASSERT(x را با (assert(x در فایل منبع جایگزین می‌نماید. که این جایگزینی امکان کنترل استفاده از این تابع را در اختیار برنامه‌نویس قرار می‌دهد.استفاده از ماکروها در عمل چندان توصیه نمی‌گردد چرا که امکان کنترل نوع آرگومان‌ها را از بین برده در نتیجه ممکن است اشتباهاتی را وارد کد منبع نماید. طریقه دیگر برای انجام این کار استفاده از توابع درون‌خطی است.علاوه بر شبه‌دستورات معمول تعدادی شبه دستور برای کنترل جریان کامپایل وجود دارد که امکان شمول یا عدم‌شمول قطعه‌ای کد یا سایر ویژگی‌های کامپایل را در اختیار ما قرار می‌دهد.دستورات پیش‌پردازنده برای کاربردهای عددی نیز به کار می‌رود که هم‌اکنون استفاده از const به جای #define ترجیح داده می‌شود. این کار علاوه بر ایجاد کنترل نوع قوی مانع از گمراهی در فضاهای نام می‌گردد.هدف کمیته استانداردسازی از بین بردن پیش‌پردازنده است اما با توجه به خصوصیت مدولار ++C بعید به نظر می‌آید که این حذف امکان‌پذیر باشد.

قالب‌ها

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

اشیا

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

بسته‌بندی

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

وراثت

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

چندریختی

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

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

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

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

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

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

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

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

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

محیط‌های برنامه نویسی

یک برنامه به زبان ++C می تواند در محیط های ++Turbo C++ , Borland C و ++Dev C نوشته شود. این محیط‌های برنامه‌نویسی، همراه با یک کمپایلر عرضه می‌شوند که کار تبدیل برنامه به فایل اجرایی را راحت می‌کند.

 

                              C#  -3

 

سی‌شارپ همچون زبان برنامه‌نویسی جاوا زبانی‌ست شئ‌گرا و سطح بالا (high level). محصول شرکت Microsoft و بر پایه .NET از آنجایی که شئ‌گرائی و سطح بالا بودن از ابزارهای مدیریّت مؤثّر و کارآمد پیچیدگی در فضای پیچیدۀ اینترنت مدرن می باشند، در واقع می‌شود جاوا و سی‌شارپ را از جمله زبان های اصلی برای ایجاد و انجام برنامه‌های کاربردی تحت وب (web applications) و خدمات وب دانست.بر اساس ادّعای شرکت مایکروسافت، این زبان در سال 2000 توسط تیمی به سرکردگی آندرس هلزبرگ و نیز سکات ویلتاموث ساخته شد. سی‌شارپ که فقط برای دات نت است در مجموعه NET Platform SDK. ارائه گردید که در محیط های برنامه نویسی استودیوی بصری دات نت (Visual Studio .NET)، در نسخه‌های 2003 و 2005 آن موجود است. دستورات زبان سی‌شارپ مانند جاوا سطح بالا تر از C و ++C است و از VB ساده تر. این زبان همانند پیدایش زبان C انقلابی را در امر برنامه نویسی موجب شد، چراکه به طور همزمان میتواند امکانات سطح پاین و سطح بالا را به بهترین شکل پشتیبانی کند. در طراحی این زبان برای جلوگیری از پیدایش Bug در زمان اجرا بسیار تلاش شده و اجازه هر کاری (مانند ساخت اشاره گر) را نمیدهد(مگر اینکه اصرار بر انجام این کارها داشته باشید)

سکّوی دات نت

در ماه ژوئن سال 2000 میلادی بود که شرکت مایکروسافت ابداع و ایجاد سکّوی (platform) جدید برنامه نویسی خود را موسوم به دات نت (Microsoft .NET) اعلام نمود. در جهت بهبود سکّوهای پیشین مایکروسافت،دات نت مدل تازه‌ای را برای ایجاد نرم افزار های کاربردی ارائه می‌دهد که در آنجا زبان های گوناگون می توانند در کنار هم قرار گیرند و با یکدیگر به همکاری بپردازند. این درست مدل کوچک‌تری ست از تمامی فضای اینترنت بدانگونه که عوامل گوناگون میتوانند در سطوحی گسترده به همکاری اقدام کنند.

انعطاف پذیری سی شارپ

سی شارپ زبانی است کاملا شی گرا و بر پایه .NET Framework این زبان مانند بسیاری از زبانهای شی گرای دیگر از فایل های کتابخانه ای Net. استفاده میکند و همچنین فقط بر روی سیستم عامل Microsoft Windows XP SP2(یا بعد از آن) که .NET Framework بر روی آن نصب باشد اجرا میشود سی شارپ به کلی برای دات نت طراحی شده و علاوه بر تولید پروژه های Console Programs در تولید Windows Application هم بسیار قوی است سی شارپ بر پایه نظریه اولیه سی طراحی شده و همچنین بسیاری از صفات خود را از C++ و Java و Delphi به ارث برده است ولی به گفته مایکروسافت بر پایه C برای رقابت با Java و به سادگی VB طراحی شده است. در کل سی شارپ یک زبان مدرنیزه شی گرا میباشد که در محیط Visual Studio بسیار قدرت یافته است .

مثالی از سی شارپ

تمام کدهای سی شارپ بر پایه کلاس ها تعریف میشوند یک برنامه ساده سی شارپ این چنین است :

public class MyClass { public MyClass() { // implementation } }

برنامه ساده ای که متنی را در خرجی چاپ میکند چنین در سی شارپ نوشته میشود

hello.cs: public class Program { public void Main() { System.Console.WirteLine("Hello , World"); } }

منبع اطلاعات در سی شارپ

سی شارپ میتواند به خوبی با Database ها ارتباط برقرار کرده و آنها را ویرایش و یا از آنها اطلاعات بگیرد این ویژگی که در Visual Studio .NET به خوبی پشتیبانی شده کار را برای کاربر بسیار راحت کرده تا جایی که فقط با چند دستور ساده میتوان با منبع اطلاعات ارتباط برقرار کرد. در این زبان از بانک اطلاعات به صورت Connectionless استفاده میشود. به این شکل که کل بانک به داخل یک Dataset بر روی حافظه اصلی کپی میشود و سپس استفاه میشود.این روش به منظور کاهش ترافیک شبکه طراحی شده است.

فایلهای تولیدی در سی شارپ

فایلهایی که بیشتر با کاربر سر و کار دارند عبارتند از : فایلهای با پسوند .Sln : این فایل سطح بالای Solution است که برای هر برنامه یک فایل از این نوع موجود است . هر فایل Solution یک یا چند فایل پروژه را در خود دارد. فایلهای با پسوند .Csproj: این یک فایل پروژه C# است .هر فایل پروژه یک یا چند فایل سورس دارد . فایل های سورس در یک پروژه باید به یک زبان برنامه نویسی نوشته شود . فایلهای با پسوند Cs: این یک فایل سورس است و کد برنامه در این فایل نوشته می شود و این فایل شامل کدی است که ویژوال استودیو به صورت خود کار ایجاد می کند . فایل Assemblyinfo.cs: این یک فایل سورس دیگر است با این تفاوت که می توان از این فایل برای اضافه کردن مواردی مثل اسم نویسنده و تاریخ نوشتن برنامه و امثال آن به برنامه استفاده می شود. فایل .Ico: این آیکون برنامه است .آیکونی که در زمان اجرای برنامه در نوار وظیفه قرار می گیرد.

ابزارهای دیگر در سی شارپ

سی شارپ نه فقط مخصوص ساخت یک برنامه DOS یا Windows Form است بلکه میتوان با آن نرم افزارهای کاربردی تری مانند Movie Collection ها را به صورت سفارشی کمپایل کرد حتی قدرت بسیار بالای این زبان در ساخت Screen Saver ها هم بسیار زبان زد است که این خود نوعی مزیت نسبت به C++ یا دیگر نرم افزارهای برنامه نویسی به شمار میرود ولی این زبان برای این کارهای ساده طراحی نشده است. از جمله کارهایی که این زبان میتواند انجام دهد طراحی نرم افزار برای SmartPhone,Pocket PC ,Windows CE, Linux است. در ضمن این زبان برای طراحی وب سایت به زبان ASP.Net نیز به کار برده میشود. همچینین برای کار با Registry و فایلها مناسبترین زبان است. در زمینه کار با بانکهای اطلاعاتی و APIها نیز بسیار قوی است

 

BASIC  -4

 

Basic فرزند دردانه بيل گيتس

به جرات مى توان ادعا كرد كه در دنياى امروز كمتر كسى را مى توان يافت كه نام و آوازه «بيل گيتس» رئيس و بنيانگذار مايكروسافت و ثروتمندترين مرد جهان را نشنيده باشد. اما دانستن اين موضوع جالب است كه پيش از مايكروسافت نام بيل گيتس با «بيسيك» (Basic) عجين بوده است و اين ماجرا به زمان دانشجويى گيتس و دوستش «پل آلن» در ۱۹۶۴ بازمى گردد و در واقع همكارى مشترك آنها در توسعه بيسيك بود كه چند سال بعد منجر به تاسيس مايكروسافت شد. اين دو با تولد اولين بيسيك در سال ۱۹۶۴ در كالج دارتموث به تلاش در توسعه آن همت گماشتند و در اين راه با زيركى و دورانديشى مثال زدنى با طراحى انواع مفسرها و مترجم هاى بيسيك توانستند آن را به عنوان يكى از فراگيرترين و كاربردى ترين زبان هاى كامپيوترى تا امروز مطرح سازند. بيسيك اكنون ۴۰ ساله است و هنوز هم گيتس در مايكروسافت آن را تر و خشك مى كند و مانند فرزندى دردانه به رشد و ترقى آن اهميت مى دهد.ظهور ميكروكامپيوترها در سال ۱۹۷۵ از يك سو و ارائه بيسيك پيشرفته توسط مايكروسافت از سوى ديگر خيلى سريع سبب شهرت بيسيك به مثابه يك زبان كاربردى كه به صورت رايگان بر روى همه كامپيوترها قابل نصب بود، گرديد. در واقع بيسيك به علت ساختار مطلوبش پيش نياز يادگيرى همه زبان هاى كامپيوترى شد. مقاله اى كه پيش رو داريد، بيل گيتس در جشن تولد ۲۵ سالگى فرزندش بيسيك (يعنى ۱۵ سال پيش) در مجله بايت منتشر كرد و طى آن براى اولين بار به شرح ماجراى شكل گيرى و رشد زبان بيسيك به همراه پل آلن پرداخته است، كه مقايسه داده هاى آن با امروز كه بيسيك به سن چهل سالگى رسيده و كامپيوترهاى شخصى به اوج پيشرفت و همگانى شدن نايل آمده اند، براى خواننده علاقه مند خالى از لطف نيست.از زمان اجراى اولين برنامه بر روى يك كامپيوتر انگليسى زبان در سال ۱۹۴۸ تاكنون محاسبات وارد مرحله جديدى شده است. فقط در طول ۱۵ سال شاهد رشد و ترقى كامپيوترهاى ۸ بيتى با ۴ كيلوبايت رم به كامپيوترهاى ۳۲ بيتى با ۴ مگابايت رم چه در زمينه صنعت و چه در زمينه علوم بوده ايم.با توجه به رشد بسيار گسترده در زمينه سخت افزار، زبان بيسيك نيز بيست و پنجمين سال تولد خود را پشت سر مى گذارد و مفسر آن ۱۵ سال است كه ميكروكامپيوترهاى ميليون ها نفر را قابل دسترسى كرده است.متاسفانه در ابتدا بيسيك خوب شناخته نشد، در همين حال بيشتر از هر زبان ديگرى قابل دسترسى بوده و هست چرا كه مجاناً بر روى هر كامپيوترى نصب مى شود. قدرت و توانايى، سادگى استفاده از يك مفسر، مديريت قوى، گستردگى و همه منظوره بودن، نوع انگليسى لغات كليدى و تركيبات و آزادى بيسيك، همگى باعث تجربه بيشتر برنامه نويسان مى شود و مى تواند به عنوان يك زبان ايده آل به مبتديان در شناخت بهتر كامپيوترشان كمك كند. با توجه به سرگذشت بيسيك طى سال هاى طولانى و با وجود تكنولوژى قوى سيستم عاملى مانند OS/۲ و ويژگى برنامه نويسى موضوعى مى توانيد به خوبى شاهد چگونگى حضور و رشد بيسيك تا به امروز باشيد.بيسيك بدون هيچ نيازى، مستقلاً به عنوان وسيله اى براى تبادل اطلاعات بين مردم و كامپيوتر ايجاد شد و در سال ۱۹۶۲ يكى از رياضيدانان كالج دارتموث به نام پروفسور «توماس كورتس» طرحى را تسليم «جان كمنى» رئيس كالج كرد. در اين طرح تمامى دانشجويان اين كالج موظف به آموختن كامپيوتر در دوره ۴ ساله تحصيلشان بودند.كامپيوترهاى دسته گراى آن زمان چنين انتظارى را غيرممكن مى كردند چرا كه اگر برنامه ساده اى به طور صحيح ترجمه مى شد كامپيوتر براى درك آن گاهى اوقات به روزها وقت نياز داشت در نتيجه چنين برنامه اى تنها مى توانست نتيجه يك محاسبه را به عنوان جواب برگرداند و شخص برنامه نويس هرگز نمى توانست اجراى برنامه را ببيند. كمنى و كورتس براى گسترش تحقيقات خود به آزمايشگاه هاى «هيت» و «بل» رفته و در آنجا سيستم عامل چند كاربره اى را براى كامپيوتر جديدى كه قرار بود به زودى تحويل كالج شود ساختند. در همين زمان آنها به دانشجويان پيشنهاد كردند كه زمان استفاده از كامپيوتر را بين خودشان تقسيم كنند اما به دليل عدم وجود يك زبان ساده براى صحبت با ماشين دانشجويان به ندرت از كامپيوتر كالج استفاده مى كردند. متاسفانه «فورترن» و «آلگول» نمى توانستند امكانات مناسب و آسانى را براى دانشجويان فراهم كنند لذا كد و دستورالعمل نمادى همه منظوره مخصوص افراد مبتدى (بيسيك) به عنوان يك تركيب ساده و بهتر از فورترن و آلگول توسط دانشجويان كالج دارتموث ساخته شد.در اول ماه مى سال ۱۹۶۴ دانشجويان كالج دارتموث با اعلان معروف READY> در ترمينال هاى راه دورشان آشنا شدند. بدين ترتيب آنها مى توانستند برنامه هاى ساده اى نوشته و آنها را براى ترجمه و اجرا انتقال دهند. كمنى و كورتس به تولد بيسيك در كتابشان به نام «برگشت به بيسيك» اشاره كرده اند. (انتشارات «اديسون وزلى»، ۱۹۸۵)

• ظهور ميكروكامپيوترها

اولين ميكروكامپيوتر با حافظه اى بسيار كوچك كه بيشتر جنبه نمايشى داشت در سال ۱۹۷۵ به صحنه آمد. اين كامپيوتر فقط زبان ماشين را مى فهميد. در اين هنگام من به اتفاق يكى از دوستانم به نام «پل آلن» فرصت را غنيمت شمرده و برگردانى از بيسيك را به منظور اجرا در آن فضاى بسيار كوچك حافظه نوشتيم. دانشجويان با استفاده از اولين بيسيك، كه براى دستگاه هاى MITS ساخته شده بود مى توانستند برنامه هايشان را بر روى اين گونه كامپيوترها با حافظه ۴ كيلوبايت اجرا كنند. در آن زمان براى ما حافظه بسيار ارزشمند بود به طورى كه مجبور شديم براى اشغال فضاى كمترى از حافظه، اعلان READY> - كه چهار كاركتر فضا مى گرفت - را به OK> - كه دو كاركتر فضا مى گيرد _ تبديل كنيم. فشار محدوديت حافظه تا اندازه اى بود كه ما را بر آن داشت كه بيسيك را به عنوان يك مفسر پياده سازى كنيم. (مفسر بيسيك، برنامه اى است كه فايل هاى بيسيك را به زبان ماشين ترجمه مى كند.) البته عامل ديگرى كه ما را به سمت مفسرها هدايت مى كرد، متعادل بودن و آ سانى استفاده از مفسرها بود كه به برنامه نويسى با بيسيك هنر و زيبايى خاصى مى بخشيد. يك برنامه نويس با استفاده از مفسر مى تواند به كامپيوتر وظيفه اى را محول كند، كامپيوتر نيز متقابلاً و بلافاصله به او جواب خواهد داد كه اين جواب مى تواند شامل گزارشى از خطاهاى احتمالى نيز باشد. اين تعامل مفسر به اين خاطر است كه وجود آن به عنوان بخشى از زبان در نظر گرفته شده است نه به عنوان برنامه اى كاملاً مجزا مانند يك مترجم.با استفاده از تجربياتى كه از نوشتن يك مفسر بيسيك براى كامپيوتر PdP-8 در دوران دبيرستان به دست آورده بودم به اتفاق پل آلن بيسيك كامپيوتر اصلى خودمان را يك مفسر تك _ نمايش ساختيم. به اين ترتيب براى ذخيره بيشتر كد مبدا به فرم يك متن مجبور شديم آن را به طور فشرده ترى ترجمه كنيم چرا كه با فشار و محدوديت حافظه روبه رو بوديم. به اين ترتيب ما به مقصود خود رسيديم و ترتيبى داديم كه برنامه نويس بتواند بلافاصله برنامه اش را ديده و هنگام اجراى برنامه با سرعتى قابل قبول مراحل مختلف آن را تشخيص دهد. در مفسرى كه ما ساختيم از تصاويرى پايين تر از يك بايت تا تصاويرى بيشتر از آنچه كه كدهاى اسكى (ASCII) نياز دارد براى نشانگذارى كلمات كليدى بيسيك استفاده شده بود. همچنين براى اولين بار فرمان هاى كوتاه TRON _TROFF را به منظور فعال و غيرفعال كردن ابزار اشكال زدايى توكار بيسيك مانند توانايى رديابى را درون آن مفسر قرار داديم.قرار دادن كلمات رزرو شده بيسيك، پيغام هاى خطا و كتابخانه اعداد با مميز شناور به منظور اجراى برنامه در يك ماشين ۴ كيلوبايتى از كارهاى بسيار سختى بود كه به كمى تيزهوشى و زيركى نياز داشت. كدهاى استفاده شده در آن زمان كه از ظرافت و انعطاف خاصى برخوردار بود هنوز براى من به ياد ماندنى و جالب است.

 

FORTRAN  -5

 

معرفی و تاريخچه فرترن

همانطور که در اغلب کتابهای مکانيک ديده ايد، در اغلب برنامه های مهندسی از اين زبان استفاده می گردد. زبان برنامه نويسی فرترن با وجود سادگی از قدرت و سرعت بالايی برخوردار است، بطوريکه می توان از آن برای نوشتن برنامه های CFD استفاده کرد. فرترن اغلب با قابليت فوق العاده در مورد اعداد معرفی می گردد و همانطور که از اسمش (FORmula TRANslation) پيداست، برای انجام محاسبات رياضی در کارهای علمی خلق شده است. در گذشته اين زبان دارای محدوديتهايی بوده که در نسخه های جديد اين مشکلات حل شده است و اين زبان به يک زبان بسيار قوی تبديل شده است. اغلب کتابخانه های لازم برای انجام انواع محاسبات در اين زبان وجود دارد. اين زبان در استاندارد فرترن 90 از قابليت نوشتن برنامه های محاسبات موازی برای کامپيوتر های چند پردازنده ای پشتيبانی می کند که آينده روشنی را برای محاسبات سنگين CFD نشان می دهد. اين زبان جزء اولين زبانهای خلق شده برای کامپيوتر می باشد که در IBM نوشته شده است. قابليت محاسبات سريع با سادگی در برنامه نويسی باعث محبوبيت آن بين مهندسان و دانشمندان شده است. زبان فرترن در حال حاضر دارای قابليت برنامه نويسی شيء گرا شده است.معمولاً از فرترن 77 و 90 استفاده می گردد که نسخه 90 آن محبوبيت عمومی تری دارد. در اين متن از استاندارد های برنامه نويسی فرترن 90 استفاده می کنيم و در موارد لازم در مورد فرترن 77 هم بحث خواهيم کرد.

چرا فرترن؟

زبان اصلی برنامه نويسی در کاربردهای علمی فرترن است. اغلب کدهای قديمی با اين زبان نوشته شده است. بنابراين لازم است که يک دانشجوی مهندسی با اين زبان آشنايی داشته باشد. سالها پيش به نظر می رسيد که با پيشرفت و محبوبيت عمومی زبانهايی مانند C زبان فرترن منسوخ گردد، اما با گذشت سالها اين زبان همچنان استفاده فراوان دارد. اين ماندگاری مديون کتابخانه ها و کدهای 40 ساله اين زبان است. در هر حال استانداردهای جديد اين زبان قدرت زيادی به اين زبان داده است. اين زبان همچنان بعنوان مهمترين زبان برای مهندسان و دانشمندان بشمار می آيد. فرترن برای انجام محاسبات رياضی با سرعت و قابليت بالا طراحی شده است. البته زبان فرترن هنوز در ايجاد محيط گرافيکی کمبود دارد و اگر بخواهيد برای فرترن يک رابط گرافيکی کاربر(Graphical User Interface) بنويسيد، بايد خود را درگير فراخوانی توابع ويندوز(API ها!) کنيد. انتخاب راحت تر استفاده از يک زبان ساده مانند Visual Basic يا Delphi برای ايجاد رابط گرافيکی کاربر است. در اين روش GUI را در اين زبانها می سازيم و موتور اصلی برنامه برای کار با معادلات و انجام محاسبات را در FORTRAN می نويسيم و بعد آنرا با فرمت DLL (Dynamic Link Library) در اختيار برنامه قرار می دهيم. برنامه Ansys که بين مهندسان مکانيک محبوبيت دارد با زبان فرترن نوشته شده است.

فرترن 90

فرترن 90 فراتر از يک ويرايش جديد از استاندارد فرترن می باشد و برنامه نويسی را بسيار آسانتر کرده است. اين ويرايش کدهای فرترن 77 را نيز پشتيبانی می کند. فرترن 90 يک زبان برنامه نويسی انعطاف پذير و قوی است, اين زبان امکانات برنامه نويسی شيء گرا را داراست. امکانات دسترسی به امکانات سيستمی مانند تخصيص حافظه, استفاده از اشاره گرها و بسياری امکانات ديگر به آن اضافه شده است؛ بعبارت ديگر فرترن 90 بيشتر شبيه به C++ است تا فرترن 77! ارتقاء قابليتهای عددی, استفاده از دستورات حالت موازی (چند پردازنده ای) که يک پيشرفت شايان ذکر در برنامه نويسی علمی و نوشتن کدهای موازی می باشد. اين روند در فرترن 95 دنبال شده است و انتظار می رود در ويرايش های جديدتر اين زبان امکانات گسترده تری برای برنامه نويسی علمی به اين زبان اضافه گردد

استانداردهای کد نويسی

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

1-     همة کلمات کليدی اين زبان را با حروف بزرگ و همه چيز ديگر را با حروف کوچک بنويسيد (اين زبان بين حروف کوچک و بزرگ فرقی نمی داند!). البته اين ساختار آنچنان مناسب نمی باشد و می تواند خوانايی برنامه را کاهش دهد و دليل استفاده از آن قدمت اين روش است. در هر حال استفاده از اين روش در برنامه نويسی مدرن کار درستی نيست.

2-     از دندانه دار کردن در متن اصلی برنامه و همچنين بلوکهای ديگر استفاده کنيد.

3-     اسم برنامه ها، زير برنامه ها و توابع را در انتهای آنها ذکر کنيد.

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

ساختار برنامه در فرترن 90 به ساختار زبانهای برنامه نويسی ديگر شباهت زيادی دارد و به شکل زير است.

PROGRAM program_name

          ! Comment and program information

          Declaration of variables and/or external functions

          Program body

END PROGRAM program_name

Declaration and body of user-made functions

در فرترن 77، کل صفحه به ستونهايی تقسيم می گردد و هر بخش از برنامه محل مشخصی دارد. برنامه فرترن 77 بايد از قوانين زير پيروی کند:

  1. تمام دستورات فرترن بايد بين ستون 7 تا 72 از فايل قرار داشته باشند.
  2. فاصله خالی برای مترجم برنامه معنايی ندارد ولی برای خوانايی برنامه بايد از آنها استفاده کرد!
  3. دستوراتی که در ستون 1 تا 5 آنها خالی است اما در ستون 6 کاراکتری غير از صفر قرار دارد به عنوان ادامه دستورات خط قبل به حساب می آيند (حداکثر تا 19 خط مجاز است!).
  4. شماره خط دستورات بايد بين ستون 1 تا 5 نوشته شوند و حداکثر می تواند يک عدد 5 رقمی باشد (فرترن به شماره خط نيازی ندارد و فقط برای ارجاع از دستوراتی مانند GOTO استفاده می گردد.
  5. خوب است که حداکثر با دو دندانه در برنامه بخشهای مختلف را مشخص کنيد.
  6. توضيحات برنامه در ستون اول خود C دارند.

با توجه به توضيحات بالا ساختار برنامه فرترن 77 به شکل زير است.

       PROGRAM program_name

C   Comment and program information

          Declare of variables and/or external functions

          Body of program

       END PROGRAM program_name

       Declaration an body of user-made functions

متغيرها

پيشنهاد می گردد که همة متغيرهای برنامه در ابتدای برنامه تعريف (تعيين نوع) گردند. برای اينکه هيچ متغيری از قلم نيفتد، از دستور IMPLICIT NONE در ابتدای برنامه استفاده کنيد. اين دستور به مترجم برنامه خواهد گفت که اگر در برنامه به متغير تعريف نشده ای برخورد، اعلام خطا کند. البته فرترن به تعيين نوع نيازی ندارد! اما اين کار خطاهای برنامه نويسی شما را کاهش خواند داد. زبانهای برنامه نويسی زيادی در اولين استفاده از متغير برای آن متغير نوعی در نظر می گيرند و نيازی نيست که برنامه نويس نوع متغيرها را مشخص کند زبان فرترن نيز چنين است. تعريف متغير توسط برنامه نويس يا مترجم برنامه در برنامه نويسی حرفه ای برای مدت زيادی مورد بحث بود تا اينکه ناسا يکی از سنسورهای سفينه فضايی ونوس را بعلت يک تعريف متغير اشتباه توسط مترجم برنامه (مترجم نوع ديگری را برای متغير در نظر گرفته بود) از دست داد. بنابراين تعريف متغير توسط برنامه نويس بعنوان يک روش مناسب انتخاب شد. خوشبختانه در بسياری از زبانهای برنامه نويسی مدرن تعريف متغير توسط برنامه نويس اجباری است. فرترن برای داشتن سازگاری از تعريف داخلی متغير توسط مترجم پشتيبانی می کند

قوانين نامگذاری متغيرها :

  1. حداکثر طول نام متغيرها 34 کاراکتر است.
  2. فقط امکان استفاده از حروف کوچک و بزرگ انگليسی(a...zA...Z,)، اعداد(0,1,..,9) و کاراکتر زير-خط ( _ ) وجود دارد.
  3. توجه داشته باشيد که بزرگی يا کوچکی حروف برای فرترن فرقی ندارد.
  4. اولين کاراکتر يک اسم بايد حرف باشد.
  5. از کلمات کليدی در نامگذاری استفاده نکنيد.

انواع داده ها                                  

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

1.     نوع INTEGER برای اعداد صحيح

2.     نوع REAL برای اعداد اعشاری (تقريباً 8 رقم)

3.     نوع DOUBLE برای اعداد اعشاری با دقت بيشتر (تقريباً 16 رقم معنی دار) [اين اعداد را مضاعف می ناميم]

4.     نوع CHARACTER برای يک کاراکتر يا رشته ای از کاراکترها

5.     نوع LOGICAL برای مقادير منطقی

6.     نوع COMPLEX برای اعداد مختلط به عنوان يک جفت با دقت REAL، اغلب توابع فرترن 77 بر روی اعداد مختلط قابل استفاده هستند

ثابت های هم به همين شکل بکار می روند مثلاً 1234 يک عدد ثابت صحيح است، 1234.0 يا 1.234E3 يک ثابت اعشار و 1.234D3 عدد اعشار با دقت مضاعف است. اعداد مختلط به شکل (3.14,-1E5) نمايش داده می شوند و کاراکترها بين دو کوتيشن قرار می گيرند  ‘AbBa’يا ‘S’. ثابتهای منطقی فقط می توانند دو مقدار .TRUE. و .FALSE. را داشته باشند (به نقاط ابتدايی و انتهايی هر يک توجه کنيد).

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

تعريف متغيرها

برای تخصيص حافظه لازم به متغيرها، مترجم برنامه (Compiler) بايد نام، نوع و اندازه هر متغير را بداند. اگر از دستور IMPILICIT NONE استفاده گردد، لازم است که تمام متغيرها تعريف گردند. در غير اينصورت نوع متغير با حرف اول آن مشخص می گردد.

     a..h وo..z  برای متغيرهای اعشار

   i,j,k,l,m,n برای متغيرهای صحيح

عبارات و عمليات محاسباتی

عملگرهايی مانند + ، - ، / (همان ÷ است) و * (همان × است) را می شناسيد. عملگر توان در فرترن به شکل  ** است. اولويت محاسبه در عبارات

پرانتز – اگر در عبارات، پرانتز وجود داشته باشد. اول داخلی ترين پرانتز محاسبه خواهد شد و به همين ترتيب عبارات داخل پرانتز اولويت اول را دارند.

توان

ضرب و تقسيم

جمع و منها

توابع رشته ای

در توابع داخلی فرترن، توابع رشته ای نيز وجود دارد. برای مثال تابع LEN اندازه رشته می دهد، توابع CHAR و ICHAR بترتيب برای تبديل عدد صحيح به کاراکتر و تبديل کاراکتر به عدد صحيح به کار می روند. INDEX برای يافتن يک رشته در رشته ديگر کاربرد دارد. توابع مقايسه رشته ها مانند LGE، LGT، LLE و LLT و بسيارس از توابع ديگر وجود دارند که در صورت نياز امکان مطالعه آنها را خواهيد داشت

ورودی و خروجی

در اغلب برنامه ها نياز داريم که اطلاعات ورودی را از صفحه کليد يا فايل بخوانيم و اطلاعات خروجی را در صفحه نمايش نشان دهيم يا آنها را در فايل خروجی ذخيره کنيم.

ورودی و خروجی فايل

کار کردن با فايلها در فرترن بسيار ساده است. ورودی وخروجی فايل هم مانند ورودی از صفحه کليد يا خروجی به نمايشگر با دستور READ و WRITE صورت می گيرد. در اين حالت بخش UNIT در اين دستورات مشخص کننده نوع ورودی و خروجی است. برای ورودی از صفحه کليد و خروجی به صفحه نمايش، بخش UNIT در اين دستورات برابر * قرار می گيرد. برای ورودی و خروجی از فايل، ابتدا فايل را باز می کنيم، اين کار يک عدد (UNIT) به فايل اختصاص می دهد

 

VISUAL BASIC -6

 

visual basic چیست؟

visual basic یک زبان برنامه نویسی تحت windows است.برنامه های به زبان visual basic در محیط برنامه نویسیIDA  پیاده سازی میشوند.محیط IDA تسهیلات لازم جهت پیاده سازی وخطا یابی برنامه های visual basic رادر اختیار برنامه نویس قرار میدهد. محیط IDE منحصر به visual basic نیست و امکان توسعه برنامه در کلیه محیطهای visual را میدهد. محیط IDE امکان پیاده سازی برنامه ها را در حد اقل زمان فراهم کرده است ٬ ضمن انکه چنان تسهیلاتی ایجاد کرده است که برنامه های تحت windows بدون نیاز به برنامه نویس متخصص قابل پیاده سازی باشد. Visual basic زبانی است به وضوح متفاوت ازسایر زبانها که درعین سادگی امکان استفاده ازترکیبات قدرتمند مانندGUI WIN 32 API٬ OOP٬ ACTIVEX ٬ برنامه نویسی ساخت یافته٬ کنترل رویدادها٬ کنترل خطاها و بسیاری از ترکیبات قدرتمند دیگررا برای برنامه نویس فراهم کرده است.Visual basicیک زبان تفسیری است . در ویرایشهای حرفه ای و تخصصی این امکان که بتوان کدهای Visual basic را به کد های زبان ماشین تبدیل کرد وجود دارد.

تاریخچه visual basic

Visual basic   از زبان basic   برگرفته شده است.basic   ازاواسط دهه 1960 توسط پرفسور"جان-کمنی" و پرفسور"توماس-کورتس" از دانشکده "دارت موس"ساخته شد و به عنوان یک زبان  برنامه نویسی برای پیاده سازی برنامه های ساده توسعه یافت ضمن انکه هدف نهایی از ایجاد وتوسعه زبان basic (آموزش برنامه نویسی) بود.استفده متداول از basic و به کار گیری ان در هر مکان وبا هر نوع کامپیوتر ٬انگیزه و علتی برای توسعه و پیشرفت این زبان بود. در اواخر دهه 1980« رابط گرافیکی کاربر» یا به اختصار GUI-در محیطwindows  ٬ توسعه یافت. نتیجه سازگاری basic با GUI در محیط windows  بود که در سال 1991 میلادی توسط شرکت ماکروسافت ایجاد و به بازار عرضه شد. تا قبل از ظهور visual basic ٬برنامه نویسی کار پر زحمت وطاقت فرسایی بود.  visual basic٬برنامه نویسی در محیط windows رابسیار ساده کرد. از سال 1991 تاکنون٬شش نسخه از این محصول به بازار عرضه شده است که اخرین نسخه ان6 visual basic در سپتامبر 1998 انتشار یافت.

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

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

یکی از نتایج تحقیقات فوق ایجاد و توسعه زبان برنامه نویسی pascal  توسط (نیک لاوس- ورت) در سال 1971 میلادی بود زبان پاسکال برگرفته شده ازنام (بلیاس- پاسکال) ریاضیدان وفیلسوف بزرگ قرن هفتهم بود که پس از ان در اکثر دانشگاه ها به عنوان زبان برنامه نویسی اصلی رحجان داده شد.

 

 

 

 

 

 

 

                                        پایان

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: شنبه 23 اسفند 1393 ساعت: 23:14 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره زبان ليندا

بازديد: 201

 

 نقطه نظر كلي:

ليندا چيست ؟

·         زبان برنامه نويسي موازي بر اساس C(C _ Linda) و (Fortran _ Linda ) Fortran است

·         زبان مختصاتي Linda را با زبانهاي برنامه نويسي C و Fortran تركيب مي كند.

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

·         به صورت منطقي بر اساس سراسري بودن ( همه جاگير بودن سام ) حافظه مووضع محتوايي به نام فاصله توپل ناميده مي شود.

·         فاصله توپل ارتباط درون پردازشي را ايجاد مي كند و به طور منطقي همگام سازي مستقل از اصول كامپيوتر و شبكه است .

·         پياده سازي موازي با يك تعداد كوچك از عمليات نمونه ، بر روي فاصله توپل ايجاد مي شود و پردازش هاي موازي را هماهنگ مي كند.

·          به صورت تجاري از شركت Scientific Computing در دسترس است .

نقطه نظر كلي :

مدل ليندا

·         حافظه اشتراكي مجازي

·         قسمت هاي مختلف داده ها م يتوانند بر روي پردازشگر هاي مختلف مقيم شوند

·         شباهت يك حافظه سراسري تكي براي اجزاي پردازشگر ، فاصله بندي مي شود

·         حافظه اشتراكي ليندا به فاصله توپل معروف است

·         براي پياده سازي بسياري از انواع متفاوت الگوريتم ها مي توانند استفاده شوند.

·         خودش را به خوبي براي ساختار داده اي گسترده مادر ( اصلي مهم ) / كارگر الگوريتم ها معطوف مي كند.

نقطه نظر كلي :

مدل مادر / كارگر با به كار بردن حافظه اشتراكي مجاز

·         مدل كار و كارگر از يكديگر مستقل هستند.

·         مدل مادر ، كار را به كارهاي گسسته تقسيم مي كند و آنرا درون فاصله سراسري قرار مي دهد.

·         كارگرها به طور مكرر كارها را بازيابي مي كنند و نتايج را درون فاصله سراسري قرار مي دهند.

·         كارگران اتمام كار را توسط معرفي برخي شرايط اعلان مي كنند ، يك «پيل پرآسون » را دريافت مي كنند يا توسط برخي مفاهيم ديگر خاتمه مي يابند.

·         مادر نتايج را از فاصله سراسري جمع آوري مي كند.

·         روشهاي ممكني كه كارها را مي توانند توزيع كنند:

·         مجموعه اي از كارها ( نامرتب )

·         كارها توسط به كار بردن يك شمارشگر اشتراكي در فاصله توپل در طول شناسه هاي كار مرتب مي شوند.

·         شناسه هاي كار ها براي پيدا كردن داده هاي مرتبط استفاده مي شوند.

·         فاصله توپل

·         نام ليندا براي فاصله داده اي اشتراكي اش است فاصله توپل شامل توپل ها است

·         توپل ها

·         ساختار داده هاي بنيادي فاصله توپل

·         توپل ها توسط يك ليست در حدود 16 فيلد بيان مي شوند ، و توسط ويرگول جدا مي شوند و در پرانتز ها قرار مي گيرند.

·         مدل حافظه محتوايي

·          يك توپل توسط مشخص كردن محتوايش بدست مي آيد

·         از ديدگاه برنامه ساز ، هيچ آدرسي كه مربوط به توپل باشد وجود ندارد.

اساس ليندا

 

 

 

 

 

 

 

عمليات

چهار عمليات اساسي وجود دارد

·         توليد توپل

·         Out

·         يك داده ( غير فعال ) توپل را توليد مي كند

·         هر فيلد ( حوزه ــم ) ارزيابي مي شود و داخل فاصله توپل قرار مي گيرد.

·         سپس كنترل براي برنامه مقيم انجام مي شود..

·          مثال :

·         5

·         evel

·         پردازش ( فعال ) توپل را ايجاد مي كند

·         بلافاصله كنترل براي برنامه مقيم انجام مي شود.

·         به صورت منطقي ، هر فيلد به طور همگاه توسط يك پردازش جداگانه ارزيابي مي شوند و سپس درون فاصله توپل ـ قرار مي گيرند.

·         در پياده اسزي متداول ، فقط فيلدهاي شامل تابع ( يازير برنامه ) مرجع كه از پردازشهاي جديد نتيجه مي شوند ايجاد مي شوند

 

 

 

 

·         مثال

·         استخراج توپل

·         In

·         يك الگو را براي بازيابي توپل از فاصله توپل به كار مي برد.

·          وقتي بازيابي شد ، آن از فاصله توپل حذف مي شود و براي ساير بازيابي ها طولاني تر نمي شود.

·         اگر تطبيق توپلي صورت گيرد ، پردازش مسدود خواهد شد و براي همگام سازي بين پردازش ها ايجاد مي شود .

·         مثال :

·         7rd

·         يك الگو را براي كپي داده ها به كار مي برد بدون اينكه آن از فاصله توپل حذف گردد

·         وقتي خوانده مي شود ، آن براي سايرين هنوز در دسترس است .

·         اگر تطبيق توپلي صورت نگيرد ، پردازش مسدود خواهد شد .

·         مثال :

·         اساس ليندا

·         الگوها

·         توپل را براي بازياب مشخص مي كند

·         شامل توالي فيلدهاي تايپ شده است

·         دو نوع از فيلدها

·         واقعي ها

·         متغيرها ، اثبات ها يا توضيحاتي كه براي حل هستند.

·         صوري ها

·         گيرنده ها براي بازيابي داده ها

·         توسط يك علامت سئوال مقدم شدند

·         مقادير وابسته به فيلد ها را در توپلهاي منطبق شده ذكر كردند.

·         مثال :

 

 

 

 

 

·         هر دو مثال توپل را درون فاصله توپل با عمليات Out ذيل منطبق مي كند:

 

 

·         اساس ليندا

·         قوانين تطبيق الگوها

·         به منظور اينكه اين الگو با يك توپل منطبق شوند :

·         بايستي همان تعداد از فيلدها را داشته باشد.

·         واقعي ها بايستي همان نوع ، طول و مقدار را داشته باشند همانطور كه آنها در فيلدهاي توپل دادند.

·         صوري ها در الگو بايستي نوع و طول فيلدهاي مربوطه در توپل را منطبق كنند.

·         اگر چندين توپل با الگو منطبق شوند ، پيش گويي در مورد انتخاب آنها غير ممكن خواهد شد .

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

 

·         نميتوان پيشگويي كرد كه آيا I افزوده خواهد شد قبل با بعد از اينكه آن براي فيلد سوم ارزيابي مي شود.

 

·         نمي توان پيشگويي كرد كه آيا j ( در فيلد سوم ) مقدار ست را توسط ?j ( فيلد دوم ) يا مقدار را قبل از اينكه گزاره اجرا شود را دارا خواهد بود.

 

·         15 در اين مثال Fortran اگر تابع F() مقدار x را تغيير دهد ، ما نمي توانيم پيشگويي كنيم كه آيا فيلد دوم اصلي را دارا خواهد بود يا مقدار X را تغيير خواهد داد

·         مثال

مثال كد :

ويژگي ها در كد Fortran شروع داده شد.

اين مثال يكتعداد از ويژگي هاي Fortran_ Linda را شرح مي دهد.

·         نام برنامه يك.FL اضافي دارد

·         سطح بالاي زير برنامه بايستي داراي يك پارامتر باشد ـ زير برنامه پايين تر real – main ناميده مي شود.

·         حجم برنامه ، Fortran خالص است .

·         عمليات ليندا ، Out.in, evel

·         برنامه ناهمگام ( غير همزمان ــ م ) است تضميني وجود ندارد كه پردازش ويژه اي قبل از ديدگي اجرا شود

·         مادر به كار مي رود وقتيكه تعداد توپل ـ تعداد كارگرها

مثال كد :

ويژگي ها در كد C شرح داده شد

اين مثال ويژگي C-Linda I را شرح مي دهد.

·         نام برنامه .ci اضافي دارد

·         سطح بالاي زير برنامه بايستي real – main ناميده مي شود اما همان پارامترهاي argv و argc دارد همانطور كه c اين كار را انجام مي دهد

·         عمليات ليندا ، out,in,evel

·         برنامه ناهمگام ( غير همزمان ــم ) است

·         كارگرها به كار مي روند وقتيكه آن بازيابي مي شود ، n توپل ها را در فاصله توپل به كار مي برد در جائيكه = n تعداد كارگرها است

محيط برنامه نويسي ليندا

دومدل اجرايي بر روي SD2 وجود دارد:

·         سيستم توسعه كد (CDS) RS6000

·         ليندا Network – PoE بر روي High speed سوئيج مي شود

·         ارتباط هاي اوليه بومي (MPL) IBM به كار مي رود.

محيط برنامه نويسي ليندا

C – Lind را با Network – poE به كار مي برد:

ملاحظه كنيد : وقتي network lind اجرا مي شود ، مقدار متغير محيط MP-PROCS براي تعيين اينكه چند تا از پردازشگر ها به كار مي روند ، استفاده خواهد شد . اين فايل host.list را كه بايستي شامل آدرسهاي گره كليدي باشند را به كار خواهد برد. ( به بخش نقطه نظر محيط عمل موازي براي جزئيات بيشتر مراجعه كنيد )

محيط برنامه نويسي ليندا:

كامپايلر

·         فرمان كامپايلر flc – Fortran – Linda

·         فرمان كامپايلر Clc – c – Linda

·         نحوهاي مشابه براي استاندارد C و كامپايلرهاي Fortran

·         انتخاب هاي اضافي ليندا

·         به راهنماي كاربر را براي كامل كردن جزئيات مراجعه كنيد.

·         سيستم توسعه كد ليندا (CDS) را به كار بريد

·         سيستم CDS را به كار بريد ، متغيرهاي محيط ذيل را براي cds تعريف كنيد:

 

 

 

 

·         زير برنامه اعلان نشده hello همانند يك زير روال به كار مي رود.

·         ملاحظه كنيد كه يك اخطار lind op را منطبق نكنيد وجود دارد.

·         ليندا يك اخطار را پرينت خواهد كرد اگر عملياتي وجود داشته باشد كه بعضي چيزها را در فاصله توپل قرار دهد كه هيچ ارتباطي بازيابي و بالعكس ندارد.

·         در بيشتر موارد اين يك پيغام مفيد براي آشكار كردن تصحيح نحوي حروف ( اما به صورت فضايي تصحيح مي شود ) است .

·         در اين مورد ، بهر جهت ، اين براي عمليات eval پيشنهاد مي شود كه از كارگرها شروع مي شود و مي تواند ناديده گرفته شود.

سيستم توسعه كد ليندا را به كار بريد

اشكال زدايي بصري TupleScape

TupleScalpe را به كار بريد ، شما بايستي كامپايل كنيد با

 

cds را انتخاب كرده و به كار بريد.

شل c را به كار بريد

 

 

 

آرايه ها در c – linda

ويژگي آرايه

در عمليات c – linda آرايه ها مشخصه يك طول ثابت يا متغير را دارند.

·         آرايه ثابت

·         طول شناخته شده در زمان كامپايل كردن قبلا تعيين شده و تغيير داده نشده است

·         آرايه هاي ثابت با به كار بردن نام آرايه مشخص مي شوند.

·         آرايه متغير

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

·         مشخصه متغير براي يك آرايه توسط قرار گرفتن يك “:” بعد از نامش به كار مي رود.

·         اطلاعات در مورد طولش به دنبال “:” مي آيد.

·         ده درايه اول a را مشخص كنيد :

·         a:10

·         آرايه كامل را به عنوان آرايه متغير مشخص كنيد :

·         a:

·         وقتي به عنوان يك صوري به كار رفته مي شود ، متغير صحيح به كار رفته شده براي طول براي تعداد درايه هاي بازيابي شده تعريف خواهد شد.

 

 

 

 

تعداد درايه هاي بازيابي شده در طول متغير قرار خواهند گرفت

·         ملاحظه كنيد : ارايه هاي ثابت هرگز با آرايه هاي متغير منطبق نمي گردند.

·         طول در حالت سوم مورد نياز است زيرا اشاره گر ها بايستي هميشه يك طول صريح و مشخص ــم را تعيين كنند.

 

·         توپل با « ده درايه » ممكن است توسط هر يك از عمليات ذيل بازيابي شود.

 

 

 

 

 

 

 

 

اين كار انجام نخواهد شد ، زيرا اين يك نوع ثابت است و آرايه هاي ثابت هرگز آرايه هاي متغير را منطبق نمي كنند.

آرايه ها در c – linda

آرايه هاي چند بعدي

·         آرايه هاي چند بعدي منطبق مي شوند اگر بخش هاي پيشنهاد شده همان شكل را داشته باشند.

·          آرايه ها را مشخص كنيد.

 

·         دو آرايه ذيل منطبق خواهند شد :

·          

·          

·          

·         هر دوي آنها به يك آرايه ثابت با يك طول 2 اشاره مي شوند :

دو آرايه ذيل منطبق نخواهند شد :

 

 

 

·         آرايه ايجاد شده توسط عمليات out يك 5x2 است و در الگو يك 6x2 است .

·         براي دو آرايه داراي بعد ، بخش هاي پيشنهاد شده كه منطبق مي شوند بايستي همان شكل را داشته باشند .

·         آرايه ها تعداد مشابهي از بعدها براي تطبيق ندارند

·         هر مجموعه از عمليات in و out در ذيل منطبق شدند.

·         وقتيكه  دو آرايه واقعا بعد مشابهي دارند آنها مي توانند همانند آرايه هاي تك بعدي به كار روند .

آرايه ها در C – linda

تطبيق الگو و آرايه ها

·         آرايه ها با آرايه هاي ديگر منطبق مي شوند وقتيكه درايه ها از همان نوع ( نوع مشابهي ــ م ) هستند.

·         آرايه هاي ثابت فقط با آرايه هاي ثابت با همان طول منطبق مي شوند.

·         آرايه هاي ثابت هرگز با آرايه هاي متغير منطبق نمي شوند حتي اگر آنها داراي همان اندازه باشند ( هم اندازه باشند ــم )

·         آرايه هاي چند بعدي منطبق مي شوند اگر بخش هاي پيشنهاد شده همان شكل         ( همشكل ــم ) را داشته باشند.

·         آرايه هاي واقعي بايستي هم در تعداد درايه ها و هم مقادير تمام درايه هاي مربوطه با هم موافق باشند.

 

 

 

 

 

 

 

زبان ليندا

 

 

تهيه كننده :

رزيتا معقولي

 

 

استاد محترم :

جناب آقاي مهندس متقي

مؤسسه آموزش عالي سجاد

تابستان 81

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: شنبه 23 اسفند 1393 ساعت: 23:12 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره زبان c

بازديد: 645

 

بخش اول

   ·          زبان c  يك زبان سطح مياني است .

كلمات كليدي شاخص در اين زبان عبارتند از :

auto

do

goto

signed

void

break

double

if

sizeof

while

case

else

int

static

 

char

enum

long

switch

 

const

extem

register

typedef

 

continue

float

returm

union

 

default

for

short

unsigned

 

انواع داده در c  :

   ·          زبان c  شامل شش نوع اصلي مي باشد كه عبارتند از void ,enum double , float , int , char.

   ·          در زبان c  برخي از انواع داده ها مي توانند با عباراتي نظير long  short , unsigned , signed تركيب شده ونوع داده أي ديگري را بوجود آورند.

   ·          هيچكدام از اين عبارات نمي توانند با نوع داده أي void  تركيب شوند.

   ·          نوع داده أي void  يك نوع داده تهي است يا به عبارت ديگر هيچ نوعي ندارد .

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

بازه

طول

نوع داده

128- تا 127

1 بايت

char

0 تا 255

1 بايت

unsigned char

32768- تا 32767

2 بايت

enum

32768- تا 32767

2 بايت

int

0 تا65535

2 بايت

unsigned int

32768- تا 32767

2 بايت

short int

2147483648- تا 2147483648

4 بايت

long

0تا4294967295

4 بايت

unsigned long

 

4 بايت

float

 

8 بايت

double

 

10بايت

long double

   ·          نوع داده أي long با long int‌ يكي است.

قوانين تعريف متغيرها

   ·          نام متغير شامل حروف a  تا z  بزرگ يا كوچك ، a  تا z  ،‌ارقام 0 تا 9 و خط ربط (ـ) است .

   ·          كاراكتر شروع نام متغير نبايد يك عدد باشد .

   ·          حداكثر تعداد كاراكتر هاي نام متغير 32 كاراكتر است.

int var 1 , var2;

char ch;

unsigned int i;

مقدار دهي به متغيرها

1-     به هنگام تعريف متغير

int b,c,d=4,e;

char ch=’a’;

2-     پس از تعريف

b=0;

c=d=2;

   ·          در c   مقدار دهي اوليه به متغيرها توسط كامپايلر انجام نمي گيرد .

   ·          با استفاده از كلمه كليدي const   مي توانيم ثابتهايي تعريف كنيم كه مقدار آنها در طول اجراي برنامه ثابت است . نحوه تعريف اين متغير ها بصورت زير است :

ليست متغيرها نوع const

const int a=10, b=20;

   ·          اگر const ها را مقداردهي اوليه نكنيم از سوي كامپايلر پيغام خطا صادر  مي شود .

عملگر ها

   ·          نمادهاي هستند كه براي انجام اعمال خاصي مورد استفاده قرار مي گيرند .

   ·          عملگرها به چهار دسته محاسباتي ، رابطه أي ، منطقي و بيتي تقسيم مي شوند .

عملگر هاي محاسباتي

عملگر

نام

مثال

+

جمع و مثبت يكاني

x+y , +x

-

تفريق و منهاي يكاني

x-y, -x

*

ضرب

x*y

/

تقسيم

x/y

%

باقيمانده تقسيم

x%y

--

كاهش يك واحد

x--,--x

++

افزايش يك واحد

x++,++x

 

   ·          دستور ++x  يا x++ معادل دستور x=x+1 است

   ·          دستور x-- يا –x معادل دستور x=x-1  است

   ·          اگر در يك عبارت از عملگر هاي افزايش و كاهش يك واحد استفاده كنيم به كاربردن اين عملگر ها  در قبل و بعد از عملوند مربوطه با يكديگر متفاوت است .

   ·          اگر عمگرهاي ++ و -- نظير بعد از عملوند قرار گيرند مقدار فعلي عملوند مورد استفاده قرار گرفته و سپس عملگرها بر روي آن عمل مي كنند

a=4;

b=a++;

   ·          ابتدا مقدار 4  به متغير b   نسبت داده ميشود و سپس مقدار a   يك واحد افزايش يافته و 5   مي شود .

   ·          اگر عملگرهاي ++و -- قبل از عملوند مربوطه قرار گيرند پس از افزايش يا كاهش يك واحد به آنها مقدار جديد در عبارات مورد استفاده قرار مي گيرند.

a=5;

b=++a;

   ·          ابتدا مقدارa يك واحد افزايش يافته و سپس بهb  نسبت داده مي شود.

 

تقدم عملگرهاي محاسباتي

نام

عملگر

كاهش و افزايش واحد

-- ++

منفي و مثبت يكاني

- +

باقيمانده تقسيم ، تقسيم ،‌ضرب

% / *

تفريق و جمع

- +

 

عملگرهاي محاسباتي – انتسابي

عملگر 

نام

مثال

معادل

=+

انتساب جمع

x+=y;

x=x+y;

=-

انتساب تفريق

x-=y;

x=x-y;

=*

انتساب ضرب

x*=y;

x=x*y;

/=

انتساب تقسيم

x/=y;

x=x/y;

=%

انتساب باقيمانده

x%=y;

x=x%y;

 

عملگر هاي رابطه أي

عملگر

نام

مثال

> 

بزرگتر

x>y

>=

بزرگتر مساوي

x>=y

< 

كوچكتر

x<y

=<

كوچكتر مساوي

x<=y

==

مساوي

x= =y

=!

نامساوي

x!=y

 

عملگر هاي منطقي

بر روي عملوند هاي منطقي عمل مي كنند .

عملگر

نام

مثال

&&

و (and)

x>y && y<z

 ||

يا (or)

x>y || y<z

!

نقيض (not)

!x

 

   ·          در زبان c  ارزش نادرستي (false) با مقدار صفر و ارزش درستي (true) با مقدار غير صفر مشخص مي شود .

عملگرهاي بيتي

   ·          اين عملگر ها فقط بر روي متغير هاي نوع int , char   عمل مي كنند و روي متغيرهايي از ساير نوعها مانند double , float و . . . . قابل اجرا نيستند .

عملگر

نوع عمل

&

and (و)

|

or (يا )

^

xor (يا انحصاري )

~

not (نقيض يا متمم 1)

>> 

انتقال به سمت راست

<<

انتقال به سمت چپ

نحوه كاربرد عملگر هاي شيفت به صورت زير است :

تعداد انتقال >> متغير

تعداد انتقال <<  متغير

   ·          هر انتقال معادل راست به تقسيم كردن مقدار متغير به 2 و هر انتقال به چپ معادل ضرب كردن در 2 است .

   ·          در صورت از دست دادن اطلاعات واقعي در شيفت به چپ  يا راست مساله ضرب در 2 شدن با تقسيم بر 2 شدن صدق نمي كند.

   ·          عملگر ~   در متغير كليه بيتها را نقيض مي كند يعني بيت صفر را تبديل به يك كرده و بيت يك را تبديل به صفر مي نمايد .

عملگر ?:
نحوه كاربرد:

exp1? exp2: exp3: = متغير

   ·          ابتدا exp 1  ارزيابي مي شود اگر داراي ارزش true   باشد مقدار exp2   پس از ارزيابي در متغير قرار مي گيرد و گرنه مقدار exp3   ارزيابي مي شود و نتيجه به متغير منتقل مي شود .

x=(a>b)?5:10;

در مثال فوق چنانچه a ‌ از b   بزرگتر باش مقدار 5 ‌ و در غير اينصورت مقدار 10 ‌ به x ‌ نسبت داده مي شود .

عملگر هاي *,&

   ·          عملگر & يك عملگر يكاني است كه آدرس عملوند خود را مشخص مي كند نحوه كاربرد به صورت زير است .

نام عملوند &

int *p, num ,m ;

p=&num;

   ·          عملگر *  يك عملگر يكاني است كه محتويات يك آدرس حافظه را مشخص مي كند

p=&num; m=*p;

عملگر  sizeof

   ·          جهت محاسبه طول يك نوع و يا يك متغير به كار مي رود .

نحوه كاربرد .

);متغير يا نوع ) sizeof

;متغير sizeof

int a,b,c;

a=sizeof (int);

b=sizeof c ;

تقدم عملگر ها در حالت كلي

[]  ()

!  ~  ++  --  *  &  sizeof

*  /  %

+  -

<<  >>

<   <=  >  >=

= =  !=

&

^

|

&&

||

?:

=  +=  -=  *=  /=  %=

 

int x=5 , y=10 , k=4,s=2

s+=  ++ x << y % x / 2 ! = k<y

 

تبديل انواع داده أي به يكديگر

معمولاً در دو حالت انجام مي شود 1- در عبارات 2- در حكم انتساب

   ·          وقتيكه متغيرها با نوع هاي مختلف در يك عبارت با يكديگر تركيب مي شوند با تبديل نوع صورت مي گيرد

   ·          نوعهاي با طول كوچكتر به نوعهاي با طول بزرگتر تبديل مي شود

char ch;

int i ;

floate f;

double d;

result  =  (ch   /   i) + (f    *    d) – (f    +    i)

 

 

 

 

 

 

   ·          در حكم انتساب نيز ممكن است تبديل نوع داده اي است صورت گيرد . در  صورت تبديل نوع ،‌ ممكن است اطلاعاتي از بين برود كه بايد در نتيجه حاصل احكام انتساب دقت كافي به خرج داد .

   ·          در c  چنانچه انواع گوناگون (به غير از اشاره گرها) را به يكديگر نسبت دهيم پيغام خطايي صادر نمي شود.

نوع مبدا

نوع مقصد

اطلاعاتي كه از بين مي رود

char

unsined char

اگر عدد بزرگتر از 127 باشد مقصد منفي شد

short int

char

8 بيت با ارزش

long int

char

24 بيت با ارزش

long int

int

16 بيت با ارزش

float

int

قسمت كسري يابيشترو نتيجه حاصل گردميشود

double

float

قسمت كسري يا بيشترونتيجه حاصل گردميشود

   ·          وقتي نوع بزرگتري به نوع كوچكتر انتساب داده مي شود قسمتي از اطلاعات از بين مي رود .

 

ساختار برنامه هاي c

   ·          هر برنامه در زبان c   داراي يك تابع به نام main()‌ است .

   ·          در زبان c ‌ توابع را به دو صورت مي توان تعريف نمود .

حالت اول : توابع قبل از تابع main()‌ تعريف شوند .

func() {

.

.

.

}

.

.

.

main(){

.

.

.

}

حالت دوم : عنوان (header)‌ توابع را قبل از تابع main()‌ تعريف كنيم و خود توابع را بعد از تابع main ()‌ قرار دهيم

func();

.

main(){

.

.

.

}

func(){

.

.

.

}

   ·          تعريف يك تابع در داخل تابع ديگر امكان پذير نيست ولي هر تابع مي تواند يك يا چند تابع ديگر را فراخواني كند.

   ·          در زبان c ‌ در هر جاي برنامه مي توان متغير ها را تعريف كرد هر بلاك برنامه با علامت }‌شروع و با علامت { ‌ پايان مي يابد.

   ·          جدا كننده دستورات  ;  است .

   ·          مي توان چند دستور را در يك سطر نوشت.

   ·          مي توان يك دستور را در چند سطر ادامه داد .

   ·          چنانچه نوع خروجي يك تابع تعيين نشود به طور پيش فرض از نوع int   در نظر گرفته مي شود.

چند تابع ورودي و خروجي

تابع printf

شكل كلي :

“,   رشته هاي ثابت ، كاراكترهاي كنترلي و فرمت هاي خروجيprintf(“

;(اطلاعات خروجي

 

   ·          اطلاعات خروجي با فرمت مشخص شده در قسمت فرمت به خروجي منتقل مي شوند.

   ·          كاراكترهاي كه براي تعيين فرمت خروجي مورد استفاده قرار مي گيرند با كاراكتر %‌ شروع مي شوند وكاراكترهاي كنترلي با كاراكتر 1 شروع مي شوند .

   ·          خروجي تابع  printf  تعداد كاراكترهايي است كه توانسته است بر روي خروجي ارسال كند.

برخي از كاراكترهاي فرمت

كاراكتر

نوع اطلاعات خروجي

%c

يك كاراكتر

%d

اعداد صحيح دهدهي مثبت و منفي

%e

نمايش علمي عدد همراه با حرف e

%e

نمايش علمي عدد همراه با حرف e

%f

عدد اعشاري مميز شناور

%o

اعداد مبناي 8 مثبت

%s

رشته ها

%x

اعداد مبناي 16 مثبت با حروف كوچك

%u

نمايش اعداد صحيح مثبت

%x

اعداد مبناي 16 مثبت با حروف بزرگ

%p

نمايش اشاره گرها ، اعدادي كه با اين كاراكتر نمايش داده مي شوند در مبناي 16 مي باشد

%%

نمايش علامت %

برخي از كاراكترهاي كنترلي

كاراكتر

عملي كه انجام مي شود

\f

انتقال كنترل به صفحه جديد

\n

انتقال كنترل به خط جديد

\t

انتقال به 8 محل بعدي صفحه نمايش

\”

چاپ كاراكتر

\’

چاپ كاراكتر

\0

رشته تهي يا null

\\

چاپ \

\n

ثابتهاي مبناي 8(n ‌ عدد مبناي 8)

\xn

ثابتهاي مبناي 16 (n عدد مبناي است )

\r

به ابتداي سطر برمي گردد

 

تعيين طول ميدان در تابع printf()

   ·          طول ميدان به صورت n.d  است كه بعد از علامت %‌ و قبل از كاراكتر فرمت ذكر مي شود.

   ·          در اعداد اعشاري مميز شناور ،  طول ميدان (حداكثر تعداد ارقام با  در نظر گرفته نقطه اعشار)و d  تعداد ارقام اعشاري را مشخص مي كند.

printf(“\n%8.1f%16.4f,”,3.0,123.1234567);

bbbbb3.0bbbbbbbb123.1235

   ·          چنانچه n‌ ( حداكثر طول رقم ) از مجموع عدد تعيين شده براي d ‌ ،‌ تعداد ارقام صحيح خود عدد و يك كاراكتر  نقطه اعشار كمتر باشد در نظر گرفته نمي شود . به مثال زير توجه كنيد .

printf(“%4.4f” , 123.957);

123.9570

اگر براي اعداد اعشاري قسمت d  حذف گردد و يا اينكه كلاً طول ميدان را مشخص نكنيم عدد مورد نظر با شش رقم اعشار چاپ مي شود

printf (“%5f”,123.957) ;  يا printf (“%f”, 123.957);

123.957000

گرد كردن عدد

   ·          اگر تعداد ارقام قسمت اعشار بيشتر از عدد مشخص شده در قسمت d ‌باشد قسمت اعشار گرد مي شود و تبعاً ممكن است بر روي قسمت صحيح نيز تاثير گذار باشد . به مثال هاي زير توجه كنيد :

printf (“%5.2f”,12.957);

12.96

printf(“%5.0f” , 12.54);

13

   ·          اگر طول ميدان عددي مثبت باشد مكان عددي كه بايد چاپ شود از سمت راست تنظيم ميشود و اگر طول ميدان عددي منفي باشد مكان عدد از سمت چپ تنظيم خواهد شد . مثالهاي زير اين نكته را نشان مي دهند .

printf(“%7.2f”,12.5);

bb12.50

printf(“%-7.2f”,12.5);

12.50bb

   ·          در چاپ اعداد صحيح چنانچه در قسمت d ‌ نيز عددي قرار دهيم از بين d,n ‌ هر كدام كه بزرگتر باشند براي طول ميدان درنظر گرفته ميشوند . به مثال زير توجه كنيد :

printf(“%6.3d”,1451);

b1451

   ·          اگر d  از n  بزرگتر باشد به جاي فضاي خالي كاراكتر صفر چاپ مي شود.

printf(“%3.6d”,1451);

001451

   ·          در مورد رشته ها n  حداقل طول ميدان و d   حداكثر كاراكتر هاي قابل چاپ مي باشد .

printf(“%7.3s”,”hello”);

bbbbhel

   ·          چنانچه n ‌ از d   كوچكتر باشد هيچكدام در نظر گرفته نمي شوند و تمام رشته چاپ مي شود .

printf(“%1.3s”,”hello”);

hello

   ·          در تنظيم مكان مقداري كه قرار است چاپ شود منفي يا مثبت بودن طول ميدان همانطور كه گفته شد تاثير گذار است

تابع scanf()

   ·          جهت خواندن اطلاعات از ورودي استاندارد مورد استفاده قرار مي گيرد .

شكل كلي :

scanf(“كاراكتر هاي فرمت “ , آدرس متغيرها);

   ·          كاراكترهاي فرمت نوع اطلاعاتي را كه بايد خوانده شوند را مشخص مي كند .

   ·          آدرس متغير ها مشخص كنند هاي محل هايي از حافظه هستند كه اطلاعات ورودي بايد در آن محلها بايد قرار گيرند

   ·          آدرس متغير ها را با عملگر &‌ مشخص مي كنيم

   ·          كاراكتر هاي فرمت در تابع scanf‌ همانند تابع printf  مي باشد .

   ·          در ورود اطلاعات مي توانيم آنها را با فاصله (blank)‌ ، كليد enter‌ يا  tab  جدا كنيم خروجي اين تابع تعداد مقاديري است كه از ورودي خوانده است .

int year;

scanf(“%d” , & year);

فرمان cout

   ·          از cout مي توانيم جهت چاپ در خروجي استفاده مي كنيم.

شكل كلي :

 متغير يا رشته هاي ثابت ، كاراكترهاي كنترلي cout <<

int i=3;

cout << i << “max” ;

 

فرمان cin

   ·          از cin  نيز جهت دريافت مقدار از ورودي استفاده مي شود..

شكل كلي :

cin <<  متغير

   ·          از كاراكترهاي كنترلي و كاراكترهاي فرمت نمي توان در اين فرمان استفاده كرد .

int i;

float f;

cin << i<< f;

   ·          جهت استفاده از فرامين cin , cout‌ بايد فايل h.iostream  در ابتداي برنامه include شود.

خواندن يك كاراكتر از ورودي

تابع getch()

شكل كلي :

=getch();‌ متغير

   ·          پس از آن كه كنترل اجراي برنامه به تابع getch()  رسيد برنامه منتظر فشار دادن كليدي از صفحه كليد مي شود .

   ·          تابع getche()‌ مانند تابع getch()‌ مي باشد با اين تفاوت كه در اين تابع پس از اخذ ورودي آ‌ن را روي صفحه نمايش چاپ مي كند

شكل كلي :

()=getche متغير

تابع getchar()

   ·          عمل اين تابع مانند دو تابع قبل است با اين تفاوت كه در اين تابع پس از وارد نمودن كليد مورد نظر بايد enter ‌ زده شود .

نوشتن يك كاراكتر در خروجي

   ·          علاوه بر printf()‌ دو تابع ديگر نيز بكار مي رود كه عبارتند از putchar() putch()

شكل كلي

putch(متغير);

putchar(متغير);

 

بخش دوم

ساختارهاي كنترلي و حلقه هاي تكرار

اگر بخواهيم بعضي از دستورات تحت شرايط خاصي اجرا شوند و يا تعدادي از دستورات چندين مرتبه اجرا شوند و يا در شرايط خاصي تكرار شوند ، از ساختارهاي تكرار و تصميم استفاده مي كنيم

ساختار هاي تكرار

تحت شرايط خاصي امكان اجراي مكرر دستور يا مجموعه أي از دستورات را فراهم مي كنند

ساختار for

   ·          در مواردي مفيد است كه تعداد دفعات تكرار دستورات معلوم باشد

داراي يك شمارنده است كه تعداد دفعات اجراي دستورات داخل حلقه را شمارش مي كند

   ·          شمارنده حلقه مي تواند داراي مقادير مثبت ، منفي ، صحيح و يا اعشاري باشد .

شكل كلي :

for (مقدار اوليه = شمارنده  ; شرط حلقه ; گام حركت شمارنده )دستور;

   ·          مقدار اوليه مشخص مي كند كه شمارنده ، از چه مقداري شروع مي شود .

   ·          شرط حلقه مشخص مي كند كه مجموع دستورات داخل حلقه تكرار ، تحت چه شرايطي اجرا شوند.

   ·          گام حركت شمارنده حلقه مشخص مي كند كه در هر بار اجراي دستورات داخل حلقه، چه مقداري به شمارنده حلقه اضافه شود.

   ·          گام حركت مي تواند مثبت ، منفي ، صحيح يا اعشاري باشد.

   ·          دربين هر يك از پارامترها در حلقه for  ، علامت ;   قرار مي گيرد

   ·          هر كدام از پارامترها مي توانند وجود نداشته باشند و مي توان حلقه هاي تكرار بينهايت توليد نمود

for(i = 0; i < 5; i++)

   printf(“\n the value of i is : %d: , i);

j=11;

for (;j;) {

   j%=2;

   j--;

}

ساختار while

   ·          در مواقعي كه تكرار انجام دستورات به شرط خاصي وابسته است كاربرد دارد .

while (شرط ) دستور ;

   ·          دستور مي تواند مركب باشد يعني بين }و{ قرار بگيرد

   ·          وقتي كنترل به ساختار while   رسيد شرط تست مي شود . اگر اين شرط داراي ارزش منطقي درست باشد دستور يا دستورات اجرا مي گردد و در غير اينصورت كنترل اجرا به اولين خط بعد از بدنه حلقه مي شود

   ·          چنانچه شرط حلقه در داخل حلقه نقض نشود دستورات حلقه بينهايت بار اجرا مي شوند.

 

ساختار do..while  

   ·          براي تكرار اجراي مجموعه دستورات در شرايط خاص كاربرد دارد .

شكل كلي :

do

{

مجموعه دستورات   

}while (شرط );

   ·          شرط حلقه در انتها تست مي شود

   ·          وقتي كنترل اجرا به ساختار do while   رسيد دستورات داخل حلقه اجرا مي شوند و سپس شرط ذكر شده تست مي گردد ،‌چنانچه اين شرط برقرار باشد مجموعه دستورات داخل حلقه مجددا اجرامي شوند و گرنه كنترل اجرا از حلقه خارج مي شود

   ·          در ساختار حلقه do..while   مجموعه دستورات حداقل يكبار اجرامي گردند .

   ·          چنانچه بدنه do..while  تنها شامل يك دستور باشد ميتوانيم }و{  را حذف كنيم ولي در بقيه شرايط وجود آنها ضرورت دارد .

حلقه هاي تكرار بينهايت

   ·          با هر يك از ساختارهاي تكرار do..while , while , for  ميتوان حلقه هاي بينهايت ايجاد كرد .

   ·          در ساختارهاي do..while , while   مي توان بجاي شرط حلقه از 1 به معني ارزش درستي ، استفاده كنيم و يا از شرطي استفاده كنيم كه در تمام شرايط ارزش آن درست باشد(به عنوان مثال 2 < 5 )

   ·          جهت خروج از حلقه بينهايت در حين اجرا بايد از كليد ctrl+ break  استفاده كنيم

دستور break   

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

دستور continue

   ·          در حلقه هاي تكرار موجب انتقال كنترل به ابتداي حلقه تكرار مي شود.

   ·          پس از اجراي اين دستور كنترل به ابتداي حلقه برگشته و شرط حلقه تست مي گردد كه در صورت بر قرار بودن شرط ، مجموعه دستورات داخل حلقه مجددا تكرار مي شوند و گرنه كنترل از حلقه تكرار خارج خواهد شد

ساختار هاي تصميم

   ·          اگر بخواهيم تحت شرايط خاصي در برنامه تصميمي را اتخاذ كنيم بطوري كه تحت شرايطي ، مجموعه دستوراتي اجرا شوند و مجموعه أي ديگر اجرا نشوند ، از ساختار هاي تصميم استفاده مي كنيم

ساختار if/ else  (ساختار شرطي انتقال كنترل )

موجب مي گردد تا تحت شرايطي ، مجموعه أي از دستورات اجرا شده و يا از اجراي اين مجموعه دستورات صرفنظر شود .

شكل كلي :

if (شرط) دستور ;

if (شرط )

   دستور 1 ;

else

    دستور 2;

   ·          دستورات مي توانند مركب باشند .

   ·          وجود else  در ساختار if   اختياري است .

   ·          وقتي كنترل اجرا به ساختار if  رسيد شرط تست مي شود و در صورت برقرار بودن ، دستور بعد از آن اجرا مي شود  و در غير اينصورت در صورت وجود بخش else  دستورات اين بخش اجرا مي شود

   ·          استفاده از ساختار if  بصورت لانه أي (تو در تو ) نيز امكان پذير است كه در اين صورت اولين else  به آخرين if مربوط مي شود.

ساختار else if

   ·          اگر بخش else   مربوط به ساختار if   خود يك ساختار if   باشد مي توان جهت كوتاهتر كردن برنامه و خوانايي بهتر آن را ساختار else if   استفاده كرد.

ساختار goto   ( انتقال غير شرطي كنترل )

   ·          سبب انتقال كنترل برنامه ، از نقطه أي به نقطه ديگر مي گردد .

شكل كلي :

goto برچسب;

   ·          برچسب همانند يك متغير نامگذاري ميشود و به : ختم مي گردد

   ·          استفاده از goto   خوانايي و ساخت يافتگي برنامه را كاهش ميدهد

labl : ch = getch();

putch(ch);

goto labl;

ساختار switch

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

نحوه كاربرد :

switch (عبارت )

{

case  :مقدار1

مجموعه دستورات 1;

break;

case : مقدار 2

مجموعه دستورات 2 ;

break;

default:

مجموعه دستورات ;

}

   ·          نحوه عمل بدين صورت است كه عبارت ذكر شده ارزيابي مي شود ، سپس نتيجه از بالا به پائين با مقادير ذكر شده مقايسه مي شود و در صورتي كه با يكي از مقادير ذكر شده برابر بود مجموعه دستورات متناظر با آن case ‌ اجرا مي شود و سپس با رسيدن به break  كنترل از اين ساختار خارج مي شود.

   ·          اگر مقدار عبارت با هيچكدام از مقادير ذكر شده برابر نبود ، مجموعه دستورات پس از default  اجرا مي شود . وجود default اختياري است .

   ·          مقادير و حاصل عبارت در ساختار switch  بايد نوع صحيح باشند

   ·          مقادير تكراري در ساختار switch  نمي توان استفاده كرد .يعني مقدار 1 و مقدار 2 و . . . نمي توانند برابر باشند.

   ·          هر case در ساختار switch بايد حداقل داراي يك دستور باشد.

   ·          اگر ثابتهاي كاراكتري در ساختار switch  بكار گرفته شوند ، به مقادير صحيح تبديل مي شوند.

   ·          اگر در يك case  از دستور break  استفاده نشود پس از اجراي مجموعه دستورات مر بوط به اين case ‌ مجموعه دستورات مربوط به case  بعدي نيز اجرا مي شوند .

   ·          دو يا چند شرط را مي توان درساختار  switch  با هم or   نمود كه براي اينكار كافي است چند case ‌ را با مقاديري كه مي خواهيم با هم or   شوند پشت سر هم قرار دهيم.

switch (i) {

case 0 :

case 1 : i++; break;

case 2 : i++;

}

تفاوت ساختار if  و switch

   ·          در ساختار switch فقط مساله مساوي بودن مطرح است اما در ساختار if   مي توان يك عبارت منطقي و يا رابطه أي را بررسي كرد .

   ·          استفاده از switch   درصورت امكان باعث خوانا تر شدن و بالا رفتن سرعت برنامه مي شود.

توابع

   ·          درزبان c   فقط زير برنامه نوع تابع وجود دارد.

نحوه تعريف تابع :

(اسامي پارامترها و نوع آنها ) نام تابع     نوع تابع

{

بدنه تابع

}

   ·          منظور از نوع تابع يكي از انواع داده أي در زبان c  يا ساختارها وانواع داده ها تعريف شده توسط كاربر است.

   ·          تعيين نوع تابع اختياري است و اگر نوعي تعيين نگردد كامپايلر زبان c  فرض مي كند كه نوع تابع int  است.

   ·          نام تابع از قانون نامگذاري براي متغيرها تبعيت مي كند.

   ·          اسامي پارامترها شامل متغيرهايي است كه بايد به تابع منتقل شوند

   ·          نوع پارامترها مي تواند در همان ليست پارامترها يا قبل از {  ذكر شود.

int func(int i , char c){

.

.

.

}

 

int func(i,c)

   int i;

   char c;

{

.

.

.

}

   ·          پارامتر ها با كاما جدا مي شوند .

   ·          فراخواني تابع بوسيله نام آن به همراه آرگومانهاي واقعي انجام مي شود.

   ·          اگر تابعي حتي هيچ پارامتر نداشته باشد بعد از نام آن () قرار مي گيرد .

   ·          تعريف يك تابع در داخل  تابع ديگر امكان پذير نيست ولي فراخواني سطوح مختلف توابع ممكن است .

   ·          در موقع فراخواني توابع بايد تعداد و نوع آرگومانها با تعداد و نوع پارامترها يكسان باشند.

توابع ازنظر تعداد مقاديري كه برنامه فراخواننده بر مي گردانند:

1-     توابعي كه هيچ مقداري را بر نمي گردانند : به اين توابع توابع نوع void گفته مي شود

2-     توابعي كه فقط يك مقدار را بر مي گردانند .

3-     توابعي كه چند مقدار را بر مي گردانند .

انواع فراخواني

1-    فراخواني توسط ارزش (call by value)

   ·          در اين روش مقدار آرگومان تابع،در پارامتر متناظر با آن كپي ميشود لذا هرگونه تغييري در پارامترها هيچگونه تاثيري در مقدار آرگومانها نخواهد داشت. بنابراين در اين روش هيچ مقداري توسط پارامترها و آرگومانها به تابع فراخواننده ، برگرداننده نمي شودو فقط مي توان يك مقدار را با استفاده از دستور return   به برنامه فراخواننده بر گرداند.

int add (int &i) {

   i++;

}

.

.

.

add(i);

 

2-    فراخواني توسط ارجاع (call by reference)

   ·          در اين روش ، آدرس آرگومان بجاي مقدار آرگومان در پارامتر كپي مي شود و اين بدان معني است كه در فراخواني توسط ارجاع ، پارامتر حاوي آدرسهاي آرگومانها هستند . لذا تغييرات در محتويات اين آدرسها به تابع فراخواننده بر مي گردد.

int add (int *i)  {

   i++;

}

.

.

.

add (&i);

 

بخش سوم

آرايه ها

   ·          به ساختمان داده اي خطي كه عناصر آن در حافظه به دنبال يكديگر قرار گرفته و داراي اسم واحدي باشند آرايه گفته مي شود.

   ·          دسترسي به هر يك از عناصر توسط نام آرايه و محل قرار گرفتن اين عنصر در آرايه انجام مي شود .

   ·          نامگذاري آرايه ها از قانون نامگذاري متغيرها تبعيت مي كند..

   ·          انديس آرايه ها در c  از صفر شروع مي شود.

int temp [5];

temp

 

 

 

 

 

 

temp[0]

temp[1]

temp[2]

temp[3]

temp[4]

آرايه هاي يك بعدي

نحوه تعريف :

نام آرايه     نوع آرايه [طول آرايه ];

   ·          طول آرايه،عددي صحيح است كه تعدادعناصر آنرا مشخص ميكند.

محاسبه حافظه مورد نياز آرايه :

مقدار حافظه = sizeof(نوع آرايه ) *تعداد عناصر آرايه

   ·          در زبان c كنترل محدوده (bounds checking)  نداريم و بعنوان مثال مي توان بدون هيچ خطايي از طرف كامپايلر به موقعيتهايي بالاتر از طول آرايه دسترسي داشت ولي بديهي است كه نتيجه مطلوبي حاصل نخواهد شد و ممكن است با مقدار دهي عناصر خارج از بازه طول آرايه ، متغيرهاي ديگر برنامه را مقدار دهي كنيم.

   ·          نام آرايه در c  بعنوان اشاره گري به ابتداي آرايه مي باشد كه آدرس مي باشد كه آدرس شروع آرايه را دارد . لذا در دستور scanf() چنانچه بخواهيم مقداري براي عنصر خانه صفر بخوانيم نيازي به علامت &  نيست.

scanf(“%d” , list);

 

آرايه هاي چند بعدي

نحوه تعريف :

نام آرايه    نوع آرايه [طول بعد 1] [طول بعد 2] . . .[nطول بعد];

   ·          عناصر آرايه در محلهاي متوالي حافظه و بصورت سطري ذخيره مي گردند .

ارزش دهي اوليه به آرايه ها

نحوه تعريف :

نام آرايه    نوع آرايه [طول بعد 1][طول بعد 2]…[nطول بعد]={مقادير};

   ·          مقاديري كه در داخل {} قرار مي گيرند به ترتيب به عناصر آرايه نسبت داده مي شوند.

int array[2][3]={1,2,3,4,5,6};

int table[2][3]={3,4};

int array2[2][3]={{1,2,3},{4,5,6}};

int three_d[3][2][3]= {{{1,2,3},{5,6,7}},{{7,9,3},{4,6,8}},{{7,2,6},{0,1,9}}};

   ·          اگر در هنگام مقدار دهي اوليه آرايه مقاديري بيشتر از ابعاد آرايه به عناصر آن نسبت دهيم با خطا مواجه مي شويم.

   ·          چنانچه به حداقل يكي از عناصر آرايه هاي عددي مقدار صفر(يا هر مقدار ديگري) را اختصاص دهيم مقادير بقيه عناصر به طور خودكار صفر مي شود و اگر به حداقل يكي از عناصر آرايه هاي كاراكتري,كاراكتر و يا ‘\0’ را نسبت دهيم مقادير ديگر عناصر نيز ‘\0’ خواهد شد. اين مطلب در صورتي صادق است كه تمام عناصر آرايه رامقدار دهي نكنيم.

int i[5][10] = {0};

 

آرايه ها بعنوان آرگومان تابع

   ·          اگر آرگومان تابع يك آرايه باشد در حين انتقال با تابع فقط بايد اسم آن را بدون انديس ذكر كرد.

   ·          اگر بخواهيم آرايه را به عنوان پارامتر تابع تعريف كنيم به سه طريق مي توان اينكار را انجام داد:

1-     بوسيله اشاره گر

2-     بوسيله آرايه اي با طول مشخص

3-     بوسيله آرايه اي با طول نا مشخص

func1(int * list)

{بدنه تابع 1}

func2(int list[10])

{بدنه تابع 2}

func3(int list[ ])

{بدنه تابع 3}

main ()

{

   int arr[10];

   func1(arr);

   func2(arr);

   func3(arr);

}

 

   ·          اگر آرايه اي كه بعنوان آرگومان تابع ذكر مي شود دو بعدي باشد در موارد 1و2 مشكلي نخواهد بود , اما در مورد سوم كه پارامتر آرايه بدون طول مي باشد بايد تعداد ستونهاي آرايه حتماً مشخص گردد. بطور كلي درآرايه هاي n  بعدي بايد طول ابعاد دوم به بعد مشخص گردد.

func4(int templist[ ][4])

{بدنه تابع}

main ()

{

   int myarr[8][4];

   func4(myarr);

}

 

رشته ها

   ·          در c  رشته ها بصورت آرايه اي از كاراكتر ها (نوع char) هستند كه به null ختم مي شوند .

   ·          براي نمايش null از ‘\0’  استفاده مي شود .

   ·          معمولا به دليل اينكه رشته بايد به ‘\0’  ختم شود طول رشته ها را يكي بيشتر طول مورد نياز مي گيريم .

   ·          در صورت استفاده از توابع  c كامپايلر كاراكتر null  را به انتهاي رشته ها اضافه مي كند و نيازي نيست كه برنامه نويس آنرا قرار دهد.

char name [6];

strcpy (name , “abc”);

 

A

b

c

\0

 

 

0

1

2

3

4

5

 

مقدار دهي اوليه به رشته ها

براي اينكار دو روش وجود دارد:

1-     روش اول مشابه با مقدار دهي اوليه به آرايه ها است . چون رشته آرايه اي از كاراكتر ها مي باشد در اين روش بصورت كاراكتر مقدار دهي مي كنيم و در انتها نيز بايد كاراكتر ‘\’\0’را قرار دهيم..

char string[] = {‘c’, ‘a’ , ‘r’ , ‘\0’};

2-     در اين روش متن در بين دو علامت كوتيشن “ “”  قرار مي گيرد و  نياز به گذاشتن كاراكتر ‘\0’  در انتهاي رشته نيست چون كامپايلر اين عمل را انجام مي دهد .

char string[] = ”car”;  يا                      char string[] = {“car”};

   ·          در مقدار دهي اوليه به رشته ها اگر طول رشته مشخص نگردد, به تعداد كاراكتر هايي كه به آن نسبت داده مي شود به اضافه كاراكتر null عنصر منظور خواهد شد.(در دو مثال بالا طول رشته 4 در نظر گرفته مي شود)

 

آرايه اي از رشته ها

   ·          هر گاه خواسته باشيم تعدادي رشته را در آرايه اي نگهداري كنيم , چون رشته ها خود از نوع آرايه هستند بايد آرايه اي از آرايه ها را تعريف كنيم

char list [4][21]= {“ali“ , “taha” , “ parsa” , “siavash”};

 

 

توابع رشته اي

gets()

براي خواندن رشته ها از صفحه كليد بكار مي رود .

شكل كلي :

gets(متغير رشته اي );

   ·          تفاوت gets() و scanf() در ورودي رشته ها اين است كه scanf()  رشته ها را پيوسته در نظر مي گيرد يعني اگر دربين رشته از فاصله استفاده شود و يا tab  استفاده شود از اين كاراكتر به بعد بعنوان رشته ديگري در نظر گرفته مي شود ولي در gets()  اينطور نيست و تا زماني كه كليد enter  فشرده نشود رشته پايان نمي يابد .

puts()

اين تابع براي انتقال يك رشته به خروجي بكار مي رود .

شكل كلي :

puts(عبارت رشته اي );

   ·          تفاوت pust() و printf()  در خروجي رشته در اين است كه puts()  در هر زمان فقط مي تواند يك رشته رابه خروجي ببرد و همچنين استفاده از puts  ساده از printf() مي باشد .

 

توابع دستكاري رشته ها

strcpy()

براي قرار دادن رشته اي در رشته ديگر كاربرد دارد .

شكل كلي :

strcpy(رشته ثابت يا متغير رشته اي , متغير رشته اي  ) ;

char name [11];

strcpy(name , “ali”);

   ·          نكته قابل توجه اين است كه عمليات انتساب مقدار به رشته از طريق اين تابع انجام مي گيرد و استفاده از = امكانپذير نيست .

strncpy()

   ·          n  كاراكتر اول از رشته مبدأ را در رشته مقصد كپي مي كند .

n كاراكتر از رشته  s2 را در متغير S1 قرار مي دهد

strncpy(s1, s2, n)

 

strcat()

   ·          براي الحاق دو رشته بكار مي رود .

رشته s2 را به انتهاي s1 مي چسباند

strcat(s1, s2);

strlen()

   ·          براي تعيين طول يك رشته بكار مي رود.

طول رشته s  را بر مي گرداند

strlen(s);

strcmp()

   ·          براي مقايسه دو رشته بكار مي رود و نحوه كاربرد و نتيجه بصورت زير است :

نتيجه

Strcmp(s1 , s2);

0

s1 == s2

مثبت

s1 > s2

منفي

s1 < s2

strchr()

   ·          جهت جستجوي يك كاراكتر در يك رشته بكار مي رود و محل اولين وقوع آن را بر مي گرداند . اگر كاراكتر مورد نظر وجود نداشته باشد , مقدار صفر (يا null) را بر مي گرداند .

كاراكتر ch  را در رشته s  جستجو مي كند

strchr(s , ch);

   ·          خروجي اين تابع اشاره گري به اولين محل وقوع كاراكتر در رشته است.

strstr()

   ·          براي جستجوي زير رشته اي در يك رشته بكار مي رود . اگر زير رشته مذكور پيدا شود محل اولين وقوع آنرا بر مي گرداند و در غير اينصورت مقدار صفر (يا همان مقدار null) را برمي گرداند.

رشته s2  را در رشته s1  جستجو مي كند

strstr(s1, s2);

 

اشاره گر ها

   ·          اشاره گر (pointer)  متغيري است كه يك آدرس حافظه را در خود نگهداري مي كند.

مزاياي اشاره گر ها

1-     عمل تخصيص حافظه پويا را امكان پذير مي سازد..

2-     كار با رشته ها و آرايه ها را آسانتر مي كند .

3-     فراخواني با ارجاع در توابع . با اشاره گر انجام مي گيرد .

نحوه تعريف :

نوع    * نام متغير اشاره گر ;

   ·          نوع مشخص مي كند كه اين اشاره گر به چه نوعي اشاره مي كند .

   ·          اشاره گر از هر نوعي بايد به متغيري از همان نوع اشاره كند. در غير اينصورت از طرف كامپايلر خطا صادر مي شود , به عنوان مثال اختصاص دهي مقدار بصورت زير اشتباه است :

int *I;

char *j;

I = j;

   ·          عملگر يكاني &  آدرس عملوند خود را بر مي گرداند.

   ·          عملگر يكاني * محتويات يك آدرس حافظه را مشخص مي كند .

   ·          يك اشاره گر معمولاً به ناحيه اي در فضاي heap  اشاره مي كند وخود شامل آدرس آن ناحيه است .

   ·          در c  چنانچه اشاره گري بصورت near  تعريف شود 2 بايت براي نگهداري آدرس محلي كه به آن اشاره مي كند , در نظر گرفته مي شود . پيش فرض تعريف اشاره گرها near  مي باشد .

   ·          اگر در c  اشاره گري بصورت far   تعريف شود 40 بايت براي نگهداري آدرس محلي كه به آن اشاره مي كند , اختصاص داده مي شود .

int near *i;

sizeof(i) = 2

char far *j

sizeof  j=4

 

اعمال روي اشاره گر ها

   ·          مي توان مقداري را به يك اشاره گر نسبت داد .

   ·          مي توان دو اشاره گر ممنوع را به يكديگر نسبت داد كه در اين صورت هر دو به يك مكان اشاره خواهند كرد.

int x;

int *p1 , *p2;

p1=&x;

p2=p1;

 

عمل جمع و تفريق آدرس

   ·          به اشاره گر ها مي توان مقاديري را افزود يا از آنها كم كرد كه اين عمل با توجه به نوع اشاره گر انجام مي شود و به اندازه حاصلضرب مقدار مورد نظر در طول نوع اشاره گر به آدرس موجود در اشاره گر اضافه يا كم مي شود .

int *p,x=3;

p=&x;

p++;

   ·          در اين مثال اگر مثلاً p  به آدرس 2000 حافظه اشاره مي كرد حالا با اين افزايش به مكان 2002 حافظه اشاره مي كند .

   ·          اعمال ضرب و تقسيم بر روي اشاره گر ها تعريف نشده است .

 

عمل مقايسه اشاره گر ها

   ·          با استفاده از عملگر هاي رابطه اي ميتوان اشاره گر ها را با يكديگر مقايسه كرد. كه در اينحالت آدرس ها با يكديگر مقايسه مي شوند .

int x=3,y=5;

int *p1, *p2;

p1=&y;

p2=&x;

if (p1<p2) then printf(“true”);

 

اشاره گر و آرايه

   ·          اسم آرايه در c  در واقع اشاره گري به ابتداي آرايه در حافظه است . بعبارت ديگر اسم آرايه آدرس اولين محلي را كه عناصر آرايه از آنجا به بعد در حافظه قرار دارند و در خود نگهداري مي كند .

   ·          براي دسترسي به عناصر آرايه علاوه بر انديس مي توان از اشاره گر نيز استفاده كرد.

int temp [5];

 

0

1

2

3

4

temp

 

 

 

 

 

 

*temp

*(temp+1)

*(temp+2)

*(temp+3)

*(temp+4)

 

temp[0]

temp[1]

temp[2]

Temp[3]

temp[4]

 

اشاره گر هاي رشته اي

   ·          گفته شد كه رشته ها در حقيقت بصورت آرايه اي از كاراكتر ها تعريف مي شوند و چون به آرايه ها از طريق اشاره گر مي توان دسترسي داشت , رشته ها را نيز مي توان بصورت اشاره گر تعريف نمود.

char _ count (char *s, char letter)

{

   int count=0;

   while (*s)

      if (*s++ = = letter ) count++;

   return (count);

}

 

مقدار دهي اوليه به رشته ها به عنوان اشاره گر

   ·          اين مقدار دهي اوليه مشابه مقدار دهي اوليه به رشته هاي آرايه اي است .

   ·          وقتي رشته ها بصورت اشاره گر تعريف مي شوند , بخصوص در مواقعي كه طول عناصر مختلف آن , متفاوت باشد موجب صرفه جويي در ميزان حافظه مي گردند.

char lisr [3][8]={“ali “ , “ reza” , “ behnam”};

انديس

 

 

 

 

 

 

 

List[0]

a

l

i

\0

 

 

 

List[1]

r

e

z

a

\0

 

 

Lilst[2]

b

e

h

n

a

m

\0

 

char *list[3]={“ali”, “reza” , “behnam”};

انديس

 

 

 

 

 

 

 

list[0]

a

l

i

\0

 

 

 

list[1]

r

e

z

a

\0

 

 

lilst[2]

b

e

h

n

a

m

\0

 

اشاره گر به اشاره گر

   ·          اگر متغيري آدرس يك اشاره گر ديگر را داشته باشد , اشاره گر به اشاره گر است .

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

 

int x, *p, **q;

x=10;

p=&x;

q=&p;

printf(“%d” , **q);

   ·          اگر آرايه اي از اشاره گرها تعريف كنيم در حقيقت يك اشاره گر به اشاره گر تعريف كرده ايم .

 

بخش چهارم

ساختمان (structure)

   ·          ساختمان مجموعه اي از متغيرها است كه مي توانند غير هم نوع نيز باشد.

Struct    نام ساختمان {

                          اجزاي ساختمان  

};

   ·          نام ساختمان از قانون نام گذاري متغير ها تبعيت مي كند.

   ·          اجزاي ساختمان همانند يك متغير معمولي يا آرايه تعريف شود و نوع آن مشخص مي شود .

   ·          دستور   structبه ; ختم مي شود

   ·          پس از تعريف سا ختمان جهت استفاده از آن بايد متغيرهاي از اين نوع تعريف كرد و سپس از اين متغيرها استفاده نمود تعريف متغيرها از نوع يك ساختمان به سه صورت زير ممكن است.

Struct  اسامي متغيرها    نام ساختمان  ;

struct   نام ساختمان  {

اجزاي ساختمان  

} اسامي متغيرها  ;

 

struct my_ struct {

   char  name [80], phone_number[80]

   int age,height;

} my_friend;

struct  my_strduct mf1;

my_strduct mf2;

   ·          جهت دسترسي به هريك از اجزاي ساختمان مي توانيم از دو عملگر نقطه(.)براي اجزاي معمولي  عملگرà  براي اجزاي اشاره گري استفاده نمود.

strcpy (mf1.name , "ali”);

mf1.aGE=15;

مقدار دهي اوليه به ساختمان

   ·          به متغيرهاي نوع ساختمان مي توان همانند آرايه مقدار دهي اوليه داد .كه براي اين منظور مقدار اوليه در بين علامتهاي } و { قرار مي گيرد و با كاما از يك از هم جدا مي شود.

   ·          اين مقادير بترتيب به اجزاي ساختمان نسبت داده مي شود اولين مقدار به اولين جز, دومين مقداربه دومين جزnمقدار به n ام جز نسبت داده مي شود.

   ·          اگر تعداد مغادير از تعداد اجزاي ساختمان كمتر باشد مقدار بقيه اجزا صفر واجزاي رشته اي برابر null خواهد شد.

structstudent{

   char name[21];

   char address[30];

   intgread[10];

   int id;

};

struct student st1 = {“ali” , “mashhd”, {10, 15}, 100};

struct student st2 = {“ahmad” , '\0' , {15, 20},101};

struct student st3 = {“reza”};

struct student st4 = {0};

انتساب ساختمانها به يكديگر

   ·          انتساب ساختمانها از يك نوع به يك ديگرامكان پذير است .

   ·          اگر يك جز ساختمان خود ساختمان باشد براي دسترسي به اجزاي آن بايد اسامي ساختمانهااز بالاترين به داخلي ترين ذكر كنيم.

struct student s1 , st;

gets(s1.name);

gets (s1.address);

for (int i=0; i<10; i++) scanf(“%d”, s1.gread[i]);

scanf(“%d”, s1.id);

s2 = s1;

printf("%-2.5s%-3.5s%-4d",s2.name,s2.address,s2.id);

تعريف ساختمان بصورت تو در تو

   ·          اجزاي يك ساختمان مي تواند يك متغير معمولي آرايه و يا يك ساختمان باشد.

struct date{

  int year;

  int month;

  int day; };

struct person {

   char name [15];

   struct date b_date; } p1;

p1.b-date .yer=1356;

p1.b-date .month=2;

p1.b-date .DAY=22;

انتقال ساختمان به تابع

   ·          براي انتقال اجزا به تابع همانند يك متغير معمولي عمل مي شود(البته با رعايت نحوه دسترسي )

   ·          براي انتقال كامل متغيرهاي ساختمان اين متغيزها مي توانند بعنوان پارامتر واقعي متناظر با پارامتر مجازي همنوع به تابع ارسال شوند

(فراخواهي توسط ارزش)همچنين مي توان أدرس يك ساختمان ارسال نمود (فراخواني توسط ارجاع)

main() {

   void list(struct person x);

   struct person p1  = {“hosin”, {2001, 10, 30}};

   list(p1);

}

void list(struct person x) {

   printf(“\nPerson information");

   printf(“\nname:%s",x.name);

   printf(“\nbirth day : %d / %d / %d”,

             b_date.yare,x.b_date.month,x.b_date.day);

اشاره گر به ساختمان

موارداستفاده :

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

      2.         براي ايجاد ليست هاي پيوندي و ساير ساختمانهاي داده پوياكاربرد دارد

   ·          براي دسترسي به اجزاي ساختماني كه يك اشاره گر به آن اشاره مي كند به دو روش مي توان عمل كرد :

      1.         دسترسي به ساختمان از طريق محتويات  آدرس و سپس نام جز كه با نقطه از هم جدا شده اند

streuct person*q;

strcpy((*q).name,”hosein”);

(*q).b_date.day=22;

      2.         استفاده از عملگر à كه روش متداول تري است.

strcpy(q->name, “hosein”);

q->b_date.day=22;

ساختمان هاي بيتي

   ·          با استفاده از اين ساختار مي توان به بيتهاي خاص از يك بايت دسترسي داشت و ساختارهايي راكه شامل بيت ها هستند توليد نمود.

دلايل استفاده :

   ·          اگر محدوديت حافظه وجود داشته باشد

   ·          در حين ارتباط با دستگا هاي خارجي

   ·          ارتباط با زير برنامه هاي سيستم

شكل كلي :

structنام ساختمان بيتي    {

   طول فيلد 1 : نام فيلد 1  نوع فيلد يك 

   طول فيلد 2 : نام فيلد 2  نوع فيلد دو

  

};

   ·          نام ساختمان از قانون نامگذاري متغيرها تبعيت مي كند

   ·          طول فيلدها بر حسب بيت است

   ·          هر يك از فيلدها مي توانند از نوع unsignedint int و يا signed int باشند فيلد هايي كه طول آن ها يك است بايد از نوع unsigned  انتخاب شوند  زيرا بيت 1  نميتواند شامل علامت هم باشد.

   ·          براي دسترسي به اجزا ساختمان از نقطه استفاده مي شود.

   ·          جهت تخصيص به تعداد بايتي كه مجموع طول فيلدها را در بر بگيرد حافظه مي گيرد.

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

   ·          يك فيلد در ساختمان بيتي نمي تواند بصورت ارايه باشد

struct device {

   unsigned int status : 1;

   unsigned int is_actios : 1;

   int counter : 3 };

شماره بيت

0

1

2

3

4

5

6

7

 

   ·          مي توان تر كيب از ساختمان معمولي و ساختمان بيتي تعريف نمود.

struct emp{

   struct date b_date;

   float pay;

   unsigned hourly:1;

   unsignedshifted:1;

int r_age:2; };

 

ساختمان union

   ·          محلي از حافظه است كه توسط دو يا چند متغير بصورت اشتراكي مورد استفاده قرار مي گيرد.

   ·           متغير هاي اتحاد به صورت همزمان نمي توانند از اين محل استفاده كنند.

نحوه تعريف

union نام ساختار   {

   اجزاي ساختار

};

   ·          نام union از قانون نام گداري متغيرها تبعيت مي كند

   ·          نحوه تعريف اجز ا unionو متغير هاي نوع union مثل تعريف اجزا و متغير هاي نوع ساختمان است

   ·          طول يك union به اندازه طول فيلدي است كه بيشترين طول دارد

   ·          به عنوان مثال union  زير چهار بايت فضا اشغال مي كند.

union u_type{

   int i;

   char ch;

   float f };

شماره بايت

0

1

2

3

 

بررسي چند ساختار داده اي

ساختار ليست پيوندي

يك ليست پيوندي يك طرفه در c بصورت زير تعريف ميشود

struct link_list {

   int date;

   link_list *next; } *list;

ساختار درخت دودويي

struct b_tree {

   int date;

   b_tree *lchild, *rchild;

} *root;

 

تغير نام داده ها با typedef

   ·          با استفاده از اين دستور مي توان براي نوعهاي ابتداي مثل char , int,..... و همچنين نوع هاي ساحت يافته تعريف شده در برنامه اسم ديگري انتخاب نمود

مزايا

      1.         موجب قابل حمل بودن زبان c مي شود.

      2.         موجب مي شود تا نوع داده ها ي طولاني اسم ساده تري انتخاب نمود.

نحوه كاربرد :

typedefاسم جديد   نوع موجود      ;

typedf unsigned int subint;

subint var 1 , var2;

نوع داده ها شمارشي

   ·          بوسيله اين نوع مي توان عناصر يك مجموعه متناهي را نام گذاري كرده و سپس متغير هاي را تنعريف نمود تا مقادير آن مجموعه را بپذيرند.

نحوه تعريف:

enum نام شاخص {،عنصر 2، عنصر 1 …. } نام متغير ;

enum color{red, blue, green, yellow, brown} color1;

enum color color2;

color1=blue;

color2=yellow;

        ·          به هريك از عناصر نوع مقدار عددي صحيح نسبت داده مي شود به اولين عنصر مقدار صفر و به دومين مقدار يك و به nام مقدار n-1 داده مي شود

        ·          برنامه نويس مي تواند مقادير داده شده به عناصر را تغير دهد كه براي اين منظور مقدار مورد نظر براي عنصر را بوسيله علامت مساوي قرار مي دهيم

enum sample{a,b=5,c,d}

در اين دستور مقدارصفر به aو مقدارپنچ به b و مقدارشش به cو مقدار هفت به d نسبت داده مي شود

        ·          نبايد متغيرهاي هم نام با عناصر نوع شمارشي در برنامه وجود داشته باشد در غير اين صورت خطا گرفته مي شو د بديهي است كه عناصر نوع شمارشي نبايد تكراري باشد

        ·          عناصر نوع شمارشي را فقط مي توان در خروجي نوشت

 

enum {a,b,c = 3,d}

printf("%d",c);

        ·          بازده عددي كه مي توان به عناصر نوع شمارشي نسبت  داد همان بازده اعداد صحيح علامت دار است در صورت نسبت دادن خارج از بازده عددي خطا گرفته مي شود

تحصيص حافظه پويا

در بعضي ارمواقع در هنگام اجراي برنامه لازم است قسمتي از حافظه اشغال شود  ويا به عبارتي ديگر به متغيرهااختصاص داده شود به چنين تخصيص حافظه ,تخصيص حافظه اي پويا گويند

تابع malloc()

        ·          ازاين تابع جهت تخصيص حافظه به اندازه دلخواه استفاده ميشود

شكل كلي

void *malloc(unsigned int size)

        ·          در صورت موفقيت اخذ حافظه از سيستم malloc يك اشاره گر به مكان جديد اختصاص داده شد ه بر مي گرداند

        ·          در صورت بروز خطا (به عنوان مثال وجود نداشتن فضاي خالي ) mulloc مقدار null را بر مي گرداند و محتويات اشاره گركه قراربوده است حافظه به ان اختصاص داده شو د بدون تغيير باقي خواهد ماند

        ·          چنانچه پارامتر size برابر 0 باشد mallocمقدار null را بر مي گرداند

struct link_list *list;

list = (link_list *)malloc(sizeof(link-list));

تابع calloc

اين تابع نيز جهت تخصيص حافظه پويا مورد استفاده قرار مي گيرد

شكل كلي

void*calloc(unsiged nitems , unsigmed size)

        ·          calloc دسترسي به حافظهheap امكان پذير مينمايد اين تابع به ميزانnitems*size (به بايت) حافظه اشغال مي كند

تابع realloc()

اين تابع جهت تغير ميزان حافظه احختصاص داده شده به يك اشاره گر مورد استفاده قرار مي گيرد

شكل كلي

void *realloc(vaid*ptr,unsigned size);

        ·          اين تابع براي اشاره گر ptr  مجددا به اندازه size حافظه اشغال مي كند و محتويات اشاره گر قبلي را به مكان جديد كپي مي كند

تابع free()

اين تابع فضاي تخصيص داده شده به يك اشاره گر را آزاد مي كند

شكل كلي :

void free(vaid*block);

 

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: شنبه 23 اسفند 1393 ساعت: 23:10 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره رايانه ، فراهم کننده انقلاب آموزشي

بازديد: 103

 

 

رايانه ، فراهم کننده انقلاب آموزشي
 

 

 

 

مقدمه
بحث مربوط به استفاده آموزشي از رايانه در نظام آموزش و پرورشکشورهاي در حال توسعه ، ويژه در دهه اخير ، مورد مطالعه و مداقه وسيع قرار گرفتهاست. هم اينک نيز اين مقوله در دستور کار برنامه ريزان ، مديران ، محققان وانديشمندان آموزش و پروش اين کشور قرار دارد.

اين در حالي است که کشورهايصنعتي تا حدود زيادي به اصول اساسي و راهکارهاي مناسبي براي بهره گيري از اين ماشيندر نظام آموزش هاي رسمي و غير رسمي خود نايل شده اند و به نتايج اميدوار کننده اينيز رسيده اند.  در وضعيت حاضر ، گروهي از انديشمندان و پژوهشگران درباره استفادهآموزشي از رايانه پا را فراتر گذاشته اند ، تا آن جا که ورود رايانه به خانه ومدرسه را مصادف با آغاز يک " انقلاب آموزشي" قلمداد مي کنند. آنان اعتقاد دارند کهرايانه علاوه بر يک منبع آموزشي براي تقويت و توسعه فرايند ياددهي – يادگيري درمدارس ، مي تواند نقش يک منبع يادگيري مستقل ، خود آموز و رونق بخش رويکرد" تداوميادگيري" را براي دانش آموزان ايفا کند و در واقع ، با بهره گيري منطقي از اينماشين آموزشي مي توان آموزش و يادگيري را از دورن کلاس و مدرسه به منازل و محيط هايخارج از مدرسه انتقال داد. علاوه بر اين ، رايانه اين توانايي را دارد که بازويمديريت نظام آموزش و پرورش – هم در ابعاد مديريت کلان نظام و هم مديريت کلاس ومدرسه – باشد.

اما نکته  اصلي اين است که چگونه مي توان به اين امتيازارزشمند و تاريخي رايانه در عرصه فعاليت هاي آموزشي دست يافت ؟
در اين بارهگفتني است که قبل از هر اقدامي در يک جامعه ، بايد توانايي ها و هنرهاي آموزشيرايانه را مديران و برنامه ريزان نظام آموزش و پرورش آن جامعه باور کرده باشند وسپس ترتيبي اتخاذ کنند تا معلمان و مديران مدارس نيز آن را همانند پذيرش يک نوآوريآموزشي براي تقويت و توسعه فرايند ياددهي – يادگيري و همچنين مديريت آموزشي کلاس ومدرسه بپذيرند و در فعاليت هاي آموزشي خود به آن اعتماد کنند. در اين صورت ، قطعاًتحولي بنيادين براي بروز " انقلابي آموزشي " در نظام آموزش و پرورش آن جامعه بناگذاشته شده است.

آموزش رسمي کافي نيست !
همه مسؤولان و مديراننظام آموزش و پرورش ممالک در حال توسعه بايد به اين آگاهي برسند که در عصر اطلاعات، صرفاً تأمين " آموزش رسمي " براي دانش آموزان کافي نيست! وظيفه  آنها بس سنگين تراست ؛ زيرا دانش آموزان " عمر" خود را در مدرسه مي گذرانند و نبايد آنان را ازاستفاده بهينه از عمرشان محروم کرد. مگر قريب به 12سال از عمر يک انسان تا ايناندازه کم ارزش است که تنها به مجموعه اي از اطلاعاتي محدود شود که در اختيار اوقرار مي دهند.

دانش آموز حق دارد در کنار بر خورداري از آموزش رسمي ، از  سال هاي مديد عمر خويش بهتر استفاده کند ، با توانايي هاي افزون تري براي زندگيبزرگ سالي آماده شود و با قدرت سازگاري بيشتر با محيط پيرامون خويش به تعادل برسد. نظام آموزش و پرورش بايد بتواند ، علاوه بر برنامه هاي درسي رايج – آموزش رسمي – باروش هاي نو ، خدمات متعددي به دانش آموزان ارائه کند. آموزش بهتر ، مؤثرتر و کيفيتر هنگامي معناي واقعي پيدا خواهد کرد که همه مسؤولان و دست درکاران نظام آموزش وپرورش وظيفه شغلي و بويژه وجداني و اخلاقي خود را به خوبي انجام دهند ، انعطاف پذيرباشند و براي نقش دانش آموزان در آينده دل بسوزانند.

يکي از خدمات ارزندهاي که براي تحقق مطالب ياد شده بسيار مؤثر خواهد بود ، خدمات رايانه اي است. رايانهاين آمادگي را دارد که " هرجا" و "هر زمان" که لازم باشد ، در اختيار دانش آموزانقرار گيرد تا در آينده ، هنگامي که به هر يک از آن ها نقشي از سوي جامعه محول ميشود( پزشک ، معلم ، فيزيک دان ، کاسب ، تاجر و حتي خانه دار) ، از آن براي تأمينعلائق و رفع نيازهاي خويش و جامعه به خوبي استفاده کنند.

از ديدگاهي گستردهتر ، محصولات آموزش و پرورش " منابع توسعه " جامعه هستند ؛ منابعي که سبب توسعهاقتصادي ، اجتماعي و فرهنگي آن جامعه خواهد شد. جامعه به انسان هايي نياز دارد کهبراي تصدي مشاغل مؤثر در توسعه امروز و فرداي آن ( که روز به روز پيشرفته تر وپيچيده تر مي شود) ، آمادگي کامل داشته باشند. تربيت چنين انسان هايي در صورتي ميسراست که دانش آموزان با استفاده از شرايط و امکانات جديد عصر خود به سوي " خودآموزي" و " استقلال آموزشي" ، يعني نا وابستگي به معلم و مدرسه ، گرايش پيدا کنند. اين در حالي است که رايانه به عنوان " ماشين آموزشي " و " نماد" پيشرفت فناوري سدهاخير ، مي تواند دانش آموزان را در اين راه ياري کند. با استفاده از رايانه ، دانشآموزان موفق خواهند شد، از طريق " خود آموزي" و " تداوم يادگيري" ، عمر خود راداوطلبانه واز روي علاقه ، صرف توانمند کردن خويش در عرصه هايي گسترده تر از برنامههاي درسي جاري در مدارس کنند.

رايانه و انقلاب آموزشي
همه دانشآموزان به دليل پوشيدن لباس هاي همسان ( اونيفورم) که مدرسه آنان را وادار بهپوشيدن کرده است ، ظاهري يک سان و به هنجار دارند. اما بايد توجه داشت که در دروناين لباس هاي همسان انسان هايي وجود دارند که از جنبه هاي گوناگون با هم تفاوت هاياساسي و گاه بسيار فاحشي دارند. اين تفاوت ها عموماً مشکلات و موانع متعددي برايمعلم و نظام آموزشي ايجاد مي کند.

تفاوت هاي فردي مسأله اي است که فکرانديشمندان تعليم و تربيت را براي مدت هاي طولاني به خود مشغول کرده است و همه  آنان در تلاش هستند ، با توجه به محدوديت منابع ، به نوعي اين مشکل را از سر راهتعليم و تربيت بردارند. تفاوت هاي فردي ، در واقع مانعي براي موفقيت آموزش گروهي درمدارس است . بدون شک تا حل نشدن اين مشکل ، زمينه هاي مساعدي براي آموزش فردي وجودنخواهد داشت.

براي تدريس يک موضوع يا هدف آموزش خاص ، گرچه ممکن است امکاندسترسي به آزمايشگاه ، فيلم و يا نمايشگاه مناسب وجود داشته باشد ، اما بايد آگاهبود که در هر صورت ، نوع انتخاب و شيوه استفاده از هر کدام ، بستگي به معلم دارد. معلم با توجه به نيازهاي فردي و تفاوت سبک هاي يادگيري دانش آموزان ، ابزار و رسانهمناسب را انتخاب مي کند و براي تدريس و يادگيري بهتر آنان ، به شيوه اي منطقي از آنبهره مي گيرد. در واقع ، معلم مي تواند ( جدا از ساير عوامل مؤثر) با انتخاب و بهکار گيري مناسب و صحيح ابزارها و روش هاي آموزش ، از يک دانش آموز پزشک يا فيزيکدان بسازد.

به عبارت ديگر ، او بايد خصوصيات فردي هر دانش آموز را شناساييکند و براي نياز هاي او راهبردهاي آموزشي مناسبي تدارک ببيند( آموزشانفرادي).
امروزه ثابت شده است که رايانه مي تواند اين مشکل را حل کند. همه دانشآموزان مي توانند ، بر پايه نيازها و خصوصيات فردي خويش از رايانه کمک بگيرند و بااتکا به " خود – ارزش يابي " که ارمغان ديگر رايانه است ، وضعيت خود را براي نيل بههدف هاي آموزشي پيش بيني شده ارزيابي کنند. از اين رو ، اينک رايانه به منزلهابزاري توانا براي اجراي راهبردهاي " آموزش انفرادي " شناخته شده است و معلم نيز ميتواند ، با توجه به ويژگي ها و نيازهاي هر دانش آموز ، از آن بهره برداري کند.

برخي معتقدند ، استفاده از رايانه در فرايند آموزش و يادگيري ، در واقع يک " انقلاب آموزشي" است. اما چگونه در آموزش انقلاب رخ خواهد داد؟ آيا از طريق ايجاديک موج يا شعله جادويي ، مي توان معلمان خارق العاده اي تربيت کرده تا اين انقلابرا به منصه ظهور برسانند ؟ يقيناً پاسخ منفي است ؛ زيرا تقويت و توسعه دانش ، مهارتو توانمندي هاي معلم فقط يک روي سکه است . روي ديگر سکه آن است که براي او ، باتأمين خدمات و پشتيباني آموزشي لازم ، محيط مساعد فراهم شود.

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

بنابر اين ، تحقق انقلاب آموزشي، يعني استفاده از رايانه در فرايند ياددهي – يادگيريبا عوامل متفاوتي ارتباط داردکه مهم ترين آن ها سه عنصر زير است :
1-
دانش آموز
دانش آموزان ، درصورتي براي يادگيري بهتر ، با علاقه به رايانه رو مي آورند که با آن " خو" گرفتهباشند. انديشمندان پيشنهاد مي کنند ، با درنظر داشتن ويژگي ها ، علائق و نيازهايدانش آموزان و براي عادي ساختن روابط آنان با رايانه ، در مدارس " باشگاه رايانه" تأسيس شود. در صورت تحقق اين امر ، هر دانش آموز مي تواند بنابر تمايلات خود ، ازامکانات موجود در باشگاه رايانه مدرسه که داراي انواع نرم افزار و سخت افزار است ،استفاده کند. در اين باشگاه ها ، معمولاً علاوه بر سخت افزار و نرم افزار هاي مناسبآموزشي و درسي ، نرم افزارهاي تفريحي ، اطلاعات عمومي ، آموزش ماشين نويسي ، انواعبازي ها ، فيلم هاي ويديويي و... موجود است. بر اين اساس دانش آموزان به تدريج بهکار با رايانه علاقه مند مي شوند و با آن " خو" مي گيرند. دراين فرايند ، آنها ارزشهاي رايانه را به منزله  يک وسيله کمک آموزشي باور خواهند کرد.

2-
معلم
معلم بايد به اين طرز تلقي برسد که خوب يادگرفتن مطالب درسي توسط دانشآموزان ، با بهره گيري آنان از رايانه پيوند کامل دارد و در نتيجه ، انجام وظيفه اوبه کمک رايانه اثر بخش تر و آسان تر خواهد شد. بنابر اين ، معلم نيز همانند دانشآموزان ، بايد قبل از هر اقدامي براي بهره برداري از رايانه در فرايند تدريس ،کاملاً آماده شود.
براي نيل به مقصود فوق ، بايد کار را از دوره هاي تربيت معلمشروع کرد. ضرورت امر تا آن جاست که تربيت معلمان علاقه مند به استفاده از رايانه درفرايند ياددهي – يادگيري ، خود زمينه اصلي بروز انقلاب آموزشي را فراهم مي آورد وبايد از اهداف بنيادي نظام آموزش و پرورش کشورهاي در حال توسعه محسوب شود. حتي برخياز انديشمندان آموزش و پرورش پا را از اين هم فراتر گذاشته اند و اعتقاد دارند کهيکي از ملاک هاي ارزشيابي شغلي معلم ، بايد ميزان استفاده او از رايانه باشد.

3-
مديران آموزشي
وظيفه سومين عنصر آموزش ، يعني مديران مدارسبراي تحقق انقلاب آموزشي – پشتيباني از توسعه ارتباط متقابل معلم ، دانش آموز ورايانه است. آنان بايد اين ارتباط را از طريق حمايت معلم و تأمين تسهيلات آموزشيمربوط به رايانه ، به سويي سوق دهند که دانش آموزان به اين انگاره دست يابند کهبراي موفقيت بايد ؛ به " خود- آموزي" روي آورند و رايانه عاملي کليدي براي خودآموزي و گسترش دانش و مهارت هاي مورد نياز آنان است . بديهي است ، " خود – آموزي " فرايندي است که از سال هاي دور تا کنون مورد توصيه روان شناسان تربيتي بوده است واصل مهم و اساسي براي " تداوم يادگيري "محسوب مي شود.

رايانه و تداوميادگيري
تاکنون درباره فنون ، الگوها و کارکردهاي مديريت نظام آموزش سخنبسيار گفته شده است . امّا ، امروزه درباره کارکردهاي مديريت کار آمد و اثر بخشنظام هاي آموزشي ( در تمامي ابعاد واجزاي آن ) نگرش حاکم و پرطرف دار ، نگرشي استکه مي گويد : " اصلي ترين وظيفه مديريت آن است که به شيوه اي مناسب و مؤثر ، امکانيادگيري دانش آموزان را با تأکيد بر " نظام تداوم يادگيري " – در مدرسه و خارج ازمدرسه – فراهم کند. "

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

اکنون درکشورهاي صنعتي ، اين نگرش – مديريت نظام تداوم يادگيري – در اغلب مؤسسات و سازمانهايي که به نوعي فرايند آموزش در آنها جريان دارد ( سازمان هاي صنعتي ، کشاورزي ،خدماتي ، ارتش و...) حکم فرماست.
در اين باره که چگونه اين نگرش مي تواند درنظام آموزش و پرورش ( رسمي و غير رسمي ) نيز به خدمت گرفته شود ، پژوهش ها وتحقيقات متعدد و فراواني صورت پذيرفته است. برخي از محققان به اين يافته رسيده اندکه يکي از رهيافت هاي مناسب و مؤثر براي تقويت و توسعه عملي " تداوم يادگيري" ، بهخدمت گرفتن" ابزار" مناسب توسط مديريت نظام آموزشي است. در واقع ، بر پايه اينرهيافت ، مديريت نظام آموزشي باور کرده است که " ابزار" جزئي از روش منطقي و مستدلبراي حل مسائلي است که جامعه و دانش آموز با آن درگير هستند.

مديران موافقبا رهيافت مذکور ، " ابزار" را به منزله  عنصر تسهيل کننده  يادگيري مورد استفادهقرار داده اند و تلاش خود را براي ترويج و گسترش آن به کار گرفته اند.
در وضعيتکنوني ، ابزارهاي متفاوتي وجود دارد که به منزله " نوآوري آموزشي" مي تواند ، دراختيار مديران نظام هاي آموزشي قرار گيرد. اما ، همه  نظرها و توجّهات به سوي يک " ابزار"- که لقب سر آمدترين پديده فناوري قرن را به خود گرفته است – يعني " رايانه" معطوف شده است.

اکنون رايانه را يکي از مناسب ترين ابزارهاي موجود برايتحقق اين رهيافت مي شناسند ؛ به گونه اي که دست اندر کاران مسائل آموزشي اغلب ممالکبه اين باور رسيده اند که حتي در شرايط و وضعيت هاي پيچيده نيز رايانه مي تواندبراي نيل به يادگيري نسبتاً پايدار در دانش آموزان ، به ياري مديريت نظام آموزشيبشتابد.

رايانه به منزله  ابزار مديريت
" رايانه" براي تحققبسياري از هدف ها و عمليات مديريت آموزشي در مدارس ( پردازش داده هاي آموزشي ، صرفهجويي در نيروي انساني ، هماهنگي فعاليت ها و مداخله مستقيم در فرايند آموزش ،توانايي اجراي آموزش و...) داراي توانايي هاي لازم است. ضمن آن که به سادگي ميتواند ، در فرايند فعاليت مديريت وارد شود.

مديران مدارس ابزارهاي متفاوتيبراي بهره گيري در فرايند مديريت در دسترس دارند. امّا گستره وسيع و منحصر به فردتوانايي هاي رايانه ( توانايي برنامه ريزي در زمينه ها و ابعاد گوناگون ، کاهش زمانحل مسأله ، استفاده هاي جنبي در فعاليت هاي مديريت ، مانند ماشين نويسي ، انتقال وپردازش داده هاي مديريتي و...) ، آن را به مناسب ترين ابزار براي مديريت مطلوبآموزشي تبديل کرده است ؛ به گونه اي که به نحو چشم گيري مورد استقبال مديران واقعبين و خلاق قرار گرفته است.

از سوي ديگر ، دانش و اطلاعات مربوط به رايانه ( ازنظر سخت افزاري و نرم افزاري ) به نحوي کم سابقه ، در بين مردم گسترش يافته استو روز به روز انتشار بيشتري مي يابد ؛ تا آن جا که توانايي هاي منحصر به فرد آن ،هم اينک به وضوح در معرض ديد و افکار عموم مردم ، بويژه دست اندرکاران فعاليت هايآموزشي ، قرار گرفته است . توانايي هاي رايانه براي بهبود بخشيدن به همه فعاليت هاو کارکردهاي مديريت آموزشي ، از آن ابزاري مناسب ، مطلوب و آرماني ساخته است.
به طور کلي ، سه عامل اساسي زير به رايانه امکان داده است تا به توانايي هايمنحصر به فرد خود در حيطه مديريت آموزش نايل شود:
1-
گستردگي عمليات
رايانه توانايي انجام عمليات گسترده اي دارد . اين توانايي موجب مي شود کهجمعيت وسيع و متنوعي از " کاربَر" ها با نيازهاي گوناگون خود ، به آساني از رايانهبهره برداري کنند و نيازهاي مربوط به مديريت وآموزش خود را در نظام آموزش بر آوردهسازند.

2-
تنوع سيستم ها
رايانه ابزاري چند سيستمي است. اينماشين حاوي سيستم هاي متفاوت و چند کارکردي است که همهء آنها همزمان با هم در کارندو امکان پاسخ گويي به نيازهاي متنوع متعدد  به " کاربر" هاي خود دارند.

3-
تسهيلات براي ارتباط مستقيم
رايانه فنون گسترده اي در اختياردارد که به آن امکان مي دهد تا به آساني بين مديران ( يا دانش آموزان) و سيستم هاياطلاعاتي "رايانه – محور" ارتباط مستقيم و متعامل برقرار کند. مثلاً ، توانايي پاسخگويي رايانه به نياز هاي " کاربر" به زبان هاي متفاوت ، موجب شده است که برقراريارتباط بين کاربر و سيستم هاي اطلاعاتي آسان شود. همچنين ، رايانه مي تواند ، انواععمليات – از آسان تا پيچيده – را به دقت انجام دهد و از اين روست که " ساده ترين " ماشين براي بهره برداري شناخته شده است . رايانه مي تواند ، حجم معيني از " دادهها" در يک نظام آموزشي ، داده هاي فراوان تر ، گوناگون تر غني تر ، در اشکال متفاوت، را در اختيار " کاربر " قرار دهد .

رايانه ، تقويت کننده ارتباطاتآموزشي
يکي از نکاتي که بايد در زمينه کابرد رايانه در فرايند آموزش به آنتوجه داشت ، ايفاي نقش رايانه به عنوان يک "رابط" است. در عمليات بهره برداري ،رايانه در سه فرايند ارتباطي آموزشي زير ( مطابق نمودار يک) نقشي محوري بر عهدهدارد:


الف: ارتباط رايانه با دانش آموز ( رايانه و دانش آموز)
ب: ارتباطرايانه با معلم ( رايانه و معلم)
ج) ارتباط معلم با رايانه ( معلم و رايانه )
بر پايه نمودار يک ، با نگاهي تحليل گرايانه مي توان به نمودار دو رسيد:
براساس نمودار دو:
1-
اطلاعات و داده هاي آموزشي را معلم به رايانه مي دهد ( ارتباط معلم و رايانه ).
2-
دانش آموز ( کاربر) از اطلاعات ذخيره شده در رايانهبهره برداري مي کند ( ارتباط دانش آموز و رايانه).
3-
رايانه نتايج عمليات دانشآموز را روي صفحه نمايش ( مانيتور) نشان مي دهد ( ارتباط رايانه و دانشآموز).
4-
معلم و دانش آموز نتايج عمليات را پس از مشاهده بر روي صفحه نمايش ،ارزيابي مي کنند ( ارتباط رايانه و معلم / دانش آموز).
بر پايه فرايند ارتباطيسه گانه ياد شده ، رايانه مي تواند نتايج عمليات دانش آموزان را به صفحه  نمايشانتقال دهد تا زمينه لازم براي تداوم يادگيري و نيز ارزيابي پاسخ ها – با توجه بهسبک يادگيري دانش آموز( کاربر)- فراهم شود.
بديهي است ، استفاده از رايانه بايدبگونه اي باشد که يادگيري را براي دانش آموز به شيوه هاي آسان و مؤثر ممکن کند. رايانه بايد دانش آموز و معلم را که به نحوي پويا درگير فرايند آموزش هستند ، باآگاهي بيشتري از چگونگي فرايند يادگيري دانش آموز مجهّز کند. اين آگاهي موجب خواهدشد که آنها بتوانند به تداوم يادگيري در موقعيتي واقعي گرايش مثبت نشان دهند. همچنين لازم است ، راه هايي را همواره ابداع کند و به دانش آموز اجازه دهد ، خود رابا محيط پيرامون به نحوي مطلوب سازگار و هماهنگ کند.

از همين روست که،اخيراً بيش از هر زمان ديگر رايانه براي مديريت مدارس مورد توجه قرار گرفته است ؛زيرا به کمک رايانه مي توان دانش آموزان هر مدرسه را به گروه هاي متجانس طبقه بنديکرد. به اين ترتيب ، الگوهاي واقعي و معني داري بدست مي آيد که توسط آن مي توانزمينه هاي مناسب درک و شناخت خصوصيات گروهي ( هنجارها) و نيازهاي مشترک گروه هايدانش آموزي را فراهم آورد.
از سوي ديگر ، رايانه مي تواند بر پايه  اطلاعات وداده هايي که به آن داده مي شود ، مواد و برنامه هاي آموزشي مناسبي تهيه کند. احتمالاً رايانه مي تواند مواد آموزشي را براي نيل به هدف هاي رفتاري ( آموزش موردنظر معلم ) طراحي و هدايت کند.
به کمک سيستم جمع آوري ، کُد گذاري و تجزيه وتحليل ساختاري توسط رايانه ، مي توان هر برنامه  آموزشي را با توجه به نيازها و هدفها ارزيابي کرد و بر اساس نتايج مورد نظر مدرسه در زمينه  تأمين نيازهاي محيطاجتماعي دانش آموز بطور مناسب عمل کرد.

رايانه و يادگيري انفرادي
در دهه  1970 ، بهره برداري از رايانه درايالات متحده  آمريکا مبتني بر اين توقع بود که رايانه براي جمعيت دانش آموزي ( باويژگي هاي متفاوت فردي که دارند) زمينه هاي مناسب " آموزش و يادگيري انفرادي " فراهم کند. در اين دهه ، مديران مدارس نياز داشتند که شيوه هاي تحليل فلسفي ،برنامه ريزي و عمليات آموزشي را درک کنند تا بتوانند پاسخ گوي نيازهاي دانش آموزانباشند.
نکته مهم آن است که مديريت آموزش و يادگيري انفرادي وظيفه اي بسيارپيچيده است. هدف اصلي نظام مديريت " رايانه- محور" که در دهه 1970 يکي از عملياتاختصاصي مدارس ايالات متحده آمريکا بود، بهبود و تقويت يادگيري فردي دانش آموزان ،در ابعاد گوناگون برنامه هاي درسي و در محيط مديريت رايانه – محور بود.

مديريت يادگيري انفرادي در واقع نظامي است مرکب از چند خرده نظام که ازميان خرده نظام هاي اصلي آن مي توان موارد زير را بر شمرد:
1-
هدف هاي آموزشي : هدف هاي آموزشي هر برنامه  درسي در قالب هدف هاي رفتاري صريح و روشن ، با توجه بهمواد برنامه  آموزشي و نيز دانش و مهارت هايي که بايد ياد گرفته شود ، تنظيم ميشود.
2-
دانش آموزان : دانش آموزان به عنوان درونداد نظام، با توجه به ساختار ،سطوح تحصيلي ، نتايج مورد انتظار و همه داده هاي مربوط به آموزش جاري و آموزش سالهاي آتي آنان ، در نظر گرفته مي شوند.
3-
برنامه درسي و محتواي آموزش: به اينخرده نظام ، از ديدگاه ِ نرم افزارها و برنامه هاي طراحي شده ، بويژه براي حصول بههدف هاي آموزشي ياد شده در بند اول نگريسته مي شود.
4-
راهبردهاي تدريس : عبارتاست از ترکيب روش ها ، رسانه ها ، شرايط و امکانات سازماني براي نيل به هدف هايبرنامه يادگيري.
5-
ارزشيابي ، آزمون و رويه هاي آن : گستره اي ازانواع فعاليتها ، از ارزشيابي عمليات دانش آموز گرفته تا ارزيابي هزينه – سودمندي برنامه  آموزشي ، تحت اين عنوان قرار مي گيرد.
6-
تصميم گيري و دستور العمل هاي آموزشي.
7-
ساز و کار( مکانيسم) بازخوردي و ساختاري.
8-
سازمان و تسهيلات
سازمان و تسهيلات شامل : کارکنان ، تسهيلات ، مدرسه، وسايل مورد نياز وپشتيباني از ساير خرده نظام هاست.
نظام مديريت يادگيري انفرادي به شيوه ايطراحي مي شود که در اغلب سطوح آموزشي ، واقعاً قابل اجرا باشد و نيز رويه ها را بهسوي تسهيل طراحي نظام آموزشي مطلوب توسعه بخشد. لازم است کاربرد ابزار و آزموني کهبراي نظام انتخاب مي شود، متناسب با خصوصيات دانش آموز و مدرسه باشد.
ارزيابي " هزينه – سودمندي" برنامه هاي آموزشي نيز ، هم از نظر ابزاري و هم از حيث اجرايي ،بايد با توجه به شاخص اساسي تأمين نيازهاي دانش آموز صورت گيرد.

رايانه، عصاي دست مديران مدارس
اگر چه تجارب و نتايج عملي گوناگوني از پيشرفت هايمدارس ايالات متحده آمريکا که رايانه را در فرايند مديريت و فعاليت هاي آموزشي بهخدمت گرفته اند ، به دست آمده است ، با وجود اين ، هنوز هم بسياري از ممالک در تلاشهستند که راهکارها و شيوه هاي نوين را براي کاربرد رايانه در عرصه آموزش ابداعکنند. هدف همه اين تلاش ها نيز صرفاً تأمين نيازها و علائق مردم و دست درکارانآموزش و پرورش است.
تلاش براي کاربرد رايانه در فرايند مديريت آموزشي مدارس ،با اين نيّت صورت مي گيرد که مديران بتوانند بر اساس نياز هاي خود ، در جنبه هاييمانند پردازش داده هاي مدارس ، فنون کنترل کيفيت مطلوب آموزش – اعم از آموزش هايعمومي يا تخصصي – و نيز تصميم گيري مؤثر در جريان عمليات آموزش ، توانايي هاي عمليفناوري پيشرفته رايانه را به خدمت بگيرند.

در حال حاضر ، بخشي از بروندادهاي رايانه که مديريت آموزشي مدارس مي تواند از خدمات آنها بهره ببرد، شاملموارد زير است :
*
ابداع و ذخيره  پرونده هاي استاندارد اطلاعات براي يکايک دانشآموزان:
*
تهيه دفاترثبت آمار مدرسه بشيوه اي خودکار ؛
*
انجام تمامي فعاليتهاي حسابداري وتهيه گزارش هاي مالي ؛
*
عمليات تجزيه و تحليل داده ها به ويژهتأمين نيازهاي اطلاعاتي و اجرايي مدرسه ( عملياتي که مبناي آنها عمليات رياضي است ) ؛
*
تهيه  گزارش ، ثبت و تجزيه و تحليل آماري نمره هاي دانش آموزان و کلاس هايدرسي ؛
*
تهيه جداول و سياهه ها ( کارنامه ها ، برنامه هاي درسي و...).
براين اساس ، مديران مدارس مي توانند از رايانه به عنوان ابزاري مناسب و ممتاز وعصايي ارزشمند براي مديريت آموزشي سود جويند.

رايانه ، ياور سه کاربراصلي آموزش
از هنگامي که رايانه موفق شده است ، ميان توده هاي انبوه مردمجاي خود را باز کند ، عوامل متعددي موجب شده است که اين ماشين ، براي منابع انسانيفعال نظام هاي آموزشي ( معلم ، مدير و دانش آموز) بسيار مطلوب و ارزشمند جلوه گرشود. توانايي ويژه  رايانه آن است که مي تواند در هر مکان و هر زماني ، داده ها واطلاعات فردي مربوط به هر دانش آموز را به آساني و بسرعت در اختيار کاربر (معلم ،مدير و دانش آموز) قرار دهد. اين نکته توانمندي رايانه را براي خدمت به سه عنصرانساني آموزش عيان مي کند.

تاکنون عملاً برخي از توانايي هاي رايانه درعرصه آموزش به کار گرفته شده است . برخي توانايي هاي اساسي آن که تا به امروز درنظام هاي آموزشي ، " کاربرهاي آموزش" را ياري رسانده است ، به قرار زير است:
1-
داده هاي پژوهشي نظام – محور ( نظام هاي برنامه ريزي ، هوش مصنوعي ، بازيابي وپردازش ، عمليات رياضي ، تحقيق عملياتي ، آموزش و کارآموزي و...) ؛
2-
حل مسأله؛
3-
شبيه سازي ؛
4-
گفت و گوهاي درسي ؛
5-
بازيابي اطلاعات ؛
6-
تحليل و آزمون ؛
7-
مشاوره و راهنمايي ؛
8-
پردازش اطلاعات ؛
9-
مديريتکل نظام يا مديريت هر يک از خرده نظام هاي بندهاي 1 تا 9 و يا ترکيبي از برخي ازآنها.

رايانه و چشم انداز آينده
شواهد نشان مي دهد که شرايطموجود ، انسان امروزي را به سوي آن هدايت مي کند که صرفاً به آموزش مطالب درسي خاصو متداول اکتفا نکند ، بلکه جامعه را به يک " سازمان آموزش" مناسب تبديل کند ؛ زيرا، جامعه متشکل از مجموعه اي از عوامل انساني با خصوصيات و نيازهاي بسيار متنوع است. اغلب آنان ، هر يک به گونه اي متفاوت از ديگران ، به نوآوري ، تکامل ، توسعه و نيلبه خوشبختي تمايل دارند. به عبارت ديگر ، از يک سو وجود اين همه پيچيدگي درانسان(افراد) و از سوي ديگر ، محدوديت هاي ناشي از منابع مالي و انساني ، نوع وخاستگاه هاي متفاوت مدارس ، رهبري و مديريت ، نيازهاي ويژه  فرد و جامعه و ...،استفاده از ابزارها و نظام هاي آموزشي پيشرفته اي راايجاب مي کند. در آموزش معاصر وآينده  دنيا ، مي توان با استفاده از رايانه برنامه هاي آموزشي را به گونه اي تنظيمکرد که به ميزان نسبتاً کافي و مناسبي براي پاسخ به پيچيدگي هاي مزبور شفاف باشد.

البته ، بخشي از اضطراب ها و گرايش هاي منفي معلمان در مورد کمک رايانه ،تاحدودي طبيعي است . معلمان بر اين باورند که استفاده از چنين امکانات دقيق و حسابشده اي ، در شرايطي که در محيط هاي آموزشي و سازمان هاي ناظر بر فعاليت هاي آنهاهيچ چيز در جاي خودش نيست ! مشکل خواهد بود . اما به هر حال ، چشم انداز آينده حاکياز آن است که براي نيل به موفقيت و چيرگي بر پيچيدگي هاي فوق ، ايجاد برخي تغييرات، الزامي و اجتناب ناپذير است ؛ از جمله :

*
انسان هنوز نتوانسته است خود رابا رايانه کاملاً منطبق و سازگار کند. انسان مي تواند ، يک ميليون " بايت" اطلاعاترا در خود ذخيره کند و بسياري از آنها را ، مدت ها بعد به خاطر آورد ( بازيابينمايد). برخلاف رايانه ، انسان " خود- تعمير" و " خود- برنامه ريز" است ودر شرايطمناسب ( حتي گاهي در شرايط نامناسب ) ، مي تواند با هزينه اي کم تر ، اطلاعات جديدتوليد کند.

*
يکي از نيازهاي اساسي که اکنون به چشم مي خورد ، معرفي موفقيتهاي کاربرد رايانه در آموزش ، در طول دهه هاي اخير است ؛ زيرا به اين طريق ، نگرشعناصر انساني آموزش ( مدير ، معلم و دانش آموز) در مورد استفاده از رايانه درفرايند آموزش و يادگيري، جلب و ثبت خواهد شد.
*
براي بهره گيري از توانايي هايسيستم هاي " ماشين – انسان" در مدارس ، شرط لازم آن است که دانش آموزان بتوانند ازماشين ( رايانه) استفاده کنند. اين امر به آموزش هاي ويژه نياز دارد.

*
هنگامي که براي تدريس و يادگيري دانش آموزان ، امکان و شرايط استفاده از فناوريصنعتي فراهم باشد ، براي بهره برداري مناسب از آن ، به رهبري و مديريت آموزشي قوي ،سازگار و منطقي نياز خواهد بود. بنابراين ، کساني که امروز در جايگاه معلم و يامديريت و رهبري نظام آموزشي و مدرسه قرار گرفته اند ، قبل از هر چيز بايد خود رابراي اين کار آماده کنند ؛ يعني بايد دانش و مهارت خود را تقويت نمايند و توسعهدهند و اساساً بر پايه يک برنامه ريزي منطقي براي استفاده از نوآوري هاي آموزشياز جمله رايانه – در خود تحولي فکري ايجاد کنند. تنها از اين طريق است که استفادهاز فناوري هاي نو و مفيد در مدارس ميسر و مؤثر واقع مي شود.

*
امتياز اساسينظام هاي آموزشي مبتني بر مديريت " رايانه- محور" ، تأکيد بر توانايي هايي است کهارتباط تعاملي " محرک- پاسخ" را بين دانش آموز و رايانه ، با وجود تفاوت هاي فردي ،ميسر مي کند. اين امتياز موجب معرفي و کارايي آن به منزله  " ابزار آموزشي" ارزشمندي مي شود. به علاوه گرايش منطقي مديريت را براي بکار گيري نظام هاي تحليلي وعملي تقويت خواهد کرد.

*
در زمينه مديريت " رايانه – محور" ، بحث ديگر ،درباره عناصر نظام است. کاربرد نظام هاي تحليلي و عملي در آموزش نو موجب مي شود کهنقش و ارزش نوآوري هاي آموزشي بارز شود.
اين امر از طريق ايجاد پيوستگي ميانعناصر نظام آموزشي با ساير منابع آموزشي صورت مي گيرد ( نگرش نظام دار نسبت بهآموزش و پرورش ).
نظام مديريت رايانه – محور توانايي بي نظيري براي هم سو کردنعناصر متشکله ء خود را دارد ؛ ضمن آن که هر عنصر- خرده نظام – آن نيز بتنهايي ميتواند ، وظايف خود را به خوبي انجام دهد.

*
موضوع اساسي ديگري که در زمينه  استفاده از رايانه در آموزش مطرح است ، توجه اکيد به " تفاوت هاي فرهنگي " دانشآموزان است . چنانچه يکي از هدف هاي آموزش و پرورش را آموزش" شهروندي" ( با تمامجنبه هاي جامعه شناختي وروان شناختي جامعه کنوني) به دانش آموزان بدانيم ، بناچاربايد به مسائل خاص فرهنگي و بوم شناختي زندگي دانش آموزان و استفاده از آن درفرايند مديريت آموزشي و نيز نظام ياددهي – يادگيري توجه داشته باشيم.

بنابراين ، در استفاده از رايانه در آموزش ، مسائل متعدد و گوناگوني وجود دارد که چنانچهاز ابعاد گوناگون مورد نظر قرار گيرد ، فرايند آموزش و يادگيري برنامه هاي آموزشيرا کم هزينه تر و سريع تر خواهد کرد.

*
و سر انجام ، براي ترويج وتوسعهاستفاده از رايانه در نظام هاي آموزشي امروز و فردا ، نکات ديگري نيز وجود دارد کهتوجه به آنها بسيار ضروري است ؛ نکاتي چون : تأمين هزينه هاي تحقيق و توسعه ، حمايتقانوني از مالکيت نرم افزارها و… که دولت ها بايد جداً به آنها توجه داشته باشند.
منبع

Skinner, B.F. Technology and Innovation in Education , Frederick, Apraer, (U.S.A).

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: شنبه 23 اسفند 1393 ساعت: 23:06 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره رايانه

بازديد: 261

 

رايانه

 

باتوجه به پيشرفت فراگير اطلاعات و همه گير شدن رسانه هاي اطلاع رساني همچون اينترنت و ماهواره ها ، نياز به فراگرفتن كامپيوتر هر روز بيشتر از روز قبل احساس مي شود بطوريكه تا پايان سال 2002 ميلادي ، اشخاصي كه اطلاعاتي نسبت به كامپيوتر ندارند همچون افراد بيسواد اجتماع مطرح خواهند شد ، چراكه امروزه در هر مكان و موقعيت و شغلي كه باشيم استفاده از كامپيوتر لازم به نظر ميرسد.

بدين منظور جزوه ذيل جهت آموزش به زبان ساده به علاقمندان يادگيري علوم كامپيوتري ارائه ميگردد.

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

بخش هاي اصلي كامپيوتر:       

بطور كلي كامپيوتر به دو بخش اساسي تقسيم ميشود:

  1. سخت افزار(Hardware)
  2. نرم افزار (Software)

 

سخت افزار(Hardware) :

مجموعه اي از عناصر فيزيكي و قابل لمس در كامپيوتر را سخت افزار كامپيوتر مينامند. مانند مدارهاي الكترونيكي و ترانزيستورها و IC ها.

 

نرم افزار(Software) :

برنامه هاي كاربردي و برنامه هاي سيستم كه توسط انسان نوشته ميشوند. يعني نرم افزار ، رابط بين كاربر كامپيوتر و سخت افزار است.

 

تعريف سيستم :

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

 

حافظه(Memory) :

قسمتي از سخت افزار كامپيوتر است كه دستورالعمل ها در آنجا بصورت ارقام نگهداري مي شوند.

 

بيت(Bit)  :

كوچكترين واحد حافظه كه ميتوان يكي از اعداد صفر يا 1 را در آن ذخيره نمود.

 

بايت(Byte) :

به هر 8 بيت متوالي از حافظه ، 1 بايت گويند.

 

كيلوبايت(Kb) :

به هر 1024 بايت ، يك كيلو بايت گويند.

 

مگابايت(Mb) :

به هر 1024 كيلوبايت ، يك مگا بايت گويند.

 

 

كاراكتر(Character)  :

هريك از حروف، ارقام و علائم قابل نمايش را كاراكتر مينامند.

 

فيلد(Field) :

به مجموعه اي از چند كاراكتر مرتبط به هم ، يك فيلد گويند.

 

ركورد(Record) :

چند فيلد مرتبط به هم را يك ركورد گويند.

 

فايل  (File) :

مجموعه اي از ركوردهاي مرتبط به هم ، يك فايل را بوجود مي آورند.

 

انواع حافظه :

  1. حافظه اصلي (Main memory)
  2. حافظه كمكي(Secondary memory)

 

حافظه اصلي(Main memory) :

حافظه اصلي به دو بخش تقسيم ميشود:

*      حافظه RAM ، جهت خواندن و نوشتن اطلاعات به كار ميرود. اطلاعات آن قابل پاك شدن است و با قطع جريان برق، اطلاعاتش ازبين ميرود.

*      حافظه ROM ، اطلاعات اين نوع از حافظه ، فقط قابل خواندن ميباشد و توسط كارخانه سازنده در آن قرار گرفته است و قابل پاك شدن و تغيير نمي باشد . همچنين با قطع جريان برق ، اطلاعات آن ازبين نمي رود.

 

حافظه كمكي(Secondary memory) :

براي نگهداري دائمي اطلاعات و جلوگيري از اشغال شدن فضاي حافظه اصلي ، از اين نوع حافظه استفاده مي شود. انواع حافظه هاي كمكي عبارتند از : ديسك لرزان يا ديسكت يا ديسك 3/5 اينچ يا فلاپي(floppy) ، ديسك نوري (CD) ، ديسك ويديويي ديجيتالي (DVD) ، ديسك اپتيكال (Optical disk) ، MD و ...

 

ديسكت(Floppy disk) :<

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

ظرفيت اين نوع ديسكت ، 720 كيلوبايت و ديگري 44/1 مگا بايت است كه بيشتر از دومين مورد در بازار استفاده مي شود. اين نوع ديسكت بارها قابل نوشتن مي باشد و ميتوان اطلاعات قبلي را پاك يا ويرايش نمود. همچنين اين اطلاعات به راحتي نيز قابل حمل و نقل ميباشد. اما ظرفيت بالايي جهت نگهداري اطلاعات ندارد.

³ديسك نوري (CD  يا Compact Disk  ) :

اين نوع ديسك كه به ديسك فشرده يا ديسك ليزري نيز معروف است از يك صفحه فلزي با آلياژ خاص تشكيل شده است كه روي آن حفره هاي بسيار كوچكي ميباشد كه فقط باكمك ميكروسكوپ قابل ديدن است. اين نوع ديسك ازنظر ظرفيت ذخيره سازي بسيار بالاتر از فلاپي ديسك مي باشد. ظرفيت اين نوع ديسك ها، 640 مگا بايت يا 700 مگابايت است كه ميتوان بوسيله آن حجم زيادي از اطلاعات را ذخيره سازي نمود. اما اطلاعات در اين نوع از ديسك ها قابل دوباره نويسي نيستند و فقط مي توان  از روي آنها، اطلاعات را خواند.

از اين نوع ديسك ها جهت نگهداري و ذخيره نموده دايره المعارفها  و اطلاعاتي كه قابل تغيير نيستند استفاده مي شود. البته درچند سال اخير ، ميتوان بوسيله دستگاهي كه CD writer   ناميده ميشود ، اطلاعات موردنظر را روي آنها ذخيره نمود. براي استفاده از اين نوع ديسك ها نيز از ديسك گردان مخصوصشان بايد استفاده نمود.

 

ديسك ديجيتالي ويديويي (DVD) :

اين نوع از ديسك ها ، نسل جديد ديسك هاي نوري بوده و ظاهري شبيه به CD هاي معمولي دارند با اين تفاوت كه گنجايش بسيار بالاتري دارند ، همچنين  قادر به ضبط و نگهداري اطلاعات عادي ، صوتي و نيز تصويري مي باشند.

لازم به توضيح است كه درايوهاي DVD قادر به خواندن CD هاي معمولي نيز هستند.

 

ïروي case هركامپيوتر، چند كليد مهم وجود دارد كه به توضيح مختصري از اين كليدها ميپردازيم

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

Reset  يا restart يا reboot : جهت راه اندازي مجدد كامپيوتر مي باشد. توضيح اينكه معمولاً پس از نصب كردن (setup) يك برنامه ، ويندوز از كاربر ميخواهد تا كامپيوتر را راه اندازي كند كه در اين عمل ، كامپيوتر مجدداً خاموش و روشن مي شود.

همچنين اگر به عللي، هيچ كدام از كليدهاي صفحه كليد عملي انجام ندهد و هيچيك از دستورات اجرا نشوند، اصطلاحاً گفته مي شود كه كامپيوتر قفل كرده است يا hang كرده است كه در اين مواقع نيز با reset  كردن كامپيوتر ، مشكل برطرف خواهد شد.

Shut down : جهت خارج شدن از برنامه ويندوز و خاموش كردن كامپيوتر از اين گزينه استفاده مي كنيم كه شامل بخش هاي standby (نيمه خاموش) ، shut down (خاموش) ، restart (راه اندازي مجدد) و restart in MS-DOS mode (راه اندازي تحت محيط داس) مي باشد.

 

دستگاههاي ورودي و خروجي(Input & Output devices) :

دستگاههاي ورودي و خروجي ، قسمتهايي از كامپيوتر هستند كه براي وارد كردن اطلاعات به كامپيوتر و خارج نمودن اطلاعات از آن مورد استفاده قرار ميگيرند.

دستگاههاي ورودي مانند : صفحه كليد (keyboard) ، ماوس يا موشواره (mouse)  ، اسكنر (scanner)  ، قلم نوري ، ديجيتايزر  (digitizer)، اهرم هدايت (Joystick) .

دستگاههاي خروجي مانند : مانيتور يا صفحه نمايش (monitor) ، پرينتر يا چاپگر (printer) ، بلندگو(speaker)   رسام (plotter).

 

7صفحه كليد(keyboard) :

متداولترين دستگاه ورودي ، صفحه كليد است كه براي وارد كردن اطلاعات ، برنامه ها و دستورات استفاده ميشود. عملكرد صفحه كليد تقريباً مشابه با دستگاههاي تايپ قديمي است كه روي آن تعدادي حروف و علائم مي باشد و هريك از آنها وظيفه خاصي به عهده دارند. اطلاعات پس از تايپ شدن و فشردن هريك از كليدهاي صفحه كليد، از طريق كابلي كه يك طرف آن در صفحه كليد است و طرف ديگر آن به پشت case وصل مي شود  وارد سيستم ورودي – خروجي (BIOS)  شده و تبديل به كد شده و ازطريق صفحه نمايش قابل ديدن مي شوند.

كليدهاي موجود در صفحه كليد عبارتند از :

كليدهاي ارقامي ، كليدهاي ويرايشي ، كليدهاي حروف ، كليدهاي تابعي و كليدهاي كنترلي .

 

كليدهاي ارقامي(numeric keys) :

مجموعه كليدهايي كه در سمت راست صفحه كليد قرار دارند كه شامل اعداد و عملگرهاي رياضي ميباشند و جهت سهولت در وارد كردن اطلاعات عددي به كار ميروند.

 

كليدهاي ويرايشي(edit keys) :

مجموعه 13 كليدي كه دركنار كليدهاي ارقامي قرار دارند و جهت ويرايش نمودن متون و صفحه هاي متني بكار مي روند. عملكرد كليدهاي ويرايشي به شرح زير ميباشد :

*      كليد insert  جهت قرار دادن يك كلمه ، حرف يا كاراكتر بجاي كاراكتر ديگر ميباشد.

*      كليد home جهت بردن مكان نما به سر سطر مي باشد.

*      كليد page up جهت رفتن و نمايش دادن صفحه قبل مي باشد.

*      كليد delete جهت حذف كردن يا پاك كردن يك كاراكتر ، كلمه و يا جمله ميباشد.

*      كليد end جهت بردن مكان نما به انتهاي سطر مي باشد.

*      كليد page down جهت رفتن و نمايش دادن صفحه بعد مي باشد.

 

 

كليدهاي حروف يا كليدهاي اصلي(type keys) :

عملكردي شبيه به ماشين هاي تايپ قديمي دارند و جهت نوشتن اعداد ، حروف و علائم موجود بر روي آن استفاده ميشود.

 

كليدهاي تابعي(functional keys) :

اين نوع كليدها كه براي سهولت در وارد كردن اطلاعات و دستورات مي باشند در هر نرم افزار متفاوت است. مثلاً كليد f1 معمولاً جهت راهنمايي (help) در اكثر برنامه ها مي باشد.

 

كليدهاي كنترلي(control keys) :

اين گروه از كليدها همراه با كليدهاي ديگر به كار رفته و نوع كاركرد آنها را تغيير مي دهند كه عبارتند از :

*      كليد shift  (ñ) : اين كليد كه در دوطرف صفحه كليد قرار دارد مانند يكديگر عمل كرده كه تنها جهت سهولت در كار كردن به اين صورت ميباشند. كليد shift جهت تغيير كار كليدهاي صفحه كليد ميباشد كه درهر برنامه متفاوت است.

همچنين جهت عوض كردن عمل كليدهاي دوحالته نيز استفاده مي شود. مثلاً براي نوشتن علامت * بايد كليد shift را پايين نگهداشته و در اين حالت ، كليد 8 را فشار داد. و اگر كليد 8 بدون پايين نگهداشتن كليد shift زده شود، عدد 8 روي صفحه نوشته مي شود.

*      كليد Ctrl و Alt  : اين دو كليد كه در دوطرف صفحه كليد قرار دارند نيز عملكردشان يكسان است و عمليات كنترلي سيستم را به عهده مي گيرند و با كليدهاي ديگر استفاده مي شوند.

مثلاً در برنامه ويندوز (windows) ، كليد Alt به همراه كليد F4(Alt + F4)  جهت بستن پنجره مي باشد ، يا كليد Ctrl  به همراه C   (Ctrl + C) جهت كپي كردن موضوع يا موضوعات انتخاب شده ميباشد.

اين دو كليد نيز در برنامه هاي مختلف ، كارهاي متفاوتي انجام مي دهند كه با مراجعه به راهنماي آن برنامه (Help)  مي توان اين موارد را آموخت.

*      كليد Enter  ( 8): اين كليد يكي از مهمترين و كاربردي ترين كليدها در محيط DOS  يا Windows  ميباشد و عملكردهاي متفاوت و بسياري دارد. مثلاً در يك برنامه ويرايشگر مانند برنامه word ، پس از تايپ كردن كلمات ، براي پايان دادن به پاراگراف و شروع پاراگراف جديد ، از كليد Enter  استفاده مي شود. همچنين پس از انتخاب كردن يك پوشه ، جهت باز كردن آن مي توان كليد Enter را فشار داد تا پوشه موردنظر باز شود.

*      كليد ESC : جهت خروج از يك برنامه يا انصراف از عملي يا بستن صفحات اضافي و برگشت به صفحه اصلي از اين كليد استفاده مي شود.

*      كليد Tab ( F) : مكان نما(cursor) را به اندازه 8 كاراكتر به جلو مي برد.

*      كليد Back space  (!)  : مكان نما را به اندازه 1 كاراكتر به عقب برده و آن كاراكتر را حذف مي كند.

*      كليد Caps Lock : اگر اين كليد روشن باشد ، كليه حروف به حالت بزرگ نوشته ميشوند.

*      كليد Num Lock : اگر اين كليد روشن باشد ، كليدهاي ارقامي فعال هستند و مي توان با آنها كار كرد.

*      كليد Start  : اين كليد كه مابين دو كليد ctrl  و Alt  سمت چپ و راست قرار دارد و علامت پرچم ويندوز (ÿ ) روي آن است جهت بازكردن منوي start   ويندوز مي باشد.

*      كليد choose option : اين كليد كه مابين دو كليد ctrl  و Alt  سمت راست قرار دارد و علامت فلش ( õ ) روي آن است جهت انتخاب موضوع مي باشد.

 

ماوس يا موشواره(mouse) : 8

 اكثر برنامه هايي كه درچندسال اخير به بازار آمده و كاربران از آن استفاده مي نمايند براي انجام دادن فرمانها از صفحه كليد (keyboard)  و ماوس (mouse)  بطور همزمان استفاده مي كنند.

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

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

ماوس ها از طريق توپ كوچكي كه در زير آنها قرار دارند و با صفحه mouse pad در تماس است نشانگر را در صفحه ويندوز و برنامه هاي آن حركت داده و فرامين را اجرا مي كنند.

اصطلاحاتي كه در استفاده از ماوس به كار مي بريم عبارتند از :

 كليك (click) : يك مرتبه فشار دادن كليد سمت چپ ماوس را كليك كردن مي نامند.

توضيح اينكه اگر كليد سمت راست ماوس را نيز يك مرتبه فشار دهيم هم كليك ناميده مي شود ولي اصطلاحاً آنرا كليك راست مي گويند و جهت عمليات مختلفي مانند كپي كردن ، حذف كردن ، انتخاب و ساير تغييرات از آن استفاده مي شود.

كليك كردن جهت انتخاب موضوع بكار مي رود كه بااين عمل ، موضوع انتخاب شده تغيير رنگ ميدهد يا اصطلاحاً high light مي شود.

دابل كليك (double click) : دومرتبه فشاردادن كليد سمت چپ ماوس بصورت پشت سرهم و بدون مكث را دابل كليك مي نامند ،كه براي بازكردن موضوعات انتخاب شده بكار ميرود.

 درگ (drag) : كليك كردن و پايين نگهداشتن كليد سمت چپ ماوس را درگ كردن مي نامند. براي تغيير اندازه پنجره ها يا جابجايي آنها از اين عمل استفاده مي شود.

 دراپ (drop) : درگ كردن بوسيله ماوس و حذف كردن يا كپي نمودن يك پوشه يا موضوع انتخاب شده را دراپ كردن مي نامند.

 

نكته : هنگاميكه علامت ماوس در صفحه بصورت ساعت شني درمي آيد (6) به معناي اين است كه ويندوز درحال انجام دادن يك عمل ميباشد و بايد منتظر ماند تا علامت  آن در صفحه  به حالت قبل بازگردد.

 

اسكنر يا پويشگر(scanner) : 

  اسكنر يكي از دستگاههاي ورودي اطلاعات است كه بوسيله آن مي توان ، تصاوير موجود برروي كاغذ را به فايلهاي گرافيكي در كامپيوتر تبديل نمود.

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

 

 

قلم نوري(Light pen) :

  جديداً وسيله ديگري شبيه به قلم به بازار آمده است كه عملكردي شبيه به ماوس داشته و تنها ازجهت تسهيل كار با كامپيوتر در برنامه هاي حساس ، از آن استفاده مي شود.

اين وسيله نيز همانند ماوس، يك صفحه مسطح دارد كه با حركت دادن قلم نوري بروي اين صفحه، يك اشاره گر روي صفحه نمايش به حركت در مي آيد و با هدايت نمودن آن مي توان موارد گوناگوني را انتخاب و عمليات مربوط به آن را انجام داد.

 

ديجيتايزر (Digitizer) :

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

 

اهرم هدايت  (Joy stick):

يكي ديگر از وسايل ورودي اطلاعات كه بيشتر در بازيهاي كامپيوتري استفاده مي گردد ، اهرم هدايت ميباشد كه مانند دستگاه هاي فوق ، اطلاعات ازطريق كابل متصل به كامپيوتر به كدهاي كامپيوتري تبديل ميگردد.

 

مانيتور يا صفحه نمايش(monitor) :  ¿

متداولترين دستگاه خروجي در كامپيوتر ، مانيتور يا صفحه نمايش مي باشد كه تصاوي ايجاد شده برروي آن ، بوسيله نقاط كوچكي به نام پيكسل (pixel) به وجود مي آيد و هرچه تعداد اين نقاط بيشتر باشد تصوير واضح تري خواهيم داشت.

مانيتورها انواع مختلفي دارند كه عبارتند از : CRT مانيتور با اشعه كاتدي (همان مانيتورهاي رايج در مصارف شخصي ) ، مانيتورهاي مسطح (بيشتر در كامپيوترهاي laptop مورد استفاده قرار ميگيرند و از لحاظ حجم و وزن و مصرف برق ، كمتر از نوع قبلي هستند)، LCD مانيتوركريستال مايع (به علت استفاده از نوعي مايع كه مولكولهاي آن براثر عبور جريان الكتريكي به شبكه كريستالي تبديل مي شوند) ، مانيتورهاي پلاسماي گازي (بر اساس تخليه بارالكتريكي گاز نئون مي باشد)

درجه حساسيت مانيتور با واحد dpi اندازه گيري مي شود. (dpi عبارتست از مخفف كلمه dot per inche به معناي تعداد نقاط در 1 اينچ )

مانيتور بوسيله دو كابل آماده كاركردن مي شود: يكي كابل برق كه از پشت مانيتور به پورت برق case وصل مي شود و برق مانيتور را تاُمين مي كند و ديگري كه به كارت گرافيكي موجود در داخل case وصل شده و براي برقراري ارتباط بين مانيتور و case مي باشد.

 منظور از پورت (درگاه) ، محا اتصال وسايل جانبي به كامپيوتر است كه اين پورت ها در پشت case قرار دارند و هركدام با يك نام مانندLPT  يا  COM ناميده ميشوند.

 

پرينتر يا چاپگر(printer) :

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

چاپگرها انواع مختلف دارند كه عبارتند از چاپگرهاي سوزني (dot matrix) ، چاپگرهاي ليزري (laserjet)  و چاپگرهاي جوهرافشان (inkjet) . چاپگرهاي سوزني از انواع قديمي تر ميباشند كه براي چاپ كردن هرفايل، بصورت خط به خط چاپ انجام مي شود و در هر رفت و برگشت يك خط از متن يا تصوير موردنظر را چاپ مي كند كه سرعت پايين و صداي زيادي توليد ميكند.

پس از اين نوع، مدل ديگري از چاپگرها به بازار عرضه شد كه به چاپگرهاي ليزري معروف هستند و سرعت و كيفيت بسيار بالايي نسبت به مدل قبلي داشتند. اما چاپگرهاي ليزري متون و تصاوير را بصورت تك رنگ (سياه و سفيد) چاپ مي كنند . بنابراين جهت چاپ كردن فايلها بصورت رنگي ، چاپگرهاي جوهرافشان به بازار وارد شدند كه براي چاپ كردن از جوهر هاي رنگي قرمز ارغواني (magenta) ، آبي (cyon) ، زرد (yellow)  و مشكي (black) استفاده مي كنند.

 

 

اسپيكر يا بلندگو (speaker) : 

يكي ديگر از دستگاههاي خروجي كه بوسيله آن مي توان فايلهاي صوتي را منتقل و خارج نمود ، بلندگو مي باشد.

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

اكنون كه با اصطلاحات اساسي و مباني كامپيوتر آشنا شديم ، ميپردازيم به نحوه كاركردن با برنامه ويندوز .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

آموزش

 

Windows 98

 

 

 

ÿ

 

 

روشهاي بازكردن پنجره در windows 98 :

روش اول : انتخاب كردن آيكون موردنظر بوسيله كليك كردن روي آن آيكن

               بازكردن از طريق انتخاب گزينه open  از منوي file .

روش دوم : انتخاب كردن آيكون بوسيله كليك كردن روي آن آيكن

                 فشردن كليد enter از صفحه كليد

روش سوم : دابل كليك كردن روي آيكون موردنظر

 

روشهاي بستن پنجره در windows 98 :

روش اول : انتخاب كردن آيكون موردنظر بوسيله كليك كردن روي آن آيكن

                 بستن ازطريق انتخاب گزينه close از منوي file

روش دوم : كليك كردن روي علامت( x )closeگوشه بالا و سمت راست پنجره

روش سوم : فشردن كليدهاي Alt + F4

 

روشهاي تغيير اندازه پنجره ها در windows 98 :

روش اول : كليك كردن روي علامت maximize  ( ¨  ) گوشه بالا و سمت راست پنجره جهت    

حداكثر كردن اندازه پنجره

روش دوم : كليك كردن روي علامت minimize  ( 0  ) گوشه بالا و سمت راست پنجره جهت حداقل كردن اندازه پنجره

روش سوم : كليك كردن روي علامت restore( 2  ) گوشه بالا و سمت راست پنجره جهت

 بازگرداندن اندازه پنجره به حالت قبل

 

روشهاي ساختن يك پوشه جديد در windows 98 :

روش اول : انتخاب گزينه new folder  از منوي file

روش دوم : كليك راست روي فضاي خالي پنجره

                  انتخاب گزينه new folder

 

روشهاي تغيير نام يك پوشه در windows 98 :

روش اول : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                 انتخاب گزينه rename از منوي file

                 نوشتن نام جديد

                 فشردن كليد enter

روش دوم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                 كليك راست روي آن پوشه

                  انتخاب گزينه rename

                        نوشتن نام جديد

                 فشردن كليد enter

روش سوم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                 كليك كردن مجدد روي نام آن پوشه

                        نوشتن نام جديد

                  فشردن كليد enter

 

روشهاي حذف كردن يك پوشه در windows 98:

روش اول : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                 انتخاب كليد delete  از نوار ابزار

                 فشردن كليد enter

روش دوم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                 انتخاب كليد delete  از منوي file

                       فشردن كليد enter

روش سوم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                 كليك راست روي آن پوشه

                  انتخاب گزينه  delete

                        فشردن كليد enter

روش چهارم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                    فشردن كليد enter از صفحه كليد

                    فشردن كليد enter

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

                  فشردن و نگهداشتن و حركت دادن پوشه موردنظر تا سطل بازيافت (drag&drop)

 

روشهاي كپي كردن پوشه ها و فايلها در windows 98:

روش اول : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                انتخاب گزينه copy  از منوي edit

روش دوم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                انتخاب گزينه copy  از منوي ابزار

روش سوم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                 كليك راست روي آن پوشه

                  انتخاب گزينه copy  

روش چهارم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                    فشردن كليدهاي تركيبي Ctrl + c

 

روشهاي بريدن پوشه ها و فايلها در windows 98:

روش اول : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                 انتخاب گزينه cut از منوي edit

روش دوم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن 

                 انتخاب گزينه cut از منوي ابزار

روش سوم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                  كليك راست روي آن پوشه

                  انتخاب گزينه cut

روش چهارم : انتخاب پوشه موردنظر بوسيله كليك كردن روي آن

                    فشردن كليدهاي تركيبي Ctrl + x

                 

روشهاي چسباندن پوشه ها و فايلها در windows 98 :

روش اول : رفتن به مكان موردنظر

                 انتخاب گزينه paste از منوي edit

روش دوم : رفتن به مكان موردنظر

                 انتخاب گزينه paste از منوي ابزار

روش سوم : رفتن به مكان موردنظر

                كليك راست روي آن پوشه

                  انتخاب گزينه paste

روش چهارم : رفتن به مكان موردنظر

                    فشردن كليدهاي تركيبي Ctrl + v

 

روشهاي بازيابي يا بي اثرنمودن آخرين عمل انجام شده در windows 98 :

روش اول : انتخاب گزينه undo  از منوي edit

روش دوم : انتخاب گزينه undo  از منوي ابزار

روش سوم : فشردن كليدهاي تركيبي Ctrl + z

روشهاي خالي نمودن سطل بازيافت (Recycle Bin):

روش اول : انتخاب كردن سطل بازيافت

                 كليك راست روي آيكن آن

                 انتخاب گزينه Empty recycle bin

                      انتخاب گزينه ok

روش دوم : انتخاب كردن سطل بازيافت

                 انتخاب تمام موارد داخل پنجره سطل بازيافت (select all)

                 صدور فرمان delete

                       انتخاب گزينه ok

 

روشهاي انتخاب نمودن آيكن ها در windows 98 :

براي انتخابهاي غيرمتوالي به روش زير عمل مي كنيم :

  1. انتخاب فايل يا پوشه موردنظر
  2. پايين نگهداشتن كليد Ctrl
  3. انتخاب ساير فايلها يا پوشه ها بوسيله كليد سمت چپ ماوس

براي انتخابهاي متوالي به روش زير عمل مي كنيم :

  1. انتخاب فايل يا پوشه موردنظر
  2. پايين نگهداشتن كليد shift
  3. انتخاب ساير فايلها يا پوشه ها بوسيله كليد سمت چپ ماوس

نكته 1

براي انتخاب نمودن تمام آيكن هاي داخل يك پنجره ميتوان يا از كليد تركيبي Ctrl + A استفاده نمود و يا گزينه select all  را از منوي Edit   انتخاب كرد.

نكته 2

براي معكوس نمودن موارد انتخاب شده از گزينه Invert selection در منوي Edit  استفاده مي نماييم.

 

شيوه هاي مختلف نمايش آيكن ها در windows 98 :

براي مشخص كردن نمايشهاي مختلف آيكن ها در windows 98 از گزينه view واقع در منوي ابزار استفاده مي نماييم. مدلهاي مختلف نمايش آيكن ها عبارتند از :

Large icons : نمايش آيكن ها به اندازه بزرگ

Small icons : نمايش آيكن ها به اندازه كوچك

List : نمايش آيكن ها بصورت فهرست وار

Details : نمايش آيكن ها باتمام جزئيات آن ازقبيل نام فايل يا پوشه انتخاب شده (name) ، نوع آن (type) ، مقدار فضاي اشغال شده (total size)  و تاريخ ساخته شدن يا ويرايش كردن آن (modified) .

 

نحوه مشاهده مشخصات پوشه ها در windows 98 :

براي ديدن مشخصات مربوط به پوشه ها و فايلها در windows 98 ، از گزينه properties واقع در منوي ابزار يا بوسيله مشخص كردن پوشه يا فايل موردنظر و كليك راست روي آن پوشه و انتخاب گزينه properties استفاده مي كنيم. بخش هاي مختلف پنجره properties عبارتند از :

ïنام فايل يا پوشه انتخاب شده (name)

 ï اندازه پوشه (size) 

ïمحل قرار گرفتن پوشه (location)

ï تاريخ ساخته شده پوشه (create)

ïاندازه فايلها و پوشه هاي داخل آن  (contains)

درقسمت پايين پنجره نيز، كادر مربوط به صفات مختلفي كه مي توانيم براي پوشه يا فايلها درنظر بگيريم (attributes) قرار دارد كه عبارتند از :

Read only (فقط خواندني) : فايلهايي كه فقط قابل خواندن يا ديدن هستند و نمي توان روي آنها چيزي كپي نمود يا آنها را پاك كرد.

Archive (آرشيو) : حالت عادي ذخيره نمودن فايلها و پوشه ها ميباشند.

Hidden (پنهان) : فايلهايي كه مخفي هستند و ديده نمي شوند و نمي توان آنها را كپي يا پاك نمود و فقط قابل اجرا كردن هستند.

System (سيستم) : فايلهايي كه تنها درهنگام راه اندازي كامپيوتر قابل اجرا هستند و مانند فايلهاي پنهان ، اسامي آنها در ليست پوشه ها و فايلها نمي آيد.

از چهار گزينه فوق، هركدام از گزينه ها كه انتخاب شده و علامت خورده باشد، پوشه موردنظر داراي همان صفت خواهد بود و اگر بخواهيم به يك فايل يا پوشه ، بيشتر از يك صفت بدهيم ، مي توان با علامت زدن آن قسمت ، صفت موردنظر را به آن فايل نسبت داد.

 

نحوه مشاهده مشخصات يك درايو در windows 98:

براي ديدن مشخصات مربوط به هركدام از درايوهاي كامپيوتر ،مراحل زير را انجام ميدهيم :

  1. انتخاب درايو موردنظر
  2. كليك راست روي آن
  3. انتخاب گزينه properties

بخشهاي مختلفي كه در پنجره properties  مشاهده مي شود عبارتند از

ïlable  برچسب يا نام درايو موردنظر

ïtype براي مشخص كردن اينكه آيا درايو موردنظر مربوط به كامپيوتر شما ميباشد يا يكي از             درايوهاي موجود در كامپيوترهاي شبكه ميباشد.

ïused space : مقدار فضاي اشغال شده درهر درايو، كه با رنگ آبي مشخص شده است.

ï free space : مقدار فضاي خالي در هردرايو، كه با رنگ صورتي مشخص شده است.

ïcapacity : مجموع فضايي كه براي هر درايو از كامپيوتر درنظر گرفته شده است.

نكته 1

بطوركلي در ويندوز،  براي ديدن خصوصيات مربوط به هرآيكن (پوشه يا فايل) و ويرايش كردن آن ، كافيست روي آيكن موردنظر كليك راست نموده و گزينهproperties  را انتخاب نمود.

نكته 2

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

نكته 3

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

 

معرفي پنجره Display :

براي ديدن و ويرايش نمودن بخش هاي مختلف صفحه نمايش ويندوز، از جمله رنگ و اندازه پنجره ها و متن آنها  (appearance)  ، تنظيم كردن محافظ صفحه نمايش (screen saver) ، تنظيم كردن پس زمينه(background)  ، تعداد رنگ استفاده شده در مانيتور و وضوح تصاوير(setting)  از پنجره display استفاده مي نماييم.

 

 

 

روشهاي مختلف بازكردن پنجره Display :

روش اول : بازكردن پنجره my computer

                       بازكردن آيكن control panel

                       انتخاب گزينه display

روش دوم : بازكردن منوي start

                   بازكردن گزينه setting

                       بازكردن گزينه control panel

                       انتخاب گزينه display

روش سوم : كليك راست روي پس زمينه ويندوز (desktop)

                  انتخاب گزينه properties

 

كليدهاي انتخابي مختلف پنجره Display :

 

كليد Background :

در اين قسمت ، ميتوان تصوير دلخواه را در پس زمينه (background) ويندوز ، قرار داد. گزينه هاي مختلف منوي background  عبارتند از :

ïwallpaper : انتخاب كاغذديواري يا تصوير موردنظر

pattern ï : انتخاب الگوها و طرحهاي آماده ويندوز

Browseï : انتخاب و قراردادن طرح و تصوير مورد نظر از درون فايلها و پوشه ها

 

كليد Screen saver :

براي محافظت كردن صفحه نمايش كامپيوتر در زماني كه با كامپيوتر كار نمي كنيم و فعال شدن محافظ صفحه نمايش از screen saver  استفاده مينماييم كه گزينه هاي آن عبارتند از :

Screen saver ï : انتخاب انواع مختلف محافظ صفحه نمايش

Wait ï : تعيين كردن زمان فعال شدن محافظ صفحه نمايش پس از گذشت چه زماني از بيكار ماندن كامپيوتر

Setting ï : تغيير دادن تنظيمات مختلف محافظ صفحه مانند سرعت حركت در صفحه ، اندازه و وضوح تصوير ، تغيير دادن حروف و كلمات متن و انواع مختلف جلوه هاي ويژه متن

Preview ï : ديدن محافظ صفحه موردنظر قبل از بكاربردن آن

Password protected ï : قراردادن رمزعبور براي محافظ صفحه نمايش كه براي برگشتن به محيط كار ، حتماً بايد رمز عبور را وارد نمود.

اگر گزينه فوق را فعال كرده باشيم ميتوان بوسيله دكمه change آنرا تغيير داد ، اما درصورت فراموش كردن رمز هيچ راهي براي برگشت وجود ندارد. بنابراين همواره در انتخاب رمز عبور بايد دقت لازم را نمود.

 

كليد Appearance :

بوسيله اين قسمت ميتوان بخشهاي مختلف صفحه نمايش و پنجره هاي موجود در آن را تغيير داد و به دلخواه تنظيم نمود. گزينه هاي مختلف اين بخش عبارتند از :

Scheme ï : انتخاب كردن انواع مختلف مدلها و رنگهاي پنجره ها و منوها

Item ï : تغيير رنگ يا قلم نوشتن متنهاي مورد استفاده در منوها و پنجره ها بصورت جزء به جزء

Save as ï : ذخيره نمودن تنظيمات دلخواه با نام موردنظر

Delete ï : حذف نمودن تنظيمات

Color ï: انتخاب رنگ موردنظر

Font ï : تغيير دادن نوع قلم مورداستفاده

B ï : نوشتن متن ها بصورت ضخيم و سياه تر

/ ï : نوشتن متن ها بصورت مايل (ايتاليك)

 

كليد Effects :

در اين بخش مي توان تغييرات مربوط به آيكن ها ازجمله تغيير اندازه(use large icons) ، تغيير شمايل(change icon) ، پيش فرض كردن آيكن ها (use default icon)  ، پنهان نمودن آيكن ها ، تغيير دادن تنظيمات رنگ و ساير مشخصات مربوط به آيكن هاي ويندوز را انجام داد.

 

كليد Web :

بوسيله اين قسمت ، مي توان صفحه desktop را همانند صفحات اينترنت تنظيم نمود تا صفحات اينترنتي و سايتهاي موردنظر در اينترنت نيز به آساني قابل دسترسي باشند.

 

كليد Setting :

براي تغيير دادن سيستم رنگ بكاررفته در ويندوز و برنامه هاي آن و نيز تنظيم وضوح تصاوير از بخش setting استفاده مي نماييم كه گزينه هاي آن عبارتند از :

Colors ï : تعيين و تنظيم نمودن تعداد رنگهاي بكار رفته در سيستم رنگ ويندوز

Screen area ï : تنظيم نمودن درجه وضوح تصاوير . براي تغيير دادن اين قسمت، درحالي كه كليد سمت چپ ماوس پايين نگهداشته شده است بايد دكمه لغزاننده را به سمت راست يا چپ حركت داد تا تغييرات مورد نظر اعمال شود.

 

روشهاي مختلف قرارگرفتن آيكن ها در پنجره ها يا روي Desktop :

براي مرتب كردن و چيدن آيكن ها در windows 98  ميتوان به 5 روش عمل كرد .

براي دستيابي به اين روشها ابتدا روي ناحيه خالي از پنجره يا روي desktop ويندوز ، كليك راست نموده و سپس گزينه Arrange Icons  را انتخاب مي نماييم ، پس از اين عمل ، منويي باز ميشود كه شامل بخشهاي زير ميباشد :

By name : مرتب نمودن آيكن ها به ترتيب اولويت حروف الفبايي نام آنها

By type : مرتب نمودن آيكن ها بر اساس نوع يا پسوند آنها

By size : مرتب نمودن آيكن ها بر اساس اندازه  ( مقدار فضاي اشغال نموده )

Auto arrange  : مرتب نمودن آيكن ها بصورت اتوماتيك

روشهاي مختلف قرارگرفتن پنجره هاي بازشده در windows 98 :

در ويندوز 98 به سه روش مي توان پنجره هاي باز را در روي ميز كار (desktop) قرار داد كه عبارتند از :

ŒCascade windows  : قرار دادن پنجره ها بصورت رويهم و آبشاري

Tile windows horizontally : قرار دادن پنجره ها بصورت افقي در كنار يكديگر

ŽTile windows vertically : قرار دادن پنجره ها بصورت عمودي در كنار يكديگر

 

توضيح اينكه براي دستيابي به اين گزينه ها ، در قسمت نوار وظيفه (taskbar) كليك راست مي نماييم.

 

نحوه نمايش آيكن ها در windows 98 :

براي تغيير دادن در نحوه نمايش آيكن ها در ويندوز 98 به طريق زير عمل مي كنيم :

  1. انتخاب منوي view
  2. انتخاب گزينه folder option
  3. انتخاب بخش general

هنگامي كه قسمت general  را انتخاب ميكنيم ، سه نوع مختلف از نحوه نمايش آيكن ها در صفحه ديده مي شود كه عبارتند از :

¯web style : آيكن ها مانند  قرار گرفتن در صفحات وب ديده مي شوند.

¯classic style : آيكن ها به روش عادي ويندوز ديده مي شوند.

¯custom style : آيكن ها را مي توان بصورت دلخواه تنظيم نمود و در صفحه قرار داد.

براي تنظيم نمودن هريك از انتخابهاي فوق ، كافيست روي كليد setting  واقع در پايين پنجره كليك نموده و تنظيمات زير را اعمال نمود :

î  بخش active desktop

براي تنظيم نمودن نحوه نمايش ميز كار (desktop) از اين قسمت استفاده مي نماييم كه گزينه هاي آن عبارتند از :

Enable all web related content on my desktop  : تمام بخشهاي ميزكار ويندوز را مانند صفحات وب تنظيم مي كند.

Use windows classic desktop  : حالت استاندارد ويندوز را براي آرايش پنجره ها درنظر ميگيرد.

 

î بخش Browse folder as fallows

براي تنظيم نمودن حالتهاي مختلف نمايش پوشه ها در صفحه استفاده مي شود كه گزينه هاي آن عبارتند از :

Open each folder in the same window  : هر پوشه جديدي كه باز مي شود را در داخل پنجره قبلي كه پوشه هاي قبل باز شده اند نشان ميدهد.

Open each folder in its own window : هر پوشه را در پنجره مربوط به خودش باز مي كند و نشان مي دهد.

 

î بخش view web content in folder

براي تنظيم نمودن نمايش محتويات پوشه ها مانند صفحات وب استفاده مي شود كه گزينه هاي آن عبارتند از :

For all folder with HTML content : كليه پوشه هايي را كه به فرمت HTML طراحي شده اند را بصورت صفحات وب نمايش مي دهد.

 Only for folders where I select as web page : فقط پوشه هاي انتخاب شده را بصورت صفحات وب نمايش مي دهد.

î بخش Click item as follows  

براي تنظيم نمودن نحوه كليك نمودن آيكن ها از اين بخش استفاده مي شود كه شامل گزينه هاي زير ميباشد :

Single click to open an item : اگر اين گزينه فعال شود ، به محض كليك نمودن روي يك آيكن ، آن آيكن باز مي شود.

Double click to open an item : اگر اين گزينه فعال شود ، درصورت كليك نمودن روي يك آيكن ، آن آيكن انتخاب مي شود و درصورت دابل كليك نمودن روي آيكن ها ، آنها باز خواهند شد.

 

 

 

 

 

 

 

روشهاي جستجو در windows 98 :

براي جستجو نمودن و پيدا كردن فايل يا برنامه اي خاص در ويندوز 98 ، ميتوان از امكان find ويندوز استفاده نمود كه شامل بخش هاي زير ميباشد :

*      جستجو بر اساس نام فايل

*      جستجو بر اساس نوع فايل

*      جستجو بر اساس حجم اشغال شده توسط فايل

 

روش اول :

              بازكردن منوي start

                انتخاب منوي find

               انتخاب گزينه files or folder

روش دوم :

             كليك راست برروي منوي start

              انتخاب گزينه find

 

گزينه هاي مختلف منوي find عبارتند از :

 

تب name & location :

اين بخش شامل گزينه هاي ذيل ميباشد كه هريك ، كاربر را در جستجوي فايل يا فولدر موردنظر راهنمايي و كمك مي نمايد :

*      كادر name  : براي جستجو نمودن بر اساس نام فايل ، كافيست نام فايل مورد نظر را در كادر مقابل name وارد نماييم . همانطور كه مي دانيم جهت نوشتن همه يا بخشي از نام فايل مي توان از كاراكترهاي جانشين * و  ؟ نيز استفاده نمود.

*      كادر containing text : براي جستجو نمودن بر اساس محتويات فايل هاي موردنظر ، مي توان در مقابل كادر فوق ، موضوع موردنظر را وارد نمود تا ويندوز تمامي فايلهايي را كه شامل آن موضوع باشند جستجو نمايد.

*      كادر look in : جهت مشخص نمودن مسير جستجوي فايلها ، از اين بخش استفاده مي نماييم كه مي توان مسير موردنظر را وارد نمود و يا از طريق بازكردن كادر فوق ، از بين مسيرهاي مختلف ، مسير مورد نظر را انتخاب نمود.

 

تب Date :

در اين قسمت ، جستجو بر اساس زمان انجام مي گيرد كه شامل گزينه هاي زير مي باشد:

*      كادر find all files : با انتخاب نمودن اين بخش، كادر مربوط به آن روشن شده كه    مي توان بوسيله انتخاب فلش سمت راست آن ، انتخابهاي موردنظر را انجام نمود.

انتخاب modified به منزله جستجو نمودن كليه فايلهايي كه در تاريخ مشخص شده تغيير داده شده اند ميباشد.

            انتخاب created  به منزله جستجو نمودن كليه  فايلهايي كه در تاريخ مشخص شده  ساخته          

            شده اند ميباشد.

            انتخاب last accessed  به منزله جستجوي كليه فايلهايي است كه آخرين مرتبه به آنها 

            دسترسي داشتيم .

*      در قسمت between  نيز ميتوان فاصله زماني مورد نظر را جهت جستجو  ، مشخص نمود.

*      during the previous months      جهت جستجو نمودن فايلها ، طي ماههاي گذشته مي باشد.

*       during the previous days  جهت جستجوي  فايلها ، طي روزهاي گذشته ميباشد.

 

تب advance:

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

*      كادر of type  : بوسيله انتخاب نمودن اين قسمت و بازكردن منوي آن از طريق فشردن فلش سمت راست منو، ميتوان فايلهاي مورد نظر را از ليست انتخاب نموده و به جستجوي آنها پرداخت.

*      كادر size in : با فعال نمودن اين قسمت ، مي توان اندازه فايل مورد نظر را جهت جستجو وارد نموده كه شامل دو بخش at least  جهت حداقل اندازه فايل و at most  جهت حداكثر اندازه فايل مي باشد.

 

پس از تنظيم نمودن بخش هاي فوق ، جهت شروع عمل جستجو از كليد find now استفاده مي نماييم. همچنين جهت متوقف ساختن عمل جستجو، از كليد stop  و جهت جستجوي مجدد از كليد new search استفاده مي نماييم.

 

 

 

 

 

 

گزينه هاي منوي Accessories:

توسط اين منو  ميتوان به بخش ديگري از امكانات ويندوز از جمله امكانات شبكه ، امكانات صوتي و تصويري ، امكانات برطرف نمودن عيوب سيستم، استفاده از برنامه نقاشي يا كار با ماشين حساب ، استفاده از دفترجه يادداشت ويندوز و ... دسترسي داشت كه در ذيل هريك از اين امكانات را شرح مختصري خواهيم داد:

 

ý     گزينه communication  جهت ارتباط برقرار نمودن با شبكه هاي كامپيوتري و تنظيمات مربوط به شبكه ميباشد.

ý     گزينه entertainment  جهت دسترسي به امكانات چندرسانه اي از جمله موسيقي و نمايش فيلم و نيز تنظيم نمودن هريك از اين بخش ها ميباشد.

ý     گزينه internet tools   جهت تنظيم نمودن و استفاده از امكانات شبكه ها ميباشد.

ý     گزينه system tools  جهت تنظيمات مربوط به برطرف نمودن اشكالات بوجود آمده در فايلها و بخش هاي مختلف ويندوز و نيز تنظيم پيكربندي برنامه ها استفاده مي شود.

ý     گزينه address book  جهت يادداشت نمودن نام و ساير مشخصات ميباشد كه اين قسمت همانند يك دفترچه يادداشت عمل نموده و براي مراجعه به آن و پيدا نمودن نام و ساير مشخصات افراد موجود در آن ، مي توان به راحتي با آن كار كرد.

ý     گزينه calculator  جهت استفاده از ماشين حساب مي باشد.

ý     گزينه imaging جهت ديدن و نمايش تصاوير بصورت سريع .

ý     گزينه notepad جهت تايپ كردن متون و نيز ساختن فايلها با پسوندهايي مانند HTML در برنامه هاي متفاوت ميباشد.

ý     گزينه paint  جهت ساختن تصاوير گرافيكي ساده و نقاشي نمودن بصورت ابتدايي مي باشد.

ý     گزينه word pad جهت تايپ نمودن متون ميباشد كه تقريباً مانند notepad ميباشد اما امكانات اين بخش ، كاملتر از مورد قبل است.

 

 

 

 

 

كاركردن با برنامه scandisk :

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

جهت فعال نمودن اين برنامه از منوي start ، گزينه program  را انتخاب نموده و در بخش accessories  ، قسمت system tools را برمي گزينيم و در بين گزينه هاي مختلف اين قسمت ، گزينه scandisk را انتخاب مي نماييم.

با بازكردن پنجره scandisk ، گزينه هاي زير را خواهيم داشت كه عبارتند از :

ö     select the drive you want to check fro errors : مشخص نمودن درايوهايي كه ميخواهيم تست شوند. در اين قسمت مي توان براي انتخاب نمودن بيش از يك درايو، كليد shift را پايين نگهداشت و درايوهاي موردنظر را انتخاب نمود.

ö     Type of test : جهت مشخص نمودن نوع تست درايوها ميباشد كه شامل دو مدل است:

ö      Standard   براي تست نمودن و عيب يابي فايلها و پوشه ها

ö     Thorough  براي تست نمودن و عيب يابي فايلها ،پوشه ها و سطح ديسك

همچنين اگر گزينه automatically fix errors انتخاب شود ، به محض پيدانمودن اشكال ، ويندوز بصورت اتوماتيك آنرا برطرف خواهد نمود اما اگر اين گزينه را فعال نكنيم درصورت برخورد با مشكل، ويندوز قبل از برطرف نمودن آن در هر مرتبه از كاربر سوال خواهد نمود.

پس از تنظيمات فوق ، با فشردن دكمه start ، برنامه شروع به تست كردن درايوهاي مشخص شده مي نمايد.

 

كاركردن با برنامه disk defragmenter :

اين برنامه جهت بهينه سازي فضاي ديسك مورد استفاده قرار مي گيرد. چنانچه در اثر نصب نمودن برنامه هاي مختلف يا تغييرات و ويرايش كردن فايلها از جمله كپي كردن ، حذف كردن و ساير عمليات ويرايشي حافظه كامپيوتر دچار بهم ريختگي و پراكندگي مكان جايگذاري فايلها شود ، جهت برطرف نمودن اين ازهم گسيختگي و ايجاد پيوستگي مجدد و بالابردن سرعت پردازش و انجام فرمانها از برنامه disk defragmenter  واقع در منوي system tools  استفاده مي نماييم.

گزينه هاي اين برنامه عبارتند از :

Which drive do you want to defragment  : براي مشخص نمودن درايوي كه ميخواهيم عمل بهينه سازي (defrag) بر روي آن انجام شود.

All hard drives  : براي بهينه سازي تمام سخت ديسك ها

با انتخاب نمودن كليد setting ، پنجره ذيل باز خواهد شد كه شامل گزينه هاي زير ميباشد:

 

Rearrange program files so my program start faster : براي مرتب نمودن برنامه ها بصورتي كه سريعتر اجرا شوند.

Check drives for errors : با انتخاب اين گزينه ، ويندوز درصورت برخورد با مشكل ، پيغام ميدهد كه ابتدا برنامه scandisk را اجرا نموده و اشكالات را برطرف نماييد و سپس به مرتب نمودن فايلها بپردازيد.

This time only : تنها در اين مرتبه آتنظيمات فوق را اعمال نمايد.

Every time I defragment my hard drive  : در هر مرتبه انجام دادن عمل defrag ، از اين تنظيمات استفاده نمايد.

Show details : براي نشان دادن جزئيات فايلها درهنگام بهينه سازي

Hide details : براي پنهان نمودن جزئيات در هنگام بهينه سازي

 

 

 

 

 

 

 

 

 

گزينه هاي منوي start درwindows  :

Shut down  : بستن و خارج شدن از ويندوز

Log off  : ورود به برنامه ها با وارد نمودن رمز ورود

Run : اجرا نمودن برنامه ها بوسيله نوشتن نام و مسير برنامه

Help : راهنماي ويندوز جهت آموزش بخش هاي مختلف در برنامه

Find : جستجو نمودن فايلها و برنامه هاي مورد نظر

Setting : تنظيمات انواع سخت افزار نرم افزارهاي موجود در ويندوز

Document : دسترسي مستقيم به برنامه ها و فايلهايي كه اخيراً باز شده و اجرا شده اند.

Favorites : مرتب نمودن برنامه هاي موردعلاقه اينترنت جهت دسترسي آسان به آنها

Programs : دسترسي به كليه برنامه هاي نصب شده در ويندوز

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: شنبه 23 اسفند 1393 ساعت: 23:04 منتشر شده است
برچسب ها : ,,,
نظرات(0)

ليست صفحات

تعداد صفحات : 792

شبکه اجتماعی ما

   
     

موضوعات

پيوندهاي روزانه

تبلیغات در سایت

پیج اینستاگرام ما را دنبال کنید :

فرم های  ارزشیابی معلمان ۱۴۰۲

با اطمینان خرید کنید

پشتیبان سایت همیشه در خدمت شماست.

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

درباره ما

آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس