Programovanie 2

Upozornenie

Predmet B-PROG2 je možné pokúsiť sa absolvovať maximálne 2x, po druhom nezvládnutí predmetu bude študent vylúčený zo štúdia.

Organizácia
Podmienky
Prednášky
Cvičenia
Zbierka

Organizácia predmetu

V roku 2023 je predmet vedený prezenčnou formou:

Na diskusie ohľadne predmetu je možné využiť Discord server: invite (https://discord.gg/9JEY5jCwnE)

  • Na Discord serveri budú aktuálne oznamy, diskusia k teórii a prednáškam, diskusia k zbierke príkladov a zadaniam.

Oficiálne oznamy budú zasielané aj mailom v AIS.

Predmet je štandardne členený do nasledujúcich aktivít:

  • Prednášky:
    •  dátum a miesto ešte upresníme
  • Seminár:
    • dátum a miesto ešte upresníme
  • Konzultácie:
    • prostredníctvom MS Teams
  • Samostatné domáce štúdium a riešenie menších príkladov zo Zbierky príkladov (viď stránku)
  • Domáce zadania (podmienka zápočtu)
Prednášky:

Na prezenčných prednáškach vysvetľujeme k učivu podľa zverejneného plánu, môžete sa pýtať otázky. Ak sa nemôžete zúčastniť, prednášky z minulého roka sú nahraté a zverejnené v Google classroom ako náhrada. Je možné tieto si pozrieť aj vopred, respektíve pozrieť si plánovanú tému z učebnice. Ľahšie sa vám bude rozumieť preberanému učivu a viete sa kvalifikovane pýtať.

Semináre:

Na prezenčnom seminári predstavujeme témy zadaní a vysvetľujeme technické detaily potrebné pre riešenie zadaní.

Konzultácie:

V prípade, ak budete potrebovať prekonzultovať výsledky hodnotenia zadaní, budú pre vás k dispozícii online konzultácie prostredníctvom MS Teams. Bližšie informácie dostanete na seminári.

Plán semestra

  1. Základy jazyka C a odlišnosti voči jazyku Python, funkcie.
  2. Premenné, dátové typy, I/O a základné aritmetické operácie.
  3. Podmienky, vetvenia, cykly – pokročilá syntax.
  4. Polia, základné použitie.
  5. Smerníky. Polia vo funkciách.
  6. Znaky a reťazce. (ctype.h, string.h)
  7. Dynamická alokácia. (stdlib.h)
  8. Štruktúry.
  9. Súbory. (stdio.h)
  10. Viacrozmerné (dynamické) polia. 
  11. Bitové operácie, enum typ, pokročilé štruktúry a dátové typy.
  12. Opakovanie, príprava na skúšku.

Podmienky zápočtu
  • Získanie minimálne 36 bodov (vrátane) z max. počtu 60 bodov na základe hodnotenia zadaní
Podmienky absolvovania
  • Semestrálne Zadania: 60 bodov (36 bodov minimum na absolvovanie)
  • Skúška: 40 bodov test (21 bodov minimum na absolvovanie)

Účasť na skúške je podmienená získaním aspoň 36 bodov zo zadaní. Na skúške je nutné získať minimálne 21 bodov, bez ohľadu na počet bodov zo zadaní (známka sa potom určí z celkového počtu bodov). Až po úspešnom absolvovaní skúšky sa pripočítajú body zo semestra.

Pozn.: Odhalené podvádzanie pri zadaniach, napr. kopírovanie (aj časti) zadaní, snaha odovzdať cudzie riešenie, a iné, môže cvičiaci penalizovať vylúčením študenta z predmetu (nepridelením/zrušením bodov aj z iných zadaní).

Prednášky

Materiály
Z minulých rokov materiály ku skúške

Literatúra a internetové odkazy

  • V. Kadlec: Učíme se programovat v jazyce C, Computer Press, 2002, ISBN 80-7226-715-9
  • B. Kernighan – D. Ritchie: Programovací jazyk C, Alfa SNTL, 1978, ISBN 063-075-88 (prvé vydanie) / Computer Press, a.s., 1988, ISBN 80-251-0897-X (druhé vydanie)
  • P. Herout: Učebnice jazyka C, Nakladatelství Kopp, 2005, ISBN 80-7232-220-6 (4. vydanie)
  • H. Schildt: Nauč se sám C, SoftPress, s r.o., Praha, 2001, ISBN 80-86497-16-X

Zaujímavé čítanie pre znalcov

Internetové odkazy

Cvičenia

Zadania sa odovzdávajú podľa pokynov cvičiacich prostredníctvom online automatizovaného odovzdávacieho systému.

Webstránka cvičení: link

Cvičiaci:

Softvérové vybavenie

Hlavný odporúčaný nástroj CLion, iné alternatívy:


Štandardy jazyka C

Budeme používať štandard jazyka C11.

Špecifické poznámky
  • Ak máte problémy s používaním funkcie scanf v MS Visual C++, ako prvý riadok v kóde nakopírujte

Alternatíva je naučiť sa používať bezpečné verzie scanf, ale k tomu je potrebné si naštudovať navyše veci voči základnému učivu.

  • Podobne, ak chcete používať matematické konštanty (napr. M_PI) z math.h, je potrebné napísať na začiatku súboru (pred #include):

Príklady na precvičenie

Zbierka príkladov