FORTRAN är en dator programmeringsspråk som används främst inom matematik och ingenjörsstudier . Liksom andra processuella språk , är det till stor del uppbyggd kring skapandet och upprepad användning av uppsättningar av instruktioner kallas "funktioner" och " subrutiner . " I FORTRAN dessa två typer är distinkta - principiellt olika i det att funktioner producerar endast ett värde som ett resultat, medan subrutiner kan producera många. Grunderna
Funktioner och subrutiner är lika i att de båda uppsättningarna av instruktioner som ges namn så att de kan vara " kallade" och exekveras från varje punkt i koden . FORTRAN levereras med en uppsättning av prewritten funktioner för att utföra matematiska operationer som att hitta en kvadratroten eller ett absolut värde , så att i stället för att skriva ut alla steg i en sådan operation varje gång de behövs , kan en programmerare helt enkelt ringa relevant funktion och ge den vad input hon vill . Förutom dessa inbyggda funktioner , kan en programmerare skriva sina egna funktioner och subrutiner för att utföra vad verksamheten han finner användbar .
Funktioner
En funktion i Fortran är en process som tar ett eller flera värden som indata och producerar ett värde som utdata . Till exempel finner standard FORTRAN funktionen ROT kvadratroten av dess input och returnerar resultatet som output:
X = ROT ( A + B ) katalog
Detta uttalande skickar värdet " A + B " - resultatet av att lägga till värden i A- och B- variabler - till ROT -funktionen , och tilldelar resultatet till variabeln X . Om A hade ett värde på 3 och B hade ett värde på ett , till exempel, skulle ovanstående uttalande tilldela ett värde av 2 till X - kvadratroten av 3 1
Multi - Variabelfunktioner
funktioner kan ta mer än en variabel som indata . MAX- funktionen , till exempel returnerar det högsta värdet bland dem är det givet , så :
M = MAX ( X , Y , Z , 10 ) katalog
skulle tilldela M vilket som är störst av värdena på X , Y och Z - om inte alla tre värden är mindre än 10 , i vilket fall funktionen returnerar " 10 " ska tilldelas M. Addera subrutiner
funktioner returnerar endast ett värde - så att frasen " ROT ( 4 ) " är funktionellt likvärdig med siffran "2 " , och kan användas i matematiska uttryck precis som " 2 " skulle vara - subrutiner kan återvända många värden , och kan inte användas i uttryck . Istället är subrutiner enkelt utföras med CALL kommandot , som så :
CALL TOTALT ( 1,2,3 , SUM ) katalog
Detta utför en subrutin som heter TOTAL och skickar det siffrorna 1 , 2 , och 3 , och variabeln SUM . Den TOTAL subrutin sig kan se ut så här :
SUBROUTINE TOTALT (X , Y, Z , S ) katalog
REAL X, Y, Z , S
S = X + Y + Z
RETURN
END
den första raden definierar här subrutinen : det kallas TOTALT , och förväntar fyra värden när det kallas, som tilldelar variabler X , Y , Z , och S. den andra raden deklarerar dessa fyra variabler som reella tal , sätter den tredje raden S till det sammanlagda värdet av X , Y och Z , och den tredje raden hoppar ut ur en subrutin och återvänder till den punkt i koden där det hette . I fallet med anropet linjen ovan skulle TOTAL tilldela värden på 1 , 2 , och 3 till X , Y och Z , och sedan tilldela den totala - 6 - till S, som motsvarar summan variabeln i samtalet linje. Effekten av " CALL TOTAL ( 1,2,3 , SUM ) " linje , kommer därför att vara att sätta SUM variabeln till 6 .