Úvod do programování ALG110006
KONTAKT jonathan.verner@matfyz.cz http://jonathan.verner.matfyz.cz/vyuka
POŽADAVKY (zimní semestr) Nutno získat 216 bodů! zápočtový test, 144 bodů (50 %) domácí úkoly, 120 bodů (41.6666 %) docházka, 12 bodů (4.1666 %) bonus, 12 bodů (4.1666 %)
PREHISTORIE Antikytera 1900 nalezeno ve vraku 1951 J. de Solla Price počítalo pozici Slunce, Měsíce (možná i dalších planet), fázi měsíce, zatmění 150-100 př. Kr. slunce, data celořeckých her http://www.antikythera-mechanism.gr
PREHISTORIE Abakusy, z hebr. ābāq,(אבק) "prach" Sumerové (2700 př. Kr.), Římané, Číňané, Japonci, Mayové, Indové kalkulovat, z lat calculos Římský Abakus ponere = položit kaménky
PREHISTORIE Římané, Odometr 1620 Logaritmické pravítko 1623 kalkulačka (Schickard, shořela před dokončením) 1642 první mechanická kalkulačka, B. Pascalina Pascal, ještě jako dítě 1820 první komerčně vyráběná kalkulačka, Ch. X. Thomas (uměla +,-,, ) 1963 první komerční celoelektronická kalkulačka, stála 2200 dolarů, uměla +,-,, Curta (1948)
Charles Babbage (1781-1871) osobní život tragický, v jednom roce mu zemřela manželka, otec a syn, jeho projekty zůstaly vesměs nedokončené navrhl difference engine, později analytical engine prolomil Vigenérovu "auto-key" šifru předpověděl důležitost výpočtové složitosti
Difference Engine 1876 J. H. Müller, první "idea" difference enginu 1822 Ch. Babbage, první návrhy, prototyp by vážil 15 tun, byl vysoký 2.4 metru; nebyl nikdy dokončen 1855 Scheutz, postavil několik funkčních DE podle Babbageových plánů, 59 prodal několik exemplářů Britské vládě 1989-91 byl postaven model DE v2 podle Babbageových plánů (metodami dostupnými v 19. stol) ; počítá s přesností na 31 desetinných míst, víc než většina Difference Engine dnešních kalkulaček
Difference Engine některé důležité funkce (log., odmocnina, sinus,...) obecně nelze "spočítat" přesně tyto funkce lze aproximovat polynomy v 19. stol. se tyto funkce vypočítávaly ručně; náročné, velmi chybové difference engine měl tuto práci automatizovat založený na Newtonově metodě dělení rozdílů
Analytical engine nikdy nezkonstruována (nedostatek financí) "parní počítač" první "Turingovsky úplný" stroj první programátorka, hraběnka Adelaida Lovelace Byronová (navrhla program na výpočet Bernoulliho čísel) http://www.fourmilab.ch/babbage/sketch.html
Děrné štítky 1801, J. M. Jacquard, programovatelný tkalcovský stav 1842, princip automatického klavíru, čtoucího noty z děrné pásky
Děrné štítky 1890, Herman Hollerith, výrazně (o několik let) zkrátil a zlevnil zpracování dat ze sčítání lidu v USA používal děrné štítky k ukládání dat; jejich velikost byla dána velikostí amerických bankovek té doby, protože pro ně již existovaly stroje na zpracování založil firmu, ze které později vzniklo IBM pozdější verze "tabulačního stroje" počítaly diferenciální rovnice, za války se používaly ke statistickému zpracování dat pro kryptografii
Analogové počítače αναλογικος (úměrně) Differential analyser 1836, Gaspard-Gustave Coriolis navrhl mechanický přístroj na integrování diferenciálních rovnic prvního řádu 1876, integrování dif. rovnic libovolného řádu, James Thomson (bratr lorda Kelvina) 1912, Differential analyzer použit pro řízení námořních děl britské armády (Arthur Pollen) 1928-31, první šířeji využitelný počítač, na MITu, H. L. Hazen & Vannevar Bush (1936 zaměstnali Clauda Shannona, aby stroj řídil) 1934, postaven model ze stavebnice mecana na Manchesterské univerzitě
Analogové počítače Model ze stavebnice Mecano
Analogové počítače Stroj na výpočet přílivu/odlivu Lord Kelvin (William Thomson) 1872 podobné stroje používány až do 70 let použity např. k výpočtům pro den D. použitá matematika: Newton (teorie gravitace), Laplace (aplikace na příliv a odliv), Laplace, W. Thomson (použití fourrierovy analýzy) je třeba sečíst fourrierovu řadu A 1 cos(ω 1 t +φ 1 ) + A 2 cos(ω 2 t +φ 2 ) +... Stroj na počítání přílivu/odlivu
Analogové počítače
Analogové počítače Další analogové počítače FERMIAC (Enrico Fermi, 1947 studium neutronového přenosu) MONIAC (hydraulický ekonomický model :-) ) Elektrické analogové počítače Hybridní počítače oproti digitálním počítají s reálnými čísly (některé problémy, realisticky neřešitelné digitálními počítači teoreticky lze spočíst analogovými, ale prakticky díky šumu nikoliv) Mark 56 (dělostřelecký zaměřovač, navržen za druhé světové války A. Svobodou)
Antonín Svoboda Vystudoval ČVUT, 1935 získal doktorát, 1936 přešel na ministerstvo obrany, konstruoval automatické zaměřovače pro protiletecké kanóny Utekl před nacisty do francie, kde se dále věnoval konstrukcím; narodily se mu děti, nepodařilo se utéci do anglie, dostal se do Portugalska a pak do USA; jeho kolegovi se podařilo nalodit na loď do UK, ale kolo, v jehož rámu měli schovány plány, musel hodit do moře (měl na vybranou mezi sebou a kolem) spolupracoval v MIT s Johnem von Neumannem, Vannevarem Bushem a Claudem Shannonem 1946 se vrátil do Prahy, vedoucím katedry matematiky na ČVUT, pak odešel a využil nabídky E. Čecha a založil Výzkumný ústav matematických strojů 1950-56 navrhl, 1957-60 zkonstruoval SAPO (samočinný počítač), první Fault-tolerant počítač na světě (tři aritmetické jednotky, výsledek byla shoda dvou, nebo se přepočítal), v porovnání s ENIAC byl dost vyspělý 1964 emigroval přes Jugoslávii do Ameriky, zde se mu hodila medaile, kterou dostal za Mark 56 (jinak by ho vyhodili) A. Svoboda 1907-1980 byl na UCLA profesorem informatiky napsal jednu z prvních učebnic informatiky více viz http://www.vumscomp.cz/svoboda.html
John von Neumann pracoval na atomové bombě, později na vodíkové bombě rozvinul metodu Monte-Carlo simulace navrhl pseudorandom number generator (middle squares method start with 4-digit number, square, pad with 0 to get 8 digits, output middle four and continue), nebyl ideální, ale byl rychlý při práci na EDVACu napsal zprávu, ve které popsal tzv. von Neumannovu architekturu, t.j. program a data jsou uložená v paměti ve stejném místě; (návrh byl částečně založen na předchozí práci Eckerta a Mauchlyho z ENIACu) navrhnul (tvrdí Knuth) merge sort vymyslel cellular automata (ekvivalentní univerzálnímu Turingově stroji) J. von Neumann (1903-1957)
Alan Turing I hope he will not fall between two stools. If he is to stay at Public School, he must aim at becoming educated. If he is to be solely a Scientific Specialist, he is wasting his time at a Public School Studoval v Cambridge, Kings College, dizertace na centrální limitní větu Pracoval na počítači ACE Přišel s pojmem "Turingova stroje" (matematická formalizace počítače) Student Alonzo Churche (36-38) Podílel se na rozluštění Enigmy 1945 získal OBE Turingův test - počítač je inteligentní, pokud člověk nepozná, že mluví s A. Turing (1912-1954) počítačem Napsal první šachový program (nebyly dostatečně silné počítače, tak hrál místo počítače) 1952 odsouzen za homosexualitu 1954 nalezen mrtvý (vedle postele leželo nakousnuté nejspíše otrávené jablko)
Turingův stroj
K samostudiu Norbert Wiener Kolmogorov Claude Shannon Alonzo Church http://en.wikipedia.org/wiki/timeline_of_computing_2400_bc 1949 http://en.wikipedia.org/wiki/timeline_of_computing_1950 1979