PředmětyPředměty(verze: 835)
Předmět, akademický rok 2018/2019
   Přihlásit přes CAS
Programování pro fyziky - NOFY056
Anglický název: Programming for Physicists
Zajišťuje: Kabinet výuky obecné fyziky (32-KVOF)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2016 do 2018
Semestr: zimní
E-Kredity: 5
Rozsah, examinace: zimní s.:2/2 Z+Zk [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Garant: RNDr. Ladislav Hanyk, Ph.D.
Mgr. Tomáš Ledvinka, Ph.D.
Ve slož. prerekvizitě: NPRG041
Anotace -
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

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.
Cíl předmětu -
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

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

Podmínky zakončení předmětu
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

Pro absolvování předmětu je předepsán zápočet i zkouška.

Pro získání zápočtu je třeba zpracovat v požadovaném rozsahu práci zadanou vyučujícím (tj. vedoucím cvičení), obvykle jednu rozsáhlejší zápočtovou úlohu a/nebo několik průběžně zadávaných jednodušších úloh. Součástí hodnocení může být i ocenění účasti na cvičeních, splnit zápočet je však možné odevzdáním požadované práce i bez účasti na cvičeních. Vyučující může stanovit bodový systém, se kterým seznámí studenty na začátku semestru.

Konání zkoušky není podmíněno získáním zápočtu ani účastí na přednáškách.

Literatura -
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

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í

Požadavky ke zkoušce
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

Konání zkoušky není podmíněno získáním zápočtu ani účastí na přednáškách. Zkouška má písemnou a ústní část, student musí úspěšně vykonat obě části. Během písemné části student prokazuje schopnost algoritmizace několika drobnějších úloh pomocí vybraného programovacího jazyka, v ústní části je prověřena studentova znalost látky vyučované na přednáškách.

Sylabus -
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)

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