VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky

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

Download "VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky"

Transkript

1 VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Technologie počítačových sítí Stručná systematická příručka s příklady k použití TCL na Cisco IOS 2008 Pavel NEJEDLÝ Jan KOCMÁNEK

2 Obsah Úvodní seznámení... 3 Poznámky, komentáře... 3 Proměnné... 3 Vstup a výstup... 4 Matematické operace... 4 Funkce... 5 Podmíněné příkazy... 6 Iterační příkazy (cykly)... 8 Strukturované datové typy Práce s řetězci Poznámky k CISCO implementaci Spouštění Tcl příkazů Použité zdroje Příklady

3 Úvodní seznámení Jednotlivé příkazy jsou v Tcl od sebe odděleny koncem řádku (odřádkováním) nebo středníkem. Pokud je na řádku uveden pouze jeden příkaz, nemusí se za ním středník psát. Příkaz je složen z jednoho nebo více slov, která jsou od sebe oddělena mezerou nebo tabelátorem. První slovo je chápáno jako název příkazu (funkce, procedury), další slova jsou chápána jako parametry. Pokud chceme použít jako parametr řetězec obsahující mezery použijeme uvozovky, jinak se používat nemusí všechny parametry jsou chápany jako řetězec. puts "Hello world" vypíše na výstup: Hello world Poznámky, komentáře Poznámky začínají znakem #(hash). # toto je poznámka k příkazu nebo k funkci Vzhledem k tomu, že je začátek poznámky (#) považován za příkaz, musí poznámka buď začínat na novém řádku, nebo musí být (pokud je na stejném řádku s příkazem) od předchozího příkazu oddělena středníkem. puts "Hello world"; # vypise hello world na vystup Proměnné Každá použitá proměnná musí být před svým prvním použitím inicializována. Inicializace se provádí příkazem set, za nímž se uvede jméno proměnné a její hodnota (ta může být vyjádřena buď konstantou, nebo příkazem/výrazem, který se vyhodnotí). Hodnoty jsou považovány za řetězce, žádný jiný datový typ Tcl nezná. Příkazem set nelze nastavit více proměnných najednou, ale pouze jen jednu. set hello "Hello world" set num 128 Pokud se příkaz set zadá pouze s názvem proměnné, vrátí se její hodnota. O zrušení proměnné se stará příkaz unset, kterému se předá název proměnné. Po provedení tohoto příkazu je proměnná uvolněna z paměti, což je, zvláště v případě, kdy se používají rozsáhlá asociativní pole či seznamy, mnohdy velmi vhodné. unset hello unset num Pokud potřebujeme získat hodnotu proměnné, musí se před její jméno vložit znak $(dolar), který způsobí substituci jména proměnné za její hodnotu. Použité znaky Význam znaků $ substituce proměnných - náhrada jména proměnné její hodnotou [] vyhodnocení příkazu - příkaz v závorkách se vyhodnotí nejdříve "" potlačuje zpracování mezer jako oddělovačů příkazů či jejich argumentů { stejné jako uvozovky, s tím rozdílem, že se všechny substituce uvnitř závorek zakazují \ ruší zvláštní význam následujícího znaku 3

4 Vstup a výstup Obecný příkaz pro zápis na zařízení popsané descriptorem je puts, descriptor může být výstup na terminál, socket. Pokud descriptor neuvedeme použije se výstup na terminál. puts descriptor [proměnná] Obecný příkaz pro čtení ze zařízení pomocí jeho descriptoru je gets. gets descriptor [proměnná] Výpis na terminál (přesněji řečeno na standardní výstup). puts "Hello world" puts stdout "Hello world" set vyraz [expr 1+1] puts $vyraz puts [expr 1+1] Čtení z terminálu (ze standardního vstupu). gets stdin hodnota puts $hodnota Při použití proměnné, která není inicializována jí příkaz gets rovnou inicializuje. Matematické operace Jazyk Tcl neobsahuje žádné speciální konstrukce pro zápis matematických operací, místo toho má k dispozici příkaz (funkci) expr, kterému je možné předložit zápis matematického výrazu, ten se vyhodnotí a funkce vrátí výsledek daného výrazu. expr expr 10.0 / 5 expr 1 << 10 expr $a + $b Jak je z předchozího příkladu patrné, je možné v příkazu expr používat jak číselné konstanty (tyto mohou být celočíselné i reálné), tak i proměnné. Argumenty příkazu expr nemusí být odděleny mezerou (což je tak trochu výjimka) a proto lze psát: expr 1+2 expr 10.0/5 expr 1<<10 expr $a+$b Příkaz expr lze samozřejmě použít i společně s dalšími příkazy, hojně se zde využívá hranatých závorek ovlivňujících prioritu provádění jednotlivých příkazů. set a [expr 1+2] set b 20 set c " $a + $b se rovná [expr $a + $b] " set c {$a + $b se rovná [expr $a + $b]; # zde nedojde k substituci 4

5 Operace Význam Matematické operace + unární plus - unární mínus + součet (dále se již jedná o binární operace) - rozdíl * součin / podíl % zbytek po dělení Logické a bitově orientované operace << bitový posun doleva >> bitový posun doprava ~ negace bit po bitu! logická negace & bitový operátor AND bitový operátor OR ^ bitový operátor XOR && logický součin (a zároveň) logický součet (nebo)?: ternární podmíněný výraz < menší než > větší než <= menší nebo rovno >= větší nebo rovno == rovnost!= nerovnost přehled matematických operací a logických operátorů Funkce Pro vytvoření nové funkce se používá příkaz proc, za nímž se uvede název nové funkce, její parametry (ty se uvnitř funkce chovají jako proměnné) a tělo funkce (tj. jednotlivé příkazy, ze kterých se funkce skládá). Funkce může být při svém zavolání kdykoli přerušena příkazem return, který může vracet nějakou hodnotu. Pokud se funkce ukončí jiným příkazem než return, vrátí se hodnota posledně prováděného příkazu (návratovou hodnotu je samozřejmě možné ignorovat). proc hello { { puts "Hello world" Příklad jednoduché funkce bez parametrů. Všimněte si zápisu těla funkce do složených závorek. To je v tomto případě nutné, protože jinak by se tělo funkce vyhodnotilo již při jejím vytvoření. Dále je nutné, aby druhá otevírací složená závorka byla na stejném řádku jako příkaz proc - všechny příkazy v Tcl jsou řádkově orientované. Příkazy uvnitř těla funkce se již mohou formátovat libovolně, protože uvnitř složených závorek je povoleno používat znak konce řádku. 5

6 Příklad funkce se dvěma parametry vracející výsledek: proc secti {a b { return [expr $a+$b] Podmíněné příkazy if-then-else if podmínka {tělo_podmínky Tcl je poměrně variabilní a podporuje i další způsoby vytváření podmínek. První je ve své podstatě pouze podpůrnou variantou, uvedením slova then přímo za výraz specifikující podmínku (pro zajištění snadného přechodu z jiných programovacích jazyků např. basicu). if {podmínka then {tělo_podmínky Podmínka může být též uvnitř složených závorek {, ale má to význam pokud bude podmíněný výraz obsahovat mezery. Další variantou je přidání druhé větve příkazů, které se vykonají v případě, že podmínka není splněna, tj. vyhodnotí se na logickou hodnotu false. I zde je možné (nikoli však nutné) použít slovo then, slovo else uvozující druhou větev také nemusí být použito. if podmínka {tělo_podmínky {tělo_druhé_větve if podmínka {tělo_podmínky else {tělo_druhé_větve if podmínka then {tělo_podmínky {tělo_druhé_větve if podmínka then {tělo_druhé_větve else {tělo_druhé_větve Vzhledem k tomu, že se v reálných problémech nepoužívají pouze jednoduché podmíněné výrazy, ale složitější struktury, obsahuje Tcl rozšíření pro zápis více podmíněných výrazů a větví v jednom bloku if. Jedná se o vícenásobně použité slovo elseif, za nímž vždy následuje vyhodnocovaný výraz a tělo (blok příkazů), které se provede v případě, že je výraz vyhodnocen jako pravdivý. if podmínka {tělo1 elseif podmínka2 {tělo2 tělo_else if podmínka then {tělo1 elseif podmínka2 then {tělo2 else {tělo_else Na tomto místě je třeba upozornit na fakt, že slovo elseif je nutné uvádět, nelze s ním tedy zacházet tak liberálně jako se slovy then a else. Při zápisu podmíněného příkazu na více řádků je zapotřebí zaručit, aby se začátek případné větve else nacházel na stejném řádku, kde je uzavírací závorka větve then. Je to z toho důvodu, že Tcl celý skript zpracovává po jednotlivých řádcích a v případě, že by řádek začínal přímo slovem else, považoval by ho interpreter za začátek dalšího příkazu. if {výraz { tělo_podmínky else { tělo_druhé_větve Stejné pravidlo platí pro zápis dvou větví bez slova else: if {výraz { tělo_podmínky { tělo_druhé_větve 6

7 Nyní se podíváme na pár příkladů zápisu if-then-else. set h 5 if $h<10 {puts "mensi nez 10" if $h<10 then {puts "mensi nez 10" if {$h < 5 {puts "mensi ne z 5" {puts "neni mensi nez 5" if $h<5 {puts "mensi nez 5" else {puts "neni mensi nez 5" if $h<3 {puts mensi elseif $h==3 {puts rovno {puts vetsi if $h<3 {puts mensi elseif $h==3 {puts rovno else {puts vetsi if {$h<5 { puts "mensi nez 5" else { puts "neni mensi nez 5" if {$h<3 { puts mensi elseif {$h==3 { puts rovno else { puts vetsi Switch Vzhledem k tomu, že všechny hodnoty jsou v Tcl reprezentovány pomocí řetězců, porovnávají se v příkazu switch právě řetězce, přičemž je možné specifikovat porovnávání na základě regulárních výrazů, což celý příkaz switch posouvá na mnohem vyšší úroveň použitelnosti. switch řetězec vzor1 větev1 vzor2 větev2... default větev_n Pokud použijeme místo příkazů větve pomlčku (-), znamená to, že se provede tělo dalšího vzoru. set test router switch $test router {puts router switch {puts switch default {puts unknown Testuje jestli se obsah proměnné test shoduje s nějakým vzorem (router, switch), pokud ano vypíšeme název vzoru, pokud test obsahuje něco jiného vypíše se unknown. set test router switch $test { router {puts router switch {puts switch default {puts unknown Přehlednější zápis na více řádků. Jednotlivé větve se nemusí ukončovat žádným příkazem typu break - vždy se provede maximálně jedna větev. Větev označená slovem default je přitom brána jako implicitní, tj. pokud není splněna žádná z podmínek, provede se právě tato část programu. Podmínkami příkazu switch je obecně regulární příkaz, který slouží k porovnání libovolného řetězce se zadanými vzory. Kromě toho je možné příkazu switch zadat několik voleb, kterými se ovlivňuje způsob porovnání řetězců. Jedná se o následující volby: 7

8 Volba Význam volby -exact exaktní porovnávání řetězce se vzorem (implicitní nastavení) -glob porovnávání na základě jednodušší formy regulárního výrazu (jako v shellu) -regexp porovnávání na základě rozšířené formy regulárního výrazu (jako ve Vimu) Volby příkazu switch Iterační příkazy (cykly) while Základní a zcela univerzální smyčkou je while. while podmínka telo_smyčky Před prvním provedením smyčky se vyhodnocuje podmínka stejným způsobem jako u podmíněného příkazu if. Pokud je výsledkem vyhodnocení podmínky logická hodnota "true", vykoná se jedna iterace a řízení programu se vrátí na začátek smyčky, tj. na test podmínky. Pokud se je výsledkem vyhodnocení podmínky logická hodnota "false", pokračuje běh programu příkazem uvedeným za smyčkou. set i 1 while {$i<10 { puts $i set i [expr $i+1] příklad jednoduché smyčky, jejíž běh je řízen proměnnou i, kde se v každém kroku vypíše její hodnota. Smyčka se provede celkem devětkrát Jak je z předchozího příkladu patrné, pro zvýšení hodnoty proměnné i o jedničku se používá celkem složitého zápisu pomocí expr. V Tcl existuje příkaz incr, který zvýší či sníží hodnotu proměnné o zadané číslo. Pokud není žádné číslo v příkazu incr zadáno, zvýší se implicitně hodnota proměnné o jedničku. set i 1 while {$i<10 { puts $i incr i Zpětné počítání je jednoduché, postačí specifikovat záporný krok set i 10 while {$i { puts $i incr i -1 vypisuje čísla od deseti do jedné 8

9 for Kromě smyčky while je možné použít i "počítanou" smyčku for. for start test iterační_příkaz tělo_smyčky for {set i 1 {$i<10 {incr i { puts $i příklad jednoduché smyčky z minulého příkladu zapsané pomocí for, v každém kroku vypisuje hodnotu proměnné i, od jedné do devíti. V obou uvedených smyčkách je možné použít příkazy break a continue. Příkazem break se může smyčka v libovolném místě předčasně ukončit. Příkaz continue způsobí skok na začátek smyčky. foreach Pro průchod seznamem (viz. Strukturované datové typy) je samozřejmě možné použít smyčky while či for - stačí využít funkce llength a lindex. To však není příliš efektivní ani přehledné, proto byla Tcl obsahuje smyčku foreach, která se používá právě při práci se seznamy. foreach proměnná seznam tělo_smyčky Podobně jako u smyčky for se i zde používá řídicí proměnná. Tato proměnná však nenabývá číselných hodnot, ale jsou do ní postupně dosazovány jednotlivé prvky seznamu. foreach i {jedna dve tri ctyri { puts $i postupně vypíše slova jedna, dve, tri, ctyri Ve složitějších případech je možné použít i seznam názvů proměnných, do kterých se při běhu smyčky budou postupně dosazovat sousední prvky. foreach {i j { { puts "i= $i" puts "j= $j" postupně vypíše i= 1, j= 2.. i= 3, j= 4.. i= 5, j= 6 Poslední modifikací smyčky foreach je specifikace jedné či více proměnných, kde každá proměnná bude použita pro svůj vlastní seznam. foreach i {1 2 3 j {4 5 6 { puts "i= $i" puts "j= $j" výpíše postupně i= 1, j= 4...pokud by jeden seznam byl kratší než druhý bude výpisem prázdná hodnota 9

10 Strukturované datové typy Programovací jazyk Tcl umožňuje základní práci pouze se skalárními hodnotami. Vzhledem ke značné rozšiřitelnosti jazyka však není problémem pracovat i se strukturovanými datovými typy. Mezi tyto datové typy patří zejména asociativní pole a seznamy. Asociativní pole Tcl nepoužívá klasická pole indexovaná číselnými hodnotami, ale asociativní pole, kde je klíčem obecně libovolný řetězec. set pole(0) 100 set pole(1) 150 set pole(9) "hello world" puts $pole(0) puts $pole(1) puts $pole(9) Jak bylo zmíněno v předchozím odstavci, lze jako klíč použít libovolný řetězec, což je ukázáno na dalším příkladu s typickým využitím asociativních polí pro tvorbu velmi jednoduchého slovníku. set slovnik(pocitac) computer set slovnik(mys) mouse set slovnik(skok) jump Pole lze samozřejmě plnit i pomocí smyčky. while {$i<10 {set a($i) $i; incr i Pro práci s poli je k dispozici několik funkcí, z nichž ty nejvýznamnější jsou uvedeny v následující tabulce. Všechny funkce začínají příkazem array, který jako svůj první parametr vyžaduje název operace, jež se má s polem provést. Název funkce Význam funkce array get pole vrací všechny hodnoty klíčů i prvků pole array get pole vzor vrací všechny hodnoty klíčů i prvků pole, kde klíče odpovídají zadanému vzoru array names pole vrací všechny klíče (indexy) pole array names pole vzor vrací všechny klíče pole, které odpovídají zadanému vzoru array set pole seznam vytváří pole ze seznamu (indexuje se automaticky) provede ověření (predikát), zda existuje pole o zadaném názvu - vrací řetězec array exists pole 0 nebo 1 array size pole vrátí počet prvků v poli - vhodné pro počítané smyčky array set icolor { red 1 green 5 blue 4 white 9 puts $icolor(red) Vytvoří pole barev a jejich hodnot a vypíše hodnotu pro red 1. 10

11 Za povšimnutí stojí příkaz array get pole, kterým je možné převádět pole na seznam. Kromě výše zmíněných příkazů lze vyhledávat prvky v poli pomocí voleb startsearch, donesearch a nextelement. V některých případech je však vhodnější převést pole na seznam a procházet seznamem pomocí smyčky foreach. Seznamy Seznam se od polí liší zejména v tom, že jeho prvky mohou být libovolného typu, například další seznamy. Rekurzivním vkládáním seznamů do sebe lze z původně lineární datové struktury vytvořit například binární či n-ární strom. Seznam se vytvoří velmi jednoduše pomocí příkazu set. set seznam1 { set seznam2 { jedna dve tri ctyri pet sest set seznam3 { 1 {2 3 {4 5 {6 7 {8 Název funkce Význam funkce list vytvoření seznamu z argumentů, které jsou tomuto příkazu zadány concat spojení dvou a více seznamů llength získání počtu prvků v seznamu rozložení řetězce na seznam buď podle bílých znaků nebo podle specifikovaného split oddělovače join vytvoření řetězce spojením prvků seznamu, mezi něž se může volitelně vložit oddělovač lappend přidání jednoho či více prvků do seznamu linsert vložení jednoho či více prvků na danou pozici (index) lindex získání prvku ze seznamu na dané pozici (indexu) lreplace nahrazení prvků v seznamu lrange vyjmutí více prvků ze seznamu (souvislá oblast) lsearch hledání prvků v seznamu (možné i podle regulárních výrazů!) lsort setřídění prvků v seznamu podle zadaných kritérií Funkce pro práci se seznamy Práce s řetězci Regulární výrazy V Tcl jsou podporovány dva typy regulárních výrazů. První typ, nazývaný také glob matching, v mnohém odpovídá regulárním výrazům známým z unixového shellu. Druhý typ regulárních výrazů, který je složitější, zhruba odpovídá regulárním výrazům použitým v textovém editoru Vim, vyhledávací utilitě grep atd. V regulárních výrazech prvního typu se mohou vyskytovat následující zástupné znaky: Znak Význam znaku * libovolně dlouhá sekvence znaků? libovolný znak (pouze jeden) [...] libovolný znak ze zadané množiny (lze použít i interval) odstranění speciálního významu výše zmíněných zástupných \znak znaků další znaky další znaky se s řetězcem porovnávají bez dalšího zpracování Zástupné znaky v regulárních výrazech prvního typu (ala shell) 11

12 Regulární výrazy druhého typu jsou použity například v dále uvedených příkazech regexp a regsub. Možností pro specifikaci řetězců zde existuje více. Znak Význam znaku. libovolný znak * nula či více výskytů předchozí položky + jeden či více výskytů předchozí položky volba mezi dvěma výrazy (or) [...] libovolný znak ze zadané množiny (lze použít i interval) ^ začátek řetězce (uvnitř závorek funguje jako negace) $ konec řetězce \znak odstranění speciálního významu zástupného znaku další znaky další znaky se s řetězcem porovnávají bez dalšího zpracování Zástupné znaky v regulárních výrazech druhého typu (ala Vim) Název funkce Význam funkce vyhledání shody v řetězci podle zadaného regulárního výrazu (zde se používá regexp kompletní repertoár značek v regulárním výrazu) vyhledání shody v řetězci podle zadaného regulárního výrazu a zápis nového řetězce regsub do zadané proměnné funkce pracující s regulárními výrazy Volba Význam volby -all porovnání všech výskytů vzoru v řetězci -inline způsobuje, že výsledek funkce regexp je vrácen jako seznam -line zapíná rozšířené porovnávaní pro řetězce obsahující řádkování volby pro regexp a regsub set veta "Jenda Mrazek\nKarel Holy" puts [regexp all inline line "^.* " $veta] Vyrobí seznam a vypíše {Jenda {Karel set veta "jenda je proste jenda" regsub -all {jenda $veta cisco veta puts $veta Nahradí v řetězci v proměnné veta všechny výskyty jenda za cisco a vypíše cisco je proste cisco Funkce pro práci s řetězci Tyto funkce si můžeme rozdělit do dvou kategorií - funkce volané přímo svým jménem a "podpříkazy" funkce string. Nejprve si uvedeme, které funkce pro práci s řetězci je možné volat přímo: Název funkce Význam funkce append pomocí této funkce je možné přidat znaky na konec řetězce funkce pro manipulaci s řetězcem s mnoha dalšími volbami uvedenými v následující string tabulce format formátování řetězce ve stylu C-čkovské funkce printf() scan čtení hodnot z řetězce ve stylu C-čkovské funkce sscanf() Funkce pro práci s řetězci 12

13 set znaky 1 append znaky b puts $znaky Uloží do proměnné znaky 1 a přidá na jeho konec b, vypíše 1b set cena 10 set pocet 5 set nazev router puts [format "%ix %s za %.2fkc" $pocet $nazev $cena] Vypíše 5x router za 10.00kc set veta "Petr ma 20 let." scan $veta "%s %*s %d" jmeno vek puts [format "%s, %d" $jmeno $vek] Zpracuje řetězec z proměnné veta podle zadaného formátu a vypíše Petr, 20 funkce string V níže uvedené tabulce si uvedeme některé základní manipulace s řetězci, které lze provádět právě pomocí funkce string. Název funkce Význam funkce string length tato funkce vrací délku řetězce string index pomocí této funkce lze získat znak na určité pozici, přičemž první znak má index nula string first vyhledávání prvního podřetězce v řetězci a vrácení indexu jeho začátku string last vyhledávání posledního výskytu podřetězce v řetězci a vrácení indexu pozice začátku lexikografické porovnání dvou řetězců (odpovídá C-čkovské funkci strcmp(), výstupní string compare hodnoty jsou -1, 0 a 1) porovnání řetězce se vzorem, přičemž je možné použít zjednodušených regulárních string match výrazů (podobně jako v shellu, výstupní hodnoty jsou 0 nebo 1) tato funkce vrací podřetězec zvolený dvěma indexy. Místo horního indexu lze použít i string range slovo end (to se vyhodnotí jako expr [string length] -1) tato funkce vrací řetězec odpovídající původnímu řetězci, přičemž se provádí převod string tolower na malá písmena - minusky (funguje i pro češtinu) obdoba předchozí funkce s tím, že se zde provádí převod na kapitálky (opět string toupper podporuje češtinu) tato funkce vrací podřetězec, ze kterého jsou odstraněny vybrané počáteční a string trim koncové znaky string trimleft obdoba předchozí funkce s tím rozdílem, že se odstraňují pouze počáteční znaky string trimright odstranění pouze koncových znaků string wordstart tato funkce vrací index prvního znaku slova, které obsahuje zadanou pozici obdoba předchozí funkce, zde se však vrací index znaku, jež se nachází ihned za string wordend slovem Nejpoužívanější volby funkce string podrobněji puts [string length cisco] Vypíše délku řetězce cisco, 5 puts [string index cisco 1] Vypíše písmeno v řetězci cisco na indexu 1, i puts [string first c cisco] Vypíše index prvního výskytu c v řetězci cisco, 0 13

14 puts [string last c cisco] Vypíše index posledního výskytu c v řetězci cisco, 3 puts [string compare cisco Cisco] puts [string compare -nocase cisco Cisco] Vypíše výsledek porovnání řetězců cisco a Cisco, v prvním případě vypíše 1, protože má první řetězec větší váhu (pořadí písmen) než druhý, v druhém případě, za použití volby -nocase vypíše 0, protože se ignorují velká a malá písmena a řetězce jsou tedy stejné. puts [string match c* cisco] Vypíše 1, protože řetězec cisco začíná na c a následují libovolné znaky puts [string range cisco 1 2] Vypíše z řetězce cisco řetězec z intervalu indexu <1,2>, is puts [string toupper cisco] puts [string tolower CiscO] Vypíše CISCO a cisco puts [string trim xciscox x] puts [string trimleft xxcisco xx] puts [string trimright cisco,,] Ve všech případech vypíše cisco, pokud neuvedu řetězec, který chci odstranit, zpracovávají se standardně mezery. puts [string wordstart "xxl cisco" 5] puts [string wordend "xxl cisco" 5] Index odkazuje na písmeno i, v prvním případě nám vypíše index začátku slova obsahující zmíněné i cisco, 4, ve druhém index konce tohoto slova, 9. Poznámky k CISCO implementaci Pomocí příkazu exec můžeme provést příkaz v IOS v privilegovaném režimu. exec "show interfaces" Pro modifikaci konfigurace routeru se používá příkaz ios_config. Pro nastavení parametru v nějaké zanořené konfigurační části (např. změna stavu rozhraní), bude první parametr popisovat konfigurační část a druhý parametr aktuální příkaz z konfigurační části. ios_config "interface Ethernet 0/0" "no shutdown" ios_config "router bgp 1 address-family vpnv4" "neighbor activate" Pokud je první parametr příkazu ios_config, příkazem z globálního konfiguračního režimu, měli by jsme druhý parametr vynechat. ios_config "hostname RA" Jde provést i několik příkazů v jednom řádku. ios_config "interface loopback 111" "ip address " "description Test" "ip ospf cost 20" Pro automatizaci Tcl skriptů obsahuje IOS Embedded Event Manager, který poskytuje možnost monitorování událostí a provedení akcí po jejich vzniku. Pro využívaní balíčků, které EEM nabízí musí být skript spouštěn přes EEM (v TCL shellu tclsh nejsou dostupné). 14

15 Nejspíše z bezpečnostních důvodů nelze v EEM použít příkaz exec, místo něj se používá funkce cli_write. Funkce cli_write, která je dostupná pouze pokud skript spouštím přes EEM, funguje jako poslaní příkazu na příkazový řádek IOS. Pokud se tedy chci dostat např. do konfiguračního režimu, musím tam poslat příkazy postupně ("enable", "configure terminal" - funguje i zkrácený zápis "en", "config t"). Spouštění Tcl příkazů Postup spouštění jednotlivých TCL příkazů: 1. Vstup do privilegovaného EXEC režimu enable 2. (Volitelný) vstup do globálního konfiguračního módu configure terminal 3. (Volitelné) specifikování inicializačního skriptu, který se má spustit, když se aktivuje TCL shell (příkazem tclsh): scripting tcl init <url> 4. Opuštění globálního konfiguračního módu exit 5. Povolení interaktivního TCL shellu a vstup do Tcl konfiguračního módu, ve kterém je možno zadávat Tcl příkazy: tclsh 6. Zadání příkazu Tcl <tcl command> 7. Opuštění Tcl konfiguračního módu a návrat do privilegovaného EXEC režimu: exit Předefinovaný skript se spustí z privilegovaného EXEC režimu pomocí CLI příkazu tclsh device:skript.tcl (kde device je zařízení, na kterém je Tcl skript umístěn). skript Hello.tcl na serveru s IP adresou TFPT tclsh tftp:// /hello.tcl FTP tclsh ftp://user:password@ /hello.tcl Použité zdroje ROOT.cz - Seriál Programovací jazyk TCL Ulivelli, Kordas - Možností použití skriptování v jazyku Tcl v Cisco IOS CISCO - Cisco IOS Scripting with Tcl cl.pdf 15

16 Příklady Vypsání názvu všech BRI rozhraní oddělených čárkou 1. přechod do tcl shellu tclsh 2. vložení procedury proc get_bri { { set check "" set int_out [exec "show interfaces"] foreach int [regexp -all -line -inline "(^BRI\[0-9]/\[0-9])" $int_out] { if {![string equal $check $int] { if {[info exists bri_out] { append bri_out "," $int else { set bri_out $int set check $int return $bri_out 3. zavolání vložené procedury get_bri ping na zadané ip adresy, v případě, že je úspěšnost pingu menší než zvloená hodnota v procentech, provede se odeslání u na zadané ové adresy. Soubor pinger.tcl je uložen na tftp serveru (v naší ukázce má adresu ). 1. obsah souboru pinger.tcl ::cisco::eem::event_register_timer watchdog name pinger time $EEM_PINGER_INTERVAL package provide pinger 1.0 namespace import ::cisco::eem::* namespace eval ::pinger { # funkce, ktere jsou z balicku dostupne namespace export initialize sendmessage ping # vychozi hodnoty pro smtp array set ::pinger::sendmail { smtphost smtp.vsb.cz from router@vsb.cz friendly "Router A" # procedura pro zmenu vychozich hodnot smtp # smtphost smtp server # from adresa odesilatele # friendly jmeno odesilatele proc initialize {smtphost from friendly { variable sendmail if {[string length $smtphost] then { set sendmail(smtphost) $smtphost if {[string length $from] then { set sendmail(from) $from if {[string length $friendly] then { set sendmail(friendly) $friendly 16

17 # procedura pro odeslani u # tolist seznam prijemcu u # subject predmet u # body text u proc sendmessage {tolist subject body { variable sendmail set smtphost $sendmail(smtphost) set from $sendmail(from) set friendly $sendmail(friendly) if {[catch {socket $smtphost 25 result] { puts stdout "smtp socket opening error \[$smtphost:25\]" return -1 else { set sockid $result set status [catch { puts $sockid "HELO $smtphost" flush $sockid set result [gets $sockid] puts $sockid "MAIL From:<$from>" flush $sockid set result [gets $sockid] foreach to $tolist { puts $sockid "RCPT To:<$to>" flush $sockid set result [gets $sockid] puts $sockid "DATA " flush $sockid set result [gets $sockid] puts $sockid "From: $friendly <$from>" foreach to $tolist { puts $sockid "To:<$to>" puts $sockid "Subject: $subject" puts $sockid "\n" foreach line [split $body "\n"] { puts $sockid " $line" puts $sockid "." puts $sockid "QUIT" flush $sockid set result [gets $sockid] result] catch {close $sockid if {$status then { error $result "Sending ..." return 17

18 # procedura pro ping adresy # ad dress ip adr esa nebo hostname pro ping proc ping {address { if {[catch {cli_open result] { error $result "opening cli" else { array set cli $result if [catch {cli_exec $cli(fd) "ping $address" result] { error $result "executing cli command ping" else { set ping [regexp -line -inline "^Success.*$" $result] if [catch {cli_close $cli(fd) $cli(tty_id) result] { error $result "closing cli" set success -1 if {[string length $ping] { set f [expr [string first "is" $ping]+3] set l [expr [string first "percent" $ping]-2] set success [string range $ping $f $l] return $success # seznam prijemcu set tolist {nejedly@centrum.cz # seznam testovacich ip adres set iplist { homel.vsb.cz # pozadovana minimalni uroven uspechu pingu v procentech set pingthreshold 50 foreach ip $iplist { set rate [pinger::ping $ip] if {$rate < 0 { puts stdout "ping success error ($ip)!" elseif {$rate < $pingthreshold { puts stdout [format "%3i%% %s: below %i%%, sending " $rate $ip pingthreshold] pinger::sendmessage $tolist Warning "Ping success rate on address $ip is $ rate percent." else { puts stdout [format "%3i%% %s" $rate $ip] 2. přepnutí do privilegovaného režimu enable 3. zkopírování souboru pinger.tcl ze tftp serveru na adrese do flash paměti routeru copy tftp:// /pinger.tcl flash: 4. vstup do konfiguračního režimu configure terminal 5. nastavení cesty pro uživatelské tcl skripty EEM event manager directory user policy flash: 6. nastavení proměnné pro čas opakování pingu EEM_PINGER_INTERVAL na 30s event manager environment EEM_PINGER_INTERVAL přidaní skriptu do EEM a tím i jeho inicializaci event manager policy pinger.tcl 18

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!

Více

Cisco IOS TCL skriptování využití SMTP knihovny

Cisco IOS TCL skriptování využití SMTP knihovny Cisco IOS TCL skriptování využití SMTP knihovny Bc. Petr Hanták (han377), Bc. Vít Klimenko (kli307) Abstrakt: Úkolem tohoto projektu bylo zmapovat SMTP knihovnu pro odesílání emailových zpráv z Cisco směrovačů

Více

VŠB - Technická univerzita Ostrava

VŠB - Technická univerzita Ostrava VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Směrované a přepínané sítě Možností použití skriptování v jazyku Tcl v Cisco IOS 2007 Mario Ulivelli Jan Kordas

Více

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

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

Více

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

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

Multiple Event Support

Multiple Event Support Multiple Event Support Jan Miketa, Martin Hříbek Abstrakt: Tento projekt slouží k objasnění funkce Multiple Event Support, která v rámci Embedded Event Manageru umožňuje reagovat na složené události. Je

Více

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Příkaz switch Příkaz switch provede příslušnou skupinu příkazů na základě hodnoty proměnné (celočíselné

Více

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 WSH Windows Script Hosting OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 Co je skript? Skriptování nástroj pro správu systému a automatizaci úloh Umožňuje psát skripty jednoduché interpretované programové

Více

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

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44 Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251

Více

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

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -

Více

PSK3-9. Základy skriptování. Hlavička

PSK3-9. Základy skriptování. Hlavička PSK3-9 Název školy: Autor: Anotace: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Základy skriptování v unixovém shellu Vzdělávací oblast: Informační a komunikační technologie

Více

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk A7B38UOS Úvod do operačních systémů 6. Cvičení Příkazy sed a awk sed sed [přepínače] 'příkaz' [soubory] sed [přepínače] -f skript [soubory] Stream editor - edituje neinteraktivně jeden nebo více souborů.

Více

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

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy

Více

Možnosti reakce na události na rozhraních (Interface Events)

Možnosti reakce na události na rozhraních (Interface Events) Možnosti reakce na události na rozhraních (Interface Events) Lukáš Margeťák, Michal Zdařil Abstrakt: Tato práce se zabývá možnostmi reakcí na události, které vznikají na rozhraních. V první části je uveden

Více

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5 Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou

Více

Přednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4

Přednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4 1 Přednáška 4 Regulární výrazy. Filtry grep, sed a awk. 2 grep grep [přepínače] vzor [soubory] Implicitně vypíše na standardní výstup řádky, které obsahují zadaný vzor. Vzor může být definován základním

Více

Úvod do programování 6. hodina

Úvod do programování 6. hodina Úvod do programování 6. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Algoritmy Třídění pole: Selection

Více

Regulární výrazy. Filtry grep, sed a awk.

Regulární výrazy. Filtry grep, sed a awk. Přednáška 5 Regulární výrazy. Filtry grep, sed a awk. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2011 Příprava studijního programu Informatika je podporována projektem

Více

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů SPJA, cvičení 1 ipython, python, skripty základy syntaxe: základní datové typy, řetězce podmínky: if-elif-else, vyhodnocení logických výrazů cykly: for, while kolekce: seznam, n-tice, slovník funkce, list

Více

Stručný návod k programu Octave

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

Více

Programování v jazyce JavaScript

Programování v jazyce JavaScript Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond

Více

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

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

VISUAL BASIC. Práce se soubory

VISUAL BASIC. Práce se soubory VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní

Více

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8 Přednáška 8 Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. 1 Proměnné Jména nových proměnných by neměly kolidovat se jmény předdefinovaných proměnných.

Více

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

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:

Více

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20 Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................

Více

C2110 Operační systém UNIX a základy programování

C2110 Operační systém UNIX a základy programování C2110 Operační systém UNIX a základy programování 5. lekce Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno C2110 Operační systém

Více

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární

Více

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

Více

MAXScript výukový kurz

MAXScript výukový kurz MAXScript výukový kurz Díl čtvrtý jazyk MAXScript, část I. Jan Melichar, březen 2008 Jan Melichar (aka JME) strana 1 OBSAH ÚVOD... 4 ZÁKLADNÍ PŘÍKAZY... 5 OPERÁTORY... 6 PROMĚNNÉ... 6 POLE... 7 ZÁVĚREM...

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

První kapitola úvod do problematiky

První kapitola úvod do problematiky První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru

Více

Regulární výrazy. Vzory

Regulární výrazy. Vzory Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO

Více

PROGRAMOVÁNÍ V SHELLU

PROGRAMOVÁNÍ V SHELLU PROGRAMOVÁNÍ V SHELLU Prostředí, jazyk, zdrojový kód chceme-li posloupnost jistých příkazů používat opakovaně, případně z různých míst adresářové struktury, můžeme tuto posloupnost uložit souboru, který

Více

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Tvorba

Více

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

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19 Algoritmy I Cvičení č. 2, 3 1 ALG I, informace Cvičící RNDr. Eliška Ochodková, Ph.D., kancelář EA439 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející doc. Mgr. Jiří Dvorský, Ph.D., kancelář

Více

Základy IOS, Přepínače: Spanning Tree

Základy IOS, Přepínače: Spanning Tree Základy IOS, Přepínače: Spanning Tree Počítačové sítě 4. cvičení Semestrální projekt (1) Semestrální projekt (2) Struktura projektu: Adresní plán a konfigurace VLAN Směrování a NAT DNS server DHCP server

Více

VŠB Technická univerzita Ostrava Fakulta elektroniky a informatiky Směrované a přepínané sítě Semestrální projekt: TCL skriptování pod prvky Cisco

VŠB Technická univerzita Ostrava Fakulta elektroniky a informatiky Směrované a přepínané sítě Semestrální projekt: TCL skriptování pod prvky Cisco VŠB Technická univerzita Ostrava Fakulta elektroniky a informatiky Směrované a přepínané sítě Semestrální projekt: TCL skriptování pod prvky Cisco LS 2007 Aleš Ogrocký, Svatopluk Uličný Obsah 1. ÚVOD...

Více

Proměnné a parametry. predn_08.odt :00:38 1

Proměnné a parametry. predn_08.odt :00:38 1 Proměnné a parametry predn_08.odt 16.04.2007 14:00:38 1 Proměnné a parametry Jméno proměnné - identifikátor [a-za-z_][a-za-z_0-9]* Hodnota proměnné textový řetězec celočíselná hodnota - ne v sh Přesun

Více

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

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

Více

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

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

Více

Úvod do programování. Lekce 1

Úvod do programování. Lekce 1 Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -

Více

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Tabulkový procesor. Základní rysy

Tabulkový procesor. Základní rysy Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních

Více

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

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout.   tel: Skripta ke školení Základy VBA vypracoval: Tomáš Herout e-mail: herout@helpmark.cz tel: 739 719 548 2016 Obsah TROCHA TEORIE VBA...2 ZPŮSOB ZÁPISU VE VBA...2 CO JE TO FUNKCE...2 CO JE TO PROCEDURA...2

Více

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální

Více

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v

Více

Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou

Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou Příkaz expr Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou výraz1 výraz2 vrátí první výraz, pokud není nulový a není prázdným řetězcem, jinak

Více

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy Okruh č.4 Okruh č. 4 - vi, regulární výrazy, grep a sed verze 1.0.0-r2 inspirováno materiály Davida Hokszy Textové editory Okruh č.4 vi(m) prastarý textový editor (1976) dostupný v podstatě na každém UNIXovém

Více

Řídicí struktury. alg3 1

Řídicí struktury. alg3 1 Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení

Více

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová

Více

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond

Více

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

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

Více

Základy algoritmizace a programování

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

Více

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h> 9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte

Více

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_LIN.1.02 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 02- Zásady psaní a řetězení příkazů, jednoduchý skript DUM naučí žáky zásady práce s příkazy shellu BASH, zásady psaní

Více

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni! Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného

Více

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; } Pole Kdybychom v jazyce C++chtěli načíst větší počet čísel nebo znaků a všechny bylo by nutné všechny tyto hodnoty nadále uchovávat v paměti počítače, tak by bylo potřeba v paměti počítače alokovat stejný

Více

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Funkce, podmíněný příkaz if-else, příkaz cyklu for Funkce, podmíněný příkaz if-else, příkaz cyklu for Definice funkce Funkce je pojmenovaná část programu, kterou lze dále zavolat v jiné části programu. V Pythonu je definována klíčovým slovem def. Za tímto

Více

Skriptovací jazyky. Obsah

Skriptovací jazyky. Obsah Skriptovací jazyky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Co je to skriptovací jazyk? Výhody a nevýhody

Více

Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny

Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 Říjen 2012 2 Druhé vydání,

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

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

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

Více

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

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5 Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

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

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Kurz LSL skriptování. Shiny Iceberg 2009

Kurz LSL skriptování. Shiny Iceberg 2009 Kurz LSL skriptování Shiny Iceberg 2009 2 2 Kurz LSL skriptování Shiny Iceberg v Second Life od roku 2006 shiny.iceberg@virtualmagazine.cz Aktuální projekty virtualmagazine.cz Urbanica, Shinyland Bwindi

Více

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské

Více

Sekvenční a podmíněné provádění

Sekvenční a podmíněné provádění Programování v Bourne shellu Sekvenční a podmíněné provádění Sekvenční provádění znamená vykonávání jednoho příkazu za druhým bez ohledu na okolnosti. Pro oddělení příkazů při sekvenčním provádění se používá

Více

VLSM Statické směrování

VLSM Statické směrování VLSM Statické směrování Počítačové sítě 5. cvičení Dělení IP adresy na síť a stanici Třídy adres prefixový kód v prvním bajtu určuje hranici Podle masky podsítě (subnet mask) zleva souvislý úsek 1 v bin.

Více

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup

Více

--Různé-- Ovladače souborů Formáty Typeglob - záznamy z tabulky symbolů - různé typy objektů se stejným jménem: jmeno - @jmeno, %jmeno,&jmeno...

--Různé-- Ovladače souborů Formáty Typeglob - záznamy z tabulky symbolů - různé typy objektů se stejným jménem: jmeno - @jmeno, %jmeno,&jmeno... PERL ---Úvod--- Perl byl vytvořen pro zpracování textových dat. Programy v něm jsou krátké a srozumitelné. Vyznačuje se tím, že je možné jednu věc udělat více způsoby - připomíná lidský jazyk. Interpretovaný

Více

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

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

Více

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

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

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

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

Více

Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny

Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 OBSAH 1 Úvod...3 2

Více

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT; Programovací jazyk C(++) static struct vm_area_struct * unmap_fixup(struct mm_struct *mm, struct vm_area_struct *area, unsigned long addr, size_t len, struct vm_area_struct 1. *extra) Základy { struct

Více

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

ŘÍDÍCÍ STRUKTURY - PODMÍNKY ŘÍDÍCÍ STRUKTURY - PODMÍNKY Pokusíme se rozvětvit sktipt v Bashi ŘÍDÍCÍ STRUKTURY - PODMÍNKY V této lekci budeme probírat podmínkové, tj., které nám pomohou rozvětvit skript a provádět určité pouze při

Více

LEKCE 6. Operátory. V této lekci najdete:

LEKCE 6. Operátory. V této lekci najdete: LEKCE 6 Operátory V této lekci najdete: Aritmetické operátory...94 Porovnávací operátory...96 Operátor řetězení...97 Bitové logické operátory...97 Další operátory...101 92 ČÁST I: Programování v jazyce

Více

2 Datové typy v jazyce C

2 Datové typy v jazyce C 1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,

Více

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

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1 MQL4 COURSE By Coders guru www.forex-tsd.com -5 Smyčky & Rozhodnutí Part 1 Vítejte v páté lekci mého kurzu MQL4. Předchozí lekci si můžete stáhnout z tohoto odkazu: http://forex-tsd.com /attachment.php?attachmentid=399

Více

ČVUT FIT: BI-SKJ: Perl

ČVUT FIT: BI-SKJ: Perl ČVUT FIT: BI-SKJ: Perl J. Škvor, březen - duben 2011 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního 1 města Prahy. Praha

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Projekt VRF LITE. Jiří Otisk, Filip Frank

Projekt VRF LITE. Jiří Otisk, Filip Frank Projekt VRF LITE Jiří Otisk, Filip Frank Abstrakt: VRF Lite - použití, návaznost na směrování v prostředí poskytovatelské sítě. Možnosti řízených prostupů provozu mezi VRF a globální směrovací tabulkou.

Více

Assembler - 5.část. poslední změna této stránky: Zpět

Assembler - 5.část. poslední změna této stránky: Zpět 1 z 5 19.2.2007 7:52 Assembler - 5.část poslední změna této stránky: 9.2.2007 1. Pseudoinstrukce a direktivy Zpět Kromě instrukcí můžete v Assembleru psát také další konstrukce, které se obšem nepřekládají

Více