Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem [Pascal] Datové typy

Dobrý den, chtěl bych začít s programování je mi 12 let... Chci začít v Pascalu, ale nemůžu pochopit co jsou to datové typy :( :'( Nemůže mi to někdo co nejvíce laitsky vysvětlit ? Děkuji mooooc :)
Změna předmětu, původně: Datové typy (JaFi)

Předmět Autor Datum
maminka má doma určitě kořenky: pepřenku solničku papriku bobkový list všimni si že, každá z těch…
touchwood 28.06.2013 15:34
touchwood
říkal jsem, že je mi 12 ne 5 :D Ale moc děkuju... Jenže bych potřeboval vědět (je to moje vina nezmí…
patas11 28.06.2013 15:44
patas11
Ked si nadefinujes nejaku premennu napr. Integer X tak tym rezervujes miesto v pamati pre nejaku cel…
MM.. 28.06.2013 15:45
MM..
nejsem si jist, že je operand "/" pro integer definovaný, tam se snad používá div a mod. edit: ale…
touchwood 28.06.2013 15:50
touchwood
Je, ale vysledkem je real, takze 3,333333 ;-)
Jan Fiala 28.06.2013 15:57
Jan Fiala
to je jasné, spíše si nejsem jistý, zda dojde k automatickému přetypování. edit: a zpětné konverzi d…
touchwood 28.06.2013 15:59
touchwood
Ne, ke zpetne konverzi nedojde, skonci to chybou kompilatoru, ze cpes real do integer. V tomhle je P…
Jan Fiala 28.06.2013 16:02
Jan Fiala
no právě, že se mi cosik o tom vybavilo, že to nebyl žádný Bára Basic nebo vitamín C. :-)
touchwood 28.06.2013 16:03
touchwood
celociselne delenie ma urcite aj pascal. Je to jedna z najzakladnejsich operacii vo vypoctiovej tech…
MM.. 28.06.2013 16:06
MM..
Jasne, ale to je celociselne deleni - DIV a MOD jako zbytek po celociselnem deleni Ale pokud to napi…
Jan Fiala 28.06.2013 18:08
Jan Fiala
V Pascalu možná, ve spoustě jiných jazyků se to vydělí celočíselně. poslední
Wikan 28.06.2013 18:38
Wikan
datový typ = formát dat: číslo celé, číslo reálné, byte, znak, string (řetězec), pascal jich má spou…
touchwood 28.06.2013 15:46
touchwood
Aha takže datový typ je formát data ? Jestli ano tak jsem to pochopil...
patas11 28.06.2013 15:49
patas11
ano. edit: ovšem nikoli "vizuální" formát dat, ale způsob jejich reprezntace v paměti počítače. Pro…
touchwood 28.06.2013 15:50
touchwood
Ne data (datum), ale dat. Napr. promenne jsou urciteho typu (datoveho typu). Jmena budes ukladat do…
Jan Fiala 28.06.2013 15:56
Jan Fiala
google a citat vysledky si este neskusal? Datov%C3%BD_typ Rozdeluje sa to preto lebo napr. 10 delen…
MM.. 28.06.2013 15:38
MM..
obávám se, že 12-letý kluk zpracovaný současným školským systémem to takto nepochopí ;-)
touchwood 28.06.2013 15:41
touchwood
Ja viem ale aspon to bude mat na pamati ze aha dakto daco take pisal ked sa bude divit neskor ze 2mi…
MM.. 28.06.2013 15:43
MM..

maminka má doma určitě kořenky:

pepřenku
solničku
papriku
bobkový list

všimni si že, každá z těch nádobek má úplně jiný tvar vysypávacího otvoru - solnička spoustu dírek, pepřenka jen jednu, paprikáš má malou lžičku a bobkový list zase běžné víčko.

No a to je i princip datových typů, fungují jako ty kořenky. Do jednoho "pasují" jen celá čísla, jiný je předchystán na čísla reálná, třetí zase akceptuje znaky, čtvrtý akceptuje řetězec textu.

datový typ = formát dat: číslo celé, číslo reálné, byte, znak, string (řetězec), pascal jich má spoustu, některé se překrývají
data = samotný obsah definovaný formátem dat alias datovém typu
proměnná = kus paměti v počítači, ve kterém jsou umístěna data v předem datovém typu

Ne data (datum), ale dat.
Napr. promenne jsou urciteho typu (datoveho typu). Jmena budes ukladat do datoveho typu string (retezec), cislo domu do typu Integer (cele cislo), rozmery treba to typu real (obecne cislo s desetiinou carkou).
Pak existuji datove typy TDateTime, Boolean, char, ...

Musis zvolit spravny datovy typ pro data, se kterymi chces pracovat.

google a citat vysledky si este neskusal? Datov%C3%BD_typ

Rozdeluje sa to preto lebo napr. 10 delene 3 moze byt aj 3 ak su vsetky tie premenne typu integer. Keby boli typu float tak bude vysledok presny (3,333333333).
Hlavne sa to odlisuje preto lebo odlisne typy sa odlisnym sposobom ukladaju do pamate a odlisnym sposobom spracovavaju v CPU (napr. praca s integermi je 10x rychlejsia a jednoduchsia). Pri kazdom type je nutne mat na pamati hranicne hodnoty daneho typu, nemozes do integeru ulozit akekolvek cislo, ptz to by potom neslo spracovavat hardwarovo, takze ak u integeru urobis 2miliardy plus 3miliony, tak z toho vznikne minus 2miliardy ptz to "pretieklo" cez maximalnu hodnotu integeru (32bitoveho). Preto ak chcem robit s napr. velkymi cislami tak potrebujem pouzit iny datovy typ (a ak cloveka napadne ze sak pouzijem float tak je nutne mat na pamati zas to ze mantisa ma tiez obmedzeny pocet bitov takze pri velmi velkych cislach zacnu vznikat nepresnosti)

Zpět do poradny Odpovědět na původní otázku Nahoru