PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → Wx - Procedure Retorna a soma com pesos descendentes
Wx - Procedure Retorna a soma com pesos descendentes
Débuté par adrianoboller, 31 aoû. 2015 22:50 - Aucune réponse
Membre enregistré
3 657 messages
Popularité : +175 (223 votes)
Posté le 31 août 2015 - 22:50
// Summary: retorna soma com pesos descendentes

// Syntax:

//[ <Result> = ] SomaComPesoDsc (<pNro> is string, <pMenorPeso> is int)

//

// Parameters:

// pNro (string): número para calcular, em variavel String

// pMenorPeso (int): menor peso

// Return Value:

// 2-byte unsigned int: // Peso total calculado

//

// For instance:

// SomaComPeso('111222333',2)

// tmpPeso = 1*(9-1+2) + 1*(9-2+2) + 1*(9-3+2) + 2*(9-4+2) + 2*(9-5+2) + 2*(9-6+2) + 3*(9-7+2) + 3*(9-8+2) + 3*(9-9+2)

// peso = 1*10 + 1*9 + 1*8 + 2*7 + 2*6 + 2*5 + 3*4 + 3*3 + 3*2

// peso = 10 + 9 + 8 + 14 + 12 + 10 + 12 + 9 + 6

// peso = 90

//

Procedure SomaComPesoDsc(pNro is string, pMenorPeso is int)

tmpTam is int = Length(pNro)

tmpPeso is 2-byte unsigned int = 0

FOR i=1 TO tmpTam

tmpPeso = tmpPeso + (Asc(pNro[[i]]) -48) * (tmpTam-i+pMenorPeso)

END

RESULT tmpPeso