- 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álestavte program, který bude pomocí jednoho editačního řádku
provádět operace součet, rozdíl, součin a podíl. Výsledek bude zobrazen v editačním řádku.
Operace proveďte a zobrazte po kliknutí na odpovídající tlačítko pro zobrazení výsledku.
Příklad 4. Navrhněte a sestavte program, který bude pomocí jednoho editačního řádku
a tlačítek pro zadání čísel provádět operace součet, rozdíl, součin a podíl. Výsledek bude zo-
Počítače a programování 2 19
brazen v editačním řádku. Operace proveďte a zobrazte po kliknutí na odpovídající klávesu
pro zobrazení výsledku.
2.3 Kontrolní otázky
1. Co je to ikona?
2. Co je to komponent a k čemu slouží?
3. Co je to formulář, k čemu slouží a co je v něm zobrazeno?
4. Co obsahuje inspektor objektů?
5. K čemu slouží editor kódů?
6. Co obsahuje rychlý panel v aplikaci Borland++ Builder?
7. K čemu slouží ladič (debugger)?
8. Kde se v Borland C++Builderu může ošetřit nastavená událost v sestavované aplikaci?
9. Jak se může reagovat v aplikaci na určitou událost?
10. Co označuje klíčové slovo void?
11. Co je to breakpoint?
12. Lze při ladění aplikace provádět změny obsahu proměnné?
3 Jazyk C
Programovací jazyk C vyvinul na přelomu šedesátých a sedmdesátých let D.M. Ritchie
u firmy AT&T. Jazyk se stal postupem doby natolik oblíbený, že byl kodifikován Americkým
národním úřadem pro normalizaci (ANSI). Na základě této normy vznikla řada implementací
jazyka C pro různé typy počítačů a pro různé druhy operačních systémů.
Počátkem osmdesátých let byla navržena objektová verze
1
jazyka, pro níž se vžilo ozna-
čení C++. Jazyk C++ se postupem doby stal základem moderních vývojových nástrojů jakými
jsou Borland C++ Builder nebo Microsoft Visual C++.
S nástrojem Borland C++ Builder jsme se již seznámili a zůstaneme mu dále věrni. Nic-
méně, naši pozornost soustředíme na původní, neobjektovou verzi jazyka, na ANSI C. Důle-
žité pro nás bude, abychom si zvykli na syntaxi jazyka C a abychom se naučili v jazyce C
myslet. Přechod k moderní, objektové verzi C++ by pak už měl být pro nás relativně snadný.
3.1 Identifikátory
Identifikátorem rozumíme libovolnou posloupnost písmen anglické abecedy a číslic.
Identifikátor hraje roli jména naší vlastní proměnné nebo naší vlastní funkce.
1
Program obvykle sestává z nezávislého kódu (posloupnost instrukcí v tělech funkcí) a z ne-
závislých dat (proměnné, v nichž jsou uloženy programem zpracovávané údaje). Objektové
programování skládá funkce (kód) a proměnné (data) do jediné struktury, kterou nazýváme
objekt.
20 Fakulta elektrotechniky a komunikačních technologií VUT v Brně
Identifikátor musí začínat písmenem (nesmí mít na první pozici číslo).
V jazyce C je třeba rozlišovat malá a velká písmena.
3.2 Typy dat, proměnné
Termínem proměnná rozumíme místo v paměti, do něhož ukládáme data určitého typu.
Jméno proměnné (sestavujeme jej podle výše uvedených pravidel pro identifikátory) zastu-
puje adresu paměťového místa. Typ proměnné jednoznačně určuje, jak velký paměťový pro-
stor má být vyhrazen pro uložení obsahu proměnné.
Proměnné musíme před jejich použitím deklarovat. Deklarace počítači oznamuje, jak
velké paměťové místo má být pro naši proměnnou rezervováno a jakým jménem se budeme
na toto paměťové místo odkazovat.
3.2.1 Lokální a globální proměnné
Podle umístění deklarace můžeme proměnné rozdělit na lokální a globální.
Lokální proměnná je deklarována v těle funkce. Tato proměnná je pak dostupná jen
v rámci této funkce a existuje jen po dobu jejího provádění. Jakmile tělo funkce opustíme (je
vykonána poslední instrukce funkce), je paměťové místo, v němž byla proměnná uložena,
uvolněno (vymaže se jeho adresa, a tím je ztracen i jeho obsah).
Globální proměnná je většinou deklarována mimo těla funkce. Tato proměnná existuje
po celou dobu provádění programu a mohou k ní přistupovat všechny funkce, které jsou de-
finovány za deklarací této proměnné.
Práci s lokálními a globálními proměnnými si vysvětlíme
na jednoduchém programu.
Formulář programu je nakreslen na obr. 3.1. Na jeho ploše
jsou umístěna tlačítka Přičti (Name=PlusBtn) a Odečti (Name=
MinusBtn). Pokud uživatel klikne na tlačítko Přičti, zjistíme
hodnotu čísla, která odpovídá řetězci v editačním řádku nalevo od
tlačítka (Name=PlusEdit). O tuto hodnotu zvýšíme hodnotu
zobrazenou červeným návěštím (Name=Result) v dolní části
formuláře. Funkce tlačítka Odečti se liší pouze tím, že hodnota
odpovídající červenému návěští je zmenšena o obsah druhého
editačního řádku (Name=MinusEdit).
Náš program bude sestávat ze dvou funkcí – odezev na
událost stisku tlačítka (OnClick) Přičti a tlačítka Odečti. Každá funkce nejprve zjistí obsah
odpovídajícího editačního řádku, převede ho na celé číslo a uloží toto číslo do pomocné pro-
měnné. V dalším kroku je celé číslo z pomocné proměnné buď přičteno (tlačítko Přičti, funk-
ce add) nebo odečteno (tlačítko Odečti, funkce subtract) od čísla (obsahu celočíselné pro-
měnné total), které odpovídá červenému návěští.
Z uvedeného popisu by mělo být zřejmé, že proměnná total musí být proměnnou
globální (musí být přístupná jak funkci add tak pro funkci subtract). Naproti tomu pomoc-
né proměnné pro uložení kladného sčítance plus a sčítance záporného minus mohou být
deklarovány jako proměnné lokální. Zatímco obsah proměnné total musí být uchován po
celou dobu běhu programu, proměnné plus a minus plníme čerstvým údajem z editačního
Obr. 3.1 Lokální a
globální proměnné
Počítače a programování 2 21
řádku při každém stisku tlačítka a po aktualizaci proměnné total můžeme jejich obsah „za-
pomenout“.
Zdrojový text popsaného programu je uložen v adresáři plus_minus a jeho zdrojový
text vypadá následovně:
int total = 0; // globální proměnná pro celkový součet
// odezva na stisk tl. "Přičti"
void __fastcall TForm1::add(TObject *Sender)
{
int plus; // lokál.prom. - kladný sčítanec
plus = StrToInt( PlusEdit->Text); // editační řádek -> číslo
total = total + plus; // změna obsahu globál.proměnné
Result->Caption = IntToStr( total); // zobrazení výsledku
}
// odezva na stisk tl. "Odečti"
void __fastcall TForm1::subtract(TObject *Sender)
{
int minus; // lokál.prom. - záporný sčítanec
minus = StrToInt( MinusEdit->Text); // editační řádek -> číslo
total = total - minus; // změna obsahu globál.proměnné
Result->Caption = IntToStr( total); // zobrazení výsledku
}
Ve výše uvedeném výpisu si můžeme všimnout, že se v deklaraci globální proměnné
total objevuje za jménem proměnné rovnítko následované celočíselnou hodnotou. Pomocí
této konstrukce můžeme přímo v deklarační části programu nově vytvořenou proměnnou
inicializovat (na paměťové místo označené identifikátorem total ukládáme hodnotu 0).
Typ Bitů Rozsah
unsigned char
8 X ∈
char
8 X ∈
short int
16 X ∈
unsigned int
32 X ∈
int
32
X ∈
float
32 1,18 ⋅ 10
-38
< |X| < 3,40 ⋅ 10
+38
double
64
2,23 ⋅ 10
-308
< |X| < 1,79 ⋅ 10
+308
long double
80
3,37 ⋅ 10
-4932
< |X| < 1,18 ⋅ 10
+4932
Tab. 3.1 Vybrané základní typy proměnných Borland C++ Builderu
3.2.2 Pravidla deklarování proměnných
Jak je zřejmé z uvedeného výpisu, deklarování proměnné se řídí následujícími pravidly:
1. Na volném řádku uvedeme typ proměnné (v našem případě int).
22 Fakulta elektrotechniky a komunikačních technologií VUT v Brně
2. Typ proměnné oddělíme mezerou od jména proměnné daného typu.
3. Pokud potřebujeme deklarovat více proměnných daného typu, jejich jména oddělujeme
čárkami (např. int first, second, third;).
4. Řádek s deklarací je ukončen středníkem.
Dosud jsme se v našich příkladech setkali pouze s celočíselným typem proměnné int.
O dalších základních typech se dozvíme v následujícím odstavci.
3.2.3 Základní typy proměnných
Vybrané základní typy proměnných jsou uvedeny v tab. 3.1.
Proměnné z tabulky můžeme rozdělit do tří skupin:
Znakové char (znak ANSI znakové sady),
unsigned char (unsigned omezuje proměnnou pouze na kladné hodnoty).
Celočíselné int (32-bitové celé číslo se znaménkem),
short int (short sníží možnou velikost celého čísla; ušetříme 16 bitů),
unsigned int (unsigned omezuje proměnnou pouze na kladné hodnoty).
Racionální float (32-bitové číslo s plovoucí desetinnou čárkou a znaménkem)
2
,
double (64-bitové číslo s plovoucí desetinnou čárkou a znaménkem)
2
,
long double (long zvýší přesnost reprezentace racionálního čísla double).
Při výběru vhodného typu proměnné se rozhodujeme nejdříve mezi základními skupi-
nami. Pro uložení znaku volíme skupinu char, pro uložení celočíselného indexu skupinu
int, pro uložení racionálního čísla skupinu float-double. Podrobnější specifikaci typu
uvnitř zvolené skupiny pak formulujeme pomocí tzv. modifikátorů (modifiers) unsigned,
short, long … s ohledem na požadovaný číselný rozsah proměnné na jedné straně a na
dostupnou velikost paměti na straně druhé.
3.2.4 Ukazatele
Termínem ukazatel (pointer) rozumíme proměnnou, která je urče-
na pro uložení adresy určitého paměťového místa. Každý ukazatel musí
být přitom spjatý s datovým typem, který je na dané adrese uložen.
Deklarujeme-li v programu ukazatel, stačí nám do standardní de-
klarace přidat před jeho jméno symbol *. Tzn., int *b je ukazatel na
celočíselnou proměnnou. Pokud chceme do ukazatele uložit adresu pro-
měnné int a, použijeme zápisu b=&a. Pokud si chceme prohlédnout
obsah paměťového místa, jehož adresa je uložena v b, použijeme kon-
strukce c=*b (c je deklarováno jako celé číslo, obsah adresy uložené v
b – tzn. hodnotu proměnné a – kopírujeme do proměnné c).
2
Deklarujeme-li v programu proměnnou tohoto typu, Builder automaticky připojí k našemu
programu jednotku standardních matematických operací v plovoucí desetinné čárce math.
Jednotka obsahuje goniometrické funkce (sin, cos, tan, asin, acos, atan, …), loga-
ritmy (přirozený log, dekadický log10), exponenciální funkci (exp), mocniny a odmoc-
niny (pow, sqrt), atd.
Obr. 3.2 Práce
s ukazateli
Počítače a programování 2 23
Práci s ukazateli si vyzkoušíme na jednoduché aplikaci. Formulář aplikace obsahuje
tlačítko Inkrementuj (Name=Button1) a žluté návěští (Name=Result). Když uživatel stiskne
tlačítko, zvýší se hodnota zobrazená návěštím o jedničku.
V programu deklarujeme globální celočíselnou proměnnou a (v rámci deklarace ji vy-
nulujeme) a globální ukazatel na celočíselnou hodnotu b. Při vytváření formuláře před jeho
vykreslením na obrazovce monitoru (událost OnCreate formuláře) přiřadíme ukazateli b
adresu proměnné a (v těle funkce init, která je volána jako odezva na událost OnCreate).
V odezvě na stištění tlačítka Inkrementuj (událost OnClick tlačítka, funkce increment)
zvýšíme obsah proměnné a o jedničku (k tomu slouží zápis a++). Text návěští ovšem aktua-
lizujeme prostřednictvím ukazatele b, jak ukazuje následující výpis:
int a=0; // inicializovaná celočíselná proměnná
int *b; // ukazatel na celočíselnou proměnnou
// reakce na událost formuláře OnCreate
void __fastcall TForm1::init(TObject *Sender)
{
b = &a; // do ukazatele adresa proměnné a
}
// reakce na událost tlačítka OnClick
void __fastcall TForm1::increment(TObject *Sender)
{
a++; // zvýšení hodnoty a o jedničku
Result->Caption = IntToStr( *b);
} // obsah a zobrazován prostřednictvím b
Za upozornění stojí skutečnost, že při chodu programu vykonáváme již jen dvě instruk-
ce v těle funkce increment. V těle této funkce měníme pouze obsah proměnné a, obsah
proměnné b se nemění. Při zobrazování se však odvoláváme na proměnnou b a nikoli na
proměnnou a. Protože b obsahuje adresu proměnné a, údaj zobrazovaný návěštím se při
každém stisku tlačítka o jedničku zvýší.
Popsaný program je uložený v adresáři pointer.
3.2.5 Pole
Pole je datová struktura tvořená
několika složkami stejného typu. Po-
čet složek pole udáváme v jeho de-
klaraci v lomené závorce za jménem
pole. Počet složek musí být kladné
celé číslo. Např. deklarace int
d[3] zavádí pole d tvořené třemi
složkami typu int. Jelikož složky
pole jsou indexovány od nuly, sestá-
vá naše pole ze tří celých čísel d[0],
d[1] a d[2].
Má-li pole více indexů, objeví
se v deklaraci za jménem pole více
lomených závorek. Např. pole
double d[2][2] sestává ze čtyř racionálních čísel d[0][0], d[0][1], d[1][0] a
d[1][1].
TBevel
TPaintBox
Obr. 3.3 Práce s poli, se znaky a s grafikou
24 Fakulta elektrotechniky a komunikačních technologií VUT v Brně
Dosud jsme ve svých příkladech pracovali pouze s celočíselnými proměnnými. Nyní si
tedy na programu pro práci s poli ukážeme rovněž práci se znaky a s proměnnými racionál-
ními. Navíc se pokusíme o jednoduchou grafickou reprezentaci výsledků našich výpočtů.
Úkolem našeho programu bude počítat a zobrazovat průběh funkce sinus nebo funkce
kosinus pro hodnoty argumentu od 0 do 2π radiánu.
Program bude reprezentován formulářem, který je znázorněný na obr. 3.3.
Do editačního řádku Edit1 uživatel může zadat buď S (počítá se sinus) nebo C (počítá
se kosinus). Nastavením parametru MaxLength=1 editačního řádku v inspektoru zajistíme, že
lze do řádku zapsat jediný znak. Zadání jiného znaku než S a C (např. s, c) není v programu
ošetřeno (program spadne – je nekorektně ukončen).
Text nad editačním řádkem (S = sinus, C = kosinus) je realizován návěštím Label1.
Stištění tlačítka Funkce (Button1) vyvolá událost OnClick, na níž reaguje funkce
compute. Úkolem compute je přečíst znak z řádku Edit1, vypočítat průběh zvolené funkce
a průběh vykreslit.
Editační řádek, návěští a tlačítko jsou opticky odděleny od zbytku formuláře rámečkem
(Bevel, záložka palety komponentů Additional).
K vykreslení průběhu používáme komponent kreslicí plocha, PaintBox (záložka palety
komponentů System). Kreslicí plocha je prostorově omezená plocha, která má v našem pro-
gramu šířku Width=409 a výšku Height=201 bodů (viz inspektor objektů). Levý horní roh
plochy má souřadnice (0,0), pravý dolní roh (Width, Height).
Můžeme si představit, že kreslicí plocha je potažena malířským plátnem (Canvas).
Plátno obsahuje kreslicí nástroje – pero (pen) pro kreslení čar, štětec (brush) pro natírání
ploch a písmo (font) pro vytváření textových popisů. Jedním z parametrů pera je barva čáry
(Color). Chceme-li tedy nastavit barvu čáry, musíme říci kreslicí ploše PaintBox1, že má
říci malířskému plátnu ->Canvas, že má říci peru ->Pen, že měníme jeho barvu ->Color.
Novou barvu zadáváme pomocí konstant clXXX (bílá je clWhite, žlutá clYellow, atd.).
Dále plátno obsahuje kreslicí funkce. Funkce MoveTo(x,y) nastaví pero na souřadnici
( x, y), funkce LineTo(x1,y1) vykreslí čáru z bodu, na který bylo pero nastaveno, do bodu
( x1, y1). Další kreslicí funkce nalezneme v nápovědě Builderu.
Jakmile máme formulář sestavený, můžeme začít programovat:
1. Jednotku s naším programem spojíme s knihovou standardních matematických funkcí,
abychom mohli vyčíslovat funkční hodnoty sinu a kosinu
#include "math.h" // jednotka matematických operací
2. Deklarujeme globální proměnné. Mezi globální proměnné zařadíme Ludolfovo číslo pi a
pole úhlů angle, pro něž budeme vyčíslovat goniometrické funkce. Tyto parametry se
v programu nemění – mají globální platnost.
double pi = 3.14159265358; // Ludolfovo číslo
// pole od 0 do 1.9 radiánů
double angle[20] = { 0.0*pi, 0.1*pi, 0.2*pi, 0.3*pi, 0.4*pi,
0.5*pi, 0.6*pi, 0.7*pi, 0.8*pi, 0.9*pi,
1.0*pi, 1.1*pi, 1.2*pi, 1.3*pi, 1.4*pi,
1.5*pi, 1.6*pi, 1.7*pi, 1.8*pi, 1.9*pi};
Počítače a programování 2 25
Z výpisu je vidět, jak můžeme pole inicializovat přímo v deklaraci a že inicializačními
hodnotami mohou být i matematické výrazy, které je třeba před přiřazením vyčíslit.
3. Definujeme funkci compute jako odezvu na událost tlačítka OnClick.
// odezva na stisk tlačítka "Funkce"
void __fastcall TForm1::compute(TObject *Sender)
{
double value[20]; // pole funkčních hodnot
char funct; // znak S (sinus), C (cosinus)
int n; // index pro cykly a pole
funct = Edit1->Text[1]; // znak funkce z edit.řádku
if (funct=='S') // je-li znakem "S"
for (n=0;nPen->Color = clWhite;
// nastavení výchozí pozice pera
PaintBox1->Canvas->MoveTo( 5, 100-100*value[0]);
for (n=1;nCanvas->LineTo( 5+20*n, 100-100*value[n]);
}
Mezi lokálními proměnnými funkce je pole funkčních hodnot value, znak určující typ
goniometrické funkce funct a pomocný index n. Všechny tři proměnné plníme aktuál-
ními daty po každém stisknutí tlačítka Funkce, a proto jsou deklarovány lokálně.
Text v editačním řádku Edit1 lze chápat jako pole znaků. Text[0] obsahuje řídicí znak,
v Text[1] je potom první znak zapsaný do editačního řádku. Tento znak kopírujeme do
pomocné proměnné funct typu char.
V dalším kroku obsah znakové proměnné funct testujeme. Znak, s nímž obsah funct
srovnáváme, musí být uveden v jednoduchých uvozovkách. Operátor rovnosti == vrací
hodnotu pravda (true), pokud jsou jeho levá a pravá strana identické (obsahem funct je
znak S, obsahem funct je znak C). Vrátí-li operátor rovnosti == hodnotu pravda, příkaz
if předá řízení cyklu for. V opačném případě je cyklus for přeskočen.
Co se týká cyklu for, konstrukce (n=0;nCaption = c;
}
Z výpisu je vidět, že uvozovky v řetězci předchází zpětné lomítko a že přechod na nový řádek
uskutečňuje řídicí znak \n.
Celý program je uložen v adresáři strings.
3.4 Výrazy a operátory
Výrazem rozumíme konstrukci, která slouží k výpočtu hodnot. Výraz sestavujeme
z operandů a operátorů. Roli operandu přitom může hrát proměnná, konstanta nebo volání
Obr. 3.4 Práce s řetězci
Počítače a programování 2 29
funkce, která vrací hodnotu. Operátorů obsahuje jazyk C velké množství, takže se seznámíme
jen s těmi nejdůležitějšími.
Z hlediska počtu operandů můžeme operátory rozdělit na unární (jeden operand) a
binární (dva operandy). Mezi unární operátory patří např. změna znaménka -a; - je unární
operátor a a je operand. Mezi binární operátory patří např. součet a+b; + je binární operátor a
a, b jsou operandy.
Operátory můžeme dělit podle účelu použití na aritmetické, logické, relační, přiřazovací
a další. V našem textu se přidržíme tohoto druhého členění.
3.4.1 Aritmetické konverze
Aritmetické binární operátory mohou mít operandy různých typů. Dříve, než je prove-
dena operace přikazovaná operátorem, musí dojít ke sjednocení typu operandů. Výsledek
operace je pak stejného typu jako operandy po konverzi.
Konverze typu operandů se řídí následujícími pravidly:
1 Všechny operandy typu char a short jsou převedy na int. Všechny operandy typu
float jsou převedeny na double.
2.1 Je-li jeden z operandů typu double, je i druhý operand převeden na typ double.
2.2 Je-li jeden z operandů typu long, je i druhý operand převeden na typ long.
2.3 Je-li jeden z operandů typu unsigned, je i druhý operand převeden na typ unsigned.
3 Nenastane-li žádný z případů (2), oba operandy musejí být typu int.
Aritmetické konverze si prakticky vyzkoušíme na jednoduchém programu:
void __fastcall TForm1::aritmetic(TObject *Sender)
{
int a, b;
double c, d;
a = 4/5; // - 1 -
b = 4/5.0; // - 2 -
c = 4/5; // - 3 -
d = 4/5.0; // - 4 -
}
• Na pravé straně řádku –1– jsou oba operandy celá čísla, tedy typ int. Proto rovněž vý-
sledek musí být celé číslo. Protože celá část podílu 0.8 je nulová, bude a=0. Pokud by-
chom pravou stranu změnili např. na 8/5, byla by celá část podílu 1.6 jednotko
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


