تبليغاتX
به نام تابناک ترین اسم

به نام تابناک ترین اسم

علوم رایانه=؟زبانهای برنامه نویسی

پردازنده 100 هسته ای

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

دیگر پردازنده های 2 هسته ای 4 هسته ای و 8 هسته ای اینتل و ای ام دی را فراموش کنید

درست است گفتگو پیرامون نخستین پردازنده 100 هسته ای دنیا است که بوسیله شرکت    tilera تیلرا که چندین سال است که کار بروی میکروپروسسورها ابزارهای شبکه و پردازنده ها را آغاز نموده ساخته شده که به نشان داده فن آوری های آن می پردازیم.

گفتنی است که این شرکت تا کنون و پیش از این پردازنده های 8،16،32و 64 هسته ای را نیز ساخته بوده که با رونمایی و بیرون دادن نخستین پردازنده 100 هسته ای خود و دنیا ،همه سازندگان پروسسور دنیا را شگفت زده کرد.

فن آوری ها

1:)هسته ها:دارای 100 هسته پردازشی می باشد. نکته با ارزش پیرامون هسته های این پردازنده این است که در ابتدا تنها 16 هسته از همه هسته ها کار خود را آغاز می نمایند و سپس در روند پردازش داده ها هرچه بزرگی داده های ورودی به پردازنده بیشتر گردد هسته های بیشتری هم کار خود را آغاز نموده و به ترتیب ویرایش 16 و پس از آن 32 و 64 و در آخر ویرایش 100 هسته ای سخت افزار کار خود را آغاز می نمایند تا هم در بهروری پردازشی داده ها کمک کنند و هم در بهروری مصرف انرژی که بسیار با ارزش و شایسته سپاس است.

این نکته هم گفتنی است که این جابجایی در ویرایش سخت افزاری بین هسته های کارگر  16،32،64 و 100 تنها در چند نانو ثانیه رخ می دهد و هیچ گاه داده ها درنگی برای به روی کار آمدن هسته های تازه روبروی خود نمی بینند.

2:)گذرگاه داده:گذرگاه داده جاسازی شده درون این پردازنده می تواند در هر دور پردازشی یا سیکل پردازنده داده هایی را برابر 200000000000B/s یا دویست هزار میلیارد بایت را درون خود جابجا نماید.

این یک رویا نیست ،این پهنای باند برای این پردازنده جایگاه آغاز به رخ کشی فن آوری روز و بهینه و هم چنین شگفت انگیز بودن کار شرکت تیلرا در ساخت این فرآورده می باشد. باید این نکته را هم بدانید که هیچگونه گذرگاهی با پایین تر از این  پهنا  نمی تواند که داده های پردازشی بین 100 هسته که در سرعت بین 1.6 تا 2 گیگا هرتز می توانند کار کنند  را با یکدیگر و همچنین داده های آنها را با حافظه نهان یک و دو و همچنین داده هایی را که از حافظه ابتدایی(رم) جابجا می شوند را مهار کند.

3:)حافظه نهان:حافظه نهان در این فرآورده 32 مگابایت می باشد که این همه حافظه های نهان رده یک و دو را در بر می گیرد.32 کیلو بایت بزرگی حافظه نهان رده 1 و 256 کیلوبایت بزرگی حافظه نهان رده 2 است.این فرآورده دارای حافظه نهان رده سه نیز می باشد که همه حافظه نهان رده 3 آن بین همه هسته ها به اشتراک گذاشته شده است.(بزرگی آن هنوز مشخص نشده است)

4:)بسته بندی:اندازه این فرآورده 4.5*4.5 سانتی متر می باشد کا می شود گفت از نسبت اندازه با دیگر پردازنده ها که تنها 2 یا 4 یا 8 هسته دارند و اندازه ای به بزرگی بین 2.5*2.5 تا 3.5*3.5 دارند فرآورده بزرگ و جاگیری نمی باشد. و به آسانی در رایانه های رومیزی و شاید با کمی دگرگونی درون لب تاپ ها نیز جاگیر شود.

نکته شگفت انگیزتر اینکه اگر بخواهید 10000 هسته پردازشی را در یک ابر رایانه با یکدیگر پیوند داده و داده های خود را بروی آن پردازش نمایید،با فن آوری شرکت هایی مانند اینتل و ای ام دی  باید 2500 پردازنده چهار هسته ای را که در بهترین ویرایش هر 4 تا از آنها را روی یک بورد سوار کنید که نیاز به 625 بورد با توانایی سوار شده 4 پردازنده 4 هسته ای دارید که در روبروی خود برای ساختن این سامانه گزینه پردازنده های شرکت تیلرا را دارید که تنها با استفاده از 25 بورد با قابلیت جاسازی 4 پردازنده 100 هسته ای می توانیید ابر رایانه خود را آماده به کار نمایید(ببین تفاوت ره از کجاست تا به کجا).

5:)فن آوری نانو متری:این فرآورده با فن آوری 40 نانومتری (5نانو کوچکتر از بهترین فرآورده های اینتل و ای ام دی) ساخته شده که خود باز یک فن آوری نوین می باشد.

6:)پشتیبانی از حافظه: این پردازنده می تواند تا 112 بیت داده را آدرس دهی نماید.هر دانه از این پردازنده ها می تواند تا 1024 گیگابایت حافظه را به تنهایی پشتیبانی نماید که این نیز نخستین پردازنده با این بزرگی پشتیبانی در خواندن و نوشتن بدون میانگیر درون یک بورد می باشد.(در پردازنده های پیشین این بزرگی در بهترین ویرایش 136 گیگابایت گفته شده بود).هم چنین این پردازنده توانایی پشتیبانی از حافظه هایی با تندی 2133 مگاهرتز را نیز داراست، که هر مهارکننده داده در آن می تواند تا 68 گیگابایت را در هر چرخه پردازشی پشتیبانی نماید.

7:)پردازش بیتی:این فرآورده نخستین پردازنده ای است که از  ویرایش X64 برای هر هسته خود  استفاده می نماید. در پردازنده های اینتل و ای ام دی از ویرایشX86 استفاده شده، که این فن آوری برای پردازش داده های 32 بیتی است لیکن همانگونه که می دانید با پیوند خوردن دو هسته یا بیش از دو هسته در پردازنده ها این ویژگی بگونه توانی بالا رفته که در پردازنده های 2 هسته ای توانایی پردازش داده های 64 بیتی و در پردازنده های 4 هسته ای توانایی پردازش داده های 128 بیتی را فراهم می نماید. لیکن در پردازنده های ساخت تیلرا هر هسته به تنهایی دارای 64 بیت آدرس خواندن و نوشتن است که با این ویژگی ها باید ببینیم با 100 هسته پردازشی چند بیت داده را می شود همزمان پردازش کرد.

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

8:)راه انداز:این فرآورده دارای راه انداز ویژه خود و هم چنین دارای یک سامانه کار ویژه است که بروی آن می توانید همه برنامه های ساخته شده تا اکنون را بارگذاری و اجرا نمایید.

نکته دیگر اینکه هیچ کدام از سامانه کارهای ویندوز و مکینتاش  که تا کنون ساخته شده اند توانایی به کار انداختن و استفاده از همه هسته های آن را ندارند.(همچنین ویندوز 7)

سرپرست گروه سازنده این فرآورده گفته که سامانه کار لینوکس توانایی کار با این فرآورده را دارد و می تواند همه نمونه نرم افزار را بروی این پردازنده اجرا کند.

بروی این پردازنده می توانید وب سرورهای آپاچی ،مایکروسافت آی آی اس و همچنین پایگاه داده SQL SERVER را راه اندازی نمایید.

9:)دامنه کار:این فرآورده ویژه کار بروی سرورهای پردازشی بوده و توانایی پیوند چندین هزار دانه از آن ها را بروی یک سامانه یا ابر رایانه دارید.


10:)انرژی: این فرآورده انرژی بین 5 تا 55 وات نیاز دارد که باز از بهترین پردازنده 4 هسته ای اینتل که توانی تا 200 وات نیاز دارد بسیار کمتر است.

زمانی که پردازنده در ویرایش 16 هسته ای کار می کند تنها 5 وات انرژی نیاز دارد و در ویرایش 100 هسته ای این انرژی تا 55 وات افزوده می گردد.

11:)سازه بندی:ساختمان این پردازنده برپایه چیدمان 10*10 هسته پردازشی کنار یکدیگر می باشد.

12:)دیگر توانایی ها: این فرآورده توانایی برپایی و اجرای تمامی برنامه های گرافیکی مبتنی بر GPU را که برای دیگر پردازنده ها نوشته شده اند را دارد(مانند پردازنده های سری نلهم اینتل)



+ نوشته شده در  یکشنبه دهم آبان 1388ساعت 13:41  توسط امین الله رضایی  | 

Oracel

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

Oracle Server Architecture 

Memory Architecture 

SGA : Oracle's Primary Memory Component 

در این بخش ابتدا به ساختارهای ...

ادامه متن

+ نوشته شده در  یکشنبه سی ام فروردین 1388ساعت 10:11  توسط امین الله رضایی  | 

دستورات سی شارپ

 

 

درس اول : آغاز كار با C#

 

در اين درس با ارائه چند برنامه و مثال ساده به طرز كار زبان C# مي‌پردازيم. اهداف اين درس عبارتند از :

  • فهم ساختار پايه‌اي يك برنامه C#
  • آشنايي با Namespace
  • آشنايي با كلاس (Class)
  • آشنايي با عملكرد متد Main()
  • آشنايي با ورودي/خروجي يا I/O

 ادامه متن

 

+ نوشته شده در  یکشنبه بیست و سوم فروردین 1388ساعت 10:36  توسط امین الله رضایی  | 

2010 چیست؟

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

در اینجا میتوانید مطلبی را در باره این مجموعه(انگلیسی)دریافت کنید

اطلاعات بیشتر را نیز می توانید از خود مایکروسافت بگیرید:(پیوندهای زیر)

+ نوشته شده در  شنبه هشتم فروردین 1388ساعت 15:9  توسط امین الله رضایی  | 

همه زبانهای من

اینم هدیه سال نو به برنامه نویس های گرامی
بزرگترین خانه زبان های بر نامه نویسی دنیا در اختیار شما عزیزان قرار گرفته  تا برای یافتن جواب سوال های خود راه مناسبی را بیابید.
بیش از ۱۶۰ زبان برنامه نویسی دنیا به همراه بیش از چندین هزار لینک متن های انگلیسی مربوط به این زبان ها در اختیار شما عزیزان است که در ستون سمت راست از جدول زیر با کلیک روی نام زبان مورد نظر خودمی توانید به تمامی لینک های موجود در راهنمای سایت گوگل دست یافته و به انتخاب خود از متن های آنها استفاده نمایید.
 
+ نوشته شده در  چهارشنبه بیست و هشتم اسفند 1387ساعت 23:58  توسط امین الله رضایی  | 

+ نوشته شده در  پنجشنبه بیست و سوم آبان 1387ساعت 9:29  توسط امین الله رضایی  | 

نکاتی پیرامون symbian

 

مطلب اول 

مطلب دوم

زبانها در سیمبین

>>این لینک هم توسط استاد گرامی جناب آقای بهرامی معرفی شده که  در آن تمام اسناد براي توسعه دهندگان سيمبيان به صورت رايگان قابل دريافت است:سیمبین<<

+ نوشته شده در  جمعه نوزدهم مهر 1387ساعت 11:34  توسط امین الله رضایی  | 

کجابنویسیم

بنام خدا

دسته بندی زبان ها

(imperative)زبان های برنامه نویسی معمولا به چهار دسته تقسیم می شوند:زبان های دستوری

(object oriented)وزبان های شئ گرا(logical)،زبان های منطقی(functional)زبان های تابعی

 

 

زبان های دستوری:

در این زبان ها برنامه ها شامل دنباله ای از دستورات است و اجرای هر دستور موجب می شود تا مفسر،یک یا چند سلول حافظه را تغیر دهد،همانند اینکه ماشین را به حالت تازه ای ببرد.

چنین زبان هایی به این صورت نوشته میشوند:

دستور1

دستور2

...

...

...

nدستور

ازدیدگاه این زبان ها،حافظه ازچندسلول تشکیل شده است و اجرای دستوری مثل جمع کردن دو متغیر و به دست آوردن متغیر تازه را می توان دستیابی به دو سلول حافظه،ترکیب مقادیرآن دو سلول و ذخیره نتیجه در سلول دیگر پشتیبانی می شود.C,C++,ADAدانست.این دیدگاه در زبانهایی مانند

 

 

زبانهای تابعی:

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

نحو چنین زبان هایی به این روش میباشد:

FUNCTION n(…FUNCTION 2(FUNCTION 1(data))…);

 

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

تابعی اند.Lisp & MLزبان های مانند

 

 

زبان های منطقی:

Prologدر این زبان ها شرایط بررسی میشود ودرصورت برقرار بودن آن شرایط،کاری انجام میشود..

یکی از زبان های منطقی است.

نحو چنین زبان هایی به این روش نگاشته میگردد:

Enabling condition1->action1

Enabling condition2->action2

……..

Enabling condition n->action n

 میباشد.(rule based) دقت نمایید که زبان برنامه سازی منطقی نمونه ای از زبان قانونمند

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

 

 

زبان های شئ گرا:

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

 

این چند نکته را در نظر داشته باشید:

 وجود دارند که زیر مجموعه زبان های (visual language) 1.انواع دیگری از زبان ها به نام ویژوال

(visual basic.net) دستوری اند .معروف ترین این زبان ها زبان ویژوال بیسیک و اخیرا ویژوال بیسیک نت

می باشد.البطه شرکت میکروسافت و شرکت بورلند به عنوان دو شرکت بزرگ و پیشرو در تولید و توسعه زبان ودیگر زبان ها را به صورتJAVA#,C#,C++,DELPHI,های برنامه سازی زبان های زیادی را مانند

ویژوال و برای ارائه خدمات بهتر به کاربران تولید کرده اند که بزرگترین این مجموعه ها را محصول بسیار پر 

میباشد (visual studio)مایکروسافت حجم

که آخرین نسخه آن مربوط به سال 2008 میلادی بوده وخود به تنهایی شامل چندین زبان ویژوال تحت 

ویندوز و حتی نسخه هایی از داس میباشد که به شما توصیه میکنم حتما برای آشنایی بیشتر با گروهی

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

این زبان ها شامل قابلیت هایی  برای تولید کد است.این زبان ها زمانی به عنوان زبان های نسل چهارم خوانده میشدند که هم اکنون همچنین لقبی را ندارند.یکی از ویژگی های مهم این زبان ها،سهولت درتولید واسط کاربر گرافیکی است .به مانند اینکه در زبان های ویژوال تنها با فشار دادن یک کلید می توان یک کنترل فرم،مثل کادر  را ایجاد کرد. (button)یا دکمه(text box)متنی

 

 گاهی به زبان های برنامه سازی اشتباه گرفته میشوند.اما زبان های HTML2.زبان های علامت دار مانند

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

Aminallah.rezaei@gmail.com

 

+ نوشته شده در  چهارشنبه بیست و ششم تیر 1387ساعت 20:32  توسط امین الله رضایی  | 

چه بنویسییم

بنام خدا

دامنه های برنامه نویسی

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

 

1:کاربردهای علمی

اولین کامپیوترهای دیجیتال که در دهه 1940 بوجودآمدند،برای کاربردهای علمی اختراع شدند.معمول کاربردهای علمی ساختمان های دادهی ساده ای دارند:ولی به محاسبات عددی ممیز شناورزیادی نیاز دارند،ولی به محاسبات عددی ممیز شناورزیادی نیازدارند.

متداولترین ساختمان داده ها،آرایه ها و ماتریس هاهستند.

متداولترین ساختارهای کنترلی ،حلقه های تکرار و انتخاب هستند.زبان های برنامه سازی سطح بالایی که برای (assembly)کاربردهای علمی طراحی شده اند،این نیازها را برآورده کرده اند .رقیب آنها زبان اسمبلی بوده است.

وبسیاری از مشتقات آن نیز برای این کاربرد طراحی شده اندAlgol 60 بوده است.Fortranاولین زبان علمی،

،ولی کاربردهای دیگری نیز داشتند.

برای بعضی از کاربردهای علمی که کارایی درآنها مهم است،مثل کاربردهای دهه های1950و1960،زبان های

نبوده اند.Fortranبعدی چندان بهتر از

 

 

2:کاربردهای تجاری

کاربرد کامپیوترها در تجارت در دهه 1950 شروع شد.کامپیوتر ها و زبان های خاصی برای این منظور ساخته شدند.

بود که نسخه اولیه آن در سال1960 ارائه گردید.Cobolاولین زبان سطح بالای موفق در این زمینه،

هنوز هم برای این منظور از آن استفاده میشود.امکانات این زبان تولید گزارشهای توصیفی،روش های دقیق )و )وداده های کاراکتری و توانایی تعیین عملیات حسابی دهدهی است.Decimal)توصیف و ذخیره اعداد دهدهی

با اختراع ریز کامپیوترها،روش های جدیدی برای کاربرد کامپیوترها در تجارت(به خصوص تجارت کوچک)

مطرح شد.استفاده ازابزارهای مفیدی مثل سیستم های بانک اطلاعاتی وسیستم های صفحه گسترده در تجارت  زبان های دیگری برای کاربردهای تجاری طراحی نشدند.Cobolمتداول شد.غیر از

 

 

3:هوش مصنوعی

یکی از کاربردهای وسیع کامپیوتر است که (Artificial intelligence)هوش مصنوعی

 سروکار دارد.معنای محاسبات نمادی این است که(Symbolic)بجای محاسبات عددی از محاسبات نمادی

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

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

Lispبود که در سال 1959 ایجاد شد.اغلب کاربردهای هوش مصنوعی به Lispاولین زبان هوش مصنوعی

یا مشتقات نزدیک آن نوشته شده است.در دهه 1970،روش دیگری برای این کاربردها مطرح شد که برنامه  بوده است. Prologنویسی منطقی با استفاده از زبان

میباشد.Lisp  لهجه ای از زبان Scheme زبان

 

 

4:برنامه نویسی سیستم

)realtime(سیستم های عامل &سیستم های بلادرنگ

سیستم عامل وتمام ابزار پشتیبان برنامه نویسی در یک کامپیوتر،به عنوان نرم افزارهای سیستم نامیده میشوند.

نرم افزار سیستم بطور پیوسته مورد استفاده قرار میگیرد و در نتیجه باید کارآمد باشد.

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

 زبان های سطح بالایIBM,Digital,Borroughsدرد هه های1960و1970،بعضی از سازندگان کامپیوتر،مثل

مبتنی بر ماشین را برای نرم افزارهای سیستم در ماشین خود،طراحی کردند.

است.PL/Iراطراحی کرد که لهجه ای از زبانIBM=>Pl/s شرکت ای بی ام

را طراحی کرد که در بالای زبان اسمبلی قرار دارد.BLISS زبان Digitalشرکت

را ابدا نمود.Algol زبان Borsoughsشرکت

 (ANSI,1989)نوشته شدCتقریبا به طور کامل به زبان UNIXسیستم عامل

،که براحتی بر روی ماشین های مختلف قابل اجرا مییاشد.

زبان سطح پایینC،آنرا برای برنامه نویسی سیستم ،مناسب کرده است.Cبعضی از ویژگی های

است،اجرای آن کارآمد است،وکاربر را(برنامه نویس)بابسیاری از محدودیت های امنیتی،آزار نمی دهد.برنامه نویسان سیستم،معمولا برنامه نویسان باهوشی هستند واعتقاد ندارند که به چنین محدودیت هایی نیاز باشد.

را برای سیستم های نرم افزاری بزرگ و مهم،خطرناک می دانند.Cسایر برنامه نویسان،کاربرد

 

 

5:زبان های اسکریپتی

 در طول 25 سال گذشته بوجود آمده اند. (scripting languages)زبان های اسکریپتی

زبان های اسکریپتی اولیه،لیستی از فرمان ها به نام اسکریپت را در فایلی قرار می دادند تا اجرا شود.اولین زبان گرفته شد)،شامل مجموعه کوچکی از فرمان ها بود SHELL (که از SHاسکریپتی به نام

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

به وجود آمد.Bellدر آزمایشگاه های David Kornبود که توسطKSHزبان

در آزمایشگاه Al Aho,Brain Kenighan,Peter Weinbergerزبان اسکریپتی دیگری است که توسطAWK

توسطBerkleyزبان اسکریپتی دیگری است که در دانشگاه کالیفرنیا در  ;tclبوجود آمد.Bell

بوجود آمدJohn Ousterhout

X Windowsزبانی برای برنامه نویسی کاربردی برنامه هایtk باهم ترکیب شده اند.Tk وtclاکنون زبانهای

از زمان ایجاد تا هم اکنونPerlبود.AWKوSH ایجاد شد ابتدا ترکیبی از Larry Wallاست.زبان پرل که توسط 

به خوبی رشد کرده،و اکنون گرچه به عنوان یک زبان اسکریپتی شناخته می شود ولی می توان آنرا یک زبان به طور گسترده به کار گرفته شد،استفاده از (WWW=world wide web)برنامه سازی نامید.وقتی شبکه جهانی

است.CGI(Common Gateway Interface )زیاد شد،زیرا زبان ایده آلی برای برنامه نویسی perl

 برای استفاده در کارگزارانNetScape  یک زبان اسکریپتی است که توسط شرکتJAVA script 

طراحی شد ودر سال های اخیر رشد زیادی داشته است.این زبان بیشتر به (browsers)شبکه جهانی و مرورگرها

به کار میرود.برای این منظور کدهای جاوا در صفحات(client)عنوان یک زبان اسکریپتی سمت مشتری

  میشود.(interpret) قرارداده میشود و توسط مرورگرتفسیرHTML

برای استفاده در سیستم های کارگزار شبکه  Rasmus Lerdorfیک زبان اسکریپتی است که توسط PHP

جهانی طراحی شد.

قرار داده میشود.این کد قبل از این که به مرورگر ارسال گردد،تفسیرHTMLدر اسناد PHPکد

میشود.

 زبان های همه منظوره نیستند.اما چون حاوی ویژگی های جالبی اند که ممکنPerl,JavaScript,PHP

 است زبان های دیگر را تحت تاثیر خود قرار دهند همیشه مورد توجه برنامه نویسان بوده است.

 

 

 

6:زبان هایی با کارایی ویژه

زبان هایی با کاربرد ویژه،درطول 40 سال گذشته به وجود آمد.این زبان ها شامل(host)میزبان

برای آموزش ابزارهای قابل برنامه ریزی ماشینAPT برای تهیه گزارش های تجاری،RPG

است که برای شبیه سازی سیستم ها به کارمیرود.به دلیل دشواری مقایسه آنها با سایز زبانهاGPSS

و محدود بودن کاربردشان،در صورت امکان درآینده در رابطه باآنها بیشتر خواهیم نوشت.

 

پیام بگذارید

+ نوشته شده در  چهارشنبه بیست و ششم تیر 1387ساعت 20:28  توسط امین الله رضایی  | 

پرل

بنام خدا

پرل

اشیای داده

 

انواع داده اولیه                :

متغییرهای اسکالر با نماد$ شروع می شوند و از نوع صحیح،کاراکتری یا رشته ای  اند.

رشته ها در کوتیشن یکانی  قرار می گیرند.

برای ارزیابی رشته ها در زمان اجرا، از کوتیشن دوتایی "" استفاده می شود.

مانند این دستورات:

$x=’mvz’.

Print ‘My initials are $x’;

 

خروجی به صورت زیر است:

My initials are $x                                                                        

 

اکنون دستور زیر را ببینید:

$x=’mvz’;

Print “My initials are $x”;

 

اکنون خروجیس زیر حاصل می شود:

My initials are mvz

برای بسیاری از توابع ،_$بع عنوان آرگومان پیش فرض است(اگر آرگومانی مشخص نشود.)

داده های بولین همانند 

به صورت مقادیر صحیح اند:صفر به معنای ارزش نادرستی و غیر صفر به معنای ارزش درستی است. C

 

 

آرایه.

نام آرایه با@شروع می شود.آرایه های ضمنی با دستور انتساب بوجود می آیند..

این دستورات را ببینید:

@classStanding=(‘freshman’,’sphomore’,’junior’,’senior’);

 

این دستور آرایه ای 4 عنصری با اندیس های 0 تا 3 را بوجود می آورد.برای دستیابی بهعنصری از آرایه از .$classStanding[2]علامت $ استفاده می شود،زیرا یک مقدار اسکالر است،مثل

عنصری را به آرایه اضافه می کند.مثل دستورPush()آرایه ها پویا هستند.تابع

که عنصر پنجم را به آرایه اضافه میکند. Push(@classStanding.’gradstudent’)

 

آرایه های انجمنی.

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

این دستور را ببینید:

%GPA=(‘Tom’,3.6,’George’,2.6,’sam’,3.2)

 

این دستور آرایه انجمنی سه عنصری را ایجاد می کند.

و این دستور:

Print(GPA of Tom is $GPA{‘tom’}”;

 

مقدار3.6 را چاپ میکند.توجه کنید که ارایه(معمولا با پیشوند@با اسکالر$مشخص شده است.علتش این است که ارجاع به آرایه اسکالر است و نه یک شئ آرایه.

.

جستجو می کند valueتمام عناصرآرایه را برای یافتنForeach $name(key %GPA)دستور

 

عبارات منظم

عبارت منظم در داخل( /) قرار می گیرند وبا عملگر

تطبیق می شوند.

 

درصورتی ارزش درستی دارد که$x=~thing

موجود باشدThing درداخل$x.

عملگرعدم تطبیق عبارات منظم است!~

توضیح

عملگر

هر کاراکتر را تطبیق می دهد

آغز رشته را تطبیق می کند

انتهای رشته را تطبیق می کند.

صفریاچندکاراکتر قبلی را تطبیق می کند.

یک یا چند کاراکتر قبلی را تطبیق می کند.

صفر یا کاراکتر قبلی را تطبیق میکند.

راتطبیق می کند.A,b,cیکی از مقادیر

هیچکدام از این مقادیر را تطبیق نمی کند.

هر چیزی را که در این بازه قرار دارد را تطبیق می کند.

را تطبیق میکندوA or b

.

^

$

*

+

؟

[abc]

[^ abc]

[a-z]

A|b

 

نمادهای ویژه ای مانند(|یا^)در این الگوها مورد استفاده قرار گرفته اند،که در عبارات منظم با پیشوندنماد

مشخص می شوند.\

 موجب می شود نماد تطبیق شده در متغییر$1قرارگیرد(تا$9). /(a-z]قراردادن الگو در پرانتز(

هرپرانتزمتغییربعدی سیستم را میگیرد.این عمل در جایگزینی رشته ها به کار میرود.

 

 

جایگزینی

value موجب می شود که رشته ای مقایسه شود وبا یافتن آن،s/rexpr/value/ساختار

به جای آن قرار گیرد.

  تمام این وقوع ها را جایگزین می نماید.s/rexpr/value/gساختار

متغیرهای پرل از $1 تا $9 میتوانند در جایگزینی مورد استفاده قرار گیرند.

 نوشته شود.\1 through\9بدین ترتیب باید به صورت

 

دستورات.

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

 ختم می شود.;هردستور به

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

 

x@x=@y;                    آرایه نسبت میدهد رابه آرایهx Y

$x=@y;                        طول آرایه را بهXنسبت میدهد

$x=”@y”;                     Yرا ارزیابی میکند.لیست را در رشته ای قرار میدهد و به Xنسبت میدهد

 

ساختار حلقه زیر را ببینید:

Foreach $indexvar(@arrayvalue){statement};

 

نسبت میدهد و دستورات موجود در آکولاد را اجرا مینماید$indexvarاین دستور عناصر متوالی آرایه را به

نیزWhile-do--&--do-untileاست وعلاوه بر این،ساختارهایcدر پرل مانند forساختار

در این زبان وجود دارد.

 

neونامساوی رشته ها باEq عمل میکنند.تساوی باعملگر= =،نامساوی با=! تساوی رشته باCمحمولات مثل

انجام میشود.

است:ifدستور شرطی زبان پرل

 

If(expression)

  Then{then-statement}

  Else if (expression){first-alternative}

  Else if (expression){second-alternative}

Else{last-alternative};

 

 

خواندن از فایل مستلزم استفاده از نام فایل است:

 

$x=

این دستور ورودی بعد از فایل ورودی استاندارد(صفحه کلید)می خواند.

Open(filename,$stringvalue);دستور

Close(filename)فایل را باز میکند و دستور

فایل را میبندد.ازقرار دادهای پوسته یونیکس نیز برای دستیابی به فایل استفاده میشود:

 

فایل را برای خروجی باز میکند.

فایل را برای افزودن به انتهای آن باز میکند.

فیل را برای ورودی باز میکند.

 

 

زیر روال

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

Sub name{statement}

 

ارسال میشوند@-فراخوانی میشوند وآرگومانها از طریق متغیر آرایه&nameزیرروالها به صورت

آخرین مقداری که محاسبه شد،برگردانده میشود.مثال زیر متغییرهای محلی را در زیر روال ایجاد میکند:

Local($x,$y);

 

+ نوشته شده در  یکشنبه بیست و سوم تیر 1387ساعت 21:41  توسط امین الله رضایی  |