• زبان برنامه نویسی فرترن - توضیحات، دستورات و توابع اساسی. زبان برنامه نویسی فرترن

    من اولین بار در مورد Fortran در اوایل کودکی از پدرم شنیدم. او گفت که در دهه 70 مجبور شد ساعت ها در تقریباً تنها رایانه دانشگاه صف بکشد تا با استفاده از کارت پانچ شده یک کد اولیه را اجرا کند. راستش را بخواهید، از آن زمان و تا همین اواخر (با وجود تحصیلات فنی) من کاملاً مطمئن بودم که فرترن در جایی دور مانده است، در دنیایی که جعبه های مقوایی عجیب و غریب با سوراخ ها به عنوان حامل اطلاعات عمل می کنند و رایانه ها آنقدر گران هستند که به نظر می رسد. به عنوان یک جاذبه واقعی

    وقتی فهمیدم فرترن فقط در جای دیگری استفاده نمی شود، در حال توسعه، تقاضا و همچنان مرتبط است، تعجب کردم. اگر شما هم تا این لحظه باور داشتید که فرترن مدت‌هاست مرده است، در اینجا به چند مورد اشاره می‌کنیم حقایق جالبچرا او هنوز راه می رود؟

    حداقل 10 به روز رسانی زنده ماند

    در واقع، Fortran که از معلمان مدرسه یا دانشگاه می شنوید بین سال های 1954 و 1957 ایجاد شده است. این زبان به عنوان اولین زبان کاملاً پیاده سازی شده در تاریخ ثبت شد. سطح بالا، یک پیشرفت کوچک در دنیای فناوری اطلاعات ایجاد کرد، اما در واقع خیلی راحت و کاربردی نبود. IBM تقریباً بلافاصله شروع به "تکمیل" آن کرد، قبلاً در سال 1958 FORTRAN II و به موازات آن FORTRAN III ظاهر شد. اما فقط در دهه 70، زمانی که ماشین های قابل حمل به اندازه کافی ظاهر شدند، زمانی که یک استاندارد کامل IBM FORTRAN IV توسعه یافت، و FORTRAN 66 با حلقه ها، برچسب ها، دستورات شرطی، دستورات I/O و دیگران با استانداردهای مدرن امکانات اولیه.

    آخرین نسخه در سال 2010 ظاهر شد، نام آن Fortran 2008 است (همانطور که می بینید، در طول تاریخ، این نام به طور انحصاری نوشته نشد. حروف بزرگ) از ویژگی های بارز آن انواع هستند محاسبات موازی، هم بر سرعت پردازش داده ها و هم بر ابعاد آرایه های پردازش شده تأثیر مثبت می گذارد. علاوه بر این، Fortran 2015 قرار است در سال 2018 منتشر شود. از این اعلامیه برمی آید که یکپارچگی با C را بهبود می بخشد و همچنین کاستی های فعلی را برطرف می کند.

    در 30 زبان برنامه نویسی محبوب گنجانده شده است

    تا به امروز، 0.743٪ از پرس و جوها در موتورهای جستجودر مورد زبان های برنامه نویسی، به طور خاص به فرترن اختصاص داده شده است. برای اینکه به شما بفهمیم چقدر جالب است، فقط تصور کنید که زبان هایی مانند Lisp، Scala، Clojure، LabVIEW، Haskell، Rust و VHDL در رتبه های پایین تری قرار دارند.

    می تواند در اندروید (و نه تنها) کار کند

    کامپایلرهای Fortan در طول تاریخ طولانی آن توسط شرکت هایی مانند IBM، مایکروسافت، Compaq، HP، Oracle توسعه یافته اند و این زبان را امروزه با ویندوز، سیستم عامل مک و لینوکس سازگار می کنند. علاوه بر این، برنامه کاربردیبه لطف برنامه CCTools برای اندروید، اکنون می توانید با کامپایلر همراه خود ببرید. شما همچنین می توانید کامپایلر را بر روی آیفون خود اجرا کنید، اما در این مورد باید جادویی انجام دهید.

    با متلب رقابت می کند

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

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

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

    آینده نسبتا روشنی دارد

    البته نمی توان پیش بینی کرد که در 10-20 سال آینده چه اتفاقی می افتد و دنیای فناوری اطلاعات در این مدت چگونه تغییر خواهد کرد. با این حال، هنگام بررسی رقبای جدید احتمالی برای Fortran (مانند Go)، اشکال اصلی آنها تعمیم است. یعنی سازندگان فرترن خیلی سریع مشخص کردند مخاطب هدفبه عنوان دانشمندان، نظرات و خواسته های آنها اولویت دارد. بنابراین ، تصور اینکه فردا آنها به خاطر برخی روند مد از "نظم ویژه" خود دست بکشند دشوار است. بر این اساس است که می توان ادعا کرد که نسل دیگری از Fortran جسورانه ترک می کند.

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

    وزارت آموزش و پرورش و علوم فدراسیون روسیه

    دانشگاه فدرال اورال

    به نام اولین رئیس جمهور روسیه نامگذاری شده است

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

    فرترن

    آموزش

    اکاترینبورگ

    معرفی. 3

    مرجع تاریخی 5

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

    تفاوت بین Fortran 90 و Fortran 77. 11

    دسترسی به منابع محاسباتی 15

    اجرای وظایف در خوشه. 17

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

    کامپایل کردن برنامه ها 17

    راه اندازی برنامه در حساب کاربری 19

    انواع داده ها 22

    یک عدد ثابت 22

    ثابت واقعی 23

    ثابت واقعی دو برابر دقت 23

    ثابت مختلط 23

    ثابت دقیق دوگانه پیچیده. 24

    ثابت بولی 24

    متن ثابت 24

    اپراتورهایی برای توصیف انواع داده ها. 26

    نوع عدد صحیح INTEGER. 26

    دقت واقعی و دو برابر نوع واقعی. 27

    نوع مجتمع COMPLEX و DOUBLE COMPLEX. 28

    نوع کاراکتر CHARACTER. 29

    منطقی از نوع بولی. 29

    DIMENSION آرایه ها. سی

    ویژگی PARAMETER.. 32

    انواع داده های داخلی 35

    عبارات، عملیات و تکالیف. 36

    عبارات حسابی 36

    عبارات رابطه 37

    عبارات بولی 38

    قوانینی برای ارزیابی عبارات 38

    اپراتورهای ورودی/خروجی 39

    اپراتور ورودی DATA.. 39

    بیانیه ورودی READ.. 40

    عبارت خروجی را بنویسید. 41

    اپراتور خروجی صفحه PRINT. 42

    بیانیه فرمت I/O (FORMAT) 43

    مشخصات X، T. 43

    مشخص کننده I 44

    جداکننده ها 45

    مشخصات F.46

    تکرار کننده ها 49

    مشخصات E.50

    مشخصات G.. 51

    توصیفگرهای داده 52

    اپراتورهای شرایط 53

    عملگر منطقی شرطی 53

    عملگر شرط حسابی 57

    ساختار SELECT CASE. 60

    عملگرهای حلقه 62

    عبارت حلقه DO.. 62

    بیانیه حلقه DO WHILE. 64

    بیانیه STOP 65

    بیانیه خروج از حلقه EXIT. 66

    عملگرهای پرش 67

    عملگر پرش مرزی GOTO.. 67

    بیانیه پرش محاسبه شده GOTO.. 67

    عملگر پرش مشروط اگر … GOTO.. 68

    کار با آرایه ها 69

    ورودی آرایه 69

    خروجی آرایه 71

    پردازش آرایه. 73

    برنامه های فرعی.. 76

    عملگر تابع 78

    تابع زیربرنامه FUNCTION.. 81

    زیربرنامه-روش زیر روال. 83

    کار با فایل های خارجی. 85

    اپراتور را باز کنید فایل را باز کنید.. 85

    بیانیه بستن فایل CLOSE. 86

    نمونه هایی از کار با فایل ها 86

    ادبیات. 89

    معرفی

    یکی از ویژگی های کامپیوترهای موازی امکان استفاده همزمان از تعداد زیادی پردازنده برای پردازش اطلاعات است. استفاده از چند پردازنده سیستم های محاسباتی(MIS) دو وظیفه را برای ساخت الگوریتم های موازی تعیین می کند: موازی سازی الگوریتم های متوالی موجود و ایجاد الگوریتم های جدید با تمرکز بر سیستم های محاسباتی موازی.

    رایج ترین تکنولوژی برنامه نویسی برای کامپیوترهای موازیبا حافظه توزیع شده در حال حاضر MPI است. راه اصلی تعامل فرآیندهای موازی در این گونه سیستم ها، انتقال پیام به یکدیگر است. این در نام این فناوری - Message Passing Interface (واسط عبور پیام) منعکس شده است. استاندارد MPI رابطی را اصلاح می کند که باید هم توسط سیستم برنامه نویسی در هر پلت فرم محاسباتی و هم توسط کاربر هنگام ایجاد برنامه های خود رعایت شود. کتابخانه ارتباطی MPI به استاندارد شناخته شده جهانی در برنامه نویسی موازی با استفاده از مکانیزم ارسال پیام تبدیل شده است.

    یک برنامه MPI مجموعه ای از فرآیندهای مستقل است که هر یک به تنهایی انجام می شود برنامه خود(نه لزوماً یکسان) نوشته شده در C یا FORTRAN. در FORTRAN، اکثر روال های MPI زیر روال هستند (به نام اپراتور تماس بگیرید، و کد خطا از طریق آخرین پارامتر اختیاری رویه بازگردانده می شود. چندین رویه طراحی شده به عنوان توابع کد خطا را بر نمی گرداند. نیازی به رعایت دقیق حالت کاراکترها در نام زیر روال ها و ثابت های نام گذاری شده نیست. آرایه ها از 1 نمایه می شوند. اشیاء MPI، که ساختارهایی در C هستند، در FORTRAN به عنوان آرایه هایی از نوع عدد صحیح نشان داده می شوند.

    IMM در فرترن برنامه ریزی شده است. مشکل اصلی در استفاده از آن برای کارهای بزرگ، هماهنگ کردن تعامل بخش‌هایی از یک کار بزرگ است. Fortran 90 شامل مکانیسم هایی برای تعامل اشیاء مطابق با فناوری برنامه نویسی شی گرا است که کار جمعی روی یک پروژه بزرگ را تسهیل می کند. اینها ماژول هایی برای طراحی کتابخانه ها، ساختارها و انواع داده های مشتق شده برای سازماندهی داده های پیچیده هستند، این تخصیص حافظه پویا، و همچنین تعدادی از مکانیسم های پردازش آرایه، از جمله تشکیل برش های مختلف (بخش) است. توانایی ترکیب در یک خانواده (در یک جنس) رویه‌های پردازش معمولی که در انواع آرگومان‌هایشان متفاوت است، می‌تواند ابزار مفیدی در تعدادی از کارها باشد. انواع (خانواده‌ها) انواع داده، سفارشی‌سازی اجرای نوع را با در نظر گرفتن ویژگی‌های سخت‌افزار آسان می‌کنند (به عنوان مثال، نوع INTEGER را می‌توان از طریق کنترل نوع KIND طولانی یا کوتاه اعلام کرد). برخی از قوانین یک ظاهر طراحی می تواند به توسعه کمک کند، مانند اعلام ورود، خروج و پارامترهای قابل تغییررویه به یافتن خطاها در تعامل واحدهای برنامه کمک می کند. قوانین نوشتن مشخصات داده ها، نظرات و سایر عناصر خواندن برنامه های نوشته شده را آسان تر می کند، که جستجوی خطاها را سرعت می بخشد.

    مرجع تاریخی

    1954 - IBM، اولین مترجم زبان فرترن.

    1958 - فرترنII.

    1962 - فرترنIV.

    1966 - فرترن 66.

    1978 - فرترن 77.

    اصلاح زبان فرترن، که در سال 1958 ظاهر شد، نامیده شد فرترنIIو حاوی مفهوم یک زیر برنامه و متغیرهای مشترک برای ایجاد ارتباط بین بخش ها بود.

    در سال 1962، ظهور زبانی به نام فرترن IV. توسعه در سال 1966 تکمیل شد استاندارد آمریکابه زبان ANSI (موسسه استاندارد ملی آمریکا)، این زبان نامیده می شود فرترن 66. در سال 1978، نسخه دوم استاندارد ANSI - زبان توسعه یافت فرترن 77، که شامل عناصر برنامه نویسی ساختاریافته، به عنوان مثال، IF ساختاری، انواع کاراکتر است.

    نسخه سوم استاندارد ANSI است فرترن 90، در سال 91 اجرا شد. فرترن 90توسعه زبان است فرترن 77، بنابراین یک برنامه نوشته شده در فرترن 77را می توان کامپایل کرد و به صورت یک برنامه اجرا کرد فرترن 90. استاندارد Fortran 90 Standardبسیاری از امکانات جدید برای عملیات آرایه، روش های جدید مشخصات دقیق، فرمت رایگان را معرفی می کند کد منبع، بازگشت، آرایه های پویاو غیره.

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

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

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

    زبان برنامه نویسی فرترن عمدتاً برای محاسبات علمی استفاده می شود. این زبان که در سال 1954 اختراع شد، قدیمی ترین زبان برنامه نویسی سطح بالا است و پس از آن Lisp (1958)، Algol (1958) و COBOL (1959) قرار دارند. تعداد کتابخانه های علمی نوشته شده در فرترن و ایجاد مترجم-تدوین کننده های ویژه امکان استفاده از این زبان را امروزه فراهم می کند. علاوه بر این، ماشین‌حساب‌های متعددی برای بردارسازی، پردازنده‌های مشترک، موازی‌سازی ایجاد شده‌اند که این زبان را برای استفاده در تولید صنعتی در هم می‌زنند. دنیای مدرن.

    جان بکوس، مهندس رادیو IBM، در سال 1954 مقالاتی را تحت عناوین "گزارش مقدماتی"، "مشخصات سیستم IBM Matmal Transmula Translating" منتشر کرد که باعث پیدایش اصطلاح FORTRAN شد. سپس دو سال تلاش دیگر توسط کل تیمی که او رهبری کرد طول کشید تا اولین کامپایلر زبان برنامه نویسی فرترن را بنویسد (25000 خط برای IBM 704).

    نام این زبان در ابتدا با حروف بزرگ FORTRAN بود و برای اشاره به نسخه‌های زبان تا فرترن ۷۷ استفاده می‌شد، برخلاف نسخه های رایگاننحو از Fortran 90. در استاندارد Fortran 77، حروف کوچک بخشی از زبان نیستند، اما اکثر کامپایلرها علاوه بر استاندارد، از آنها پشتیبانی می کنند.

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

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

    مزیت اصلی فرترن این است که توسط سازمان های بین المللی ANSI و ISO استاندارد شده است. بنابراین، اگر برنامه ای با ANSI نوشته شده باشد، بر روی هر رایانه ای با کامپایلر Fortran 77 اجرا می شود. اطلاعات مهم. بنابراین، برنامه های زبان برنامه نویسی شی گرا Fortran در موارد مختلف وجود دارد دستگاه های برنامه نویسی.

    مراحل ایجاد بستر زبان:

    1. در سالهای 1954-1957، اولین کامپایلر از ابتدا توسعه یافت. در آن روزها هیچ "زبان سطح بالا" (= HLL) وجود نداشت سیستم های عاملساده بودند و حافظه کوچک بود، چیزی در حدود 16 کیلوبایت. اولین کامپایلر بر روی IBM 704 اجرا شد. این زبان HLL بسیار کارآمدتر از برنامه نویسی به زبان اسمبلی بود و در زمان خود بسیار محبوب بود.
    2. در سال 1958 FORTRAN II منتشر شد. FORTRAN III در همان سال ساخته شد، اما هرگز به تولید عمومی عرضه نشد.
    3. FORTRAN IV در سال 1961 ساخته شد. این شامل پیشرفت هایی مانند اجرای عملگرهای COMMON و EQUIVALENCE بود.
    4. در سال 1962، کمیته ASA شروع به توسعه استانداردی برای زبان برنامه نویسی شی گرا Fortran کرد. این به فروشنده این امکان را می داد که از آن در هر رایانه جدید استفاده کند. و این واقعیت باعث شد که HLL محبوب‌تر شود، این زبان در دسترس قرار گرفت سیستم های اپلو TRS80.
    5. در سال 1967، FORTRAN 66، اولین استاندارد HLL در جهان، منتشر شد. انتشار استاندارد به این معنی بود که این زبان بیش از هر زبان دیگری اجرا شد. در اواسط دهه 1970، تقریباً هر رایانه، مینی فریم یا مین فریم به زبان استاندارد FORTRAN 66 مجهز شده بود. چنین برنامه نویسی ساختاری در دهه 60 و 70 رایج شد.
    6. «فرترن» روی کارت‌های پانچ به‌ویژه با سیستم FMS وجود داشت و طرح‌بندی منابع خود را بهینه می‌کرد تا زمانی که فرترن 90 یک نحو «رایگان» را معرفی کرد. در آن کد آرایه فرترن از ستون 7 شروع می شود و نباید بیش از 72 هزار کاراکتر باشد.

    همچنین لازم به ذکر است که قبل از Fortran 90، فاصله بین ستون های 7 و 72 اهمیتی نداشت. بنابراین چرخه "DO I = 1.5" را می توان "DOI = 1.5" نیز نوشت. از سوی دیگر، "DO I = 1.5" معادل "DOI = 1.5" است.

    کدهای صنعتی متعددی در کتابخانه های Nastran، NAG و IMSL-Fortran نوشته شده است. سازگاری نسخه های جدید با نسخه های قبلی مهم است. به همین دلیل، Fortran 90 کاملاً با Fortran 77 سازگار است نسخه های بعدیاستاندارد قبلاً ناسازگاری هایی را معرفی کرده است.

    زبان‌های پیشرفته‌تر Fortran 90 و Fortran 95 به زودی دنبال شدند و به استاندارد فعلی Fortran-2003 به‌روزرسانی شدند. با توجه به اینکه کامپایلرهای مدرن به طور نامحدود در تمام جریان ها کار می کنند نسخه های ویندوزو حتی از پردازنده های 64 بیتی پشتیبانی می کند. در همین حال، سازندگان روند زمان را تشخیص داده اند و کامپایلرهایی را برای لینوکس در قالب زبان برنامه نویسی شی گرا Actor Fortran ارائه می دهند.

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

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

    • در دسترس بودن کتابخانه‌های کاربردی متعددی که طی سال‌ها توسعه یافته‌اند.
    • در دسترس بودن نرم افزار در "فرترن" که نیاز به بسیار دارد منابع مهمبرای توسعه زمانی که تغییر به زبان دیگر بسیار پرهزینه در نظر گرفته می شود.
    • داشتن کامپایلرهای قدرتمند با توابع داخلی فرترن که بسیار سریع تولید می کنند فایل های اجرایی.
    • این زبان برای مخترعی که دوره تخصصی کامپیوتر نداشته است، بیشتر در دسترس است.

    بسیاری از برنامه های علمی در حال حاضر به زبان های C و C++ نوشته می شوند که کامپایلرهای آنها در اکثر ماشین ها موجود است. سایر زبان های کامپایل شده گاهی اوقات برای محاسبات علمی و به ویژه برای برنامه هایی مانند Scilab یا Matlab استفاده می شوند. دومی همچنین شامل کتابخانه های BLAS و LAPACK است که در آن توسعه یافته اند برنامه نویسی فرترن. Matlab در اصل یک برنامه Fortran بود که در دانشگاه ها و مراکز تحقیقاتی توزیع می شد.

    اگرچه Tom Lahey اکنون "تنها" کامپایلر عمومی است، سیستم های کامپیوتری Lahey همچنان توسط بسیاری از برنامه نویسان استفاده می شود. Lahey چندین سال است که با فوجیتسو کار می کند، Lahey بر تجزیه کننده فرترن تمرکز کرده است و فوجیتسو روی تولید کننده کد است. مجموعه کامپایلر فعلی برای ویندوز Lahey Fujitsu Fortran 95 (LF95) نام دارد و در دسترس است نسخه های مختلف، که برخی از آنها نیز با استودیوی تصویریدات نت 2003.

    همچنین یک نسخه ارزان قیمت از LF95 Express بدون IDE مخصوص به خود وجود دارد. نسخه فعلی 7.1 است. در لینوکس توسط کامپایلر Lahey / Fujitsu Fortran 95 v6.2 برای لینوکس فراخوانی می شود و در دو نسخه موجود است. نسخه های مختلف. مثلا، نسخه حرفه ایشامل سازگاری OpenMP v2.0، یک موتور گرافیکی ساده Winteracter Starter Kit، یک کتابخانه ریاضی و کتابخانه علمیروتین فوجیتسو 2.

    سازنده دیگر Absoft است. کامپایلرها و C++ نه تنها برای ویندوز و لینوکس، بلکه برای OS X در مکینتاش نیز وجود دارند. این کامپایلرها مورد توجه توسعه دهندگانی هستند که نیاز دارند یا می خواهند از هر سه پلتفرم پشتیبانی کنند. متأسفانه Absoft بین نسخه های 32 بیتی و 64 بیتی در لینوکس تمایز قائل می شود، در حال حاضر نسخه 10.0 فرترن 95 برای لینوکس 64 بیتی استفاده می شود.

    مجموعه کامپایلر EKOPath نسبتاً جدید در بازار است. این شامل کامپایلرهای ++C و محیط توسعه لینوکس فرترن است که به طور جداگانه نیز در دسترس هستند و عمدتاً برای کاربران 64 بیتی AMD استفاده می شوند. همچنین روی Intel EM64T کار می کند. همچنین، مایکروسافت یک بار سعی کرد یک "بازار ارزان" برای فرترن پیدا کند و Powerstation مایکروسافت را به بازار آورد.

    شاید بازار برای غول نرم افزاری خیلی کوچک بود، اما دیجیتال در سال 1997 بخشی از کدها را در اختیار گرفت و از تجربه خود با کامپایلرهای یونیکس و OpenVMS Digital استفاده کرد. این تولد Digital Visual Fortran هنوز بسیار موفق بود. در برخی موارد، Digital سپس به Compaq منتقل شد، کامپایلر نهایی شد نسخه فعلی Compaq Visual Fortran (CVF) نسخه 6.6.

    علاوه بر پلتفرم های 32 بیتی "عادی"، کامپایلرهای 64 بیتی مختلفی وجود دارد، به عنوان مثال برای Intel Itanium و Intel EM64T. اگرچه آنها برای محدوده تحویل "فوری" نیستند، اما برای آنها در دسترس هستند دانلود رایگاناز طریق سیستم پشتیبانی وب اینتل Premier.

    پس از ثبت نام یک بار و تا حدی دست و پا گیر، می توانید به مدت یک سال از آن استفاده کنید و هر چند هفته یکبار به روز رسانی های جدید را ارائه کنید. حتی نسخه های قدیمی تر نیز در دسترس خواهند بود.

    برنامه فرترن دنباله ای از خطوط متن است. متن باید از نحو خاصی پیروی کند. به عنوان مثال: دایره ای به شعاع r، مساحت c.

    این برنامه شعاع واقعی را می خواند و مساحت یک دایره با شعاع r را محاسبه می کند:

    "Radius r:" read (*, *) r;

    مساحت = 3.14159 * r * r;

    بنویسید (*، *) "Area =";

    خطوطی که با "C" شروع می شوند، نظرات هستند و هدفی جز خوانایی برنامه برای انسان ندارند. در ابتدا تمام برنامه های فرترن با حروف بزرگ نوشته می شد. اکثر برنامه نویسان اکنون با حروف کوچک می نویسند زیرا خواناتر است.

    یک برنامه فرترن معمولاً از یک برنامه اصلی یا درایور و چندین زیر روال، رویه یا زیرروال تشکیل شده است. ساختار برنامه اصلی:

    • نام برنامه؛
    • اعلامیه ها؛
    • بیانیه؛
    • متوقف کردن؛
    • پایان.

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

    قوانین موقعیت ستون

    Fortran 77 یک زبان فرمت رایگان نیست، اما دارای یک مجموعه قوانین بسیار دقیق برای قالب‌بندی کد منبع است. اکثر قوانین مهمقوانین چیدمان ستون هستند:

    • سرهنگ 1: خالی یا "c" یا "*" برای نظرات.
    • سرهنگ 2-5: برچسب اپراتور.
    • سرهنگ 6: ادامه خط قبل.
    • سرهنگ 7-72: ادعا.
    • سرهنگ 73- 80: شماره دنباله.

    یک خط فرترن که با علامت "c" یا ستاره در ستون اول شروع می شود یک نظر است. نظرات می توانند در هر نقطه از برنامه ظاهر شوند. خوب نوشته شده اند، آنها برای خوانایی یک برنامه حیاتی هستند. کدهای تجاریفرترن اغلب حاوی حدود 50 درصد نظرات است. همچنین ممکن است با برنامه هایی روبرو شوید که استفاده می کنند علامت تعجب(!). این در Fortran 77 بسیار غیر استاندارد است اما در Fortran 90 مجاز است.

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

    1. C23456789 - این موقعیت ستون را نشان می دهد.
    2. "C" - بیانیه بعدیاز دو منطقه خطوط فیزیکی عبور می کند.
    3. مساحت = 3.14159265358979+ * r * r.

    فضاهای خالی با شروع Fortran 77 نادیده گرفته می شوند. بنابراین، اگر همه فضاها در فرترن 77 حذف شوند، برنامه همچنان از نظر نحوی صحیح است، اگرچه تقریباً برای اپراتورها قابل خواندن نیست.

    نام متغیرها در Fortran شامل 1-6 کاراکتر است که از بین آنها انتخاب می شود حروف a-zو اعداد 0-9. کاراکتر اول باید یک حرف باشد. Fortran 90 اسامی متغیرهایی با طول دلخواه را مجاز می کند. Fortran 77 بین حروف بزرگ و کوچک تفاوتی قائل نمی شود، در واقع فرض می کند که تمام ورودی ها با حروف بزرگ هستند. با این حال، تقریباً تمام کامپایلرهای F77 حروف کوچک را می پذیرند. هر متغیری باید در یک اعلان تعریف شود. این نوع متغیر را تعیین می کند. رایج ترین لیست های متغیر عبارتند از:

    • عدد صحیح
    • واقعی؛
    • دقت دو برابر؛
    • مجتمع;
    • منطقی؛
    • شخصیت.

    لیست متغیرها باید شامل نام هایی باشد که با کاما از هم جدا شده اند. هر متغیر باید دقیقا یک بار اعلام شود. اگر متغیر تعریف نشده باشد، F 77 از مجموعه ای از قوانین ضمنی برای تعیین نوع استفاده می کند. این بدان معنی است که همه متغیرهایی که با حروف "in" شروع می شوند اعداد صحیح هستند و بقیه واقعی هستند. بسیاری از برنامه های قدیمی F77 از این قوانین ضمنی استفاده می کنند، اما برنامه نویسان نباید این کار را انجام دهند، زیرا احتمال خطا در یک برنامه به طور چشمگیری افزایش می یابد اگر متغیرها را به طور متناقض اعلام کنند.

    Fortran 77 فقط یک نوع برای متغیرهای عدد صحیح دارد. اعداد صحیح معمولاً به صورت متغیرهای 32 بیتی (4 بایتی) ذخیره می شوند. بنابراین، همه متغیرهای عدد صحیح باید مقادیری در محدوده [-m, m] داشته باشند، جایی که m تقریباً 2 * 109 است.

    F 77 دو تا دارد انواع متفاوتبرای متغیرهای ممیز شناور، به نام دقت مضاعف واقعی. برخی از محاسبات عددی نیاز به دقت بسیار بالایی دارند و باید از دقت مضاعف استفاده شود. معمولا یک واقعی یک متغیر 4 بایتی و یک دو برابر 8 بایت است، اما این به ماشین بستگی دارد.

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

    نحو عملگر پارامتر (نام = ثابت، ...، نام = ثابت). قوانین عملگر پارامتر:

    1. یک "متغیر" تعریف شده در یک دستور پارامتر یک متغیر نیست، بلکه یک ثابت است که مقدار آن هرگز نمی تواند تغییر کند.
    2. "متغیر" می تواند حداکثر یک عبارت پارامتر را نمایش دهد.
    3. پارامتر عملگر باید قبل از اولین عملگر اجرایی بیاید

    چند دلیل خوب برای استفاده از یک پارامتر - به کاهش اشتباهات تایپی کمک می کند، تغییر ثابتی که بارها در یک برنامه ظاهر می شود آسان است.

    عبارات بولی فقط می توانند مقدار .TRUE را داشته باشند. یا .FALSE. و می توان با مقایسه با استفاده از عملگرهای رابطه ای شکل داد.

    نمادهایی مانند "<» или «=» для сравнения в F 77, но можно использовать правильную двухбуквенную аббревиатуру, заключенную точками. Однако такие символы разрешены в Fortran 90.

    عبارات منطقی را می توان با عملگرهای منطقی "AND"، "OR"، "NOT" ترکیب کرد که معنای واضحی دارند. مقادیر Truth را می توان در متغیرهای بولی ذخیره کرد. تکلیف شبیه به تکلیف حسابی است.

    مثال: منطقی a، ba = .TRUE.b = a .AND. 3.LT. 5/2

    ترتیب اولویت بسیار مهم است. قاعده این است که ابتدا عبارات حسابی، سپس عملگرهای رابطه ای و در نهایت عملگرهای منطقی ارزیابی می شوند. بنابراین، b به .FALSE اختصاص داده می شود. در مثال بالا، متغیرهای بولی به ندرت در فرترن استفاده می شوند، اما اغلب در عبارات شرطی مانند عبارت "if" استفاده می شوند.

    ثابت و تکلیف

    ساده ترین شکل یک عبارت ثابت است. 6 نوع ثابت مربوط به 6 نوع داده وجود دارد. در اینجا چند عدد ثابت وجود دارد: 10-10032767+15

    ثابت واقعی: 1.0-0.252.0E63.333E-1.

    نماد E به این معنی است که ثابت را در 10 به توان بعد از "E" ضرب کنیم. بنابراین 2.0E6 دو میلیون و 3.333E-1 حدود یک سوم است.برای ثابت هایی که بزرگتر از بزرگترین مجاز واقعی هستند یا نیاز به دقت بالایی دارند باید از دقت مضاعف استفاده کرد. علامت گذاری مانند ثابت های واقعی است، با این تفاوت که "E" با "D" جایگزین می شود.

    مثال: 2.0D-11D99.

    در اینجا 2.0D-1 یک پنجم دقت دو برابر است، در حالی که 1D99 یک و 99 صفر است.

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

    مثالها عبارتند از: (2، -3) (1،9،9E-1). عدد اول قسمت واقعی و عدد دوم قسمت خیالی است.

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

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

    آخرین نوع ثابت های کاراکتر است. آنها بیشتر به عنوان آرایه ای از کاراکترها به نام رشته استفاده می شوند. آنها متشکل از یک توالی دلخواه از کاراکترهای محصور شده در آپاستروف (نقل قول) هستند:

    "همه چی میره!"

    "روز خوبی است"

    ثابت های رشته و کاراکتر به حروف بزرگ و کوچک حساس هستند. اگر بخواهید یک آپاستروف واقعی در خود رشته داشته باشید مشکل پیش می آید. در این مورد، شما باید آپستروف را دو برابر کنید: "It" "s a nice day" به معنای "چه روز فوق العاده ای است"

    عبارات شرطی اجزای ضروری هر زبان برنامه نویسی هستند. رایج ترین این عبارات در فرترن عبارت «اگر» است که در واقع چندین شکل دارد.

    ساده ترین عبارت منطقی "if" در توضیحات فرترن است: if (عبارت منطقی) دستور اجرایی.

    این باید در یک خط نوشته شود، برای مثال هنگام تعریف قدر مطلق x:

    اگر (x.LT.0) x = -x

    اگر قرار است بیش از یک دستور در یک "if" اجرا شود، باید از نحو زیر استفاده شود: if (عبارت منطقی) thenstatementsendif.

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

    اگر عبارات را می توان چندین سطح تو در تو قرار داد. برای اطمینان از خوانایی، استفاده از تورفتگی مناسب مهم است. به عنوان مثال:

    if (x.< y"endifelseif (x .LT. 0) thenwrite(*,*) "x is negative"elsewrite(*,*) "x is zero"endif

    برنامه نویسان باید از تودرتو کردن سطوح بسیاری از عبارات «اگر» اجتناب کنند زیرا پیروی از آن دشوار خواهد بود.

    می توانید از هر ایستگاه کاری یونیکس با کامپایلر F 77 استفاده کنید. برنامه نویسان با تجربه توصیه می کنند از Sun یا Dec استفاده کنید.

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

    پس از اینکه یک برنامه فرترن نوشته شد، در فایلی با پسوند ".f" یا ".for" ذخیره می شود و برنامه به فرمی قابل خواندن توسط ماشین ترجمه می شود. این کار با استفاده از یک برنامه خاص به نام کامپایلر انجام می شود. کامپایلر Fortran 77 معمولاً به عنوان f77 شناخته می شود. نتیجه کامپایل به طور پیش‌فرض نام تا حدودی رمزآلود "a.out" داده می‌شود، اما در صورت تمایل می‌توانید نام دیگری را انتخاب کنید. برای اجرای برنامه کافی است نام فایل اجرایی مانند "a.out" را وارد کنید. کامپایلر کد منبع را به کد شی ترجمه می کند و پیوند دهنده یا لودر آن را به یک فایل اجرایی ترجمه می کند. همانطور که می بینید، این روش اصلا پیچیده نیست و در دسترس هر کاربری است.

    شبیه سازی یکی از متداول ترین روش های تولید و سایر سیستم های موجود در کارخانه های امروزی است. اکثر مدل های شبیه سازی با استفاده از زبان برنامه نویسی شی گرا Actor Fortran یا یک بسته نرم افزاری شبیه سازی که به زبان سنتی نوشته شده است ساخته می شوند. این ابزارها محدودیت های خود را دارند. فناوری شی‌گرا در بسیاری از زمینه‌ها مورد پذیرش فزاینده‌ای قرار گرفته است و رویکردی انعطاف‌پذیرتر و کارآمدتر برای مدل‌سازی سیستم کسب‌وکار را نوید می‌دهد.

    برنامه نویسی Simula Fortran با یک زبان برنامه نویسی علمی رایج به نام FORTRAN مقایسه می شود. یک مدل شبیه سازی نظامی معمولی در هر دو SIMULA و FORTRAN برنامه ریزی شده است. برنامه SIMULA 24% کوتاهتر از نسخه FORTRAN بود.

    نسخه SIMULA نیز ساده تر است و تصویر بهتری از مدل شبیه سازی شده ارائه می دهد. از سوی دیگر، زمان اجرا برای اجراهای تولید با زبان برنامه نویسی شی گرا Simula Fortran 64 درصد سریعتر است. سنجش مزایا و معایب نشان می‌دهد که SIMULA نرم‌افزاری سودآور و با هزینه‌های کارکنان بالاتر و هزینه‌های رایانه کمتر خواهد بود.

    CUDA نشان می‌دهد که چگونه توسعه‌دهندگان برنامه‌های کاربردی با کارایی بالا می‌توانند با استفاده از Fortran، زبان آشنا برای محاسبات علمی و آزمایش عملکرد ابر رایانه، از قدرت پردازنده‌های گرافیکی استفاده کنند. نویسندگان هیچ تجربه محاسباتی موازی قبلی را فرض نمی کنند و فقط اصول اولیه را پوشش می دهند و از بهترین شیوه ها استفاده می کنند. کارایی محاسبات GPU با استفاده از CUDA Fortran توسط معماری GPU هدف ارائه می شود.

    CUDA Fortran برای دانشمندان و مهندسان، بخش‌های محاسباتی فشرده کد را شناسایی می‌کند و کد را برای مدیریت داده، موازی‌سازی و بهینه‌سازی عملکرد تغییر شکل می‌دهد. همه اینها در فرترن و بدون نیاز به بازنویسی برنامه به زبان دیگری انجام می شود. هر مفهوم با مثال های واقعی نشان داده شده است، بنابراین می توانید عملکرد کد را فورا مشاهده کنید.

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

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

    از اواسط دهه 50. قرن 20 شروع به ایجاد اولین زبان های برنامه نویسی سطح بالا (زبان سطح بالا) کرد. این زبان‌ها مستقل از ماشین بودند (به نوع خاصی از رایانه وابسته نبودند).

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

    کامپایل - ترجمه یک برنامه نوشته شده در یک زبان مبدأ سطح بالا به یک برنامه معادل در یک زبان سطح پایین نزدیک به کد ماشین (کد مطلق، ماژول شی، گاهی اوقات زبان اسمبلی)

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

    اولین زبان سطح بالا بین سال های 1954 تا 1957 توسط گروهی از برنامه نویسان به رهبری جان بکوس در IBM ایجاد شد و این مرحله بعدی در توسعه زبان های برنامه نویسی بود. این زبان برنامه نویسی FORTRAN بود. برای محاسبات علمی و فنی در نظر گرفته شده بود. نام فرترن مخفف FORmulaTRANslator (مترجم فرمول) است.

    تاریخچه زبان

    در پایان سال 1953، جان بکوس شروع به توسعه یک جایگزین موثر برای اسمبلر برای برنامه نویسی در رایانه شخصی IBM 704 کرد. در اواسط سال 1954، پیش نویس مشخصات زبان فرترن تکمیل شد. اولین کتابچه راهنمای Fortran در اکتبر 1956 همراه با اولین کامپایلر که در آوریل 1957 ارسال شد ظاهر شد. کامپایلر در حال بهینه سازی بود زیرا مشتریان از استفاده از یک زبان برنامه نویسی سطح بالا که قادر به تولید کد با عملکرد کمتر از اسمبلر نبود خودداری می کردند.

    در آن زمان، جامعه در مورد روش جدید برنامه نویسی تردید داشتند و باور نداشتند که فرترن برنامه نویسی را سریعتر و کارآمدتر کند. به قول خود جان بکوس، بیشتر کارهای او با هدف "تنبل بودن" بود. او به شدت دوست نداشت برای IBM 701 در اسمبلر برنامه بنویسد.

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

    در سال 1960 نسخه‌هایی از فرترن برای رایانه‌های IBM 709، 650، 1620، 7090 وجود داشت. محبوبیت زیاد آن، سازندگان رایانه‌های رقیب را تشویق کرد تا کامپایلرهای فرترن را برای رایانه‌های خود ایجاد کنند. بنابراین تا سال 1963 بیش از 40 کامپایلر برای پلتفرم های مختلف وجود داشت. به همین دلیل است که فرترن را اولین زبان برنامه نویسی پرکاربرد می دانند.

    Fortran در اتحاد جماهیر شوروی

    Fortran در اتحاد جماهیر شوروی دیرتر از غرب ظاهر شد ، زیرا در ابتدا Algol زبان امیدوار کننده تری در کشور ما به حساب می آمد. ارتباط فیزیکدانان شوروی با همکارانشان از سرن، جایی که در دهه 1960 تقریباً تمام محاسبات با استفاده از برنامه های فرترن انجام می شد، نقش مهمی در معرفی فرترن داشت.

    اولین کامپایلر Fortran شوروی در سال 1967 برای ماشین Minsk-2 ایجاد شد، اما شهرت زیادی کسب نکرد. معرفی گسترده فرترن پس از ایجاد کامپایلر FORTRAN-DUBNA در سال 1968 برای ماشین BESM-6 آغاز شد. کامپیوترهای ES که در سال 1972 ظاهر شدند قبلاً یک مترجم Fortran داشتند ("قرض گرفته شده" از IBM/360 همراه با نرم افزارهای دیگر)

    فرترن مدرن مزایای زبان

    فرترن عمدتاً برای محاسبات علمی و مهندسی استفاده می شد. این زبان برای حل مسائل عددی مناسب است، زیرا بسیاری از کتابخانه ها در بیش از 50 سال نوشته شده اند، بنابراین این زبان در حال حاضر مورد استفاده قرار می گیرد و در آینده نزدیک در خطر فراموشی قرار نمی گیرد. با این حال، تا به امروز از آن استفاده می شود، نه به دلیل طراحی موفق، بلکه به دلیل تعداد زیاد برنامه های نوشته شده بر روی آن، که تغییر و بعلاوه بازنویسی معنایی ندارد.

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

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

    به عنوان مثال، در بین دانشمندان چنین ضرب المثلی وجود دارد که هر مسئله ریاضی قبلاً یک راه حل در فرترن دارد و در واقع می توان از بین هزاران بسته فرترن و بسته ای برای ضرب ماتریس ها و بسته ای برای حل معادلات انتگرال پیچیده پیدا کرد. ، و بسیاری، بسیاری دیگر.

    مثلاً در بین دانشمندان چنین ضرب المثلی وجود دارد که می گوید هر مسئله ریاضی قبلاً در فرترن راه حل دارد و در واقع می توان از بین هزاران بسته فرترن بسته ای برای ضرب ماتریس و بسته ای برای حل معادلات انتگرال پیچیده پیدا کرد. بسیاری، بسیاری دیگر تعدادی از این بسته ها در طول دهه ها ایجاد شده اند و هنوز در جامعه علمی تا به امروز محبوب هستند، به عنوان مثال - IMSL ( انگلیسی).

    اکثر این کتابخانه ها در واقع دارایی بشر هستند: آنها به صورت کد منبع در دسترس هستند، به خوبی مستند شده، اشکال زدایی شده و بسیار مؤثر هستند. بنابراین، تغییر آن پرهزینه است، چه رسد به بازنویسی آنها در سایر زبان های برنامه نویسی، علیرغم این واقعیت که به طور منظم تلاش می شود تا کد فرترن به طور خودکار به زبان های برنامه نویسی مدرن تبدیل شود.

    فرترن مدرن (Fortran 95 و Fortran 2003) ویژگی های لازم برای برنامه نویسی کارآمد برای معماری های محاسباتی جدید را به دست آورده است، امکان استفاده از فناوری های برنامه نویسی مدرن، به ویژه OOP را فراهم می کند.

    تکامل استانداردهای زبان

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

    FORTRAN 66 (1972) بر اساس استاندارد IBM فرترن IV FORTRAN 77 (1980) بسیاری از پیشرفت ها معرفی شدند: فرترن 90 (1991) استاندارد زبان به طور قابل توجهی تجدید نظر شده است. فرترن 95 (1997) تصحیح استاندارد قبلی. عملگر و ساختار FORALL معرفی شده‌اند که به انعطاف‌پذیری بیشتری نسبت به عملگر و ساختار WHERE برای اختصاص آرایه‌ها و جایگزینی حلقه‌های دست و پاگیر اجازه می‌دهد. FORALL به شما این امکان را می دهد که هر انتساب یا عملگر بخش را جایگزین کنید و به ویژه عبارت WHERE دسترسی به مورب یک ماتریس را فراهم می کند. این عملگر در محاسبات موازی امیدوارکننده در نظر گرفته می‌شود و به اجرای کارآمدتر موازی‌سازی نسبت به حلقه‌ها کمک می‌کند. Fortran 2003 (2004) توسعه بیشتر پشتیبانی OOP در زبان. تعامل با سیستم عامل. ویژگی های زیر نیز اضافه شده است: Fortran 2008 (2010) استاندارد پشتیبانی از زبان محاسباتی موازی (Co-Arrays Fortran) را فرض می کند. همچنین برنامه ریزی شده است که حداکثر بعد آرایه ها به 15 افزایش یابد، توابع ریاضی ویژه داخلی و غیره اضافه شود.

    کامپایلرها

    از زمان توسعه اولیه این زبان، کامپایلرهای فرترن توسط IBM ساخته شده اند. در حال حاضر، IBM کامپایلر بهینه‌سازی VS Fortran را برای پردازنده‌های مرکزی IBM System z، که تاریخچه توسعه نسخه‌های مختلف آن به سال 1964 باز می‌گردد، و همچنین کامپایلر XL Fortran برای پلتفرم‌های مبتنی بر معماری PowerPC - AIX، Linux و ابررایانه Blue Gene (نسخه ای برای Mac OS X نیز وجود داشت، زمانی که رایانه های مکینتاش از پردازنده های PowerPC استفاده می کردند). هر دوی این کامپایلرها حاوی بهینه سازهای بسیار پیچیده ای هستند که حاصل نیم قرن کار علمی مداوم متخصصان IBM است. Absoft، یک شریک تجاری IBM، بر اساس کامپایلر IBM Fortran XL، کامپایلر Absoft Pro Fortran را برای سیستم‌های مبتنی بر پردازنده‌های PowerPC (Linux، Mac OS X) و Intel (Linux، Mac OS X، Windows) ایجاد و عرضه کرده است. .

    بنیاد نرم‌افزار آزاد گنو یک کامپایلر متن‌باز Fortran 77 به نام g77 را منتشر کرد که تقریباً برای هر پلتفرمی موجود است و کاملاً با GCC سازگار است. اکنون کامپایلر GFortran جایگزین آن شده است که تقریباً تمام ساختارهای استاندارد Fortran-95 و بسیاری از ساختارهای استاندارد Fortran-2003 و Fortran-2008 را اجرا می کند. همچنین به طور کامل با Fortran-77 سازگار است. همچنین یک پروژه مستقل g95 برای ایجاد یک کامپایلر Fortran-95 بر اساس GCC وجود دارد.

    ویژگی ها و ساختار برنامه

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

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

    ساختار برنامه ها در ابتدا بر ورودی کارت های پانچ متمرکز بود و دارای تعدادی ویژگی بود که برای این مورد خاص مناسب بود. بنابراین، ستون 1 برای علامت گذاری متن به عنوان نظر (با علامت سی) از 1 تا 5 قسمت برچسب و از 7 تا 72 متن واقعی اپراتور یا نظر وجود داشت. ستون‌های 73 تا 80 می‌توانند برای شماره‌گذاری کارت (برای بازگرداندن عرشه‌ای که تصادفاً پراکنده شده) یا برای یک نظر کوتاه، توسط مترجم نادیده گرفته شوند. اگر متن اپراتور در فضای اختصاص داده شده (از ستون هفتم تا هفتاد و دوم) قرار نمی گرفت، علامت ادامه در ستون ششم کارت بعدی قرار می گرفت و سپس اپراتور روی آن ادامه می داد. قرار دادن دو یا چند اپراتور در یک خط (نقشه) غیرممکن بود. هنگامی که کارت های پانچ به تاریخ تبدیل شد، این مزیت ها به ناراحتی های جدی تبدیل شد.

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

    نوعی "کارت تلفن" فرترن قدیمی تعداد زیادی برچسب است که هم در عملگرهای پرش بدون قید و شرط GOTO و هم در عملگرهای حلقه و هم در عملگرهای توصیف ورودی / خروجی فرمت FORMAT استفاده می شود. تعداد زیاد برچسب ها و عبارات GOTO اغلب درک برنامه های فرترن را دشوار می کرد.

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

    با این حال، فرترن مدرن با معرفی عملگرهایی مانند DO ... END DO، DO WHILE، SELECT CASE از شر مازاد برچسب ها خلاص شد. علاوه بر این، در استانداردهای زبان مدرن، تنها اپراتور کلاسیک GOTO که تا به امروز در بسیاری از زبان ها استفاده می شود، باقی مانده است. عبارت GOTO محاسبه‌شده و همچنین ساختار ENTRY - ورود چندگانه به رویه‌ها، حذف شدند.

    همچنین، از ویژگی های مثبت فرترن مدرن می توان به تعداد زیادی عملیات داخلی با آرایه ها و پشتیبانی انعطاف پذیر از آرایه هایی با نمایه سازی غیر معمول اشاره کرد. مثال:

    بعد واقعی (: ,: ) :: V ... تخصیص (V(- 2 : 2 ,0 : 10 ) ) ! تخصیص حافظه برای آرایه ای که شاخص های آن می توانند ! از 2- تا 2 متغیر است (شاخص اول) ! و از 0 تا 10 - دوم... V (2 ,2 : 3 ) = V(- 1 : 0 ,1 ) ! یک برش از یک آرایه را بچرخانید write(* ,* ) V(1 ,: ) ! تمام عناصر آرایه V را که اولین شاخص آن 1 است چاپ کنید.معامله (V)

    سلام دنیا!

    فرمت ثابت (فضاهای موجود در موقعیت های ردیف 1 تا 6 با کاراکترهای "␣" مشخص شده اند):

    ␣␣␣␣␣␣برنامه سلام ␣␣␣␣␣␣PRINT*، "سلام، دنیا!" ␣␣␣␣␣␣ پایان

    فرمت رایگان:

    برنامه hello print * , "Hello, World!" پایان

    ملاحظات.

    • عبارت PROGRAM اختیاری است. به طور دقیق، تنها عبارت مورد نیاز در برنامه فرترن عبارت END است.
    • انتخاب حروف بزرگ یا کوچک برای نوشتن دستورات برنامه دلخواه است. از نظر استانداردهای زبان فرترن مدرن، بسیاری از حروف بزرگ و بسیاری از حروف کوچک هنگام نوشتن عملگرهای زبان یکسان هستند.

    تعامل با زبان های دیگر

    بسیاری از سیستم‌های برنامه‌نویسی به شما امکان می‌دهند فایل‌های شی به‌دست‌آمده در نتیجه ترجمه یک برنامه فرترن را با فایل‌های شی به‌دست‌آمده از کامپایلرهای زبان‌های دیگر پیوند دهید، که به شما امکان ایجاد برنامه‌های کاربردی انعطاف‌پذیرتر و چند منظوره‌تر را می‌دهد. تعداد زیادی کتابخانه نیز برای زبان فرترن موجود است که شامل هر دو روال برای حل مسائل محاسباتی کلاسیک (LAPACK، IMSL، BLAS)، وظایف سازمان‌دهی محاسبات توزیع‌شده (MPI، pvm)، و وظایفی برای ساخت رابط‌های گرافیکی (Quickwin، FORTRAN) است. / TK) یا دسترسی به DBMS (Oracle).

    فوترن در اتحاد جماهیر شوروی

    یادداشت

    1. به عنوان مثال نگاه کنید به: مخزن Netlib در UTK و ORNL
    2. A. M. Gorelik. تکامل زبان برنامه نویسی Fortran (1957-2007) و چشم انداز توسعه آن // روش های محاسباتی و برنامه نویسی، 2008، جلد 9، ص. 53-71
    3. بارتنیف O.V.فرترن مدرن - M.: Dialogue MEPhI، 2005. - ISBN 5-86404-113-0
    4. A. M. Gorelik. برنامه نویسی شی گرا در فرترن مدرن
    5. S. D. Algazin، V. V. Kondratiev.برنامه نویسی در ویژوال فرترن - M .: "MEPhI Dialogue"، 2008. - 448 p. - شابک 5-8243-0759-8
    6. اخبار گورلیک A. M
    7. در مقابل فرترن
    8. XL Fortran برای لینوکس
    9. Absoft Pro Fortran Compiler Suites مرور کلی
    10. Sun Studio - معیارها
    11. مقاله ای از الکساندر راستورگویف در مورد ظهور فرترن در دوبنا
    12. تاریخچه گرافیک کامپیوتری در روسیه

    ادبیات

    • فرترن راهنمای مرجع برنامه نویس سیستم کدگذاری خودکار فرترن برای IBM 704 EDPM - IBM Corp., 1956. - 51 p.
    • ISO/IEC 1539-2:2000 فناوری اطلاعات - زبان های برنامه نویسی - فورترن - قسمت 2: رشته های کاراکتر با طول های مختلف
    • رابرت دبلیو سبستا. 2.3. کامپیوتر IBM 704 و زبان فرترن // مفاهیم اساسی زبان های برنامه نویسی \u003d مفاهیم زبان های برنامه نویسی / Per. از انگلیسی. - ویرایش پنجم - M.: ویلیامز، 2001. - S. 63-69. - 672 ص. - 5000 نسخه. - ISBN 5-8459-0192-8 (روسی)، ISBN 0-201-75295-6 (انگلیسی)

    پیوندها

    • gfortran - کامپایلر Fortran 95/2003/2008، بخشی از مجموعه کامپایلر گنو
    • در Progopedia - دایره المعارف زبان های برنامه نویسی (روسی)