کاربر:Esi Gonzalez/صفحه تمرین: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Esi Gonzalez (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
Esi Gonzalez (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
خط ۱:
===گونه‌های مختلف:===
(به [[زبان انگلیسی|انگلیسی]] [[:en:ILLIAC IV|ILLIAC IV]])
عرضه‌کنندگان کامپیوترهای علمی عملکرد بالا(مثال: باروز، شرکت داده‌های کنترل (CDC)، Cray، هانی‌ول، IBM، Texas Instruments، و UNIVAC) افزونه‌های فورترن را اضافه کردند تا از قابلیت های سخت افزاری مانند حافظه نهان دستور، خط لوله های CPU، و آرایه های برداری بهره ببرند. برای مثال، یکی از کامپایلرهای فورترن شرکت IBM، سطحی از بهینه سازی را داشت که ترتیب دستورات را عوض می کرد تا واحدهای محاسباتی داخلی مختلف را همزمان مشغول نگه دارد.
[[:en:Control Data Corporation|فورترن شیءگرا]]
یک مثال دیگر CFD است، یک گونه ی خاص از فورترن که مخصوص ابرکامپیوتر ILLIAC I ساخته شده است. این کامپیوتر در مرکز تحقیقاتی آمس متعلق به ناسا قرار دارد.هم چنین آزمایشگاه های تحقیقاتی IBM، یک نسخه ی توسعه یافته از یک زبان مبتنی بر فورترن به نام VECTRAN را برای پردازش بردارها و ماتریس‌ها ایجاد کردند.
عرضه‌کنندگان کامپیوترهای علمی عملکرد بالا(مثال:[[:en:Burroughs باروز،Corporation|باروز]]، [[:en:Control Data Corporation|شرکت داده‌های کنترل ]](CDC)، Cray،،کری، هانی‌ول، IBM،[[آی‌بی‌ام]]، Texas[[تگزاس Instruments،اینسترومنتس]]، و [[:en:UNIVAC|یونی‌وک]]) افزونه‌های فورترن را اضافه کردند تا از قابلیتقابلیت‌های های سخت افزاریسخت‌افزاری مانند حافظه نهان دستور، خط لولهلوله‌های های(به CPU،[[زبان وانگلیسی|انگلیسی]] آرایه[[:en: pipeline (computing)| pipeline]]) CPU ، و هایآرایه‌های برداری بهره ببرند. برای مثال، یکی از کامپایلرهای فورترن شرکت IBM،آی‌بی‌ام، سطحی از بهینه سازیبهینه‌سازی را داشت که ترتیب دستورات را عوض می کردمی‌کرد تا واحدهای محاسباتی داخلی مختلف را همزمان مشغول نگه دارد.
فورترن شیءگرا یک افزونه شیءگرا از فورترن بود که در آن می توانستیم داده ها را در اشیاء مختلف گروه بندی کنیم. نمونه های اشیاء می توانستند به صورت موازی با یکدیگر ساخته شوند و توابعشان را اجرا کنند. فورترن شیءگرا برای Sun، Iris، iPSC و NCUBE موجود بود، اما الان دیگر پیشتیبانی نمی شود.
 
افزونه های این چنینی که مختص یک یا چند ماشینند یا در طول زمان از بین رفتند، یا عناصری از آنها در استانداردهای اصلی گنجانده شد. مهم ترین افزونه ی باقی مانده OpenMP است که یک افزونه ی چند‌پلتفرمه برای برنامه نویسی با حافظه ی مشترک است. Coarray Fortranیک افزونه جدید است که برای پشتیبانی برنامه نویسی موازی در نظر گرفته شده.
یک مثال دیگر CFD است، یک گونه یگونه‌ی خاص از فورترن که مخصوص ابرکامپیوتر ایلیاک 4 (به [[زبان انگلیسی|انگلیسی]] [[:en:ILLIAC IIV|ILLIAC IV]]) ساخته شده است. این کامپیوتر در [[مرکز تحقیقاتیتحقیقات آمسایمز]] متعلق به [[ناسا]] قرار دارد.هم چنین آزمایشگاه هایآزمایشگاه‌های تحقیقاتی IBM،آی‌بی‌ام، یک نسخه ی توسعهنسخه‌ی یافتهتوسعه‌یافته از یک زبان مبتنی بر فورترن به نام ''VECTRAN'' را برای پردازش بردارها و ماتریس‌ها ایجاد کردند.
 
[[:en:Object-Oriented Fortran|فورترن شیءگرا]] یک افزونه شیءگرا از فورترن بود که در آن می توانستیم داده هاداده‌ها را در اشیاء مختلف گروه بندیگروه‌بندی کنیم. نمونه هاینمونه‌های اشیاء می توانستندمی‌توانستند به صورت موازی با یکدیگر ساخته شوند و توابعشان را اجرا کنند. فورترن شیءگرا برای Sun، Iris، iPSC و NCUBE موجود بود، اما الان دیگر پیشتیبانی نمی شودنمی‌شود.
 
افزونه های اینافزونه‌های چنینیاین‌چنینی که مختص یک یا چند ماشینند یا در طول زمان از بین رفتند، یا عناصری از آنها در استانداردهای اصلی گنجانده شد. مهممهم‌ترین ترینافزونه‌ی افزونه ی باقیباقی‌مانده مانده[[اوپن OpenMPام‌پی]] است که یک افزونه یافزونه‌ی چند‌پلتفرمه برای برنامه نویسیبرنامه‌نویسی با حافظه یحافظه‌ی مشترک است. Coarray FortranیکFortran یک افزونه جدید است که برای پشتیبانی برنامه نویسیبرنامه‌نویسی موازی در نظر گرفته شده.
 
FOR TRANSIT برای ماشین IBM 650
FOR TRANSIT یک نسخه ی ساده شده از زبان FORTRAN ماشین IBM 704 بود، که برای ماشین IBM 650 پیاده سازی شد. برای این کار از یک برنامه ی مترجم ساخت دهه 1950 دانشگاه کارنگی استفاده شد. توضیح زیر در راهنمای مرجع IBM آمده است ( سیستم خودکار برنامه نویسی FOR TRANSIT C28-4038 متعلق به IBM، کپی رایت 1957 و 1959)
سطر ۹ ⟵ ۱۵:
 
دستورات مجاز این ها بودند:
 
(بذارش اینجا)
* Arithmetic assignment statements, e.g., <code>a = b</code>
* {{code|GO to n}}
* <code>GO TO (n<sub>1</sub>, n<sub>2</sub>, ..., n<sub>m</sub>), i</code>
* <code>IF (a) n<sub>1</sub>, n<sub>2</sub>, n<sub>3</sub></code>
* {{code|PAUSE}}
* {{code|STOP}}
* <code>DO n i = m1, m2</code>
* {{code|CONTINUE}}
* {{code|END}}
* {{code|READ n, list}}
* {{code|PUNCH n, list}}
* {{code|DIMENSION V, V, V, ...}}
* {{code|EQUIVALENCE (a,b,c), (d,c), ...}}
 
در هر برنامه استفاده از حداکثر 10 زیرروال(subroutine) ممکن بود.
دستورات FOR TRANSIT به ستون 7 تا 56 کارت پانچ محدود می شدند.پانچ کارت ها به عنوان ورودی و خروجی IBM 650 استفاده می شدند. سه بار عبور لازم بود تا کد منبع به زبان "IT" ترجمه شود، و بعد دستورات IT کامپایل شده و به زبان اسمبلی SOAP ترجمه شود، و نهایتا برنامه به زبان مقصد (زبان ماشین) تولید شود، بعد می توان آن را درون ماشین بارگذاری کرد تا برنامه را اجرا کند (برای داده ورودی از پانچ کارت استفاده می شود، نتیجه را هم روی پانچ کارت خروجی می دهد)