Rekapitulace Funkce Pole. Funkce a Pole. Základy algoritmizace a programování. Přednáška 12. října 2011 ZAPG

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

Download "Rekapitulace Funkce Pole. Funkce a Pole. Základy algoritmizace a programování. Přednáška 12. října 2011 ZAPG"

Transkript

1 a Základy algoritmizace a programování Přednáška 12. října 2011

2 Co už víme Algoritmus za nás počítač nevymyslí! Program... Základní příkazy jsou: přiřazení větvení (podmíněný) if (...)...else... cyklus (opakování) for...while...do - while v příkazech se vyskytují proměnné proměnné mají jméno a hodnotu prozatím používáme jednoduché proměnné - bud celočíselné nebo reálné.

3 Oblast "viditelnosti" (platnosti) proměnných Podle místa deklarace jsou proměnné lokální nebo globální. Oblastí lokalizace je blok, ve kterém je proměnná deklarována. Globální proměnné jsou "vidět" v souboru (od místa uvedení do konce souboru). Lokální proměnné od místa uvedení do konce funkce, ve které byly deklarovány. Globální proměnné jsou implicitně inicializovány nulou. Lokální proměnné nejsou inicializovány, jejich hodnota je náhodná! Lokální proměnné "zastíní" globální. int globalni,c; main(){ int a,b,c;...c=2; globalni=c*2;...}

4 Program v C Program v C je množina funkcí, z nichž právě jedna je main. /*Šablona programu:*/ /* poznámky*/ #include<stdio.h> /*použití funkcí z knihoven */ #define N 10 /* konstanty*/ int pocet; float b; /*globální proměnné */ float f(float x) { /*funkce jiné než main */ return x*x; } main() /* hlavní program */ { int a; float b; /*deklarace proměnných */ a=1; b=3*a;} /*příkazy */

5 Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Deklarace funkce: hlavička_funkce tělo_funkce hlavička_funkce: typ jméno ( seznam_parametrů ) typ: void, int, float... typ návratové hodnoty seznam parametrů: () nebo (void)... žádné parametry (typ jmeno, typ jmeno) (int a, float b) tělo_funkce: { deklarace_ proměnných; příkazy; } V těle funkce je příkaz return výraz ; kde hodnota výrazu má typ návratové hodnoty. Volání funkce: jmeno_funkce (seznam_argumentů); za parametry se dosadí hodnoty v zadaném pořadí Uvnitř funkce nesmí být deklarována jiná (lokální) funkce.

6 funkce main Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme hlavička: main () typ: neuveden implicitně typ int jméno: main prázdný seznam parametrů: tělo: {... } nebo: void main (void) {... return ; }

7 K čemu jsou funkce? Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Dělba práce Čitelnost (srozumitelnost) programu...

8 Úloha trojúhelník Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Jsou dána 3 čísla, která mají význam: délek 3 stran trojúhelníka (sss) délek 2 stran a velikosti úhlu jimi sevřeného (sus) délky strany a velikosti přilehlých 2 úhlů (usu) Napište program, ve kterém budou určeny zbývající strany a úhly, výšky, obvod, obsah, poloměr kružnice opsané a poloměr kružnice vepsané.

9 Jak postupovat? Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Jak se to počítá?... potřebujeme vzorečky Co mám (vstupní data) a co chci vypočítat? sss: dáno: a,b,c vypočítat: α, β, γ, v_a,v_b,v_c, S,o,r,ρ sus: dáno: a, b, γ vypočítat: α, β, c, v_a,v_b,v_c, S,o,r,ρ usu: dáno: α, β, c vypočítat: a, b, γ, v_a,v_b,v_c, S,o,r,ρ Mám 3 různé možnosti zadání: pro každý typ zadání napíšu funkci! Všechny údaje o trojúhelníku (a, b, c, α, β, γ, v_a,v_b,v_c, S,o,r,ρ ) budou uloženy v globálních proměnných. Představím si, jak bude program pracovat.

10 Scénáře Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme 1 program: Jakou úlohu řešíme? uživatel: sss, sus, usu, žádnou, nebo něco "hloupého". 2 program: přejde do jednoho ze stavů: "sss", "sus", "usu", "nic" nebo "chyba". 3 program je ve stavu: nic : program skončí chyba : program: "na to nejsem, odcházím" a přejde k bodu 1. sss,sus,usu : program: zadej vstupní data uživatel: zadá vstupní data 4 program: ověří, zda jsou údaje korektní bud pokračuje, nebo přejde do stavu "chyba". 5 program: provede výpočet 6 program: sdělí výsledky nebo upozorní na chybu 7 program: vrátí se k bodu 1.

11 Upřesnění ("dělba práce") Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme main : komunikace s uživatelem (zadání dat a tisk výsledků) a "změnu stavu", tj. volání funkcí. nic : program skončí chyba : funkce oznam(chyba) bude oznamovat, že je něco špatně výpočty : funkce sss, sus a usu budou předpokládat, že v globálních proměnných mají potřebné hodnoty, ověří, zda jsou věrohodné, a bud neprovedou výpočet, ale vrátí "číslo chyby" nebo se pustí do výpočtu, při kterém výsledky uloží do globálních proměnných

12 V jakém pořadí Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme 1 napíšeme funkci main a otestujeme 2 postupně upravujeme funkci oznam (přidáváme možné druhy chyb) 3 napíšeme jednu z funkcí, které realizují výpočet 4 ověříme (otestujeme) 5 napíšeme druhou a třetí

13 main a její okolí Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme #include<stdio.h> #include<math.h> float a,b,c,alha, beta, gamma; float v_a,v_b,v_c, S, o, r, rho; void oznam(int chyba){/*pozdeji*/ return;}; int sss(){/*pozdeji*/ return 0;}; int sus(){/*pozdeji*/ return 0;}; int usu(){/*pozdeji*/ return 0; }; main() {/*hned*/ };

14 Programujeme (funkce main) Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme main() { int uloha,chyba; do { /* uloha: bude zadano 0,1,2,3 nebo jine*/ switch(uloha){ case 0:chyba=0; break; /*pripadne return 0;*/ case 1:/*zadej data*/ chyba=sss(); break; case 2:/*zadej data*/ chyba=sus();break; case 3:/*zadej data*/ chyba=usu(); break; default:chyba = 1; }/*konec switch*/ if(chyba) oznam(chyba); else /*tiskni vysledky*/ ;}/*konec do-while*/ while(uloha);/* while(uloha!=0)*/ }/*konec main*/

15 Programujeme (funkce main) Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme main() { int uloha,chyba; do { printf("uloha: 0:nic, 1:sss, 2:sus, 3:usu"); scanf("%d",&uloha); switch(uloha){ case 0:chyba=0; break; /*pripadne return 0;*/ case 1:/*zadej data*/ chyba=sss(); break; case 2:/*zadej data*/ chyba=sus();break; case 3:/*zadej data*/ chyba=usu(); break; default:chyba = 1; }/*konec switch*/ if(chyba) oznam(chyba); else /*tiskni vysledky*/ ;}/*konec do-while*/ while(uloha);/* while(uloha!=0)*/ }/*konec main*/

16 Doplňujeme funkci oznam Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme void oznam (int chyba) { switch(chyba) { case 1: printf("takovou ulohu neresim\n"); break; default: printf("takovou chybu neznam\n"); }/*konec switch*/ return; }/*konec funkce*/

17 Testujeme funkci main Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme zadáme zadáme očekáváme úloha strany, úhly 1. 9 oznámení o chybném výběru úlohy 2. 0 vytisknuté výsledky (všechny nulové) ,1,1 vytisknuté výsledky: nulové, které jsme nezadali + zadané hodnoty

18 Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Z jakých údajů lze sestrojit trojúhelník? Strany (a,b,c) musí být kladná čísla. Úhly zadáváme bud ve stupních (a potom v programu převádíme na radiány) nebo v radiánech. Pro stupně musí platit: úhel (0, 180), pro radiány: úhel (0, π). Pro úlohu sss musí délky stran splňovat trojúhelníkovou nerovnost. a + b < c a b > c.

19 Programujeme kontrolu dat Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme sss: int ok; ok=(a > 0&&b > 0&&c > 0); ok = ok&&(a + b) > c&&fabs(a b) < c); /* v proměnné ok bude 0 ("false") v případě, že došlo k nesplnění aspoň jedné z podmínek */ if(! ok) return 2 ; /* data nesprávná, výpočet se nekoná */ /*zde bude výpočet */ sus: int ok; ok=(a > 0&&b > 0); ok = ok&& gamma >0 && gamma < 180; if(! ok) return 2; /*zde bude výpočet */ usu: int ok; ok=c>0; ok=ok && alpha>0 && alpha < 180 ; ok = ok && beta >0 && beta < 180 ; if (!ok) return 2; /*zde bude výpočet */

20 Testujeme nesprávná data Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Doplníme funkci oznam: void oznam (int chyba) { switch(chyba) { case 1: printf("takovou ulohu neresim\n"); break; case 2: printf("ze zadanych udaju neumim sestrojit trojuhelnik"); break; default: printf("takovou chybu neznam\n"); }/*konec switch*/ return; }/*konec funkce*/ Zadáváme všechny možné případy chyb!

21 Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Potřebujeme vzorečky... umíme je najít Vzorce pro obecný trojúhelník obvod o = a + b + c obsah S = a va 2 S = 1 2ab sin γ o S = 2 ( o 2 a)( o 2 b)( o 2 c) poloměr kružnice opsané r = abc 4S r = a 2 sin α poloměr kružnice vepsané ρ = 2S o kosinová věta a 2 = b 2 + c 2 2bc cos α a sinová věta sin α = b sin β = c sin γ = 2r Převod stupňů na radiány a naopak:(π radiánů = 180 stupňů) a stupňů = a radiánů 180 π b radiánů = b stupňů π 180.

22 Výpočet podle vzorců Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme sss 1 přečteme hodnoty a,b,c 2 z kosinové věty vyjádříme úhly ( b 2 + c 2 a 2 ) α = arccos 2bc ( a 2 + b 2 c 2 ) γ = arccos 2ab 3 vypočteme obvod o = a + b + c a obsah o S = 2 ( o 2 a)( o 2 b)( o 2 c) ( a 2 + c 2 b 2 ) β = arccos 2ac 4 vypočteme výšky v a = 2S a, v b = 2S b, v c = 2S c 5 vypočteme polomě ry kružnic : opsané: r = abc 4S a vepsané: ρ = 2S o

23 Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme sus 1 přečteme hodnoty a,b,gamma 2 z kosinové věty vyjádříme stranu c a úhly α, β. usu c = a 2 + b 2 2ab cos γ ( b 2 + c 2 a 2 ) ( a 2 + c 2 b 2 ) α = arccos β = arccos 2bc 2ac 3 Ostatní vypočteme stejně jako pro úlohu sss. 1 přečteme hodnoty a,beta,gamma 2 dopočítáme úhel α = π β γ 3 ze sinové věty vyjádříme strany b a c. b = a sin β sin α c = a sin γ sin α 4 Ostatní vypočteme stejně jako pro úlohu sss.

24 Testujeme výpočet Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Vhodné trojúhelníky jsou: rovnostranný a=b=c=2, α = β = γ = 60, v_a = v_b=v_c= 3, o = 6, S= 3, r =..., ρ =... pravoúhlý...

25 Malé shrnutí Úloha trojúhelník - formulace a postup řešení Úloha trojúhelník - programujeme a testujeme Na příkladu úlohy trojúhelník jsme si ukázali, jak postupovat při řešení větší úlohy. Pro podstatu úlohy používáme nejvíce přiřazovací příkaz (jedná se o výpočetní úlohu). Větvení a cykly slouží k tomu, aby jednotlivé části úlohy spolu "komunikovaly". Aby byl zápis úlohy přehlednější, rozdělili jsme úlohu na menší samostatné části, které jsme realizovali jako funkce. Kudy dál? Výlet do polí!

26 POLE Jednoduchá proměnná POLE (jednoduchých)proměnných...

27 POLE Jednoduchá proměnná POLE (jednoduchých)proměnných jméno hodnota jméno hodnoty...

28 POLE Jednoduchá proměnná POLE (jednoduchých)proměnných hodnota a jméno jméno hodnoty... deklarace: int a;

29 POLE Jednoduchá proměnná POLE (jednoduchých)proměnných hodnota a 5 jméno jméno hodnoty... deklarace: int a; zadání hodnoty: a = 5;

30 POLE Jednoduchá proměnná POLE (jednoduchých)proměnných hodnota a 5 jméno hodnoty v jméno... deklarace: int a; zadání hodnoty: a = 5; deklarace: int v[4];

31 POLE Jednoduchá proměnná hodnota a 5 jméno deklarace: int a; zadání hodnoty: a = 5; POLE (jednoduchých)proměnných hodnoty v... jméno v[0]v[1]v[2]v[3] deklarace: int v[4];

32 POLE Jednoduchá proměnná hodnota a 5 jméno deklarace: int a; zadání hodnoty: a = 5; POLE (jednoduchých)proměnných hodnoty v... jméno v[0]v[1]v[2]v[3] deklarace: int v[4]; zadání hodnot:

33 POLE Jednoduchá proměnná hodnota a 5 jméno deklarace: int a; zadání hodnoty: a = 5; POLE (jednoduchých)proměnných hodnoty v... jméno 1 v[0]v[1]v[2]v[3] deklarace: int v[4]; zadání hodnot: v[0]=1;

34 POLE Jednoduchá proměnná hodnota a 5 jméno deklarace: int a; zadání hodnoty: a = 5; POLE (jednoduchých)proměnných hodnoty v... jméno 1 10 v[0]v[1]v[2]v[3] deklarace: int v[4]; zadání hodnot: v[0]=1; v[3]=10;

35 POLE Jednoduchá proměnná hodnota a 5 jméno deklarace: int a; zadání hodnoty: a = 5; POLE (jednoduchých)proměnných hodnoty v... jméno v[0]v[1]v[2]v[3] deklarace: int v[4]; zadání hodnot: v[0]=1; v[3]=10; v[1]=2;

36 POLE Jednoduchá proměnná hodnota a 5 jméno deklarace: int a; zadání hodnoty: a = 5; POLE (jednoduchých)proměnných hodnoty v... jméno v[0]v[1]v[2]v[3] deklarace: int v[4]; zadání hodnot: v[0]=1; v[3]=10; v[1]=2; v[2]=4;

37 Deklarace pole deklarace pole: typ jméno [ počet ]; typ počet musí být znám při překladu, proto int float... SPRÁVNĚ int v[4]; #define POCET 10 float r[20];... int z[pocet]; počet určuje, kolik prvků má pole, tj. (kolik paměti bylo přiděleno).

38 Prvky pole Prvky pole jsou proměnné typu typ. K jednotlivým prvkům se dostaneme pomocí závorek [ ] Indexují se vždy od 0. NENÍ kontrola mezí! int v[4];... v[4]... lezeme na cizí území v v[0]v[1]v[2]v[3] v[4]

39 Kdy potřebujeme pole Chceme označit jedním jménem "podobné" hodnoty Vytvořit pole 100 prvočísel. Práce s vektory. Zpracování 50 naměřených hodnot stejné veličiny. Musíme data zkoumat vícekrát Kolik čísel se liší od aritmetického průměru o více než p %. Kolik ze zadaných čísel se rovná poslednímu. Seřadit čísla podle velikosti.

40 Operace Nelze provést operaci s celým polem najednou. Zpravidla realizujeme operaci pomocí cyklu, ve kterém pracujeme s jednotlivými prvky pole. : Naplnit pole hodnotami. Vytisknout pole. Určit, kolik ze zadaných čísel se liší od aritmetického průměru o p. Vytvořit pole prvních 100 prvočísel. Uvažujte, kde je nutné použít pole, kde si vystačíme s jednoduchými proměnnými: Dáno 50 čísel. Určit aritmetický průměr. Dáno 50 čísel. Kolik z nich se rovná poslednímu? Dáno 100 čísel. Vytisknout nejprve kladná, potom ostatní.

41 Výplata Příklad: Je dána celočíselná částka P (například v Kč). Napište program, který určí, jak uvedenou částku vyplatit co nejmenším počtem platidel (za předpokladu, že je máme v dostatečném množství). Uvažujeme platidla v hodnotách např. {5000,2000,1000,500,200,100,50,20,10,5,2,1} Jak? operace celočíselného dělení a zbytku po dělení! Částku můžeme vyplatit : P / (P%5000)/ ((P%5000)%2000)/ Můžeme se obejít bez pole i bez cyklu, ale platidel je příliš moc, tak pro ně vytvoříme pole. A když máme pole... tak použijeme cyklus.

42 Výplata /*proměnné*/ int P, pocet, i=0, money [ ] = {5000,2000,1000,500,200,100,50,20,10,5,2,1}; printf("zadej sumu\n"); scanf("%d",&p); if(p>=0) while(p>=0) { pocet=p/money[i]; printf("%d x %d Kc\n", pocet, money[i]); P=P%money[i]; i++; } else printf("vyplacim pouze kladne castky");

43 Naplnění pole známým počtem čísel #include<stdio.h> #define pocet 4 main() { int i, pole[pocet]; v printf("zadej %d cisel", pocet); for(i=0; i< pocet; i++) v[0]v[1]v[2]v[3] { scanf("%d",&v[i]); } i //Vytiskneme obsah pole for(i=0; i< pocet; i++) { printf("%d ",v[i]); } }

44 Naplnění pole známým počtem čísel #include<stdio.h> #define pocet 4 main() { int i, pole[pocet]; v 2 printf("zadej %d cisel", pocet); for(i=0; i< pocet; i++) v[0]v[1]v[2]v[3] { scanf("%d",&v[i]); } i 0 //Vytiskneme obsah pole for(i=0; i< pocet; i++) { printf("%d ",v[i]); } }

45 Naplnění pole známým počtem čísel #include<stdio.h> #define pocet 4 main() { int i, pole[pocet]; v 2 printf("zadej %d cisel", pocet); 4 for(i=0; i< pocet; i++) v[0]v[1]v[2]v[3] { scanf("%d",&v[i]); } i 01 //Vytiskneme obsah pole for(i=0; i< pocet; i++) { printf("%d ",v[i]); } }

46 Naplnění pole známým počtem čísel #include<stdio.h> #define pocet 4 main() { int i, pole[pocet]; v 2 printf("zadej %d cisel", pocet); 4 6 for(i=0; i< pocet; i++) v[0]v[1]v[2]v[3] { scanf("%d",&v[i]); } i 012 //Vytiskneme obsah pole for(i=0; i< pocet; i++) { printf("%d ",v[i]); } }

47 Naplnění pole známým počtem čísel #include<stdio.h> #define pocet 4 main() { int i, pole[pocet]; v 2 printf("zadej %d cisel", pocet); for(i=0; i< pocet; i++) v[0]v[1]v[2]v[3] { scanf("%d",&v[i]); } i 0123 //Vytiskneme obsah pole for(i=0; i< pocet; i++) { printf("%d ",v[i]); } }

48 Naplnění pole známým počtem čísel #include<stdio.h> #define pocet 4 main() { int i, pole[pocet]; v 2 printf("zadej %d cisel", pocet); for(i=0; i< pocet; i++) v[0]v[1]v[2]v[3] { scanf("%d",&v[i]); } i //Vytiskneme obsah pole for(i=0; i< pocet; i++) { printf("%d ",v[i]); } }

49 Naplnění pole neznámým počtem čísel Dokud nezadáno číslo KONEC, ukládáme hodnoty do pole. #include<stdio.h> #define pocet 10 #define KONEC 157 main() { int i, cislo, pole[pocet]; i=0; scanf("%d",&cislo); while (i< pocet && cislo!= KONEC) { pole[i]=cislo; i=i+1; scanf("%d",&cislo); }

50 Kolik z daných čísel se liší od jejich aritmetického průměru o méně než p. Hodnoty musíme projít dvakrát: Určit celkový součet Aritmeticý průměr Znovu všechny hodnoty projít a spočítat, kolik z nich... Zadáme: počet "naměřených hodnot" N, "chybu" p, v cyklu zadáváme hodnoty. Součet: nejprve se rovná nule, po zadání hodnoty se Součet zvětšuje o zadané číslo. (S=0;... S=S+cisla[i];) Počet: nejprve se rovná nule, když najdeme číslo, které má hledanou vlastnost, Počet se zvětšuje o jedna. (P=0;... if (cisla[i]... ) P=P+1;)

51 #include<stdio.h> #include<math.h> #define pocet 100 main() { int i, kolik, N; float s, p, prumer, cisla[pocet]; scanf("%d",&n); if(n>= pocet){ return;} //"Prilis moc cisel" scanf("%f",&p); s = 0; for(i=0; i<n; i++) { scanf("%f",&cisla[i]); s = s + cisla[i]; } prumer = s / N; kolik = 0; for(i=0; i<n; i++) { if(fabs(cisla[i]-p) < p) kolik = kolik +1; } printf("%d ",kolik);}

52 Najdi je všechny! V určitém druhu výrobku je přibalena kartička. Celá sbírka obsahuje 10 různých kartiček. Kolik výrobků si budeme muset koupit, abychom měli celou sbírku? Budeme modelovat nákup.

53 Modelujeme hledání (Pseudo)náhodná čísla knihovna stdlib, funkce srand(číslo);, rand(); pole kartičky[10] vynulujeme "nákup": karta = rand()%10; pole[karta]=pole[karta]+1; "máme je všechny?" projdeme kartičky: všechny kartičky[ i ] jsou nenulové máme zbyly nulové opakujeme nákup

54 Hledáme v poli Předpokládejme, že čísla v poli jsou nesetříděná. Musíme prohlédnout (v nejhorším případě) všechna čísla, abychom zjistili, zda hledané číslo v poli je nebo není. proměnná mam: hodnota 0 dosud nenalezeno "pro jistotu" můžeme použít "zarážku"

55 Příště... další typ složených proměnných více o funkcích

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 19. září 2011 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Doporučená literatura web: http://marian.fsik.cvut.cz/zapg

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 21. září 2009 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Organizace předmětu Přednášky 1. 5. Základní

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

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

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

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je

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

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

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

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

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

February 05, Čtyřúhelníky lichoběžníky.notebook. 1. Vzdělávací oblast: Matematika a její aplikace

February 05, Čtyřúhelníky lichoběžníky.notebook. 1. Vzdělávací oblast: Matematika a její aplikace Registrační číslo projektu: Název projektu: Název a číslo globálního grantu: CZ.1.07/1.1.12/02.0010 Šumavská škola = evropská škola Zvyšování kvality ve vzdělání v Plzeňském kraji CZ.1.07/1.1.12 Název

Více

6 Příkazy řízení toku

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

( ) ( ) ( ) ( ) Skalární součin II. Předpoklady: 7207

( ) ( ) ( ) ( ) Skalární součin II. Předpoklady: 7207 78 Skalární součin II Předpoklady: 707 Pedagogická poznámka: Hodina má tři části, považuji tu prostřední za nejméně důležitou a proto v případě potřeby omezuji hlavně ji Na začátku hodiny je důležité nechat

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

Úlohy krajského kola kategorie A

Úlohy krajského kola kategorie A 62. ročník matematické olympiády Úlohy krajského kola kategorie A 1. Je dáno 21 různých celých čísel takových, že součet libovolných jedenácti z nich je větší než součet deseti ostatních čísel. a) Dokažte,

Více

TROJÚHELNÍK 180. Definice. C neleží v přímce. Potom trojúhelníkem ABC nazveme průnik polorovin ABC, BCA, Nechť body. Viz příloha: obecny_trojuhelnik

TROJÚHELNÍK 180. Definice. C neleží v přímce. Potom trojúhelníkem ABC nazveme průnik polorovin ABC, BCA, Nechť body. Viz příloha: obecny_trojuhelnik TROJÚHELNÍK Definice Nechť body A, B, C neleží v přímce. Potom trojúhelníkem ABC nazveme průnik polorovin ABC, BCA, CAB. Viz příloha: obecny_trojuhelnik Definice trojúhelníku Uzavřená, jednoduchá (neprotínající

Více

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 Mgr. Tomáš Kotler I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Je dán rovinný obrazec, v obrázku vyznačený barevnou výplní, který představuje

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

Ú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

Ú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

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

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

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci Projekt OPVK - CZ.1.07/1.1.00/26.0047 Matematika pro všechny Univerzita Palackého v Olomouci Tematický okruh: Geometrie Různé metody řešení Téma: Analytická geometrie v prostoru, vektory, přímky Autor:

Více

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2 6 Skalární součin Skalární součin 1 je operace, která dvěma vektorům (je to tedy binární operace) přiřazuje skalár (v našem případě jde o reálné číslo, obecně se jedná o prvek nějakého tělesa T ). Dovoluje

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

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

Přírodovědecká fakulta Masarykovy univerzity. na trigonometrii pravoúhlého a obecného trojúhelníku

Přírodovědecká fakulta Masarykovy univerzity. na trigonometrii pravoúhlého a obecného trojúhelníku Přírodovědecká fakulta Masarykovy univerzity Řešení složitějších úloh na trigonometrii pravoúhlého a obecného trojúhelníku Bakalářská práce BRNO. května 006 Barbora Kamencová Prohlašuji, že jsem svou bakalářskou

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

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

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

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

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

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

Syntetická geometrie I

Syntetická geometrie I Shodnost Pedagogická fakulta 2018 www.karlin.mff.cuni.cz/~zamboj/ Vzdálenost dvou bodů Definice (Vzdálenost) Necht A, B, C ρ. Vzdálenost dvou bodů A, B v rovině je číslo AB a platí AB 0 AB = 0 A = B AB

Více

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 CVIČNÝ TEST 5 Mgr. Václav Zemek OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 I. CVIČNÝ TEST 1 Zjednodušte výraz (2x 5) 2 (2x 5) (2x + 5) + 20x. 2 Určete nejmenší trojciferné

Více

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu

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

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy Koza se pase na polovině zahrady, Jaroslav eichl, 011 K OZA E PAE NA POLOVINĚ ZAHADY Zadání úlohy Zahrada kruhového tvaru má poloměr r = 10 m. Do zahrady umístíme kozu, kterou přivážeme provazem ke kolíku

Více

= + = + = 105,3 137, ,3 137,8 cos37 46' m 84,5m Spojovací chodba bude dlouhá 84,5 m. 2 (úhel, který spolu svírají síly obou holčiček).

= + = + = 105,3 137, ,3 137,8 cos37 46' m 84,5m Spojovací chodba bude dlouhá 84,5 m. 2 (úhel, který spolu svírají síly obou holčiček). 4.4.4 Trigonometrie v praxi Předpoklady: 443 Nejdřív něco jednoduchého na začátek. Př. : vě přímé důlní chodby ústící do stejného místa svírají úhel α = 37 46' mají být spojeny chodbou, spojující bodu

Více

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

Ú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

CVIČNÝ TEST 13. OBSAH I. Cvičný test 2. Mgr. Zdeňka Strnadová. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 13. OBSAH I. Cvičný test 2. Mgr. Zdeňka Strnadová. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 13 Mgr. Zdeňka Strnadová OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 V trojúhelníku ABC na obrázku dělí úsečka

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

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ;

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ; Pole Příklad: přečíst teploty naměřené v jednotlivých dnech týdnu, vypočítat průměrnou teplotu a pro každý den vypsat odchylku od průměrné teploty Řešení s proměnnými typu int: int t1, t2, t3, t4, t5,

Více

Svobodná chebská škola, základní škola a gymnázium s.r.o. Trojúhelník III. konstrukce trojúhelníku. Astaloš Dušan. frontální, fixační

Svobodná chebská škola, základní škola a gymnázium s.r.o. Trojúhelník III. konstrukce trojúhelníku. Astaloš Dušan. frontální, fixační METODICKÝ LIST DA35 Název tématu: Autor: Předmět: Ročník: Metody výuky: Formy výuky: Cíl výuky: Získané dovednosti: Stručný obsah: Trojúhelník III. konstrukce trojúhelníku Astaloš Dušan Matematika šestý

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

β 180 α úhel ve stupních β úhel v radiánech β = GONIOMETRIE = = 7π 6 5π 6 3 3π 2 π 11π 6 Velikost úhlu v obloukové a stupňové míře: Stupňová míra:

β 180 α úhel ve stupních β úhel v radiánech β = GONIOMETRIE = = 7π 6 5π 6 3 3π 2 π 11π 6 Velikost úhlu v obloukové a stupňové míře: Stupňová míra: GONIOMETRIE Veliost úhlu v oblouové a stupňové míře: Stupňová míra: Jednota (stupeň) 60 600 jeden stupeň 60 minut 600 vteřin Př. 5,4 5 4 0,4 0,4 60 4 Oblouová míra: Jednota radián radián je veliost taového

Více

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

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury 1 / 34 Obsah přednášky Základní řídící struktury posloupnost příkazů podmínka cyklus s podmínkou na začátku cyklus s podmínkou na konci cyklus s pevným počtem opakování Jednoduchá

Více

Kreslení elipsy Andrej Podzimek 22. prosince 2005

Kreslení elipsy Andrej Podzimek 22. prosince 2005 Kreslení elipsy Andrej Podzimek 22. prosince 2005 Kreslení elipsy v obecné poloze O co půjde Ukázat přesný matematický model elipsy Odvodit vzorce pro výpočet souřadnic důležitých bodů Nalézt algoritmus

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

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

Více

CVIČNÝ TEST 10. OBSAH I. Cvičný test 2. Mgr. Renáta Koubková. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

CVIČNÝ TEST 10. OBSAH I. Cvičný test 2. Mgr. Renáta Koubková. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 CVIČNÝ TEST 10 Mgr. Renáta Koubková OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 I. CVIČNÝ TEST 1 Pro x R řešte rovnici: 5 x 1 + 5 x + 5 x + 3 = 3 155. 2 Za předpokladu

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

Řešení 5. série kategorie Student

Řešení 5. série kategorie Student Řešení 5 série kategorie Student Řešení S-I-5-1 Aby byl daný trojúhelník (ozn trojúhelník A) pravoúhlý, musí podle rozšířené Pythagorovy věty (pravidelné 9-úhelníky jsou podobné obrazce) platit, že obsah

Více

Metody výpočtu limit funkcí a posloupností

Metody výpočtu limit funkcí a posloupností Metody výpočtu limit funkcí a posloupností Martina Šimůnková, 6. listopadu 205 Učební tet k předmětu Matematická analýza pro studenty FP TUL Značení a terminologie R značí množinu reálných čísel, rozšířenou

Více

4.3.4 Základní goniometrické vzorce I

4.3.4 Základní goniometrické vzorce I .. Základní goniometrické vzorce I Předpoklady: 0 Dva vzorce, oba známe už z prváku. Pro každé R platí: + =. Důkaz: Použijeme definici obou funkcí v jednotkové kružnici: T sin() T 0 - cos() S 0 R - Obě

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Příklady v MATLABu Přednáška 10 30. listopadu 2009 Řídící instrukce if else C Matlab if ( podmínka ) { } else { } Podmíněný příkaz if podmínka elseif podmínka2... else

Více

CVIČNÝ TEST 2. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 2. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 2 Mgr. Václav Zemek OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST 1 Od součtu libovolného čísla x a čísla 256 odečtěte číslo x zmenšené o 256.

Více

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr) Cykly Základy programování 1 Martin Kauer (Tomáš Kühr) Z minula Chary můžete používat jako znaky ale i jako čísla 0-255. Jakou formu vybrat záleží na konkrétní aplikaci. Když pracujete se znaky, používejte

Více

l, l 2, l 3, l 4, ω 21 = konst. Proved te kinematické řešení zadaného čtyřkloubového mechanismu, tj. analyticky

l, l 2, l 3, l 4, ω 21 = konst. Proved te kinematické řešení zadaného čtyřkloubového mechanismu, tj. analyticky Kinematické řešení čtyřkloubového mechanismu Dáno: Cíl: l, l, l 3, l, ω 1 konst Proved te kinematické řešení zadaného čtyřkloubového mechanismu, tj analyticky určete úhlovou rychlost ω 1 a úhlové zrychlení

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

CVIČNÝ TEST 11. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 19 IV. Záznamový list 21

CVIČNÝ TEST 11. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 19 IV. Záznamový list 21 CVIČNÝ TEST 11 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 19 IV. Záznamový list 21 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Je k dispozici m přepravek na ovoce. Prázdná přepravka

Více

67. ročník matematické olympiády III. kolo kategorie A. Přerov, března 2018

67. ročník matematické olympiády III. kolo kategorie A. Přerov, března 2018 67. ročník matematické olympiády III. kolo kategorie Přerov, 8.. března 08 MO . Ve společnosti lidí jsou některé dvojice spřátelené. Pro kladné celé číslo k 3 řekneme, že společnost je k-dobrá, pokud

Více

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, 1. V oboru celých čísel řešte soustavu rovnic (4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, kde (n) k značí násobek čísla k nejbližší číslu n. (P. Černek) Řešení. Z první rovnice dané soustavy plyne, že číslo

Více

CVIČNÝ TEST 49. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15

CVIČNÝ TEST 49. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15 CVIČNÝ TEST 49 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST 1 bod 1 Kolik hodnot proměnné a R existuje takových, že diference aritmetické

Více

CVIČNÝ TEST 9 OBSAH. Mgr. Václav Zemek. I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 17 IV. Záznamový list 19

CVIČNÝ TEST 9 OBSAH. Mgr. Václav Zemek. I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 17 IV. Záznamový list 19 CVIČNÝ TEST 9 Mgr. Václav Zemek OBSAH I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 17 IV. Záznamový list 19 I. CVIČNÝ TEST 1 Vypočítejte (7,5 10 3 2 10 2 ) 2. Výsledek zapište ve tvaru a 10 n, kde

Více

Poslední nenulová číslice faktoriálu

Poslední nenulová číslice faktoriálu Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip

Více

Užití stejnolehlosti v konstrukčních úlohách

Užití stejnolehlosti v konstrukčních úlohách Užití stejnolehlosti v konstrukčních úlohách Příklad 1: Je dána kružnice k(o,r) a bod M ležící uvnitř kružnice k. Bodem M veďte tětivu AB, jejíž délka je bodem M rozdělena v poměru 2 : 1. Sestrojte obraz

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Algoritmus Daniela Szturcová Tento

Více

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz 1/15 ANALYTICKÁ GEOMETRIE Základní pojmy: Soustava souřadnic v rovině a prostoru Vzdálenost bodů, střed úsečky Vektory, operace s vektory, velikost vektoru, skalární součin Rovnice přímky Geometrie v rovině

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

Ú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

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

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

Návody k úlohám domácí části I. kola 59. ročníku MO kategorie B

Návody k úlohám domácí části I. kola 59. ročníku MO kategorie B Návody k úlohám domácí části I kola 59 ročníku MO kategorie B Soutěžní úloha 1 Na stole leží tři hromádky zápalek: v jedné 009, ve druhé 010 a v poslední 011 Hráč, který je na tahu, zvolí dvě hromádky

Více

Syntetická geometrie I

Syntetická geometrie I Shodnost Pedagogická fakulta 2016 www.karlin.mff.cuni.cz/~zamboj/ Vzdálenost dvou bodů Necht A, B, C ρ. Vzdálenost dvou bodů A, B v rovině je číslo AB a platí AB 0 AB = 0 A = B AB = BA pozitivně definitní

Více

4.4.3 Další trigonometrické věty

4.4.3 Další trigonometrické věty 443 Další trigonometriké věty Předpoklady: 440 Věty, které ojevíme v této hodině, mohou usnadnit některé výpočty, ale je možné se ez nih (na rozdíl od kosinové a sinové věty) oejít Pedagogiká poznámka:

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

Analytická geometrie lineárních útvarů

Analytická geometrie lineárních útvarů ) Na přímce: a) Souřadnice bodu na přímce: Analtická geometrie lineárních útvarů Bod P nazýváme počátek - jeho souřadnice je P [0] Nalevo od počátku leží čísla záporná, napravo čísla kladná. Každý bod

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

C++ 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. 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í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

Lineární algebra : Změna báze

Lineární algebra : Změna báze Lineární algebra : Změna báze (13. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 8. dubna 2014, 10:47 1 2 13.1 Matice přechodu Definice 1. Nechť X = (x 1,..., x n ) a Y = (y 1,...,

Více

CVIČNÝ TEST 29. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 29. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 29 Mgr. Kateřina Nováková OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Smrk má vysokou klíčivost, jen 5 % semen nevyklíčí.

Více

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b 008 verze 0A. Řešeními nerovnice x + 4 0 jsou právě všechna x R, pro která je x ( 4, 4) b) x = 4 c) x R x < 4 e) nerovnice nemá řešení b. Rovnice x + y x = je rovnicí přímky b) dvojice přímek c) paraboly

Více

14. přednáška. Přímka

14. přednáška. Přímka 14 přednáška Přímka Začneme vyjádřením přímky v prostoru Přímku v prostoru můžeme vyjádřit jen parametricky protože obecná rovnice přímky v prostoru neexistuje Přímka v prostoru je určena bodem A= [ a1

Více

Operátory. Základy programování 1 Tomáš Kühr

Operátory. Základy programování 1 Tomáš Kühr Operátory Základy programování 1 Tomáš Kühr Operátory a jejich vlastnosti Základní konstrukce (skoro) každého jazyka Z daných operandů vytvoří výsledek, který je možné dále využívat Arita udává počet operandů

Více

Algoritmizace. 1. Úvod. Algoritmus

Algoritmizace. 1. Úvod. Algoritmus 1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá

Více

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A 64. ročník matematické olympiády Řešení úloh krajského kola kategorie A 1. Středy stran AC, BC označme postupně, N. Střed kružnice vepsané trojúhelníku KLC označme I. Úvodem poznamenejme, že body K, L

Více

f(x) = arccotg x 2 x lim f(x). Určete všechny asymptoty grafu x 2 2 =

f(x) = arccotg x 2 x lim f(x). Určete všechny asymptoty grafu x 2 2 = Řešení vzorové písemky z předmětu MAR Poznámky: Řešení úloh ze vzorové písemky jsou formulována dosti podrobně podobným způsobem jako u řešených příkladů ve skriptech U zkoušky lze jednotlivé kroky postupu

Více

19 Eukleidovský bodový prostor

19 Eukleidovský bodový prostor 19 Eukleidovský bodový prostor Eukleidovským bodovým prostorem rozumíme afinní bodový prostor, na jehož zaměření je definován skalární součin. Víme, že pomocí skalárního součinu jsou definovány pojmy norma

Více

INTERNETOVÉ ZKOUŠKY NANEČISTO - VŠE: UKÁZKOVÁ PRÁCE

INTERNETOVÉ ZKOUŠKY NANEČISTO - VŠE: UKÁZKOVÁ PRÁCE INTERNETOVÉ ZKOUŠKY NANEČISTO - VŠE: UKÁZKOVÁ PRÁCE. Součin 5 4 je roven číslu: a) 4, b), c), d), e) žádná z předchozích odpovědí není správná. 5 5 5 5 + + 5 5 5 5 + + 4 9 9 4 Správná odpověď je a) Počítání

Více

Iterační výpočty Projekt č. 2

Iterační výpočty Projekt č. 2 Dokumentace k projektu pro předměty IUS & IZP Iterační výpočty Projekt č. 2 Autor: Jan Kaláb (xkalab00@stud.fit.vutbr.cz) Úvod Úkolem bylo napsat v jazyce C program sloužící k výpočtům matematických funkcí

Více

Trojúhelník. MATEMATIKA pro 1. ročníky tříletých učebních oborů. Ing. Miroslav Čapek srpen 2011

Trojúhelník. MATEMATIKA pro 1. ročníky tříletých učebních oborů. Ing. Miroslav Čapek srpen 2011 MATEMATIKA pro 1. ročníky tříletých učebních oborů Trojúhelník Ing. Miroslav Čapek srpen 2011 Projekt Využití e-learningu k rozvoji klíčových kompetencí reg. č.: CZ.1.07/1.1.10/03.0021 je spolufinancován

Více

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

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

Úvod do programování. Lekce 1

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

v z t sin ψ = Po úpravě dostaneme: sin ψ = v z v p v p v p 0 sin ϕ 1, 0 < v z sin ϕ < 1.

v z t sin ψ = Po úpravě dostaneme: sin ψ = v z v p v p v p 0 sin ϕ 1, 0 < v z sin ϕ < 1. Řešení S-I-4-1 Hledáme vlastně místo, kde se setkají. A to tak, aby nemusel pes na zajíce čekat nebo ho dohánět. X...místo setkání P...místo, kde vybíhá pes Z...místo, kde vybíhá zajíc ZX = v z t P X =

Více