Přejít na hlavní obsah

Jak odvodit pole Fortran: jednoduchý a efektivní způsob

V důsledku provedení tohoto kódu uvidíte, že všechny prvky pole A byly zobrazeny na obrazovce.

Níže je uveden příklad kódu, který ukazuje, jak dostat pole na obrazovku:

program print_arrayimplicit noneinteger, dimension(5) :: array = [1, 2, 3, 4, 5]integer :: ido i = 1, 5print *, array(i)end doend program print_array

Při spuštění programu uvidíte následující výsledek:

12345
  • Umožňuje vidět hodnoty prvků pole v čitelném formátu, což erleichtert vývoj a ladění programu.
  • Umožňuje porovnat očekávané a skutečné hodnoty, porovnat výsledky programu s očekávanými hodnotami.
  • Umožňuje sledovat provádění cyklů a dalších algoritmických konstrukcí, zajistit, aby program fungoval správně.
  • Umožňuje sledovat změnu hodnot prvků pole během provádění programu, což je zvláště důležité při ladění složitých algoritmů.

Jak oznámíte a vyplníte pole Fortran?

Pro vyhlášení pole se v programovacím jazyce Fortran používá klíčové slovo dimension . Umožňuje určit velikost pole a jeho typ dat.

Chcete-li například vyhlásit jednorozměrné pole celých čísel s 5 prvky, musíte zadat následující kód:

integer, dimension(5) :: myArray

Nyní bude pole myArray obsahovat 5 prvků typu integer .

K vyplnění pole ve Fortranu lze použít cyklus do . Pomocí tohoto cyklu můžete procházet všemi prvky pole a přiřadit jim hodnoty.

Chcete-li například vyplnit pole myArray čísly od 1 do 5, můžete zadat následující kód:

do i = 1, 5myArray(i) = iend do

V důsledku toho bude pole myArray obsahovat čísla od 1 do 5.

Než použijeme cyklus, musíme pole identifikovat a inicializovat. Ve Fortranu se to provádí následovně:

integer, dimension(5) :: arrarr = (/1, 2, 3, 4, 5/)

Po inicializaci pole můžeme použít cyklus do pro přeskupení jeho prvků:

do i = 1, size(arr)write(*,*) arr(i)end do

V tomto příkladu používáme proměnnou i Chcete-li přeskupit prvky pole v pořadí. Funkce size vrací velikost pole, takže cyklus bude proveden tolikrát jako prvky v poli.

program print_arrayimplicit noneinteger, parameter :: n = 3, m = 4integer :: i, jreal :: array(n, m)! Инициализация массива значениямиdo i = 1, ndo j = 1, marray(i, j) = i + jend doend dodo i = 1, ndo j = 1, mwrite(*, '(F6.2)', advance='no') array(i, j)end dowrite(*, *)end doend program print_array
2.00 3.00 4.00 5.003.00 4.00 5.00 6.004.00 5.00 6.00 7.00

Výsledný výsledek je tabulka čísel, kde každé číslo odpovídá hodnotě prvku pole array .

implicit noneinteger :: iinteger, parameter :: N = 10integer :: массив(N) = (/1, 2, 3, 4, 5, 6, 7, 8, 9, 10/)do i = 1, Nprint*, массив(i)end do

Pomocí vestavěných funkcí Fortran lze tedy pole snadno a efektivně přenést do konzole.