Array ( [0] => 15482293 [id] => 15482293 [1] => cswiki [site] => cswiki [2] => Fortran [uri] => Fortran [3] => IBM Blue Gene P supercomputer.jpg [img] => IBM Blue Gene P supercomputer.jpg [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 1 [has_content] => 1 [12] => Fortran je jedním z nejstarších a nejvýznamnějších programovacích jazyků, který byl vyvinut v 50. letech 20. století. Jeho název je zkratkou pro "Formula Translation", což vystihuje jeho primární zaměření na vědecké a inženýrské výpočty. Fortran se stal oblíbeným jazykem mezi vědci a inženýry díky své efektivitě a schopnosti zpracovávat složité matematické výrazy a algoritmy. Od svého vzniku se Fortran neustále vyvíjí a přizpůsobuje moderním potřebám, což je důkazem jeho odolnosti a užitečnosti v oblasti programování. Novější verze jazyka, například Fortran 90, 95 a další, přinesly celou řadu vylepšení, jako je podpora modulárního programování, zlepšení práce s poli a robustnější způsoby, jak správně spravovat paměť. Tyto změny umožnily Fortranu zůstat relevantním i v dnešním dynamickém světě technologií. Fortran je široce využíván v oblastech jako jsou fyzika, meteorologie, inženýrství a analýza dat. Jeho rychlost a efektivita ho činí ideálním volbou pro náročné výpočty, jako jsou simulace a modelování. Mnoho stávajících vědeckých knihoven a nástrojů je s Fortranem kompatibilních, což dále rozšiřuje jeho možnosti. Komunita vývojářů a vědců kolem Fortranu je aktivní a ochotná sdílet znalosti, což přispívá k jeho dlouhověkosti. I když se jazyk může zdát archaický při porovnání s moderními programovacími jazyky, jeho specializované funkce a výhody z něj činí cenný nástroj pro odborníky v mnoha oblastech. Fortran tedy ukazuje, jak může být i starší technologie přizpůsobena novým časům a udržet si svou hodnotu jako silný a funkční jazyk pro komplexní výpočty a analýzy. Je symbolem vytrvalosti a přizpůsobivosti v rychle se měnícím světě programování. [oai_cs_optimisticky] => Fortran je jedním z nejstarších a nejvýznamnějších programovacích jazyků, který byl vyvinut v 50. letech 20. století. Jeho název je zkratkou pro "Formula Translation", což vystihuje jeho primární zaměření na vědecké a inženýrské výpočty. Fortran se stal oblíbeným jazykem mezi vědci a inženýry díky své efektivitě a schopnosti zpracovávat složité matematické výrazy a algoritmy. Od svého vzniku se Fortran neustále vyvíjí a přizpůsobuje moderním potřebám, což je důkazem jeho odolnosti a užitečnosti v oblasti programování. Novější verze jazyka, například Fortran 90, 95 a další, přinesly celou řadu vylepšení, jako je podpora modulárního programování, zlepšení práce s poli a robustnější způsoby, jak správně spravovat paměť. Tyto změny umožnily Fortranu zůstat relevantním i v dnešním dynamickém světě technologií. Fortran je široce využíván v oblastech jako jsou fyzika, meteorologie, inženýrství a analýza dat. Jeho rychlost a efektivita ho činí ideálním volbou pro náročné výpočty, jako jsou simulace a modelování. Mnoho stávajících vědeckých knihoven a nástrojů je s Fortranem kompatibilních, což dále rozšiřuje jeho možnosti. Komunita vývojářů a vědců kolem Fortranu je aktivní a ochotná sdílet znalosti, což přispívá k jeho dlouhověkosti. I když se jazyk může zdát archaický při porovnání s moderními programovacími jazyky, jeho specializované funkce a výhody z něj činí cenný nástroj pro odborníky v mnoha oblastech. Fortran tedy ukazuje, jak může být i starší technologie přizpůsobena novým časům a udržet si svou hodnotu jako silný a funkční jazyk pro komplexní výpočty a analýzy. Je symbolem vytrvalosti a přizpůsobivosti v rychle se měnícím světě programování. ) Array ( [0] => {{Infobox - programovací jazyk [1] => | název = Fortran [2] => | logo = [3] => | paradigma = [[Programovací_paradigma#Multiparadigmatick.C3.A9_programovac.C3.AD_jazyky|multiparadigmatický]]: [[Strukturované programování|strukturovaný]], [[Imperativní programování|imperativní]] (procedurální, [[Objektově orientované programování|objektově orientovaný]]), [[Generické programování|generický]] [4] => | vznik = roce 1957 [5] => | autor = [[John Backus]] [6] => | vývojář = [[John Backus]] a [[IBM]] [7] => | poslední verze = Fortran 2008 (ISO/IEC 1539-1:2010) [8] => | datum poslední verze = 2010 [9] => | poslední testovací verze = [10] => | datum poslední testovací verze = [11] => | typování = [12] => | implementace = Absoft, [[Cray]], [[GFortran]], [[G95]], [[IBM]] [[XL Fortran]], [[Intel Fortran Compiler|Intel]], [[Hitachi]], Lahey/Fujitsu, [[Numerical Algorithms Group]], [[Open Watcom]], PathScale, PGI, Silverfrost, [[Oracle Developer Studio]], Visual Fortran a další [13] => | dialekty = [14] => | ovlivněno = [[Speedcoding]] [15] => | ovlivnil = ALGOL 58, [[BASIC]],
[[PL/I]], [[C (programovací jazyk)|C]] [16] => | operační systém = [17] => | licence = [18] => | web = [19] => }} [20] => '''Fortran''' ([[Akronym|akronymická zkratka]] z [[Angličtina|anglického]] '''FOR'''mula a '''TRAN'''slator – překladač vzorců) je v [[Informatika|informatice]] [[Imperativní programování|imperativní]] [[programovací jazyk]], který v [[1950–1959|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ály|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. [21] => [22] => 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 [[Pole (datová struktura)|datová pole]] (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?}}. [23] => [24] => 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). [25] => [26] => == Historie == [27] => [[Soubor:IBM_704_mainframe.gif|vpravo|náhled|320px|[[Sálový počítač]] [[IBM 704]] v národní laboratoři Lawrence Livermore (LLNL)]] [28] => [[Soubor:FortranCardPROJ039.agr.jpg|vpravo|náhled|Kód jazyku Fortran na [[děrný štítek|děrném štítku]], je na něm vidět využití vyhrazených, speciálních sloupců 1–6 a 73–80]] [29] => Vývoj FORTRANu započal v roce 1953, kdy se [[John Backus|John W. Backus]] zavázal u [[IBM]] k vytvoření efektivnější alternativy k [[Jazyk symbolických adres|jazyku symbolických adres]] pro programování jejich sálového počítače [[IBM 704|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. [30] => [31] => 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 [[Překladač|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. [32] => [33] => 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.“ [34] => [35] => Jazyk byl široce používán vědci pro psaní numericky náročných programů. Zároveň se objevovaly [[Překladač|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. [36] => [37] => 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|IBM 709]], [[IBM 650|650]], [[IBM 1620|1620]] a [[IBM 7090|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. [38] => [39] => 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. [40] => [41] => 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ů. [42] => [43] => 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í. [44] => [45] => 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. [46] => [47] => 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. [48] => [49] => Počáteční vydání FORTRAN pro IBM 704 obsahoval 32 příkazů, a to včetně: [50] => [51] => * příkazy DIMENSION a EQUIVALENCE [52] => * Příkaz přiřazení [53] => * 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é [54] => * 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 [55] => * GOTO, vypočítané GOTO, ASSIGN a přiřazené GOTO [56] => * DO [57] => * Formátovaný vstup a výstup: FORMAT, READ, READ INPUT TAPE, WRITE, WRITE OUTPUT TAPE, PRINT a PUNCH [58] => * Neformátovaný vstup a výstup: READ TAPE, READ DRUM, WRITE TAPE a WRITE DRUM [59] => * Ostatní příkazy pro vstup a výstup: END FILE, REWIND a BACKSPACE [60] => * PAUSE, STOP a CONTINUE [61] => * příkaz FREQUENCY (poskytuje kompilátoru údaje pro optimalizaci) [62] => [63] => === Jednoduchý program ve FORTRAN II === [64] => Tento program pro Heronovu formuli č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 [[Datový typ#Re.C3.A1ln.C3.A9 .C4.8D.C3.ADslo|float]]). [65] => [66] => [67] => C AREA OF A TRIANGLE WITH A STANDARD SQUARE ROOT FUNCTION [68] => C INPUT - CARD READER UNIT 5, INTEGER INPUT [69] => C OUTPUT - LINE PRINTER UNIT 6, REAL OUTPUT [70] => C INPUT ERROR DISPLAY ERROR OUTPUT CODE 1 IN JOB CONTROL LISTING [71] => READ INPUT TAPE 5, 501, IA, IB, IC [72] => 501 FORMAT (3I5) [73] => C IA, IB, AND IC MAY NOT BE NEGATIVE [74] => C FURTHERMORE, THE SUM OF TWO SIDES OF A TRIANGLE [75] => C IS GREATER THAN THE THIRD SIDE, SO WE CHECK FOR THAT, TOO [76] => IF (IA) 777, 777, 701 [77] => 701 IF (IB) 777, 777, 702 [78] => 702 IF (IC) 777, 777, 703 [79] => 703 IF (IA+IB-IC) 777,777,704 [80] => 704 IF (IA+IC-IB) 777,777,705 [81] => 705 IF (IB+IC-IA) 777,777,799 [82] => 777 STOP 1 [83] => C USING HERON'S FORMULA WE CALCULATE THE [84] => C AREA OF THE TRIANGLE [85] => 799 S = FLOATF (IA + IB + IC) / 2.0 [86] => AREA = SQRT( S * (S - FLOATF(IA)) * (S - FLOATF(IB)) * [87] => + (S - FLOATF(IC))) [88] => WRITE OUTPUT TAPE 6, 601, IA, IB, IC, AREA [89] => 601 FORMAT (4H A= ,I5,5H B= ,I5,5H C= ,I5,8H AREA= ,F10.2, [90] => + 13H SQUARE UNITS) [91] => STOP [92] => END [93] => [94] => [95] => == Ukázky kódu == [96] => [97] => === Program Average (průměr) === [98] => [99] => [100] => ! Read in some numbers and take the average [101] => ! As written, if there are no data points, an average of zero is returned [102] => ! While this may not be desired behavior, it keeps this example simple [103] => [104] => implicit none [105] => [106] => real, dimension(:), allocatable :: points [107] => integer :: number_of_points [108] => real :: average_points=0., positive_average=0., negative_average=0. [109] => [110] => write (*,*) "Input number of points to average:" [111] => read (*,*) number_of_points [112] => [113] => allocate (points(number_of_points)) [114] => [115] => write (*,*) "Enter the points to average:" [116] => read (*,*) points [117] => [118] => ! Take the average by summing points and dividing by number_of_points [119] => if (number_of_points > 0) average_points = sum(points) / number_of_points [120] => [121] => ! Now form average over positive and negative points only [122] => if (count(points > 0.) > 0) then [123] => positive_average = sum(points, points > 0.) / count(points > 0.) [124] => end if [125] => [126] => if (count(points < 0.) > 0) then [127] => negative_average = sum(points, points < 0.) / count(points < 0.) [128] => end if [129] => [130] => deallocate (points) [131] => [132] => ! Print result to terminal [133] => write (*,'(a,g12.4)') 'Average = ', average_points [134] => write (*,'(a,g12.4)') 'Average of positive points = ', positive_average [135] => write (*,'(a,g12.4)') 'Average of negative points = ', negative_average [136] => [137] => end program average [138] => [139] => [140] => == Vlastnosti == [141] => Na počátku jazyk vyžadoval precizní formátování [[zdrojový kód|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. [142] => [143] => == Aktuální verze == [144] => [145] => === Fortran 2008 === [146] => 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: [147] => * [[Co-array Fortran]] – model paralelního výpočtu [148] => * datový typ [[bit|BIT]] [149] => [150] => == Přenositelnost == [151] => 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í [[National Institute of Standards and Technology|NIST]]). [152] => [153] => 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. [154] => [155] => == Externí odkazy == [156] => * {{Commonscat}} [157] => * [http://www.root.cz/serialy/fortran-pro-vsechny Seriál Fortran pro všechny] na [[Root.cz]] [158] => [159] => {{Programovací jazyky}} [160] => {{Autoritní data}} [161] => [162] => [[Kategorie:Programovací jazyky]] [163] => [[Kategorie:Objektově orientované programovací jazyky]] [] => )
good wiki

Fortran

Fortran (akronymická zkratka z anglického FORmula a TRANslator - překladač vzorců) je v informatice imperativní programovací jazyk, který v 50. letech 20.

More about us

About

letech 20. století. Jeho název je zkratkou pro "Formula Translation", což vystihuje jeho primární zaměření na vědecké a inženýrské výpočty. Fortran se stal oblíbeným jazykem mezi vědci a inženýry díky své efektivitě a schopnosti zpracovávat složité matematické výrazy a algoritmy. Od svého vzniku se Fortran neustále vyvíjí a přizpůsobuje moderním potřebám, což je důkazem jeho odolnosti a užitečnosti v oblasti programování. Novější verze jazyka, například Fortran 90, 95 a další, přinesly celou řadu vylepšení, jako je podpora modulárního programování, zlepšení práce s poli a robustnější způsoby, jak správně spravovat paměť. Tyto změny umožnily Fortranu zůstat relevantním i v dnešním dynamickém světě technologií. Fortran je široce využíván v oblastech jako jsou fyzika, meteorologie, inženýrství a analýza dat. Jeho rychlost a efektivita ho činí ideálním volbou pro náročné výpočty, jako jsou simulace a modelování. Mnoho stávajících vědeckých knihoven a nástrojů je s Fortranem kompatibilních, což dále rozšiřuje jeho možnosti. Komunita vývojářů a vědců kolem Fortranu je aktivní a ochotná sdílet znalosti, což přispívá k jeho dlouhověkosti. I když se jazyk může zdát archaický při porovnání s moderními programovacími jazyky, jeho specializované funkce a výhody z něj činí cenný nástroj pro odborníky v mnoha oblastech. Fortran tedy ukazuje, jak může být i starší technologie přizpůsobena novým časům a udržet si svou hodnotu jako silný a funkční jazyk pro komplexní výpočty a analýzy. Je symbolem vytrvalosti a přizpůsobivosti v rychle se měnícím světě programování.

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'IBM','John Backus','Imperativní programování','Překladač','Soubor:IBM_704_mainframe.gif','Soubor:FortranCardPROJ039.agr.jpg','objektově orientované programování','IBM 650','Jazyk symbolických adres','zdrojový kód','Verzály','superpočítač'