Implementace numerických metod v jazyce C a Python

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Implementace numerických metod v jazyce C a Python"

Transkript

1 Fakulta elektrotechnická Katedra matematiky Dokumentace k semestrální práci Implementace numerických metod v jazyce C a Python 2013/14 Michal Horáček a Petr Zemek Vyučující: Mgr. Zbyněk Vastl Předmět: Matematika pro FEL 4

2 Obsah 1 Zadání semestrální práce Název Zadání Analýza úlohy Ošetření uživatelského vstupu Zjištění vlastností matic Kontrola špatně podmíněných matic Matematický popis jednotlivých úloh Gausova eliminace Jacobiho metoda Metoda Gausse-Seidela Metoda sdružených gradientů Popis implementace v C Ošetření vstupu Datové typy a správa paměti Přenositelnost Debugování kódu Přehled návratových kódů Popis implementace v Pythonu 9 6 Uživatelská příručka programu v jazyce C Překlad a spuštění Chybové hlášky Nápověda Formát matice soustavy Závěr Výkonnost programu Program v jazyce C Program v jazyce Python Možný problém na určitých systémech Vysvětlení nestandardních konstrukcí Kódování zdrojových souborů

3 1 Zadání semestrální práce 1.1 Název Implementace numerických metod v jazyce C a Python 1.2 Zadání Naprogramujte v jazyce C a Python přenositelnou konzolovou aplikaci, která jako vstup načte z parametru na příkazové řádce jméno souboru s maticí soustavy a ostatní potřebné údaje pro spuštění výpočtu. Implementujte Gausovu eliminační metodu, metodu sdružených gradientů, Jacobbiho metodu a Gauss-Seidelovu metodu řešení soustav linárních algebraických rovnic. Implementaci v jazyce C řeší Petr Zemek a v jazyce Python Michal Horáček. 3

4 2 Analýza úlohy 2.1 Ošetření uživatelského vstupu Představme si, co všechno může BFU uživatel zkoušet zadávat do vstupu programu. Je vhodné ošetřit případy, kdy je očekáváno číslo. Pokud uživatel zadá nečíselný znak, měla by se použít defaultní hodnota. Matice je vhodné načítat spíše ze souboru než z výchozího vstupu pro jejich rozsáhlost. Program by měl umět parsovat soubor s maticí soustavy. Následně by měl umět ověřit, jestli matice v souboru je opravdu čtvercová a nechybí-li některý člen. 2.2 Zjištění vlastností matic Pro celistvost programu by bylo vhodné zjišťovat vlastnosti matic a na základě získaných informací se rozhodnout, jaký algoritmus pro řešení zvolit. 2.3 Kontrola špatně podmíněných matic Před spuštěním algoritmu Jacobiho metody nebo Metody Gausse-Seidela je vhodné ověřit, že se v matici soustavy na hlavní diagonále nenachází nula, protože se v těchto metodách vektor neznámých dělí prvkem na hlavní diagonále. 4

5 3 Matematický popis jednotlivých úloh 3.1 Gausova eliminace Matici soustavy je třeba převést do stupňovitého tvaru na horní trojúhelníkovou matici. Pod hlavní diagonálou musí zbýt nuly. Čili na konci eliminace musí zbýt na posledním řádku a sloupci matice jedno číslo, které po vynásobení neznámou z posledního řádku a sloupce se rovná poslednímu řádku vektoru pravé strany. Pokud při eliminaci vyjde nulový řádek, soustava má nekonečně mnoho řešení. Obecný algoritmus: for k = 1... m: #Najít sloupec, kde je největší číslo (pivot): i_max := argmax (i = k... m, abs(a[i, k])) if A[i_max, k] = 0 error "Matice je singulární!" swap rows(k, i_max) # pro každý prvek pod pivotem: for i = k m: # pro všechny zbývající prvky v daném sloupci for j = k n: A[i, j] := A[i, j] - A[k, j] * (A[i, k] / A[k, k]) endfor # Naplnit spodní trojúhelníkovou matici nulami: A[i, k] := 0 endfor endfor 3.2 Jacobiho metoda Jacobiho metoda je iterační metoda, která konverguje pouze pro ryze řádkově nebo sloupcově diagonálně dominantní matice. x k+1 i = b i A ii n j=i+1 A ij A ii x k i, k 0; i = 1,..., n 5

6 3.3 Metoda Gausse-Seidela Je téměř shodná s Jacobiho metodou. Liší se v tom, že v každé iteraci se od vektoru neznámých odečítá aproximace z předchozího kroku. Tím se sníží počet potřebných iterací k dosažení stejné přesnosti jako při použití Jacobiho metody. x k+1 i = b i A ii i 1 j=1 A ij A ii x k+1 i n A ij A j=i+1 ii x k i, k 0; i = 1,..., n 3.4 Metoda sdružených gradientů Obecný matematický zápis: ε> 0, x 1, k = 1 b 1 = Ax 1 b, v 1 = r 1, α 1 = b1 2 Ar 1, r 1, x 2 = x 1 + α 1 v 1 while x k+1 x k > ε k = k + 1 r k = r k 1 + α k 1 Av k 1 β k 1 = rk,av k 1 Av k 1,v k 1 v k = r k + β k 1 v k 1 α = rk,v k 1 Av k,v k x k+1 = x k + α k v k end while 6

7 4 Popis implementace v C 4.1 Ošetření vstupu Nejdříve se ověřují parametry příkazové řádky - jestli uživatel zadal cestu k matici a číslo metody řešení (soubor rozcestnik.c; ř ). Potom se ověří, jestli existuje soubor s maticí a uživatel, pod kterým běží tento program, má oprávnění ke čtení souboru (rozcestnik.c; ř ). V případě, že uživatelský vstup prošel těmito kritérii, zjistí se počet sloupců matice(rozcestnik.c; ř ) a provede se alokace množství paměti, které odpovídá druhé mocnině zjištěných sloupců matice bez pravé strany plus jednoho sloupce navíc (pravá strana). Nyní je vytvořena matice, která se musí naplnit daty ze souboru. To řeší funkce nacist_matici() v souboru jednoduche_fce/nacist_soubor.c. Zde se provádí rozřazování prvků matice ze souboru do matice v paměti a zároveň se provádí jednoduché testování na přítomnost znaku " " oddělující matici soustavy od pravé strany (jednoduche_fce/nacist_soubor.c; ř ). Nakonec se porovná počet řádků a sloupců. Pokud počet nesouhlasí, matice není čtvercová a program skončí s návratovým kódem Datové typy a správa paměti Nejpodstatnějšími proměnnými v programu jsou matice soustavy a ostatní vektory. Program byl vyvíjen na 32-bitové architektuře a proto pro tyto proměnné byl zvolen datový typ float. Práce s tímto datovým typem na této architektuře je optimální z hlediska rychlosti běhu programu. Pokud bychom chtěli na stejné architektuře např. zdvojnásobit přesnost výpočtu, můžeme zvolit datový typ matic a vektorů s dvojnásobou přesností (double float) a nebo dvojnásobně zmenšit ε. V prvním případě docílíme toho, že se jedno desetinné číslo bude kopírovat dva procesorové cykly dlouho. Matematické operace mohou trvat až několikanásobně více procesorových cyklů déle než při použití jednoduché přesnosti. V druhém případě sice vzroste režije algoritmu, která se skládá pouze z inkrementace proměnných typu unsigned int a udržovacích podmínek, ale hlavně vzroste počet iterací, které jsou závislé na použité metodě. Efektivnější je tedy buď změnit ε, a nebo použít procesor s širší sběrnicí a přepsat konstantu datového typu v souboru headers/konstanty.h. Paměť je z většiny přidělována staticky. Ta, která se alokuje dynamicky by se mohla alokovat staticky, protože v průběhu běhu programu ji není kde dealokovat. Paměť se alokuje na začátku funkce main() (ř ) hned po zjištění rozměrů matice soustavy. Dealokuje se na konci programu - ať už skončí chybou nebo ne. 7

8 4.3 Přenositelnost Program není závislý na softwarové ani hardwarové platformě a neobsahuje ani absolutní cesty k souborům. Jako parametr lze předávat relativní i absolutní cesty. Pro jednodušší úpravu zdrojových kódů jsou použity konstanty. Při kompilaci programu pro HW platformu s šířkou sběrnice vyšší než 32 bitů je vhodné ověřit, jestli float má skutečně tolik bitů jako šířka sběrnice. 4.4 Debugování kódu...se provádí prostým odkomentováním řádky #define _debug v souboru headers/konstanty.h. 4.5 Přehled návratových kódů Návratový kód Význam 0 Program skončil úspěšně 1 Uživatel nezadal číslo metody řešení 2 Uživatel nezadal cestu k souboru s maticí 3 Soubor s maticí soustavy neexistuje, nebo uživatel nemá oprávnění ke čtení 4 Operační systém odmítl přidělit paměť pro matici soustavy (není žádná volná) 5 Uživatel zvolil chybné číslo metody řešení 6 Chyba syntaxe v matici soustavy: očekáván znak " " 7 Uživatel zadal neznámý parametr příkazu 10 Chyba v programu; funkce gaus_seidel(), soubor vypocetni_fcegaus-sidel.c 11 Chyba v programu; funkce jacobi(), soubor vypocetni_fcejacobi.c 12 Chyba v programu; funkce sdruzene_gradienty(), soubor vypocetni_fcegrad.c 20 Výpočet metodou Gausse-Seidela ukončen pro dosažení maximálního počtu iterací 21 Výpočet metodou Sdružených gradientů ukončen pro dosažení maximálního počtu iterací 22 Výpočet Jacobiho metodou ukončen pro dosažení maximálního počtu iterací 23 Při pokusu o spuštění algoritmu Jacobiho metody byla na diagonále matice soustavy zjištěna nula 24 Při pokusu o spuštění algoritmu Gausse-Seidela byla na diagonále matice soustavy zjištěna nula 8

9 5 Popis implementace v Pythonu Hlavní výhodou je jednoduchost implementace. Jazyk Python je přímo navržen pro snadné a efektivní psaní aplikací, tudíž programátor neřeší nízkoúrovňové operace a může se plně soustředit na hlavní účel aplikace. Jelikož je to však interpretovaný jazyk, je nutné počítat s nižší rychlostí výpočtů, avšak v případě Pythonu není ztráta výkonu tak velká, neboť výkonově kritické knihovny jsou napsány v jazyce C. Nabízí se otázka, zda v Pythonu implementovat metody pro řešení soustav lineárních rovnic. Z vlastností jazyka plyne, že by nebylo vhodné jej používat pro velké soustavy rovnic, nebo opakovaně spouštět výpočet. V druhém případě by nastal problém, kdy se spotřebuje určitý čas pro spuštění interpretru Pythonu, a teprve potom se spustí výpočet samotný. Při použití všech čtyř metod na soustavu 2x2 trval běh výpočtu (vč. spuštění interpretru) 41 ms. Spuštění samotného interpretru trvalo 30 ms, tudíž výpočet zabral 11 ms, a to pro všechny čtyři metody. To znamená, že pro tak malou soustavu bylo spotřebováno přibližně 73% času jenom pro rozběhnutí výpočtu. Pokud by bylo potřeba počítat malé soustavy opakovaně, bylo by třeba interpretr spustit jednou a poté v něm opakovaně spouštět výpočty. Nepřekvapí ani paměťová náročnost. Na konci výpočtu proces využívá zhruba 3.5 MB RAM. Naštěstí v Pythonu existuje Garbage Collector, který nepotřebné proměnné dealokuje z paměti, takže i když programátor nedbá na paměťovou náročnost, neroste spotřeba paměti s každou proměnnou. Další výhodou implementace v Pythonu je skutečnost, že lze data z výpočtů snadno dále zpracovávat, například s pomocí knihovny matplotlib lze vytvářet grafy jako v prostředí Matlab. Interpretr Pythonu lze také snadno integrovat do jiných aplikací, kde jsou výpočty potřeba (takovou konzoli lze vidět například v aplikaci pro 3D modelování, Blender, kde o výpočty není nouze). Výhodou jsou také snadno dostupné funkce knihovny pro výstup, ať už v textové podobě, HTML, L A TEXu nebo PDF. 9

10 6 Uživatelská příručka programu v jazyce C 6.1 Překlad a spuštění Pro překlad bez zásahu do zdrojových kódů je nutné mít dostupný překladač gcc. Pro samotný překlad stačí zadat příkaz make v kořenovém adresáři zdrojových kódů (nachází se tam soubor Makefile. Program má jednoduché textové rozhraní. Spouští se z příkazové řádky; standardní rozměry konsole 80x25 postačují. Pro spuštění je třeba zadat cestu k matici a metodu řešení. Příklad:./slar -s matrix3.txt -m 0 Tím dojde k načtení souboru matrix3.txt a použití metody 0 - GEM. Parametr -m může nabývat těchto hodnot: Hodnota Použitá metoda 0 Gausova eliminační metoda 1 Metoda Gausse-Seidela 2 Metoda Sdružených gradientů 3 Jacobbiho metoda V závisloti na použité metodě můžete být požádání o další uživatelský vstup - o hodnotu ε a o počáteční vektor neznámých. Více informací nebude vyžadováno. Pokud zadáde jiný znak než číslo, použije se výchozí hodnota. Výchozí hodnota ε je 0.01 a vektor neznámých je defaultně Chybové hlášky Program při svém ukončení předává operačnímu systému návratový kód. Podle tohoto kódu lze usoudit, zda program skončil správně nebo chybně. Při svém ukončování také vypíše, proč končí. Např. když se stane, že ve vašem PC už nezbývá dostatek volné paměti (používáte příliš novou verzi Windows), vypíše se hláška: Chyba #4: Došla paměť! 10

11 6.3 Nápověda Pro výpis nápovědy zadejte:./slar -h 6.4 Formát matice soustavy Do načítaného souboru se zapisuje rozšířená matice soustavy. Matice A musí být čtvercová. Jako oddělovač pravé strany se používá znak " ". Jako oddělovač sloupců se používá mezera. Před a za oddělovačem pravé strany musí být mezera. Příklad obsahu souboru s rozšířenou maticí soustavy:

12 7 Závěr 7.1 Výkonnost programu Výkonnost programu v C a programu v Pythonu se ověřovala na stroji IBM T34 s procesorem Intel Pentium-M s taktovací frekvencí MHz. L1 cache procesoru je 64kiB, L2 cache 2MiB. Šířka pamětí, procesoru a FSB sběrnice je 32 bitů. Operační systém je linuxová distribuce Gentoo. Testovaný program byl spuštěn s prioritou nice -10, aby se omezily vlivy ostatních aplikací. Operační systém běžel pouze v příkazovém režimu, aby se redukoval počet spuštěných procesů. Program psaný v jazyce C byl testován na rychlost bez debugovacích funkcí a s defaultní hodnotou ε, maximálního počtu iterací a počáteční hodnotou vektoru neznámých. Toho se docílilo zakomentováním části kódu, která obstarává výchozí vstup. Matice použitá k měření má rozměry 200 x 200 a je přiložená v souboru matice_velka.txt v kořenovém adresáři zdrojových kódů Program v jazyce C GEM Čas běhu: 243 ms Jacobiho metoda Čas běhu: 87 ms Dosažená přesnost: Počet iterací: 25 Medoda sdružených gradientů Čas běhu: 122 ms Dosažená přesnost: Počet iterací: 9 12

13 Metoda Gausse-Seidela Čas běhu: 60 ms Dosažená přesnost: Počet iterací: Program v jazyce Python GEM Čas běhu: ms Jacobiho metoda Čas běhu: ms Počet iterací: 35 Medoda sdružených gradientů Čas běhu: ms Počet iterací: 7 Metoda Gausse-Seidela Čas běhu: ms Počet iterací: Možný problém na určitých systémech Je zde jedna závada, na kterou bych chtěl upozornit - jedná se o uvolňování paměti. Objevuje se pod 32-bitovým Gentoo (i686), pod 32-bitovým Archlinuxem (arm-v6j) i na 32-bitové ditribuci Fedora 18 (i686) (kernel fc18.i686 s glibc ) Při použití matic menších než 7x7 se chyba neobjevuje vůbec. Na 64-bitových architekturách se paměť dealokuje v pořádku. Nástroj Valgrid vypíše, že byla veškerá paměť uvolněna, i když dealokace skončí s chybou. Výpis chyby: *** glibc detected ***./slar: free(): invalid next size (fast): 0x0804c200 *** ======= Backtrace: ========= /lib/libc.so.6(+0x79930)[0xb ]./slar[0x80487b4]./slar[0x8048bcd] 13

14 /lib/libc.so.6( libc_start_main+0xf1)[0xb76f6c31]./slar[0x80486bd] ======= Memory map: ======== b000 r-xp : /home/jashin/dokumenty/vyvoj/rozpracovane/m4e/slar Vysvětlení nestandardních konstrukcí V programu jsem využil nekonečných cyklů a příkazů skoku. Nekonečné cykly jsou nekonečné proto, že se tím zjedoduší programování a zpětná analýza kódu. Ukončovací podmínky jsou někde uvnitř cyklů a tudíž nemůže být použit např. cyklus for, který má udržovací podmínku v parametru. V kódu jsem příliš nepoužíval standardní ANSI-C komentáře - při vývoji jsem někdy zakomentovával velké kusy kódu a zakomentovaný komentář ( /* /*komentář */ */ ) se překladačem vyhodnotí jako chyba. Proto používám komentáře z C Kódování zdrojových souborů Všechny zdrojové kódy programu i dokumentace jsou uloženy v kódování UTF-8 s UNIXovým ukončením řádků. 14

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk Pavel Töpfer Katedra softwaru a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer

Více

IUJCE 07/08 Přednáška č. 6

IUJCE 07/08 Přednáška č. 6 Správa paměti Motivace a úvod v C (skoro vždy) ručně statické proměnné o datový typ, počet znám v době překladu o zabírají paměť po celou dobu běhu programu problém velikosti definovaných proměnných jak

Více

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu. Břetislav Fajmon, UMAT FEKT, VUT Brno Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu. Na jiných příkladech je téma podrobně zpracováno ve skriptech

Více

Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Dynamické datové struktury 1.1 Příklad:

Více

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru Cíl přednášky: Vysvětlit principy práce s registry v architekturách RISC a CISC, upozornit na rozdíly. Vysvětlit možnosti využívání sad registrů. Zabývat se principy využívanými v procesorech Intel. Zabývat

Více

Technické prostředky počítačové techniky

Technické prostředky počítačové techniky Počítač - stroj, který podle předem připravených instrukcí zpracovává data Základní části: centrální procesorová jednotka (schopná řídit se posloupností instrukcí a ovládat další části počítače) zařízení

Více

y = Spočtěte všechny jejich normy (vektor je také matice, typu n 1). Řádková norma (po řádcích sečteme absolutní hodnoty prvků matice a z nich

y = Spočtěte všechny jejich normy (vektor je také matice, typu n 1). Řádková norma (po řádcích sečteme absolutní hodnoty prvků matice a z nich Normy matic Příklad 1 Je dána matice A a vektor y: A = 2 0 3 4 3 2 y = Spočtěte všechny jejich normy (vektor je také matice, typu n 1). Ověřte, že platí Ay A y (1) Ay = (4, 14, 2) T 2 2 Frobeniova norma

Více

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li: 13.4.2010 Typová konverze - změna jednoho datového typu na jiný - známe dva základní implicitní ("sama od sebe") a explicitní (výslovně vyžádána programátorem) - C je málo přísné na typové kontroly = dokáže

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

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

PB071 Programování v jazyce C Jaro 2015

PB071 Programování v jazyce C Jaro 2015 Programování v jazyce C Jaro 2015 Argumenty main(), Typový systém, Dynamická alokace Organizační Polosemestrální test Úterý 7. dubna v 10:00 a 11:00 v D1 20 bodů rozdíl mezi E a C Zdroj: http://www.bugemos.com/?node=342

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

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48 LED_007.c Strana: 1/5 Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů, zbývá nám

Více

PB071 Programování v jazyce C Jaro 2013

PB071 Programování v jazyce C Jaro 2013 Programování v jazyce C Jaro 2013 Uživatelské datové typy, dynamické struktury a jejich ladění Organizační Organizační Vnitrosemetrální test 7.4. Dotazník k domácím úkolům informační, nebodovaný, pomáhá

Více

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j. Kapitola 3 Počítání s maticemi Matice stejného typu můžeme sčítat a násobit reálným číslem podobně jako vektory téže dimenze. Definice 3.1 Jsou-li A (a ij ) a B (b ij ) dvě matice stejného typu m n, pak

Více

Matematika I Lineární závislost a nezávislost

Matematika I Lineární závislost a nezávislost Matematika I Lineární závislost a nezávislost RNDr. Renata Klufová, Ph. D. Jihoèeská univerzita v Èeských Budìjovicích EF Katedra aplikované matematiky a informatiky Co u¾ známe? vektory - základní operace

Více

GPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze

GPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze GPGPU Jan Faigl Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze 8. cvičení katedra kybernetiky, FEL, ČVUT v Praze X33PTE - Programovací techniky GPGPU 1

Více

Paralelní LU rozklad

Paralelní LU rozklad Paralelní LU rozklad Lukáš Michalec Katedra fyziky, Přírodovědecká fakulta Univerzity J.E. Purkyně v ročník, specializace Ústí n.l. Abstract Seminární práce se zabývá řešení soustavy lineárních rovnic

Více

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače. 1 Architektura počítačů Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače. Neurčuje jednoznačné definice, schémata či principy. Hovoří o tom, že počítač se skládá z měnších částí

Více

Komplexní číslo. Klíčové pojmy: Komplexní číslo, reálná část, imaginární část, algebraické počty s komplexním číslem

Komplexní číslo. Klíčové pojmy: Komplexní číslo, reálná část, imaginární část, algebraické počty s komplexním číslem Komplexní číslo Cíl kapitoly: seznámení s použitím komplexního čísla v pythonu Klíčové pojmy: Komplexní číslo, reálná část, imaginární část, algebraické počty s komplexním číslem Komplexní číslo Opakování

Více

2. Matice, soustavy lineárních rovnic

2. Matice, soustavy lineárních rovnic Matice, soustavy lineárních rovnic Tento učební text byl podpořen z Operačního programu Praha- Adaptabilita Irena Sýkorová Některé vlastnosti matic Uvažujmečtvercovoumatici A=(a ij ) n n Matice Asenazývásymetrická,jestližeplatí

Více

Linux (nejen) v Low End routerech

Linux (nejen) v Low End routerech Linux (nejen) v Low End routerech Ing. Lukáš Macura Slezská univerzita v Opavě Obchodně podnikatelská fakulta v Karviné Člen projektu CESNET 134/2005 Prostředí pro vývoj embedded systémů

Více

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem 2. 1. 213 MI-PAA úkol č. 2 Antonín Daněk Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem 1 SPECIFIKACE ÚLOHY Cílem tohoto úkolu bylo naprogramovat řešení

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

Semestrální projekt. Předmět: Programování v jazyce C. Zadání: Operace s maticemi. Uživatelský manuál. ver. 1.0

Semestrální projekt. Předmět: Programování v jazyce C. Zadání: Operace s maticemi. Uživatelský manuál. ver. 1.0 Semestrální projekt Předmět: Programování v jazyce C Zadání: Operace s maticemi Uživatelský manuál ver. 1.0 Jakub Štrouf Obor: Aplikovaná informatika Semestr: 1. Rok: 2009/2010 Obsah: 1. Úvod 1.1. Technická

Více

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém Software Co je to software? Software je ve světě IT vše, co není Hardware Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém Podívejme se tedy na jednotlivé

Více

Metody operačního výzkumu cvičení

Metody operačního výzkumu cvičení Opakování vektorové algebry domácí úkol ) Pojem vektorového prostoru praktická aplikace - je tvořen všemi vektory dané dimenze - operace s vektory (součin, sčítání, násobení vektoru skalární hodnotou)

Více

Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu 4. 12. 213 MI-PAA úkol č. 4 Antonín Daněk Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu 1 SPECIFIKACE ÚLOHY Cílem tohoto úkolu bylo seznámit se s vybranou pokročilou iterativní

Více

Interpret jazyka IFJ2011

Interpret jazyka IFJ2011 Dokumentace projektu Interpret jazyka IFJ2011 Tým číslo 093, varianta b/3/i: 20 % bodů: Cupák Michal (xcupak04) vedoucí týmu 20 % bodů: Číž Miloslav (xcizmi00) 20 % bodů: Černá Tereza (xcerna01) 20 % bodů:

Více

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a 1 Počítače CISC a RISC V dnešní době se ustálilo dělení počítačů do dvou základních kategorií podle typu použitého procesoru: CISC - počítač se složitým souborem instrukcí (Complex Instruction Set Computer)

Více

2 Spojité modely rozhodování

2 Spojité modely rozhodování 2 Spojité modely rozhodování Jak již víme z přednášky, diskrétní model rozhodování lze zapsat ve tvaru úlohy hodnocení variant: f(a i ) max, a i A = {a 1, a 2,... a p }, kde f je kriteriální funkce a A

Více

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

Operační systémy 2. Přednáška číslo 2. Přidělování paměti Operační systémy 2 Přednáška číslo 2 Přidělování paměti Základní pojmy Paměť = operační paměť paměť, kterou přímo využívají procesory při zpracování instrukcí a dat Funkce modulu přidělování paměti: Sledování

Více

Zadání projektů z BPC2 pro letní semestr 2007/2008

Zadání projektů z BPC2 pro letní semestr 2007/2008 Zadání projektů z BPC2 pro letní semestr 2007/2008 Několik poznámek na úvod Projekt může být i konzolová aplikace. Záleží však na typu zadání, ne každé v konzolové aplikace vyřešit lze. Mezi studenty jsou

Více

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace 1) Charakterizujte křížový překladač Překlad programu probíhá na jiném procesoru, než exekuce. Hlavním důvodem je náročnost překladače na cílovém stroji by ho nemuselo být možné rozběhnout. 2. Objasněte

Více

PROCESOR. Typy procesorů

PROCESOR. Typy procesorů PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně

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

Elektronická dokumentace - LATEX. Maticové operace

Elektronická dokumentace - LATEX. Maticové operace Elektronická dokumentace - LATEX Maticové operace 29.listopadu 2009 Luděk Bordovský (bor0022) Fakulta elektrotechniky a informatiky VŠB-TU Ostrava Uživatelská příručka 1 Obsah 1 Úvod 3 2 Ovládání 3 3 Operace

Více

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU HOST PC - TARGET PC PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),

Více

PREPROCESOR POKRAČOVÁNÍ

PREPROCESOR POKRAČOVÁNÍ PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,

Více

5. Maticová algebra, typy matic, inverzní matice, determinant.

5. Maticová algebra, typy matic, inverzní matice, determinant. 5. Maticová algebra, typy matic, inverzní matice, determinant. Matice Matice typu m,n je matice složená z n*m (m >= 1, n >= 1) reálných (komplexních) čísel uspořádaných do m řádků a n sloupců: R m,n (resp.

Více

Regresní a korelační analýza

Regresní a korelační analýza Přednáška STATISTIKA II - EKONOMETRIE Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz Regresní analýza Cíl regresní analýzy: stanovení formy (trendu, tvaru, průběhu)

Více

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ. Matematika 3. RNDr. Břetislav Fajmon, PhD. Autoři textu:

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ. Matematika 3. RNDr. Břetislav Fajmon, PhD. Autoři textu: FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Matematika 3 Garant předmětu: RNDr. Břetislav Fajmon, PhD Autoři textu: Mgr. Irena Růžičková RNDr. Břetislav Fajmon, PhD

Více

Vícejádrový procesor. Dvě nebo více nezávislých jader Pro plné využití. podporovat multihreading

Vícejádrový procesor. Dvě nebo více nezávislých jader Pro plné využití. podporovat multihreading Vývoj Jan Smuda, Petr Zajíc Procesor ALU (aritmeticko logická jednotka) Registry Řadič Jednotky pro práci s plovoucí čárkou Cache Vývoj procesorů Predikce skoku Plánování instrukcí Naráží na fyzická omezení

Více

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava email: dalibor.lukas@vsb.cz http://www.am.vsb.cz/lukas/la1

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava email: dalibor.lukas@vsb.cz http://www.am.vsb.cz/lukas/la1 Lineární algebra 10. přednáška: Ortogonalita II Dalibor Lukáš Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava email: dalibor.lukas@vsb.cz http://www.am.vsb.cz/lukas/la1 Text byl vytvořen

Více

Technologie počítačových sítí 1. cvičení

Technologie počítačových sítí 1. cvičení Technologie počítačových sítí 1. cvičení Obsah prvního cvičení Microsoft Windows 2003 server Operační systém Windows 2003 server - Vytvoření nového virtuálního stroje pro instalaci Windows 98 - Příprava

Více

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění

Více

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)

Více

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš Paměťové prvky ITP Technika personálních počítačů Zdeněk Kotásek Marcela Šimková Pavel Bartoš Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Osnova Typy

Více

HW počítače co se nalézá uvnitř počítačové skříně

HW počítače co se nalézá uvnitř počítačové skříně ZVT HW počítače co se nalézá uvnitř počítačové skříně HW vybavení PC Hardware Vnitřní (uvnitř počítačové skříně) Vnější ( ) Základní HW základní jednotka + zobrazovací zařízení + klávesnice + (myš) Vnější

Více

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1 Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007 Y36SAP-control unit 1 Von Neumannova architektura (UPS1) Instrukce a data jsou uloženy v téže paměti. Paměť je organizována

Více

Principy operačních systémů. Lekce 2: Správa paměti

Principy operačních systémů. Lekce 2: Správa paměti Principy operačních systémů Lekce 2: Správa paměti Funkce správce paměti Správce (operační) paměti je součástí kernelu. Jeho implementace může být různá, ale základní funkce jsou obdobné ve všech OS: Udržovat

Více

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek MATLAB Úvod Úvod do Matlabu Miloslav Čapek Proč se na FELu učit Matlab? Matlab je světový standard pro výuku v technických oborech využívá ho více než 3500 univerzit licence vlastní tisíce velkých firem

Více

Operační systémy a programování

Operační systémy a programování Vysoká škola báňská Technická univerzita Ostrava Operační systémy a programování učební text David Fojtík Ostrava 2007 Recenze: Jiří Kulhánek Miroslav Liška Název: Operační systémy a programování Autor:

Více

Procesor. Procesor FPU ALU. Řadič mikrokód

Procesor. Procesor FPU ALU. Řadič mikrokód Procesor Procesor Integrovaný obvod zajišťující funkce CPU Tvoří srdce a mozek celého počítače a do značné míry ovlivňuje výkon celého počítače (čím rychlejší procesor, tím rychlejší počítač) Provádí jednotlivé

Více

Matice. Přednáška MATEMATIKA č. 2. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.

Matice. Přednáška MATEMATIKA č. 2. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob. Přednáška MATEMATIKA č. 2 Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz 13. 10. 2010 Uspořádané schéma vytvořené z m n reálných čísel, kde m, n N a 11 a 12 a

Více

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end; Cvičení 9 - Monitory na rozdíl od semaforů je monitor jazyková konstrukce monitor = Pascalský blok podobný proceduře nebo fci uvnitř monitoru jsou definovány proměnné, procedury a fce proměnné monitoru

Více

Zdroj: http://www.fit.vutbr.cz

Zdroj: http://www.fit.vutbr.cz Zdroj: http://www.fit.vutbr.cz Motivace Cílem této úlohy je zopakovat si nebo se naučit vytváření obecných řešení, která na rozdíl od ad hoc řešení umožňují zvládat složitější úlohy bez nadměrného úsilí,

Více

Číselné soustavy. Binární číselná soustava

Číselné soustavy. Binární číselná soustava 12. Číselné soustavy, binární číselná soustava. Kódování informací, binární váhový kód, kódování záporných čísel. Standardní jednoduché datové typy s pevnou a s pohyblivou řádovou tečkou. Základní strukturované

Více

skladbu obou směsí ( v tunách komponenty na 1 tunu směsi):

skladbu obou směsí ( v tunách komponenty na 1 tunu směsi): Klíčová slova: simplexová metoda 1 Simplexová metoda Postup výpočtu: 1. Nalezení výchozího řešení. 2. Test optima: pokud je řešení optimální výpočet končí, jinak krok 3. 3. Iterační krok, poté opět test

Více

PB161 6. přednáška (26. října 2015)

PB161 6. přednáška (26. října 2015) PB161 6. přednáška (26. října 2015) Standardní knihovna C++ obsahuje řadu částí, některé už jsme viděli (strings, I/O streams) mimo jiné obsahuje i knihovní funkce ze standardní knihovny jazyka C jiné

Více

Ing. Igor Kopetschke TUL, NTI

Ing. Igor Kopetschke TUL, NTI ALGORITMY A DATOVÉ STRUKTURY 1. Organizace dat v paměti, datové typy Ing. Igor Kopetschke TUL, NTI http://www.nti.tul.cz Jednotlivé body Ukládání a a organizace dat Vnitřní paměť Vnější paměť Přístup k

Více

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou 1 SPECIFIKACE ÚLOHY Cílem této úlohy bylo použít vybranou pokročilou iterativní metodou pro řešení problému vážené

Více

0. Lineární rekurence Martin Mareš, 2010-07-04

0. Lineární rekurence Martin Mareš, 2010-07-04 0 Lineární rekurence Martin Mareš, 2010-07-04 V tomto krátkém textu se budeme zabývat lineárními rekurencemi, tj posloupnostmi definovanými rekurentní rovnicí typu A n+k = c 0 A n + c 1 A n+1 + + c k 1

Více

Architektury CISC a RISC, uplatnění v personálních počítačích

Architektury CISC a RISC, uplatnění v personálních počítačích Architektury CISC a RISC, uplatnění v personálních počítačích 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Zdůraznit, jak se typické rysy obou typů architektur

Více

Matematické symboly a značky

Matematické symboly a značky Matematické symboly a značky Z Wikipedie, otevřené encyklopedie Matematický symbol je libovolný znak, používaný v. Může to být znaménko pro označení operace s množinami, jejich prvky, čísly či jinými objekty,

Více

Operační systémy. Přednáška 8: Správa paměti II

Operační systémy. Přednáška 8: Správa paměti II Operační systémy Přednáška 8: Správa paměti II 1 Jednoduché stránkování Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné

Více

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice. [] Definice determinantu BI-LIN, determinant, 9, P Olšák [2] Determinant je číslo jistým způsobem charakterizující čtvercovou matici det A 0 pro singulární matici, det A 0 pro regulární matici používá

Více

Neuropočítače. podnět. vnímání (senzory)

Neuropočítače. podnět. vnímání (senzory) Neuropočítače Princip inteligentního systému vnímání (senzory) podnět akce (efektory) poznání plánování usuzování komunikace Typické vlastnosti inteligentního systému: schopnost vnímat podněty z okolního

Více

Úvod do architektur personálních počítačů

Úvod do architektur personálních počítačů Úvod do architektur personálních počítačů 1 Cíl přednášky Popsat principy proudového zpracování informace. Popsat principy zřetězeného zpracování instrukcí. Zabývat se způsoby uplatnění tohoto principu

Více

nutné smazat zároveň i všechna ostatní zainteresovaná paměťová místa přepisovaném

nutné smazat zároveň i všechna ostatní zainteresovaná paměťová místa přepisovaném - SSD - SSD - Princip fungování a základní vlastnosti SSD disky jsou zcela tiché, což je způsobeno jejich principem zápisu, který je stejný jako u USB flashdisků. SSD zařízení neobsahují žádné pohyblivé

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů referát Intel Core 2 Quad Martin Samek SAM094 Abstrakt Text se bude zabývat procesorem Core 2 Quad firmy Intel. Text bude rozdělen do dvou hlavních částí, kde první část

Více

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10 UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10 Využití zásobníku pro předání parametrů podprogramům a lokální proměnné Jan Dolinay Petr Dostálek Zlín

Více

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................

Více

Jazyk C# (seminář 5)

Jazyk C# (seminář 5) Jazyk C# (seminář 5) Pavel Procházka KMI 23. října 2014 Přetěžování metod motivace Představme si, že máme metodu, která uvnitř dělá prakticky to samé, ale liší se pouze parametry V C# můžeme více metod

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Operační paměti počítačů PC

Operační paměti počítačů PC Operační paměti počítačů PC Dynamické paměti RAM operační č paměť je realizována čipy dynamických pamětí RAM DRAM informace uchovávána jako náboj na kondenzátoru nutnost náboj pravidelně obnovovat (refresh)

Více

Úvod do programování. Lekce 7

Úvod do programování. Lekce 7 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 7 Tento projekt je spolufinancován Evropským

Více

Gymnázium, Brno. Matice. Závěrečná maturitní práce. Jakub Juránek 4.A Školní rok 2010/11

Gymnázium, Brno. Matice. Závěrečná maturitní práce. Jakub Juránek 4.A Školní rok 2010/11 Gymnázium, Brno Matice Závěrečná maturitní práce Jakub Juránek 4.A Školní rok 2010/11 Konzultant: Mgr. Aleš Kobza Ph.D. Brno, 2011 Prohlášení Prohlašuji, že jsem předloženou práci zpracoval samostatně

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

Obsah. KAPITOLA 1 Dříve než začneme 19 Kdysi dávno aneb střípky z historie algoritmických strojů 20 1801 21 1833 21 1890 22 třicátá léta 22

Obsah. KAPITOLA 1 Dříve než začneme 19 Kdysi dávno aneb střípky z historie algoritmických strojů 20 1801 21 1833 21 1890 22 třicátá léta 22 Předmluva 11 Čím se tato kniha liší od jiných příruček? 11 Proč C++? 12 Jak číst tuto knihu? 12 Čím se budeme zabývat? 13 Kapitola 1: Dříve než začneme 13 Kapitola 2: Rekurze 13 Kapitola 3: Analýza složitosti

Více

MATEMATIKA IV - PARCIÁLNÍ DIFERENCIÁLNÍ ROVNICE - ZÁPISKY Z. Obsah. 1. Parciální diferenciální rovnice obecně. 2. Kvaazilineární rovnice prvního řádu

MATEMATIKA IV - PARCIÁLNÍ DIFERENCIÁLNÍ ROVNICE - ZÁPISKY Z. Obsah. 1. Parciální diferenciální rovnice obecně. 2. Kvaazilineární rovnice prvního řádu MATEMATIKA IV - PARCIÁLNÍ DIFERENCIÁLNÍ ROVNICE - ZÁPISKY Z PŘEDNÁŠEK JAN MALÝ Obsah 1. Parciální diferenciální rovnice obecně 1. Kvaazilineární rovnice prvního řádu 1 3. Lineární rovnice druhého řádu

Více

Poznámky z matematiky

Poznámky z matematiky Poznámky z matematiky Verze: 14. dubna 2015 Petr Hasil hasil@mendelu.cz http://user.mendelu.cz/hasil/ Ústav matematiky Lesnická a dřevařská fakulta Mendelova univerzita v Brně Vytvořeno s podporou projektu

Více

ŘÍDICÍ JEDNOTKA MOTORU

ŘÍDICÍ JEDNOTKA MOTORU ŘÍDICÍ JEDNOTKA MOTORU Řídicí jednotka (ŘJ) zpracovává informace snímačů a čidel požadovaných hodnot podle určitých matematických pravidel výpočtu (řídicí a regulační algoritmy). Řídí akční členy pomocí

Více

Téma 6 Správa paměti a její virtualizace

Téma 6 Správa paměti a její virtualizace Téma 6 Obsah. Požadavky a problémy správy paměti. Překlad LA FA. Stránkování a stránkovací tabulky. Segmentace. Segmentace se stránkováním 6. Princip virtuální paměti 7. Stránkování na žádost 8. Nahrazování

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

Více

Maturitní témata. Informační a komunikační technologie. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou.

Maturitní témata. Informační a komunikační technologie. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou Maturitní témata předmět Informační a komunikační technologie Dominik Janák 2015 třída 4I Dominik Janák Maturitní otázky Výpočetní

Více

Základy operačních systémů

Základy operačních systémů Základy operačních systémů Operační systém - je souhrn programů, které umožňují uživateli využívat technické a programové prostředky daného počítače. Operační systém můžeme rozdělit do dvou části: základ

Více

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný karel.slany@nic.cz 13. 11. 2015

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný karel.slany@nic.cz 13. 11. 2015 Knot DNS Resolver Modulární rekurzivní resolver Karel Slaný karel.slany@nic.cz 13. 11. 2015 Obsah Co je KNOT Resolver Části resolveru Funkce a konfigurace Integrační testování Co je Knot DNS Resolver Minimalistický

Více

Blue Gene 24. 11. 2009. Vysoká škola báňská-technická univerzita Ostrava. Blue Gene. Karel Chrastina. Úvod. Blue Gene L. Blue Gene P.

Blue Gene 24. 11. 2009. Vysoká škola báňská-technická univerzita Ostrava. Blue Gene. Karel Chrastina. Úvod. Blue Gene L. Blue Gene P. Blue Gene Vysoká škola báňská-technická univerzita Ostrava 24. 11. 2009 Obsah prezentace 1 2 3 4 5 Trocha pojmů a historie FLOPS FLoating point Operations Per Second. Někdy se zapisuje jako flop, flop/s.

Více

IUJCE 07/08 Přednáška č. 1

IUJCE 07/08 Přednáška č. 1 Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming

Více

MI-PAA. úkol č.3. Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

MI-PAA. úkol č.3. Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem Jakub Holý holyjak1@fit.cvut.cz MI-PAA úkol č.3 Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem Zadání Naprogramujte řešení problému batohu: 1. metodou

Více

Skalár- veličina určená jedním číselným údajem čas, hmotnost (porovnej životní úroveň, hospodaření firmy, naše poloha podle GPS )

Skalár- veličina určená jedním číselným údajem čas, hmotnost (porovnej životní úroveň, hospodaření firmy, naše poloha podle GPS ) LINEÁRNÍ ALGEBRA Úvod vektor Skalár- veličina určená jedním číselným údajem čas, hmotnost (porovnej životní úroveň, hospodaření firmy, naše poloha podle GPS ) Kartézský souřadnicový systém -je taková soustava

Více

8. Posloupnosti, vektory a matice

8. Posloupnosti, vektory a matice . jsou užitečné matematické nástroje. V Mathcadu je často používáme například k rychlému zápisu velkého počtu vztahů s proměnnými parametry, ke zpracování naměřených hodnot, k výpočtům lineárních soustav

Více

Paměti cache. Cache může být realizována softwarově nebo hardwarově.

Paměti cache. Cache může být realizována softwarově nebo hardwarově. Paměti cache Cache je označení pro vyrovnávací paměť nacházející se mezi dvěma subsystémy s rozdílnou přenosovou rychlostí, a jak již její název vypovídá, tak tuto rychlost vyrovnává. Cache může být realizována

Více

Principy operačních systémů. Lekce 3: Virtualizace paměti

Principy operačních systémů. Lekce 3: Virtualizace paměti Principy operačních systémů Lekce 3: Virtualizace paměti Virtuální paměť Adresní prostor paměti je uspořádán logicky jinak, nebo je dokonce větší než je fyzická operační paměť RAM Rozšíření vnitřní paměti

Více

Operační systémy Linux, Mac OS X a jejich srovnání

Operační systémy Linux, Mac OS X a jejich srovnání 5 5.1 Operační systémy Linux, Mac OS X a jejich srovnání Popište výhody programů OpenSource, čím se vyznačují OpenSource programy se vyznačují tím, že se dodávají i se zdrojovým kódem. S tímto kódem může

Více

Úvod do programování

Úvod do programování Úvod do programování Základní literatura Töpfer, P.: Algoritmy a programovací techniky, Prometheus, Praha učebnice algoritmů, nikoli jazyka pokrývá velkou část probíraných algoritmů Satrapa, P.: Pascal

Více

MATLAB základy. Roman Stanec 27.9.2007 PEF MZLU

MATLAB základy. Roman Stanec 27.9.2007 PEF MZLU MATLAB základy Roman Stanec 27.9.2007 PEF MZLU Náplň cvičení Matlab představení a motivace Seznámení s prostředím Proměnné a výrazy Řídící struktury Funkce Základní úpravy matic Import dat z tabulkového

Více

Informatika pro moderní fyziky (2) základy Ruby, zpracování textu

Informatika pro moderní fyziky (2) základy Ruby, zpracování textu Informatika pro moderní fyziky (2) základy Ruby, zpracování textu František HAVLŮJ e-mail: haf@ujv.cz ÚJV Řež oddělení Reaktorové fyziky a podpory palivového cyklu akademický rok 2015/2016 6. října 2015

Více

Architektura počítače

Architektura počítače Architektura počítače Výpočetní systém HIERARCHICKÁ STRUKTURA Úroveň aplikačních programů Úroveň obecných funkčních programů Úroveň vyšších programovacích jazyků a prostředí Úroveň základních programovacích

Více