Algoritmizace a programování

Rozměr: px
Začít zobrazení ze stránky:

Download "Algoritmizace a programování"

Transkript

1 Algoritmizace a programování Jazyk C funkce České vysoké učení technické Fakulta elektrotechnická A8B14ADP Algoritmizace a programovaní -Jazyk C -Ver.1.00 funkce J. Zděnek 20151

2 Funkce Funkce - černá (programová) skřínka pro určitý výpočetní úkon Známe - co počítá Nezajímá nás jak to počítá Má určené místo pro vstup informace se kterou metoda počítá vstup dat Má určené místo pro výstup zpracované informace výstup dat Princip umožňuje řešit složité úkoly rozkladem na jednodušší navzájem spolupracující části (metody) Vstup dat Metoda má jméno Známe co metoda počítá Funkce Nezajímá nás jak to počítá Výstup dat A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 2

3 Funkce bez vstupů Funkce nemusí mít vstup dat Má pouze výstup dat Např: Čtení hodnoty z klávesnice Výstupem funkce přečtená hodnota Čtení hodnoty z klávesnice Funkce Výstup dat = přečtená hodnota A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 3

4 Funkce bez výstupů Funkce nemusí mít výstup dat, pouze vykoná nějakou činnost Má pouze vstup dat Např: zobrazení hodnoty na obrazovce Vstupem funkce jméno a hodnota zobrazovaných dat Vstup dat = Jméno a hodnota toho co se má zobrazit Funkce Zobrazení jména a hodnoty dat na obrazovce A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 4

5 Funkce může mít více vstupních dat Funkce - vstupní a výstupní data Funkce může mít i více výstupních dat Funkce typu funkce má pouze jednu hodnotu výstupní Procedura je funkce, která má definovány vstupní hodnoty a svou činnost nemívá žádná výstupní data Funkce vždy pouze jednu výstupní hodnotu Procedura něco vykoná Funkce Funkce Procedura Procedura A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 5

6 Funkce Funkce typu funkce má pouze jednu hodnotu hodnotu funkce Funkci lze použít ve výrazu Např: y = 2*x + sin(x), y = 2*x + sin(x); sin(x) je funkce Funkce vždy pouze jednu výstupní hodnotu Sin(x) Funkce Funkce A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 6

7 Procedura Procedura je funkce, která má definovány vstupní hodnoty a svou činnost - nemívá žádná výstupní data Procedura ale může změnit Hodnotu nelokální proměnné nedoporučeno proč? Hodnoty proměnných, je-li vstupní hodnotou reference na proměnnou Proceduru nelze použít ve výrazu Procedura něco vykoná Procedura Procedura A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 7

8 Funkce a procedura vstupní data Pravidla pro zápis vstupních dat jsou pro funkci i pro proceduru stejná Pravidla pro zápis vstupních dat pro funkci i proceduru stejná Funkce Funkce Procedura Procedura A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 8

9 Funkce, rozklad na dílčí problémy Připomeňme si program pro výpočet faktoriálu: void main(int argc, char** argv) { int n, i, j; printf("zadejte přirozené číslo \n "); scanf("%d",&n); if (n < 1) { printf(n + " není přirozené číslo"); return; i = 1; f = 1; while (i < n) { i = i + 1; f = f * i; printf("n = %d, f! = %d", n, f); return; Čtení přirozeného čísla Algoritmus výpočtu faktoriálu Tisk výsledku Čtení přirozeného čísla, výpočet faktoriálu a tisk výsledku jsou tři dílčí podproblémy, jejichž řešení popíšeme samostatnými funkcemi A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 9

10 Řešení problému rozkladem na dílčí problémy ctiprirozene Předává se přečtené n Předává se vypočtený faktoriál faktorial tiskvysledku Funkce Funkce Procedura Čtení přirozeného čísla Algoritmus výpočtu faktoriálu Tisk výsledku A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 10

11 Funkce pro čtení přirozeného čísla Faktoriál pomocí funkcí (1) int ctiprirozene(void) { int n; printf("zadejte přirozené číslo"); scanf("%d",&n); if (n < 1) { printf("%d není přirozené číslo", n); exit(0); return n; Hlavička funkce int ctiprirozene(void) vyjadřuje, že funkce nemá parametry (prázdná závorka) a že výsledkem volání funkce je hodnota typu int Příkaz return n; předepisuje návrat z funkce, výsledkem volání je hodnota n Příklad volání funkce: nn = ctiprirozene(); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 11

12 Faktoriál pomocí funkcí (2) Funkce pro výpočet faktoriálu int faktorial(int n) { int i = 1; int f = 1; while (i < n) { i = i + 1; f = f * i; return f; Hlavička funkce vyjadřuje, že funkce má jeden vstupní parametr typu int a že výsledkem je hodnota typu int Příklad volání funkce ff = faktorial(4); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 12

13 Procedura pro tisk výsledku výpočtu Faktoriál pomocí funkcí (3) void tiskvysledku(int n, int f) { printf("n = %d, f! = %d",n,f); Hlavička vyjadřuje, že procedura má dva vstupní parametry (int, int). Procedura nevrací žádnou hodnotu (void). Příklad volání procedury tiskvysledku(n, f); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 13

14 Faktoriál pomocí funkcí (4) Výsledné řešení: #include <stdio.h> #include <stdlib.h> void main(int argc, char** argv) { int n, fakt; n = ctiprirozene(); fakt = faktorial(n); tiskvysledku(n,fakt); int ctiprirozene() { int faktorial(int n) { void tiskvysledku(int n,int f){ A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 14

15 Deklarace funkce Deklaraci funkce tvoří hlavička funkce tělo funkce Hlavička funkce v jazyku C má tvar typ jméno(specifikace parametrů) kde typ je typ výsledku funkce (funkční hodnoty) jméno je identifikátor funkce specifikací parametrů se deklarují parametry funkce, každá deklarace má tvar typ_parametru jméno_parametru (a oddělují se čárkou) specifikace parametrů je prázdná, jde-li o funkci bez parametrů Tělo funkce je složený příkaz nebo blok, který se provede při volání funkce Tělo funkce musí končit příkazem return x; kde x je výraz, jehož hodnota je výsledkem volání funkce A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 15

16 Bloková struktura programu void main (String[] args) { int x = funkcea ( 35 ); funkcec ( x, c1 ); int funkcea (int x) { #include <stdio.h> #include <stdlib.h> extern funkceb(void); extern funkcec(void); int x1, x2=0, y=54; char s; s = funkceb ( ); Začátek programu Konec programu char funkceb (void) { void funkcec (int r1, char c) { printf (..); #include <stdio.h> #include <stdlib.h> extern funkcea(void); double d; d = funkced ( ); Fce v jiném modulu A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 16

17 Struktura funkce/procedury Typ návratové hodnoty double funkcea ( int x ) { Jméno funkce Formální parametr(y) funkce Hlavička funkce const double MIN = ; double v = 1.0; int n; for( n=0; n<10; n++) { v = v * ; if( v > MIN ) v = v ; return v ; Začátek funkce Lokální konstanty Lokální proměnné Kód funkce Návratová hodnota Zdrojový modul (soubor) Konec funkce A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 17

18 Vstupní parametry funkce Parametry funkce jsou lokální proměnné funkce, kterým se při volání funkce přiřadí hodnoty skutečných parametrů Jestliže parametr funkce je typu T, pak přípustným skutečným parametrem je výraz, jehož hodnotu lze přiřadit proměnné typu T (stejná podmínka, jako u přiřazení) Příklad: int max(int x, int y) { if (x > y) return x; else return y; void main(int argc, char** argv) { int a = 10, b = 20; printf("max = %d",max(a+20, b)); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 18

19 Vstupní parametry funkce Vstupní parametry funkce slouží pro předání vstupních dat algoritmu, který je funkcí realizován Častá chyba začátečníka: funkce, která čte hodnoty parametrů pomocí operace vstupu dat (např. čtení klávesnice) int max(int x, int y) { scanf("%d",&x); scanf("%d",&y); if (x > y) return x; else return y; // nesmyslný příkaz // nesmyslný příkaz Nesmysl Proč? int z; z = max(7,99); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 19

20 Hodnota funkce Typ návratové hodnoty se uvádí před názvem funkce Návratová hodnota (proměnná, výraz) se uvádí za příkazem return Funkce může vracet pouze jednu návratovou hodnotu Návratovou hodnotou může být i ukazatel (pointer) int max(int x, int y) { int maxhodnota = y; if (x > y) maxhodnota = x; return maxhodnota; max Funkce Návratová hodnota A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 20

21 Formální a skutečné parametry funkce void main(int argc, char** argv){ int a = 4; int b = 2; int m = max(a,b); printf("max = %d",m); m = max(b,6); printf("max = %d",m); int max(int x, int y) { int maxhodnota = y; if (x > y) maxhodnota = x; return x; Skutečné parametry Skutečné parametry obsahují aktuální předávaná data do metody Formální parametry Formální parametry umožní v těle metody popsat, jak má algoritmus zpracovat vstupní data Formální parametry jsou lokální proměnné A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 21

22 Příklad Výplata hotovosti (1) Výplata hotovosti (výčetka platidel) se odevzdává bance, uvádí vždy hodnotu bankovky a počet bankovek My budeme hledat takovou výčetku, která pro danou částku obsahuje celkově nejmenší počet bankovek Příklad: (pro jednoduchost uvažujme pouze bankovky 5000, 1000, 500 a 100 Kč) Částka = bankovka (Kč) počet (ks) A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 22

23 Příklad - Výplata hotovosti (2) void main(int argc, char** argv){ int plat,platx,p5000,p1000,p500,p100; prinf( Zadej plat = ); scanf( %d,&plat); platx = plat; p5000=plat/5000; plat=plat%5000; p1000=plat/1000; plat=plat%1000; p500=plat/500; plat=plat%500; p100=plat/100; plat=plat%100; pocet = plat/hodnbankovky; plat = plat%hodnbankovky; printf("vyplata castky %d je \n,platx); printf( %d \n%d \n%d \n%d \n,p5000,p1000,p500,p100); printf( zbytek %d \n,plat); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 23

24 Výplata hotovosti s funkcí (3) int plat; void main(int argc, char** argv){ int p5000,p1000,p500,p100,platx; prinf( Zadej plat = ); scanf( %d,&plat); platx = plat; p5000 = pocetbankovek(5000); p1000 = pocetbankovek(1000); p500 = pocetbankovek(500); p100 = pocetbankovek(100); printf("vyplata castky %d je \n,platx); printf( %d \n%d \n%d \n%d \n,p5000,p1000,p500,p100); printf( zbytek %d \n,plat); int pocetbankovek(int hodnotabankovky){ int pocet; pocet = plat/hodnotabankovky; plat = plat%hodnotabankovky; return pocet; ; A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 24

25 Příklady funkcí Funkce pro zjištění, zda daný rok je přestupný void main(int argc, char** argv){ int rok; printf( Zadejte rok \n"); scanf( %d,&rok); printf("rok = %d \n,rok); if (prestupnyrok(rok)) printf( Je prestupny \n"); else printf( Neni prestupny \n"); int prestupnyrok(int rok){ if (rok%4 == 0 && (rok%100!= 0 rok%1000 == 0)) return true; else return false; return může metodu ukončit na více místech A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 25

26 Funkce pro výpočet NSD (1) Efektivní algoritmus lze sestavit na základě těchto vztahů: je-li x = y, pak nsd(x,y) = x je-li x > y, pak nsd(x,y) = nsd(x-y,y) je-li x < y, pak nsd(x,y) = nsd(x,y-x) Řešení 1: int nsd(int x, int y) { while (x!= y) if (x > y) x = x - y; else y = y - x; return x; int nsd(int x, int y) { int d; if (x<y) d=x; else d=y; while (x%d!=0 y%d!=0) d--; return d; void main(int argc, char** argv) { int a, b; scanf( %d,&a);scanf( %d,&b); printf( Nejv.spol.del.%d a %d je %d\n,a,b,nsd(a,b)); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 26

27 Funkce pro výpočet NSD (2) Do těla cyklu vnoříme místo podmíněného příkazu pro jediné zmenšení hodnoty x nebo y dva cykly pro opakované zmenšení hodnot x a y Řešení 2: int nsd(int x, int y) { while(x!= y) { while(x > y) x = x-y; while(y > x) y = y-x; return x; void main(int argc, char** argv) { int a, b; scanf( %d,&a);scanf( %d,&b); printf( Nejv.spol.del.%d a %d je %d\n,a,b,nsd(a,b)); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 27

28 Euklidův algoritmus pro výpočet NSD (3) Vnitřní cykly řešení 2 počítají nenulový zbytek po dělení většího čísla menším Pro výpočet zbytku po dělení máme operaci % Jejím využitím dostaneme Euklidův algoritmus, který lze slovně formulovat takto: určíme zbytek po dělení daných čísel, zbytkem dělíme dělitele a určíme nový zbytek, až dosáhneme nulového zbytku; poslední nenulový zbytek je nsd. Řešení 3: int nsd(int x, int y) { int zbytek; zbytek = x % y; while (zbytek!= 0) { x = y; y = zbytek; zbytek = x % y; return y; void main(int argc, char** argv) { int a, b; scanf( %d,&a);scanf( %d,&b); printf( Nejv.spol.del.%d a %d je %d\n,a,b,nsd(a,b)); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 28

29 Procedury Funkce, jejíž typ výsledku je void, nevrací žádnou hodnotu Funkce, která nevrací žádnou hodnotu, se nazývá procedura Předávání vstupních dat do procedury se řídí stejnými pravidly jako u funkce Procedura může vracet vypočítané hodnoty (!) - způsob bude probrán v dalších lekcích. Příklady procedury: Hlavní funkce main Tisk na obrazovku printf( ) Příklad uživatelské procedury: Výpis znaku zn doplněného zleva mezerami na celkový počet n znaků void vypisznak(char zn, int n) { int i; for (i = 1; i < n; i++) printf( ); printf( %c \n,zn); A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 29

30 Statické proměnné Program může obsahovat deklarace statických proměnných Statické třídy jsou použitelné ve všech funkcích jsou to pro ně globální proměnné Příklad: int x, y; //Deklarovane mimo telo funkci void main(int argc, char** argv){ printf( Zadejte dvě celá čísla \n"); scanf( %d,&x); scanf( %d,&y); // printf( %d \n,i); // Nelze, i zde neznama vypissoucet(); void vypissoucet(void) { int i = 6; printf( Součet čísel je %d, i = %d \n,(x+y),i); Poznámka: statické proměnné jsou inicializovány hodnotou nula A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 30

31 Hvězdičky procedury (1) void hvezdickyln(int pocet){ int i; for(i = 1; i <= pocet; i++)printf( * ); printf( \n ); void hvezdicky(int pocet){ int i; for(i = 1; i <= pocet; i++)printf( * ); void mezeryln(int pocet){ int i; for(i = 1; i <= pocet; i++)printf( ); printf( \n ); void mezery(int pocet){ int i; for(i = 1; i <= pocet; i++)printf( ); A0B36PRI A8B14ADP PROGRAMOVÁNÍ Algoritmizace a programovaní 04 -Jazyk C - funkce 31

32 Hvězdičky procedury (2) void main(int argc, char** argv){ hvezdickyln(5); mezery(4); hvezdicky(10); mezeryln(0); hvezdickyln(5); ***** ***** ********** A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 32

33 Zastínění nelokální proměnné Deklarace lokální proměnné x zastíní deklaraci globální proměnné Příklad: int a = 10; void main(int argc, char** argv){ f(); printf( %d,a); Globální proměnná void f() { int a = 20; printf( %d,a); Program vypíše Lokální proměnná, zastíní globální proměnnou stejného jména A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 33

34 Přidělování paměti proměnným Poznali jsme doposud dva druhy proměnných: globální proměnné lokální proměnné funkcí Přidělením paměti proměnné rozumíme určení adresy umístění proměnné v paměti počítače Globálním proměnným třídy se přidělí paměť v okamžiku, kdy se do paměti zavádí kód fprogramu, a zůstane jim přidělena až do ukončení běhu programu. Lokálním proměnným a parametrům funkce se paměť přidělí při každém volání funkce a zůstane jim přidělena jen do návratu z funkce ( při návratu z funkce se přidělené adresy uvolní pro další použití). Úseky paměti přidělované lokálním proměnným a parametrům tvoří tzv. zásobník (stack, LIFO): úseky se přidávají a odebírají, přičemž se vždy odebere naposledy přidaný úsek zásobník A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 34

35 Přidělování paměti proměnným Příklad void main(int argc, char** argv){ int a; // 1 f();... // 5 void f() { int b; // 2 g(10);... // 4 void g(int x) { int c; // 3... Proměnné v paměti b c x b a a a a a arg arg arg arg arg b krok A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 35

36 Algoritmizace a programování Jazyk C funkce Konec České vysoké učení technické Fakulta elektrotechnická A8B14ADP Algoritmizace a programovaní -Jazyk C - funkce 36

Funkce, intuitivní chápání složitosti

Funkce, 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íce

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C funkce České vysoké učení technické Fakulta elektrotechnická A8B14ADP Algoritmizace a programovaní -Jazyk C -Ver.1.00 funkce J. Zděnek 20151 - černá (programová) skřínka

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba

Více

Rozklad problému na podproblémy, rekurze

Rozklad problému na podproblémy, rekurze 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 Rozklad problému

Více

Rozklad problému na podproblémy, rekurze

Rozklad problému na podproblémy, rekurze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Rozklad problému na podproblémy, rekurze BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních

Více

Řídící struktury, if, while, switch

Řídící struktury, if, while, switch Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Řídící struktury, if, while, switch BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních

Více

Algoritmizace a programování

Algoritmizace 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íce

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. 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íce

8. 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 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íce

Rozklad problému na podproblémy

Rozklad problému na podproblémy Rozklad problému na podproblémy Postupný návrh programu rozkladem problému na podproblémy zadaný problém rozložíme na podproblémy pro řešení podproblémů zavedeme abstraktní příkazy s pomocí abstraktních

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. 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íce

Řídící struktury, if, while, switch

Řídící struktury, if, while, switch 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 Řídící struktury,

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (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íce

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 1/24 Editační prostření Kód programu lze editovat v jakémkoli textovém editoru. 2/24 Editační prostření Kód

Více

Operač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 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íce

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Pole 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íce

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Sprá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

2 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.

2 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íce

Algoritmizace a programování

Algoritmizace 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íce

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Ú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íce

Algoritmizace. Cíle předmětu

Algoritmizace. Cíle předmětu Cíle předmětu Algoritmizace naučit se sestavovat algoritmy řešení jednoduchých problémů a zapisovat je v jazyku Java Organizace předmětu přednášky (učast nepovinná, ale doporučená) cvičení střídavě u tabule

Více

Struktura programu v době běhu

Struktura 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íce

Jazyk C++, některá rozšíření oproti C

Jazyk 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

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; Vícerozměrné pole type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; M[2,3] := 3145; - počet indexů není omezen (v praxi obvykle nejvýše tři) - více indexů pomalejší přístup k prvku (počítá

Více

Algoritmizace a programování

Algoritmizace 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íce

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Procedurální programování Rekurze Jazyk C České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Procedurální programování - zásady Postupný návrh programu

Více

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti 3. přednáška nalezení největšího prvku, druhého nejvyššího prvku, algoritmus shozeného praporku. Algoritmizace

Více

Paměť počítače. alg2 1

Paměť 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íce

Úvod do programování. Lekce 5

Úvod do programování. Lekce 5 I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í Inovace a zvýšení atraktivity studia optiky reg. č.: CZ.1.07/2.2.00/07.0289 Úvod do programování Lekce 5 Tento projekt je spolufinancován Evropským

Více

- jak udělat konstantu long int: L long velka = 78L;

- 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íce

return n; 3/29 Ing. Miroslav Balík, Ph.D. - BI-PA1-05 if (n<1) { printf("%d neni prirozene cislo\n", n); exit(0); }

return n; 3/29 Ing. Miroslav Balík, Ph.D. - BI-PA1-05 if (n<1) { printf(%d neni prirozene cislo\n, n); exit(0); } 1 Příprv studijního prormu Informtik je podporován projektem finncovným z Evropského sociálního fondu rozpočtu hlvního měst Prhy. Prh & EU: Investujeme do vší budoucnosti Funkce, intuitivní chápání složitosti

Více

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Martin 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íce

5. přednáška - Rozklad problému na podproblémy

5. přednáška - Rozklad problému na podproblémy 5. přednáška - Rozklad problému na podproblémy Obsah přednášky: Rozklad problému na podproblémy. Rekurze. Algoritmizace (Y36ALG), Šumperk - 5. přednáška 1 Rozklad problému na podproblémy Postupný návrh

Více

9.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 <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íce

24-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 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íce

Řídicí struktury. alg3 1

Ří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íce

Programovací jazyk Pascal

Programovací 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íce

Příkazy if, while, do-while, for, switch

Příkazy if, while, do-while, for, switch Příkazy if, while, do-while, for, switch BI-PA1 Programování a Algoritmizace 1 Ladislav Vagner, Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních technologíı

Více

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd 7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená

Více

Funkce, procedury, složitost

Funkce, procedury, složitost Funkce, procedury, složitost BI-PA1 Programování a Algoritmizace 1 Miroslav Baĺık, Ladislav Vagner a Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních technologíı

Více

2 Datové typy v jazyce C

2 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íce

Programování v C++ 1, 1. cvičení

Programová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íce

Koncepce (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 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íce

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_142_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. 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íce

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje

IUJCE 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íce

Základy programování (IZP)

Zá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íce

Základní datové struktury

Zá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íce

Objektově orientované programování

Objektově 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íce

PODPROGRAMY PROCEDURY A FUNKCE

PODPROGRAMY PROCEDURY A FUNKCE PODPROGRAMY PROCEDURY A FUNKCE Programy bez podprogramů Příklady: a) Napište program, který na obrazovku nakreslí čáru složenou ze znaků pomlčka. program Cara; b) Napište program, který na obrazovku nakreslí

Více

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1 Rekurze V programování ve dvou hladinách: - rekurzivní algoritmus (řešení úlohy je definováno pomocí řešení podúloh stejného charakteru) - rekurzivní volání procedury nebo funkce (volá sama sebe přímo

Více

Více o konstruktorech a destruktorech

Ví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íce

Př. další použití pointerů

Př. 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íce

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

IUJCE 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íce

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyuč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íce

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N

int 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íce

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní 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íce

C# konzole Podíl dvou čísel, podmínka IF

C# konzole Podíl dvou čísel, podmínka IF C# konzole Podíl dvou čísel, podmínka IF Tematická oblast Datum vytvoření 2013 Ročník 3 Stručný obsah Způsob využití Autor Kód Internetové technologie, programování Výpočet podílu v konzolové aplikaci

Více

Logické 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. 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íce

Operač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 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

Programovací jazyk C++ Hodina 1

Programovací 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íce

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

Více

Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0

Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0 Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0 int policko[100]; // tj. pole je od 0 do 99!!! policko[5] = 7; // pozor je to 6. prvek s indexem 5

Více

Začí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ů 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

Funkce a procedury. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 5 A0B36PR1 Programování 1

Funkce a procedury. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 5 A0B36PR1 Programování 1 Funkce a procedury Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 5 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 5: Funkce a procedury

Více

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ý

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ý 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íce

Řešení sady 1. Úvod do programování 1 Tomáš Kühr

Řešení sady 1. Úvod do programování 1 Tomáš Kühr Řešení sady 1 Úvod do programování 1 Tomáš Kühr Hello World #include #include int main(){ printf("hello world!\n"); return 0; } Práce s proměnnými 1/2 #include int main(){

Více

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Vý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í - Java. Cvičení č.4

Ú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íce

Část 1 Funkce, lokální proměnné a přidělování paměti. Funkce a procedury. Část 2 Cykly a řízení jejich průchodu. Část 3 Příklady

Část 1 Funkce, lokální proměnné a přidělování paměti. Funkce a procedury. Část 2 Cykly a řízení jejich průchodu. Část 3 Příklady Část 1 Funkce, lokální proměnné a přidělování paměti Funkce a procedury Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 5 A0B36PR1 Programování 1 Jména

Více

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

1.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íce

Datové struktury. alg12 1

Datové 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í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:

- 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íce

Např.: // v hlavičkovém souboru nebo na začátku // programu (pod include): typedef struct { char jmeno[20]; char prijmeni[20]; int rok_nar; } CLOVEK;

Např.: // v hlavičkovém souboru nebo na začátku // programu (pod include): typedef struct { char jmeno[20]; char prijmeni[20]; int rok_nar; } CLOVEK; Struktury - složený datový typ. - datový typ jehož položky jsou jiné proměnné: - používá obvykle dohromady s příkazem typedef nechci vypisovat opakovaně složitou deklaraci pomocí typedef udělám nový datový

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce 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 Racionální čísla,

Více

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele

Strukturu 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íce

Úvod do programování. Lekce 3

Úvod do programování. Lekce 3 Úvod do programování Lekce 3 Řízení běhu programu - pokračování /2 příklad: program vypisuje hodnotu sin x dx pro různé délky integračního kroku 0 #include #include // budeme pouzivat funkci

Více

Lekce 01 Úvod do algoritmizace

Lekce 01 Úvod do algoritmizace Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů Lekce 01 Úvod do algoritmizace Tento projekt CZ.1.07/1.3.12/04.0006 je spolufinancován Evropským sociálním

Více

6. Příkazy a řídící struktury v Javě

6. 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íce

Rozklad na prvočinitele. 3. prosince 2010

Rozklad na prvočinitele. 3. prosince 2010 Rozklad na prvočinitele Ondřej Slavíček 3. prosince 2010 1 Obsah 1 Příručka k programu 3 1.1 funkce main()............................. 3 1.2 funkce hlavnifunkce()........................ 3 1.3 funkce

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Č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íce

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České

Více

Stručný návod k programu Octave

Stručný návod k programu Octave Stručný návod k programu Octave Octave je interaktivní program vhodný pro technické výpočty. Je nápadně podobný programu MATLAB, na rozdíl od něho je zcela zadarmo. Jeho domovská vebová stránka je http://www.octave.org/,

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík

Více

Programovani v Maplu Procedura

Programovani v Maplu Procedura Programovani v Maplu Procedura Priklad: procedura, ktera scita 2 cisla: a + 2*b soucet := proc (a, b) local c; # lokalni promenna - existuje a meni se jenom uvnitr procedury c:=a+b; # globalni promenna

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.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íce

NPRG030 Programování I, 2015/16 1 / :25:32

NPRG030 Programování I, 2015/16 1 / :25:32 NPRG030 Programování I, 2015/16 1 / 21 22. 10. 2015 13:25:32 Podprogramy Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X

Více

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Algoritmy 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íce

Programovanie v jazyku C - ti to zratam...

Programovanie v jazyku C - ti to zratam... CVIČENIE 2/13 (S7) Programovanie v jazyku C - ti to zratam... PrednaskaB: Datové typy PrednaskaZ: Výrazy a příkazy, programové konstrukce, operátory About aritmeticke operacie TODO: Declaration vs. definition

Více

Programování II. Mgr. Monika Pinkasová. Zlepšování podmínek pro využívání ICT ve výuce a rozvoj výuky angličtiny na SPŠei Ostrava

Programování II. Mgr. Monika Pinkasová. Zlepšování podmínek pro využívání ICT ve výuce a rozvoj výuky angličtiny na SPŠei Ostrava Programování II. Mgr. Monika Pinkasová Zlepšování podmínek pro využívání ICT ve výuce a rozvoj výuky angličtiny na SPŠei Ostrava č. projektu CZ.1.07/1.1.07/03.0089 Ostrava 2011 Obor: Informační technologie

Více

PROGRAMOVÁNÍ V C++ CVIČENÍ

PROGRAMOVÁ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íce

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

ZPRO 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íce

Úvod do programovacích jazyků (Java)

Ú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íce

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace 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íce

Funkce 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 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íce

Rekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Rekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Rekurze doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Rekurze 161 / 344 Osnova přednášky

Více

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

Větvení a cykly. Úvod do programování 1 Tomáš Kühr Větvení a cykly Úvod do programování 1 Tomáš Kühr Konstrukce if u Příkazy se provádějí pouze při splnění dané podmínky u Podmínka = jakýkoli logický výraz = cokoli celočíselného u Volitelně i příkazy prováděné

Více

Základy programování (IZP)

Zá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íce

8 Třídy, objekty, metody, předávání argumentů metod

8 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íce