Základy programování (IZP)
|
|
- Šimon Doležal
- před 5 lety
- Počet zobrazení:
Transkript
1 Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden
2 Důležité informace Můj profil: Kancelář: A221 Konzultační hodiny: po domluvě em Karta Výuka odkaz na osobní stránky Komunikace: prosím používejte předmět: IZP - <předmět u> IZP cvičení 6 2
3 Důležité informace 1. projekt Práce s textem Obhajoba projektu Bez ohhajoby: 0b Odevzdání projektu do WISu Jméno souboru: proj1.c IZP cvičení 6 3
4 Náplň cvičení Diskuze k prvnímu projektu Opakování pojmů Z minula: předávání parametrů funkcím hodnotou, odkazem Řídicí struktury a jejich převod Převod mezi cykly Ukazatele a alokace paměti IZP cvičení 6 4
5 DISKUZE K PRVNÍMU PROJEKTU IZP cvičení 6 5
6 1. projekt rady, doporučení Testujte na serveru merlin Překládejte i s přepínačem Werror Důsledně dodržujte formát výstupu, projekt bude hodnocen automaticky Projděte si funkce dostupné v hlavičkových souborech IZP cvičení 6 6
7 Knihovna ctype.h Funkce vrací číslo > 0 nebo 0 Zkontroluje, zda je znak c bílý znak int isspace(int c); Zkontroluje, zda je znak c číslice int isdigit(int c); Zkontroluje, zda je znak c písmeno int isalpha(int c); Více informací o ctype.h man ctype.h Internet IZP cvičení 6 7
8 OPAKOVÁNÍ POJMŮ IZP cvičení 6 8
9 Opakování pojmů Funkce IZP cvičení 6 9
10 Opakování pojmů Funkce Funkce sdružuje příkazy v jeden celek. Jedna z funkcí je funkce main() a musí být v programu vždy uvedena. Je vhodné program rozdělit na funkce, které odpovídají jednotlivým činnostem, které má program vykonávat. IZP cvičení 6 10
11 Opakování pojmů Deklarace funkce (prototyp funkce, hlavička) IZP cvičení 6 11
12 Opakování pojmů Deklarace funkce (prototyp funkce, hlavička) Deklaruje funkci před jejím použitím a před tím než je definována. navrattyp JmenoFce(arg1, arg2,,argn); IZP cvičení 6 12
13 Opakování pojmů Deklarace funkce (prototyp funkce, hlavička) Deklaruje funkci před jejím použitím a před tím než je definována. navrattyp JmenoFce(arg1, arg2,,argn); Poznámka: Funkce main() prototyp nepotřebuje jedná se o funkci, která má zvláštní postavení Každý spustitelný program ji musí obsahovat Její návratový typ je vždy int IZP cvičení 6 13
14 Opakování pojmů Poznámka: Funkce main má 0 nebo 2 parametry 0 parametrů: nepotřebujeme pracovat s argumenty příkazové řádky int main(){ } 2 parametry: potřebujeme argumenty příkazové řádky int main(int argc, char* argv[]){ } Poznámka: Nezáleží na pojmenování parametrů, důležité jsou pouze jejich datové typy! Uvedené pojmenování je ale konvence, která se používá všude IZP cvičení 6 14
15 Opakování pojmů Definice funkce (implementace funkce) IZP cvičení 6 15
16 Opakování pojmů Definice funkce (implementace funkce) Uvedení toho, co má funkce dělat Hlavička funkce + tělo funkce navrattyp JmenoFce(arg1, arg2,,argn) { // tělo: co má funkce provádět } IZP cvičení 6 16
17 Opakování pojmů Datový typ IZP cvičení 6 17
18 Opakování pojmů Datový typ Jaká data mohou být na pojmenovaném místě uložena Jaké operace mohou být s daty prováděny Např. int, double, float, char, bool, Pro určení velikosti datového typu můžeme s výhodou použít operátor sizeof() IZP cvičení 6 18
19 Opakování pojmů Proměnná Pojmenované místo v paměti, ve kterém uchováváme data. Má určitý datový typ a její hodnota se může za běhu programu měnit. Příklad: int a=10; IZP cvičení 6 19
20 Opakování pojmů Proměnná Pojmenované místo v paměti, ve kterém uchováváme data. Má určitý datový typ a její hodnota se může za běhu programu měnit. Příklad: int a=10; Konstanta Pojmenované místo v paměti, ve kterém uchováváme data. Má určitý datový typ, její hodnota se nemůže za běhu programu měnit. Příklad: const int b=10; IZP cvičení 6 20
21 Opakování pojmů Deklarace IZP cvičení 6 21
22 Opakování pojmů Deklarace Deklarace proměnné vytváří novou proměnnou, kterou je možno použít dál v programu int i; // nepřiřazena žádná hodnota IZP cvičení 6 22
23 Opakování pojmů Deklarace Deklarace proměnné vytváří novou proměnnou, kterou je možno použít dál v programu int i; // nepřiřazena žádná hodnota Inicializace IZP cvičení 6 23
24 Opakování pojmů Deklarace Deklarace proměnné vytváří novou proměnnou, kterou je možno použít dál v programu int i; // nepřiřazena žádná hodnota Inicializace Přiřazení počáteční hodnoty deklarované proměnné int j = 10; // inicializováno na 10 a = 60; // NELZE, proměnná není // deklarována IZP cvičení 6 24
25 Opakování pojmů Příkaz IZP cvičení 6 25
26 Opakování pojmů Příkaz Příkaz definuje činnost, kterou program vykoná (výpis textu na obrazovku, opakování části programu, atp.). IZP cvičení 6 26
27 Opakování pojmů Řídicí konstrukce (struktury) programu IZP cvičení 6 27
28 Opakování pojmů Řídicí konstrukce (struktury) programu Části programovacího jazyka, které řídí, jakým směrem se bude výpočet ubírat. Patří sem: Funkce Příkazy: složený příkaz, podmíněný příkaz, cykly, příkazy skoku IZP cvičení 6 28
29 Opakování pojmů Výraz IZP cvičení 6 29
30 Opakování pojmů Výraz Konstrukce jazyka, která má hodnotu (nějakého datového typu) Výraz příkaz Výraz: představuje dále použitelnou hodnotu Příkaz: jeho úkolem je vykonat nějaký kód IZP cvičení 6 30
31 Opakování pojmů Operátory IZP cvičení 6 31
32 Opakování pojmů Operátory Aritmetické IZP cvičení 6 32
33 Opakování pojmů Operátory Aritmetické: unární (+, -, speciální: ++, --), binární (+, -, *, /, %, =) Logické IZP cvičení 6 33
34 Opakování pojmů Operátory Aritmetické: unární (+, -, speciální: ++, --), binární (+, -, *, /, %, =) Logické: && (AND), (OR),! (NOT) A B AND OR IZP cvičení 6 34
35 Opakování pojmů Operátory Aritmetické: unární (+, -, speciální: ++, --), binární (+, -, *, /, %, =) Logické: && (AND), (OR),! (NOT) A B AND OR Relační IZP cvičení 6 35
36 Opakování pojmů Operátory Aritmetické: unární (+, -, speciální: ++, --), binární (+, -, *, /, %, =) Logické: && (AND), (OR),! (NOT) Relační: ==, >, <, >=, <= A B AND OR IZP cvičení 6 36
37 Opakování pojmů Operátory Aritmetické: unární (+, -, speciální: ++, --), binární (+, -, *, /, %, =) Logické: && (AND), (OR),! (NOT) Relační: ==, >, <, >=, <= Bitové A B AND OR IZP cvičení 6 37
38 Opakování pojmů Operátory Aritmetické: unární (+, -, speciální: ++, --), binární (+, -, *, /, %, =) Logické: && (AND), (OR),! (NOT) Relační: ==, >, <, >=, <= A B AND OR Bitové: výsledkem je číselná hodnota (ne logická!) & (bit. AND), (bit. OR), ~ (bit. NOT), ^ (bit. XOR), << (bit. posun vlevo), >> (bit. posun vpravo) IZP cvičení 6 38
39 Opakování pojmů Homogenní/heterogenní datová struktura IZP cvičení 6 39
40 Opakování pojmů Homogenní/heterogenní datová struktura Homogenní: všechny komponenty struktury jsou stejného datového typu Příklad: pole int moje_pole[6]; Heterogenní: komponenty struktury nejsou stejného datového typu Příklad: struktura (později na tomto cvičení ) IZP cvičení 6 40
41 Opakování pojmů Cyklus IZP cvičení 6 41
42 Opakování pojmů Cyklus Cyklem myslíme opakování určité části programu. Rozeznáváme dva základní druhy cyklů: se známým počtem průchodů (iterací) (for) s neznámým počtem průchodů (iterací) (while, do-while) IZP cvičení 6 42
43 JEDNODUCHÉ CYKLY IZP cvičení 6 43
44 Příklad 1 cykly Se známým počtem průchodů jaký cyklus? Vzestupně - interval [0;n) Vzestupně - interval [a;b] Sestupně - interval [a;b) Vzestupně ob jedno - interval [a;b] Po jednotlivých znacích řetězce Po jednotlivých znacích načtených ze stdin IZP cvičení 6 44
45 Příklad 1 cykly Se známým počtem průchodů cyklus for Vzestupně - interval [0;n) Vzestupně - interval [a;b] Sestupně - interval [a;b) Vzestupně ob jedno - interval [a;b] Po jednotlivých znacích řetězce Po jednotlivých znacích načtených ze stdin IZP cvičení 6 45
46 Časté chyby Pozor na = a == for(int i=0; i=5; i++){ } Pozor na pořadí jednotlivých částí cyklu for for(int i=0; i++; i<5){ } for(int i=5; i--; i>0){ } IZP cvičení 6 46
47 Funkce Příklady výše lze zobecnit tak, že je dekomponujeme do funkcí Napište program, který bude obsahovat funkci s prototypem int countchars(char* str, char c); Tato funkce vrací počet výskytu znaku c v řetězci str IZP cvičení 6 47
48 PŘEVODY MEZI CYKLY IZP cvičení 6 48
49 Příklad 2 převody mezi cykly Napište program, který projde všechny argumenty příkazové řádky a zjistí, zda byl zadán argument h Pokud byl zadán, ihned ukončete provádění cyklu Použijte cyklus while a příkaz break IZP cvičení 6 49
50 Příklad 2 převody mezi cykly Napište program, který projde všechny argumenty příkazové řádky a zjistí, zda byl zadán argument h Pokud byl zadán, ihned ukončete provádění cyklu Použijte cyklus while a příkaz break Modifikace 1: převeďte s cyklem while bez použití break a continue IZP cvičení 6 50
51 Příklad 2 převody mezi cykly Napište program, který projde všechny argumenty příkazové řádky a zjistí, zda byl zadán argument h Pokud byl zadán, ihned ukončete provádění cyklu Použijte cyklus while a příkaz break Modifikace 1: převeďte s cyklem while bez použití break a continue Modifikace 2: přepište cyklus while na for IZP cvičení 6 51
52 Příklad 2 převody mezi cykly for(inicializace; test; inkrementace) { } inicializace; while(test) { inkrementace; } IZP cvičení 6 52
53 Příklad 2 převody mezi cykly Napište program, který projde všechny argumenty příkazové řádky a zjistí, zda byl zadán argument h Pokud byl zadán, ihned ukončete provádění cyklu Použijte cyklus while a příkaz break Modifikace 1: převeďte s cyklem while bez použití break a continue Modifikace 2: přepište cyklus while na for IZP cvičení 6 53
54 Převody mezi cykly II PŘÍKLAD 3 IZP cvičení 6 54
55 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu IZP cvičení 6 55
56 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] IZP cvičení 6 56
57 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h IZP cvičení 6 57
58 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e IZP cvičení 6 58
59 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e l IZP cvičení 6 59
60 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e l l IZP cvičení 6 60
61 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e l l o IZP cvičení 6 61
62 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e l l o 2 w IZP cvičení 6 62
63 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e l l o 2 w o IZP cvičení 6 63
64 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e l l o 2 w o r IZP cvičení 6 64
65 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e l l o 2 w o r l IZP cvičení 6 65
66 Příklad 3 - Převody mezi cykly II Zjistěte, zda libovolný argument programu obsahuje písmeno h. Do proměnné i uložte pozici argumentu obsahující písmeno h Do proměnné j uložte pozici písmene v daném argumentu./prog hello world argv[1] = hello argv[2] = world Index argumentu i argv[i][0] argv[i][1] argv[i][2] argv[i][3] argv[i][4] 1 h e l l o 2 w o r l d IZP cvičení 6 66
67 UKAZATELE IZP cvičení 6 67
68 Ukazatel, reference, dereference Proměnná pojmenované místo v paměti, ve kterém uchováváme data IZP cvičení 6 68
69 Ukazatel, reference, dereference Proměnná pojmenované místo v paměti, ve kterém uchováváme data Ukazatel (pointer) proměnná, která uchovává adresu nějakého místa v paměti Říkáme, že ukazatel ukazuje na místo, které je určeno touto adresou IZP cvičení 6 69
70 Ukazatel, reference, dereference Proměnná pojmenované místo v paměti, ve kterém uchováváme data Ukazatel (pointer) proměnná, která uchovává adresu nějakého místa v paměti Říkáme, že ukazatel ukazuje na místo, které je určeno touto adresou Velikost ukazatele závisí na tom, kolikabitový máme procesor/překladač (16, 32, 64 bitů) IZP cvičení 6 70
71 Ukazatel, reference, dereference Proměnná pojmenované místo v paměti, ve kterém uchováváme data Ukazatel (pointer) proměnná, která uchovává adresu nějakého místa v paměti Říkáme, že ukazatel ukazuje na místo, které je určeno touto adresou Velikost ukazatele závisí na tom, kolikabitový máme procesor/překladač (16, 32, 64 bitů) Adresa proměnné referenční operátor & IZP cvičení 6 71
72 Ukazatel, reference, dereference Proměnná pojmenované místo v paměti, ve kterém uchováváme data Ukazatel (pointer) proměnná, která uchovává adresu nějakého místa v paměti Říkáme, že ukazatel ukazuje na místo, které je určeno touto adresou Velikost ukazatele závisí na tom, kolikabitový máme procesor/překladač (16, 32, 64 bitů) Adresa proměnné referenční operátor & Hodnota z adresy dereferenční operátor * IZP cvičení 6 72
73 Ukazatel, reference, dereference Proměnná pojmenované místo v paměti, ve kterém uchováváme data Ukazatel (pointer) proměnná, která uchovává adresu nějakého místa v paměti Říkáme, že ukazatel ukazuje na místo, které je určeno touto adresou Velikost ukazatele závisí na tom, kolikabitový máme procesor/překladač (16, 32, 64 bitů) Adresa proměnné referenční operátor & Hodnota z adresy dereferenční operátor * NULL používá se pro inicializaci ukazatelů říká, že ukazatel nikam neukazuje IZP cvičení 6 73
74 Ukazatel, reference, dereference IZP cvičení 6 74
75 Ukazatel, reference, dereference int i = 10; int *p; //? p = &i; //? *p = 20; //? printf("hodnota promenne i: %d\n", i); //? IZP cvičení 6 75
76 Ukazatel, reference, dereference int i = 10; int *p; // ukazatel p není inicializován! p = &i; *p = 20; printf("hodnota promenne i: %d\n", i); IZP cvičení 6 76
77 Ukazatel, reference, dereference int i = 10; int *p; // ukazatel p není inicializován! p = &i; // ukazatel p ukazuje na i *p = 20; printf("hodnota promenne i: %d\n", i); IZP cvičení 6 77
78 Ukazatel, reference, dereference int i = 10; int *p; // ukazatel p není inicializován! p = &i; // ukazatel p ukazuje na i *p = 20; // pomocí p jsme změnili hodnotu i printf("hodnota promenne i: %d\n", i); IZP cvičení 6 78
79 Předání parametrů funkcím Parametry můžeme funkcím předávat Hodnotou (vytvoříme lokální kopii proměnné) Lokální proměnná se vytvoří na zásobníku Odkazem (do funkce předáváme pouze adresu proměnné v paměti) Předání hodnotou by mělo být bez problémů Jak funguje předání odkazem? Následuje příklad IZP cvičení 6 79
80 Předání parametrů funkcím předávání odkazem Abychom si ukázali, jak funguje předávání odkazem, definujme následující funkci void inc(int* n) { } *n = *n + 1; Vidíme, že funkce nic nevrací. Hodnotu ale můžeme z funkce získat přes ukazatel Jak ji tedy zavoláme a použijeme v programu? IZP cvičení 6 80
81 Předání parametrů funkcím předávání odkazem // deklarace: void inc(int* n); int main() { int a = 5; inc(&a); printf("hodnota a: %d", a); //?? } IZP cvičení 6 81
82 Funkce swap Napište funkci, která prohodí hodnoty dvou proměnných typu int Proměnné do funkce předejte odkazem Poznámka: v předmětu IOS uvidíte, jak se funkce swap používá prakticky IZP cvičení 6 82
83 Záměna dvou prvků v poli Napište funkci, která zamění (prohodí) dva prvky v poli typu int Použijte funkci swap IZP cvičení 6 83
84 STRUKTURY, VLASTNÍ DATOVÉ TYPY IZP cvičení 6 84
85 Pole x Struktura Pole Homogenní Musí obsahovat položky stejného datového typu Struktura Heterogenní Může obsahovat položky různého datového typu IZP cvičení 6 85
86 Struktury Klíčové slovo struct struct person { }; char* name; // jmeno char* surname; // prijmeni int pay; int main() { struct person test; test.pay = 1000; // plat test.name = "Pepa"; //podobne surname printf("pay: %d\n", test.pay); printf("name: %s\n", test.name); } IZP cvičení 6 86
87 Struktury vlastní datový typ Nový datový typ klíčové slovo typedef typedef struct person { char* name; // jmeno char* surname; // prijmeni int pay; }TPerson; int main() { Tperson test; test.pay = 1000; // plat test.name = "Pepa"; //podobne surname printf("pay: %d\n", test.pay); printf("name: %s\n", test.name); } IZP cvičení 6 87
88 Struktury demo: jak to vypadá v paměti Velikosti datových typů závisí na architektuře IZP cvičení 6 88
89 Struktury demo: alokace paměti typedef struct person { char* name; // jmeno char* surname; // prijmeni int pay; // plat }TPerson; int main() { Tperson test; test.name = // jak alokujeme paměť? } IZP cvičení 6 89
90 Struktury demo: alokace paměti typedef struct person { char* name; // jmeno char* surname; // prijmeni int pay; }TPerson; int main() { } Tperson test; test.name = // plat malloc((strlen("pepa")+1)*sizeof(char); // jak ověříme, že je alokace OK? IZP cvičení 6 90
91 Struktury demo: alokace paměti typedef struct person { char* name; // jmeno char* surname; // prijmeni int pay; }TPerson; int main() { } Tperson test; test.name= // plat malloc((strlen("pepa")+1)*sizeof(char); if(test.name == NULL) { fprintf(stderr, "Chyba alokace! ); return -1; } IZP cvičení 6 91
92 Struktury přístup k prvkům Operátor. nebo -> -> (šipka) pokud předáváme strukturu (složený datový typ) jako ukazatel void setpay(tperson* p) { } //?. (tečka) jindy TPerson setpay(tperson p) { } //? IZP cvičení 6 92
93 Struktury přístup k prvkům Operátor. nebo -> -> (šipka) pokud předáváme strukturu (složený datový typ) jako ukazatel void setpay(tperson* p) { } p->pay = 1000;. (tečka) jindy TPerson setpay(tperson p) { } p.pay = 10; return p; IZP cvičení 6 93
94 Příklad Vytvořte datový typ pro záznam informací o pacientech O každém pacientovi se bude uchovávat Jméno datum narození Výška Váha Pohlaví Vyzkoušejte si pole alokovat (třeba pro 5 pacientů) a vypište datum narození 3. pacienta IZP cvičení 6 94
95 Wiki: ordinační hodiny Prostudujte si příklad, který načítá ordinační hodiny lékaře Pokuste se doplnit kód na chybějící místa IZP cvičení 6 95
96 Wiki: alokace a dealokace řídkého pole Prostudujte si zdrojový kód k alokaci/dealokaci řídkého pole. Jak budou data vypadat v paměti? IZP cvičení 6 96
97 Děkuji Vám za pozornost! IZP cvičení 6 97
Základy programování (IZP)
Základy programování (IZP) Devá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 27.11.2017,
VíceZáklady programování (IZP)
Základy programování (IZP) Jedenácté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Gabriela Nečasová, inecasova@fit.vutbr.cz
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á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íceZáklady programování (IZP)
Základy programování (IZP) Druhé 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 Verze
VíceZáklady programování (IZP)
Základy programování (IZP) Osmé 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 20.11.2017,
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 2016/2017
VíceZáklady programování (IZP)
Základy programování (IZP) Třetí 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 Verze
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íceZáklady programování (IZP)
Základy programování (IZP) Devá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 Gabriela Nečasová, inecasova@fit.vutbr.cz
VíceZáklady programování (IZP)
Základy programování (IZP) Sedmé 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 2018/2019,
VíceZáklady programování (IZP)
Základy programování (IZP) Devá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 2016/2017
VíceUkazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný
Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s
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í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í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í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í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í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íceÚ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í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í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í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í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í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í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í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íceAlgoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
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í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íceZáklady programování (IZP)
Základy programování (IZP) Druhé 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 2016/2017
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í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íceMartin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016
ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce
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í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í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íceProměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.
Proměnná Pojmenované místo v paměti sloužící pro uložení hodnoty. K pojmenování můžeme použít kombinace alfanumerických znaků, včetně diakritiky a podtržítka Rozlišují se velká malá písmena Název proměnné
VíceAplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a
Aplikace Embedded systémů v Mechatronice Michal Bastl A2/713a Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakování Pointery v C pole a řetězce předání funkci referencí Vlastní datové typy
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ícePointery II. Jan Hnilica Počítačové modelování 17
Pointery II 1 Pointery a pole Dosavadní způsob práce s poli zahrnoval: definici pole jakožto kolekce proměnných (prvků) jednoho typu, umístěných v paměti za sebou int pole[10]; práci s jednotlivými prvky
VícePokročilé programování v jazyce C pro chemiky (C3220) Třídy v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Třídy v C++ Třídy v C++ Třídy jsou uživatelsky definované typy podobné strukturám v C, kromě datových položek (proměnných) však mohou obsahovat i funkce
VíceÚvod do jazyka C. Ing. Jan Fikejz (KST, FEI) 28. prosince Fakulta elektrotechniky a informatiky Katedra softwarových technologií
9 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 28. prosince 2009 Struktury Struktury heterogenní struktura položky mohou být různých datových typů vystupuje jako jediný objekt
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í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íceZáklady programování (IZP)
Základy programování (IZP) Druhé laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Cvičící: Petr Veigend (iveigend@fit.vutbr.cz) Důležité
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ícePaměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
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í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íceProgramování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond
VíceObsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13
Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Čí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íceC++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++
C++ Akademie SH 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory Za áte níci C++ 20. b ezna 2011 Obsah 1 Prom nné - primitivní typy Celá ísla ƒísla s pohyblivou desetinnou árkou, typ bool 2 Podmínka
VíceProgramování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole
Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Příkaz switch Příkaz switch provede příslušnou skupinu příkazů na základě hodnoty proměnné (celočíselné
Více6 Příkazy řízení toku
6 Příkazy řízení toku 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 příkazům pro řízení toku programu. Pro všechny tyto základní
VíceOperátory, výrazy. Tomáš Pitner, upravil Marek Šabo
Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v
VíceVíce o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
VíceStrukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele
Strukturu lze funkci předat: hodnotou i pomocí ukazatele pouze pomocí ukazatele (reference na strukturu) pouze hodnotou (kopie struktury) (pole[i])+j adresa prvku na souřadnicích i, j adresa i-tého řádku
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í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íceProgramování v jazyce C a C++
Programování v jazyce C a C++ Příklad na tvorbu třídy Richter 1 4. prosince 2017 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno Dvourozměrné pole pomocí tříd Zadání Navrhněte a napište třídu pro realizace
VíceStřední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace
Programování v jazyce C a C# část I. Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Algoritmizace a programování Téma: Programování Vyučující: Ing. Milan Káža
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í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í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í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í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íceAlgoritmizace a programování
Algoritmizace a programování Strukturované proměnné Pole (array), ukazatele (pointer) Jazyk C České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Pole (array) (1) Pole je množina
VíceC++ přetěžování funkcí a operátorů. Jan Hnilica Počítačové modelování 19
C++ přetěžování funkcí a operátorů 1 Přetěžování funkcí jazyk C++ umožňuje napsat více funkcí se stejným názvem, těmto funkcím říkáme přetížené přetížené funkce se musí odlišovat typem nebo počtem parametrů,
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íceIAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);
Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());
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ícePŘETĚŽOVÁNÍ OPERÁTORŮ
PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako
VíceInovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:
Více1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
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í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íceStrukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr
Strukturované typy a ukazatele Úvod do programování 1 Tomáš Kühr Motivace Se základními datovými typy si sice vystačíme Někdy to ale může být nepříjemně nepřehledné Příklady: long double soucet(const long
VíceFunkční objekty v C++.
Funkční objekty v C++. Funkční objekt je instance třídy, která má jako svou veřejnou metodu operátor (), tedy operátor pro volání funkce. V dnešním článku si ukážeme jak zobecnit funkci, jak používat funkční
VíceMělká a hluboká kopie
Karel Müller, Josef Vogel (ČVUT FIT) Mělká a hluboká kopie BI-PA2, 2011, Přednáška 5 1/28 Mělká a hluboká kopie Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta
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íceJak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
Více7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 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 formátovanému výstupu,
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í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ícePokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++ Proudy pro standardní vstup a výstup V jazyce C++ provádíme textový vstup a výstup prostřednictvím tzv. datových proudů Datové
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ícePokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody
Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Dynamická alokace paměti Jazyky C a C++ poskytují programu možnost vyžádat si část volné operační paměti pro
VícePř. další použití pointerů
Př. další použití pointerů char *p_ch; int *p_i; p_ch = (char *) p_i; // konverze int * na char * 8 int i = 5; int *p_i; p_i = &i; POZOR!!!! scanf("%d", p_i); printf("%d", *p_i); Obecný pointer na cokoliv:
VíceIB111 Programování a algoritmizace. Objektově orientované programování (OOP)
IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,
Více- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:
21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)
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í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ícefor (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }
Pole Kdybychom v jazyce C++chtěli načíst větší počet čísel nebo znaků a všechny bylo by nutné všechny tyto hodnoty nadále uchovávat v paměti počítače, tak by bylo potřeba v paměti počítače alokovat stejný
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íceMartin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. December 7, 2016
ZPRO cvičení 8 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague December 7, 2016 Outline I 1 Outline 2 Dynamické alokování paměti 3 Dynamická alokace
VíceProgramování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného 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 Dokončení spojového
VíceProgramování v jazyce C pro chemiky (C2160) 6. Funkce, struktury
Programování v jazyce C pro chemiky (C2160) 6. Funkce, struktury Funkce Program v jazyce C je strukturován do funkcí Příkazy jazyka C nelze nikdy uvádět mimo funkce Program začíná funkcí main(), z ní lze
VíceProgramování v C++ 2, 4. cvičení
Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva
Více