Dyrektywa EQUIVALENCE
Download
1 / 7

Dyrektywa EQUIVALENCE - PowerPoint PPT Presentation


  • 175 Views
  • Uploaded on

Dyrektywa EQUIVALENCE. EQUIVALENCE ( lista_1 ), ( lista_2 ),…, ( lista_n ) REAL A, B, C EQUIVALENCE (B, C, A)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Dyrektywa EQUIVALENCE' - jenski


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Dyrektywa EQUIVALENCE

EQUIVALENCE (lista_1), (lista_2),…, (lista_n)

REAL A, B, C

EQUIVALENCE (B, C, A)

Dyrektywa EQUIVALENCE powoduje utworzenie aliasu lub aliasów zmiennej, która jest wymieniona na liście jako pierwsza pod inną nazwą. Żaden z tych aliasów nie może być elementem obszaru wspólnego. W przypadku tablicy podaje się pierwszy z aliasowanych elementów oraz pierwszy element aliasu, co umożliwia wygodne żonglowanie kształtem tablicy lub przyporządkowanie tej samej tablicy wielu aliasów.

W podanym przykładzie tworzymy aliasy zmiennej B o nazwach C i A. Operacja na którejkolwiek z tych zmiennych będzie skutkowała zmianą dwóch pozostałych. Tylko zmienna B może być elementem obszaru wspólnego.


Przykład bardziej zaawansowany:

COMMON /VECCOM/ X(12)

DIMENSION Y(3), P(3), Q(3)

EQUIVALENCE (X(4),Y(1)), (X(7),P(1)), (X(10),Q(1))

Aliasy dwuwymiarowe tablic jednowymiarowych:

DOUBLE PRECISION A1(9),B1(9),MATA(3,3),MATB(3,3)

EQUIVALENCE (A1(1),MATA(1,1)),(B1(1),MATB(1,1))

Przykład zastosowaniu dyrektywy EQUIVALENCE przy inicjalizacji elementów tablic.


Dyrektywa INCLUDE

Dyrektywa INCLUDE służy do wstawienia do w dane miejsce programu pliku o zaspecyfikowanej nazwie. Jest ona bardzo wygodna, jeżeli program składa się z wielu segmentów, które zawierają wspólne deklaracje i dużo obszarów wspólnych.

Składnia:

INCLUDE “nazwa_pliku”

lub

INCLUDE ‘nazwa_pliku’

Przykład: Plik cluster.f oraz pliki włączane parcom.dat i sizeclust.dat

Domyślnie pliki włączane muszą być w katalogu, w którym kompilujemy o ile nazwa nie zawiera ścieżki dostępu. Można to zmienić dodając opcję –Iścieżka_dostępu do linii poleceń kompilacji.


Procedura GETARG i funkcja IARGC

CALL GETARG(nr_argumentu_linii_poleceń,argument)

gdzie nr_argumentu_linii_poleceń jest numerem kolejnego argumentu linii polecenia a argument jest zmienną tekstową, w której będzie zapamiętany dany argument linii polecenia. Liczba argumentów linii polecenia jest dana przez funkcję IARGC()

Procedura GETENV

CALL GETENV(klucz,wartość)

gdzie klucz jest nazwą a wartość wartością danej zmiennej środowiskowej.


Przykład (GETARG oraz IARGC):

program prog

character*8 argument(10)

liczba_argumentow=iargc()

do i=1,liczba_argumentow

call getarg(i,argument(i))

enddo

print *,"liczba argumentow",liczba_argumentow

do i=1,liczba_argumentow

print *,"argument ",i,” “,argument(i)

enddo

stop

end


Przykład (GETENV):

program progenv

character*16 shell

call getenv("SHELL",shell)

print *,"Uzywam powloki ",shell

stop

end


Procedura FDATE

CHARACTER*24 data_i_czas

CALL FDATE(data_i_czas)

Gdzie data_i_czas jest zmienną tekstową zawierającą datę i czas w formacie:

dzień miesiąc godzina:minuty:sekundy rok

np. Fri Dec 7 13:45:03 2007

Procedura SYSTEM

CALL SYSTEM(wielkość_tekstowa)

Gdzie wielkość_tekstowa jest łańcuchen tekstowym stanowiącym polecenie systemu operacyjnego. Wywołanie procedury SYSTEM spowoduje wykonanie tego polecenia jako oddzielnego procesu.


ad