Pravidla Ucet
Nepřihlášen

Článek

Menu

Operátory, matematické funkce a syntax
Napsal: NicharCZ
Přidáno: 16.07. 2010

Zdravím, zajímá vás jak pracovat v GM s operátory, jaké tam naleznete? Chcete poznat syntax "if" a "Switch"? Chcete si přiblížit základní matematické funkce? Právě proto jsem se rozhodl udělat, respektive okopírovat svůj článek z VCH fóra a uveřejnit jej sem.

Operátory, matematické funkce a syntax

Základní operátor

= se rovná, vrací hodnotu, deklarace proměnných

Základní matematické operátory

+ plus
- mínus
* krát
/ děleno

Matematické funkce a operátory

• Všechny goniometrické funkce pracují s radiány (rad) nikoliv se stupni (°)
degtorad(x) Převede stupně na radiány
radtodeg(x) Převede radiány na stupně
sin(x), cos(x), tan(x) goniometrické funkce //
cotangens = tan(x-90)
arcsin(x), arccos(x), arctan(x) inverzní goniomertické funkce
sqr(x) mocnica
sqrt(x) odmocnina (nezáporná) // lepší je použít:
sqrt(abs(x)))
in(x), log(n,x) logaritmické funkce
abs(x) absolutní hodnota // |-4|=4, |4|=4, -|4|=-4, -|-4|=-4
random(x) vrací náhodné číslo
irandom(x) vrací celé náhodné číslo (pouze v GM8)
round(x) zaokrouhlí číslo
floor(x) zaokrouhlení dolů na celé číslo
div dělení beze zbytku // a div b = floor(a/b)
mod dělení se zbytkem, kde vrátí místo výsledku zbytek // 37 mod 6 = 1
lengthdir_x(len,dir) tato funkce vychází ze sinovy věty, máte trojúhelník a zadáte délku strany len a úhlu dir, lengthditr_x vypočítá tu chybějící stranu, která je vedle úhlu dir. lengthdir_y(len,dir) totéž, jako lengthdir_x, ale na y-ový ose...
Takhle funguje lengthdir_x:

obrázek by Matt Samyel
Funkcí je mnoho, více v manuálu

Relační operátory

> větší než
< menší než
>= větší nebo rovno
<= menší nebo rovno
== je-li rovno
!= není-li rovno

Logické operátory

&& (lze také zapsat jako and) - konjunkce, znamená "a"
|| (lze také zapsat jako or) - disjunkce, znamená "nebo"
^^ (lze také zapsat jako xor) - exkluziní disjunkce "právě jeden", vylučovací or
! (lze také zapsat jako not) - negace, znamená "ne", převrátí pravdivost následujícího výroku

Bitové operátory

• Logické operátory pracující s bitovýma číslama & - Násobení jedniček a nul pod sebou (1*1=1 ; 1*0=0 ; 0*1=0
; 0*0=0)
| - Sčítání jedniček a nul pod sebou (1+1=1 ; 1+0=1 ; 0+1=1 ; 0+0=0)
^ - Exklusivní disjunkce (1^1=0 ; 1^0=1 ; 0^1=1 ; 0^0=0)
<< - Posun, viz. níže
>> - Posun, viz. níže

0010 << 2 = 1000
0101 >> 1 = 1010

S bitovými operátory mi pomohli Matt Samyel a Loric, neboť jsem se s nimi nikdy nesetkal. Ale lepší je doplnit pro úplnost. Děkuji

If - else

• If je podmínka když něco nastance, else znamená jinak, aneb co se má stát, když podmínka neplatí

Kód:
if (něco; něco) else {něco; něco}


Něco je angl. statement, neboli prohlášení, která se vždy oddělují ;

Switch

• Switch kontroluje velké množství možností jen jednou proměnnou na principu porovnávání informace za case, break přeruší switch vykoná se akce přidělená ke case a pokračuje se směle v kódu. Default je poslední možnost, která nastává, jestliže není ani jedna za cases pravdivá

Kód:
switch(promena)
{
case "1": {statement (akce) }; break;
case "2": {statement (akce) }; break;
case "3": {...}; break;
case "..": {...}; break;
default: {statement (akce)
};

Pokud by jste break na konci bloku příkazů vynechali, po provedení všeho by se začal provádět následující case a tak dále, dokud by program nedorazil na konec nebo na nějaký break. Na to je třeba si dávat pozor, ovšem v nějakých případech se může tato vlastnost switche i hodit. (poz. DDL Blue)
Kdyby jste chtěli s něčím poradit, tak mě kontaktujte na VCH (SZ).
Do komentářů zdělujte pouze pochvalu,kritiku, nápady, návrhy, doplnění a nejasnosti.


Ostatní díly seriálu:
Klíčová slova: switch case operátor operátory syntax if matematické funkce
 

Komentáře:

Napsal: NicharCZ
Přidáno: 05.12. 2010

Opraveno.. ;)

Trvalý odkaz

Napsal: brisk
Přidáno: 04.12. 2010

Máš tam chybu... větší nebo rovno se píše >= ne =>

Trvalý odkaz

Napsal: NicharCZ
Přidáno: 18.07. 2010

Děkuju :)

Trvalý odkaz

Přidáno: 18.07. 2010

Jé tohle přesně jsem hledal. Díky teď jsem aspoň pochopil

[b]=> větší nebo rovno

<= menší nebo rovno

== je-li rovno

!= není-li rovno[/b] a ještě [b]Switch[/b] s [b]Break[/b]

Jen tak dál xD

Trvalý odkaz

Velkej Chytrák
Copyright (c) 2001-2010