Jump to content

Decrementar variável


Sofia Borges

Recommended Posts

Olá Pessoal! Em primeiro peço desculpa se estou a infringir alguma regra. Caso este tópico não esteja de acordo agradeço que eliminem. 

Acontece que estou bastante 'aflita' 

PRECISO DE AJUDA!

Tenho um exercício, básico (o nr 15 de 65), que encalhei. Já não pratico qualquer tipo de programação há 15 anos. Estou a realizar uns exercícios para tentar uma vaga num curso que será de extrema importância para mim. O exercício é o seguinte:

  • Initialize a variable called counter with the value 10 and print it to the console. Using unary operators, decrement the value in the variable until you reach the number 7. Print the final value.

Eu faço o seguinte código:

var value = 10;
console.log (value);

var decrementValue = value;
var decrementI = value--;
var decrementII = value--;
var decrementIII = value--;
var decrementIV = value--;

console.log (decrementIV);

Eu faço isso e dá sempre o erro: "Make sure you are declaring a variable with the right name"

Obrigada

Edited by Sofia Borges
correcção no código
Link to comment
Share on other sites

Olá. 
A variável deve chamar-se “counter” e tu estás a usar “value” (e decrementedValue e outras) mas nenhuma com o nome que o enunciado indica. 
já agora, não precisas das atribuicoes

decrementedValue = value—

Já que o operador unário “—“ modifica o valor da variável onde é aplicado. 
 

value—

é equivalente a

value = value - 1
Link to comment
Share on other sites

8 horas atrás, Sofia Borges disse:

Eu faço isso e dá sempre o erro: "Make sure you are declaring a variable with the right name"

Obrigada

Viva,

Testei o seu código e está a "funcionar" sem mostrar qualquer mensagem de erro. Inclusive faz o output de "10" seguido de "7".

Já lhe comentaram (acima) que não precisava daquelas variáveis e que nem está a usar a variável "counter" pedida no problema.

Outra coisa, tenha cuidado ao atribuir o valor de uma variávelX++ ou variávelX-- a uma outra variávelY, nestes casos a variávelY fica com o valor da variávelX antes da operação (++ ou --).

var value = 10;
var decrementI = value--; => decrementI = 10 => só depois value=9
var decrementII = value--; => decrementII = 9 => só depois value=8
var decrementIII = value--; => decrementIII = 8 => só depois value=7
var decrementIV = value--; => decrementIV = 7 => só depois value=6

Se quiser atribuir o valor final (após a operação ++ ou --) o sinal ++/-- deveria vir antes da variável:
var value = 10;
var decrementI = --value; => value=9 => só depois decrementI = 9
var decrementII = --value; => value=8 => só depois decrementII = 8
var decrementIII = --value; => value=7 => só depois decrementIII = 7
var decrementIV = --value; => value=6 => só depois decrementIV = 6

* não precisa destas varáveis para nada... foi só um exemplo para ter cuidado com os ++/-- atribuídos a outra variável.

Link to comment
Share on other sites

OBRIGADA! 

1º lugar, que estupidez o nome da variavel... li tantas vezes o exercicio que às tantas bloqueei. 

2º lugar, ainda não consegui resolver... (que estupido).

var counter = 10;
console.log (counter);

console.log (counter--);
console.log (counter--);
console.log (counter--);
console.log (counter--);

o "erro" agora é:

  • >>>>Code is incorrect

    Don't forget to print the variable to the console before and after the decrementations

Link to comment
Share on other sites

3 minutos atrás, tiago.f disse:

Sofia, lê o comentário do antseq acerca da diferença entre

counter—

e

—counter 

Desculpa, tens razão.

var counter = 10;
console.log (counter);

console.log (--counter);
console.log (--counter);
console.log (--counter);

console.log (counter);

Erro: >>>>Code is incorrect: Your program is producing the wrong output

Link to comment
Share on other sites

6 horas atrás, tiago.f disse:

Podes colocar aqui o output esperado e o output do teu programa?

Já consegui! 

O que queriam era:

var counter = 10;
console.log (counter);

var counterOne = --counter;
var counterTwo = --counter;
var counterTree = --counter;

console.log (counter);

Obrigada pela ajuda! 🙂

Irei precisar, de certeza, de mais! 😉

Edited by Sofia Borges
resolvido
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.