1 / 37

Organizační informace

Verze 2009.03. Organizační informace. 0. A1PRG - Programování - seminář Ing. Michal Heczko heczko@fai.utb.cz. Kontaktní informace. Ing. Michal Heczko E-mail: heczko@fai.utb.cz Telefon: +420 576 033 008 Kancelář: 218/U3 Konzultační hodiny: Pondělí 10:30 – 12:30.

alpha
Download Presentation

Organizační informace

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Verze 2009.03 Organizační informace 0 A1PRG - Programování - seminář Ing. Michal Heczko heczko@fai.utb.cz

  2. Kontaktní informace • Ing. Michal Heczko • E-mail: heczko@fai.utb.cz • Telefon: +420 576 033 008 • Kancelář: 218/U3 • Konzultační hodiny: • Pondělí 10:30 – 12:30

  3. Organizační informace • Seminář: 1 hodina týdně • Laboratoř: 3 hodiny týdně • Způsob zakončení předmětu: • Klasifikovaný zápočet

  4. Požadavky k zápočtu • Účast na seminářích a v laboratořích je POVINNÁ! • Povolená neúčast: 2 neúčasti • Další požadavky k zápočtu budou sděleny vyučujícími v laboratořích

  5. Studijní materiály • http://vyuka.fai.utb.cz • Nutná registrace • Předmět Programování (Michal Heczko) v sekci Bakalářské studium • Najdete zde: • Podmínky pro získání zápočtu (všichni studenti) • Prezentace a studijní materiály (všichni studenti) • Rozhraní pro odevzdání úkolů (týká se pouze studentů, které vyučuji i na laboratořích!)

  6. Studijní materiály • KERNIGHAN Brian W., RITCHIE Dennis M. Programovací jazyk C. Brno: ComputerPress, a.s. 2006. 286 s. ISBN 80-0897-X • HEROUT Pavel. Učebnice jazyka C – 1. Díl. České Budějovice: Kopp. 2004. 280 s. ISBN 80-7232-220-6 • HEROUT Pavel. Učebnice jazyka C – 2. Díl. České Budějovice: Kopp. 2004. 180 s. ISBN 80-7232-221-4 • KADLEC Václav. Učíme se programovat v jazyce C. Brno: ComputerPress, a.s. 2002. 280 s. ISBN 80-7226-715-9

  7. Studijní materiály • Přehled jazyka C a knihoven [online]. FIT VUT Brno. • http://www.fit.vutbr.cz/~martinek/clang/summary.html.cs • Učíme se jazyk C [online]. Builder. • http://www.builder.cz/serial3.html • C/C++ [online]. Linuxsoft. • http://www.linuxsoft.cz/article.php?id_article=370 • C++ Reference [online]. Cplusplus.com. • http://www.cplusplus.com/reference

  8. Verze 2009.03 Úvod do jazyka C 1 A1PRG - Programování - seminář Ing. Michal Heczko heczko@fai.utb.cz

  9. Agenda • Úvod do programování – základní pojmy • Historický úvod • Základní charakteristika jazyka • Způsob zpracování programu • Základní struktura programu • Ukázka jednoduchého programu

  10. Základní pojmy • Algoritmus • Postup vedoucí k řešení určitého úkolu • Program • Soustava příkazů vložených do počítače za účelem provedení určitého algoritmu • Podprogram • Dílčí program

  11. Základní pojmy

  12. Základní pojmy • Funkce • Podprogram s návratovou hodnotou • Procedura • Podprogram bez návratové hodnoty • Jazyk C dle původních norem procedury nepodporuje • Programovací jazyk • Forma zápisu jednotlivých příkazů • Způsob komunikace programátora s počítačem

  13. Základní pojmy • Syntaxe • Způsob zápisu • Sémantika • Význam jednotlivých konstrukcí

  14. C × C++ × C# • Jazyk C – označení jazyka C, který odpovídá zmíněným normám • Jazyk C++ - rozšíření jazyka C o objektový model • Jazyk C# - nejmladší jazyk, uvedla jej na trh společnost Microsoft, která jej využívá v technologii .NET Framework

  15. Historický úvod • 1969 – 73 – vývoj v laboratořích AT&T • Vychází z jazyků BCPL a B • 1978 – Brian W. Kernighan & Dennis M. Ritchie • 1. standard jazyky C • The C Programming Language • K&R C • 1988 – ANSI C • rozšíření popisu o řadu knihovních funkci • ve stejné době začíná vývoj jazyka C++

  16. Historický úvod • 1999 - rozšiřující standard ISO/IEC 9899:1999 (označován jako C99) • Přebírá některé vlastnosti C++ • Možnost kdekoliv deklarovat proměnné • Nové datové typy • 2007 – první návrh jazyka C1X • Oprava bezpečnostních chyb, zvýšení kompatibility s jazykem C++

  17. Základní charakteristika jazyka C • Univerzální programovací jazyk nízké úrovně • Není specializován na jednu oblast používání • Není vázán na konkrétní počítač či operační systém • C byl navržen a implementován pod operačními systémy UNIX a téměř celý UNIX je v C napsán • Často efektivnější a rychlejší než jiné jazyky

  18. Základní charakteristika jazyka C • Velmi úsporné vyjadřování • Strukturovaný • Velký soubor operátorů • Hlavní výhody: • Snadné vytvoření překladače pro konkrétní počítač a konkrétní operační systém (velké rozšíření jazyka C) • Velká efektivita kódu (téměř se vyrovná assembleru)

  19. Způsob zpracování programu • Zpracování programu lze shrnout do několika fází • Cyklus zpracování programu probíhá u všech překladačů. U moderních vývojových prostředí je zautomatizován.

  20. Způsob zpracování programu • Editor: • Vytváření a editace zdrojového souboru (*.c, *.cpp)

  21. Způsob zpracování programu • Preprocesor • Součást překladače • Předzpracovává (upravuje) zdrojový kód tak, aby měl překladač snadnější práci

  22. Způsob zpracování programu • Compiler (překladač) • Přeloží zdrojový kód (upravený preprocesorem) do relativního (objektového) kódu počítače • Výsledkem 2 soubory: • Objektový kód (*.obj) a protokol se zprávou o chybách (*.lis)

  23. Způsob zpracování programu • Linker (sestavovací program) • Přiřadí relativním adresám v objektovém kódu adresy absolutní • Provede všechny odkazy na knihovní funkce (*.lib) • Výsledkem spustitelný soubor (*.exe)

  24. Způsob zpracování programu • Debugger • Ladící program • Slouží pro ladění programu a odhalení chyb

  25. IDE • IDE (Integrated development environment) • Integrované vývojové prostředí • Zahrnuje celý cyklus vývoje aplikace • Např. • MS Visual Studio • Dev C++

  26. Ukázka programu #include <stdio.h> intmain() { printf("Ahoj svete!"); return 0; }

  27. Ukázka programu #include <stdio.h> intmain() { printf("Ahoj svete!"); return 0; }

  28. Ukázka programu #include <stdio.h> intmain() { printf("Ahoj svete!"); return 0; }

  29. Ukázka programu #include <stdio.h> intmain() { printf("Ahoj svete!"); return 0; }

  30. Ukázka programu #include <stdio.h> intmain() { int x = 5; int y = 6; printf(”Výsledek: %d”,x*y); return 0; }

  31. Ukázka programu #include <stdio.h> intmain() { int x = 5; int y = 6; printf(”Výsledek: %d”,x*y); return 0; }

  32. Ukázka programu #include <stdio.h> intmain() { int x = 5; int y = 6; printf(”Výsledek: %d”,x*y); return 0; }

  33. Ukázka programu #include <stdio.h> intmain() { int x = 5; int y = 6; printf(”Výsledek: %d”,x*y); return 0; }

  34. Chyby • Chyba syntaxe • Chybný zápis • Překladač na chybu upozorní • Chyba sémantiky • Chybný význam programu • Překladač na chybu neupozorní

  35. Ukázka: chyba syntaxe #include <stdio.h> intmain() { int x = 5; int y = 6; // v tomto případě nás překladač upozorní na chybu, použili jsme totiž neexistující funkci a nedefinovanou proměnnou printx(”Výsledek: %d”,z*y); return 0; }

  36. Ukázka: chyba sémantiky #include <stdio.h> intmain() { int x = 5; int y = 6; // záměrem bylo, stejně jako v předchozím případě vypočítat x*y, avšak díky překlepu se to nestane. X je definované, takže překladač na chybu neupozorní. printf(”Výsledek: %d”,x*x); return 0; }

  37. A1PCJ-s 01. Úvod Děkuji za pozornost Ing. Michal Heczko heczko@fai.utb.cz 218/U3 Prezentace k dispozici na http://vyuka.fai.utb.cz

More Related