داده ها در ++C :

 

مقاله16:


داده ها در ++C :

 

همانند همه زبان های برنامه نویسی در زبان ++C هم انواع مختلف داده ای را داریم.تعداد این داده ها و نوع آنها در زبان های مختلف فرق می کند.مثلا در زبان VBScript فقط یک نوع داده به نام Variant داریم.اما در زبان ++C هفت نوع داده وجود دارد.wchar_t , bool , void , double , float , char , int این هفت نوع داده هستند.در ضمن چهار کلمه کلیدی signed (با علامت) و unsigned (بدون علامت) و short (کوتاه) و long (بلند) نیز وجود دارند که با ترکیب آن با انواع داده ای می توان انواع جدیدی را ایجاد کرد.جدول زیر انواع داده ها در ++C و مقادیر قابل قبول آنها را به همراه اندازه آنها به بیت نشان می دهد.

نکته مهم : در نوشتن انواع داده توجه داشته باشید که این کلمات همانطور که اینجا ذکر شده اند نوشته شوند ، چون همانطور که گفتیم در ++C حروف کوچک و بزرگ با هم تفاوت دارند.مثلا ما در ++C نوع داده ای char داریم نه Char یا chaR و ...

در جدول زیر انواع متغییر ها و اندازه به بیت و بازه قابل قبول انواع داده ای در ++C را مشاهده می کنید.

 

نوع

اندازه به بیت

بازه قابل قبول

 char

 unsigned char

 signed char

 int

 unsigned int

 signed int

 short int

 unsigned short int

 signed short int

 long int

 signed long int

 unsigned int

 float

 double

 long double

 

8

8

8

16 or 32

16 or 32

16 or 32

16

16

16

32

32

32

32

64

80

 

127-  تا 127

0 تا 255

127-  تا 127

32767- تا 32767

0 تا 65535

32767- تا 32767

32767- تا 32767

0 تا 65535

32767- تا 32767

2147483647- تا 2147483647

2147483647- تا 2147483647

0 تا 4294967295

7 رقم دقت (ارقام بعد از اعشار) ( تقریبا 10 بتوان 38- تا 10 بتوان 38)

15 رقم دقت ( تقریبا 10 بتوان 308- تا 10 بتوان 308)

19 رقم دقت ( تقریبا 10 بتوان 4932- تا 10 بتوان 4932)

توابع ریاضی

توابع ریاضی

16 04 2008

با بررسی یک برنامه با توابع ریاضی آشنا می شویم؛

# include

# include

int main ()

{ double x,y,a,b;

x = 2.536;

y = sin (x);

cout <<”y=”<

y = cos (x);

cout <<”cos (“<

a = 5.5;

b = log (a);

cout<<”b=”<

b = log 10 (a);

cout<<”b=”<

return 0;

}

نکات:

یک – نوع متغیر double مانند float برای معرفی متغیرهای اعشاری به کار می رود با این تفاوت که نسبت به float دارای دقت بیشتری می باشد و عدد را با تعداد رقم اعشاری بیشتری نشان می دهد .

دو – لگاریتم عدد a در مبنای 10 به صورت (log 10 (a در برنامه نوشته می شود و همچنین لگاریتم در مبنای نپر به صورت   (log (a نوشته می شود.

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

y = floor (x) (بزرگترین عدد صحیح کوچکتر از عدد)

y = floor (x) (بزرگترین عدد صحیح کوچکتر از عدد)

Sin (x), cos (x), log 10 (x), log (x که درین برنامه مورد استفاده قرار گرفت و

y = e^x –> y = exp (X)

( ^ به معنای توان است که در برنامه به صورت (exp (x در برنامه نوشته می شود.)

y = tan (x)

y = sinh (X)

y = arc sin (x) –> y = a sin (x)

y = arc tan (x) –> y = a tan (x)

y = arc sinh (x) –> y = a sinh (x)

y = x ^ 0.5 (رادیکال) –> y = sqrt (x)

y = |x| (قدر مطلق) –> y = abs (x)

y = a^b (توان) –> y = pow (a,b)

y = ceil (x)(کوچکترین عدد صحیح بزرگتر از عدد)

y = floor (x) (بزرگترین عدد صحیح کوچکتر از عدد)

چهار - برای استفاده از توابع ریاضی شناخته شده برای کامپایلر لازم است در ابتدای برنامه هدِر فایلی را معرفی کنیم که این توابع مثل کتاب های کتابخانه در آنجا قرار دارند و آن هدر فایل است.

ساختار کلی ++c

ساختار کلی ++c

امروز میخوام با نوشتن برنامه ای ساده کار رو شروع کنم؛


برای نوشتن هر برنامه ای نیاز به نوشتن تابعی موسوم به
main هست، فرمت این تابع به یکی از صورت های زیر نوشته میشه؛ش


صورت اول:

int main ( )

{

return (0);

}

صورت دوم:

int main ( ) {

return main (0);
}


چند نکته:

نکته اول: میان پرانتز باز-بسته جلوی main هم میتواند فاصله وجود داشته باشد و هم میتواند وجود نداشته باشد، یعنی نوشتن آن به دو صورت زیر امکان پذیر است:

1. int main()
2. int main( )


نکته دوم: صفر جلوی return هم میتواند داخل پرانتز باشد و هم میتواند بدون پرانتز باشد یعنی:

1. return(0);

2. return 0;

نکته سوم: دستورات و وظایف در بین دو آکلاد، بعد از main و قبل از return نوشته میشوند.

مرحله ی دوم نوشتن برنامه را با معرفی متغیرها ادامه میدهیم؛

int main ()

{
int a=4, b, c, count=0;
float s, sum, average, v=2.5;
b=6;
c=10;
s=8;
float d=3.5;

.
.
.
return 0;
}

درین پنج خط دستور ما متغیرهایی را تعریف و یعضی را مقداردهی کرده ایم؛

در خط اول بعد از main متغیرها از نوع integer یا int یعنی عدد صحیح تعریف شده اند و ما مقدار این متغیرها را باید اعدادی صحیح بدهیم ولی اگر احیاناً اشتباه کنیم و مقدارشان را اعشاری بدهیم ممکن است کامپایلر (مترجم برنامه نویسی به زبان ماشین) به صورت اتوماتیک اعشار را حذف کند، اما ما نباید اشتباه کنیم!

نکته: متغیرها میتوانند در ابتدای برنامه که تعریف میشوند مقداردهی شوند مثل متغیرهای a وv و count یا در ابتدای برنامه تعریف شده و در اثنای برنامه مقداردهی شوند مثل b و c و s . حالت سومی هم وجود دارد آن هم اینکه متغیرها هر جا احتیاج شد تعریف شده و مقداردهی شوند مثل d .

نکته: عباراتی مانند int و float برای کامپایلر شناخته شده هستند لذا لازم است آنها را همانطور که برای کامپایلر شناخته شده است و با همان حروف کوچک بنویسیم اما اسامی که میخواهیم برای متغیرها انتخاب کنیم به دلخواه میتوانیم با حروف کوچک و یا حروف بزرگ بنویسیم!

دوباره برنامه را کامل تر میکنیم؛

1. int main ()
2. {
3. int a=4, b, c, count=0;
4. float s, sum, average, v=2.5;
5. b=6;
6. c=10;
7. s=8;
8. float d=3.5;
9. sum=a+v*s-s/v+a*v-b/s+d;
10. v=6.5;
11. sum=sum+v;
12. average=v/(c+b)+(s*a)/v-(a+b)/(s-v);
.
.
.
return 0;
}

در خط نهم دستورالعملی برای انجام مجموعه ای از اعمال ریاضی روی متغیرها نوشته شده است.

نکته: ترتیب انجام این عملیات و به عبارتی اولویت آنها از بالا به پایین به صورت زیر است ( اعمالی که در یک سطر نوشته شده اند اولویت یکسانی دارند )

پرانتز ( )

* / %
+ -

در خط دهم متغیر v دوباره مقداردهی شده است؛ با این کار در ادامه ی برنامه هر گاه از این متغیر استفاده شود مقدار جدید آن منظور میشود.
در خط یازدهم متغیر مقدار
sum+v در متغیر sum ریخته میشود، در کامپیوتر به این عمل assignment گفته میشود.
در خط دوازدهم نیز مجموعه ای از عملیات ریاضی انجام شده و در متغیر
average ریخته میشود.

برنامه را ادامه میدهیم؛

1. int main ()

2. {
3. int a=4, b, c, count=0;
4. float s, sum, average, v=2.5;
5. b=6;
6. c=10;
7. s=8;
8. float d=3.5;
9. sum=a+v*s-s/v+a*v-b/s+d;
10. v=6.5;
11. sum=sum+v;
12. average=v/(c+b)+(s*a)/v-(a+b)/(s-v);
13. cout <<”FIRST PROGRAM”<
14. cout<<”s u m =”<<
15. cout<<”v=”<<<”s=”<<
return 0;

}

خروجی برنامه بعد از نوشتن آن در نرم افزار ویژوال سی به صورت زیر خواهد شد:

FIRST PROGRAM
s u m =123.456
v=2.5 s=8

همانطور که با توجه به خروجی مشخص است دستورcout دستوری برای نمایش در صفحه خروجی است؛
اگر بعد از دو نامساوی جلوی cout
داخل گیومه عبارتی را بنویسیم آن عبارت عیناً در خروجی نشان داده میشود و اگر خارج گیومه بنویسیم آخرین مقداری که از متغیر در برنامه داریم در خروجی نشان داده میشود.

آخرین نکته ای که ازین برنامه هنوز ناگفته مونده اینه که؛

هر برنامه ای شامل تعدادی هدر فایل (header file) در خطوط ابتدایی خودش هست که اصطلاحاً مثل کتابخانه ای میمونه که توابع استفاده شده در برنامه ازون جا فراخوانی می شوند، درین برنامه نیاز به هدرفایلی هست که به هدرفایل iostream.h مشهور می باشد؛ که به معنی جریان ورودی و خروجی است و از چند بخش با مفاهیم زیر تشکیل شده است؛

i=input

o=output

stream به معنی جریان

h=header file

پس برنامه ی کامل رو به طور کامل یک بار دیگر در زیر براتون میارم؛

# include

int main ()
{

int a=4, b, c, count=0;
float s, sum, average, v=2.5;
b=6;
c=10;
s=8;
float d=3.5;
sum=a+v*s-s/v+a*v-b/s+d;
v=6.5;
sum=sum+v;
average=v/(c+b)+(s*a)/v-(a+b)/(s-v);
cout <<”FIRST PROGRAM”<
cout<<”s u m =”<<
cout<<”v=”<<<”s=”<<

return 0;
}

در حقیقت چیزی که لازم هست بدونیم اینه که تابع main ازین کتابخانه فراخوانی میشود؛ پس در هر برنامه ای که از تابع main استفاده کردیم این هدرفایل رو باید در ابتدای اون به کار ببریم ، یعنی تقریباً همه ی برنامه ها!

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

باتشكرازسايت http://www.blogcatalog.com/blogs/c-3.html

آموزش زبان Visual C++.Net

مقاله15:

آدرس يك سايت براي دريافت ودانلودكتاب:

عنوان اثرآموزش زبان Visual C++.Net

موضوعبرنامه نويسي

نويسنده  :  هادی محمدپور

مترجم     :  

فرمت      :  Adobe Acrobat Reader .PDF

معرف      :  هادی محمدپور

تاريخ درج   :  3/01/1389

توضيحات : 

براي دانلود به آدرس زيرمراجعه كنيد:

http://www.farsiebook.com/ebook/6916.htm


راهنمای ++C  

مقاله14:

يك ساختمان داده‌اي ساده در C و C++


با مقايسه‌اي بين پياده‌سازي يك پشته در C و C++ كار را آغاز مي‌كنيم. دقت كنيد كه به چه ميزان اين دو به يكديگر شباهت دارند!

ساختمان داده پشته در C

كلاس پشته در C++

در اينجامقايسه‌اي در رابطه با چگونگي استفاده از اين پشته‌ها در يك برنامه وجود دارد :

main() در C و در C++

جايگزين‌ها (Variations):

توابع غضو، يا روش‌هاي، يك كلاس نبايستي حتما" در درون كلاس تعريف شوند. در حقيقت، آنها معمولا" در پرونده‌اي جداگانه وجود دارند. در اينجا مثال پشته با معرفي(declared) توابع در درون كلاس، و تعريف(defined) آنها در بيرون آورده شده است :

جداسازي رابط و پياده‌سازي

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

اعضاي عمومي/حفاظت شده/خصوصي كلاس

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

C++ بجاي malloc() و free() از new و delete استفاده مي‌كند. در اينجا مقايسه‌اي از تخصيص و آزادسازي حافظه در ‍C و C++ وجود دارد :

Malloc()وfree() در مقايسه new و delete

اختياري:

آخرين اسلايد به دو نكته اشاره مي‌كند. اول انكه، استفاده از يك اشاره‌گر به يك كلاس در C++ همانند استفاده از يك اشاره‌گر به يك ساختار در C مي‌باشد. دوم آنكه، شما مجبور نيستيد كه متغيرهاي خود را در ابتداي تابع خود معرفي نمائيد. در حقيقت، شما مي‌توانيد متغير درون حلقه for را در درون حلقه معرفي نمائيد.

اشاره گرها به كلاس‌ها و معرفي متغيرها

سی++

مقاله13:

سی++:

از ویکی‌پدیا، دانشنامهٔ آزاد

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

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

زبان ++C توسط بی‌یارنه استراس‌تروپ دانمارکی در سال ۱۹۷۹ در آزمایشگاه‌های بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد و آن را "C با کلاس" (C With Classes) نام‌گذاری نمودند. در سال ۱۹۸۳کلاس‌ها و ویژگی‌های دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثنا انجام شد. این زبان برنامه‌نویسی در سال ۱۹۹۸ تحت نام ISO/IEC 14882:1998 استاندارد شد. نسخه فعلی استاندارد این زبان ISO/IEC 14882:2003 است. نسخه جدیدی از استاندارد (که به صورت غیررسمی C++0x نامیده می‌شود) در دست تهیه‌است. به ++c تغییر نام داد. توسعه با اضافه نمودن

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

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

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

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

[ویرایش] استاندارد زبان:

بعد از سال‌ها کار کمیته مشترک ANSIISO در سال ۱۹۹۸ ++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 با وجود اینکه تعریف این کلمه در C با تعریف آن در زبان ++C هماهنگی ندارد. همچنین در C ویژگی‌هایی معرفی شده‌است که در ++C وجود ندارند مانند ماکروهای قابل تغییر و استفااده بهتر از آرایه‌ها به عنوان آرگومان. بعضی کامپایلرها این ویژگی‌ها را پیاده نموده‌اند اما در بقیه این ویژگی‌ها موجب ناهماهنگی می‌گردد.

[ویرایش] برنامه Hello World

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

#include  // provides std::cout
using namespace std;

int main()
{
cout << "Hello, world!\n"; // prints "Hello, world!"
}

[ویرایش] ویژگی‌های زبان:

[ویرایش] عملگرها:

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

[ویرایش] پیش پردازنده:

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

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

#include 

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

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

#define MY_ASSERT(x) assert(x)

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

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

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

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

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

[ویرایش] قالب‌ها:

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

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

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

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

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

[ویرایش] اشیا

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

[ویرایش] بسته‌بندی:

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

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

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

[ویرایش] وراثت:

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

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

[ویرایش] چندریختی

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

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

[ویرایش] چندریختی ایستا:

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

[ویرایش] گرانبارسازی تابع

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

[ویرایش] گرانبارسازی عملگر

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

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

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

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

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

[ویرایش] چندریختی:

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

[ویرایش] ساختار برنامه‌ها:

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

[ویرایش] محیط‌های برنامه نویسی:

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

مثال++c

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

//programming by A. Najafzadeh
#include
#include
class pow{
double c;
public:
pow(int a , int b)
{ int dd; dd = b; c = 1;
while(dd != 0)
{
c *= a;
dd--;
}
cout< }
~pow(){}
tawan(){}
};
main()
{
int k , l;
cin>>k>>l;
pow pp(k , l);
pp.tawan();
getch();
{

/*مشاهده مي شود كه تابع سازنده pow داراي ورودي است كه آن را از متن برنامه درسافت نموده. اين برنامه با استفاده از تابع In line اتوماتيك نوشته شده.
در توابع in line از حلقه for و همچنين دستور Switch نبايد استفاده نمود. در صورتي كه از دستور goto استفاده شود برنامه ديگر ساخت يافته و يا شي گرا نخواهد بود. */


موضوعات پروژه درس سخت افزار 2 .درخواستي دانشجويان

مقاله12:

موضوعات پروژه درس سخت افزار2

۱-تحليل انواع خانواده هاي  IC ها (RTL و TTL و MOS و CMOS )

۲-بررسي سرعت و توان مصرفي و سطح ولتاژ و FANIN و FANOUT در IC ها

۳-معرفي ميكرو پروسسورها (ريز پردازنده ها) و تاريخچه آنها و بررسي ساختمان داخلي يك ريزپردازنده نمونه

۴-معرفي انواع مختلف CPU و بررسي ويژگي هاي نمونه هاي مختلف CPU و نصب آن

۵-معرفي Mainboard (بورد اصلي) و بررسي ويژگي هاي نمونه هاي مختلف آن و نصب بورد اصلي

 

۶-معرفي حافظه اصلي (RAM,ROM) و بررسي ويژگي هاي نمونه هاي مختلف آن و نصب آنها

 

۷-معرفي كارت گرافيك و بررسي ويژگي هاي نمونه هاي مختلف آن ونصبGraphic Card

 

۸-چگونگي افزايش فضاي حافظه و نحوه آدرس دهي به آن-معرفي Expanded Memory معرفي Cache Memory

 

۹- معرفي منبع تغذيه (Power Suply) و بررسي ويژگي هاي آن و نصب منبع تغذيه -- معرفي Co-Processor ها و نصب آن

 

۱۰- معرفي چاپگر و انواع آن (Matrix , Dot , Thermal , Laser) و بررسي ويژگي هاي نمونه هاي مختلف Printer و نصب آن

 

 ۱۱-معرفي Scanner و بررسي ويژگي هاي نمونه هاي مختلف آن و نصب آن - معرفي Modem و بررسي ويژگي هاي نمونه هاي مختلف آن و نصب آن

 

۱۲- معرفي Monitor و بررسي ويژگي هاي نمونه هاي مختلف آن و نصب آن - معرفي ماوس و بررسي ويژگي هاي نمونه هاي مختلف آن و نصب آن    معرفي Keyboard و بررسي ويژگي هاي نمونه هاي مختلف آن و نصب آن

 

 ۱۳-نصب كارتهاي صوتي و درايور CD --   تعريف پورت (سري و موازي)   --  ديسك گردان ( نرم و سخت و نوري ) و نصب 

 

برنامه اي ساده جهت ايجاد يك فايل در ++C

برنامه اي ساده جهت ايجاد يك فايل در ++C كه نام فايلي كه قرار است ايجاد شود نيز در ابتدا پرسيده مي شود.


//programming by a. najafzadeh    2005/03/30, 07:46:00 ب.ظ
#include
#include
#include
int main()
{
char asd[21] , ddd[21];
cout<<"enter your filename and your file extention.\n";
cin>>asd;
ofstream as(asd , ios::app);
cout<<"enter your comment that you want save in file.\n"; 
cin>>ddd;
as<as.close();
getch();
return 0;
}
پس از اجرا در محلي كه فايل برنامه وجود دارد ، يك فايل با نام وارد شده ايجاد مي گردد كه محتوي آنرا مي توان با استفاده از برنامه NOTE PAD مشاهده كرد.

نحوه تبدیل ویندوز کامپیوتر به یک ویندوز سخنگو

مقاله11:

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

ابتدا به control panel می رویم و گزینه sound and audio devices را انتخاب می کنیم سپس از میان گزینه های موجود گزینه sound را انتخاب می کنیم درپایین این پنجره گزینه هایی وجود دارند که درمیان آنها گزینه ای با نام program events به چشم می خورد این گزینه شامل صداهای پیشفرض ویندوز است که هنگام رخ دادن انواع اتفاقات در ویندوز شنیده می شوند مثلا صدای خالی شدن سطل آشغال یا صدای بازوبسته شدن پنجره ها یا شروع یا خروج از ویندوز شما می توانید صدای مورد علاقه خود را به جای صداهای پیشفرض ویندوز قرار دهید برای انجام این کار از گزینه browse استفاده کنید و صدای مورد علاقه خود را جایگزین کنید پیشنهاد می کنیم از صدای خودتان استفاده کنید.
توسط یک
headphone صدای خود را ضبط کنید و به جای گزینه های پیشفرض قرار دهید وسپس آن را save نمایید.

توسط: یوسف صحرایی از کردستان

ممنون ازمطلب مفيدتان

مثال++c

چند مثال ساده در زمینه کاربرد توابع در

C++
مثال 1: برنامه ای که دو عدد از ورودی دریافت نموده و با استفاده از یک تابع 
حاصل ضرب را محاسبه و در خروجی نمایش می دهد.
(در این مثال مقداری توسط تابع برگردانده نمی شود)
//programming by a. najafzadeh    2007/08/29, 07:46:00 ب.ظ
//Example 1
#include 
#include

void f1(int a , int b);
main()
{
register int c , p;
cin>>c>>p;
f1(c,p); //function called by value
getch();
}
/*===================================*/
void f1(int a , int b)
{
cout<<(a*b);
}
مثال 2: برنامه ای که سه عدد از ورودی دریافت نموده و با استفاده از یک تابع
بزرگترین عدد را یافته و در خروجی نمایش می دهد.
(در این مثال مقداری توسط تابع برگردانده نمی شود)
//programming by a. najafzadeh    2007/08/29, 07:46:00 ب.ظ
//Example 2
#include 
#include

void mxf(int a, int b, int c);
main()
{
register int d , e , f;
cout<<"please enter 3 numbers";
cin>>d>>e>>f;
mxf(d,e,f);//function called by value
getch();
}
/*===================================*/
void mxf(int a , int b , int c)
{
if(a
a = b;
if(a
a = c;
cout<
}
مثال 3: برنامه ای که با استفاده از یک تابع حروف انگلیسی را از راست به چپ
تایپ می نماید.
(این تابع از نوع بدون ورودی و خروجی می باشد.)
//programming by a. najafzadeh    2007/08/30, 12:07:00 ب.ظ
//Example 2
#include 
#include
#include

void LToR();
int main()
{
LToR();//function called
getch();
return 0;
}
//==================
void LToR()
{
int x=80;
char a;
gotoxy(x,1);
while((a = getch())!= '\r'){
gotoxy(x,1);
putch(a);
x--;
}
}

اهميت فناوري اطلاعات(IT)براي انتقال تكنولوژي وارتباط آن باخلاقيت وتوسعه علم

مقاله10:

اهميت فناوري اطلاعات(IT)براي انتقال تكنولوژي وارتباط آن باخلاقيت وتوسعه علم

چكيده :

تكنولوژي اطلاعات و ارتباطات مجموعه ابزارهاي ،ماشين ها، دانش فني ،روشها و مهارتهاي استفاده از آنها در توليد ،داد ستد ،پردازش ،انباشت ،بازيافت ،جابجايي ،انتقال و مصرف اطلاعات است كه از ساده ترين تا پيچيده ترين و ابتدايي ترين تا پيشرفته ترين مراحل اطلاعاتي را در بر ميگيرد.در واقع تكنولوژي اطلاعات و ارتباطات مي توان نقطه همگرايي الكترونيك ،پردازش داده ها و ارتباطات دور بردانست . اين همگرايي دو جنبه دارد :نخسين از ميان رفتن فاصله ها در نتيجه قرار گرفتن رايانه هاي سابقاّ منزوي از هم در يك شبكه گسترده جهاني و دوم :رايانمند شدن سيستم هاي ارتباطات دوربرد كه موجب ايجاد ظرفيت هاي جديدي براي انتقال صدا و تصوير مي شود . به عبارت ديگر فناوري اطلاعات و ارتباطات شامل مجموعه گوناگون از ابزار هاي تكنولوژيكي و منابع براي ايجاد ، نشر،ذخيره و مديريت داده ها و اطلاعات مي باشد . ابزار سنتي ICT مثل تلويزيون ،راديو وتلفن سودمند يشان را در توسعه مناطق حاشيه اثبات نموده اند . ظهور كامپيوتر ، اينترنت ،تكنولوژي ارتباطات بي سيم در كنار نرم افزار نيرومند براي پردازش و يكپارچه كردن متن ،صدا و تصوير در رسانه الكترونيكي،ICT مدرن را تشكيل مي دهد .به خصوص اينترنت ، اين فرصت را در اختيار پژوهشگران ،كارشناسان آموزش ،هنرمندان . كارگزاران در سراسر جهان گذاشته است كه پرورش يافته ترين ،تخصصي ترين ،كارآمدترين و فعالترين عناصر جامعه روشنفكر ي را كه تا به حال دنيا به خود ديده است پديد آورد و نوعي دانشگاه جهاني است.ظهور فناوريهاي و روشهاي تفكر ،زندگي مارا در خلال سالهاي اخير دگرگون كرده است دور نماي روشني براي ايجاد ارتباط جهاني بين دانشگاهها ،نهاد هاي آموزش عالي و تحقيقاتي ،كتابخانه ها ،آزمايشگاهها و بيمارستان در برابر آدمي گشوده است . اين امر به گسترش آموزش فردي ،يعني آموزش متناسب با نيازهاي فردي و گروهي تبادل آرا و اطلاعات و اجراي طرحهاي مشاركتي ياري رسانده است . چنين فناوريهاي  در عين حال كه اشتغال زا هستند وقوه خلاقيت را در فرد تقويت مي كنند،متاسفانه آثار نامطلوب و ويرانگر هم دارند .بهره گيري از فناوريهاي جديد ،و بهرمند شدن از مزايا و خدمات ارتباط جهاني (اينترنت ،شبكه هاي اطلاع رساني و...)در محيطهاي آموزشي ،مستلزم صرف هزينه هاي با لاي بابت زير بنا، سخت افزار وكارآموزي اينگونه خدمات است .

كليد واژه :

تكنولوژي ،فناوري اطلاعات ، توسعه ، خلاقيت          

 مقدمه:

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

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

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

 مفهوم فناوري (IT):

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

 تاثير فناوري اطلاعات:

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

_ مشاركت بيشتر گروههاي ذي نفع در امر تصميم گيري

_ افزايش سرعت و كاهش زمان و جلوگيري از تكرار پيامها

_بهبود در شناساي مسائل و افزايش سرعت در تشخيص آنها.

دليل استفاده از فناوري اطلاعات (IT)براي كشور هاي در حال توسعه:

_ مشاركت در تجارت و توليد جهاني

_ كاهش فقر اطلاعاتي

_ توليد فرهنگ گرايشهاي فناوري اطلاعاتي

 انقلاب تكنولوژي:

بعنوان بخشي از يك انقلاب تكنولوژي وسيع در عرصه اطلاعات و نقش (بالقوه)پتانسيل ICTs   ها    مي توان بهتر درك كرد .

درزير برخي وقايع مهم مرتبط با بحث هستند :

سال 1947: اختراع ترانزيستور و متعاقب آن ساخت كامپيوتر

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

سال 1972: اولين ريزه پردازنده توليد شد.

و تا كنون :قدرت پردازش به ازاي هر دلار سرمايه گذاري 10000 برابر شده است . هزينه مدارهاي انتقالي نيز با اختراع فيبر نوري و تكنولوژي بي سيم حدود 10000 برابر كاهش يافت .

 بررسي روند توسعه  ارتباطات و قدرت پردازش اطلاعات ممكن است به نظر چندان با بحث هاي مربوط به استراتژي هاي آينده توسعه روستاي مرتبط نباشد . اما درك تغييرات وسيع تكنولوژيكي مي تواند در تدوين استراتژي هاي    آتي مرتبط با موضوع كمك كند . اينترنت نمونه بارزي از تلفيق تكنولوژيهاي ديجيتالي است . در اين تكنولوژي ،قدرت پردازش و ارتباطات تلفيق شده و پذيرش گسترده آن نمايانگر مطلوبيت آن است . با اينحال همچنين در اين مورد كمي اغراق نيز شده است (بزرگنمايي). براي بسياري از مردم ICTs  ها با اينترنت يكي هستند و خطر فرسودگي و خستگي (تكراري شدن )آن وجود دارد . اين بدان معني نسيت كه مردم از كابرد آن دست بر مي دارند بلكه مي بايست به افزايش بيش از حد تجارت و مبادلات بر مبناي دات كام و ريسك هاي آن توجه كرد . از سوي ديگر اينترنت به هيچ عنوان آخرين نقطه و يا مهمترين دستاوردهاي تكنولوژي اطلاعات نيست ،بر اساس قانون موور،قدرت پردازش در هر 18 تا 24 ماه دوبرابر مي شود

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

واكنش به اين تغييرات به دو شكل خواهد بود ، اول:پذيرش انفعالي  كاربرد تكنولوژي هاي نوين در شرايطي كه آنها دسترس  قرار گرفته و اين پذيرش از طريق استراتژي هاي كم ريسك صورت گيرد . دوم : پذيرش تكنولوژي ها براي دستيابي به اهداف توسعه و اطمينان از اينكه اين تكنولوژي ها در جهت غير عمومي بكار  مي روند از طريق استراتژي هاي مبتكرانه و فعالانه.البته آسان است كه از يك رهيافت پرواكتيو كه عملا پتانسيل ICTs ها براي توسعه روستاي ارائه نمايد ،دفاع نمايم اما همچنين ضروري است كه موانع موجود بررسي شده و اين مسئله مشخص شود كه اين رهيافت در عمل چگونه كار خواهد كرد .

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

 عوامل تعيين كننده اثر بخشي سيستم هاي اطلاعاتي:

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

كما بيش هر يك از اين عوامل ،مي توانند پيامدهاي منفي به همراه داشته باشند :

الف) عوامل مربوط به سيستم اطلاعاتي:

1- ساختار پيام:

برخي از سوالات مرتبط در اين زمينه عبارتند از :

_ آيا اطلاعات يا محتواي پيام براي مخاطبين آن مفهوم دارد؟

_ آيا درك آنها توسط آنها ممكن است ؟

_ آيا پيام براي آنها جذاب يا مفيد است ؟

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

ب)عوامل مربوط به تكنولوژي:

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

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

· كاربرد آن تكنولوژي مستلزم ريسك با لا است .

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

· ساير امكانات مورد نياز در مكان و زمان خاص خود در دسترس نيستند .

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

 رهبران سيستم:

 سوالات مربوط بااين موضوع عبارتند از :

_ آيا اشخاص مسئول آماده سازي مجموعه هاي اطلاعاتي با جنبه هاي فرهنگي و اجتماعي جمعيت هدف آشنا يي دارند؟

_ آيا آنها نياز هاي اولويت دار گروهاي هدف را مي شناسند؟

_ آيا آنها در زمينه ابعاد سخت افزاري رسانه هاي ارتباطي مورد كاربرد به خوبي آموزش ديده اند ؟

_ آيا آنهامناسب ترين رسانه ارتباطي را انتخاب كرده اند؟

_ آيا آنها آموزشهاي لازم براي پيگيري اثرات فعاليتها مانند ملاقات مخاطبين در مكانهاي هدف را گذرانده اند ؟

 ميزان دخالت عوامل انساني:

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

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

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

 انواع رهيافتها در استفاده از تكنولوژي هاي انعطاف پذير (قابليت كاربرد چند جانبه ):

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

1- منفعت بخشي به فقيران:

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

2-  توسعه بازار

3- كاتاليست اطلاعات (تسريع كننده اطلاع رساني ):

بنياد MSSRF در ايالت تاميل نادوي هند ،تجربياتي در زمينه كاربرد ICTs به عنوان تسهيل كننده توسعه در جوامع روتاي فقير دارد . روستاهاي الكترونيكي اين بنياد ، رهايافتي نوين براي توانمندي سازي افراد از طريق افزايش دسترسي به اطلاعات  ارائه نمود . پايانه هاي كامپيوتر (بيش از تلفن همراه) به همراه بانك و مجموعه هاي اطلاعاتي مفيد در زمينه سرويس دهي به روستائيان مجهز باشند. از ده روستا خواسته شد تا ساختماني براي دسترسي عمومي به كامپيوتر در اختيار گذاشته و نيز  تعدادي داوطلب براي اداره مراكز روستايي مزبور انتخاب شدن در هر مورد از زنان خواسته شد تا نحوه كاربر از مراكز مزبور را فراگرفته و به ديگر زنان آموزش دهند . از طريق يك هاپ مركزي كه در نزديك ترين شهر ((Vilanur )) قرار دارد . اطلاعات و نشريات روزانه به اين مراكز انتقال داده مي شود اين هاپ به وسيله كارشناسان  اي تي مديريت شده و مسئول پاسخگويي به نيازهايي اطلاعاتي و آموزشي روستائان مزبور نيز مي باشد . دوره هاي آموزشي براي حدود 25 نفر در محل اين هاپ وبراي تعداد بيشتر... بولتن اخبارهاي روزانه از طريق ايمل براي روستائيان مزبور ارسال مي شد كه در آنها خلاصه اي از اخبار مهم از روزنامه هاي محلي گزارش هاي قيمت ها (كه بطور روزانه از بازار محلي جمع آوري مي شود) و وضعيت اب و هوا ي آمده است .همزمان با توسعه روستاي الكترونيكي مزبور روشها و تكنولوژي هاي جديد ي مانند استفاده از انرژي خورشيدي (براي همزمان برق ) و شبكه هاي گسترده براي حداقل كردن هزينه هاي براي روستا بكار گرفته شده است . در حاضر اين طرح ها از طريق بنياد مزبور حمايت مالي مي شوند ولي انتظار مي رود كه روستهاي مزبور بزودي خود اتكا شوند . بنابراي اگر روستاهاي بيشتري به هاپ متصل شوند سهم هزينه اي هر كدام كاهش مي يابد. با اينحال اين امر به طور نسبي رهايافت كم هزينه اي براي بهبود دسترسي به اطلاعات براي جوامعي است كه نه تنها به لحاظ جغرافيايي بلكه به لحاظ اجتماعي جدا افتاده محسوب مي شوند . در مقايسه به مدلها و روشهاي مبتني بر مراكز تلفن ، نقاط دسترسي كامپيوتر و روستاهاي الكترونيكي سروسيهاي متناسب تر و كم هزينه تري  ارائه مي نمايند . توجه و نكته اصلي در رهيافت يا مفهوم روستا ي الكترونيكي ،توان سازي روستائيان در دسترسي به اطلاعاتي است كه براي زندگي روزمره آنها مفيد بوده و يا كمك به يافتن  فرصتهاي در آمد زايي بيشتر براي آنها است .

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

بنياد MSSRF بر اين باور است كه در حالي كه ضمن اينكه شكاف اطلاعاتي آشكار ي وجود دارد كه مي تواند پر شود (مانند اخباز روزانه و قيمت باز ارها )استفاده از پتانسيل هاي بيشتر و كامل ICTs در جوامع روستايي مستلزم پذيرش بيشتر و همخواني آن با خود جوامع است . اين فرآيند همخواني و پذيرش (تلفيق )نبايستي بصورت  تاخير در كاربردي سازي و انتفاع از انقلاب اطلاعاتي باشد بلكه مي بايست به صورت مانعي در نظر گرفته شود كه مي بايد رفع شود و نيز بيش از آن بعنوان فرايند توسعه مثبتي است كه بازتاب نوعي كنترل از سوي جامعه مي باشد.

روستائيان اغلب كاربردي  بيش از مقاصد اوليه را براي اطلاعات كشف مي كنند بعنوان مثال ،قيمتهاي محصولات كشاورزي جمع آوري شده و به روستا ها ارسال مي شود با اين فرض كه كشاورزان با اطلاع از آنها معامله بهتري با واسطه هايي كه در فصل برداشت به روستا مي آيند خواهند داشت .اين اطلاعات همچنين برا ي كارگران با اطلاع از قيمتها بهتر مي توانند ميزان محصولات (برنج)دريافتي خود را ارزش گذاري نمايند . بنابراين دسترسي به اطلاعات در اينجا به عنوان تسهيل كننده اي براي توانمندشدن افراد است . فرايند توانمند سازي و ميزان تحققان بستگي به اين دارد كه افراد چگونه از اطلاعات در دسترس خود استفاده كنند .ICTs  مي تواند اطلاعات بيشتري در دسترس افراد دهند اما اين برعهده افراد است كه اطلاعات مربوط و مفيد براي خود را انتخاب نمايند و يا براي اطلاعات مفيد در خواست كنند .

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

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

پتانسيلICTs در استراتژي هاي توسعه روستايي آينده بنابراين تنها ارائه اطلاعات مرتبط با جوامع روستايي نيست بلكه همچنين توانا سازي آنها در انتخاب و تقاضا  براي اطلاعات مورد نظرشان نيز مي باشد.

4- دسترسي به نواحي دور افتاده:

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

 چالشهاي عمده سيستم هاي اطلاعاتي(انتقال تكنولوژي):

چالشهاي درون بخشي:

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

1- گسترش و حجم وظايف

2-  وابستگي به سياستهاي كلان وكاركرد نهاد هاي ديگر

3- وابستگي مستقيم به مراكز توليد دانش و اطلاعات

4- عدم پايداري مالي برنامه هاي توسعه

5- سازماندهي اطلاعات ودانش

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

 چالشهاي برون بخشي:

پديده جهاني شدن:

1- جهاني شدن سيستم ها و روش هاي توليد

2-  جهاني شدن بازارهاي نهاده ها و محصولات (جهاني شدن اقتصاد)

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

 فناوري اطلاعات (IT)در بازده يادگيري:

با بهره گيري از فناوري اطلاعات(IT)آموزش گيران قادر خواهند شدتا اطلاعات بيشتري را در مدت زمان كوتاهتري جذب كنند. پروژه هاي مطالعاتي در زمينه تاثير تكنولوژي اطلاعات بر يادگيري بيانگر اين واقعيت است كه از زمان ورود  اين فناوري به حوزه آموزش ،انگيزه افراد در فراگيري افزايش يافته است . در برخي زمينه ها و براي افرادي كه قبلا به طور مستمر ،در زمينه يادگيري شكست خورده و ناكام بوده اند ،اين معنا مي تواند باب جديدي را بگشايد.تحقيقات نشان مي دهد كه با ورد IT در مجموع آموزش گيران مي توانند مولد تر ،پر جرات تر ،چالش پذير تر و مطمئنتر از قبل باشد .

 راهكارهاي توسعه:

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

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

 راهكارهاي علمي در زمينه پيشرفت علم فناوري:

دسترسي به منابع انساني ماهر شرط اساسي موفقيت هر برنامه ي توسعه است اما مشكل آموزش چنين نيروهاي نيست ،بلكه استفاده و به كارگيري مفيد وموثر و نگهداري آنان در كشور حائز اهميت است .اگر افراد آموزش ديده به خارج از كشور مهاجرت كنند،يا از آموخته هاي خود در توسعه ي كشور استفاده لازم را به عمل نياورند تخصيص منابع براي آموزش آنان تاثير چنداني نخواهد داشت . اصولا كشورهاي جهان سوم كه ايران نيز مستثني از آن نيست معمولا در اين مورد با دو مشكل عمده مواجه مي شوند كه عبارتند از :

1)جذابيت كشور هاي پيشرفته براي افراد بسياري آموزش ديده و متخصص.

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

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

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

 نتيجه گيري و پيشنهاد:

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

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

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

 منابع :

1- مشبكي ،اصغر . تميموري نژاد،كاوه .(1378) رويكرد راهبردي و عملياتي به مديريت تحول سازمان،مديريت نوآوري و طراحي،ناشر :هيئت تهران

2- مهدوي ،محمد تقي . عوامل موثر در توسعه تكنولوژي ،تهران :پژوهشكده مطالعات و تحقيقات فناوري 1373

3-  شهرياري،زهرا جولابادي،زهرا . فن آوري هاي اطلاعات 1383

4- جبيبي فرد پور،الهام _پاكدامن ،مونا . اهميت فناوري در توسعه علم 1383

7-www.enrarta.msn.com

8-www.iicd.org/stories

9- www.peoplink.org

++C

به نام نور

باعرض سلام خدمت دوست ورفيق بسيارخوبم آقاي فريدغلامي

فريدجان آدرس يك وبلاگ درزمينه آموزش++Cرادرقسمت

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

مطالب خوبي دارد

بازهم جزوه هاي آموزشي ومطالب آموزشي برايتان مي گذارم.

اردتمندتان روح الله

معرفی اوليه   VB.NET ومراحل نصب برنامه:

مقاله9 :

VB.NET ومراحل نصب برنامه:

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

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

برنامه نويسی مبتنی بر DOS در مقابل ويندوز

برنامه نويسی مبتنی بر  ويندوز دارای تفاوت های عمده ای نسبت به برنامه نويسی سنتی در محيط DOS است.برنامه های  DOS ،  مسيری دقيق و مشخص  را ازابتدا تا پايان دنبال می نمايند . رويکرد فوق ، باعث بروز محدوديت هائی در رابطه با عملکرد برنامه ها  از يکطرف و تحميل محدوديت هائی به کاربران در طی نمودن مسير مشخص شده ، می گردد. از زاويه ای خاص می توان عملکرد  يک برنامه مبتنی بر  DOS را  مشابه قدم زدن در يک راهرو ( سالن )، در نظر گرفت . بمنظور رسيدن به نقطه انتهائی سالن ،  می بايست طول سالن  طی تا به انتهای آن رسيد . در اين راستا از موانع متعدد موجود در مسير ، می بايست عبور تا سرانجام به مقصد مورد نظر رسيد . در زمان پيمودن مسير ، صرفا"   امکان بازنمودن درب های خاصی  ، وجود خواهد داشت . ويندوز ، دنيای جديدی از برنامه نويسی مبتنی بر "رويداد"  را ايجاد نموده است . کليک نمودن موس ، تغيير اندازه پنجره ، تغيير محتويات يک  Textbox ، نمونه هائی از يک "رويداد" می باشند. کدهای  نوشته شده ، نحوه برخورد با يک رويداد را مشخص می نمايد.  برای رسيدن به انتهای يک سالن کافی است بر روی "انتهای سالن " ، کليک نمود و ديگر ضرورتی به پيمودن تمامی مسير تا رسيدن به انتهای سالن نخواهد بود . درصورتيکه به انتهای سالن رسيده باشيم و متوجه گرديم که اين مکان ، محلی نيست که انتظار آن را داشته ايم ، بسادگی می توان مقصد جديدی را برای خود انتخاب ، بدون اينکه ضرورتی به برگشت در نقطه آغازين مسير وجود داشته باشد. برنامه نوشته شده عکس العمل های لازم در ارتباط با حرکت شما  را بهمراه عمليات مربوطه بمنظور تکميل فعاليت ها ی مورد نظر انجام خواهد داد .  با استفاده از VB.NET ، می توان کدهای لازم بمنظور ارائه عکس العمل لازم در زمان تحقق يک رويداد را نوشت .در اين راستا ، برنامه نويسان می توانند  کدهای لازم  در رابطه با رويدادهائی که امکان  تحقق آنها وجود دارد را نوشته تا در زمان بروز رويداد مورد نظر ، عکس العمل لازم از طرف برنامه صورت پذيرد.در اين زمينه می توان از نوشتن کدهای ديگر بمنظور برخورد با رويدادهای غيرضروری ، صرفنظر کرد. مثلا" ويندوز قادر به تشخيص رويداد"کليک " از "کليک مضاعف " است . اين بدان معنی است که اگر می خواهيد برنامه مورد نظر شما ،عکس العمل لازم در ارتباط با رويداد  "کليک" را داشته باشد ، می بايست صرفا" کد مربوط به رويداد " کليک"،  نوشته گردد و الزامی به نوشتن کدهای  لازم بمنظور برخورد با رويداد  "کليک مضاعف" ، وجود نخواهد داشت . در دنيای برنامه نويسی DOS ، کاربر عکس العمل لازم را نسبت به برنامه انجام می دهد در صورتيکه در ويندوز ، برنامه ها عکس العمل لازم را با توجه به رفتار کاربران ، انجام خواهند داد .

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

روتين های عمومی اصطلاحا" Windows (API ) Application Programming Interface ناميده می شوند .

 تاريخچه ويژوال بيسيک

قبل از معرفی ويژوال بيسيک در سال 1991 ، پياده کنندگان نرم افزار مجبور به تسلط و مهارت در زمينه  استفاده از   ++C   بهمراه  موارد پيچيده ای در اين خصوص  بودند . بدين  ترتيب ، صرفا" افراد خاص آموزش ديده،  قادر به خلق نرم افزارهای قدرتمند  بمنظور اجراء در محيط ويندوز بودند. ويژوال بيسيک ، محدوديت فوق را تغيير و می توان اين ادعا را داشت که امروزه خطوط زيادی از برنامه های نوشته شده  با استفاده از ويژوال بيسيک کد شده است . ويژوال بيسيک ، ظاهر برنامه نويسی تحت ويندوز را با حذف عمليات اضافی برای نوشتن کدهای لازم جهت طراحی بخش رابط کاربر (UI) ، تغيير داده است . در اين راستا ،  زمانيکه بخش رابط کاربر ، ترسيم می گردد ، برنامه نويس می تواند کدهای لازم بمنظور انجام عکس العمل مناسب در رابطه با رويداد ها را به آن اضافه نمايد . زمانيکه ماکروسافت نسخه شماره سه ويژوال بيسيک را ارائه نمود ، مجددا" دنيای برنامه نويسی با تغيير مهمی مواجه گرديد. در اين راستا امکانات مناسبی برای نوشتن برنامه های مبتنی بر بانک های  اطلاعاتی ، در اختيار برنامه نويسان قرار گرفت. ماکروسافت بدين منظور محصول جديدی با نام( DAO )Data Access Objects را ارائه نمود . برنامه نويسان با استفاده از DAO ، امکان انجام عمليات متفاوت در رابطه با داده ها را ، بدست آوردند . نسخه های شماره چهار و پنج ، قابليت های نسخه سه را افزايش و اين امکان را  برای  پياده کنندگان نرم افزار فراهم نمود  تا برنامه های خود را جهت اجراء در محيط ويندوز 95 ، طراحی و پياده سازی نمايند . در اين زمينه ، برنامه نويسان قادر به نوشتن  کدهائی گرديدند که امکان استفاده از آنان  توسط ساير پياده کنندگان نرم افزار که از زبانی ديگر استفاده می کردند، فراهم گرديد. نسخه شماره شش ويژوال بيسيک ، روش جديدی بمنظور دستيابی به بانک های اطلاعاتی را ارائه نمود: ADO)ActiveX Data Objects )  . يکی از اهداف اوليه  طراحی  ADO ، امکان دستيابی به بانک های اطلاعاتی برای پياده کنندگان برنامه های مبتنی بر وب است که از تکنولوژی ASP ، استفاده می نمايند.

همزمان با ارائه جديدترين نسخه ويژوال بيسيک که VB.NET ناميده می شود ، بسياری از محدوديت های مرتبط با ويژوال بيسيک برطرف گرديد . در گذشته  ويژوال بيسيک با انتفادات  فراوان مواجه ( عدم وجود امکانات مناسب در مقايسه با جاوا و يا ++C ) و بسياری آن را نظير يک اسباب بازی در دنيای وسيع زبان های برنامه نويسی می پنداشتند. VB.NET با  غلبه بر مشکلات نسخه های پيشين ، توانسته است در مدت زمان کوتاهی ، بعنوان يک ابزار پياده سازی بسيار قدرتمند مطرح و گزينه ای مناسب برای برنامه نويسان در تمامی سطوح باشد .

نصب VB.NET

برای نصب VB.NET ، از دو رويکرد متفاوت می توان استفاده کرد :

·         نصب بهمراه  ويژوال استوديو دات نت

·         نصب نسخه استاندارد

هر يک از گزينه های فوق ، امکان ايجاد برنامه های مبتنی بر ويندوز را فراهم می نمايند . مراحلی که در ادامه ذکر می گردد ، نحوه نصب ويژوال استوديو را تشريح  می نمايد .

·         مرحله اول : برنامه Setup.exe را از روی CD مربوطه فعال نمائيد.

·         مرحله دوم : جعبه محاوره ای ، مراحل و اولويت های عمليات  نصب را نشان خواهد داد. بمنظور صحت عملکرد  VB.NET ، چندين Component نصب و يا بهنگام خواهند شد . اولين مرحله نصب، بهنگام سازی عناصر (Components) است . بر روی گزينه Windows Component Update ، کليک نمائيد.

·         مرحله سوم : برنامه نصب در ادامه سيستم را بررسی تا نوع عناصری را که می بايست بهنگام گردند، مشخص گردد. دامنه فرآيند بهنگام سازی به وضعيت ماشينی که بر روی آن ويژوال استوديو دات نت نصب می گردد، بستگی خواهد داشت .

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

·         مرحله پنجم : در اين مرحله با فشردن دکمه ! Install Now  ، بهنگام سازی عناصر (Components) آغاز می گردد . با اتمام هر يک از آيتم ها يک Check mark بمنزله اتمام مرحله مربوطه نشان داده می شود  . در مقابل عنصر جاری برای بهنگام سازی نيز يک فلش قرمز رنگ نسان داده می شود.

·         مرحله ششم : پس از بهنگام سازی عناصر ، مجددا" به صفحه اصلی Setup مراجعت و امکان نصب ويژوال استوديو دات نت فراهم می گردد.( کليک نمودن برروی گزينه Visiual Studio.NET )

نکته : در صورتيکه قصد داريد که از طريق ماشين فوق ، يک برنامه تحت وب پياده سازی نمائيد ، لازم است IIS و FrontPage Extensions  قبلا" نصب شده باشد( بصورت پيش فرض در زمان نصب ويندوز 2000 نصب خواهد شد ) در صورتيکه ويژوال استوديو دات نت ، بر روی کامپيوتری نصب می گردد که دارای سيستم عامل ويندوز 2000 نسخه Professional  است ، با يک پيام خطاء مواجه خواهيم شد( عدم وجود عناصر لازم ) با فشردن دکمه Install Component ، عمليات نصب IIS و Frontpage Extensions انجام خواهد شد . در صورتيکه دکمه Continue ، انتخاب گردد ، در آينده نمی توانيد برنامه های تحت وب را بصورت محلی بر روی کامپيوتر خود پياده سازی نمائيد .

·         مرحله هفتم : نظير اکثر برنامه های نصب ، ليستی از گزينه های موجود ( شامل عناصر ) برای نصب در اختيار شما قرار می گيرد . شما می توانيد ، صرفا" آنچيزی را که بدان نياز داريد ، نصب نمائيد . مثلا" در صورتيکه ظرفيت درايو شما پايين و يا ضرورتی به استفاده از ويژوال ++C دات نت را نداريد ، می توان در اين مرحله از نصب آن صرفنظر کرد. هر گزينه ای که در اين مرحله انتخاب نمی گردد ، می توان در صورت ضرورت آن را در آينده نصب کرد. برای هر يک از امکاناتی  که قرار است نصب گردند ، سه بخش اطلاعاتی متفاوت نمايش داده می شود :

بخش Feature Properties . فايل ها ی مورد نظر برای نصب و ميزان فضای مورد نياز را نشان می دهد .

بخش Feature description . هر Feature چيست و چه عملياتی را انجام می دهد .

بخش Space Allocation ، وضعيت  فضای ذخيره سازی هارد را  با توجه به گزينه های انتخاب شده ، نشان خواهد داد .

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

·         مرحله هشتم : ويژوال استوديو دات نت ، شامل مجموعه ای گسترده از فايل های مستندات ( راهنما )  است . در اين مرحله می توان تنظيمات لازم در خصوص اجرای مستندات از طريق CD و يا دايرکتوری نصب شده بر روی هارد را انجام داد . در اين زمينه می توان يک مسير بر روی هارد را مشخص تا مستندات نصب و يا گزينه Run From Source را انتخاب تا بر اساس آن مستندات همچنان بر روی CD باقی بمانند .

·         مرحله نهم : پس از انتخاب عناصر مورد نظر برای  نصب  ، با فشردن دکمه ! Install Now ، عمليات نصب آغاز می گردد . مدت زمان نصب ، بستگی به موارد انتخابی  و نوع سيستم دارد . مثلا"  نصب تمام ويژوال استوديو دات نت بهمراه تمامی مستندات بر روی يک ماشين با دارا بودن 256 مگابايت حافظه اصلی، سرعت  650 مگاهرتز و دوازده گيگابايـت هارد ديسک  ،  حدود يک ساعت طول خواهد کشيد .

·         مرحله دهم : پس از اتمام مرحله قبل ، با انتخاب گزينه Service Release ، بررسی لازم در خصوص بهنگام سازی  انجام می گيرد . اين عمليات از طريق اينترنت انجام خواهد شد . در اين زمينه به يک خط پرسرعت و مطمئن نياز خواهد بود .

عيد

                         عـــطـــرنرگـــس، رقــص باد

                                                                                نغمه شوق پرستوهاي شاد

                         خلوت گرم كبوترهاي مست

                                                                                  نرم،نرمك ميرسداينك بهار

خوش به حال روزگار

عيدبرعاشقان مبارك.

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