Odkaz (reference)‏ Skalární proměnná, která obsahuje adresu jiné proměnné Adresa je místo v paměti počítače, kam se ukládají data. Odkaz je skalární proměnná,

Slides:



Advertisements
Podobné prezentace
Základní typy rozdělení pravděpodobnosti diskrétní náhodné veličiny
Advertisements

Standardní knihovní funkce pro práci s textovými řetězci
Obchodní akademie a Střední odborná škola, gen. F. Fajtla, Louny, p.o.
Výsledný odpor rezistorů spojených v elektrickém poli za sebou
Počítače a programování 1 Přednáška 13 Jiří Šebesta.
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
Programování funkcí v Excelu (pole)
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)
Programování 2 Cvičení 5.
Visual Basic POLE. 2 POLE Pole - je řada prvků označených indexem Například: řada čísel, které spolu nějak souvisejí řada známek jednoho studenta řada.
DATOVÝ TYP POLE.
25/08/20141 Typ struktura (1) Datový typ struktura ( struct ) je agrego- vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou.
Strukturované datové typy
Programování v Pascalu Přednáška 6
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Cvičení 2 Proměnné(jednoduché a složené) a konstanty První program Zápis výrazů.
UŽITEČNÉ PROGRAMY – MŮJ PRVNÍ SKRIPT Spustíme více prográmků najednou. SPŠ Teplice - 3.V.
Principy překladačů Mezikód Jakub Yaghob.
Materiály k přednášce Úvod do programování Ondřej Čepek.
J a v a Začínáme programovat Lucie Žoltá pole řetězec debugr.
Ekvivalentní úprava rovnic
Datové struktury. 2 Co je datová struktura v C datový typ složený z jiných datových typů nejjednodušší datová struktura je pole. všechny jeho prvky jsou.
Dynamika rotačního pohybu
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
FUNKCE V PHP. 2 FUNKCE JSOU V PODSTATĚ MALÉ KUSY SKRIPTŮ, KTERÉ JE MOŽNÉ OPAKOVANĚ POUŽÍVAT. Příklad
AZ - KVÍZ Procvičení procent
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ.1.07/1.4.00/ Šablona:III/2č. materiálu: VY_32_INOVACE_61.
- VYJADŘUJÍ ČÁST Z CELKU - PŘIČEMŽ CELEK JE VŽDY 100 %
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
Střední škola Oselce Škola: SŠ Oselce, Oselce 1, Nepomuk, Projekt: Registrační číslo: CZ.1.07/1.5.00/ Název: Modernizace.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Současný svět Projekt č. CZ /3. 1
Střední odborné učiliště Liběchov Boží Voda Liběchov Registrační číslo projektu: CZ.1.07/1.5.00/ Šablona:IV/2 Inovace a zkvalitnění výuky.
A1PRG - Programování – Seminář Ing. Michal Ukazatele a pole 10 Verze
Počítače a programování 1
JavaScript Podmínky, cykly a pole.
Unifikovaná architektura databáze Katsiaryna Chernik.
Proměnná typu "pole" Mezi proměnné typu "pole" patří všechny superglobální proměnné. Mezi proměnné typu "pole" patří všechny superglobální proměnné. To.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
Tento Digitální učební materiál vznikl díky finanční podpoře EU- OP Vzdělávání pro konkurenceschopnost. Není –li uvedeno jinak, je tento materiál zpracován.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
JavaScript Funkce.
Tlačítka akcí. Do prezentací můžeme vkládat tzv. tlačítka akcí.
Gymnázium prof. Jana Patočky Jindřišská Praha 1 „Praha & EU: Investujeme do vaší.
NEÚPLNÁ PODMÍNKA V JAVĚ. VÝVOJOVÝ DIAGRAM +- Podmínka Příkaz_1.
OSNOVA: a)Funkce – úvod b) Hlavičky funkcí c) Rekurze funkcí d)Knihovny funkcí e)Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Ukazatele BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
Shrnutí Chceme–li připojit PC k Internetu musíme: 1.Zadat adresu DNS serveru (začne pracovat převod IP adresa  symbolické jméno), prakticky začne fungovat.
STRING A UKAZATELE. Co to je řetězec? Řetězec v Javě je samostatný objekt. Je konstantní, co znamená, že jednou vytvořený řetězec nelze změnit. Chceme-li.
Problémy s češtinou České znaky se standardně nepovažují za alfanumerické znaky (\w) Vadí to při třídění vyhodnocování regulárních výrazů Je třeba použít.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
PŘÍKAZ CYKLU S PODMÍNKOU NA ZAČÁTKU
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
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ě.
WWW a HTML Základní pojmy Ivo Peterka.
Typ struktura (1) Datový typ struktura (struct) je agrego-vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou mít různé datové.
Programovací jazyk C# 4. část - cykly.
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Definiční obor a obor hodnot
WWW a HTML Základní pojmy Ivo Peterka.
Algoritmizace a programování
Oblast platnosti identifikátoru (1)
Typ pole (1) Proměnná typu pole představuje kolekci proměnných stejného datového typu, které mohou být označovány společným jménem (identifikátorem) Pole.
Dělitelnost přirozených čísel
C# přehled vlastností.
Transkript prezentace:

Odkaz (reference)‏ Skalární proměnná, která obsahuje adresu jiné proměnné Adresa je místo v paměti počítače, kam se ukládají data. Odkaz je skalární proměnná, i když odkazuje na pole nebo hash. Použití vícerozměrná pole anonymní proměnné (beze jména)‏ složité datové struktury

Vytvoření odkazu Pomocí zpětného lomítka před jménem proměnné: my ($a,$b,$c) = (1,11,111); # odkazy lze ukládat do polí: = (\$a,\$b,\$c); # nebo i \($a,$b,$c) $c 111 $cislo_ref adresa my $c = 111; my $cislo_ref = \$c; print $$cislo_ref; # tzv. dereference

Vytvoření odkazu na pole a hash Stejně - pomocí zpětného lomítka před jménem: = (1,2,3,4,5); my $pole_ref = my %slovnik = (jablko =>"apple", broskev =>"peach"); my $slovnik_ref = \%slovnik; HASH(0x80640a4) ARRAY(0x8063ff0) SCALAR(0x80809f0)‏ Jediné rozumné použití – porovnání, zda dva odkazy ukazují na stejné místo v paměti pomocí ==. Odkazy jsou obyčejné proměnné, lze je tedy i vytisknout. print "$slovnik_ref $pole_ref $cislo_ref\n";

Vnořená pole = (10,20,30,40); = = (100,200,300,[1,2,[10,20,30,40],3,4],400); #anonymně za chvíli

Anonymní odkazy Místo = (1,2,3,4,5); my $pole_ref = můžeme rovnou napsat: my $pole_ref = [1,2,3,4,5]; teď neexistuje, ale odkaz na něj ano. Podobně místo my %slovnik = (jablko =>"apple", broskev =>"peach"); my $slovnik_ref = \%slovnik; můžeme rovnou napsat: my $slovnik_ref ={jablko =>"apple", broskev =>"peach"};

Dereference Hodnotu uloženou na adrese, na niž ukazuje nějaký odkaz, získáme pomocí složených závorek {} (nepovinné, ale jinak nepřehledné): = (1,2,3,4,5); my $pole_ref = print foreach {print "Prvek: $_\n";} $pocet = $#{$pole_ref} + 1; print "Počet prvků pole je $pocet.\n"; print "3. prvek pole pole je $pole[2]\n"; print "To samé pomocí odkazu: ${$pole_ref}[2]\n";

Data a odkazy na ně Cokoli se provádí s odkazy na data, provádí se s daty samotnými. 2 různé přístupy k témuž. Víc odkazů na stejná data, všechny je ovlivňují stejně. # Vymazání prvku pole = (1,2,3,4,5); my $pole_ref = my $ref2 = $pole_ref; # totéž jako nebo Totéž platí i pro anonymní odkazy my $ref = [1,2,3,4,5];

Pár příkladů Co Pavel Monika)]} Co udělá tento prográmek? my %pady = (1=>"nominativ",2=>"genitiv",3=>"dativ"); my $ref = \%pady; foreach(keys %{$ref}) { print "Key: $_ $pady{$_} ${$ref}{$_}\n";}

Šikovná zkratka my $ref = [1,2,[10,20,30]]; print "${$ref}[2]","\n"; print ${${$ref}[2]}[1],"\n"; ${$odkaz} $odkaz-> print "$ref->[2]","\n"; print ${$ref->[2]}->[1],"\n"; print $ref->[2]->[1],"\n"; my $pady_r = {1=>"nominativ", 2=>"genitiv", 3=>"dativ")}; foreach(keys %{$pady_r}) { print "$_ ${$pady_r}{$_}\n";} print "$_ $pady_r->{$_}\n";

Odkazy jako parametry podprogramu Parametry podprogramu se ukládají do 2 parametry typu pole se "zploští" do jednoho pole Podprogramu se nepředají hodnoty polí, ale odkazy na pole, tedy skalární hodnoty. Podprogram si hodnoty přečte z adres, které dostal jako parametry Podobně lze předávat odkazy na hashe Odkazy mohou tvořit i výstupní hodnoty podprogramů.

#!/usr/bin/perl = (1,2,3); = (10,20,30); print sub secti { for(my $i=0; $i<=$#c1; $i++) { $v[$i] = $c1[$i] + $c2[$i]; }

#!/usr/bin/perl = (1,2,3); = (10,20,30); my $r_v; $r_v = print sub secti { my ($r1,$r2) for(my $i=0; $i<=$#{$r1}; $i++)‏ { $v[$i] = $r1->[$i] + $r2->[$i]; } return }

#!/usr/bin/perl = (1,2,3); = (10,20,30); print sub secti { for(my $i=0; $i<=$#c1; $i++) { $v[$i] = $c1[$i] + $c2[$i]; } #!/usr/bin/perl = (1,2,3); = (10,20,30); my $r_v; $r_v = print sub secti { my ($r1,$r2) for(my $i=0; $i<=$#{$r1}; $i++) { $v[$i] = $r1->[$i] + $r2->[$i]; } return }