Mit jelent a programozásban “n! ”?
Gyanítom ez nem programozási hanem matematikai jelölés a faktoriálisra:
„Pascal programban, ha ez számít”
Az nem, elhiszem becsszóra. Az számít, hogy melyik az a pascal-program.
Itt: [link]
A következőt írják:
! Binary OR Operator copies a bit if it exists in either operand. Its same as | operator.
De ez Pascal fordítótól függően működik vagy nem. Pl FreePascalban állítólag nem működik. (Nem próbáltam)
@#4:
A végét megerősíthetem, a Free Pascal nem fogadja el, még a C-stílusú operátorok engedélyezésével sem. De a függőleges vonalat sem, amelynek alighanem a helyettesítésére szánták, még valami ősi billentyűzetek készletéhez igazodva. Az OR operátor viszont működik, pont, ahogy a leírásban szerepel. Ennek ellenére meglepne, ha ez lenne a talányos kérdés magyarázata, feltételezem, hogy Kérdező is észrevette volna, hogy ez egy művelet, és a felkiáltójel másik oldalán is van valami fontos (a szóköz nem tűnik annak). Félő, hogy ez az eset már homályban marad, de talán a következő kérdezőknek tanulságul szolgálhat, hogy miért érdemes pontosan megjelölni a nyelvet, ugyanakkor miért haszontalan dolog három karaktert kimásolni egy programkódból.
#4: Sem Niklaus Wirth (a Pascal alkotójának) 1973-as leírásában:
sem az 1990-es ISO 7185-ös Pascal szabványban:
sem az ISO 10206-os kiterjesztett szabványában:
sem az 1993-as Object Pascal kiterjesztési javaslatban:
sem a jelenleg elterjedt Free Pascal-os implemetáció leírásában:
sem a Borland (most már Embarcadero) Object Pascal referenciájában:
sem Turbo Pascal leírásokban:
* [link]
* [link]
sem a GNU Pascal kézikönyvben:
nem találtam utalást a "!" operátorra.
De elővettem pár régi könyvet is a témában:
* Pirkó Jóuzsef: Turbo Pascal 5.5 [LSI Oktatóközpont, Budapest 1990; ISBN: 963 576 0140]
* Thomas Binzinger: Delphi [Kossuth Könyvkiadó, 1998; ISBN: 963 094 0345]
* Angster Erzsébet: Programozás tankönyv I [4 Kör Bt., 1999; ISBN: 963 450 955 X Ö]
egyikben sincs szó a "!" operátorról.
Kipróbáltam a Tutorialspoint javaslatát:
Free Pascal 3.0.4 alatt fordításkor dobott egy szép nagy hibát:
bitwise.pas(8,9) Fatal: illegal character "'!'" ($21)
Mert C nyelv szabványában ott van mint logikai negáció:
"The result of the logical negation operator ! is 0 if the value of its operand compares unequal to 0, 1 if the value of its operand compares equal to 0.
The result has type int.
The expression !E is equivalent to (0==E)"
Mint a C++-éban is benne van:
"The operand of the logical negation operator ! is contextually converted to bool(Clause 7); its value is true if the converted operand is false and false otherwise. The type of the result is bool."
A C/C++-hoz hasonlóan Java-ban is megtalálható:
"15.15.6 Logical Complement Operator !
The type of the operand expression of the unary ! operator must be boolean or Boolean, or a compile-time error occurs.
The type of the unary logical complement expression is boolean.
At run time, the operand is subject to unboxing conversion (§5.1.8) if necessary. The value of the unary logical complement expression is true if the (possibly converted) operand value is false, and false if the (possibly converted) operandvalue is true."
Így Javascriptben:
és C#-ban is:
De ez prefix operátor:
Annyit hozzá tennék, hogy C#-ban a változó neve után is van értelme:
Pl:
string? v = valami();
string s = v!;
int l = s.Length;
n!=0 ez volt az eredeti kifejezés. Amire rájöttem, hogy azt jelenti, hogy “n” nem egyenlő 0-val. És igen, arra is rájöttem, hogy C-ben van (elírták a tesztet).
Köszönöm azért a válaszokat!
Azért annyit hozzátoldanék a történethez, hogy ebben az esetben az általad idézett “n! ” kizárt. Lehet szóköz a felkiáltójel előtt és/vagy az egyenlőségjel után, illetve hiányozhat is mindkét helyről – egyedül a bemutatott módon működésképtelen, mert értelmetlenül kettébontja az egyetlen műveleti jelet jelentő „!=” kombinációt. A felkiáltójel tehát nem az n-hez tartozik, hanem az egyenlőségjelhez, ahhoz viszont elválaszthatatlanul. Tanulságos példa arra, miért nem érdemes egy kódból néhány kontextusától megfosztott karaktert kiemelni.
Mit jelent Petőfi költészetében a „l' ”? Ja, a „ló” szóból a lö-betű, meg az ékezet...
Azzól nem is beszélve, hogy 1 perc alatt választ kapott volna, ha értelmesen tesz fel a kérdést és bemásolja legalább azt az 1 sort...
A != jelentését valószínűleg itt bárki meg tudta volna írni neki azonnal.
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!