Charles Explorer logo
🇨🇿

Programování ve Fortranu

Předmět na Matematicko-fyzikální fakulta |
NPRF017

Sylabus

Proč Fortran? Normy a překladače Fortranu, fortranská literatura, Fortran na internetu. Charakteristické rysy, typické pomluvy.

Přehled pojmů: elementy jazyka, datové typy, konstanty, jména, proměnné, ukazatele, specifikace, příkazy, programové jednotky, formát zdrojového kódu.

Struktura programu: hlavní program, subprogramy, moduly, submoduly, vnořování subprogramů.

Příkazy: přiřazení, podmínky, cykly, skoky, volání procedur, příkazy vstupu a výstupu aj.

Datové typy a podtypy. Specifikace dat, atributy, inicializace. Výrazy: operátory, priorita, typové konverze, standardní procedury. Ostatní specifikace.

Pole: tvar, specifikace. Statická, alokovatelná, automatická a formální pole. Konstruktor pole. Podobnost polí, sekce polí, prvkové funkce a výrazy, standardní procedury pro pole. Cykly a větvení s poli. Možnosti použití alokovatelných polí.

Procedury: funkce a podprogramy. Argumenty procedur, jejich specifikace a předávání, předávání polí, kompatibilita formálních a skutečných argumentů. Vnější, modulové a vnitřní procedury, explicitní rozhraní procedur. Oblast platnosti dat, lokální data, modulová data, globální jména. Rekurzivní, čisté a prvkové procedury, přetěžování procedur.

Vstup a výstup dat: příkazy pro čtení a zápis, formátové specifikace, ediční popisovače. Soubory formátové a bezformátové, přístup do souborů. Práce se znakovým typem.

Ukazatele a cíle. Ukazatelové přiřazení, alokace a dealokace. Ukazatelová pole a pole ukazatelů. Problematické situace.

Struktury a objekty: specifikace odvozeného typu a struktury, konstruktor struktury. Definovaný operátor a přiřazení. Rozšíření odvozeného typu, vázaná procedura, polymorfní proměnná, abstraktní typ, finalizace.

Omezení a zastaralé vlastnosti Fortranu 77, 90 a 95.

Paralelizace ve Fortranu: direktivy OpenMP, procedury MPI. Fortranský PGI akcelerátor pro grafické procesory.

Knihovny numerických metod pro fortranské překladače: LAPACK, Intel MKL, IMSL, NAG, Numerical Recipes.

Anotace

Kurs programovaní v jazyce Fortran. Normy Fortranu 77, 90/95 a 2003.

Práce s překladači pro Microsoft Windows a Linux. Pěstování dobrých návyků.