NOFY056 – Programování pro fyziky (L. Hanyk)
Sylabus: https://www.mff.cuni.cz
Přednášky: prezentace
Na přednáškách nás provázejí prezentace zhotovené v dokumentačním systému Sphinx (viz reklama na Sphinx):
- 29. 9. 2022: Fortran, Pascal, Python, Matlab, C a Gnuplot Sphinx
a stránka o instalaci softwaru Sphinx
- 6. 10. 2022: Algoritmus, ukázky a benchmark Sphinx
- 13. 10. 2022: Přiřazovací příkaz, podmíněné příkazy a příkazy cyklu, ... Sphinx
- 20. 10. 2022: ..., Map-Filter-Reduce, příkazy skoku a výjimky, příkazy pro vstup a výstup, přesměrování vstupu a výstupu Sphinx
a minialgoritmy Sphinx
- 3. 11. 2022: Standardní datové typy, výrazy Sphinx
- 10. 11. 2022: Strukturované datové typy: pole, řetězce, struktury/záznamy, množiny Sphinx
- 24. 11. 2022: Procedurální programování: funkce a procedury, předávání argumentů, rekurzivní funkce, modularizace Sphinx
- 1. 12. 2022: Numerické recepty − minialgoritmy Sphinx
- 8. 12. 2022: Soustavy lineárních algebraických rovnic Sphinx
- 22. 12. 2022: Polynomická aproximace Sphinx.
Numerické integrování Sphinx
- 5. 1. 2023: Hledání kořenů Sphinx.
Soustavy obyčejných diferenciálních rovnic Sphinx
Loňské prezentace
-
Fortran, Pascal, Python, Gnuplot Sphinx.
Algoritmus, ukázky, benchmark Sphinx.
Přiřazovací příkaz, podmíněné příkazy, příkazy cyklu Sphinx.
Příkazy skoku, výjimky, příkazy pro vstup a výstup dat, přesměrování vstupu a výstupu Sphinx.
Standardní datové typy Sphinx.
Výrazy, jednoduché datové typy Sphinx.
Pole, řetězce, záznamy, množiny, soubory Sphinx.
Procedury a funkce Sphinx
-
Numerické recepty − minialgoritmy Sphinx.
Soustavy lineárních algebraických rovnic Sphinx.
Polynomická aproximace Sphinx.
Numerické integrování Sphinx.
Hledání kořenů Sphinx.
Soustavy obyčejných diferenciálních rovnic Sphinx.
-
Závěr: úvodní témata z informatiky Sphinx.
Minialgoritmy − praktické ukázky Sphinx
Poznámky k přednášce
Kondenzované texty vhodné k offline četbě během semestru a zvláště před zkouškou.
-
Část I: PDF
Imperativní, strukturované a procedurální programování, programovací jazyky, odkazy. Slovníček. Příkazy: přiřazovací příkaz, podmíněné příkazy, příkazy cyklu, příkaz volání procedury, příkazy skoku. Standardní datové typy. Výrazy. Jednoduché a strukturované datové typy: intervaly, výčty, ukazatele, pole, záznamy, řetězce, množiny, soubory. Procedury a funkce. Předávání argumentů. Moduly
Ukázky: součet aritmetické posloupnosti (C, Fortran, Pascal, Octave, Python, Unix, Windows, Gnuplot) ZIP,
příkazy ZIP,
typy a výrazy ZIP
-
Část II: PDF
Numerické recepty: soustavy lineárních algebraických rovnic, polynomická aproximace, numerické integrování, hledání kořenů, soustavy obyčejných diferenciálních rovnic
Ukázky: MATLAB a Python HTML
-
Dodatek: PDF
Informatika: dynamické datové struktury, třídění dat
Ukázky: třídění ZIP
Poprvé s Pythonem PDF,
Poprvé s MATLABem a Octavem PDF,
Poprvé s gnuplotem PDF,
Poprvé se Sphinxem HTML,
syntaktické diagramy Pascalu (M. Jireš) PDF
Paralelní přednáška (T. Ledvinka):
home,
poznámky PDF,
vzorník příkladů PDF,
úlohy od zkoušek PDF
Cvičení
Cvičení 2022 (Fortran a Python): prezentace Classic a verze pro mobil prezentace Conestack v dokumentačním systému Sphinx
(viz reklama na Sphinx)
Archiv cvičení z několika předchozích let:
2021 (Pascal),
2020,
2019,
2018,
2017,
2016,
2015 a ukázky v Octavu
Zkouška
- Ukázky písemných úloh:
2008 PDF PDF PDF,
2007 PDF PDF PDF,
2006 PDF PDF PDF,
2005 PDF PDF PDF
Software
Literatura
- Poznámky k přednášce
tato stránka a stránky paralelní přednášky T. Ledvinky
- C/C++, Fortran
Herout P., Učebnice jazyka C, Kopp České Budějovice, 2010
Virius M., Od C k C++, Kopp České Budějovice, 2000
Kernighan B. W., Ritchie D. M., Programovací jazyk C, Computer Press Brno, 2008 www
Metcalf M., Reid J., Cohen M., Modern Fortran Explained, Oxford Science, 2011
a také...
Hájek J., Fortran pro všechny, 2007 www
Post E.: Real programmers don't use Pascal, 1983 www
- Pascal
Hylmar R., Programování pro úplné začátečníky, Computer Press, 2012 www
Satrapa P., Pascal pro zelenáče, Neocortex Praha, 2005 www
Free Pascal: Reference guide, 2020 www
- Numerické metody, programovací techniky, MATLAB/Octave
Press W. H., Teukolsky S. A., Vetterling W. T., Flannery B. P., Numerical Recipes in C/Fortran: The Art of Scientific Computing,
Second Edition, Cambridge University Press, 1992, www:
C book,
Fortran book
Third Edition, Cambridge University Press, 2007
www
Töpfer P., Algoritmy a programovací techniky, Prometheus Praha, 1995, dotisk 2010
Moler C., Numerical Computing with MATLAB, MathWorks, 2004 www
GNU Octave Documentation www PDF
Latinský slovníček počítačové terminologie: Vocabula computatralia