Právě je úte 22. kvě 2012 11:19:11
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[HELP] NHL 09 od MajkX
HRAJMINERCAFT.CZ - IndustrialCraft, BuildCraft, RedPower od MajkX
[OCHRANA] FS Control [Identifikovac hack prikazov] od Om3n
[Hlasovanie] Pridanie teamov do PICH od MajkX
[Ms 2012] NHL 2009 Remake od MajkX

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 
Autor Zpráva
 Předmět příspěvku: [TuT] Matematické operátory
PříspěvekNapsal: ned 13. lis 2011 11:54:44 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

Matematické operátory

Obtížnost: ObrázekObrázekObrázekObrázekObrázek



Obsah
  • Úvod
  • Aritmetické operátory
  • Porovnávací operátory


Úvod
Operátory se dělí na aritmetické, které hodnotu přiřazují nebo porovnávací, u kterých se hodnota zjišťuje a porovnává. Využíti Aritmetických operátorů je všude, kde kalkulujete s různými hodnotami. Naopak využití Porovnávacích operátorů je většinou v podmínkách nebo cyklech.



Aritmetické operátory
Tyto operátory fungují stejně jako v matematice.
V Pawn k nim existuje 5 operací:
  • Sčítání
  • Odčítání
  • Násobení
  • Dělení
  • Zbytek po dělení


Sčítání
Ke sčítání existuje operátor +. Použití je velice jednoduché.
Kód:
new Vysledek = 10 + 5;
Hodnota proměnné "Vysledek" je 15.


Odčítání
Teorie asi bude zbytečná, stačí když napíšu, že k němu slouží operátor -
Kód:
new Vysledek = 10 - 5;
Hodnota proměnné "Vysledek" je 5.


Násobení
Operátor: *
Kód:
new Vysledek = 10 * 5;
Hodnota proměnné "Vysledek" je 50.


Dělení
Operátor: /
Kód:
new Vysledek = 10 / 5;
Hodnota proměnné "Vysledek" je 2.



Porovnávací operátory
Jak už jsem psal výše, porovnávací operátory se většinou využívají v podmínkách a cyklech. Existují tyto typy:
  • Rovnost
  • Nerovnost
  • Je větší, je menší
  • Je větší nebo rovno, je menší nebo rovno
  • A zároveň
  • Nebo
  • Negace


Rovnost
Operátor: ==
Porovnávané hodnoty se musí rovnat, poté je podmínka splněna.
Kód:
new Hodnota = 20;

if(
Hodnota == 20)
Podmínka je splněna, protože hodnoty jsou si rovny.


Nerovnost
Operátor: !=
Porovnávané hodnoty se nesmí rovnat, poté je podmínka splněna.
Kód:
new Hodnota = 20;

if(
Hodnota != 20)
Podmínka není splněna, protože hodnoty jsou si rovny.


Je větší, je menší
Operátor: > (nebo) <
První porovnávaná hodnota nesmí být větší/menší než druhá porovnávaná hodnota
Kód:
new Hodnota = 20;

if(
Hodnota > 30)
Podmínka není splněna, protože druhá hodnota je větší než první.


Je větší nebo rovno, je menší nebo rovno
Operátor: >= (nebo) <=
První porovnávaná hodnota nesmí být větší/menší než druhá porovnávaná hodnota.
Musíte dodržet pořadí znamínek, takže "=" musí být vždy až za znakem nerovnosti.
Kód:
new Hodnota = 20;

if(
Hodnota <= 30)
Podmínka je splněna, protože první hodnota je menší než druhá.


A zároveň
Operátor: &&
Zde už kombinujeme 2 nebo více dotazů dohromady, s tímto operátorem musí být všechny dotazy pravdivé.
Kód:
new Hodnota = 20;

if(
Hodnota <= 30 && Hodnota >= 10)
Podmínka je splněna, protože oba dotazy jsou pravdivé.


Nebo
Operátor: ||
Zde také kombinujeme 2 nebo více dotazů dohromady, s tímto operátorem musí být alespoň 1 dotaz pravdivý.
Kód:
new Hodnota = 20;

if(
Hodnota < 30 || Hodnota == 50)
Podmínka je splněna, protože první dotaz je pravdivý. Druhý dotaz je nepravdivý.


Negace
Operátor: !
Tento operátor by se správně mel používát POUZE na hodnoty datového typu boolean, ale vím, že většina uživatelů tady ho používá skoro všude, kde jen to je možné. Negace totiž správně pracuje tak, že výchozí hodnotu (0 resp. 1) převede na hodnotu opačnou (1 resp. 0).
Kód:
new bool:Hodnota = true;

if(!
Hodnota == false)
Podmínka je splněna, protože negace proměnné "Hodnota" je false a ta se rovná hodnotě 2 (false).


Dotazy, připomínky do odpovědí.
Děkuji za pozornost.

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Matematické operátory
PříspěvekNapsal: ned 13. lis 2011 12:13:02 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: úte 07. čer 2011 22:20:07
Příspěvky: 609
Bydliště: /dev/null

Mám jen připomínku k té negaci, protože nemáš tak úplně pravdu... podmínka vždy vrací typ bool.. typ bool je podstatě int číslo, kde vše krom 0 je true a jen má vlastní dat. typ
Takže negaci můžeš použít naprosto kdekoliv a kdykoliv v podmínce a u jakýkoliv hodnot v podmínce + negace automaticky typuje hodnotu na bool (int)

Takže pro ukázku:
Kód:
int a = 5;

// nespravne (s warning)
bool b = a; // bude warning, ale na funkcnost to nema vliv, protoze bool je int (bude true)

// spravne
bool b = !!a// bude true

// negace
bool c = !a; // v poradku, negace to pretypuje na bool (bude false)    

_________________
Obrázek
Obrázek
Obrázek
Obrázek
__.-> HTML, CSS, Java, creating 3D graphics <-.__


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: