While ciklusban több tagadó feltétel esetén miért kell ÉS&& a VAGY|| helyett?
a programozási nyelv tök mindegy, jelen esetben ez egy kis PHP kódocska...
Megjegyzés a $string2 az egy nyers szöveg, akár több mondatot is tartalmazhat.
while ($i != strlen($string2) && $string2[$i] != " " && $string2[$i] != ".") {
$string= $string . $string2[$i];
$i++;
}
Mit is tud: Elmegy a szöveg VÉGÉIG vagy amíg nem talál egy SZÓKÖZT vagy nem talál egy PONTOT.
while ($i != strlen($string2) || $string2[$i] || " " && $string2[$i] || ".") <== ez így hibás (végtelen ciklusba fut), a fenti kód a helyes
Magyarul ez a logikus
Menj addig amíg nem érsz véget vagy nem találsz szóközt vagy nem találsz pontot.
Ehelyett ÉS műveletezni kell, ami annyira irritáló ha kapok egy kielégítő választ annak nagyon örülnék
Ird fel lepesenkent es rajossz miert.
A ciklus addig fut amig a feltetle igaz.
Vagy eseten ez annyit tesz, amig barmelyik feltetel is igaz, az egesz kifejezes maga is igaz lesz -> fut.
Es eseten ha barmelyik feltetlen nem teljesul az egesz kifejezes erteke is hamis lesz, ezert leall a ciklus.
Mert a while azt jelenti, hogy "menj addig amíg IGAZ AZ HOGY - <feltétel>"
Amire te gondolsz, az az until kulcsszó lenne, ami néhány nyelvben előfordul (pl pascal), ami ténylegesen azt jelenti, "menj addig, amíg NEM LESZ IGAZ az hogy - <feltétel>"
De még until-al sem ez lenne a szintaktika, amit lent írtál az valami.. nem tudom mi :D
Alapveto bool algebra ismeretek nelkul nehez is megerteni. Vonatkoztass el a magyar nyelvtol. Elo nyelvben a VAGY neha kizaro-, neha megengedo vagyot jelent. Ne a magyart forditsd le programkodra, hanem formalizald mit is szeretnel es azt kodold.
"Mit is tud: Elmegy a szöveg VÉGÉIG vagy amíg nem talál egy SZÓKÖZT vagy nem talál egy PONTOT.
"
Nem. Megy végig a szöveg karakterein addig, amíg az adott karakter nem szóköz ÉS nem is pont. Kis átalakítással az első ciklusfeltételt is hozzá lehetne csapni a szöveghez ÉS segítségével, ezt már rád bízom!
G.
Igen, ezek szerint mégis lehet rajta magyarosítani, de innentől már egy életre tudom, hogy mi-miért ezzel kapcsolatban.
Csak annyi hozzáfűzni valóm van, hogyha van lehetőség, akkor a ciklus feltételinél összeszeretem vonni a feltételeket. pl: azt utálom ha megy a while vagy a for ciklus és abban vizsgálgatunk if-el, majd breakeltetünk. valamiért olyan érzésem van mintha lassítaná a programunkat.
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!