Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Doporučená literatura P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995. ISBN 80-85849-83-6 Wall, L., Christiansen, T. and R. L. Schwartz:

Podobné prezentace


Prezentace na téma: "Doporučená literatura P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995. ISBN 80-85849-83-6 Wall, L., Christiansen, T. and R. L. Schwartz:"— Transkript prezentace:

1 Doporučená literatura P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha ISBN Wall, L., Christiansen, T. and R. L. Schwartz: Programming PERL. O'Reilly ISBN Vyšla i česky. Pavel Satrapa: Perl pro zelenáče, Neokortex, s.r.o. ISBN

2 Programování Přesné vyjádření našeho přání Rozmyšlení všech možných alternativ Dekompozice na elementární úlohy Zápis v příslušném jazyce Příklad: Smazat všechny soubory z počítače, kde se vyskytuje jméno zradivšího kamaráda.

3 Software programové vybavení počítače –operační systémy –aplikační programy Technické vybavení počítače Hardware Operační systémy MS DOS WINDOWS 9x, ME, Windows XP WINDOWS NT UNIX Aplikace Textové editory Tabulkové kalkulátory Kreslící programy Databáze WINDOWS 2000

4 Zápisu v programovacím jazyce (source code = zdrojový kód = zdroják) počítač nerozumí Překlad do strojového kódu (machine code) pomocí překladače Výsledkem je spustitelný program 1.ve zvláštním souboru, který lze kdykoli později spustit 2.jen v operační paměti počítače, spouští se hned a po dokončení se zapomene -- interpret

5 Pomalejší provádění kvůli počátečnímu překladu Je třeba program překládat pro každý nový stroj Nevýhody Snadná přenositelnost na jiné počítače, operační systémy Snadná modifikovatelnost Není třeba program pokaždé překládat - je to rychlejší Skrytý zdrojový kód Výhody InterpretStrojový kód v souboru

6 Perl je interpret perlovský program == skript (někdy) Potřeba překladače Překladač je volně šiřitelný Snadnost a přístupnost lidskému myšlení má své stinné stránky! Perlovské motto: There's more than one way to do it !

7 Program se skládá z příkazů (statement) Příkazy se mohou řadit do bloků (block) pomocí složených závorek {... } Příkaz obsahuje klíčové slovo (keyword) obsahující název funkce (a argument(y)) Program je dobré komentovat, abychom se v něm později vyznali. print "Ahoóój !"; # napřed všechny pozdravím

8 Příkaz v Perlu musí být zakončen středníkem (jsou výjimky, ale nebudeme se je učit). Příkazy mohou být zapsané těsně za sebou, ale nesluší se to Každý příkaz na nový řádek. Odsazovat bloky Komentář je cokoli za znakem # až do konce řádky a je překladačem ignorován.

9 Spuštění programu v Perlu Na příkazovou řádku napíšeme perl [jméno souboru] perl –w [jméno souboru] Volba –w –buď na příkazovou řádku –nebo na první řádku programu

10 Spuštění programu v Perlu První řádka programu: #!/usr/bin/perl, případně #!/usr/local/bin/perl Doporučuje se zapínat varovný přepínač, překladač potom upozorní nejen na chyby, ale i na nezvyklá užití #!/usr/bin/perl -w nebo přímo jménem #!/usr/bin/perl use warnings;

11 Ladění programu Málokdy se povede napsat program hned napoprvé dobře Odstraňování chyb = debugging (bug = štěnice nebo i jakýkoli hmyz) Nástroj na odstraňování chyb = debugger Kontrolní tisky

12 Algoritmus Algoritmus = postup práce Příklad: Smazat všechny soubory z počítače, kde se vyskytuje jméno zradivšího kamaráda. To není algoritmus Jak by asi vypadal příslušný algoritmus?

13 Znakové sady, kódování vnitřní reprezentace všech znaků v paměti počítače ASCII - American Standard Code for Information Interchange - viz např. jen 7 bitů Kolik znaků lze zakódovat pomocí 7 bitů?

14 ASCII řídicí znaky písmena anglické abecedy znaménka (<>;:"/, apod.) 7 bitů je málo ==> rozšíření na –8 bitů - znakové sady pro různé jazyky Čeština: ISO Latin2, Windows 1250, Kamenických –později 16 - Unicode –32 - ISO (International Organization for Standardization), Unicode znaků

15 UNICODE a jeho kódování UTF-8 –ASCII znaky mají stejný kód –nejčastější znaky jen v 1 bytu, ostatní ve 2 až 4 UTF-16 –kompromis mezi úsporností a kompaktností –nejčastější znaky ve 2 bytech, ostatní ve 4 UTF-32 –všechny znaky ve 4 bytech

16 UNICODE Standard Zodpovědný za interpretaci znaků Nedefinuje grafickou podobu znaků Prvních 128 znaků je ASCII Prvních 256 znaků ze sady ISO Latin 1 Jednoznačné pojmenování každého znaku Znaky se mohou (jenom) přidávat - stabilita

17 Číselné soustavy Dvojková soustava – Binary numbers bit = binary digit (dvojková číslice) 8 bitů = 1 byte - stačí k zakódování 255 znaků Pro odlišení - začínají 0b Osmičková soustava - Octal numbers = základ 8 Pro odlišení - začínají vždy nulou (0). Šestnáctková soustava - Hexadecimal numbers = základ 16 Číslice 0 – 9, pak písmenka A (10), B (11),..., F (15) Pro odlišení - začínají 0x.

18 Číselné soustavy - příklady je v desítkové soustavě 577 0b1101 je v desítkové soustavě je normální desítkové číslo ? Co je 1101 v šestnáctkové soustavě?

19 19 Konstanty a proměnné Konstanta = něco, co se nemění, je konstantní. (constant) Př. konstant: 4, -23, "pepř", "Ať žije král!" Proměnná = něco, co se mění, obsahuje data. (variable) – krabička, jejíž obsah lze měnit – dočasné uchování nějaké hodnoty

20 20 Název proměnné V Perlu začíná znakem $. Je utvořen z alfanumerických znaků a podtržítka. První znak za $ nesmí být číslice. Maximální délka 251 znaků Záleží na velikosti písmen ! Nesmí obsahovat mezery. Nepoužívat znaky s diakritikou !

21 21 Název proměnné - příklady Správně $pi $pozdrav $Pozdrav $Pozdrav_z_Prahy $b20 Špatně $10_j $proměnná x $jiná-proměnná $jina-promenna

22 22 Obsah proměnné Skalární veličina, tedy číslo nebo řetězec $pi = $pozdrav = "Dobrý den" Řetězec je v uvozovkách !

23 23 Typy čísel Integer (celé číslo) Floating point (racionální číslo) Integer Lze oddělovat tisíce podtržítky (jen pro čitelnost programu): (10 milionů = 10_000_000) Maximální číslo uložitelné v počítači: 32 bitů, tj Pro větší čísla je třeba použít zvl. modul.

24 24 Typy čísel Floating point (tzv. reálné číslo) čísla s desetinnou tečkou výsledky aritmetických operací s necelým výsledkem odmocniny (  2), další iracionální čísla (  ) Zaokrouhlování !POZOR!

25 25 Numerické operátory 1.**mocnina 2.unární minusobracení znaménka 3.* / %násobení, dělení, zbytek 4.+ -sčítání, násobení Červená čísla vyjadřují přednosti (precedence). Chceme-li to jinak, použijeme závorky * 4 je něco jiného než (3 + 5) * 4

26 26 Přiřazovací operátor = Není to rovnítko ! $pi = 3.14;$pozdrav = "Ahoj"; Vícenásobné přiřazení $f = $g = $k = 8; nebo dokonce $a = 5 * ($c = 2); výsledek: a je 10, c je 2 - nehezké $x = 5 * 6; $y = $x - 6; $z = $y / 8;

27 27 Řetězce Řetězec = (libovolně dlouhá) posloupnost libovolných znaků ohraničená z obou stran uvozovacími znaky Př.: "Dobrý den, agente 007" "Dobrý den\n" Uvozovací znaky (delimiters) = většinou uvozovky písmenka, číslice, i řídící znaky

28 28 Řetězcové operátory Zřetězení = konkatenace (concatenation) –přilepení jednoho řetězce na konec druhého –je-li třeba, číslo se převede na řetězec print "hrad"."u"; $koncovka = "em"; $kmen = "hrad"; $tvar = $kmen. $koncovka"; print "$tvar\n"; hradu print "Dvakrát pět je ".2*5.".\n";Dvakrát pět je 10.

29 Vstup a výstup - jen pro začátek Vstup - data, která zadáváme programu, aby je zpracoval diamantový operátor Výstup - data, která program vyprodukuje, výsledky print Standardní vstup - klávesnice Standardní výstup - obrazovka

30 Standardní vstup Diamantový operátor přečte jednu řádku ze vstupu $vstup = ; v proměnné $vstup je to, co zapíše uživatel na klávesnici, včetně znaku konce řádku Konec řádku: UNIX : "\n"line feed (LF) - chr(10) Windows : "\r\n" carriage return - chr(13) (CR LF) chomp($vstup); odstranění konce řádku z obsahu proměnné

31 Standardní výstup Soubor lze otevřít i pro výstup, ale to necháme na později Standardní výstup se otevře automaticky vždy print [seznam čísel a/nebo řetězců, oddělených čárkami] print "Dnes je krásně\n"; print "Dnes", " ", "je k", "rásn", "ě\n"; # totéž

32 Unixová odbočka - přesměrování standardního vstupu a výstupu Standardní vstup / výstup lze přesměrovat ze /do souboru Přesměrování vstupu < Přesměrování výstupu - > vytvoření souboru - >>přidání na konec existujícího souboru./tisk.perl > vystup.txt Výstup programu tisk.perl se zapíše do souboru vystup.txt. Pokud soubor už existoval, přepíše se.


Stáhnout ppt "Doporučená literatura P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995. ISBN 80-85849-83-6 Wall, L., Christiansen, T. and R. L. Schwartz:"

Podobné prezentace


Reklamy Google