PředmětyPředměty(verze: 806)
Předmět, akademický rok 2017/2018
   Přihlásit přes CAS
Programování ve Fortranu - NPRF017
Anglický název: Fortran Programming
Zajišťuje: Katedra geofyziky (32-KG)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2016
Semestr: zimní
E-Kredity: 3
Rozsah, examinace: zimní s.:2/0 Zk [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština, angličtina
Způsob výuky: prezenční
Další informace: http://geo.mff.cuni.cz/~lh
Garant: RNDr. Ladislav Hanyk, Ph.D.
Kategorizace předmětu: Fyzika > Matematika pro fyziky
Anotace -
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

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ů.
Cíl předmětu -
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

Student plynně programující ve Fortranu 95, chápající Fortran 77 a vyčkávající překladačů Fortranu 2003.

Literatura -
Poslední úprava: RNDr. Ladislav Hanyk, Ph.D. (04.10.2011)

  • Hřebíček J. a kol., FORTRAN 77 a vědeckotechnické výpočty, Academia, 1989
  • Metcalf M., J. Reid, M. Cohen, Modern Fortran Explained, Oxford Science, 2011
  • Press W.H., S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical Recipes in Fortran 77: The Art of Scientific Computing, Second Edition, Cambridge University Press, 1996 (http://www.nr.com)
  • a dále např.
  • http://en.wikipedia.org/wiki/Fortran
  • http://www.fortran.com/fortran/metcalf.htm
  • http://www.root.cz/serialy/fortran-pro-vsechny
  • http://www.pbm.com/~lindahl/real.programmers.html
Metody výuky -
Poslední úprava: RNDr. Ladislav Hanyk, Ph.D. (21.09.2011)

Přednáška a domácí úlohy

Sylabus -
Poslední úprava: RNDr. Ladislav Hanyk, Ph.D. (20.10.2011)

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.

 
Univerzita Karlova | Informační systém UK