Jazyk C základní informace. Vlastnosti
|
|
- Rostislav Vlček
- před 5 lety
- Počet zobrazení:
Transkript
1 Jazyk C základní informace Vlastnosti - Univerzální strukturovaný programovací jazyk - Jazyk nižší úrovně používá jen standardní jednoduché datové typy - Neumožňuje přímou práci s řetězci, poli, vstup a výstup vše je řešeno přes funkce - Vysoce efektivní kód - Snadná přenositelnost zdrojových programů na různé procesory i OS - Navržen a implementován pro/s UNIXem - Existuje spousta překladačů Historie původní C K&R Kernighan and Ritchie Kernighan and Ritchie: The C programming language ANSI C americký standard pro C přesně definuje jazyk C i překladače a standardní sadu hlavičkových souborů a knihoven ISO C90 mezinárodní norma ISO C99 novější norma Princip překladu Zdrojový kód napsaný v editoru.c je společně s hlavičkovými soubory.h zpracován preprocesorem. Compiler (překladač) pak takto zpracovaný výstup převede do relativního kódu.obj. Linker následně připojí knihovny, upraví adresy na absolutní a vytvoří spustitelný EXE soubor.
2 Jazyk C popis První program: - struktura zdrojového kódu - úprava zdrojového kódu - prvky zdrojového kódu /* soubor hello.c */ #include <stdio.h> /* vlozeni rozhrani */ int main(void) { printf( Ahoj!\n ); return 0; pozn. system("pause"); Identifikátory Představují názvy proměnných, konstant, funkcí, maker,. - case sensitive - omezená délka 31 (63) ale někdy podle kompilátoru i méně - dovoleny jsou klasické znaky (písmena, čísla, _, ) Klíčová slova Řídí provádění programu (if, while, for, ) Existuje celá řada klíčových slov
3 Komentáře Do poznámek: - popis (vysvětlení) co část kódu provádí - minimálně popis u hlavičky funkcí - části kódu, které nechceme zrovna překládat /* klasická C poznámka */ // ISO C99 poznámka do konce řádku Jednoduché datové typy void - prázdný datový typ char - znak short - krátké celé číslo int - celé číslo (podle registru procesoru) long - dlouhé celé číslo float - reálné číslo double - reálné číslo vyšší přesnost + další typy: long long int, long double, Modifikátory: unsigned / signed Rozsah hodnot: char - 1B ( ) int - podle architektury 4B, 2B float - 4B + 6B přesnost (za des. čárkou) Př.: Zjištění velikosti přidělené paměti pro datový typ: sizeof(int);
4 Př.: Zápis proměnné konkrétního typu a konstanty int pocet; int promena1, promena2; int velikost=15; const char pismeno= a ; Pozn.: vytvoření vlastního jména typu: typedef int LENGTH; Operátory Definují jednotlivé operace ve výrazech: +, - *, /, &&,, =, ==, <>, <=,., %,!,.. atd. Operátory se mohou chovat různě vzhledem k použitým operandům (jejich typům) např. dělení (celočíselné a reálné) Literály - celočíselné 5, -564, 06 (osmičkové), 0x5E (šestnáctkové) Poslední znak v literálu L, LL, U, určuje typ long, long long, unsigned, - reálné 5.75, -2e+9, Standardně double, přípony L, F (long double, float) - znakové a Znaky, které mají v C speciální význam nutno zapsat pomocí \ (escape sekvence) \n, \t, \\, \,, \x0a - řetězce string Každý řetězec končí znakem \0 NUL
5 Výrazy a práce s proměnnými int i; - DEKLARACE i=5; i=5+5; i=5*i; i=(5+i)*i; i++; i=i+5; /* nebo zkráceně i+=5; */ - každý příkaz končí ; - identifikátor (proměnná) musí být nejprve deklarována než je použita - globální identifikátor X lokální X formální parametr funkce int x=10; int main() { double x=1.1; /* ve funkci platí double x */ printf( %f,x); return 0; void printxy(int y) { /* zde platí int x a parametr funkce y*/ printf( %d,x); printf( %d,y);
6 Hlavní program funkce main() - hlavní funkce musí v programu být - defaultní typ int int main() { // název funkce a její typ return 0; // návratová hodnota NEBO int main(int argc, char *argv[]) { // dva parametry funkce main return 0; Standardní knihovny podle ISO C
7 Knihovny (hlavičkové soubory) obsahují definice typů, maker, funkcí, proměnných. Připojení #include <stdio.h> #include soubor.h // dovoz rozhraní modulu z vlastního souboru Terminálový výstup a vstup Znak: getchar(); // vrací načtený znak ze stdin getc(stdin); putchar(); // zapíše znak na stdout, vrací znak nebo nelze-li zapsat EOF putc(c,stdout) Pozn.: Při spouštění programu lze přesměrovat stdin i stdout do/ze souboru program.exe <vstup.txt >vystup.txt EOF je hodnota (makro) určující konec souboru - 26D Formátovaný vstup a výstup: printf(); Tisk řetězce na stdout. př.: printf( Výsledek je %d,vysledek); Za znakem % může být celá řada specifikací, které říkají formát výpisu: %d - celé desítkové číslo %c - znak %f - float %s - řetězec %x - hexa číslo atd
8 %5.2lf - long float 5 míst a 2 desetinná scanf(); Formátované čtení ze stdin. scanf( %d, &cislo); Použití zápisu % podobně jako u printf. & - značí adresu proměnné Můžeme načítat více hodnot současně. Pozn. %*d - * potlačí přiřazení Př.: Napište program, který vyzve uživatele k zadání dvou čísel a vypíše je i jejich součet. Př.: Napište program, který načte 3 reálná čísla a vypíše jejich průměr na 2 desetinná místa. Booleovské výrazy využití typu int 0 TRUE (PRAVDA) jinak FALSE (NEPRAVDA) operátory ==,!=, &&,,!, <, <=, >, >= Pozn. Standardně se využívá zkrácené vyhodnocování výrazů Př. (y!=0) && (x/y <5) // OK Pozn.: pozor na priority jednotlivých operátorů (pokud si nejsme jisti závorkujeme) aritmetické > porovnávací > logické
9 Řídící struktury if a if-else v závislosti na splnění či nesplnění podmínky je nebo není provedena určitá část kódu. Složený příkaz je nutno zavřít do závorek {. Vyhodnocovaný výraz musí být vždy uzavřen v závorkách (). if (výraz) příkaz; if (výraz) { blok příkazů if (výraz) příkaz1; else příkaz2; CYKLY - každý cyklus musí někdy skončit ukončovací podmínky - obecně lze různé typy cyklů zaměňovat, volba závisí na programátorovi cyklus while testuje podmínku před začátkem cyklu. cyklus tedy vůbec nemusí proběhnout. V těle cyklu je příkaz nebo blok příkazů {, event. i prázdný příkaz ; while (x<10) příkaz; cyklus do-while podmínka se testuje až na konci cyklu a cyklus tak proběhne minimálně jednou. Cyklus se opouští při nesplněné podmínce.
10 do { i++ while (i<10); cyklus for Pokud známe předem počet průchodů cyklem používáme for. Nevhodné měnit řídicí proměnou kdekoliv v těle cyklu. for (i=1; i<=10; i++) { printf( %d,i); příkazy break a continue break; - ukončuje neuzavřenou vnitřní smyčku ukončí cyklus continue; - skočí na konec smyčky a spustí další iteraci cyklu Př.: Napište program, který načte číslo značící limit jako požadavek ze stdin, toto číslo uložte. Program pak v cyklu čte čísla a sčítá je dokud nenačte číslo 0. Program porovná součet čísel s uloženým limitem a vypíše výsledek porovnání a výsledek součtu načtených čísel. příkaz switch využívá se pro mnohonásobné větvení dá se nahradit kombinací a vnořováním if-else rozhodovací podmínka musí být int každá větev ukončena příkazem break; a příkazy v ní není nutno uzávorkovávat { větev default (nepovinná) se provádí pokud žádná podmínka nevyhovuje switch(getchar()) { case a : putchar( 1 ); break; case b : putchar( 2 );
11 break; default: break; příkaz goto používat pouze ve výjimečných případech nazev: goto nazev; podmíněný výraz podmínka? výraz1 : výraz2 Př. c = (c >= A && c<= Z )? c + ( a A ) : c; 65 (41H) A. 97 (61H) a operátor čárky výraz1, výraz2 vyhodnotí jako první (zde zaručeno!) výraz1 a pak výraz2 Používat pouze v řídících částech cyklů apod. Př.: for (i=1, j=10; i<=limit; i++, j++) Př.: Napište program, který čte znaky ze stdin (můžete přesměrovat soubor) dokud nedojde na EOF a pak vypíše počet řádků, znaků a písmen a spočte průměrný počet znaků ve slově a znaků na řádku a vypíše.
12 FUNKCE Jakýkoliv jen trochu větší program se prakticky neobejde bez používání funkcí. definice kompletní specifikace vč. typu i s alokací paměti u funkce určuje jak hlavičku tak tělo funkce minimálně jedna funkce: main() v těle funkce nemůže být definice jiné funkce int secti(int a, int b) { return (a + b); vysledek = secti(5,x);.. pokud je typ funkce void funkce nic nevrací jedná se o proceduru (return pak obsahuje jen pro nucené ukončení) Funkce je použitelná (volatelná) až za její definicí. Jinak je nutné uvést funkční prototyp tj. hlavička funkce v oblasti globálních proměnných: int secti(int a, int b); // úplný funkční prototyp Pozor na oblasti platnosti všech identifikátorů v programu!!! Př.: Napište program, který vypíše faktoriály čísel od 0 do 12 K vlastnímu výpočtu faktoriálu napište funkci factorial() Zkuste zapsat rekurzivní i nerekurzivní variantu. Pozor na rozsah typů, které použijete (popř. testujte přetečení a při chybě vracejte 0)
13 Statická Pole jednorozměrná pole int x[pocet]; double d[3] = {5.5, 3.5, 2.0 ; Prvků v poli je vždy 0 až počet-1!!! Počet musí být znám již v době překladu. Pozor C nekontroluje meze polí!!! pozor na indexaci. x[i] = 15; vícerozměrná pole int x[6][5]; // jedná se o pole polí - matice Statický řetězec string char retezec[10] = text ; řetězec končí vždy znakem \0 řetězec nelze přiřazovat: str = text ; Pozn.: char *retezec = text ; čtení a výpis řetězce: scanf( %s, s1); pozor není zde &s1!!! Načte řetězec (končí prázdným znakem tj i mezera!!!) do s1 pozor na přetečení pole (řetězce) Př. scanf( %1s, s1); // načte jeden znak printf( %s,s1);
14 funkce pro práci s řetězci gets(); strlen(); strcpy(); strcat(); strchr(); strcmp(); atd atoi(); atoll();. sprintf(); sscanf(); Př.: Napište funkci Strcmp int StrCmp(const char *s1, const char *s2); která lexikálně porovná dva ASCII řetězce. Výsledek funkce je definován takto: <0: s1 < s2 0: s1 = s2 >0: s1 > s2 Př.: Napište program obsahující pevně danou definici matice 6 x 6. Tmat M = { {1, {2,2, {3,3,3, {4,4,4,4, {5,5,5,5,5, {6,6,6,6,6,6, ; Program obsahuje tři funkce. Provede tisk, tisk transponované, a tisk otočené: void tiskmatice(const Tmat M); void transpon(tmat M); void otoc(tmat M); Struktura a výčtový typ struktura varianty zápisu struct { polozky; nazev_promenych;
15 struct nazev_s { polozky; ; struct nazev_s promena; typedef struct nazev_s { polozky; NAZEV_S; NAZEV_S promene; promena.polozka = hodnota; Výčtový typ typedef enum { PO, UT, ST, CT, PA DNY; DNY den; den=po; Prvky mají hodnoty 0, 1, 2, nebo jim můžeme hodnotu přiřadit PO=5, Souborový vstup a výstup Načítání rozsáhlých dat z klávesnice a jejich výpis na monitor je často nepoužitelný, proto se používají soubory. Také je často potřeba ukládat perzistentní data pro běh programu. Kromě přesměrování stdin a stdout (viz. výše) můžeme se soubory pracovat přímo. FILE *soubor; // definice proměnné soubor (pointer na objekt FILE) pozn.: pro zápis a čtení používat odlišné identifikátory
16 Před prací se souborem je třeba jej otevřít: soubor = fopen( NAZEV_SOUBORU, REZIM_OTEVRENI ); fopen() vrací NULL při nesprávném otevření souboru vždy testovat! Režimy otevření: r, rb - čtení a čtení binárního souboru w, wb - zápis a zápis binárního souboru a, ab - připojení a připojení k binárnímu souboru (jsou možné i kombinace) Př.: const char *name = test.txt ; FILE *fp; fp = fopen( name, r ); if( fp == NULL ) error( soubor %s nelze otevrit pro cteni, name); Uzavření souboru: fclose(soubor); // vrací EOF pokud se nepodaří uzavřít Pozn.: Standardně jsou již otevřeny tři io proudy dat (soubory): FILE *stdin, *stdout, *stderr; (pozn.: je možné přiřazení např.: fw = stdout; ) Funkce pro práci se souborem: znak = getc(soubor); putc(znak, soubor); //precte znak //zapise znak
17 fscanf(soubor, data, argumenty), fprintf(soubor, data, argumenty) ungetc(c, soubor) Konec souboru: - testovat přes symbolickou konstantu EOF if ((c=getc(fr))!= EOF). int main(int argc, char *argv[]) argc počet argumentů při spuštění programu argv pole řetězců (vlastní argumenty) Př.: Napište program který odstraní komentáře v C zdrojovém souboru - program očekává 2 parametry: vstupní a vystupni soubor - pokud má jen 1 parametr jedná se o vstupní a jako výstupní použije out.txt - pokud nemá žádný parametr očekává zápis z klávesnice a výpis na monitor - čte ze souboru dokud nenarazí na jeho konec - vypisuje to co načte, ale odstraní komentáře o oba typy komentářů o pozor na řetězce a znakové konstanty o implementujte konečný automat nebo řešte intuitivně
18 Ukazatele int *px = NULL; int x,y; px = &x; y = *px; // deklarace ukazatele // proměnné typu int // & - získá adresu a * zpřístupní hodnotu Při klasickém volání funkce se předávají parametry hodnotou. S využitím ukazatelů můžeme předávat parametry odkazem: void prohod(int *px, int *py) { int temp = *px; *px = *py; *py = temp; int x,y;... prohod(&x,&y); v praxi je třeba často přidělovat (a uvolňovat) paměť dynamicky: malloc(); free(); Abstraktní datové typy: Seznam: ke každému prvku lze určit jediný bezprostředně následující prvek; je definován jeden z prvků, který je aktivní (pokud takový prvek není, celý seznam je neaktivní). Seznam může dále být jednosměrný, obousměrný nebo kruhový Zásobník: LIFO (last in first out) s definovanými operacemi Push, Pop, Top, IsEmpty Fronta: FIFO (first in first out) QueUp, First, Remove, může být oboustranně ukončená Pole: náhodný přístup, počet prvků je předem stanoven (statické pole) nebo se mění (dynamické pole) Tabulka: vyhledávací tabulka, každá položka má klíč a hodnotu
19 Stromy: mají kořen a listy, nejjednodušší je binární strom. BS je buď prázdný nebo se sestává z vrcholu a levého a pravého podstromu. Oba podstromy mají vlastnosti BS. (rekurzivní definice) Př.: (zásobník) typedef struct tzasobnik { char name[100]; struct tzasobnik *pre; tzasobnik; tzasobnik *top, *act, *zas; // ukazatel na predchozi // vklada se vzdy na TOP // ukazatele na zasobnik top=null; //VKLADANI if ((zas = (tzasobnik *) malloc(sizeof(tzasobnik))) == NULL) fprintf(stderr,"malo pameti \n"); strcpy(zas->name,ctk); zas->pre=top; top=zas; // vytvori novy a ulozi tam nazev // predchozi je ten co byl na TOP // TOP je ted ten novej //PROCHAZENI for(act=top; act!= NULL; act=act->pre){ Základní algoritmy pro řazení a vyhledávání Řazení Hodnotící kritéria: stabilita: metoda je stabilní, pokud zachovává relativní pořadí prvků se stejným klíčem přirozenost: metoda je přirozená, pokud nejkratší dobu trvá seřazení již seřazeného pole, potom náhodně seřazené pole a nejdelší je opačně seřazené pole in situ: pracuje najednou se všemi prvky pole (bez rekurze), používá jen řazené pole (a žádné další)
20 Straight selection sort: nestabilní Část pole od 1 do K je již seřazena. Minimální prvek z části od K+1 do N se vymění s K+1. prvkem. Na začátku je seřazená část pole prázdná Bubble sort: stabilní a přirozená, vhodná na testování, zda je pole seřazené Neseřazená část pole se prochází zprava doleva a porovnávají se postupně každé dva sousední prvky pole. Nejsou-li vzájemně seřazeny, tak se vymění. Tímto způsobem vybublá na nejlevější pozici minimum a i ostatní prvky se posunou ke svým správným pozicím. (existuje spousta variant a modifikací základního algoritmu) Quick sort: nestabilní, nepřirozená, nepracuje in situ Rozdělí pole na dvě části, ve kterých platí, že všechny prvky první části jsou menší než prvky ve druhé části. int polea[10]; Qsort(poleA,0,9); int Qsort(int pole[],int d,int h) { int i,j; int x,z; i=d;j=h;x=pole[(int)((d+h)/2)]; do { while (pole[i]<x) i++; while (pole[j]>x) j--; if(i<=j){ z=pole[i]; pole[i]=pole[j]; pole[j]=z; i+=1; j-=1; while(i<=j); if(d<j) Qsort(pole,d,j); if(i<h) Qsort(pole,i,h); return 0; Další algoritmy: HeapSort (využití stromové struktury), MergeSort, RadixSort,
21 Vyhledávání Sekvenční vyhledávání: sekvenčně se prochází všechny prvky. Nesekvenční vyhledávání v seřazeném poli Binární vyhledávání: na principu metody půlení intervalů Fibonacciho vyhledávání: nedělí interval na poloviny, ale podle hodnot Fibonacciho posloupnosti, ke kterým stačí aditivní operace (rychlejší) Binární vyhledávací strom: binární uspořádaný strom, pro jehož každý uzel platí, že jeho levý podstrom je buď prázdný, nebo sestává z uzlů, jejichž klíče jsou menší než jeho, podobně i pro pravý podstrom. Při průchodu INORDER v BVS získáme seřazený lineární seznam.
22 Moduly a vkládání souborů Program můžeme rozdělit do několika souborů.c. Společnou část pak tvoří rozhraní uvedené v souboru.h (hlavičkový soubor) který obsahuje jen externí deklarace funkcí, proměnných apod. využitelných ve všech souborech do kterých se vkládá. Správné sestavení programu zajišťuje integrované vývojové prostředí nebo třeba makefile.
23 C++ - jazyk vyšší úrovně - podpora abstraktních datových typů - vychází z C zpětná kompatibilita - objektová orientace - #include <iostream> int main() { std::cout << Hello! \n ; // tisk retezce OO přístup (Objektově orientovaný přístup): V objektově orientovaném přístupu uvažujeme o organizaci software jako kolekci diskrétních objektů, které zahrnují jak data tak i jejich chování. Důležitým pojmem je Objekt. Existuje mnoho různých definicí objektu, ale všechny mají několik základních podobných rysů. Objekt můžeme definovat jako reálnou věc nebo její abstrakci. Z pohledu programátora se jedná o abstrakci, která reprezentuje reálnou věc. Každý objekt má svoji jednoznačnou identifikaci v daném systému. Objekt zahrnuje řadu dat a operací nad nimi. Objekt je vůči okolí uzavřený, s lokálními daty pracují lokální metody. Komunikace mezi dvěma objekty se odehrává prostřednictvím zpráv. Objekt na příchozí zprávu reaguje zpuštěním vlastní metody, která provádí určitou činnost s daty objektu, nebo posílá zprávu dalšímu objektu. Celý softwarový systém je pak tvořen řadou objektů, mezi nimiž existují přesně definované vztahy.
24 Seznam zpráv, které je možné objektu poslat Metody posloupnosti kódu vykonávajícího činnost Metoda 3 Zpráva 1 Zpráva 2 Zpráva 3 Zpráva n Metoda 2 Metoda 4 Odkazy na jiné objekty Metoda 1 Lokální data hodnoty atributů určují stav objektu Pro usnadnění vývoje objektově orientovaných systémů byl zaveden pojem třída. Třída popisuje vlastnosti objektu. Definuje tedy vnitřní strukturu objektu. Každý objekt odvozený od konkrétní třídy bude mít stejný typ a počet atributů i metod. Objekt potom můžeme definovat jako instanci jeho třídy. Stav, v jakém se objekt nachází, však není dán třídou, ale provedenými operacemi, tedy hodnotami jeho atributů. Zaměstnanec Jméno Příjmení RČ Adresa Telefon Pracovní zařazení vypiš informace() přidej() odeber() uprav údaje()
25 Základní vlastnosti OO přístupu: - Zapouzdření (viditelné je pouze rozhraní, podrobnosti implementace nás nezajímají) - Dědičnost (objekty často mívají společné vlastnosti a mohou je dědit odpadají tak zbytečné redefinice) - Abstrakce (zavedením abstraktních tříd můžeme lépe využít dědičnosti ) - Vztahy mezi objekty (dynamické předávání zpráv mezi objekty X statické asociace, generalizace/specializace a agregace) - Polymorfismus (jedna operace provádí jinou činnost pro různé typy objektů) Př.: (diagram tříd - UML) Role Agregace Zodpovědnost Násobnost Generalizace Atributy Pojmenování asociace Operace
26 class T { // data (i jiné objekty) int i; // metody void m(); // specifikace pristupovych prav private: // definice vnorenych typu, trıd, konstant,... typedef int typ; ; Přístupová práva mohou být: public, private, protected class T { int i; // class => implicitne private public: int j; // public protected: int k; // protected public: int l; // public int m; ; Př.: class FPS // Trida FPS { private: unsigned int stary_cas; unsigned int aktualni_cas; double fps; // Pocet snímku za sekundu public: void Vypocet(); // funkce pro výpočet fps inline double GetFPS() { return fps; ;
27 void FPS::Vypocet() { aktualni_cas = SDL_GetTicks(); // Vrátí milisekund od inicializace SDL fps = 1.0 / ((aktualni_cas - stary_cas) / ); stary_cas = aktualni_cas; FPS fps;// Objekt tridy /* POUŽITÍ*/ fps.vypocet(); // Aktualizace FPS aktual_fps = fps.getfps();
Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
VíceProgramovací jazyk C++ Hodina 1
Programovací jazyk C++ Hodina 1 Používané překladače Bloodshed Dev C++ http://www.bloodshed.net/devcpp.html CodeBlocks http://www.codeblocks.org pokud nemáte již nainstalovaný překladač, stáhněte si instalátor
Vícefor (i = 0, j = 5; i < 10; i++) { // tělo cyklu }
5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu
VíceObsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
VíceAlgoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová
VíceProgramovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;
Programovací jazyk C(++) static struct vm_area_struct * unmap_fixup(struct mm_struct *mm, struct vm_area_struct *area, unsigned long addr, size_t len, struct vm_area_struct 1. *extra) Základy { struct
VíceSprávné vytvoření a otevření textového souboru pro čtení a zápis představuje
f1(&pole[4]); funkci f1 předáváme hodnotu 4. prvku adresu 4. prvku adresu 5. prvku hodnotu 5. prvku symbolická konstanta pro konec souboru je eof EOF FEOF feof Správné vytvoření a otevření textového souboru
Více9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>
9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte
Více8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek
8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy
VíceZáklady programování (IZP)
Základy programování (IZP) Páté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 5. týden
VíceZákladní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VíceAlgoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová
VíceIUJCE 07/08 Přednáška č. 1
Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming
VíceZačínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů
Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské
Více- jak udělat konstantu long int: L long velka = 78L;
Konstanty (konstatní hodnoty) Např.: - desítkové: 25, 45, 567, 45.678 - osmičkové: 045, 023, 03 vždy začínají 0 - šestnáctkové: 0x12, 0xF2, 0Xcd, 0xff, 0xFF - jak udělat konstantu long int: 245566553L
VíceZápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
VíceOpakování programování
Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
VícePROGRAMOVÁNÍ V C++ CVIČENÍ
PROGRAMOVÁNÍ V C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com PODMÍNKY ZÁPOČTU Základní podmínky společné
VíceZákladní datové struktury
Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013
VíceJazyk C++, některá rozšíření oproti C
Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra
VíceÚvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VíceADT/ADS = abstraktní datové typy / struktury
DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní
Více2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby
VícePráce se soubory. Základy programování 2 Tomáš Kühr
Práce se soubory Základy programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup
VíceVýrazy a operátory. Operátory Unární - unární a unární + Např.: a +b
Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -
VíceÚvod do programování. Lekce 1
Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -
VíceOperační systémy. Cvičení 3: Programování v C pod Unixem
Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené
Více10 Práce s řetězci - pokračování
10 Práce s řetězci - pokračování Máme deklarováno: char retez[50]; - čtení z klávesnice: scanf("%s", retez); - čtení zadané počtu znaků z klávesnice scanf("%10s", retez); // přečti řetězec z klávesnice,max
VíceLekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceProgramování v C++ 1, 1. cvičení
Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených
VíceFormátové specifikace formátovací řetězce
27.2.2007 Formátové specifikace formátovací řetězce - je to posloupnost podle které překladač pozná jaký formát má výstup mít - posloupnosti začínají znakem % a určující formát vstupu/výstupu - pokud chcete
VíceOperační systémy. Cvičení 4: Programování v C pod Unixem
Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné
VíceAlgoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
VíceIUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje
Konstanty I možnosti: přednostně v paměti neexistuje žádný ; o preprocesor (deklarace) #define KONSTANTA 10 o konstantní proměnná (definice) const int KONSTANTA = 10; příklad #include v paměti
VíceZáklady programování (IZP)
Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden
Více5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
VíceProgramovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
VíceReprezentace dat v informačních systémech. Jaroslav Šmarda
Reprezentace dat v informačních systémech Jaroslav Šmarda Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník,
VíceAlgoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
VíceJazyk C práce se soubory. Jan Hnilica Počítačové modelování 16
Jazyk C práce se soubory 1 Soubory Použití souborů pro vstup většího množství dat do programu (uživatel nezadává z klávesnice ručně tisíce údajů...) pro uložení většího množství výsledků, např. k pozdějšímu
VícePole a Funkce. Úvod do programování 1 Tomáš Kühr
Pole a Funkce Úvod do programování 1 Tomáš Kühr (Jednorozměrné) pole u Datová struktura u Lineární u Homogenní = prvky stejného datového typu u Statická = předem určený počet prvků u Pole umožňuje pohodlně
VíceZPRO v "C" Ing. Vít Hanousek. verze 0.3
verze 0.3 Hello World Nejjednoduší program ukazující vypsání textu. #include using namespace std; int main(void) { cout
VíceAlgoritmy I. Cvičení č. 2, 3 ALGI 2018/19
Algoritmy I Cvičení č. 2, 3 1 ALG I, informace Cvičící RNDr. Eliška Ochodková, Ph.D., kancelář EA439 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející doc. Mgr. Jiří Dvorský, Ph.D., kancelář
Více2 Datové typy v jazyce C
1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,
VíceZáklady programování (IZP)
Základy programování (IZP) Čtvrté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 4.
VíceLogické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false
Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární
VíceObjektově orientované programování
10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh
VíceProměnná a její uložení v paměti
Proměnná a její uložení v paměti Počítačová paměť - řada buněk uložených za sebou, každá buňka má velikost 1 bajt (byte, B) - buňky jsou očíslovány, tato čísla se nazývají adresy Proměnná - data, se kterými
VíceStromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy
Stromy úvod Stromy Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Neorientovaný strom Orientovaný strom Kořenový orientovaný
VíceAlgoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
VíceStruktura programu v době běhu
Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů
VíceMaturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
VíceVyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
VícePředmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20
Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................
VíceFunkce, intuitivní chápání složitosti
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Funkce, intuitivní
VícePříkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -
Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky - Preprocesor je možné ovládat pomocí příkazů - řádky začínající
VíceJazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory
Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální
Víceint ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N
Struktura (union) - struktura a union jsou složené typy, které "v sobě" mohou obsahovat více proměnných - struktura obsahuje v každém okamžiku všechny své proměnné, union obsahuje (=je "aktivní") pouze
VíceIUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí
Velké projekty v C velký = 100ky a více řádek udržovatelnost, bezpečnost, přehlednost kódu rozdělení programu do více souborů další prvky globální proměnné, řízení viditelnosti proměnných, funkcí Globální
VíceMATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VícePascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
VíceStandardní vstup a výstup
Standardní vstup a výstup Trochu teorie S pojmy standardní vstup/výstup (I/O, input/output) jste se již pravděpodobně setkali, pokud ale ne, zde je krátké vysvětlení. Standardní vstup a výstup jsou vlastně
VíceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceKoncepce (větších) programů. Základy programování 2 Tomáš Kühr
Koncepce (větších) programů Základy programování 2 Tomáš Kühr Parametry a návratová hodnota main Již víme, že main je funkce A také tušíme, že je trochu jiná než ostatní funkce v programu Funkce main je
VícePráce se soubory. Úvod do programování 2 Tomáš Kühr
Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C u Soubor chápeme jako posloupnost bytů uložených na disku u Datový proud (anglicky stream) u Ještě obecnější přístup u Sjednocuje
VíceProfilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
VíceEVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
VíceVstup a výstup datové proudy v C
Vstup a výstup datové proudy v C Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 24. října 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Vstup a výstup 24. října 2011 1 / 37 Přehled, rozdělení
VíceDynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
VíceAlgoritmizace a programování
Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,
VíceČtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:
Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury
VíceFunkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr
Funkce pokročilé možnosti Úvod do programování 2 Tomáš Kühr Funkce co už víme u Nebo alespoň máme vědět... J u Co je to funkce? u Co jsou to parametry funkce? u Co je to deklarace a definice funkce? K
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceKonstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
VíceLineární datové struktury
Lineární datové struktury doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Lineární datové
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
Více8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním
VíceFormátová specifikace má tvar (některé sekce nemají smysl pro načítání) %
vstup a výstup na konzolu - vstupním zařízením je klávesnice, výstupním monitor (přístup jako k sériovým zařízením) - spojení s konzolami je nastaveno automaticky na začátku programu - ke konzole je možné
VíceProgramování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
VíceVýčtový typ strana 67
Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce
VíceZáklady C++ I. Jan Hnilica Počítačové modelování 18
Základy C++ I 1 Přechod z C na C++ jazyk C++ je nadmnožinou jazyka C z hlediska syntaxe se jedná o velmi podobné jazyky, spolu s dalšími jazyky "céčkovské" rodiny, jako je např. C# každý platný program
Více6. Příkazy a řídící struktury v Javě
6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return
VíceDatové struktury. alg12 1
Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou
Více14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
VíceBitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr
Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení
VíceAlgoritmizace a programování
Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura
VíceStručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787
Stručný obsah První týden 25 den 1 Začínáme 27 den 2 Anatomie programu C++ 43 den 3 Proměnné a konstanty 57 den 4 Výrazy a příkazy 79 den 5 Funkce 107 den 6 Objektově orientované programování 141 den 7
VícePrezentace a vysvětlení programového prostředí NXC
Úvod Další jazyk, který je možno použít pro programování NXT kostky je NXC Not exatly C Na rozdíl od jazyku NXT-G, kde jsme vytvářeli program pomocí grafických prvků přesněji řečeno pomocí programovacích
VíceŘídicí struktury. alg3 1
Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení
VíceDTP Základy programování Úvod do předmětu
DTP Základy programování 01 - Úvod do předmětu Úvod Co již umíte? Plán předmětu Studijní materiály Způsob ukončení předmětu Základní pojmy I. Řešený problém: Řešeným nebo zpracovávaným problémem je konkrétní
VícePreprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016
Preprocesor Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 4/2016, Lekce 9b https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start
VíceVýrazy, operace, příkazy
Výrazy, operace, příkazy Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad Karel Richta, Martin Hořeňovský,
VíceŠablony, kontejnery a iterátory
7. října 2010, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 21 Šablona funkce/metody Šablona je obecný popis (třídy, funkce) bez toho, že by
Více24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE
VíceJazyk C# a platforma.net
Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond
VíceAlgoritmy a datové struktury
Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu
Více