Létezhet olyan operátor, ami módosítja az eddigi predenciákat?
Nem predencia az, hanem precedencia. A zárójel meg nem művelet. Vagy maximum ha nagyon erőltetem, akkor lehet esetleg egy egyoperandusú műveletnek értelmezni, aminek az értéke az operandus maga.
~ ~ ~
A jelölés lényegtelen, itt operátorokról van szó, aminek operandusai vannak. Hogy hogyan jelöljük őket, az lényegtelen. Egy kifejezésbe úgy tud bekerülni egy új operátor, hogy annak lesz egy új operandusa, ami a kifejezés egészével, vagy valamelyik részével képez egy új kifejezést. Viszont a részkifejezések műveleti sorrendje ettől nem változik. Pl. van egy összetett kifejezésed:
a * (b*c + d) / (e + f*g)
Mondjuk egy hatványozás (^) operátort szúrsz be, de ennek kell lennie egy másik operandusának is, a kitevőnek, amit jelöljünk n-el. Pl. így:
a * (b*c + d)^n / (e + f*g)
Ilyenkor a
(b*c + d)
és az
n
lesz a hatványozás két operandusa. Sem a
(b*c + d)
kifejezésen belül, sem a
a * valami / (e+f*g)
kifejezésen belül nem változik a műveletek sorrendje.
A műveletek sorrendje jól meghatározott:
- Ha valami zárójelbe van, akkor azt külön kell kiértékelni, és az így kapott értéket kell a zárójeles kifejezés helyére behelyettesíteni.
- A magasabb rangú műveletek elsőbbséget élveznek. Pl. a tetráció magasabb rendű, mint a hatványozás, gyökvonás; a hatványozás, gyökvonás magasabb rendű, mint a szorzás, osztás; a szorzás, osztás magasabb rendű, mint az összeadás, kivonás.
- Azonos rangú – precedenciájú – műveletek esetén balról jobbra haladva kell elvégezni a műveleteket.
- Hatványtorony esetén mindig felülről lefele kell elvégezni a műveleteket. Pl.: 2^3^4^5 = 2^[3^(4^5)]
Vannak olyan műveleti jelölések, amik vizuálisan meghatározzák azt, hogy mire vonatkozik az adott művelet, mik az operandusai. Pl. egy gyökjel esetén a gyökvonás műveletének egyik operandusa az, ami a gyökjel előtt felső indexben van, a másik operandusa meg az, ami a gyökjel vonala alatt van. Ezek – fogalmazzunk úgy – automatikusan zárójeleznek részkifejezéseket. A hatvány esetén a felső index is automatikusan zárójelez. A törtvonal is zárójelezi a számlálót, a nevezőt, meg magág a törtet is. Mondjuk inkább úgy, hogy a tört esetén a számlálót és a nevezőt külön-külön kifejezésként kell kiértékelni, majd elvégezni az osztást, és ezt helyettesíteni a tört helyére.
Lásd: [link]
De ez csak jelölési mód kérdése. Valójában hogy hogyan jelöljük a műveleteket, az egy dolog. De minden művelet felírható kvázi függvényszerű alakban is:
a + b = összead(a,b)
a * b = szoroz(a,b)
√a = gyök(a)
Ilyen módon a másodfokú egyenlet megoldóképlete:
x[1,2]=oszt(pluszminusz(kivon(0,b),gyök(kivon(hatvány(b,2),szoroz(szoroz(4,a),c)))),szoroz(2,a))
Mikor új műveletet adsz ehhez hozzá, akkor valahol az egyik függvény egyik paramétere helyére kerül egy új függvény. Ez nyilván nem fogja megváltoztatni az így felírt függvények egymásba ágyazódását, sorrendjét a kifejezésben.
Köszönöm a választ!
Én precedenciát írtam, csak manapság szokása az idióta moderátoroknak felülírogatni a kérdéseket, de arra tojnak - inkonzisztens módon, hogy a kérdés leírásában is ott van egyenlőre még jól a precedencia kifejezés. Némelyik esküszöm többet árt, mint használ. (Nem mondanám, ha ez lenne az első alkalom.)
Na mindegy. Szerencsére megértettük egymást. :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!