Hulp bij het begrijpen van Pseudo-code

stemmen
0

Kan iemand mij vertellen hoe ik de volgende lijn van pseudo-code kunnen implementeren.

c[k]=c[k] (mod M) with |c[k]|<=M/2

Ik begrijp niet wat 'door' betekent, betekent het dat ik zorgen dat na reductie modulo M, c [k] moet lager dan of gelijk aan M / 2 zijn. Wat betekent 'met' betekent meestal dat (als er iets) in pseudo-code?

Merk op dat M van het type int. Ik doe dit implementeren in Java als het helpt.

Bij voorbaat bedankt.

De vraag is gesteld op 07/03/2010 om 21:15
bron van user
In andere talen...                            


4 antwoorden

stemmen
0

Is dit per se pseudo-code? Doorgaans wordt pseudo-code precies beschrijven wat code zal doen, maar in een meer natuurlijke taal (bijvoorbeeld meer als Engels). In dit geval, ik weet niet precies wat er ook wordt beschreven. Bovendien denk ik niet dat 'door' per se over een gespecialiseerde betekenis, vooral zonder het zien van de context van de rest van wat er geschreven staat. Het zou handig zijn als u meer informatie te verstrekken.

antwoordde op 07/03/2010 om 21:18
bron van user

stemmen
4

Ik denk dat het betekent set c[k] = c[k] + x*M, waarbij -M/2 <= c[k] + x*M <= M/2(kies het positief of negatief geheel getal x, zodanig dat dit waar is).

Bijvoorbeeld, als M = 5, zouden we hebben:

       Vorige waarde Nieuwe waarde
          of c [k] van c [k]
            8 -2
            9 -1
           10 0
           11 1
           12 2
           13 -2
antwoordde op 07/03/2010 om 21:18
bron van user

stemmen
0

Hmm. Sloppy pseudo-code, heh. Maar ik denk dat hij zegt dat de absolute waarde van c [k] kleiner dan of gelijk zal zijn ook de modulo waarde van M gedeeld door 2. Dit is min of meer gewoon een gok echter. Ik heb nog nooit tegengekomen pseudo-code met deze terminologie (de bij) wordt gebruikt. Misschien is hij gewoon proberen om mensen te laten weten dat c [k] is altijd verzekerd te zijn met de binnen de perken vanwege de modulo rekenkunde.

antwoordde op 07/03/2010 om 21:22
bron van user

stemmen
-1

c [k] = c [k] (mod M) met | c [k] | <= M / 2

if(Math.abs(c[k]) <= M/2){
  c[k] %= M;
}

De "Met" komt uit de wiskunde, en betekent "Als de conditie waar is, dan doen"

U heeft dit al getagd "java", dus ik gebruik gemaakt van de Java wiskunde bibliotheek.

antwoordde op 07/03/2010 om 21:23
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more