- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Zjednodušená ukázka:
Stáhnout celý tento materiálvá a a=1.
• Na pravé straně řádku –2– je první operand typu double a druhý typu int. Podle pravidla
(2.1) jsou tedy oba operandy převedeny na typ double a výsledek je téhož typu. Nicméně
výsledek typu double přiřazujeme proměnné typu int. Do b je tedy zkopírována pouze
celá část výsledku (b=0) a desetinná část je ignorována.
• Pravá strana řádku –3– je celočíselná (oba operandy jsou typu int). I když je tedy pro-
měnná c deklarována jako racionální, bude c=0.
• Pravá strana řádku –4– je racionální (jelikož jeden operand je typu double, je i druhý
operand konvertován na tento typ). A jelikož proměnná d je rovněž deklarována jako typ
double, bude platit d=0.8.
30 Fakulta elektrotechniky a komunikačních technologií VUT v Brně
I když tedy z matematického hlediska jsou všechny čtyři řádky našeho programu iden-
tické, z pohledu jazyka C se liší. Na automatické konverze datových typů, které za nás dělá
překladač jazyka C, proto musíme dávat pečlivý pozor.
3.4.2 Priorita operací
Sestává-li výraz z více operátorů, jsou odpovídající operace prováděny v pořadí, daném
prioritou těchto operátorů. Např. ve výrazu a+b*c bude nejdříve vyčíslen součin b*c (náso-
bení má vyšší prioritu než sčítání), a až poté bude výsledek přičten k operandu a. Pokud se
jedná o operace stejné priority (např. a+b+c), u naprosté většiny operací dochází k vyhodno-
cování zleva doprava (napřed je vyčíslen součet a+b, a poté je k výsledku přičten obsah
proměnné c). U operací, kde je tomu naopak (vyhodnocování se děje zprava doleva) na to
jmenovitě upozorníme.
operátor popis prior. poznámka
+ unární plus 2
+a; provede se aritmetická konverze a, operátor
vrátí získanou hodnotu
- unární minus 2
-a; provede se aritmetická konverze a, operátor
vrátí získanou hodnotu s opačným znaménkem
* násobení 4 a*b;
/ dělení 4
a/b; dělení celočíselné (a i b typu int nebo char,
b≠0) nebo racionální (alespoň 1 operand racionální)
% zbytek po
celočís.dělení
4 a%b; oba operandy int, b≠0, výsledkem 4%5 je 4
+ binární plus 5 a+b;
- binár. minus 5 a-b;
Tab. 3.2 Aritmetické operátory
Pořadí operací lze měnit pomocí kulatých závorek, jak ukazuje následující příklad:
int i;
double a, b;
b= ( i= ( a= 2.718281828));
Jako první se vyhodnocuje obsah nejvnitřnější závorky, takže v prvém kroku je do racionální
proměnné a uloženo Eulerovo číslo e = 2.718281828. V druhém kroku je vyhodnocován
obsah nadřazené závorky, v níž do celočíselné proměnné i ukládáme celou část obsahu nej-
vnitřnější závorky – tedy hodnotu 2. V posledním kroku je celočíselný obsah nadřazené zá-
vorky konvertován na racionální číslo a uložen do racionální proměnné b; tato proměnná tedy
obsahuje hodnotu 2.0.
Jelikož operátor přiřazení = patří mezi operátory, které se vyhodnocují zprava doleva,
lze řádek se závorkami přepsat do tvaru b=i=a=2.718281828, aniž by se jakkoli změnilo
fungování programu.
V dalších odstavcích této kapitoly se seznámíme s vybranými operátory. U každého
operátoru vyjádříme celým číslem jeho prioritu. Čím menší bude hodnota čísla, tím větší bude
priorita operace.
Počítače a programování 2 31
3.4.3 Aritmetické operátory
Aritmetické operátory jsou určeny k provádění operací s číselnými operandy. Přehled
aritmetických operátorů je uveden v tab. 3.2. Jelikož se jedná o všeobecně známé operátory,
nebudeme se jimi dále zabývat.
3.4.4 Relační operátory
Relační operátory nám umožňují porovnávat obsah číselných proměnných, obsah pro-
měnných znakových (char) nebo ukazatele na stejný datový typ. Dále nám relační operátory
umožňují vzájemné porovnání znakové hodnoty char s číselnými hodnotami.
Přehled relačních operátorů je uveden v tab. 3.3.
operátor popis prior.
== rovná se 8
!= nerovná se 8
< menší než 7
> větší než 7
= větší než nebo rovno 7
Tab. 3.3 Relační operátory
Mají-li porovnávané proměnné číselný charakter, provede se nejdříve aritmetická
konverze. Pak operátor vrátí hodnotu 1, pokud je relace splněna, a hodnotu 0, pokud splněna
není. V případě ukazatelů je považována za vyšší hodnotu ta, která ukazuje na vyšší adresu.
3.4.5 Logické operátory
Logické operátory realizují základní logické operace – negaci, konjunkci (logický sou-
čin) a disjunkci (logický součet). Operandy musejí být buď číselné nebo ukazatele.
Přehled logických operátorů je uveden v tab. 3.4.
operátor popis prior.
! negace 2
&& konjunkce 12
|| disjunkce 13
Tab. 3.4 Logické operátory
Výsledek logické operace je vždy celočíselný (int). Výsledek pravda je reprezentován hod-
notou 1, výsledek nepravda hodnotou 0.
Operátor negace vrací hodnotu 1, je-li operand nulový, a vrací hodnotu 0, je-li operand
nenulový. Operátor konjunkce vrací hodnotu 1, jsou-li oba operandy nenulové. V ostatních
případech vrací operátor nulu. Operátor disjunkce vrací hodnotu 1, je-li alespoň jeden z ope-
randů nenulový.
32 Fakulta elektrotechniky a komunikačních technologií VUT v Brně
Práci s dosud probranými operátory si vyzkoušíme na jednoduchém programu, jehož
hlavní formulář je nakreslen na obr. 3.5. Do obrázku jsou rovněž vepsána jména jednotlivých
komponentů, z nichž je formulář sestaven. Jména editačních řádků jsou napsána červeně
(komponent Edit, záložka palety komponentů Standard), jména návěští modře (komponent
Label, záložka Standard), jména tlačítek fialově (komponent Button, záložka Standard)
jména rámů šedě (komponent Bevel, záložka Additional) a jména rádiových tlačítek černě
(komponent RadioGroup, záložka Standard).
Obr. 3.5 Relační a logické operace
CharEdit1
CharEdit2
CharBtn
IntLab1 IntBtn
Bevel1IntLab2
TypeGroup RelGroup
LogLab
LogEdit CompBtn
ConLabel ConResult
DisLabel DisResult
Bevel2
Úkolem programu je vyčíslit výrazy
(operand1 porovnání operand2) && operand3
(operand1 porovnání operand2) || operand3
a výsledek zobrazit pomocí návěští ConResult a DisResult. Ve výrazech můžeme volit
typ porovnání (relační operátory v soustavě rádiových tlačítek RelGroup), hodnotu
operand3 (editační řádek LogEdit), typ proměnných operand1 a operand2 (soustava
rádiových tlačítek TypeGroup). Zvolíme-li položku Číslo-Číslo, je celočíselná hodnota zo-
brazená návěštím IntLab1 dosazena za operand1 a hodnota zobrazená IntLab2 za
operand2. Vybere-li uživatel položku Číslo-Znak, je do operand1 dosazeno číslo zobra-
zené pomocí IntLab1 a do operand2 obsah editačního řádku CharEdit1. V případě
výběru třetí položky, je do operand1 dosazen obsah CharEdit1 a do operand2 obsah
CharEdit2.
Začněme načítáním. Editační řádky CharEdit1 a CharEdit2 jsou nastaveny pro za-
dání jednoho znaku (proměnná editačního řádku MaxLength je v inspektorovi nastavena na
1). Pokud uživatel stiskne tlačítko Načti, znak zapsaný do řádku CharEdit1 je kopírován do
globální znakové proměnné c1 a znak z CharEdit2 do globální c2 (viz odezva na událost
OnClick tlačítka Načti – funkce read_char).
Počítače a programování 2 33
Celočíselné operandy jsou generovány pomocí generátoru náhodných čísel a jsou uklá-
dány do celočíselných globálních proměnných i1 a i2. Generátor náhodných čísel iniciali-
zujeme voláním funkce randomize v těle funkce init (odezva na událost OnCreate for-
muláře; randomize totiž musí proběhnout před prvním generováním náhodné hodnoty).
Náhodné celé číslo z intervalu od nuly do RAND_MAX (standardní konstanta) je generováno
voláním funkce rand. Pokud požadujeme, aby vygenerované číslo bylo z intervalu od –100
do +100, hodnotu vrácenou voláním funkce rand vynásobíme racionální konstantou
200.0/RAND_MAX a od součinu odečteme hodnotu 100. V dalším kroku převedeme vygene-
rovanou celočíselnou hodnotu na řetězec (standardní funkce IntToStr) a zobrazíme pomocí
návěští IntLab1 a IntLab2. Popsané operace provádí funkce gen_int, která je samočinně
volána jako reakce na událost OnClick tlačítka Generuj.
Dosazení požadovaného operátoru a požadovaných typů a hodnot operandů do výše
uvedených vztahů, jejich vyčíslení a zobrazení výsledků je úkolem funkce compute, která je
volána jako odezva na událost OnClick tlačítka Počítej. Pomocí příkazů if (pokud je splně-
na podmínka v kulaté závorce, vykoná se následující příkaz – obsah složené závorky; jinak se
tento příkaz ignoruje) postupně testujeme, které rádiové tlačítko je zaostřeno. Je-li černá ku-
lička v nejhornějším políčku, je proměnná ItemIndex příslušné soustavy rádiových tlačítek
nastavena na hodnotu 0. Pro kuličku v prostředním políčku obsahuje ItemIndex hodnotu 1,
atd. Samotné vyčíslování výrazů a zobrazení výsledků by mělo být jasné z výpisu:
char c1 ='A', c2 ='b'; // znaky z editačních řádků
int i1 = 12, i2 = -4; // celá čísla z návěští
// inicializace programu
void __fastcall TForm1::init(TObject *Sender)
{
randomize();
}
// načtení znaků z editačních řádků
void __fastcall TForm1::read_char(TObject *Sender)
{
c1 = CharEdit1->Text[1];
c2 = CharEdit2->Text[1];
}
// generování náhodných celých čísel
void __fastcall TForm1::gen_int(TObject *Sender)
{
i1 = (200./RAND_MAX) * rand() - 100; // čísla od -100 do +100
i2 = (200./RAND_MAX) * rand() - 100;
IntLab1->Caption = IntToStr( i1); // zobrazení
IntLab2->Caption = IntToStr( i2);
}
// dosazení do obec.výrazů, zobraz.výsledku
void __fastcall TForm1::compute(TObject *Sender)
{
int result; // result = operand1 porovnání operand2
if (TypeGroup->ItemIndex==0) // volba číslo-číslo
{
if (RelGroup->ItemIndex==0) {result = i1==i2;}; // rovnost
if (RelGroup->ItemIndex==1) {result = i1ItemIndex==2) {result = i1>i2;}; // větší
}
34 Fakulta elektrotechniky a komunikačních technologií VUT v Brně
if (TypeGroup->ItemIndex==1) // volba číslo-znak
{
if (RelGroup->ItemIndex==0) {result = i1==c1;}; // rovnost
if (RelGroup->ItemIndex==1) {result = i1ItemIndex==2) {result = i1>c1;}; // větší
}
if (TypeGroup->ItemIndex==2) // volba znak-znak
{
if (RelGroup->ItemIndex==0) {result = c1==c2;}; // rovnost
if (RelGroup->ItemIndex==1) {result = c1ItemIndex==2) {result = c1>c2;}; // větší
}
ConResult->Caption = IntToStr( result && StrToInt( LogEdit->Text));
DisResult->Caption = IntToStr( result || StrToInt( LogEdit->Text));
}
Závěrem ještě několik poznámek:
1. Porovnání dvou číselných hodnot je pro nás přirozenou záležitostí. Jak však máme rozumět
relačnímu výrazu, v němž vystupují znakové operátory či dokonce znakové a číselné ope-
rátory dohromady? Zde si stačí uvědomit, že každý znak je reprezentován v počítači klad-
ným celým číslem (tzv. ASCI kódem znaku). V uvedených případech pak porovnáváme
hodnotu kódu dvou znaků nebo hodnotu kódu znaku s číselnou hodnotou.
2. Jak se vkládají jednotlivá rádiová tlačítka do komponentu RadioGroup? V inspektoru ob-
jektů klikneme na proměnnou komponentu Items. Otevře se nám jednoduché editační
okno, do jehož řádků vepisujeme řetězce, popisující jednotlivá tlačítka. Kolik řádků do
editoru vepíšeme, tolik bude v RadioGroup tlačítek.
3. Poslední poznámka se vztahuje ke dvojici komponentů LogLab (návěští) a LogEdit (edi-
tační řádek). Po návěští požadujeme, aby se při jeho zaostření (kliknutí na návěští, stištění
klávesové kombinace Alt+O) samočinně zaostřil editační řádek LogEdit (začne v něm
blikat kurzor). Toho docílíme vepsáním jména editačního řádku do proměnné návěští
FocusControl v inspektorovi objektů.
Celý program je uložen v adresáři relations.
3.4.6 Bitové operátory
Bitové operátory pracují s jednotlivými bity operandů. Operand je operátorem chápán
jako pole bitů; operátor bere složku po složce (bit po bitu) a s každou postupně provede poža-
dovanou operaci.
Přehled bitových operátorů je uveden v tab. 3.5.
Bitové operátory můžeme rozdělit do dvou skupin, a to na operátory posuvu a na bi-
tové logické operátory.
Mezi operátory posuvu patří posuv vlevo o1o2. Operandy
o1 a o2 musejí být buď celočíselné nebo znakové. Při posuvu vlevo posouváme jednotlivé
bity o1 o o2 pozic doleva. o2 uvolněných míst vpravo je zaplněno nulami. o2 prvních bitů
operandu o1, které jsme jakoby vysunuli mimo, je ztraceno. Při posuvu vpravo je situace
podobná. Mělo by být zřejmé, že o2 (o kolik pozic posouváme jednotlivé bity) musí obsa-
hovat nezáporné číslo, které je menší než počet bitů operandu o1; v opačném případě není
výsledek definován.
Počítače a programování 2 35
operátor popis prior.
> bitový posuv vpravo 6
& konjunkce po bitech 9
| disjunkce po bitech 11
^ nerovnost po bitech 10
~ bitový komplement 2
Tab. 3.5 Bitové operátory
Bitové logické operátory jsou obdobou výše vysvětlených operátorů logických (nebitových)
s tím rozdílem, že jsou na hodnoty celočíselných nebo znakových proměnných aplikovány bit
po bitu. Výsledky bitové operace pro všechny možné kombinace hodnot bitů A0 a A1 jsou
uvedeny v tab. 3.6.
bit
A0
bit
A1
bit
A0&A1
bit
A0|A1
bit
A0^A1
bit
~A0
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 0
Tab. 3.6 Příklady bitových operací
3.4.7 Operátory inkrementování a dekrementování
Operátor inkrementování (++) zvýší obsah proměnné o jedničku, operátor dekremen-
tování (--) obsah proměnné o jedničku sníží. Je-li operátor ++ (--) umístěn za proměnnou, je
nejprve vyčíslen výraz, v němž se proměnná vyskytuje, a až poté je zvýšen (snížen) obsah této
proměnné. Pokud operátor ++ (--) umístíme před proměnnou, nejprve je zvýšen (snížen)
obsah této proměnné, a až poté dochází k vyčíslení výrazu, v němž se tato proměnná nachází.
To dokumentuje následující příklad:
double r1, r2, a1=5.1, a2=5.1, b=4.2;
r1 = a1++ + b;
r2 = ++a2 + b;
Jak proměnná a1 tak proměnná a2 obsahují hodnotu 6,1 = 5,1 + 1 (výsledek inkrementování).
Zatímco však v proměnné r1 je uloženo číslo 9,3 (nejprve byl vyčíslen součet 5,1 + 4,2, a až
poté byla zvýšena hodnota a1 na 6,1), proměnná r2 obsahuje hodnotu 10,3 (nejprve bylo a2
inkrementováno na 6,1, a až poté byl vypočten celkový součet.
Operátory ++ a -- mají prioritu 2.
36 Fakulta elektrotechniky a komunikačních technologií VUT v Brně
3.4.8 Přiřazovací operátory
Základní přiřazovací operátor je symbolizován znakem =. Máme-li výraz A1 = A2, je
nejprve vyčíslena pravá strana operátoru, je konvertována na týž typ, jakého je A1, a výsledek
je poté do A1 uložen. A1 a A2 musejí být buď aritmetické typy nebo ukazatele na stejné typy.
Přiřazovacímu operátoru může být předřazen symbol aritmetické operace (součet +,
rozdíl -, násobení *, dělení /, celočíselné dělení %), logické operace (logický součin &, logic-
ký součet |, logická nerovnost ^) nebo bitového posuvu (posuv vlevo ).
Potom např. zápis aColor = clYellow; // barva čáry žlutá
}
// událost OnClick tlačítka "Změň"
void __fastcall TForm1::jump(TObject *Sender)
{
if( ShapeBox->Checked) // povolena změna tvaru
{
int n = (3./RAND_MAX) * rand(); // náhodné číslo - zastíní globál. n
if( n==0) Shape->Shape = stCircle;
if( n==1) Shape->Shape = stEllipse;
if( n==2) Shape->Shape = stRoundRect;
}
if( ColorBox->Checked) // povolena změna barvy
{
int n = (3./RAND_MAX) * rand(); // náhodné číslo - zastíní globál. n
if( n==0) Shape->Pen->Color = clBlue;
if( n==1) Shape->Pen->Color = clGreen;
Počítače a programování 2 39
if( n==2) Shape->Pen->Color = clRed;
}
Label->Caption = IntToStr( ++n); // inkrementace počítadla
}
Celý program je uložen v adresáři shapes.
3.5.1 Příkazy pro větvení programu
Příkazy pro větvení programu bývají označovány jako příkazy podmíněné nebo výbě-
rové. Podle toho, zda je či není splněna určitá podmínka, je totiž vybrána určitá alternativa
dalšího pokračování programu.
Mezi příkazy pro větvení patří náš dobrý známý if. Doposud jsme ho používali ve
formě if( cond) make; (je-li splněna podmínka cond, vykonej příkaz make). Příkaz však
lze rozšířit přidáním alternativy: if( cond) make_this; else make_that; (při splně-
ní podmínky cond vykonej příkaz make_this, při nesplnění podmínky cond vykonej příkaz
make_that).
Dalším příkazem pro větvení je switch (přepínač). Přepínač používáme v případech,
kdy chceme nabídnout více potenciálních možností pokračování programu nežli dvě. Toho lze
samozřejmě dosáhnout kombinací několika příkazů if, avšak takové konstrukce bývají vět-
šinou dosti nepřehledné.
Použití přepínače si předvedeme na předchozím programu, věnovaném geometrickým
tvarům. První větvení (výběr mezi kruhem, elipsou a zaobleným obdélníkem) vytvoříme po-
mocí přepínače switch, druhé větvení (výběr mezi modrou, zelenou a červenou) necháme
pro kontrast v původní podobě:
if( ShapeBox->Checked) // povolena změna tvaru
{
switch( 3*rand()/RAND_MAX)
{
case 0: Shape->Shape = stCircle; break;
case 1: Shape->Shape = stEllipse; break;
case 2: Shape->Shape = stRoundRect;
}
}
if( ColorBox->Checked) // povolena změna barvy
{
int n = (3./RAND_MAX) * rand();
if( n==0) Shape->Pen->Color = clBlue;
if( n==1) Shape->Pen->Color = clGreen;
if( n==2) Shape->Pen->Color = clRed;
}
V závorce za klíčovým slovem switch musí být výraz, který vrací celočíselnou hodnotu
(v našem případě jsou všechny tři operandy celá čísla, a proto i operátor dělení pracuje jako
dělení celočíselné). Program pak přeskočí na ten řádek uvedený slovem case, na němž je toto
slovo následováno stejnou hodnotou. Žádné dvě hodnoty následující slovo case nesmějí být
přirozeně stejné. Pokud závorka za slovem switch obsahuje hodnotu, která není k dispozici
za žádným case, program skočí na řádek uvedený slovem default (alternativa default
může být umístěna na kterémkoli řádku mezi návěštími case). Pokud možnost default chy-
bí, nevykoná se nic. V našem programu by využití default mohlo vypadat následovně:
40 Fakulta elektrotechniky a komunikačních technologií VUT v Brně
switch( 4*rand()/RAND_MAX)
{
case 0: Shape->Shape = stCircle; break;
case 1: Shape->Shape = stEllipse; break;
case 2: Shape->Shape = stRoundRect; break;
default: Shape->Shape = stSquare;
}
Pro náhodná čísla od nuly do dvou se nic nemění. Pokud je vygenerováno vyšší číslo (koefi-
cient ve výrazu za switch jsme zvýšili na 4), vykreslí se čtverec.
Ačkoli se z hlediska uživatele jeví funkce konstrukce s přepínačem switch stejně jako
funkce konstrukce sestavená z několika příkazů if, z hlediska vykonávání programu tomu tak
není.
V případě konstrukce z if na každém řádku testujeme, zda je splněna předepsaná rov-
nost pro n. Pokud je rovnost splněna, vykonáme následný příkaz a přecházíme na další řádek.
Pokud rovnost splněna není, na další řádek přecházíme bez plnění příkazu. Na zmíněném
dalším řádku pak testujeme další rovnost bez ohledu na to, zda předchozí rovnost splněna byla
(a tudíž další rovnosti nemohou z principu nastat) či nikoli.
V případě přepínače okamžitě skočíme na řádek s odpovídající hodnotou a vykonáme
příkaz za dvojtečkou. Klíčové slovo break, které řádek ukončuje, pak způsobí okamžité vy-
stoupení z těla konstrukce switch (proto na poslední řádek není třeba break dávat).
3.5.2 Příkazy pro cykly
Příkazy pro cykly (pro vytváření smyček) používáme v situacích, kdy potřebujeme cy-
klicky vykonávat stejnou posloupnost instrukcí.
V našich příkladech jsme se již setkali s jedním zástupcem skupiny příkazů pro cykly, a
to s příkazem for. Obecně můžeme tento příkaz zapsat jako for(init,cond,update)
make. Pomocí výrazu init provedeme počáteční nastavení pro spuštění cyklu. Výraz cond
představuje podmínku, která musí být splněna (výraz musí mít nenulovou hodnotu); v opač-
ném případě je cyklus ukončen. Pomocí výrazu update aktualizujeme obsah proměnných po
ukončení každého cyklu. Slovo make reprezentuje příkaz, který vykonáváme tak dl
Vloženo: 28.05.2009
Velikost: 1,23 MB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Mohlo by tě zajímat:
Skupina předmětu BPC2 - Počítače a programování 2
Reference vyučujících předmětu BPC2 - Počítače a programování 2
Podobné materiály
- BFSL - Finanční služby - Skripta
- BPC1 - Počítače a programování 1 - Skripta Počítače a programování
- BAEY - Analogové elektronické obvody - Skripta Analaogové el.obvody-lab.cvičení
- BAEY - Analogové elektronické obvody - Skripta Analogové el.obvody- počítačová a laboratorní cvičení
- BAEY - Analogové elektronické obvody - Skripta Analogové el.obvody-počítačová cvičení
- BAEY - Analogové elektronické obvody - Skripta Analogové el.obvody
- BASS - Analýza signálů a soustav - Signály a systémy skripta
- BASS - Analýza signálů a soustav - Skripta Dskrétní signály a diskrétní systémy
- BASS - Analýza signálů a soustav - Skripta Spojité systémy 2.část
- BASS - Analýza signálů a soustav - Skripta Spojité systémy
- BASS - Analýza signálů a soustav - Skripta
- BDIZ - Diagnostika a zkušebnictví - Skripta Diagnostika a testování el.systémů
- BDIZ - Diagnostika a zkušebnictví - Skripta Diagnostika a zkušebnictví
- BDIZ - Diagnostika a zkušebnictví - Skripta Speciální diagnostika
- BEL1 - Elektrotechnika 1 - Skripta Elektrotechnický seminář
- BEL1 - Elektrotechnika 1 - Skripta Elektrotechnika 1 - Laboratorní a počítačová cvičení
- BEL1 - Elektrotechnika 1 - Skripta Elektrotechnika 1
- BEL1 - Elektrotechnika 1 - Skripta Technická dokumentace
- BEL2 - Elektrotechnika 2 - Skripta elektrotechnika II
- BEL2 - Elektrotechnika 2 - Skripta laboratorní cvičení 2006
- BEL2 - Elektrotechnika 2 - Skripta laboratorní cvičení 2008
- BEL2 - Elektrotechnika 2 - Skripta počítačové cvičení 200
- BEL2 - Elektrotechnika 2 - Učitelská skripta
- BELF - Elektrické filtry - Skripta Analýza el. obvodů programem
- BELF - Elektrické filtry - Skripta Elektrické filtry
- BEMV - Elektrotechnické materiály a výrobní procesy - Skripta Elektotechnické materiály a výrobní procesy
- BEMV - Elektrotechnické materiály a výrobní procesy - Skripta Elektrotechnické materiály a výrobní procesy - lab. cvičení
- BEMV - Elektrotechnické materiály a výrobní procesy - Skripta Materiály v elektrotechncie
- BESO - Elektronické součástky - Skripta Elektronické součástky - Laboratorní cvičení
- BESO - Elektronické součástky - Skripta Elektronické součástky 2002
- BESO - Elektronické součástky - Skripta Elektronické součástky 2007
- BESO - Elektronické součástky - Skripta Elektronické součástky
- BFY1 - Fyzika 1 - Skripta Fyzikální seminář
- BFY1 - Fyzika 1 - Skripta Průvodce studia předmětu Fyzika 1
- BFY2 - Fyzika 2 - Skripta kmity
- BFY2 - Fyzika 2 - Skripta Optika
- BFY2 - Fyzika 2 - Skripta termofyzika
- BFY2 - Fyzika 2 - Skripta Vlny
- BMA1 - Matematika 1 - Skripta Matematický seminář
- BMA1 - Matematika 1 - Skripta Matematika 1 Počítačová cvičení Maple
- BMA1 - Matematika 1 - Skripta Matematika 1
- BMA1 - Matematika 1 - Skripta Matematika 3
- BMA2 - Matematika 2 - Skripta matematický seminář
- BMA2 - Matematika 2 - Skripta Matematika I
- BMA2 - Matematika 2 - Skripta Matematika II
- BMA3 - Matematika 3 - Skripta Matematika 3
- BMA3 - Matematika 3 - Skripta Sbírka Matematika 3
- BMFV - Měření fyzikálních veličin - Skripta Měření fyz.veličin - návody do lab.cvičení
- BMPS - Modelování a počítačová simulace - Skripta Modelování a počítačová simulace- Počítačová cvičení
- BMTD - Materiály a technická dokumentace - Skripta MTD Laboratorní cvičení
- BMTD - Materiály a technická dokumentace - Skripta MTD část materiály v elektrotechnice
- BMTD - Materiály a technická dokumentace - Skripta MTD část Technická dokumentace - počítačová a konstrukční cvičení
- BMTD - Materiály a technická dokumentace - Skripta MTD část technická dokumentace
- BMVE - Měření v elektrotechnice - Měření v elektrotechnice - Lab.cviceni -skripta
- BMVE - Měření v elektrotechnice - Skripta Meření v elektrotechnice- návody k lab. cvič.
- BMVE - Měření v elektrotechnice - Skripta Měření v elektrotechnice - lab.cvičení II
- BMVE - Měření v elektrotechnice - Skripta Měření v elektrotechnice - laboratorní cvičení
- BPC2 - Počítače a programování 2 - Skripta 2008
- BPIS - Praktikum z informačních sítí - Skripta
- BVNP - Vysoké napětí a elektrické přístroje - Skripta Blažek 1975
- BVNP - Vysoké napětí a elektrické přístroje - Skripta Elektr.přístroje část II
- BVNP - Vysoké napětí a elektrické přístroje - Skripta Lab.cv. Vysoké napětí
- BVNP - Vysoké napětí a elektrické přístroje - Skripta Vysoké napěti el.stroje
- BVNP - Vysoké napětí a elektrické přístroje - Skripta Vysoké napětí část I.
- BVPA - Vybrané partie z matematiky - Skripta Vybrané partie z matematiky
- BEL2 - Elektrotechnika 2 - Učitelská skripta laboratoře
- BPIS - Praktikum z informačních sítí - skripta
- BESO - Elektronické součástky - nová skripta
- AMA2 - Matematika 2 - skripta
- BEKE - Ekologie v elektrotechnice - Něco ze zkoušek, skripta atd..
- BRR2 - Řízení a regulace 2 - Skripta Řízení a regulace 2
- BVPM - Vybrané partie z matematiky - BVPM - skripta k předmětu
- BEPO - Etika podnikání - BEPO (XEPO) - Skripta
- BNAO - Návrh analogových integrovaných obvodů - Skripta BNAO 2010
- BEVA - Elektromagnetické vlny, antény a vedení - BEVA 2 skripta - přednášky a sbírka úloh.zip
- BMPT - Mikroprocesorová technika - BMPT 2011 zadani PC cviceni + skripta s ucivem
- ABSN - Biosenzory - Skripta
- ALDT - Lékařská diagnostická technika - Skripta
- BMVA - Měření v elektrotechnice - Skripta BMVA
- MTOC - Theory of Communication - Teorie sdělování-skripta
Copyright 2025 unium.cz


