Miroslav Virius

Publikace


Na této stránce najdete seznam vybraných publikací. Mé publikace zahrnují

  1. spoluautorství článků v zahraničních fyzikálních časopisech, jako je Physics Letters, Nuclear Instruments and Methods atd., publikované převážně v rámci fyzikálních experimentů COMPASS (experiment v CERN na urychlovači SPS) a PHENIX (experiment v Brookhavenské národní laboratoři --- BNL --- na urychlovači RHIC),
  2. výzkumné zprávy z oboru aplikované matematiky (převážně v 80. letech),
  3. knihy věnované programování a programovacím technikám,
  4. vysokoškolská skripta,
  5. příspěvky na konferencích Spin and Symmetries --- Advanced Studies Instutute, Objekty a Tvorba softwaru,
  6. kapitoly v odborných knihách,
  7. editaci sborníků z mezinárodních konferencí "Advanced Studies Institute -- Symmetries and Spin" (Praha v letech 2000 -- 2008), "Physics at LHC" (Praha 2003, Vídeň 2004), "Hadron Structure and Hadron Spectroscopy" (Praha 2005),
  8. články v nerecenzovaných odborných a populárních časopisech věnovaných výpočetní technice a informačním technologiím.
Chcete-li získat bližší informace o některé z položek, klikněte na její název.
Odkaz "články" vede na stránky serveru SPIRES, který provozuje Stanfordská univerzita. Články jsou podepsány zpravidla jménem experimentu, po kliknutí na toto jméno dostanete seznam spoluautorů (zpravidla velice dlouhý, neboť jde o publikace celého experimentálního týmu; v těchto týmech se účastním jako jeden z informatiků).
Kliknutím na odkaz Poznámky u anotace se dostanete na stránku opravami, doplňky a poznámkami k některým knihám.


Přehled vybraných publikací

Knihy

  1. M. Virius: Programovací jazyky C/C++. G-Comp, Praha 1992. ISBN 80-901073-5-4. 377 stran
  2. F. Kašpárek -- M. Minárik -- V. Nikolov -- R. Pecinovský -- M. Virius: Borland C++ 3.1 — Co v manuálu nenajdete. Unis, Brno 1993. ISBN neuvedeno. 762 stran
  3. R. Pecinovský -- M. Virius: Učebnice programování -- základy algoritmizace. Grada Publishing, Praha 1997. ISBN 80-7169-577-7. 177 stran
  4. R. Pecinovský -- M. Virius: Práce s daty 1. Grada Publishing, Praha 1997. ISBN 80-7169-469-X. 192 stran
  5. R. Pecinovský -- M. Virius: Práce s daty 2. Grada Publishing, Praha 1997. ISBN 80-7169-470-3. 200 stran
  6. R. Pecinovský -- M. Virius: Objektové programování 1. Grada Publishing, Praha 1996. ISBN 80-7169-366-9. 232 stran
  7. R. Pecinovský -- M. Virius: Objektové programování 2. Grada Publishing, Praha 1996. ISBN 80-7169-436-3. 264 stran
  8. M. Virius: Visual C++ 5.0. Grada Publishing, Praha 1996. ISBN 80-7169-485-1 226 stran
  9. M. Virius: Pasti a propasti C++.
    1. vydání: Grada Publishing, Praha 1997. ISBN 80-7169-600-7. 256 stran.
    2. aktualizované a doplněné vydání: Computer Press, Brno 2005. ISBN 80-251-0509-1. 376 stran
  10. D. Louis -- P. Mejzlík -- M. Virius: Jazyky C a C++ podle normy ANSI/ISO -- kompletní kapesní průvodce. Grada Publishing, Praha 1999. ISBN 80-7169-631-5. 643 stran
  11. M. Virius: C++Builder verze 4.0. Grada Publishing, Praha 1999. ISBN 80-7169-796-6. 262 stran
  12. D. Štrupl -- M. Virius: JBuilder verze 3. Grada Publishing, Praha 1999. ISBN 80-7169-890-3. 255 stran
  13. M. Virius: Od C k C++. Kopp, České budějovice 2000. ISBN 80-7232-110-2. 227 stran.
  14. M. Virius: C++Builder verze 5.0. Grada Publishing, Praha 2000. ISBN 80-7169-390-1. 290 stran
  15. M. Virius: Java pro zelenáče. Neocortex, Praha.
    1. vydání 2001, ISBN 80-902230-9-5, 240 stran;
    2. vydání (aktualizované pro JDK 5) 2005, ISBN 80-86330-17-6, 268 stran.
  16. M. Virius: C# pro zelenáče. Neocortex, Praha 2002. ISBN 80-86330-11-7. 254 stran
  17. M. Virius: Od C++ k C#. Kopp, České Budějovice 2002. ISBN 80-7232-176-5. 236 stran
  18. M. Virius: Jazyky C a C++. Kompletní kapesní průvodce proramátora. Grada Publishing, Praha 2005. ISBN 80-247-1494-9. 518 stran
  19. M. Virius: C# Hotová řešení. Computer Press, Brno 2006. ISBN 80-251-1084-2. 344 stran

Kapitoly v knihách

  1. M. Virius: Object Oriented Computing. In: Handbook of Computational Statistics. Concepts and Methods. Ed. J.E. Gentle, W. Härdle, Y. Mori. Springer Verlag, Berlin, Heidelberg 2004. ISBN 3-540-40464-3. Str. 403--434
  2. M. Virius: 23. Java a národní prostředí. 24. Java 5. V knize: Ivor Horton: Java 5. Neocortex, Praha 2005. ISBN 80-86330-12-5. Str.1287-1348.
  3. M. Virius: 24. Java 5. V knize: Ivor Horton: Java 5. Neocortex, Praha 2005. ISBN 80-86330-12-5. Str.1348-1412.
  4. M. Virius: Standard C99. V knize: B. W. Kernihgan, D. M. Ritchie: Programovací jazyk C. Computer Press, Brno 2006. ISBN 80-251-0897-X. Str.11-12, 46,63-72, 83-84, 106-109, 140-144, 165, 182-183, 279-280.

Skripta

  1. M. Virius: Aplikace matematické statistiky -- Metoda Monte Carlo. ČVUT, Praha 1985, 1992, 1998. ISBN 80-01-01779-6.
  2. M. Virius: Cvičení z metod matematické fyziky I -- Řešené příklady. ČVUT, Praha 1988, 1996. ISBN 80-01-01312-X.
  3. M. Virius: Cvičení z metod matematické fyziky II -- Řešené příklady. ČVUT, Praha 1989, 1999. ISBN 80-01-00219-5.
  4. M. Virius: Základy programování (Úvod do Turbo Pascalu). ČVUT, Praha 1991. ISBN 80-01-01553-X (3. vydání ČVUT 2004, ISBN 80-01-02940-9)
  5. M. Virius: Objektově orientované programování pro matematické inženýry. ČVUT, Praha 1992. ISBN 80-01-00845-2
  6. M. Virius: Základy algoritmizace. ČVUT, Praha 1995. ISBN 80-01-01346-4
    (Druhé, přepracované vydání ČVUT, Praha 2008. ISBN 978-80-01-04003-4.)
  7. .
  8. M. Virius: Programování v C++. ČVUT, Praha 1998. ISBN 80-01-01874-1. (Druhé, přepracované vydání ČVUT 2004, ISBN 80-01-02978-6; třetí přepracované vydání ČVUT 2009, ISBN 978-80-01-04371-4.)
  9. M. Virius: Úvod do programování. ČVUT, Praha 2009. ISBN 978-80-01-04278-6.

Editované sborníky z mezinárodních konferencí

  1. M. Finger, O. Selyugin, M. Virius (ed.): Proceedings of the International Workshop SYMMETRIES AND SPIN. Praha 17.--22.7.2000. Czechoslovak Journal of Physics, Vol. 51 (2001), Suppl. A (360 stran)
  2. M. Finger, O. Selyugin, M. Virius (ed.): Proceedings of the Advanced Studies Institute SYMMETRIES AND SPIN. Praha 15.--28.7.2001. Czechoslovak Journal of Physics, Vol. 52 (2002), Suppl. C, part I a II (740 stran)
  3. M. Finger, A.Janata, O. Selyugin, M. Virius (ed.): Proceedings of the Advanced Studies Institute SYMMETRIES AND SPIN. Praha 14.--26.7.2002. Czechoslovak Journal of Physics, Vol. 53 (2003), Suppl. B (508 stran)
  4. M. Finger, A.Janata, M. Virius (ed.): Proceedings of the Advanced Studies Institute PHYSICS AT LHC. Praha 6.--12.7.2003. Czechoslovak Journal of Physics, Vol. 54 (2004), Suppl. A (471 stran)
  5. M. Finger, A.Janata, M. Virius (ed.): Proceedings of the Advanced Studies Institute SYMMETRIES AND SPIN. Praha 12.--19.7.2003. Czechoslovak Journal of Physics, Vol. 54 (2004), Suppl. B (355 stran)
  6. M. Finger, A.Janata, M. Virius (ed.): Proceedings of the Advanced Studies Institute on SYMMETRIES AND SPIN. Praha 5.--10.7.2004. Czechoslovak Journal of Physics, Vol. 55 (2005), Suppl. A (432 stran)
  7. M. Finger, A.Janata, M. Virius, c.-e. Wultz (ed.): Proceedings of PHYSICS AT LHC. Vídeň 13.--17.7.2004. Czechoslovak Journal of Physics, Vol. 55 (2005), Suppl. B, part I a II (864 stran)
  8. M. Finger, A.Janata, M. Virius, O. Selyugin(ed.): Proceedings of the Advanced Studies Institute SYMMETRIES AND SPIN. Praha 27.7.--5.8.2005. Czechoslovak Journal of Physics, Vol. 56 (2006), Suppl. C, (437 stran)
  9. M. Finger, A.Janata, M. Virius (ed.): Proceedings of the Advanced Studies Institute on SYMMETRIES AND SPIN. Praha 19.--26.7.2006. Czechoslovak Journal of Physics, Vol. 56 (2006), Suppl. F (376 stran)
  10. M. Finger, M. Virius (ed.): Symmetries and Spin. Praha 8.--17.7.2007. The European Physics Journal -- Special Topics (EPJ ST). Vol. 162 (2008), (280 stran)
  11. M. Finger, M. Virius (ed.): Symmetries and Spin. Praha 20.--26.7.2008. Ještě nebyly dodány všechny recenzní posudky, takže to zatím nevyšlo...

 


 

Podrobnější informace o jednotlivých publikacích

Knihy

  1. Programovací jazyky C/C++
  2. Popisuje jazyky C a C++ podle specifikace AT&T 2.1 na základě zkušeností s překladači dostupnými v době psaní (přelom let 1991/2). To znamená, že nehovoří o výjimkách, dynamické identifikaci typů a nových přetypovacích operátorech, prostorech jmen a standardní šablonové knihovně. Pokud jde o šablony, najdete zde jen základní popis -- tehdejší specifikace např. neznala vnořené šablony, netypové parametry šablon funkcí atd.
    Poznámky

  3. Borland C++ 3.1 -- Co v manuálu nenajdete
  4. Kniha je věnována především nedokumentovaným nebo špatně dokumentovaným vlastnostem překladače Borland C++ 3.1. Najdete tu výklad o šablonách, některých vlastnostech funkcí, objektových typů atd., podrobný popis knihovny datových proudů a návod, jak napsat nový datový proud, popis ukládání objektů v paměti, způsob překladu konstruktorů a destruktorů atd. Obsahuje i rozbor některých chyb překladače. Výklad je zaměřen především na programy pro DOS, pro porozumění některým místům je vhodné znát asembler.

  5. Učebnice programování -- základy algoritmizace
  6. První z pětidílné série učebnic, které postupně učí programování v C++ a v Pascalu. Celá tato řada vznikla na základě publikovaných i nepublikovaných částí seriálu "Cesta k profesionalitě" R. Pecinovského otiskovaného v časopise Computerworld a mého seriálu "Kurs C/C++" otiskovaného v časopise Bajt. Tento díl obsahuje především kurs algoritmizace založený na robotu Karlovi, základy ovládání prostředí Turbo Pascalu a Borland C++ 3.1 a základní programové konstrukce používané v těchto jazycích.
    Poznámky k této knize    Poznámky k doprovodným disketám (pro všech 5 dílů)

  7. Práce s daty 1
  8. Práce s daty 2
  9. Tyto knihy navazují na knihu Učebnice programování -- základy algoritmizace. Najdeme tu některé lehce pokročilejší neobjektové konstrukce (v prvním dílu pole, výrazy, procedury a funkce podrobněji, vstupní a výstupní operace, ve druhém pak ukazatele, záznamy či struktury, makra apod.). Výklad v obou knihách doprovází velké množství příkladů.

  10. Objektové programování 1
  11. Objektové programování 2
  12. Poslední dva díly série učebnic programování. První díl vykládá především zapouzdření a přetěžování operátorů v C++. Druhý dědičnost, a polymorfizmus v C++ a v Turbo Pascalu a výjimky a dynamickou identifikaci typů v C++ a v Object Pascalu (Delphi) a prostory jmen v C++. Kniha (oba díly společně) získala ocenění "Cena Grada '96".
    Poznámky

  13. Visual C++ 5.0
  14. Kniha popisuje vývojové prostředí Microsoft Visual C++ 5.0 a uvádí do programování aplikací pro Windows pomocí knihovny MFC. Obsahuje řadu příkladů. Není to učebnice C++, alespoň základní znalost tohoto jazyka je pro čtení nezbytná.
    Poznámky

  15. Pasti a propasti C++
  16. Kniha věnovaná zrádným místům jazyků C a C++, tj. konstrukcím, které jsou sice syntakticky správné, ale mohou mít jiný význam než programátor očekává. Vychází z ISO C++ podle návrhu této normy aktuálního v létě 1997 (ta už se prakticky neliší od přijatého standardu). Oceněno "Tip redakce časopisu Chip 11/1997".
    Druhé, aktualizované a doplněné vydání vyšlo na počátku r. 2005 v nakladatelství Computer Press.
    Druhé vydání obsahuje navíc především kapitoly věnované šablonám, prostorům jmen, standardní šablonové knihovně C++, objektovému návrhu a problematice češtiny v C++. Vynechal jsem části věnované programování pro DOS a upravil jsem zdrojové texty tak, aby odpovídaly nejen současnému standardu jazyka. (V prvním vydání jsem například ještě často používal jména standardních hlaviček s příponou .h, jak to vyžadovala většina překladačů používaných v r. 1997. Mnohé dnešní překladače to již považují za chybu.)
    Poznámky k 1. vydání (1997), k 2. vydání (2005)

  17. Jazyky C a C++ podle normy ANSI/ISO -- kompletní kapesní průvodce
  18. Vysvětluje všechny běžně používané prostředky jazyka C podle platných standardů ISO 9899-1990 a C++ podle ISO 14882. Převážnou část knihy tvoří podrobný přehled standardních knihoven těchto jazyků včetně pomocných funkcí a tříd.
    Poznámky

  19. C++Builder verze 4.0
  20. Seznamuje s vývojovým prostředím C++Builderu 4 a s vizuálním programováním pomocí knihovny VCL. Pokrývá základní programové konstrukce, základy práce s grafikou, základy multithreadových aplikací a databázových aplikací; obsahuje i krátký přehled jazyka SQL. Předpokládá znalost jazyka C++ (objektové programování, pokud jde o výjimky a šablony alespoň základy). Kniha má podtitul "podrobný průvodce"; to vymyslelo nakladatelství, ve skutečnosti je to učebnice, která seznamuje čtenáře s C++Builderem na příkladech.
    Poznámky

  21. JBuilder verze 3
  22. Seznamuje s vývojovým prostředím JBuilderu 3 a s vizuálním programováním pomocí komponent JavaBeans. Obsahuje i základní kurs jazyka Java. Pokrývá základní programové konstrukce, vytváření apletů, základy práce s grafikou, základy multithreadových aplikací a databázových aplikací; najdete tu i krátký přehled jazyků SQL a HTML. Podobně jako kniha o C++Builderu má i tato kniha podtitul "podrobný průvodce", i když to je opět učebnice, která seznamuje čtenáře s Javou a s JBuilderem na příkladech.
    Poznámky

  23. Od C k C++
  24. Kniha předpokládá znalost jazyka C podle standardu ISO/ANSI 9899-1990 a základních pojmů objektově orientovaného programování. Na tomto základě seznamuje čtenáře s jazykem C++. Obsahuje výklad objektových typů, přetěžování operátorů, šablon, výjimek, dynamické identifikace typů, prostorů jmen, objektových datových proudů a základní informace standardní šablonové knihovně. Výklad doprovázejí příklady.
    Poznámky

  25. C++Builder verze 5.0
  26. Jde o upravenou a rozšířenou verzi knihy o C++Builderu 4. Nový je úvod do programování distribuovaných aplikací podle standardu CORBA. Nové jsou také příklady použití rámů, seznamu akcí a některých dalších komponent. Knihu lze použít i k seznámení se staršími verzemi C++Builderu.
    Poznámky

  27. Java pro zelenáče
  28. Kniha je určena čtenářům, kteří se chtějí seznámit se základy programování v jazyce Java. Nepředpokládá žádné předběžné znalosti o programování. Vychází z JDK 1.3 a nabízí seznámení s principy objektově orientovaného programování, základními konstrukcemi jazyka (primitivní datové typy, pole, příkazy, výrazy a operátory, třídy, rozhraní, výjimky, základní vstupy a výstupy). Najdete tu i základy tvorby grafických aplikací pomocí knihovny JFC/Swing a velmi stručné informace o tvorbě apletů. Kniha se nezabývá tvorbou vícevláknových aplikací, distribuovaných aplikací, nativních metod a dalšími pokročilými tématy. Oceněno "Tip redakce časopisu Chip 10/2001".
    Podle této knihy se prý učí na některých středních -- a dokonce i vysokých -- školách.
    V létě 2005 vyšlo druhé vydání aktualizované pro JDK 5. Obsahuje navíc především základy práce s generickými typy, zmíněny jsou ale všechny podstatné novinky této verze JDK.
    Poznámky k 1. vydání (2001), ke 2. vydání (2005)

  29. C# pro zelenáče
  30. Kniha je určena čtenářům, kteří se chtějí seznámit se základy programování v jazyce C#. Nepředpokládá žádné předběžné znalosti o programování. Vychází z verze 1.1 překladače a nabízí seznámení s principy objektově orientovaného programování, základními konstrukcemi jazyka (základní datové typy, pole, příkazy, výrazy a operátory, třídy, rozhraní, výjimky, přetěžování operátorů, základní vstupy a výstupy). Najdete tu i základy tvorby grafických aplikací. Kniha se nezabývá tvorbou vícevláknových aplikací, distribuovaných aplikací a dalšími pokročilými tématy. Koncepce knihy je velice podobná koncepci knihy "Java pro zelenáče".
    Poznámky

  31. Od C++ k C#
  32. Tato kniha předpokládá znalost C++, a to -- kromě základních konstrukcí, jako jsou deklarace nebo příkazy -- také objektově orientovaného programování, prostorů jmen, přetěžování operátorů a dynamické identifikace typů. Na tomto základě vykládá programovací jazyk C# a jeho používání v programech pro .NET Framework. Kniha pokrývá mj. vstupy a výstupy, základy tvorby grafického uživatelského rozhraní, práci s datovými typy (reflexi, používání atributů, vytváření vlastních atributů) atd.
    Poznámky

  33. Jazyky C a C++. Kompletní kapesní průvodce proramátora
  34. Podrobná referenční příručka jazyka C90 (tedy C podle standardu ISO/IEC 9899-1990), C99 (tedy C podle standardu ISO/IEC 9899-1999) a C++ podle standardu ISO/IEC 14882-1998. Neobsahuje přehled standardních knihoven, ty budou v samostatné knize Jde vlastně o od základu přepracovanou knihu Jazyky C a C++ podle normy ANSI/ISO -- kompletní kapesní průvodce, jež byla dokončena ještě před vydáním závěrečné verze standardu C++ (a navíc se musela vejít do poněkud nevhodného formátu kapesních referenčních příručk k uživatelským programům, jako je Word nebo Excel -- povinný počet kapitol, "postupy" atd.)
    Poznámky

  35. C# Hotová řešení
  36. Sbírka více než 250 řešených úloh, které ukazují základy práce s prostředím .NET 1.1 a 2,0 (vytvoření soukromého a sdíleného sestavení, jeho konfiguraci, použití reflexe, použití staršího kódu v dynamických knihovnách pro Win32, spolupráci s COM), práci s okny a komponentami, vytváření databázových aplikací pomocí ADO.NET, základy vytváření stránek ASP.NET, vytváření vícevláknových aplikací, vstupní a výstupní operace, práci s dokumenty v XML a mnohé další. Ukazuje také použití některých novinek v C# 2.0 (genericity). Kniha je sice založena na C#, ale s výjimkou 3. kapitoly, která je věnována výhradně tomuto jayzku, se prakticky vše dá použít v libovolném jazyce pro .NET.
    Poznámky

 


 

Skripta

  1. Aplikace matematické statistiky -- Metoda Monte Carlo
  2. K přednášce Metoda Monte Carlo. První vydání z r. 1985 mělo název "Základy výpočetní techniky -- Metoda Monte Carlo", obsah druhého a třetího vydání pod názvem "Aplikace matematické statistiky" je totožný. Stručný obsah: Princip metody MC, přesnost, transformace náhodných čísel, generování náhodných čísel s rovnoměrným rozložením, výpočet integrálů metodou MC, řešení soustavy lineárních algebraických rovnic metodou MC, řešení integrálních rovnic metodou MC, řešení některých úloh pro diferenciální rovnice metodou MC, rozvětvené procesy, úlohy z teorie hromadné obsluhy, úlohy o transportu záření. Skriptum získalo cenu rektora ČVUT za rok 1985.

  3. Cvičení z metod matematické fyziky I -- Řešené příklady
  4. Cvičení z metod matematické fyziky II -- Řešené příklady
  5. Sbírka řešených úloh z metod matematické fyziky.

    Obsah prvního dílu: Klasifikace parciálních diferenciálních rovnic 2. řádu, zobecněné funkce, základní úlohy matematické fyziky, Cauchyova úloha.

    Obsah druhého dílu: Integrální rovnice, úloha na vlastní hodnoty pro eliptické operátory, okrajová úloha a smíšená úloha. Příklady ukazují často několik možných postupů, občas upozorňují i na postupy, které nevedou k cíli. Vedle řešených příkladů obsahují obě skripta i cvičení pro čtenáře.

  6. Základy programování (Úvod do Turbo Pascalu)
  7. Skriptum k přednášce "Základy programování" (dnes již bylo nahrazeno skriptem "Úvod do programování"). Podrobný výklad jazyka Pascal podle standardu, doplněný o výklad Turbo Pascalu 7.0. Nepředpokládá žádné předběžné znalosti o programování nebo o počítačích, nehovoří o Object Pascalu z Delphi. Obsah: Co je to počítač, algoritmus, zobrazování dat v počítači, základní konstrukce jazyka Pascal, typ v Pascalu, výrazy, příkazy, procedury a funkce, objektové typy, vývojové prostředí Turbo Pascalu, základy DOSu.)
    I když formálně existují pouze tři vydání (1991, 1997, 2004), byla mezi prvními dvěma řada dotisků, které se poněkud liší. První vydání vycházelo z tehdy aktuální verze Turbo Pascalu 5.5, další dotisky postupně popisovaly verzi 6 a 7. Ve druhém vydání byly vypuštěny části týkající se archaického vývojového prostředí verze 5.5 a starších a přibyl popis nových rysů jazyka. Změnily se i některé příklady v textu. Třetí vydání jsem přizpůsobil tehdejším požadavkům.
    Znalosti z libovolného z vydání stačí i dnes ke získání zápočtu z předmětu Základy programování.

  8. Objektově orientované programování pro matematické inženýry
  9. Toto skriptum vzniklo v době, kdy seminář "Objektově orientované programování" sloužil především jako doplněk k přednášce o jazyku C++ (tehdy jednosemestrální). S dnešní podobou semináře OOP nemá nic společného. Skriptum obsahuje popis základních konstrukcí OOP a základní informace o OOP v C++, v Turbo Pascalu, v Simule 67, ve Smalltalku a o objektovém rozšíření Turbo Assembleru 3.0.

  10. Základy algoritmizace
  11. Skriptum ke stejnojmenné přednášce. Hlavní body obsahu prvního vydání: datové struktury (proměnná, pole, záznam, seznam, strom, zásobník, fronta, množina atd.), metody návrhu algoritmů (rozděl a panuj, backtracking atd.), rekurze, třídění polí, souborů a jiné, použití binárního stromu (zpracování aritmetického výrazu, vyvážené stromy), seminumerické algoritmy (zobrazení čísel v počítači, algoritmy pro základní aritmetické operace), další algoritmy (FFT, Strassenův algoritmus aj.), úvod do softwarového projektu, návrh architektury programu založený na analýze požadavků.
    Druhé vydání obsahuje navíc podrobný příklad vyšetřování složitosti algoritmu, výklad potřebných matematických nástrojů, některá odvození složitosti, některé třídicí algoritmy atd. Místo výkladu o softwarovém projektu a návrhu architektury je zde obsáhlá kapitola věnovaná především OOP a návrhovým vzorům. Výklad byl na řadě míst přepracován.
    Poznámky k 1. vydání   Poznámky k 2. vydání

  12. Programování v C++
  13. Skriptum ke stejnojmenné přednášce. Pokrývá jazyk C podle ISO 9899:1990 a C++ podle ISO 14882:1998 včetně základních informací o standardních knihovnách a některých běžných rozšířeních. První 4 kapitoly představují úvodní kurs, ve kterém se čtenář bez nároku na úplnost seznámí s vybranými konstrukcemi C++ a pozná organizaci programu v C++. Pak následuje podrobný výklad: Zápis programu, lexikální konvence, klíčová slova atd., příkazy, základní datové typy, pole, ukazatele, reference a dynamické proměnné, výčtové typy, struktury, unie, operátory, výrazy, proměnné, deklarace, funkce, direktivy preprocesoru, objektové typy, přetěžování operátorů, šablony, výjimky, dynamická identifikace typů a speciální přetypovací operátory, prostory jmen, vstupy a výstupy, přehled ostatních knihoven.
    Ze druhého vydání jsem odstranil části, které se zabývaly programováním pro DOS. Upravil jsem zdrojové texty tak, aby plně vyhovovaly standardu. (V prvním vydání bylo třeba brát ohled na překladače, které byly v te dobe k dispozici, takze se casto objevovala např. přípona .h ve jménech hlavičkovych souborů, což neodpovídá standardu, ale mnohé tehdejší překladače to vyžadovaly. Navíc byl vydán nový standard ISO 9899:1999 jazyka C.) Doplnil jsem rozsáhlejší příklad na použití STL a některé informace, které se do prvního vydání nevešly.
    Vyřazené části věnované dosovskému programování jsou k dispozici zde ve formátu PDF.
    Do třetího vydání jsem doplnil stručnou informaci o rozšířeních očekávaných v nové verzi standardu (označovaných C++0x), a to především pokud jde o standardní šablonovou knihovnu. Vedle toho jsem odstranil některé překlepy a nedopatření; zároveň jsem zdrojový text skripta převedl do sázecího systému TeX, čímž jsem tam nepochybně zanesl nové chyby.
    Poznámky k 1. vydání   Poznámky ke 2. vydání   Poznámky ke 3. vydání

  14. Úvod do programování
  15. Skriptum k přednášce "Základy programování"; nepředpokládá žádné předběžné znalosti o programování nebo o počítačích. Obsahuje výklad jazyka Pascal včetně objektově orientovaného programování a výjimek. Začíná seznámením s pojmy, jako je počítač, algoritmus, progtramovací jazyk apod. a vysvětlením pojmů datových typ a objektový typ. Pak následuje několik jednoduchých příkladů, v nichž se čtenář postupně naučí zapsat zdrojový kód, přeložit ho (z příkazové řádky), spustit ho a ladit ho. To mu umožní psát od počátku rozumné příklady a spouštět je jako programy. V dalších kapitolách se seznámí s jazykem Pascal v podobě, ve které ho implementuje Turbo Pascal 7.0, Free Pascal a Object Pascal v Delphi; Výklad Object Pascalu neobsahuje některé z konstrukcí, které se objevily teprve v nedávných verzích jazyka, jako je genericita. Na konci skripta najdete rozsáhlejší příklady (mj. naivní, ale funkční implementaci jednosměrně zřetězeného seznamu).
    Poznámky


Na začátek stránky   Knihy   Skripta   Poznámky   Přednášky a semináře   Moje domovská stránka Články Machiavelli by záviděl a Machiavelli podruhé