نحوه برنامه ریزی در Fortran (همراه با تصاویر)

فهرست مطالب:

نحوه برنامه ریزی در Fortran (همراه با تصاویر)
نحوه برنامه ریزی در Fortran (همراه با تصاویر)

تصویری: نحوه برنامه ریزی در Fortran (همراه با تصاویر)

تصویری: نحوه برنامه ریزی در Fortran (همراه با تصاویر)
تصویری: 3 نکته برای طراحی یادداشت های خود مانند یک حرفه ای | نکات و ترفندهای Evernote 2024, آوریل
Anonim

بسیاری از مردم Fortran را به عنوان یک زبان برنامه نویسی قدیمی و "مرده" درک می کنند. با این حال ، اکثر کد های علمی و مهندسی در Fortran نوشته شده است. به این ترتیب ، برنامه نویسی در F77 و F90 برای اکثر برنامه نویسان فنی یک مهارت ضروری است. علاوه بر این ، آخرین استانداردهای Fortran (2003 ، 2008 ، 2015) به برنامه نویس اجازه می دهد تا کدهای بسیار کارآمد را با حداقل تلاش بنویسد ، در حالی که از همه ویژگی های زبان مدرن مانند OOP (برنامه نویسی شی گرا) استفاده می کند. FORTRAN مخفف "FORMula TRANslation" است و بیشتر برای برنامه های ریاضی و عددی مناسب است نه برنامه های گرافیکی یا پایگاه داده. بیشتر کدهای fortran از متن یا فایل خط فرمان به جای منو یا رابط کاربری گرافیکی استفاده می کنند.

مراحل

قسمت 1 از 4: نوشتن و تدوین یک برنامه ساده

برنامه Fortran hello world write corrected
برنامه Fortran hello world write corrected

مرحله 1. برنامه "Hello World" بنویسید

این معمولاً اولین برنامه ای است که به هر زبانی می نویسد و فقط "سلام جهان" را روی صفحه چاپ می کند. کد زیر را در هر ویرایشگر متنی بنویسید و آن را به عنوان helloworld.f ذخیره کنید. توجه داشته باشید که باید دقیقاً 6 فاصله در مقابل هر خط وجود داشته باشد.

program helloworld impelled none character*13 hello_string hello_string = "سلام ، جهان!" برنامه پایان hello_string helloworld را بنویسید (*، *)

نکته: فاصله ها فقط در نسخه های Fortran تا FORTRAN 77 ضروری هستند. اگر از نسخه جدیدتری استفاده می کنید ، می توانید فاصله ها را رها کنید. برنامه ها را از نسخه جدیدتر با f95 ، نه f77 کامپایل کنید..f95 را به عنوان پسوند فایل به جای فقط.f استفاده کنید.

مرحله 2. برنامه را کامپایل کنید

برای این کار f77 helloworld.f را در خط فرمان تایپ کنید. اگر این خطا می دهد ، احتمالاً هنوز کامپایلر Fortran مانند gfortran را نصب نکرده اید.

Fortran hello world compile run
Fortran hello world compile run

مرحله 3. برنامه خود را اجرا کنید

کامپایلر فایلی به نام a.out تولید کرده است. این فایل را با تایپ کردن./a.out اجرا کنید.

مرحله 4. آنچه را که نوشتید درک کنید

  • برنامه helloworld

    شروع برنامه "helloworld" را نشان می دهد. به طور مشابه ،

    پایان برنامه helloworld

  • پایان آن را نشان می دهد
  • به طور پیش فرض ، اگر یک نوع متغیر را اعلام نکنید ، Fortran یک متغیر با نامی که با حرف i تا n شروع می شود را به عنوان یک عدد صحیح ، و بقیه را به عنوان یک عدد واقعی در نظر می گیرد. استفاده از آن توصیه می شود

    ضمنی هیچکدام

  • اگر به چنین رفتاری نیاز ندارید
  • شخصیت*13 hello_string

  • مجموعه ای از کاراکترها را که hello_string نامیده می شود ، اعلام می کند.
  • hello_string = "سلام جهان!"

  • مقدار "سلام ، جهان!" به آرایه اعلام شده بر خلاف زبانهای دیگر مانند C ، این را نمی توان در یک خط با اعلام آرایه انجام داد.
  • (*، *) hello_string را بنویسید

  • مقدار hello_string را در خروجی استاندارد چاپ می کند. اولین * به معنی نوشتن در خروجی استاندارد ، برخلاف برخی از فایل ها است. دوم * به این معنی است که از قالب بندی خاصی استفاده نمی کنید.
Fortran comments
Fortran comments

مرحله 5. یک نظر اضافه کنید

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

  • برای افزودن نظری که یک خط کامل دارد ، یک c را مستقیماً در یک خط جدید ، بدون 6 فاصله بنویسید. پس از آن ، نظر خود را بنویسید. برای خواندن بهتر باید بین c و نظر خود فاصله بگذارید ، اما این مورد لازم نیست. توجه داشته باشید که باید از a استفاده کنید! به جای c در Fortran 95 و جدیدتر.
  • برای افزودن نظر در همان خط کد ، a را اضافه کنید! از کجا می خواهید نظر شما شروع شود باز هم ، فضا لازم نیست ، اما خوانایی را بهبود می بخشد.

قسمت 2 از 4: استفاده از Input و If-Constructions

انواع داده های Fortran
انواع داده های Fortran

مرحله 1. انواع مختلف داده ها را درک کنید

  • INTEGER برای اعداد کامل مانند 1 ، 3 یا -3 استفاده می شود.
  • REAL همچنین می تواند شامل عددی باشد که کامل نیست ، مانند 2.5.
  • COMPLEX برای ذخیره اعداد مختلط استفاده می شود. اولین عدد واقعی و دومی بخش خیالی است.
  • CHARACTER برای کاراکترها مانند حروف یا نقطه گذاری استفاده می شود.
  • منطقی می تواند هر دو. یا.false.. این مانند نوع بولی در سایر زبان های برنامه نویسی است.

مرحله 2. ورودی کاربر را دریافت کنید

در برنامه "سلام جهان" که قبلاً نوشتید ، دریافت ورودی کاربر بی فایده است. بنابراین یک فایل جدید باز کنید و نام آن را compnum.f بگذارید. پس از اتمام کار ، به کاربر اطلاع می دهد که آیا عددی که وارد کرده اید مثبت ، منفی یا برابر با صفر است.

  • خطوط برنامه compnum و پایان برنامه compnum را وارد کنید.
  • سپس ، یک متغیر از نوع REAL را اعلام کنید. اطمینان حاصل کنید که اظهارنامه شما بین شروع و پایان برنامه است.
  • به کاربر توضیح دهید که باید چه کار کند. مقداری متن با عملکرد نوشتن بنویسید.
  • ورودی کاربر را در متغیری که با تابع read اعلان کرده اید بخوانید.

program compnum real r write (*، *) "یک عدد واقعی وارد کنید:" خواندن (*، *) r پایان برنامه

Fortran if construction
Fortran if construction

مرحله 3. ورودی کاربر را با یک ساختار if پردازش کنید

بین آن قرار دهید

خواندن (*، *) r

و

پایان برنامه

  • مقایسه با.gt انجام می شود. (بزرگتر از) ،.lt. (کمتر از) و.eq. (برابر) در Fortran.
  • Fortran از if ، else اگر ، و دیگری پشتیبانی می کند
  • ساخت و ساز Fortran همیشه با پایان if به پایان می رسد.

اگر (r.gt. 0) سپس (*، *) بنویسید "این عدد مثبت است." در غیر این صورت (r.lt. 0) سپس (*، *) بنویسید "این عدد منفی است." در غیر این صورت (*، *) بنویسید "این عدد 0 است." پایان اگر

نکته: نیازی نیست که در داخل سازه های if با فضاهای بیشتر دندانه وارد کنید ، اما خوانایی را بهبود می بخشد.

برنامه بررسی شماره Fortran test
برنامه بررسی شماره Fortran test

مرحله 4. برنامه خود را کامپایل و اجرا کنید

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

قسمت 3 از 4: استفاده از حلقه ها و آرایه ها

مرحله 1. یک فایل جدید باز کنید

از آنجا که این مفهوم متفاوت است ، باید دوباره برنامه جدیدی بنویسید. نام فایل را addmany.f بگذارید. برنامه مربوطه و دستورات پایان برنامه و همچنین هیچ کد ضمنی را وارد کنید. پس از اتمام کار ، این برنامه 10 عدد را می خواند و جمع آنها را چاپ می کند.

مرحله 2. آرایه ای با طول 10 اعلام کنید

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

اعداد واقعی (50)

(اعداد نام آرایه است ، نه عبارت).

مرحله 3. برخی از متغیرها را اعلام کنید

numSum را به عنوان یک عدد واقعی اعلام کنید. از آن برای ذخیره مجموع بعداً استفاده خواهید کرد ، اما از آنجا که sum قبلاً توسط عبارت Fortran گرفته شده است ، باید از نامی مانند numSum استفاده کنید. آن را روی 0 تنظیم کنید. i را به عنوان یک عدد صحیح اعلام کنید و هنوز هیچ مقداری به آن اختصاص ندهید. که در حلقه انجام می شود.

مرحله 4. یک حلقه انجام دهید

معادل آن در سایر زبانهای برنامه نویسی for-loop خواهد بود.

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

    i = 1 ، 10

    به این باعث می شود که متغیر i ، که قبل از حلقه اعلام کرده اید ، از 1 به 10 در مراحل 1 برسد. مراحل ذکر شده در این عبارت ذکر نشده است ، بنابراین Fortran از مقدار پیش فرض 1 استفاده می کند. شما همچنین می توانید نوشته باشید

    i = 1 ، 10 ، 1

  • مقداری کد را داخل حلقه قرار دهید (برای خواندن بهتر با فاصله فاصله ایجاد کنید). برای این برنامه ، شما باید متغیر numSum را با عنصر i-th از اعداد آرایه افزایش دهید. این کار با عبارت انجام می شود

    numSum = numSum + شماره (i)

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

حلقه do شما باید به این شکل باشد:

انجام 1 i = 1 ، 10 numSum = numSum + اعداد (i) 1 ادامه دهید

نکته: در Fortran 95 و نسخه های جدیدتر ، نیازی به استفاده از برچسب ندارید. فقط یکی را در دستور انجام قرار ندهید و به جای "ادامه" حلقه را با "پایان انجام" پایان دهید.

Fortran do loop code
Fortran do loop code

مرحله 5. numSum را چاپ کنید

همچنین ، منطقی است که زمینه ای را ارائه دهید ، به عنوان مثال "مجموع اعداد شما:". برای هر دو از تابع نوشتن استفاده کنید. کل کد شما باید به شکل زیر باشد:

برنامه addmany تعداد ضمنی هیچ شماره حقیقی (10) num واقعی جمع عدد صحیح i numSum = 0 نوشتن (*، *) "وارد کردن 10 عدد:" خواندن اعداد (*، *) 1 i = 1 ، 10 numSum = numSum + اعداد (i) 1 ادامه نوشتن (*، *) "مجموع آنها این است:" نوشتن (*، *) numSum پایان برنامه addmany

Fortran اضافه کردن کد test
Fortran اضافه کردن کد test

مرحله 6. کد خود را کامپایل و اجرا کنید

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

قسمت 4 از 4: درک مفاهیم پیشرفته

برنامه در Fortran مرحله 13
برنامه در Fortran مرحله 13

مرحله 1. ایده خوبی از آنچه برنامه شما انجام خواهد داد داشته باشید

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

وب سایت مرجع Fortran screenshot
وب سایت مرجع Fortran screenshot

مرحله 2. یک مرجع خوب Fortran پیدا کنید

عملکردهای Fortran بسیار بیشتر از آنچه در این مقاله توضیح داده شده است است ، و ممکن است برای برنامه ای که می خواهید بنویسید مفید باشد. یک مرجع تمام توابع یک زبان برنامه نویسی را فهرست می کند. این یکی برای Fortran 77 و این یکی برای Fortran 90/95 است.

زیرروالهای Fortran example
زیرروالهای Fortran example

مرحله 3. در مورد زیر روالها و توابع اطلاعات کسب کنید

رشته قالب Fortran example
رشته قالب Fortran example

مرحله 4. نحوه خواندن و نوشتن از/به فایل ها را بیاموزید

همچنین نحوه قالب بندی ورودی/خروجی خود را بیاموزید.

نمونه مدرن fortran screenshot
نمونه مدرن fortran screenshot

مرحله 5. با ویژگی های جدید Fortran 90/95 و جدیدتر آشنا شوید

اگر می دانید که فقط در حال نوشتن/نگهداری کد Fortran 77 هستید ، این مرحله را رد کنید.

به یاد داشته باشید که Fortran 90 کد منبع "فرم رایگان" را معرفی کرد و اجازه نوشتن کد بدون فاصله و بدون محدودیت 72 کاراکتر را داد

کتاب Fortran online screenshot
کتاب Fortran online screenshot

مرحله 6. برخی از کتابهای برنامه نویسی علمی را بخوانید یا جستجو کنید

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

Fortran برنامه را در چندین فایل کامپایل کنید
Fortran برنامه را در چندین فایل کامپایل کنید

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

بیایید فرض کنیم که برنامه Fortran شما در فایلهای main.f و morestuff.f پخش شده است و شما می خواهید باینری حاصله allstuff نامگذاری شود. سپس باید دستورات زیر را در خط فرمان بنویسید:

f77 -c morestuff.f f77 -c main.f f77 -c morestuff.f f77 -o allstuff main.o morestuff.f

سپس فایل را با تایپ کردن./allstuff اجرا کنید.

نکته: این کار با نسخه های جدیدتر Fortran به همان شیوه کار می کند. فقط.f را با پسوند صحیح و f77 را با نسخه کامپایلر صحیح جایگزین کنید.

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

اکثر کامپایلرها شامل الگوریتم های بهینه سازی هستند که کارایی کد شما را بهبود می بخشد. اینها معمولاً با درج یک پرچم -O ، -O2 ، یا -O3 هنگام کامپایل (دوباره بسته به نسخه Fortran شما) روشن می شوند.

  • به طور کلی ، پایین ترین سطح -O یا -O2 بهترین است. توجه داشته باشید که استفاده از گزینه بهینه سازی تهاجمی تر می تواند خطاهایی را در کدهای پیچیده ایجاد کند و حتی ممکن است سرعت را کاهش دهد! کد خود را تست کنید

    نکات

    • با برنامه های کوچک شروع کنید. وقتی کد خود را می سازید ، سعی کنید اصلی ترین قسمت مشکل را مشخص کنید - آیا این داده های ورودی هستند یا فراخوانی توابع ، ساختار حلقه (اینها چند نمونه اولیه هستند) و از آنجا شروع کنید. سپس بر اساس آن در مقادیر کوچک بسازید.
    • Fortran به حروف کوچک و بزرگ حساس نیست. به عنوان مثال ، می توانید یک متغیر "Num واقعی" را اعلام کرده و "num = 1" را در خط بعدی بنویسید تا مقداری به آن اختصاص دهید. اما این سبک بدی است ، بنابراین از آن اجتناب کنید. مهمتر از همه ، Fortran به مورد توابع و دستورات نیز اهمیتی نمی دهد. کاملاً متداول است که توابع و دستورات را با حروف بزرگ و متغیرها را با حروف کوچک بنویسید.
    • EMACS یک ویرایشگر متن خوب خوب است که به جای Notepad استفاده می شود.
    • ممکن است در ابتدا استفاده از IDE آنلاین (محیط توسعه یکپارچه) برای شما آسان تر شود. یک گزینه خوب Coding Ground است. شما بسیاری از زبان های برنامه نویسی را در آنجا پیدا خواهید کرد ، از جمله Fortran-95. گزینه دیگر Ideone است.

توصیه شده: