456-0523/02 – Programování v C/C++ (CPP)

Garantující katedraKatedra informatikyKredity4
Garant předmětudoc. Mgr. Jiří Dvorský, Ph.D.Garant verze předmětudoc. RNDr. Jindřich Černohorský, CSc.
Úroveň studiapregraduální nebo graduálníPovinnostpovinně volitelný
Ročník2Semestrletní
Jazyk výukyčeština
Rok zavedení2007/2008Rok zrušení2010/2011
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
C1E65 doc. RNDr. Jindřich Černohorský, CSc.
KOR206 Ing. Jan Kordas
MUS110 Ing. Karel Musil
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+2
kombinovaná Zápočet a zkouška 2+2

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Naučit studenty používat programovací jazyky C a C++ podle ISO/ANSI normy. Kurs poskytne začátečníkům i pokročilým základy procedurálního i objektově orientovaného programování. Jazyky C a C++ umožní přechod na různé HW platformy. Důraz je kladen na specifické prvky jazyka C++, ze kterých vycházejí nebo vůči kterých se vymezují ostatní dnes používané jazyky. Ve cvičeních těsná vazba na předmět Základy algoritmizace.

Vyučovací metody

Přednášky
Cvičení (v učebně)

Anotace

Naučit studenty používat programovací jazyky C a C++ podle ISO/ANSI normy. Kurs poskytne začátečníkům i pokročilým základy procedurálního i objektově orientovaného programování. Jazyky C a C++ umožní přechod na různé HW platformy. Důraz je kladen na specifické prvky jazyka C++, ze kterých vycházejí nebo vůči kterých se vymezují ostatní dnes používané jazyky. Ve cvičeních těsná vazba na předmět Základy algoritmizace.

Povinná literatura:

Stroustrup, B.: C++ Programovací jazyk. Česky: BEN-technická literatura, Praha 1997 Šaloun, P.: Programovací jazyk C++ pro zelenáče. Vydal Neocortex Praha, 2005, s. 252, ISBN 80-86330-18-4. Šaloun, P.: Programovací jazyk C, pro zelenáče. Vydal Neokortex 1999, ISBN 80-86330-02-X Richta, K., Šaloun, P.: Programovací jazyk C, skriptum ČVUT, Praha 1998 Šaloun, P.: Programovací jazyk C. Skriptum FEI VŠB-TU Ostrava 1994. Kernighan, B., Ritchie, D.: Programovací jazyk C, Alfa Bratislava, 1988 Herout, P., Rudolf, V., Šmrha, P.: ABC programátora v jazyce C, nakladatelství KOPP, České Budějovice, 1992 Vondrák, I., Šaloun, P.: Objektově orientované programování, skriptum VŠB Ostrava, 1994 Horstmann, C. S.: Vyšší škola objektového návrhu v C++. Science, Veletiny 1997

Doporučená literatura:

SCHILDT. Herbert. Nauč se sám C++. Osborne/Softpress. 2000. ISBN 80-86497-13-5 SCHILDT. Herbert. Nauč se sám C. Osborne/Softpress. 2000. ISBN 80-86497-16-X Sylaby přednášek. Eletronické výukové materiály: HTML a Macromedia Flash simulace. Virius M.: Pasti a propasti jazyka C++, ComputerPress, Praha 2005, druhé vydání, ISBN 80-251-0509-1 Sedgewick R.: Algoritmy v C, části 1-4, SoftPress, Praha 2003, ISBN 80-86497-56-9

Forma způsobu ověření studijních výsledků a další požadavky na studenta

Podmínky udělení zápočtu: Získat alespoň 10 bodů za semestrální projekt a 7 bodů za domácí příklady tj. celkem 17 bodů za zápočet z 35 možných bodů

E-learning

Další požadavky na studenta

Prerekvizity

Předmět nemá žádné prerekvizity.

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

Přednášky: Pojem algoritmu, požadavky na algoritmus, způsoby zápisu algoritmu. Úvod do jazyka C, Vstup a výstup, Tvorba procesorového kódu. Zdrojový kód, objektový kód, linkování, kompilace. Datové typy, operátory, výrazy, konstanty. Operátory - aritmetické, přiřazovací,relační,logické, podmíněný výraz , typová konverze Příkazy a bloky. Operátor čárka. Příkay break a continue. Registrové proměnné Příkazy cyklu for a do-while. Jednoduché programy. Pole. Funkce. Automatické a externí proměnné. Rekurzívní funkce Ukazatelé, pole, funkce. Ukazatelé a adresy, Ukazatelé a argumenty funkcí. Ukazatelé a pole. Ukazatelé a konstanty. Argumenty povelového řádku. Inicializace polí a polí ukazatelů. Knihovny standardních funkcí jazyka C. Tvorba knihovních funkcí v prostředí Code Warrior Struktury, třídy, uniony, bitová pole, Struktury a třídy, Pole struktur,Typ union, Anonymní typ union, Bitová pole. Objektově orientované programování. Třídy a objekty v C++. Modifikátory přístupu. Dědičnost. Polymorfismus v C++, včasná a pozdní vazba. Přetížení metod a funkcí. Šablony. Počítačové laboratoře: Náplň počítačových cvičení Seznámení se z vývojovým prostředím CodeWarrior. Vytvoření projektu. První program. Kompilátor jazyka C. Práce se základními datovými typy a konstantami. Příklady na využití aritmetických, přiřazovacích, relačních, logických operátorů a podmíněného výrazu. Přetypování. Praktická ukázka využití volání funkce hodnotou a odkazem, příklad: funkce pro umocňování, rekurzivní funkce. Plnohodnotný simulátor procesoru. Simulace vstupů, výstupů a rozhraní. Ladění kódu - krokování programu, breakpoint, watchpoint Příklad na ukázku bloku příkazů, použití lokálních a globálních proměnných. Využití operátoru čárka, break, continue, registrovaných proměnných. Práce s jednorozměrnými typy polí, sčítání matic - dvojrozměrné pole, vícerozměrné pole Knihovny standardních funkcí jazyka C, možnosti využití knihoven funkcí. Práce s ukazateli a použití ukazatelů - vstupních parametrů funkcí. Práce s ukazatelem na pole - příklad na zpracování řetězce, s ukazateli na funkce. Inicializace polí a polí ukazatelů.Vstup argumentů do aplikace přes příkazový řádek Kopírování souborů, práce se znaky, způsob zpracování textových a binárních souborů Práce s ukazateli a vícerozměrná pole. Vnitřní funkce, dosazené parametry. Používání struktur - množiny různých datových typů, práce s polem struktur. Využití typu union a bitového pole. Příklad na vytvoření dynamického seznamu.

Podmínky absolvování předmětu

Prezenční forma (platnost od: 1960/1961 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 45 (45) 0
                Písemka Písemka 45  0
        Zkouška Zkouška 55 (55) 0
                Ústní zkouška Ústní zkouška 55  0
Rozsah povinné účasti:

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2009/2010 (B2649) Elektrotechnika (2601R004) Měřicí a řídicí technika P čeština Ostrava 2 povinně volitelný stu. plán
2009/2010 (B2649) Elektrotechnika (3901R039) Biomedicínský technik P čeština Ostrava 1 volitelný odborný stu. plán
2009/2010 (B2649) Elektrotechnika (2601R004) Měřicí a řídicí technika K čeština Ostrava 2 povinně volitelný stu. plán
2008/2009 (B2649) Elektrotechnika (2601R004) Měřicí a řídicí technika P čeština Ostrava 2 povinně volitelný stu. plán
2008/2009 (B2649) Elektrotechnika (2601R004) Měřicí a řídicí technika K čeština Šumperk 2 povinně volitelný stu. plán
2008/2009 (B2649) Elektrotechnika (2601R004) Měřicí a řídicí technika K čeština Ostrava 2 povinně volitelný stu. plán
2008/2009 (B2649) Elektrotechnika (3901R039) Biomedicínský technik P čeština Ostrava 1 volitelný odborný stu. plán
2007/2008 (B2649) Elektrotechnika (2601R004) Měřicí a řídicí technika P čeština Ostrava 2 povinně volitelný stu. plán
2007/2008 (B2649) Elektrotechnika (2601R004) Měřicí a řídicí technika K čeština Ostrava 2 povinně volitelný stu. plán
2007/2008 (B2649) Elektrotechnika (3901R039) Biomedicínský technik P čeština Ostrava 1 volitelný odborný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku