Շատերը Fortran- ն ընկալում են որպես հնացած և «մեռած» ծրագրավորման լեզու: Այնուամենայնիվ, գիտական և ինժեներական ծածկագրերի մեծ մասը գրված է Ֆորտրանում: Որպես այդպիսին, F77 և F90 ծրագրավորումը մնում է անհրաժեշտ հմտություն տեխնիկական ծրագրավորողների մեծ մասի համար: Ավելին, Fortran- ի վերջին չափանիշները (2003, 2008, 2015) թույլ են տալիս ծրագրավորողին նվազագույն ջանքերով գրել բարձր արդյունավետ ծածկագիր ՝ միաժամանակ օգտագործելով բոլոր ժամանակակից լեզվական հնարավորությունները, ինչպիսիք են OOP- ը (օբյեկտի վրա հիմնված ծրագրավորում): FORTRAN- ը «FORMula TRANslation» - ի հապավում է և լավագույնս համապատասխանում է մաթեմատիկական և թվային ծրագրերին, այլ ոչ թե գրաֆիկական կամ տվյալների բազայի ծրագրերին: Շատ fortran կոդերը տեքստը մուտքագրում են ֆայլից կամ հրամանի տողից, այլ ոչ թե ընտրացանկից կամ GUI ինտերֆեյսից:
Քայլեր
Մաս 1 -ից 4 -ը. Պարզ ծրագիր գրելը և կազմելը
Քայլ 1. Գրեք «Բարև աշխարհ» ծրագիր:
Սովորաբար սա առաջին ծրագիրն է, որը գրում է ցանկացած լեզվով, և այն պարզապես էկրան է տպում «Բարև աշխարհ»: Գրեք հետևյալ ծածկագիրը ցանկացած տեքստային խմբագրիչում և պահեք այն որպես helloworld.f: Ուշադրություն դարձրեք, որ յուրաքանչյուր տողի դիմաց պետք է լինի ուղիղ 6 բացատ:
ծրագիր helloworld անուղղակի ոչ մի կերպար*13 hello_string hello_string = "Բարև, աշխարհ": գրել (*, *) hello_string վերջնական ծրագիր helloworld
Հուշում. Բացատները անհրաժեշտ են միայն Fortran- ի մինչև FORTRAN 77 -ի տարբերակներում: Եթե օգտագործում եք ավելի նոր տարբերակ, կարող եք բաց թողնել դրանք: Կազմեք ծրագրեր ավելի նոր տարբերակից f95, այլ ոչ f77; օգտագործել.f95 որպես ֆայլի ընդլայնում ՝ պարզապես.f- ի փոխարեն:
Քայլ 2. Կազմեք ծրագիրը:
Դա անելու համար հրամանի տողում մուտքագրեք f77 helloworld.f: Եթե դա սխալ է տալիս, հավանաբար դեռ չեք տեղադրել Fortran կոմպիլյատոր, ինչպես օրինակ gfortran- ը:
Քայլ 3. Գործարկեք ձեր ծրագիրը:
Կազմողը պատրաստել է a.out անունով ֆայլ: Գործարկեք այս ֆայլը ՝ մուտքագրելով./a.out:
Քայլ 4. Հասկացեք, թե ինչ եք գրել:
-
ծրագիր helloworld
ցույց է տալիս «helloworld» ծրագրի մեկնարկը: Նմանապես,
ավարտել ծրագիրը helloworld
- ցույց է տալիս դրա ավարտը:
-
Լռելյայն, եթե փոփոխականի տեսակը չեք հայտարարում, Fortran- ը i- ից n տառով սկսվող անունով փոփոխականին համարում է ամբողջ թիվ, իսկ մնացած բոլորին `որպես իրական թիվ: Խորհուրդ է տրվում օգտագործել
անուղղակի ոչ մեկը
- եթե ձեզ պետք չէ այդ պահվածքը:
-
նիշ*13 hello_string
- հայտարարում է նիշերի զանգված, որը կոչվում է hello_string:
-
hello_string = "Բարև, աշխարհ":
- նշանակում է «Բարև, աշխարհ» արժեքը: հայտարարված զանգվածին: Ի տարբերություն C- ի նման այլ լեզուների, դա չի կարող արվել զանգվածը հայտարարելու նույն գծի վրա:
-
գրել (*, *) hello_string
- տպում է hello_string- ի արժեքը ստանդարտ ելքին: Առաջին * նշանակում է գրել ստանդարտ ելքի վրա, ի տարբերություն որոշ ֆայլերի: Երկրորդը * նշանակում է չօգտագործել որևէ հատուկ ձևաչափում:
Քայլ 5. Ավելացրեք մեկնաբանություն:
Նման պարզ ծրագրում դա անհրաժեշտ չէ, բայց օգտակար կլինի, երբ ավելի բարդ բան գրես, ուստի պետք է իմանաս, թե ինչպես դրանք ավելացնել: Մեկնաբանություն ավելացնելու երկու եղանակ կա:
- Մեկ մեկնաբանություն ավելացնելու համար, որն ունի ամբողջ տող ինքնուրույն, գ գրեք գ ուղղակիորեն նոր տողի մեջ ՝ առանց 6 բացատների: Դրանից հետո գրեք ձեր մեկնաբանությունը: Դուք պետք է բաց թողեք c- ի և ձեր մեկնաբանության միջև ավելի լավ ընթերցանության համար, բայց դա պարտադիր չէ: Նշենք, որ դուք պետք է օգտագործեք a! գ -ի փոխարեն Fortran 95 -ում և ավելի նոր:
- Կոդի հետ նույն տողում մեկնաբանություն ավելացնելու համար ավելացրեք a! որտեղից ցանկանում եք, որ ձեր մեկնաբանությունը սկսվի: Կրկին, տարածքը չի պահանջվում, բայց բարելավում է ընթերցանությունը:
Մաս 2-ից 4-ը. Մուտքի և If-Constructions- ի օգտագործումը
Քայլ 1. Հասկացեք տվյալների տարբեր տեսակներ:
- INTEGER- ը օգտագործվում է ամբողջ թվերի համար, օրինակ ՝ 1, 3 կամ -3:
- REAL- ը կարող է նաև պարունակել մի ամբողջ թիվ, ինչպիսին է 2.5 -ը:
- COMPLEX- ը օգտագործվում է բարդ թվեր պահելու համար: Առաջին թիվը իրականն է, իսկ երկրորդը ՝ երևակայական մասը:
- CHARACTER- ը օգտագործվում է կերպարների համար, ինչպիսիք են տառերը կամ կետադրական նշանները:
- ՏՐԱՄԱԲԱՆԱԿԱՆ կարող է լինել.իրական. կամ.false.. Սա նման է բուլյան տիպի այլ ծրագրավորման լեզուներում:
Քայլ 2. Ստացեք օգտվողի մուտքագրումը:
Նախկինում գրած «Բարև աշխարհ» ծրագրում օգտվողի մուտքն անօգուտ կլիներ: Այսպիսով, բացեք նոր ֆայլ և անվանեք այն compnum.f: Ավարտելուց հետո այն օգտագործողին կասի `մուտքագրված թիվը դրական է, բացասական, թե զրոյի:
- Մուտքագրեք տողերի ծրագրի կազմը և վերջ ծրագրի ծրագիրը:
- Այնուհետև հայտարարեք REAL տիպի փոփոխական: Համոզվեք, որ ձեր հայտարարագիրը գտնվում է ծրագրի սկզբի և ավարտի միջև:
- Բացատրեք օգտվողին, թե ինչ պետք է անեն: Գրեք մի քանի տեքստ գրելու գործառույթով:
- Կարդացեք ընթերցման գործառույթով ձեր հայտարարած փոփոխականի մեջ օգտագործողի մուտքագրումը:
program compnum real r write (*, *) «Մուտքագրեք իրական թիվ.» կարդալ (*, *) r ավարտել ծրագիրը
Քայլ 3. Մշակեք օգտվողի մուտքը if- կոնստրուկցիայով:
Տեղադրեք այն միջև
կարդալ (*, *) r
եւ
ավարտի ծրագիրը
- Համեմատությունը կատարվում է.gt- ի հետ: (ավելի մեծ),.lt. (պակաս) և.հաս. (հավասար է) Ֆորտրանում:
- Fortran- ն աջակցում է if, else if, and else
- Fortran- ի if- շինարարությունը միշտ ավարտվում է if- ի վերջով:
եթե (r.gt. 0) ապա գրեք (*, *) «Այդ թիվը դրական է»: հակառակ դեպքում, եթե (r.lt. 0), ապա գրեք (*, *) «Այդ թիվը բացասական է»: այլապես գրեք (*, *) «Այդ թիվը 0 է»: վերջ, եթե
Հուշում. Պարտադիր չէ, որ եթե-կոնստրուկցիաներն ավելի շատ տարածություն ունենան, ապա դա բարելավում է ընթեռնելիությունը:
Քայլ 4. Կազմեք և գործարկեք ձեր ծրագիրը:
Մուտքագրեք որոշ թվեր `այն ստուգելու համար: Եթե մուտքագրեք նամակ, այն սխալ կբարձրացնի, բայց դա նորմալ է, քանի որ ծրագիրը չի ստուգում ՝ մուտքը տառ է, թիվ, թե այլ բան:
3 -րդ մաս 4 -ից. Օղակների և զանգվածների օգտագործումը
Քայլ 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 -ով գնալ 1 -ից 10 -ի: Քայլերը նշված չեն այս արտահայտության մեջ, այնպես որ Fortran- ը օգտագործում է 1. -ի կանխադրված արժեքը: Դուք կարող եք գրել նաև
i = 1, 10, 1
-
Տեղադրեք մի ծածկագիր օղակի ներսում (ավելի լավ ընթեռնելիության համար նշեք բացատներով): Այս ծրագրի համար դուք պետք է մեծացնեք numSum փոփոխականը զանգվածի թվերի i-րդ տարրով: Դա արվում է արտահայտությամբ
numSum = numSum + համար (i)
- Վերջացրեք օղակը շարունակական հայտարարությամբ, որն ունի պիտակ: Մուտքագրեք ընդամենը 4 բացատ: Դրանից հետո մուտքագրեք a 1. Դա այն պիտակն է, որին դուք ասել եք, որ lo-loop- ը գնա ավարտվելուց հետո: Այնուհետև մուտքագրեք բացատ և շարունակեք: Շարունակվող արտահայտությունը ոչինչ չի անում, բայց դա լավ տեղ է տալիս պիտակ տեղադրելու համար, ինչպես նաև ցույց է տալիս, որ կատարման շրջանն ավարտվել է:
Ձեր կատարման հանգույցը այժմ պետք է ունենա այս տեսքը.
անել 1 i = 1, 10 numSum = numSum + թվեր (i) 1 շարունակել
ՀուշումFortran 95 և ավելի նոր համակարգերում պիտակներ օգտագործելու կարիք չկա: Պարզապես մեկը մի դրեք անել հայտարարության մեջ և օղակը վերջացրեք «շարունակել» -ի փոխարեն «շարունակել» -ի փոխարեն:
Քայլ 5. Տպել numSum:
Բացի այդ, իմաստ կլինի որոշակի համատեքստ տալ, օրինակ ՝ «Ձեր թվերի գումարը ՝»: Օգտագործեք երկուսի դեպքում գրելու գործառույթը: Ձեր ամբողջ ծածկագիրը այժմ պետք է ունենա հետևյալ տեսքը.
ծրագիր addmany բազմաթիվ անուղղակի ոչ մի իրական թվեր (10) իրական թվերԱմբողջ թիվ i numSum = 0 գրել (*, *) «Մուտքագրեք 10 թիվ.» կարդալ (*, *) թվերը ՝ 1 i = 1, 10 numSum = numSum + թվեր (i) 1 շարունակել գրել (*, *) «Նրանց գումարը հետևյալն է.» Գրել (*, *) numSum ծրագրի ավարտը addmany
Քայլ 6. Կազմեք և գործարկեք ձեր կոդը:
Մի մոռացեք փորձարկել այն: Կարող եք կամ սեղմել ↵ Մուտքագրեք յուրաքանչյուր համարը մուտքագրելուց հետո, կամ նույն տողում մուտքագրեք բազմաթիվ թվեր և դրանք առանձնացրեք բացատով:
Մաս 4 -ից 4 -ը. Ընդլայնված հասկացությունների ըմբռնում
Քայլ 1. Լավ պատկերացրեք, թե ինչ է անելու ձեր ծրագիրը:
Մտածեք, թե ինչպիսի տվյալներ են անհրաժեշտ որպես մուտքագրում, ինչպես կառուցել ելքը և ներառել որոշ միջանկյալ ելք, որպեսզի կարողանաք վերահսկել ձեր հաշվարկի ընթացքը: Սա շատ օգտակար կլինի, եթե գիտեք, որ ձեր հաշվարկը կտևի երկար ժամանակ կամ ներառում է բազմաթիվ բարդ քայլեր:
Քայլ 2. Գտեք Fortran- ի լավ տեղեկանք:
Fortran- ն ունի շատ ավելի շատ գործառույթներ, քան նկարագրված է այս հոդվածում, և դրանք կարող են օգտակար լինել այն ծրագրի համար, որը ցանկանում եք գրել: Տեղեկագիրը թվարկում է բոլոր գործառույթները, որոնք ունի ծրագրավորման լեզուն: Սա մեկն է Fortran 77 -ի համար և սա մեկը Fortran 90/95 -ի համար:
Քայլ 3. Իմացեք ենթածրագրերի և գործառույթների մասին:
Քայլ 4. Իմացեք, թե ինչպես կարդալ և գրել ֆայլերից/ֆայլերին:
Նաև սովորեք, թե ինչպես ձևակերպել ձեր մուտքը/ելքը:
Քայլ 5. Իմացեք Fortran 90/95 և ավելի նոր գործառույթների մասին:
Բաց թողեք այս քայլը, եթե գիտեք, որ դուք գրելու/պահպանելու եք միայն Fortran 77 ծածկագիրը:
Հիշեք, որ Fortran 90 -ը ներկայացրեց «Ազատ ձև» աղբյուրի կոդը ՝ թույլ տալով ծածկագիրը գրել առանց բացատների և առանց 72 նիշերի սահմանափակման:
Քայլ 6. Կարդացեք կամ փնտրեք գիտական ծրագրավորման վերաբերյալ որոշ գրքեր:
Օրինակ, «Թվային բաղադրատոմսեր Ֆորտրանում» գիրքը և՛ լավ տեքստ է գիտական ծրագրավորման ալգորիթմների վերաբերյալ, և՛ լավ ներածություն, թե ինչպես կարելի է համատեղել կոդերը: Վերջին հրատարակությունները ներառում են գլուխներ, թե ինչպես ծրագրել խառը լեզվով միջավայրում և զուգահեռ ծրագրավորում: Մեկ այլ օրինակ է «Fortամանակակից ֆորտրանը պրակտիկայում», որը գրել է Արյեն Մարկուսը: Գիրքը տալիս է պատկերացում, թե ինչպես գրել 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 = 1» ՝ դրան արժեք տալու համար: Բայց դա վատ ոճ է, այնպես որ խուսափեք դրանից: Ավելի կարևոր է, որ Ֆորտրանը թքած ունի նաև գործառույթների և հայտարարությունների գործի վրա: Բավականին տարածված է գործառույթներ և հայտարարություններ գրել մեծատառով և փոփոխականներ փոքրատառերով:
- EMACS- ը լավ անվճար տեքստային խմբագիր է, որը կարող է օգտագործվել Notepad- ի փոխարեն:
- Հնարավոր է, որ սկզբում ավելի հեշտ լինի օգտագործել առցանց IDE (ինտեգրված զարգացման միջավայր): Լավ տարբերակ է Coding Ground- ը: Այնտեղ կգտնեք ծրագրավորման բազմաթիվ լեզուներ, ներառյալ Fortran-95- ը: Մեկ այլ տարբերակ Ideone- ն է: