Mulla ja kaverilla on jatkuva paremmuus kilpailu kielistä. Nyt hän lähetti seuravaanlaisen viestin:
Tarkastele seuraavaa lauseketta: i--%5>0
a) Mikä on lausekkeen tulos, jos i:n arvo on alussa 10?
b) Muotoile lauseketta niin, että se tuottaa saman tuloksen, mutta on helpompi lukea.
Help. kaveri ei suostu auttaa. Me saadaan kysyä apua ulkopuolisilta, mutta sillä ehdolla että toinen antaa luvan ja saa luvan avun tarpeeseen myöhemmin.
Tarkastele seuraavaa lauseketta: i--%5>0
a) Mikä on lausekkeen tulos, jos i:n arvo on alussa 10?
b) Muotoile lauseketta niin, että se tuottaa saman tuloksen, mutta on helpompi lukea.
Help. kaveri ei suostu auttaa. Me saadaan kysyä apua ulkopuolisilta, mutta sillä ehdolla että toinen antaa luvan ja saa luvan avun tarpeeseen myöhemmin.
Vastaukset 19
Vanhimmat
Noo joo. Ja viesti jossa tää tuli oli C kielen salaisuuksia joten siitä päättelin että tänne ois.
Python ratkaisu
i=10
print(i--5>0)
Tulos on TRUE
Linux Mint 18.1 Serena
Xfce 64-bit
Huomaa+siinä+oli+%+merkki,+eli+jakojäännös.
Miinusmerkit+i:n+jälkeen+taas+meinaa,+että+i:n+vähennys+yhdellä+tehdään+vasta+lausekkeen+jälkeen.
Eli+10+%+5+=+0.
0+>+0++=+false.
a) 0
b) kysymyksessä ei ole järkeä
"paremmuus kilpailu kielistä"
Huonoa kieltä. Taisit hävitä.
a)+false,+numeroarvona+0.
b)+i--+%+5+>+0+
Ei+tuossa+mitään+vaikeaa+ole,+mutta+välilyönneillä+ryhmittely+selkeyttää+ehkä+hieman+ja+on+muutenkin+suositeltavaa+ettei+kaikkea+kirjoiteta+yhteen+pötköön.+Saman+tuloksen+toki+saa+myös,+jos+vähentää+i:tä+erikseenkin.
Selvä kaveri näköjään lähetti infoa: Hän päätti olla laiska ja ottaa tuon AMK moodlesta, eli hänen tehtävänsä.
Eikös+tuo+ole+että+i-muuttujasta+vähennetään+5%+0:sta,+eli+i=i,+sen+arvo+ei+muutu.
Eikös prosenttimerkki yleensä meinaa jakojäännöstä, ainakin C:ssä ja sen sukuisissa ?
a)
i--+tarkoittaa+sama+kuin+i+-+1
(i-1)%5+tarkoittaa+jakojäännöstä,+kun+(i-1)+jaetaan+5:llä.
i+on+lähtötilanteessa+10
->(10-1)%5+=+9%5+=+4
ja+kun+suoritetaan+vertailu+4>0+on+tuloksena+tosi.
b)+(i-1)mod5>0
i--+tarkoittaa,+että+lausekkeessa+käytetään+i:n+alkuperäistä+arvoa+ja+sitä+vähennetään+vasta+sen+jälkeen.+Eli+kun+i+on+alussa+kymmenen,+lasketaan+10%5,+joka+on+nolla,+joka+ei+ole+suurempi+kuin+nolla,+eli+tulos+on+"false".++i:n+arvo+laskennan+jälkeen+on+9.
Esimerkki koodista josta toiset tykkää ja toiset välttää kun sitä on vaikea hahmottaa. Lauseista saa kyllä lyhyitä ja tehokkaita. Kääntäjä osaa kyllä tehdä hyvää koodia lauseesta i= i-1 . i-- käyttö ei tee koodista nopeampaa. i-- merkitsee tosiaan sitä, että vähennys tehdään vasta lauseen laskemisen jälkeen. --i taas sitä, että vähennys tehdään ensin.
Joo,+siis+kyseessä+true/false+lauseke,+jonka+ratkaisu+riippuu+i:n+sen+hetkisestä+arvosta.
a)+i--%5>0+kun+i+=+10.
Tässä+suoritetaan+ensin+i--,+jolloinka+i+on+9
seuraavaksi+otetaan+jakojäännös+9:stä,+kun+jaetaan+5:lla,+eli+saadaan+1+(C+pyöristää+alaspäin).
1+>+0,+joten+lauseke+on+tosi.
b)
+++int+i+=+10;
++++i--;
++++int+jakojaannos+=+i+%+5;
++++if+(jakojaannos+>+0)+{
++++++//+......+tee+jotakin...
++++}
Sinäpäs pitkähkön vastauksen tuollaiseen trivialiteettiin kirjoittelit.
Ja vielä väärin, hih!
Missä kohtaa väärin?
Joohei, hihhih! Huomasinkin jo hihhih!
Níin tuollainën olisi itseasiassa 5 prosenttia nollanan arvosta..... aaa minkkilauku: tulipa taas tehtyä töitä ja joten voin alkaa ajattelemaankin :D '-n
Minä sanoisin että opiskelevat elämään, kun ylipoistojen tohtoritkaan eivät tiedät tietokoneiden ohjelmoinnista, kuten eivät tiedä tohtoritkkaan eivät tiedä naistensa vaginoista....
... siitä se elämä lähtee joskus jos lähtee ...