Programování I. - paměť
- program pracuje se stavem, který se v průběhu běhu může měnit
- v procesoru se na uložení stavu používá RAM a registry
- to je v programovích jazycích abstrahováno pomocí proměnných
Proměnná
- pojmenovaná část paměti variabilní velikosti a struktury
- proměnným přiřazujeme identifikátory
- záleží na programovacím jazyku, ale v moderních jazycích může být jménem cokoliv (i smajlík)
- proměná může a nemusí mít definovaný pevný datový typ - opět záleží na jazyku
- JavaScript, Python, PHP, Ruby, ... - nevyžadují definici datového typu
- C, C++, Java, C# - definici vyžadují
- někdy je možné definovat proměnnou jako konstantu
- napomáhá kompilátoru s optimalizací
- nealokuje se kvůli tomu zbytečně paměť
Datové typy
- dělení
- elementární
- základní nejjednodušší typy
- strukturované
- mají nějakou složitější vnitřní strukturu
- nejčastejší základní typy
- boolean
- byte
- integer
- long integer - větší rozsah hodnot
- floating point numer
- character
- string - u nizsich jazyku patri k rozsirenym typum
- rozsirene strukturovane typy (muzou byt libovolne vnorene)
- pole (array) - n-tice s pevnou velikostí, obvykle může obsahovat jen jeden typ položek
- seznam (list) - podobné jako pole, ale nafukovací (nemá pevnou velikost)
- asociativni pole - datovy typ vyssi urovne, kam se uklada klic-hodnota
Konverze
- obvykle pomocí vestavěných funkcí programovacího jazyka
- v nižších jazycích je možné, podívat se na místo v paměti, kde je jedna proměná a přečíst to jako proměnnou jiného typu
- binárně je to stejná hodnota, může ale reprezentovat úplně něco jiného (např. byte → char)