PředmětyPředměty(verze: 945)
Předmět, akademický rok 2014/2015
   Přihlásit přes CAS
Programování pro fyziky - NOFY056
Anglický název: Programming for Physicists
Zajišťuje: Ústav teoretické fyziky (32-UTF)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2011 do 2015
Semestr: zimní
E-Kredity: 5
Rozsah, examinace: zimní s.:2/2, Z+Zk [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Garant: RNDr. Ladislav Hanyk, Ph.D.
doc. Mgr. Tomáš Ledvinka, Ph.D.
Je neslučitelnost pro: NMUE022
Ve slož. prerekvizitě: NPRG041
Výsledky anket   Termíny zkoušek   Rozvrh   Nástěnka   
Anotace -
Poslední úprava: doc. RNDr. Helena Valentová, Ph.D. (22.06.2018)
Jednosemestrální základní kurs programování pro studenty 1. ročníku bakalářského studia fyziky. Studenti se na příkladech naučí řešit vybrané jednoduché problémy za použití dostupné implementace jazyka Pascal. Podmínkou pro zápočet je odevzdání zápočtové práce.
Cíl předmětu -
Poslední úprava: doc. Mgr. Tomáš Ledvinka, Ph.D. (03.05.2023)

Student schopný vyjádřit myšlenku pomocí programovacího jazyka (např. Pascal, C, Fortran).

Literatura -
Poslední úprava: doc. RNDr. Helena Valentová, Ph.D. (19.01.2018)

Poznámky k přednáškám:

  • http://utf.troja.mff.cuni.cz/~ledvinka
  • http://geo.mff.cuni.cz/~lh/NOFY056

a dále

  • N. Wirth: Algoritmy a datové struktury, Alfa, Bratislava 1988
  • J. Drózd, R. Kryl: Začínáme s programováním, Grada, Praha 1992
  • P. Töpfer: Základy programování v úlohách, Scientia, Praha 1997
  • P. Töpfer, D. Töpferová: Programování - Sbírka úloh, Fortuna, Praha 1998
  • P. Satrapa: Pascal pro zelenáče, Neokortex, Praha 2000
  • Příručky pro Turbo Pascal, Borland Pascal a Delphi, 1990-2003
Metody výuky -
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

Přednáška + praktická cvičení

Sylabus -
Poslední úprava: doc. RNDr. Helena Valentová, Ph.D. (19.01.2018)
1. Problémy
Klasické elementární algoritmy (Eukleidův algoritmus, Eratosthenovo síto). Matematické výrazy (Hornerovo schema, chyby), příklady výpočtu a aproximace funkcí. Základní numerické algoritmy (hledání kořenů, kvadratura). Práce s poli, vybrané algoritmy lineární algebry. Složitost algoritmu. Vyhledávání a (vnitřní) třídění, asociativní pole. Fronta a zásobník. Vstup a výstup dat. Nástin 2D grafiky (gnuplot, postscript). Náhodná čísla. Modularita, příklady použití použití knihoven procedur a objektů.

2. Jazyk Pascal
Proměnné (a konstanty). Celočíselné typy, char, boolean, reálné typy. Výraz, operátory, priorita, standardní funkce. Přiřazení, vstup a výstup. Jednoduchý a složený příkaz. Podmínky, cykly. Program, procedura a funkce. Lokalita. Předávání parametrů hodnotou a odkazem, konstantní parametry. Strukturovaná data (pole, záznam, řetězce). Inicializované proměnné. Binární operace a zkrácené vyhodnocování logických výrazů. Textový vstup a výstup. Typované soubory. Parametr (a proměnná) typu procedura a fuknce. Modularita (unit), práce s dokumentací knihoven. Dynamické datové struktury, ukazatele. Objekty.

3. Základy práce s osobním počítačem
Programy a data. Standardní vstup a výstup, přesměrování, skripty. Základní nástroje.

Cvičení:
Studenti se na cvičeních detailně seznamují s vybranými algoritmy a průběžně vylepšují techniku konstrukce kódu. Podmínkou pro zápočet je odevzdání zápočtové práce.

 
Univerzita Karlova | Informační systém UK