Фортранда кантип программалоо керек (Сүрөттөр менен)

Мазмуну:

Фортранда кантип программалоо керек (Сүрөттөр менен)
Фортранда кантип программалоо керек (Сүрөттөр менен)

Video: Фортранда кантип программалоо керек (Сүрөттөр менен)

Video: Фортранда кантип программалоо керек (Сүрөттөр менен)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Апрель
Anonim

Көптөр Фортранды архаикалык жана "өлүк" программалоо тили катары кабылдашат. Бирок, илимий жана инженердик коддордун көбү Фортран шаарында жазылган. Ошентип, F77 жана F90до программалоо көпчүлүк техникалык программисттер үчүн зарыл болгон көндүм бойдон калууда. Мындан тышкары, акыркы Fortran стандарттары (2003, 2008, 2015) программистке OOP (объектке багытталган программалоо) сыяктуу заманбап тилдин бардык мүмкүнчүлүктөрүн колдонуп, эң аз күч менен жогорку эффективдүү код жазууга мүмкүндүк берет. FORTRAN - бул "FORmula TRANslation" деген сөздүн кыскартылган сөзү жана графика же маалымат базасы үчүн эмес, математикалык жана сандык колдонмолор үчүн эң ылайыктуу. Фортрандын коддорунун көбү текст киргизүүнү менюдан же GUI интерфейсинен эмес, файлдан же буйрук сабынан алат.

Кадамдар

4 ичинен 1 -бөлүк: Жөнөкөй программаны жазуу жана түзүү

Fortran салам дүйнөлүк программа жазуу оңдолгон
Fortran салам дүйнөлүк программа жазуу оңдолгон

Кадам 1. "Hello World" программасын жазыңыз

Бул, адатта, каалаган тилде жазган биринчи программа жана ал жөн гана экранга "Hello world" басып чыгарат. Төмөнкү кодду каалаган текст редакторуна жазыңыз жана helloworld.f катары сактаңыз. Ар бир саптын алдында так 6 боштук болушу керек экенине көңүл буруңуз.

программа helloworld implicit none character*13 hello_string hello_string = "Салам, дүйнө!" жазуу (*, *) hello_string аяктоо программасы helloworld

Кеңеш: Боштуктар Fortran'дын FORTRAN 77ге чейинки версияларында гана керек. Эгер сиз жаңы версияны колдонуп жатсаңыз, анда боштуктарды таштап койсоңуз болот. Программаларды f77 эмес, f95 менен жаңы версиясынан түзүңүз;.f95 ордуна.f95 файл кеңейтүүсү катары колдонуңуз.

Кадам 2. Программаны түзүңүз

Бул үчүн, буйрук сабына f77 helloworld.f териңиз. Эгер бул ката кетирсе, анда, балким, азырынча gfortran сыяктуу Fortran компиляторун орното элек окшойсуз.

Fortran салам дүйнө компиляциясы run
Fortran салам дүйнө компиляциясы 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 менен комментарийиңиздин ортосунда боштук калтырышыңыз керек, бирок бул талап кылынбайт. Эске алыңыз, сиз! Fortran 95 жана андан кийинки с ордуна.
  • Комментарийди код менен бир сапка кошуу үчүн! комментарийиңиздин башталышын каалаган жерде. Дагы, мейкиндик талап кылынбайт, бирок окууну жакшыртат.

4 ичинен 2-бөлүк: Киргизүүнү жана If-Constructions колдонуу

Fortran маалымат түрлөрү
Fortran маалымат түрлөрү

Кадам 1. Ар кандай маалыматтардын түрлөрүн түшүнүү

  • INTEGER бүтүн сандар үчүн колдонулат, мисалы 1, 3 же -3.
  • REAL 2.5 сыяктуу эле бүтүн эмес санды камтышы мүмкүн.
  • COMPLEX татаал сандарды сактоо үчүн колдонулат. Биринчи сан реалдуу, экинчиси элестүү бөлүк.
  • CHARACTER тамгалар же пунктуация сыяктуу белгилер үчүн колдонулат.
  • ЛОГИКАЛЫК болушу мүмкүн.чыныгы. же.жалган.. Бул башка программалоо тилдериндеги логикалык типке окшош.

Кадам 2. Колдонуучунун киргизүүсүн алыңыз

Сиз мурда жазган "Hello world" программасында, колдонуучунун маалыматын алуу пайдасыз болмок. Ошентип, жаңы файлды ачыңыз жана ага compnum.f деп ат коюңуз. Аны бүтүргөндөн кийин, колдонуучуга алар киргизген сан оң, терс же нөлгө барабар экенин айтат.

  • Программа компнумуна линияларды киргизиңиз жана программанын аягына чыгыңыз.
  • Андан кийин, REAL түрүндөгү өзгөрмөнү жарыялаңыз. Декларацияңыз программанын башы менен аягынын ортосунда экенине ынаныңыз.
  • Колдонуучуга эмне кылышы керек экенин түшүндүрүңүз. Жазуу функциясы менен бир аз текст жазыңыз.
  • Окуу функциясы менен жарыяланган өзгөрмөгө колдонуучунун киргизгенин окуңуз.

program compnum real r write (*, *) "Чыныгы санды киргизиңиз:" окуу (*, *) r аяктоо программасы

Fortran if Construction
Fortran if Construction

Кадам 3. Колдонуучунун киргизүүсүн if-куруу менен иштетиңиз

Арасына кой

окуу (*, *) r

жана

программаны бүтүрүү

  • Салыштыруу.gt менен жүргүзүлөт. (чоңураак),.lt. (аз) жана.eq. (барабар) Фортран.
  • Fortran if if if, else if, and else колдойт
  • Фортран if-курулушу ар дайым if менен аяктайт.

эгер (r.gt. 0) анда (*, *) "Бул сан оң" деп жаз. else if (r.lt. 0) анда (*, *) "Бул сан терс" деп жазыңыз. else (*, *) "Бул сан 0" деп жаз. эгер бүтсө

Кеңеш: Көбүрөөк мейкиндикке ээ болгон if-конструкцияларынын ичине кодду киргизүүнүн кажети жок, бирок ал окууну жакшыртат.

Fortran номерин текшерүү программасы test
Fortran номерин текшерүү программасы test

Кадам 4. Программаңызды түзүңүз жана иштетиңиз

Сыноо үчүн кээ бир сандарды киргизиңиз. Эгер сиз кат киргизсеңиз, анда ката кетирет, бирок бул эч нерсе эмес, анткени программа киргизүүнүн тамга, сан же башка нерсе экенин текшербейт.

4төн 3 -бөлүк: Циклдерди жана массивдерди колдонуу

Кадам 1. Жаңы файлды ачыңыз

Бул түшүнүк башка болгондуктан, кайра жаңы программа жазышыңыз керек болот. Файлга ат коюу addmany.f. Тиешелүү программаны киргизиңиз жана программанын аягына чыккыла, ошондой эле жашыруун жок. Бүтүргөнүңүздө, бул программа 10 санын окуп, алардын суммасын басып чыгарат.

Кадам 2. Узундугу 10 болгон массивди жарыялайбыз

Бул жерде сиз номерлерди сактайсыз. Сиз чыныгы сандардын суммасын каалап жаткандыктан, массивди чыныгы деп жарыялооңуз керек. Сиз мындай массивди жарыялайсыз

чыныгы сандар (50)

(сандар - бул массивдин аты, сөз айкашы эмес).

3 -кадам. Кээ бир өзгөрмөлөрдү жарыялоо

NumSumду чыныгы сан катары жарыялаңыз. Сиз аны кийинчерээк сумманы сактоо үчүн колдоносуз, бирок сумма Fortran сөз айкашы тарабынан кабыл алынгандыктан, numSum сыяктуу атты колдонушуңуз керек. Аны 0 деп коюңуз. I бүтүн сан катары жарыялаңыз жана ага азырынча эч кандай баа бербеңиз. Бул до-лупда жасалат.

Кадам 4. До-цикл түзүңүз

Башка программалоо тилдериндеги эквиваленти for-loop болмок.

  • Do-loop ар дайым do менен башталат.
  • Do менен бир катарда, андан боштук менен бөлүнгөн, программа бүткөндө бара турган этикетка. Азырынча 1 деп жазыңыз, этикетканы кийинчерээк коёсуз.
  • Андан кийин, боштук менен гана бөлүнүп, териңиз

    i = 1, 10

    . Бул циклге чейин жарыялаган i өзгөрмөсүн 1 -кадам менен 1ден 10го чейин жеткирет. Бул сөздөрдө бул кадамдар айтылган эмес, ошондуктан Fortran демейки 1 маанисин колдонот. Сиз дагы жазсаңыз болмок

    i = 1, 10, 1

  • Циклдин ичине бир аз код коюңуз (жакшыраак окулушу үчүн боштуктар менен чегинүү). Бул программа үчүн, numSum өзгөрмөсүн массив номерлеринин i-чи элементи менен көбөйтүү керек. Бул сөз айкашы менен жасалат

    numSum = numSum + саны (i)

  • Циклди энбелгиси бар улантуу билдирүүсү менен аяктаңыз. 4 боштукту гана териңиз. Андан кийин, 1 териңиз. Бул do-loop бүткөндөн кийин ага барууну айткан этикетка. Андан кийин, боштукту териңиз жана улантыңыз. Улантууну билдирүү эч нерсе кылбайт, бирок бул этикетканы коюуга жакшы жер берет, ошондой эле до-цикл бүткөнүн көрсөтөт.

Сиздин до цикл азыр ушундай болушу керек:

do 1 i = 1, 10 numSum = numSum + сандары (i) 1 улантуу

Кеңеш: Fortran 95 жана андан кийинки версияларында этикеткаларды колдонуунун кажети жок. Жөн гана do билдирүүсүнө бирөөнү киргизбеңиз жана циклди "улантуунун" ордуна "end do" менен бүтүрбөңүз.

Fortran do loop code
Fortran do loop code

5 -кадам

Ошондой эле, кээ бир контекстти берүүнүн мааниси бар, мисалы "Сандарыңыздын суммасы:". Жазуу функциясын экөөнө тең колдонуңуз. Сиздин кодуңуз азыр төмөнкүдөй көрүнүшү керек:

программа addmany ачык эмес эч кандай чыныгы сандар (10) чыныгы numSum бүтүн сан i numSum = 0 жазуу (*, *) "10 санын киргизиңиз:" окуу (*, *) сандар 1 i = 1, 10 numSum = numSum + сандар (i) 1 улантууну жазууну улантуу (*, *) "Алардын суммасы:" write (*, *) numSum программасынын аягы addmany

Fortran сандар кодун кошуу test
Fortran сандар кодун кошуу test

Кадам 6. Түзүү жана кодду иштетүү

Аны сынап көрүүнү унутпаңыз. Сиз киргизген ар бир номерден кийин ↵ Enter баскычын басып же бир эле сапка көптөгөн сандарды киргизип, аларды боштук менен бөлүп койсоңуз болот.

4 ичинен 4 -бөлүк: Өркүндөтүлгөн түшүнүктөрдү түшүнүү

Фортрандагы программа 13 -кадам
Фортрандагы программа 13 -кадам

Кадам 1. Программаңыз эмне кылаарын жакшы түшүнүңүз

Киргизүү үчүн кандай маалымат керек экенин, өндүрүштү кантип түзүүнү жана кээ бир орточо чыгымдарды кошуу жөнүндө ойлонуп көрүңүз, ошондо сиз эсептөөнүн жүрүшүн көзөмөлдөй аласыз. Бул сиздин эсептөөңүз узак убакытка созуларын же бир нече татаал кадамдарды камтыганын билсеңиз абдан пайдалуу болот.

Fortran маалымдама сайты screenshot
Fortran маалымдама сайты screenshot

Кадам 2. Жакшы Fortran шилтемесин табыңыз

Фортран бул макалада түшүндүрүлгөндөн дагы көптөгөн функцияларга ээ жана алар сиз жазгыңыз келген программа үчүн пайдалуу болушу мүмкүн. Шилтеме программалоо тилинин бардык функцияларын тизмектейт. Бул Fortran 77 үчүн жана бул Fortran 90/95 үчүн.

Fortran чакан программалары example
Fortran чакан программалары example

3 -кадам. Кичи программалар жана функциялар жөнүндө билип алыңыз

Fortran формат сабы example
Fortran формат сабы example

Кадам 4. Файлдардан/файлдарга кантип окууну жана жазууну үйрөнүңүз

Киргизүүнү/чыгарууну форматтоону да үйрөнүңүз.

Заманбап фортран мисал скриншот
Заманбап фортран мисал скриншот

Step 5. Fortran 90/95 жана андан кийинки жаңы мүмкүнчүлүктөрү жөнүндө билип алыңыз

Эгерде сиз Fortran 77 кодун гана жазып/сактап тураарыңызды билсеңиз, бул кадамды өткөрүп жибериңиз.

Эсиңизде болсун, Fortran 90 "Free Form" баштапкы кодун киргизип, кодду боштуксуз жана 72 белгиден ашпастан жазууга мүмкүндүк берет

Fortran Book онлайн скриншоту
Fortran Book онлайн скриншоту

Кадам 6. Илимий программалоо боюнча кээ бир китептерди окуңуз же издеңиз

Мисалы, "Фортрандагы сандык рецепттер" китеби илимий программалоо алгоритмдери боюнча жакшы текст жана коддорду кантип чогултуу керектигине жакшы киришүү болуп саналат. Акыркы басылмалар аралаш тилдүү чөйрөдө кантип программалоо жана параллелдүү программалоо бөлүмдөрүн камтыйт. Дагы бир мисал - Аржен Маркус жазган "Практикада Заманбап Фортран". Китеп 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 желегин кошуу менен күйгүзүлөт (дагы сиздин фортран версияңызга жараша).

  • Жалпысынан, эң төмөнкү деңгээл -O же -O2 деңгээли эң жакшы. Оптимизациялоонун дагы агрессивдүү вариантын колдонуу татаал коддордо ката кетириши мүмкүн экенин жана ал тургай ишти жайлатышы мүмкүн экенин билиңиз! Кодуңузду текшериңиз.

    Кеңештер

    • Кичинекей программалар менен баштаңыз. Өзүңүздүн кодуңузду түзүп жатканда, көйгөйдүн эң маанилүү бөлүгүн аныктоого аракет кылыңыз - бул маалыматтарды киргизүү же функцияларды чакыруу, циклдин түзүлүшү (булар эң жөнөкөй мисалдар) жана ошол жерден башталат. Андан кийин муну кичине кадамдар менен түзүңүз.
    • Фортран регистрди сезбейт. Сиз, мисалы, "чыныгы Нум" өзгөрмөсүн жарыялай аласыз жана ага маанини ыйгаруу үчүн кийинки сапка "num = 1" деп жаза аласыз. Бирок бул жаман стиль, андыктан андан алыс болуңуз. Баарынан маанилүүсү, Фортран функциялар жана билдирүүлөр жөнүндө да кам көрбөйт. Функцияларды жана билдирүүлөрдү UPPERCASEде жана өзгөрмөлөрдү кичине тамга менен жазуу кадимки көрүнүш.
    • EMACS Блокноттун ордуна колдонуу үчүн жакшы бекер текст редактору.
    • Башында онлайн IDEди (комплекстүү өнүктүрүү чөйрөсүн) колдонуу оңой болушу мүмкүн. Жакшы вариант - бул Coding Ground. Ал жерден көптөгөн программалоо тилдерин таба аласыз, анын ичинде Fortran-95. Дагы бир вариант - Ideone.

Сунушталууда: