Innen: Hungarian Scratch-Wiki
(() mod () (blokk) szócikkből átirányítva)
Maradékos osztás | |
() / () maradéka | |
Régebbi változat: () / () maradéka | |
Osztály: | Műveletek |
Típus: | Adatátadó |
Hozzáadva: | semmikor |
Eltávolítva: | semmikor |
A Maradékos osztás blokk, () / () maradéka vagy más néven/jelöléssel () Mod () („mod” a „modulo” rövidítése) egy műveleti- és adatblokk (en:"reporter"). A blokk visszaadja az osztás fennmaradó részét (ún. maradék), amikor az első értéket osztjuk a másodikkal (ún. modulus).
Például ha az első helyre 10-et teszünk, a másodikra 3-at, akkor 1-et kapunk eredményül, hiszen 10 osztva 3-mal 1 maradékot ad; k × 3 + 1 = 10
, ahol k = 3
.
A függvény (vagy művelet) értelmezve van negatív számokra is, viszont fontos, hogy nem szimmetrikusan képezi a maradékot, vagyis negatív számok osztási maradéka nem egyenlő az abszolútértékének a maradékával. Vagyis például -10-nek a 3-as maradéka nem -1, nem is 1, hanem 2, mert -4 × 3 + 2 = 10
.
Példák a használatra
- Vizsgálja, hogy két szám osztható-e maradék nélkül
ha <((a) mod (b)) = [0]> akkor mondd: [a osztható b-vel] különben mondd: [a nem osztható b-vel] end
- Vizsgálja, hogy egy szám egész szám-e
ha <((a) mod (1)) = [0]> akkor mondd: [a egész szám] különben mondd: [a nem egész szám] end
- Vizsgálja, hogy a szám páros vagy páratlan
ha <((a) mod (2)) = [0]> akkor mondd: [a páros] különben ha <((a) mod (1)) = [0]> akkor mondd: [a páratlan] különben mondd: [a nem egész szám] end end
Matematikai definíció
- Bővebben: [[kongruencia]]
Matematikailag így lehet megadni a művelet értelmezését:
(a mod m) = a - ⌊a/m⌋ × m
, ahol a ⌊⌋ jelek az (alsó) egészrészt jelölik, vagyis az érték lefelé kerekítését. Lásd: () lefelé kerekítve (blokk).
Alapvetőleg a, m ∈ Z
és m ≠ 0
, de a blokk bemeneti mezőibe bármilyen szám beírható, csak nem fog feltétlen működni már. Fontos, hogy ha a < 0, akkor (a mod m) ≠ (|a| mod m)
. Emellett az is igaz, hogy (0 mod )
(Pl. (2) / (0.4) maradéka
-re 0.4-ed mond.)
Szavakban a következőképpen lehetne kifejteni:
- „Egy szám modulóját m-mel megkapjuk, ha a számból a szám és a modulus (m) hányadosának egészrészét véve m-mel alkotott szorzatát kivonjuk. Ha a modulus nem negatív, akkor ez megegyezik az alulról legközelebbi m-mel osztható szám és a kezdeti szám különbségével. Ezt nevezzük maradéknak.”