Strojové učení - Wikipedie
Strojové učení je podoblastí umělé inteligence, zabývající se algoritmy a technikami, které umožňují počítačovému systému 'učit se'. Učením v daném kontextu ...
Fortran
Graphics Processing Unit ( GPU) je systém procesorů implementovaných na grafické kartě, původně určený především pro běh počítačových her, kladoucích velké nároky na výpočetní výkon. Na rozdíl od CPU majících k dispozici maximálně 8 nebo 16 výpočetních vláken, GPU jich může využívat až např. 2 048. Pro algoritmizaci učení se pak může užít tzv. CUDA platforma, umožňující programovat v jazycích C++ resp. <anchor>Fortran</anchor>, která umožní díky velkému počtu dostupných výpočetních vláken vysoký stupeň paralelizace výpočtu, čímž zvýší výpočetní výkon strojového učení.
Fortran – Wikipedie
Hlavní menu

Hlavní menu

přesunout do postranního paneluskrýt

Navigace

Hledat

Vzhled

Osobní nástroje

## Obsah

přesunout do postranního paneluskrýt

Přepnout obsah

# Fortran

77 jazyků

čeština

Nástroje

Nástroje

přesunout do postranního paneluskrýt

Akce

Obecné

Tisk/export

Na jiných projektech

Vzhled

přesunout do postranního paneluskrýt

Z Wikipedie, otevřené encyklopedie

PL/I, C "C (programovací jazyk)")

Fortran ( akronymická zkratka z anglického FOR mula a TRAN slator – překladač vzorců) je v informatice imperativní programovací jazyk, který v 50. letech 20. století navrhla firma IBM pro vědecké výpočty a numerické aplikace. Zpočátku byl označován jako FORTRAN ( verzálami), ale od verze Fortran 90 se přešlo na označení Fortran. Kolem roku 1960 firma IBM doporučovala Fortran zapisovat jako FØRTRAN. V současné době se především používá pro: výpočty drah raket, turbulencí ve 3D, Fourierův rozvoj, Fourierovu transformaci, vývoj počasí, elektroinženýrství, fyzikální chemii a částicovou fyziku.

Fortran se brzy stal jedničkou mezi programovacími jazyky a více než půl století se využíval například pro výpočty předpovědi počasí, analýzu pevných částic a další fyzikální a chemické výpočty. V novějších verzích Fortranu se postupně objevovaly různé nové vlastnosti, jako například podpora pro datová pole "Pole (datová struktura)") (Fortran 90/95), objektově orientované programování a generické programování (Fortran 2003). Je to jeden z nejpopulárnějších jazyků v oblasti vysoce výkonných počítačů a je to jazyk, který se využívá v programech na nejrychlejších superpočítačích světa[ zdroj?].

Fortran zahrnuje několik různých verzí a každá z nich obsahuje několik vylepšení v jazyce. Obvykle jsou kompatibilní s předchozími verzemi. Po sobě jdoucí verze mají podporu pro strukturované programování a zpracovávání znakových dat (FORTRAN 77), programování polí, modulární programování a také generické programování (FORTRAN 90). Dále pak vysoce výkonný Fortran (FORTRAN 95), objektově-orientované programování (FORTRAN 2003) a souběžné programování (FORTRAN 2008).

## Historie

 Sálový počítač IBM 704 v národní laboratoři Lawrence Livermore (LLNL) Kód jazyku Fortran na děrném štítku, je na něm vidět využití vyhrazených, speciálních sloupců 1–6 a 73–80

Vývoj FORTRANu započal v roce 1953, kdy se John W. Backus zavázal u IBM k vytvoření efektivnější alternativy k jazyku symbolických adres pro programování jejich sálového počítače IBM 704 a také pro přiblížení programování širší laické veřejnosti. Backusův původní tým, který pracoval na FORTRANu se skládal z programátorů: Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt a David Sayre.

Prvotním plánem bylo vytvořit nový jazyk za méně než šest měsíců. Vývoj se ovšem protáhl na několik let. Tento tým vytvořil první použitelnou verzi kompilátoru FORTRAN v polovině roku 1954. První příručka k programovacímu jazyku FORTRAN se objevila v říjnu 1956 a jazyk samotný byl ve finální verzi představen na Western Joint Computer Conference v Los Angeles v dubnu 1957. Veřejnost tehdy fungovala jako pokusní králíci, dostala za úkol vyřešit příklad v assembleru a poté s pomocí FORTRANu. Komunita byla zpočátku velmi skeptická, že by Fortran mohl překonat ruční kódování. Veřejnost nebyla ochotna používat vysokoúrovňový programovací jazyk, ledaže jeho kompilátor by vygeneroval takový kód, který by byl srovnatelný s ručně psaným kódem v assembleru. Bylo prokázáno, že kód byl rychlejší a elegantnější než v assembleru.

V roce 1979 J. Backus poskytl časopisu Think interview, kde prohlásil: „Většina mé práce vzešla z toho, že jsem líný. Neměl jsem rád psaní programů a tak, když jsem pracoval na IBM 701 a psaní programů pro výpočet dráhy raketové střely, začal jsem pracovat na programovacím systému, který mi usnadnil psát programy.“

Jazyk byl široce používán vědci pro psaní numericky náročných programů. Zároveň se objevovaly kompilátory, které generují rychlejší kód. Postupně se objevilo několik standardů jazyka, jako například FORTRAN IV a FORTRAN 66, FORTRAN 77, Fortran 90, Fortran 95 který v sobě přinášel především větší možnosti na programování souběžného zpracování úloh a práci s poli, Fortran 2000, Fortran 2003 a Fortran 2008.

IBM vydala verze Fortran II (zavedení podprogramů a oddělených překladů), III (kombinace assembleru a zdrojového kódu Fortranu, nikdy se nedostal veřejnosti) a IV. Velkým mezníkem v pokroku byl vznik ANSI standardu Fortranu v roce 1966, pojmenovaný Fortran 66. Kolem roku 1960 byly dostupné verze FORTRANu pro počítače IBM 709, 650, 1620 a 7090. Jeho narůstající popularita způsobila, že do roku 1963 již existovalo 40 kompilátorů jazyka FORTRAN pro různé počítače. Proto je Fortran považován za první široce používání programovací jazyk podporovaný napříč mnoha počítačovými architekturami. Kompilátorů Fortranu je velké množství. Například Absoft nebo Lahey/Fujitsu Fortran. Z volně šiřitelných třeba Open Watcom. Některé vznikaly speciálně jen pro potřeby Fortranu.

Prvním kompilátorem Fortranu byl ten na mainframu IBM 704; všechny programy se tehdy psaly na děrné štítky. S příchodem magnetických médií se délka řádku výrazně rozšiřovala, tudíž Fortran 77 byl poslední verzí, která děrné štítky obsahovala.

Z tohoto důvodu je Fortran považován za první kompilátor, který byl použitelný na několika počítačových architekturách. V roce 1977 se zrodil Fortran 77 ANSI. Tato verze se stále ještě využívá. Verze Fortran 66 a 77 se staly předlohou pro vývoj dalších programů a kódů.

První verze neměly struktury jako je `THEN`, `ELSE` a `IF`. Používal se hlavně příkaz skoku – `GOTO`, jednoduchý cyklus a `RETURN`. Pracovat s jednoduchým textem bylo obtížné, protože zápisu byl odvozen od formátu děrných štítků. Verze obsahovala ovšem i další funkce. Čtyři základní příkazy pro I/O ve Fortranu jsou: `open`, `close`, `write` a `read` – čtení, zápis, zavírání, otevírání.

Další verzí je Fortran 90, který vznikl v roce 1992. V těchto letech vznikaly i další konkurenční programovací jazyky, např. Pascal a C. Dlouhá pauza mezi verzemi a vývoj ostatních jazyků zapříčinil, že Fortran se převážně využívá jen na numericky složité výpočty a ovládají ho konstruktéři, matematici a inženýři.

Programovací jednotky se tady rozdělily na: modul, funkční proceduru, hlavní program, vnější proceduru a datový typ. Změnil se i typ psaní zdrojového kódu – příkazy mohou začít kdekoliv, délka řádku až 132 znaků, až 39 pokračovacích řádků, více příkazů na jeden řádek, ale oddělené středníkem. Symboly užívané ve zdrojovém programu: velká písmena anglické abecedy, malá písmena anglické abecedy (od velkých písmen se odlišují jen ve znakových řetězcích), znaky, speciální symboly (! " % & ; < > ?) a číslice. Typy dat jsou vnitřní a definované uživatelem.

Počáteční vydání FORTRAN pro IBM 704 obsahoval 32 příkazů, a to včetně:

- příkazy `DIMENSION` a `EQUIVALENCE`
- Příkaz přiřazení
- Trojcestný aritmetický `IF`, který předal řízení na jedno ze tří míst v programu v závislosti na tom, zda výsledek aritmetického výrazu byl negativní, nula, nebo kladné
- příkazy `IF` pro kontrolu výjimek ( `ACCUMULATOR OVERFLOW`, `QUOTIENT OVERFLOW` a `DIVIDE CHECK`) a pro manipulaci s přepínači a kontrolkami na ovládacím panelu počítače
- `GOTO`, vypočítané `GOTO`, `ASSIGN` a přiřazené `GOTO`
- `DO`
- Formátovaný vstup a výstup: `FORMAT`, `READ`, `READ INPUT TAPE`, `WRITE`, `WRITE OUTPUT TAPE`, `PRINT` a `PUNCH`
- Neformátovaný vstup a výstup: `READ TAPE`, `READ DRUM`, `WRITE TAPE` a `WRITE DRUM`
- Ostatní příkazy pro vstup a výstup: `END FILE`, `REWIND` a `BACKSPACE`
- `PAUSE`, `STOP` a `CONTINUE`
- příkaz `FREQUENCY` (poskytuje kompilátoru údaje pro optimalizaci)

### Jednoduchý program ve FORTRAN II

Tento program pro Heronův vzorec čte jednu datovou kartu, která obsahuje tři pětimístná celá čísla A, B a C jako vstup. Pokud A, B a C nemůže reprezentovat strany trojúhelníku v rovinné geometrii, pak program skončí s chybovým kódem `STOP 1`. V opačném případě se výstup řádku vytiskne zobrazující vstupní hodnoty pro A, B a C, následně pro vypočítaný obsah trojúhelníku jako číslo s plovoucí čárkou (datový typ `float`).

## Ukázky kódu

### Program Average (průměr)

### Intel Fortran QuickWin API

## Vlastnosti

Na počátku jazyk vyžadoval precizní formátování zdrojového kódu a bylo nutné používat čísla řádků a výraz `goto`. Tyto nevýhody byly postupně odstraněny novějšími verzemi jazyka.

## Aktuální verze

### Fortran 2008

Zatím poslední verzí je Fortran 2008, jež nahradila verzi Fortran 2003. Od verze Fortran 95 zde došlo jen k drobným úpravám a jedná se spíše o zjednodušení kódu a odladění verze Fortran 2003. V této verzi také přibyly některé módy kompatibility:

## Přenositelnost

Přenositelnost byla pro Fortran problémem hlavně v jeho počátcích, kdy nebyl ještě stanoven žádný standard a dokonce se objevovaly chyby při běhu na strojích postavených dle referenční příručky IBM, neboť někteří výrobci se snažili do svých počítačů přidávat nové funkce, které pak způsobovaly chyby při migraci na nové procesory. Tyto problémy byly odstraněny standardy, které se ustanovily v pozdější době. V roce 1966 byl vydán standard pro syntax a sémantiku, ale i přesto někteří výrobci přidávali do svých programů rozšíření, která nebyla podporována. Ačkoliv si pečlivější programátoři uvědomovali, že nekompatibilní rozšíření přinášejí problémy v podobě špatné přenositelnosti, problémy s přenositelností pokračovaly až do roku 1977, kdy byl vydán standard organizací National Bureau of Standards (nyní NIST).

Při dodržení standardu je ještě i v dnešní době možné (a relativně jednoduché) napsat kompletně přenositený program v jazyce Fortran bez nutnosti použití preprocesoru.

## Externí odkazy

Ada "Ada (programovací jazyk)") • C++ • Common Lisp • D "D (programovací jazyk)") • F# • Go "Go (programovací jazyk)") • Oberon "Oberon (programovací jazyk)") • Perl • PHP • Python • Ruby • Rust "Rust (programovací jazyk)") • Scala "Scala (programovací jazyk)") • Swift "Swift (programovací jazyk)") • Tcl ( Tk) • Vala "Vala (programovací jazyk)")

Gödel "Gödel (programovací jazyk)") • Prolog "Prolog (programovací jazyk)")

výukové

historické

další

Skryté kategorie: