Práce s textovými řetězci

Slides:



Advertisements
Podobné prezentace
VISUAL BASIC Práce s řetězci Použitá literatura: Kvoch: Visual Basic 4.
Advertisements

Funkce Asc, Chr každý znak kód v ASCI tabulce číslu odpovídá znak
Programování v Pascalu Přednáška 7
PHP FUNKCE DANIEL BEZNOSKOV. Seznam funkcí Strlen File Substr Trim File_exists Strrev Strtr.
VISUAL BASIC PRALG.
le chiffre indéchiffrable
Řetězce String. Co je to řetězec Jako řetězec označujeme pojmenovanou skupinu libovolných znaků Deklarujeme jej pomocí příkazu Délka řetězce není v tomto.
Fce VB - matematické Abs( výraz ) Fix( výraz ) Int( výraz) Sgn(výraz )
Kódování a šifrování Monoalfabetické šifry Polyalfabetické šifry
Excel – funkce Gymnázium a Jazyková škola s právem státní jazykové zkoušky Svitavy Ditta Kukaňová.
Počítačové sítě 8. Využití sítí © Milan Keršlágerhttp:// Obsah: ● sdílení v sítích.
ZAL – 5. cvičení Martin Tomášek Pole - opakování Základní datový typ. V poli držíme více elementů (jednoho typu) S elementy v poli můžeme manipulovat.
Řetězce v jazyce C ● řetězec je posloupnost znaků ● řetězcové konstanty se v C vkládají mezi uvozovky, např. "Ahoj Hugo!" ● v paměti je řetězec uložen.
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 6: Proměnné, jejich typy a práce s nimi Bc. Radek Libovický.
Software =je v informatice sada všech počítačových programů používaných v počítači, které provádějí nějakou činnost. - Software je protiklad k hardwaru,
Název projektu: ZŠ Háj ve Slezsku – Modernizujeme školu
Technické vybavení počítače - Počítač PC
Software počítače – opakování
Překladače 5. Syntaktická analýza
1. Tlačítko START 2. Podrobnější hledání 3. Zařízení a tiskárny 4
Tématické vyhledávání aneb nový Vyber.pm
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů
Tlačítko start Eva Kimlová.
Autor: Předmět: Ročník: Název: Označení: DUM vytvořen:
Vedoucí odboru strategického rozvoje města Vsetín
Překladače Lexikální analýza
Implementace steganografických algoritmů
Úvod do databázových systémů
Software počítače 1 - opakování
Databáze MS ACCESS 2010.
Překladače 4. Lexikální analýza
Grafika Prostředí picture
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Čtyřúhelník – obvod čtverce
Název: Práce s tabulátory Autor: Hokr Jan
Kódování a šifrování Tomáš Vaníček Stavební fakulta ČViT
Práce s řetězci Metoda Contain() - zjistí zda testovaný řetězec obsahuje určitý podřetězec Vrací True/False Úkol – zjistěte zda uživatel zadal do textového.
Index koincidence Metoda, která umožní zjistit bez dešifrování textu, zda byl text zašifrován monoalfabetickou šifrou, a popřípadě v jakém jazyce byl.
Název školy: Základní škola a mateřská škola Uhřice, okres Hodonín
Poměr v základním tvaru.
Výukový materiál zpracován v rámci projektu
Jak brouček sekal souček
SÁRA ŠPAČKOVÁ MARKÉTA KOČÍBOVÁ MARCELA CHROMČÁKOVÁ LUKÁŠ BARTOŠ B3E1
Výukový materiál zpracován v rámci projektu
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů
Procedury a Funkce v programovacím jazyce Pascal
Sekvencování DNA.
Příkaz MsgBox.
Popis výukového materiálu Název: PowerPoint
Stavební fakulta ČVUT, B407
Zabezpečení informace
Výukový materiál zpracován v rámci projektu
le chiffre indéchiffrable
Překladače Syntaktická analýza
Podprogramy.
Základy algoritmizace 3/13 příkaz cyklus, proměnná typu pole
MU002 Informatika II Základy algoritmizace 2/13
Základní komponenty počítače
Číslo projektu CZ.1.07/1.5.00/ Název projektu Pro žáky naší školy více – Na míru píšeme učebnice VY_32_INOVACE_VJ29 Excel – funkce Počet období.
Jednotky délky VY_32_Inovace_16 TK-1 Mgr
Přednáška 10 Uložené procedury.
Poměr v základním tvaru.
Průvodní list Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT   Vzdělávací materiál: Prezentace – zápis pro žáky Určen pro: 2. ročník oboru.
Náhodný jev, náhodná proměnná
Databázové systémy a SQL
Řetězce (1) Řetězec (string) je posloupnost znaků (hod-not typu char)
Algoritmizace a datové struktury (14ASD)
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Základní ovládání „Windows“
Autor: Mgr. Michal Přikryl
Transkript prezentace:

Práce s textovými řetězci

Spojování řetězců (konkatenace) Operátor & Vysledek = “úloha má jedno řešení: ” & x1

Délka textového řetězce Len(řetězec) Vrátí délku textového řetězce v počtu znaků. Příklad retezec = InputBox("zadej retezec") delka = Len(retezec) i = MsgBox(delka, , "delka retezce je")

Hledání v řetězci Vysledek = InStr([start],prohledávaný,hledaný) Vrací pozici prvního výskytu textového řetězce hledaný v textovém řetězci prohledávaný, nebo 0, není-li nalezen. Nepovinný číselný parametr start umožňuje začít prohledávání od dané pozice.

Příklady pozice1 = InStr("mistr střelmistr", "mistr") MsgBox (pozice1) MsgBox (pozice2) MsgBox (pozice3)

Ořezání mezer Vysledek = Trim(řetězec) Odstraní z textového řetězce všechny úvodní a koncové mezery. Příklad retezec = (" blb ") MsgBox (Len(retezec)) MsgBox (Len(Trim(retezec)))

Získání části řetězce Vysledek = Left(řetězec,n) Vrátí z řetězce n znaků zleva. Vysledek = Right(řetězec,n) Vrátí z řetězce n znaků zprava. Vysledek = Mid(řetězec, začátek,délka) Vrátí z textového řetězce od zadané pozice určitý počet znaků.

Příklad retezec = ("Byl pozdní večer první máj") prvni = Left(retezec, 3) druhy = Right(retezec, 3) treti = Mid(retezec, 3, 3) cast = "večer" ctvrty = Mid(retezec, InStr(retezec, cast), Len(cast)) MsgBox (prvni & vbCrLf & druhy & vbCrLf & treti & vbCrLf & ctvrty)

Převod na velká a malá písmena Vysledek =LCase(řetězec) Převede textový řetězec na malá písmena. vysledek=UCase(řetězec) Převede textový řetězec na velká písmena. Příklad mala = LCase("ABCD") velka = UCase("abCd") MsgBox (mala & vbCrLf & velka)

Převod mezi znaky a jejich ASCII hodnotou Vysledek = Asc(znak) Vrátí ASCII hodnotu znaku. Vysledek = Chr(číslo) Vrátí znak odpovídající jeho ASCII hodnotě Příklady MsgBox (Asc("a")) MsgBox (Chr(99)) MsgBox (Asc("a") - Asc("A")) MsgBox (Chr(Asc("a")))

Cézarovská šifra f(x)=x+k mod N KLÍČ K = 3 B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Cézarovská šifra f(x)=x+k mod N KLÍČ K = 3 Tento text bude zasifrovan Cezarovskou sifrou s klicem k rovnym 3. Whqwr whaw exgh cdvlhurydq Fhcduryvnrx vlivrx v nofhp a uryqbp 3. ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC

Příklad retezec = InputBox("Zadej řetězec pro šifrování", "Cézarova šifra") klic = InputBox("Zadej klíč", "Cézarova šifra") Vlastní šifrování Cézarovskou šifrou blb = MsgBox(vysledek, , "Cézarovská šifra")

Vlastní šifrování Cézarovskou šifrou delka = Len(retezec) vysledek = "" For i = 1 To delka znak = Mid(retezec, i, 1) Zašifrování 1 znaku  do proměnné novy_znak vysledek = vysledek & novy_znak Next i

Zašifrování 1 znaku  do proměnné novy_znak kod = Asc(znak) If (kod >= Asc("a")) And (kod <= Asc("z")) Then Pokud je to malé anglické písmeno, šifruji Else novy_znak = znak End If

Pokud je to malé anglické písmeno, šifruji novy_kod = kod + klic If novy_kod > Asc("z") Then novy_kod = novy_kod - 26 End If novy_znak = Chr(novy_kod)

Celý program retezec = InputBox("Zadej řetězec pro šifrování", "Cézarova šifra") klic = InputBox("Zadej klíč", "Cézarova šifra") delka = Len(retezec) vysledek = "" For i = 1 To delka znak = Mid(retezec, i, 1) kod = Asc(znak) If (kod >= Asc("a")) And (kod <= Asc("z")) Then novy_kod = kod + klic If novy_kod > Asc("z") Then novy_kod = novy_kod - 26 End If novy_znak = Chr(novy_kod) Else novy_znak = znak vysledek = vysledek & novy_znak Next i blb = MsgBox(vysledek, , "Cézarovská šifra")

Vigenérovská šifra Klíč: posloupnost (konečná, ne moc dlouhá) hodnot K1, K2, …, Km z intervalu 0..n-1 (m délka klíče). Šifrování f(a1) = a1 + K1 mod n f(a2) = a2 + K2 mod n … f(am) = am + Km mod n f(am+1) = am+1 + K1 mod n ….

Praktická realizace Klíč = heslo Slovo, nebo krátká posloupnost znaků v abecedě.

Vigenérovský čtverec A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

Příklad Text: rubikon prekrocime zitra rano Heslo: cezar A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Text: rubikon prekrocime zitra rano Heslo: cezar rubikon prekrocime cezarce zarcezarce tyaibqr orvmvnczoi zitra rano zarce zarc yikte qaeq

Úkol Upravte program tak, aby šifroval Vigenérovskou šifrou s heslem, které bude zadávat uživatel Jednodušší varianta: heslo bude mít pevnou délku (například 5) Ještě jednodušší varianta: I samotné heslo bude pevné (například cezar)