170 likes | 294 Views
+ZPE ( Z áklady p rogramování pro e lektrotechniku) Ing.Jan MAYER E-mail: jmayer@kte.zcu.cz http://home.zcu.cz/~ jmayer/ZPE ICQ: 330-987-582. Místnosti pro cvičení. Sudé +liché kalendářní týdny: EU505. 1. CELKOVÉ INFORMACE.
E N D
+ZPE (Základy programování pro elektrotechniku) Ing.JanMAYER E-mail: jmayer@kte.zcu.cz http://home.zcu.cz/~jmayer/ZPE ICQ: 330-987-582
Místnosti pro cvičení • Sudé +liché kalendářní týdny: EU505
1. CELKOVÉ INFORMACE • Práce na cvičení - prvních 10 lidí kladné body zasprávně vypracované příklady (otázky) • Semestrální práce – mezní termín odevzdání je poslední předzápočtový týden. Spočívá v napsání programu, odladění a ověření správné funkce. Zdrojový kód (text) programu bude umístěn na Portál ( s min. týdenním předstihem, tj. do 11 výukového týdnu!!! ). Zápočtový test – bude cca v 11 výukovém týdnu
2. PRAVIDLA pro zápočet Zápočet : • Body na cvičeních 10 % • 1. test z jazyku C 5 % • Semestrální práce 10 % ( za opakované odevzdání -2 % ) ( za 1 den zpoždění -0,5% ) • Zápočtová písemka z jazyku C 25 % ( za každý nový pokus -2 % ) Nutno mít celkem za cvičení :> 25 % (max.50 %)
3. PRAVIDLA pro zkoušku Zkouška :zkouší vás ten,komu patříte na přednášky (tj. buď ing. Basl nebo ing. Kropík) • Písemný test (a b c d) + příklad na počítači= 50 % • nutno mít>25 % bodů z písemného testu pro postoupení k ústní části Výsledná známka=body za zápočet + zkoušku • výborně 85 % – 100 % • velmi dobře 69 % – 84 % • dobře 52 % – 68 % • nevyhověl < 52
4. Literatura Pavel Herout: Učebnice jazyka C (2 díly) Brian W.Kernighan , Dennis M.Ritchie: Programovací jazyk C (vydání 1988) Programovací jazyk C verze ANSIC99 (vydání 2009) Jiří Prokop: Algoritmy v jazyku C a C++ Robert Sedgewick: Algoritmy v C
Herbert Schildt: C (nauč se sám) ( nakladatelství SOFTPRESS www.softpress.cz ) internetové zdroje např.http://www.fi.muni.cz/usr/jkucera/pb071/uvodc.htm http://docs.linux.cz/programming/c/c_saloun/ přednášky cvičení
5. Základní pojmy Hardware počítače - procesor,operační paměť,vstupně-výstupní zařízení Software Operační systém (co to je ?) „Je to program.“ Pracuje v operační paměti, řídí zdroje počítače. Počet zdrojů je vždy omezený a musí se na ně čekat Systém čekání na obsluhu požadavků Pozor na stav vzájemného zablokování: „deadlock“ Základní datová struktura: fronta (FIFO)
Program (co to je ?) - Je to jednoznačný předpis (algoritmus) pro zpracování dat na počítači Programovací jazyk - prostředek, který slouží na přepis algoritmu do počítače Software Operační systém (co to je ?) „Je to program. “(zpravidla napsaný v Assembleru nebo v jazyce C) Pracuje v operační paměti, řídí zdroje počítače. Počet zdrojů je vždy omezený a musí se na ně čekat Systém čekání na obsluhu požadavků Může nastat stav vzájemného zablokování „deadlock“ Základní datová struktura: fronta - queue (FIFO: First in,First out)
Programovací jazyk (co to je ?) - Je to jednoznačný předpis (algoritmus) pro zprac.dat na počítači - základní stavbou připomíná hovorový jazyk , ale je podstatně jednodušší konstrukce (obsahuje mnohem méně pravidel) - slouží na jednoznačný zápis způsobu nakládání s datovými objekty – je to přepis algoritmu) Co je překladač programovacího jazyku ? „Je to program.“ Zpracovává posloupnost znaků (~ slov) na vstupu a generujeinstrukční kód na výstupu 2 základní typy překladačů: Překladač generující přímo strojový kód počítače (~kompilátor) Interpretační překladač (~interpret) generující mezikód Základní datovou strukturou pro práci překladače je zásobník – stack ( LIFO: last in , first out)
3 základní fáze překladu programovacího jazyku Lexikální analýza: Zpracovává posloupnost znaků na vstupu a dělí je na jednotlivá slova Syntaktická analýza: Rozpoznává správnost jazykových konstrukcí podle gramatiky toho kterého jazyka (gramatika je popsána syntaktickými pravidly) Sémantická analýza: Přizazuje jednotlivým konstrukcím jejich význam (sémantiku)
6. Ukázky definice progr.jazyka Definice některých prvků progr. jazyka - BNF – Backus-Naurova normální forma. Popis prvků gramatiky. Složitější prvky jazyku popisujeme pomocí už dříve definovaných prvků jednodušších. - BNF se často využívá k zápisu gramatik počítačových programovacích jazyků, sad instrukcí a komunikačních protokolů, ale také jako notace zastupující části gramatik skutečných jazyků. Řada učebnic o teorii programovacích jazyků nebo sémantiky popisuje programovací jazyky pomocí BNF. http://cs.wikipedia.org/wiki/Backus-Naurova_forma
Ukázka definice prvků jazyku pomocí BNF Číslice:Pozn.: znak “ | ” znamená “nebo“ <číslice>::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 Písmena: <písmeno> ::= a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z| A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z Logická hodnota: <logická hodnota>::= true | false Identifikátor: <identifikátor>::= <písmeno>| <identifikátor><písmeno>| <identifikátor><číslice> Číslo: <celé číslo bez znaménka>::= <číslice> | <celé číslo bez znaménka> <číslice> <číslo typu integer>::= <celé číslo bez znaménka> | + <celé číslo bez znaménka> | -<celé číslo bez znaménka> <desetinná část>::= . <celé číslo bez znaménka> <exponentová část>::= e< číslo typu integer >| E < číslo typu integer > <desetinné číslo>::= <celé číslo bez znaménka> | <desetinná část>| <celé číslo bez znaménka> <desetinná část>|