Vytváření a realizace algoritmů Algoritmy a datové struktury Ivan Kolomazník kat. M-Dg místnost A851
Programování Programování je činnost, která zahrnuje tvorbu algoritmu a programu. Algoritmem rozumíme obecný postup řešení dané úlohy. Program je zápis algoritmu ve zvoleném programovacím jazyce. Programem (algoritmem) nemusí být nutně počítačový program — programy jsou např. i návody k použití, recepty v kuchařkách apod.
Otázky Proč se učit programovat? V jakém programovacím jazyce?
Proč se učit programovat v minulosti byly počítače vybaveny jen operačním systémem dnes řada uživatelských programů umožňuje programovat – CAD systémy (Autocad, Microstation), Matlab, Office,Corel, … pochopení fungování počítače a programů, navazující studium – numerické metody
Proč se učit programovat komunikace s programátorem, zadávání úkolů rozvoj logického myšlení
Typy programovacích jazyků Dle míry abstrakce: nižší programovací jazyky - strojové instrukce - jazyk symbolických adres - assembler (překladač) vyšší programovací jazyky (většina jazyků) - jednomu příkazu odpovídá více instrukcí
Typy programovacích jazyků Dle způsobu překladu a spuštění: kompilované programovací jazyky (např. Fortran, Pascal, C) - před spuštěním jsou nejprve kompletně přeloženy kompilátorem, výsledkem je větší rychlost interpretované programovací jazyky (např. BASIC, Perl, Python) – překlad při každém spuštění
Přehled nejrozšířenějších programovacích jazyků Fortran - v 50. letech 20. století navrhla firma IBM pro vědecké výpočty a numerické aplikace. C - programovací jazyk, který vyvinuli Ken Thompson a Dennis Ritchie pro potřeby operačního systému Unix. Nejčastější pro psaní systémového softwaru. C++ - objektově orientovaný programovací jazyk, vznikl rozšířením jazyka C
Přehled nejrozšířenějších programovacích jazyků Java - objektově orientovaný programovací jazyk, který vyvinula firma Sun Microsystems (1995). C# (C Sharp) objektově orientovaný programovací jazyk vyvinutý firmou Microsoft zároveň s platformou .NET Framework, vychází z C++ a Javy BASIC je rodina programovacích jazyků vysoké úrovně, která byla zavedena jako jednoduchý nástroj pro výuku programování
Přehled nejrozšířenějších programovacích jazyků Pascal - původně určen k výuce programování, používá se i k programování reálných aplikací. Nejrozšířenější kompilátory od firmy Borland, dnes vývojové prostředí pro windows programy postavené na objektovém rozšíření pascalu – Delphi.
Proč se učit programovat právě v Pascalu ? Jazyk vhodný pro výuku programování a algoritmizace Jednoduchý a přehledný zápis algoritmů Velké množství informací a příkladů Řada kvalitních programovacích nástrojů Snadný přechod k vizuálnímu programování v Delphi Rozsáhé knihovny komponent do programů
Metodika řešení úloh na počítači 1. formulace úlohy 2. analýza úlohy 3. algoritmizace úlohy Algoritmus je postup definující výpočtový proces vedoucí od (měnitelných) vstupních údajů k požadovaným výsledkům. Skládá se z konečného počtu kroků. Vlastnosti algoritmu: hromadnost determinovanost rezultativnost 4. sestavení programu 5. ladění programu a) odstranění chyb syntaktických b) odstranění chyb logických 6. pořízení dokumentace
Niklaus E. Wirth profesor informatiky na Curyšském ETH vedoucí návrhář programovacích jazyků Algol W, Pascal, Modula, Modula-2 a Oberon Algorithms + Data Structures = Programs, Prentice-Hall, New Jersey, 1975, ISBN 0-13-022418-9
Dějiny počítačů Nultá generace - elektromechanické počítače využívající většinou relé - Konrad Zuse – Z1,2,3 (1934-1941) První generace (1945 až 1951) - charakteristická použitím elektronek - ENIAC - obsahoval 17 468 elektronek, 7200 krystalových diod, 1500 relé, 70 000 odporů, 10 000 kondenzátorů, okolo 5 miliónů ručně pájených spojů, vážil 27 tun, zabíral 63 m² (2,6 m × 0,9 m × 26 m), spotřebovával 150 kW elektrické energie a jeho vývoj stál 500 000 dolarů.
Dějiny počítačů Druhá generace (1951 až 1965) - použití tranzistorů UNIVAC byl v roce 1951 prvním sériově vyráběným komerčním počítačem a byl zkonstruován tvůrci počítače ENIAC Třetí generace (1965 až 1980) - je charakteristická použitím integrovaných obvodů, sálové počítače - Cray-1 (1976) - známý a úspěšný superpočítač - IBM System 360 - nejznámější počítač třetí generace
UNIVAC 1 (1951)
Cray - 1
Dějiny počítačů Čtvrtá generace (od roku 1981) je charakteristická mikroprocesory a osobními počítači. Nastává ústup střediskových počítačů (mainframe) ve prospěch pracovních stanic - IBM PC 1981, DOS, grafické uživatelské rozhraní – Windows - rozvoj počítačových sítí, internet, distribuované systémy, clustery, multiprocesory.