PředmětyPředměty(verze: 807)
Předmět, akademický rok 2017/2018
   Přihlásit přes CAS
Programování I - NPRG030
Anglický název: Programming I
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2014
Semestr: zimní
E-Kredity: 6
Rozsah, examinace: zimní s.:3/2 Z [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština, angličtina
Způsob výuky: prezenční
Garant: RNDr. Tomáš Holan, Ph.D.
doc. RNDr. Pavel Töpfer, CSc.
RNDr. Martin Pergel, Ph.D.
Třída: Informatika Bc.
Kategorizace předmětu: Informatika > Programování
Neslučitelnost : NMIN101, NMIN102, NPRM044, NPRM045
Je neslučitelnost pro: NMUG103, NMUG104
Je prerekvizitou pro: NPGR033
Anotace -
Poslední úprava: T_KSVI (06.12.2010)

Základní kurs algoritmizace a programování pro studenty 1. ročníku bakalářského studia informatiky a učitelství informatiky. Obsahem kursu jsou principy algoritmizace, základní algoritmy, datové struktury a programovací techniky, typické prostředky programovacích jazyků, praktický návrh a ladění programů.
Podmínky zakončení předmětu -
Poslední úprava: RNDr. Martin Pergel, Ph.D. (06.10.2017)

Předmět je zakončen zápočtem. K získání zápočtu se požaduje:

aktivní účast na cvičení spočívající obvykle v řešení úkolů (programů) v termínech stanovených cvičícím (ať už na cvičení nebo doma),

vypracování zápočtového programu a jeho odevzdání do termínu stanoveného cvičícím,

úspěšné absolvování zápočtového testu.

Povaha prvních dvou požadavků neumožňuje vypsat opravné termíny. Vyučující může stanovit podmínky, za nichž student může nahradit chybějící domácí úkoly nebo opakovaně odevzdat zápočtový program po odstranění nalezených závad.

Na složení zápočtového testu má student tři pokusy do konce zkouškového období zimního semestru (jeden řádný a dva opravné termíny). Vyučující může studentům povolit vykonat opravný termín i dodatečně během letního semestru.

Literatura -
Poslední úprava: TOPFER/MFF.CUNI.CZ (10.09.2008)

P. Töpfer: Algoritmy a programovací techniky, Prometheus 1995, 2. vyd. 2007

J. Drózd, R. Kryl: Začínáme s programováním, Grada 1992

N. Wirth: Algoritmy a štruktúry údajov, Alfa 1987

Sylabus -
Poslední úprava: TOPFER/MFF.CUNI.CZ (17.09.2010)

a) Základních algoritmy, datové struktury a programovací techniky

  • základní představa o efektivitě algoritmů
  • dělitelnost čísel, Eukleidův algoritmus
  • test prvočíselnosti, Eratosthenovo síto
  • Hornerovo schéma
  • rozklad celého čísla na cifry, poziční číselné soustavy
  • algoritmy vyhledávání v poli (sekvenční, binární, zarážka)
  • řazení dat v poli (vnitřní třídění)
  • práce s maticemi (základní operace)
  • implementace zásobníku a fronty v poli
  • aritmetika s vyšší přesností ("dlouhá čísla")
  • použití rekurze, backtracking, metoda "rozděl a panuj"
  • prohledávání do hloubky a do šířky
  • algoritmus minimaxu
  • halda a operace s haldou
  • faktorová množina
  • dynamické datové struktury, operace s lineárními spojovými seznamy
  • binární stromy, vyhledávací stromy, vyvažování (AVL-stromy)
  • vícecestné vyhledávací stromy (B-stromy)
  • notace aritmetického výrazu, vyhodnocování
  • vnější třídění

b) Typické prostředky a nástroje programovacích jazyků ukázané na příkladu programovacího jazyka Pascal (Turbo Pascal) v rozsahu

  • proměnné, konstanty, typy, inicializované proměnné
  • jednoduché a strukturované datové typy (čísla, char, boolean, výčtový typ, pole, záznam, znakový řetězec)
  • jednoduché a strukturované příkazy (dosazovací příkaz, if, while, repeat, for, case, with)
  • textové soubory (včetně formátování výstupních dat)
  • procedury a funkce (lokalita identifikátorů, způsoby předávání parametrů, rekurze)
  • příkazy skoku
  • ukazatele a dynamicky alokované proměnné
  • základní parametry překladače (paměťová omezení, přepínače provádění kontrol).

c) Práce v integrovaném vývojovém prostředí, tvorba a ladění programů - prakticky procvičena na příkladě integrovaného vývojového prostředí Turbo Pascal nebo Free Pascal (editor, překlad, výpočet, ladicí prostředky - trasování, sledování hodnot proměnných atd.).

 
Univerzita Karlova | Informační systém UK