Aiuto per la comprensione pseudo-codice

voti
0

Qualcuno può dirmi come posso implementare la seguente riga di pseudo-codice.

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

Non capisco cosa 'con' mezzi, vuol dire che devo garantire che, dopo la riduzione modulo M, c [k] deve essere inferiore o uguale a M / 2. Che cosa significa 'con' solito dire (se non altro) in pseudo-codice?

Si noti che M è di tipo int. Sto applicazione del presente in Java se aiuta.

Grazie in anticipo.

È pubblicato 07/03/2010 alle 21:15
fonte dall'utente
In altre lingue...                            


4 risposte

voti
0

È questo necessariamente pseudo-codice? In genere, pseudo-codice è solo descrivendo quale codice farà, ma in un linguaggio più naturale (ad esempio, più come l'inglese). In questo caso, io non sono esattamente sicuro di quello che viene anche descritto. Inoltre, non credo 'con' ha necessariamente un significato speciale, soprattutto senza vedere il contesto di tutto il resto di ciò che è scritto. Potrebbe essere utile se si forniscono ulteriori informazioni.

Risposto il 07/03/2010 a 21:18
fonte dall'utente

voti
4

Penso che significhi set c[k] = c[k] + x*M, dove -M/2 <= c[k] + x*M <= M/2(scegliere il numero intero positivo o negativo xin modo tale che questo è vero).

Per esempio, se M = 5, avremmo:

       Valore precedente Nuovo valore
          di c [k] di c [k]
            8 -2
            9 -1
           10 0
           11 1
           12 2
           13 -2
Risposto il 07/03/2010 a 21:18
fonte dall'utente

voti
0

Hmm. Sloppy pseudo-codice, eh. Ma penso che lui sta dicendo che il valore assoluto di c [k] sarà minore o uguale troppo il valore del modulo di M diviso per 2. Questo è più o meno solo una supposizione però. Non ho mai incontrato pseudo codice con questa terminologia (la con) in uso. Forse sta solo cercando di far sapere che c [k] è sempre assicurato di essere con in limiti a causa della aritmetica modulo.

Risposto il 07/03/2010 a 21:22
fonte dall'utente

voti
-1

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

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

La "Con" deriva dalla matematica, e significa "Se la condizione è vera, allora fare così"

Hai codificato questo "java", quindi ho usato la libreria matematica Java.

Risposto il 07/03/2010 a 21:23
fonte dall'utente

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