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

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

Doporučená literatura

Podobné prezentace


Prezentace na téma: "Doporučená literatura"— 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 Tabulkové kalkulátory
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 Překlad do strojového kódu (machine code) pomocí překladače
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 ve zvláštním souboru, který lze kdykoli později spustit jen v operační paměti počítače, spouští se hned a po dokončení se zapomene -- interpret

5 Interpret Strojový kód v souboru
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 Interpret Strojový kód v souboru

6 There's more than one way to do it !
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 To není algoritmus
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
01101 je v desítkové soustavě 577 0b1101 je v desítkové soustavě 13 1101 je normální desítkové číslo 1 101 ? Co je 1101 v šestnáctkové soustavě?

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 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 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 Obsah proměnné Skalární veličina, tedy číslo nebo řetězec $pi = -3.14
$pozdrav = "Dobrý den" Řetězec je v uvozovkách !

23 Typy čísel Integer (celé číslo) Floating point (racionální číslo)
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 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 Numerické operátory ** mocnina unární minus obracení znaménka
* / % násobení, dělení, zbytek + - sčítání, násobení Červená čísla vyjadřují přednosti (precedence). Chceme-li to jinak, použijeme závorky 3 + 5 * 4 je něco jiného než (3 + 5) * 4

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 Ř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" písmenka, číslice, i řídící znaky Uvozovací znaky (delimiters) = většinou uvozovky

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"; hradu $koncovka = "em"; $kmen = "hrad"; $tvar = $kmen . $koncovka"; print "$tvar\n"; 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 = <STDIN>; 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"

Podobné prezentace


Reklamy Google