Opakování Co je výsledkem následujícího prográmku? my $a="kol"; my $b="o"; $a.= $b; $b.= $a; print "a = $a, b = $b\n"; Vkládání speciálních znaků? Uvozovací.

Slides:



Advertisements
Podobné prezentace
Standardní knihovní funkce pro práci s textovými řetězci
Advertisements

Pro začátek něco lehčího
ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Programování v C jazyku - SEMINÁŘ
Seznamy Seznam = očíslovaná posloupnost skalárů Zápis seznamu do kulatých závorek: ("máslo")# jednočlenný seznam (1,2,3)# seznam se 3 členy ("jedna",2,3,"osm",100,$pozdrav)
Programovací jazyk Perl
MS EXCEL rodné číslo na datum
VISUAL BASIC Práce se soubory.
Třída Array Je součásti balíčku java.util Účelem je usnadnit práci s poli Metody – nejpoužívanější equel(),fill(),sort() a binarySearch() equels() Slouží.
Algoritmy I Cvičení č. 2. Cíl hodiny Datové typy a přetypování (int, float, double, bool, char, long, short) Konstanty – Celočíselné Desítkové – 15, 0,
Algoritmy I. Cvičení č. 10.
Algoritmy I Cvičení č. 4.
Algoritmy I Cvičení č. 3.
Programování v Pascalu Přednáška 7
Materiály k přednášce Úvod do programování Ondřej Čepek.
Příklady z Matlabu 4 Příklady na řídící příkazy , IF , SWITCH , FOR , WHILE , příkazy vstupu a výstupu INPUT a DISP.
MATLAB® ( část 3 - scripty).
J a v a Začínáme programovat Lucie Žoltá pole řetězec debugr.
PHP PHP – základy syntaxe (část 1) - 03 Mgr. Josef Nožička IKT PHP
Tvorba uživatelských tiskových formulářů
Informatika I 3. přednáška
C# - znakové typy a řetězce
Podmíněné příkazy. Podmíněné funkce zastupuje: Podmíněné funkce zastupuje: funkce „když“ funkce „když“
C – strukturované příkazy
Datové typy a práce s nimi
Výpočetní technika Akademický rok 2010/2011 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Výpočetní technika Akademický rok 2009/2010 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
MS Excel Funkce 1. Příklad logické funkce: KDYŽ 2. MATEMATICKÉ FUNKCE 3. LOGICKÉ FUNKCE 4. TEXTOVÉ FUNKCE 5. STATISTICKÉ FUNKCE.
Proměnné v PHP Každý programovací jazyk pracuje s nějakými hodnotami. To, do čeho se tyto hodnoty ukládají, se nazývá proměnné. Každý programovací jazyk.
JavaScript Podmínky, cykly a pole.
Cvičení.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Využití vzorců a funkcí k úpravám v textu
Vzorec v buňce v tabulkovém procesoru Vzorec v buňce v tabulkovém procesoru Microsoft ® Excel Zpracovala : Dana Lišková 4.B
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Cvičení č. 8 Pokročilé regulární výrazy - na co je třeba dát pozor David Chudán Upravil D. Pejčoch.
UNIX — doplňky Informatika pro ekonomy II přednáška 9.
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_250 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Ing. Roman Bartoš Předmět Informatika.
13/04/20151 Indexery (1) Členy třídy (struktury) umožňující třídě (struk- tuře) používat hranaté závorky a pracovat s ní podobně jako s polem (používat.
KIV/PPA1 cvičení 9 Cvičící: Pavel Bžoch. Osnova cvičení Třída String a její metody –Řetězce a operace s nimi.
Pole Arrays.
MS Excel 2 Martin Kotlík Brno, 20. ledna 2015 Obsah předchozího semináře 1 1.Popis programu Excel 2.Základní dovednosti 3.Typy vkládaných dat 4.Formát.
Práce s řetězci Řetězec je libovolný text nebo libovolná skupina znaků. Řetězec se také označuje jako string. Činnosti prováděné s řetězci: Počítání znaků.
VISUAL BASIC PRALG.
PŘÍKAZ CYKLU S PODMÍNKOU NA ZAČÁTKU
4. Typ pole 4.1 Jednorozměrná pole
Ř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.
Podprogramy (subroutines) Pojmenované kousky programu, které –tvoří logicky ucelené části –se v programu opakují Jsou zapsány na jednom místě a v případě.
Fce VB - matematické Abs( výraz ) Fix( výraz ) Int( výraz) Sgn(výraz )
Programování KONSTANTY, ČTENÍ PO JEDNOM ZNAKU GETCHAR() FORMÁTOVANÝ VÝSTUP POMOCÍ PRINTF, VÝVOJOVÉ DIAGRAMY, CYKLY.
Programovací jazyk C# 2. část. Datové typy C# rozeznává dva druhy datových typů, hodnotové a referenční. Hodnotové datové typy Proměnné hodnotového datového.
Inf Cykly ve vývojových diagramech
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Algoritmizace a programování
Úvod do Pythonu – IO operace se soubory.
C# konzole – Podíl dvou čísel, podmínka IF
Úvod do programování 6. hodina
Algoritmizace a programování
Typový příklad 3 – zadání 1
Kurz algoritmizace a programování v jazyce C
Kurz algoritmizace a programování v jazyce C
Funkce výstupu (2) Funkce printf: deklarována v: stdio.h
Výukový materiál zpracován v rámci projektu
Řetězce (24) Funkce strchr: deklarována v: string.h
Programujeme lépe a radostněji
Pokus. konec.
Opakování ze 3. cvičení deklarace proměnných výpis na monitor (výstup)
Algoritmizace a datové struktury (14ASD)
Databázové systémy a SQL
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Opakování Co je výsledkem následujícího prográmku? my $a="kol"; my $b="o"; $a.= $b; $b.= $a; print "a = $a, b = $b\n"; Vkládání speciálních znaků? Uvozovací znaky

Operátor opakování x počet opakování předchozího řetězce print "POZOR! "x3, "\n"; print "Balonky na poušti:\nPozor kaktu"."s"x9,"\nCo říká"."š"x16,"\n"; Cvičení Použít u přímých kaktusových řečí uvozovky Použít u přímých kaktusových řečí uvozovky Uživatelem zadaný počet opakování s a š. Uživatelem zadaný počet opakování s a š.

Modifikátory - převod řetězců \unásledující písmeno na velké (upper) \lnásledující písmeno na malé (lower) \Unásledující skupina písmen na velká \Lnásledující skupina písmen na malá \Qpřed nealfanum. znaky v násl. skupině předsadí \ \Eukončuje skupinu pro \U, \L, \Q

Nejpoužívanější funkce na řetězcích chop - odstraní poslední znak řetězce chomp - odstraní konec řádku na konci řetězce length - počet znaků v řetězci uc / lc - převede na velká / malá písmena ucfirst / lcfirst - převede první písmeno na velké / malé chr(číslo) - vydá znak s daným kódem

Vyhledávání v řetězci index / rindex (kde, co, odkud) Hledá první / poslední výskyt řetězce co v řetězci kde. Výsledkem je index (pořadové číslo) prvního znaku nalezeného podřetězce Nenalezne-li se, výsledek je -1. Čísluje se od nuly ! Parametrem odkud můžeme zadat, od které pozice se má začít hledat, implicitně 0. $zacatekLesa = index("polesí","les") + 1;

substr(kde, odkud, kolik, nahraď) podřetězec kde - řetězec, z kterého se vybírá odkud - počáteční index v řetězci (od 0) - záporný se počítá od konce kolik - kolik znaků se má nahradit. - Chybí-li, vezme se zbytek do konce řetězce. Je-li záporný, tolik znaků zbyde do konce řetězce nahraď - řetězec, kterým se vybrané znaky nahradí substr("polesí",2);substr("polesí",2,3); substr("polesí",-4);substr("polesí",0,-2);substr("polesí",-3,-1);

Zaměňování podřetězců $x = "polesí"; substr($x,2,3,"vznáš"); výstupem je "les", ale v proměnné x je "povznáší" Jinak: substr($x,2,3) = "vznáš"; substr("polesí",-2,2,"z");.. chyba - pokus změnit konstantu! substr($x,-2,2,"z"); ?Co je výstupem, co v proměnné x?

Podmíněný příkaz Obecný běh programu: příkaz Větvení programu: podmínka blok 1blok 2 anone Příklad Podmínka: Budeš hodný? Ano: Dostaneš zmrzlinu Ne: Dostaneš na zadek

Pravda x nepravda Nepravda číslo 0 prázdný řetězec řetězec "0" prázdný seznam () nedefinovaná hodnota Pravda všechno ostatní, tedy i  řetězec "0.0"  mezera " " Standard: 1

Porovnávání hodnot - čísla Výsledek: nedefinovaná hodnota v případě nepravdy, 1 v případě pravdy print "Je 5 větší než 7?", 5>7, "\n"; print "Je 6 rovno 6?", 6==6, "\n"; print "2 není rovno 3?", 2!=3, "\n"; == rovnost != nerovnost > větší než < menší než >= větší nebo rovno než <= menší nebo rovno než Operátor -1 je-li a<b $a $b Výsledek 0 je-li a==b 1 je-li a>b

Porovnávání hodnot - řetězce eq - rovnost lt - menší než (less than) ne - nerovnost gt - větší než (greater than) ge - greater than or equal le - less than or equal print "Je pes větší než kočka?, "pes" gt "kočka", "\n"; print "Je kráva menší než kůň?, "kráva" lt "kůň", "\n"; Lze porovnávat i ASCII hodnoty pomocí funkce ord: Operátor cmp - obdobný ale pro řetězce print "Je ^ větší než %?, ord("^") > ord("%"), "\n";

Porovnávání smíšených hodnot ? Co se stane, když ? print "První porovnání: ", "sedm" eq "osm", "\n"; ? print "Druhé porovnání: ", "sedm" == "osm", "\n"; ? print "Třetí porovnání: ", "7" == "sedm", "\n"; ? print "Čtvrté porovnání: ", "7" eq "", "\n";  Číslo na začátku řetězce se zkonvertuje na číslo, zbytek řetězce se ignoruje  Nečíslo na začátku řetězce => celý řetězec se zkonvertuje na 0 "4a"  4 "034 67"  34 "a250"  0

Logické operátory && konjunkce || disjunkce ! zápor and or not xor POZOR na priority: Operátory v levé části mají větší prioritu než ty v pravé. RADA: Dávat výrazy do závorek, když si nejsme jisti. (I když jsme!! Je to většinou čitelnější)

Přednost (precedence) ** ! * / % x + -. = lt gt ge le == != eq ne cmp && ||, not and or xor Stejně je lepší používat závorky !!!

Příklady #!/usr/bin/perl use warnings; print "1: ", 6 > 3 && 3 > 4, "\n"; print "2: ", 6 > 3 and 3 > 4, "\n"; Co je výstupem z tohoto programu? ** ! * / % x + -. = lt gt ge le == != eq ne cmp && ||, not and or xor

Příkaz if $heslo = "sluníčko"; print "Napiš heslo:"; $h = ; chomp $h; if($heslo eq $h) {print "Trefa!\n";} else {print "Máš smůlu.\n";} Blok příkazů if (podmínka) { } elsif (podmínka) { } elsif (podmínka) { } else { } if(1) {print "To máme dnes ale hezky.\n";} else {print "Dnes je ošklivo.\n";}

Příkaz "if" - alternativy if (podmínka)... už známe if (podmínka)... totéž, ale nelze blok Příkaz se provede, když není splněna podmínka: unless (podmínka) if(not(podmínka)) and Příkaz 2 se provede, jestliže výsledkem první podmínky byla "pravda" or Příkaz 2 se provede, jestliže výsledkem první podm ínky byla "nepravda"

Cykly příkaz podmínka ne příkaz ano Nekonečný cyklus! – POZOR !! while("dokud je hezky") {print "Je hezky\n";}

Cyklus while while(podmínka) {blok příkazů} Dokud platí podmínka, provádějí se příkazy v bloku. until(podmínka) {blok příkazů} Dokud neplatí podmínka, provádějí se příkazy v bloku. Příklad: sčítání čísel od 1 do N $N = ( ); $NN = $N; $soucet = 0; while($N > 0) { $soucet += $N--; } print "Výsledek sčítání od 1 do $NN je: $soucet.\n";

while jinak do { blok příkazů } while (podmínka) Skoro ekvivalentní předchozímu zápisu, ALE podmínka se vyhodnocuje až na konci => blok příkazů se VŽDY aspoň jednou provede! POZOR!! $N =$NN= ( ); $soucet = 0; do { $soucet += $N--; } while($N > 0) print "Výsledek sčítání od 1 do $NN je: $soucet.\n";

Řízení cyklů Podmínka – hlavní ovládací prvek Do provádění cyklu lze zasáhnout i jinak: last = okamžité ukončení cyklu pokračování za cyklem next = vynechání zbytku těla cyklu pokračování na začátku cyklu novým vyhodnocením podmínky redo = vynechání zbytku těla cyklu pokračování na začátku cyklu bez vyhodnocení podmínky

Proměnná $_ Aktuální proměnná Použití při čtení dat Konstrukce while( ) opakovaný vstup od uživatele to, co uživatel zadá, se zapíše do proměnné $_ Vynechá-li se u některých (mnoha) funkcí argument, dosadí se automaticky proměnná $_ - výhoda i nebezpečí while( ) # do $_ se zapíše vstup {chomp; # odtrhne se \n z proměnné $_... další příkazy }