Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Nápoveda
Premenné
Operátory
Riadiace štruktúry
Funkcie
Elementy, objekty a ich hierarchická štruktúra
Príklad



Ostatné kapitoly
Umelé ryby
Umelé mravce
GeNeSiS


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Premenné

Premenné

Premennú môžete vytvoriť tak, že do príkazového riadku zadáte jej typ, meno (symbolické označenie). Môžete jej zároveň priradiť aj hodnotu. Hodnota môže byť skalár alebo výraz. Všeobecne:

typ meno_premennej [= výraz]

V nasledujúcej tabuľke je prehľad základných typov premenných.

TypVýznamPríklad
intcelé číslo5, 32, -45, 1000
floatreálne číslo (dvojitá presnosť)-5.68, 58924.55456, 10.0
strreťazec znakovpudlík, 5.8, tráva

Ak ste premennú vytvorili, ale nepriradili ste jej žiadnu hodnotu, môžete tak urobiť pomocou operátora =. Pozrite si nasledujúce príklady:

genesis #3 >float pi      //deklarácia premennej typu float
genesis #4 > int num = 6   //deklarácia a inicializácia premennej typu int
genesis #5 > float fstr = "6.3"   //deklarácia a inicializácia premennej typu float
genesis #6 > pi = 3.1415   //priradenie hodnoty premennej pi
genesis #7 > str ret = reťazec"   //deklarácia a inicializácia premennej typu reťazec

Jazyk GeNeSiS rozlišuje malé a veľké písmená tzn, že Pi nie je tá istá premenná ako pi.

Získať hodnotu premennej môžete tak, že ju uzavriete do zložených zátvoriek ({}). Príklad:

genesis #8 > echo { pi }
3.1415
genesis #9 > echo { pi * 2 }
6.283

Premenná deklarovaná vo vnútri funkcie je lokálna, inak je globálna. Rutiny na prácu s globálnymi premennými nájdete v nasledujúcej tabuľke:

RutinaPopis rutiny
addglobaldeklaruje globálnu premennú, pričom jej meno môže byť obsah inej premennej
getglobalvráti hodnotu premennej, pričom meno premennej môže byť obsah inej premennej
setglobalnastaví hodnotu premennej, pričom meno premennej môže byť obsah inej premennej
listglobalsvylistuje zoznam globálnych premenných

Podobne ako je to v iných skriptovacích jazykoch, dokáže GeNeSiS automaticky pretypovať premennú, pokiaľ je to nutné. Ak pretypovanie zlyhá, GeNeSiS zahlási chybu a použije "náhradnú" hodnotu. Pozrite si nasledujúce príklady:

genesis #10 > int i = 4
genesis #11 > int j = 3
genesis #12 > float x = 2.5
genesis #13 > str str_x = "2.5"
genesis #14 > str s = "pudlik"

genesis #15 > echo { i / j }
1
genesis #16 > echo { i / x }
1.6
genesis #17 > echo { i / str_x }
1.6
genesis #18 > echo { x / s }
** Error - CastToFloat: Error casting 'pudlik', using 0.0
inf

Hore
Kontakt: Marek Bundzel