PředmětyPředměty(verze: 806)
Předmět, akademický rok 2017/2018
   Přihlásit přes CAS
Programování 1 - NMIN101
Anglický název: Programming 1
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2015
Semestr: zimní
E-Kredity: 5
Rozsah, examinace: zimní s.:2/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
Způsob výuky: prezenční
Garant: doc. RNDr. Pavel Töpfer, CSc.
RNDr. Martin Pergel, Ph.D.
Třída: M Bc. FM
M Bc. FM > Povinné
M Bc. FM > 1. ročník
M Bc. MMIB
M Bc. MMIB > Povinné
M Bc. MMIB > 1. ročník
M Bc. OM
M Bc. OM > Povinné
M Bc. OM > 1. ročník
Kategorizace předmětu: Informatika > Programování
Neslučitelnost : NPRM044
Záměnnost : NPRM044
Je korekvizitou pro: NMIN161, NMIN201, NMIN102
Je neslučitelnost pro: NPRG030
Anotace -
Poslední úprava: G_M (24.04.2012)

Přednáška pro 1. ročník bakalářského studia matematiky. Obsahem kursu jsou základy programování v jazyce Pascal a základní otázky z oblasti návrhu algoritmů a tvorby programů.
Podmínky zakončení předmětu -
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (11.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: doc. RNDr. Pavel Töpfer, CSc. (30.09.2017)

  • P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vyd. 2007
  • P.Satrapa: Pascal pro zelenáče, Neocortex Praha 1994
  • N.Wirth: Algorithms + Data Structures = Programs , Prentice Hall Englewood Cliffsů; New Jersey 1975
  • slovenský překlad N. Wirth: Algoritmy a štruktúry údajov, Alfa, Bratislava 1989

Sylabus -
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (30.09.2017)

1. Programovací jazyk Pascal
  • program, programovací jazyk, chyby v programu, ladění
  • proměnná, konstanta
  • číselné typy, char, boolean, výčtový typ, interval
  • stavba výrazu a jeho vyhodnocení
  • základní příkazy v Pascalu (:=, if, while, repeat, složený příkaz)
  • hierarchická stavba příkazů, struktura programu
  • pole, for-cyklus, záznam, with, množina
  • znakový řetězec
  • procedury a funkce, parametry, lokalita, rekurze
  • práce se soubory
  • unit CRT

2. Algoritmy a programování

  • algoritmus, správnost, vstupní a výstupní data
  • časová a paměťová složitost algoritmů a problémů
  • dělitelnost, Eukleidův algoritmus
  • test prvočíselnosti, Eratosthenovo síto
  • Hornerovo schéma, poziční číselné soustavy
  • vyhledávání v poli (sekvenční, binární, zarážka)
  • zásobník a fronta
  • dlouhá čísla a polynomy
  • operace s maticemi
  • dekompozice problému, návrh programu shora dolů
  • rekurze a možnosti jejího využití
  • metoda "rozděl a panuj"
  • prohledávání do hloubky (backtracking)
  • prohledávání do šířky (algoritmus "vlny")
  • faktorové množiny (třídy ekvivalence)

3. Práce ve vývojovém prostředí

  • integrované prostředí Turbo Pascal nebo FreePascal, ladící prostředky
  • aktivní práce ve vývojovém prostředí, ladění programů

 
Univerzita Karlova | Informační systém UK