Escreva uma única instrução em C que possibilite realizar as seguintes tarefas;

a) atribuir a soma de x e y em z e incrementar o valor de x em 1 após o cálculo.

b) multiplicar a variável produto por 2 usando o operador *=.

c) multiplicar a variável produto por 2 usando os operadores = e *.

d) testar se o valor da variável contador é maior do que 10. Se for, imprimir ‘ Contador é maior do que 10 ’.

e) decrementar a variável x em 1, depois subtraí-la da variável total .

f) somar a variável x à variável total , depois decrementar x por 1.

g) calcular o resto após q ser dividido por divisor e atribuir o resultado a q ; escreva essa instrução de duas maneiras diferentes.

h) imprimir o valor 123.4567 com 2 dígitos de precisão. Que valor é impresso?

i) imprimir o valor de ponto flutuante 3.14159 com três dígitos à direita do ponto decimal. Que valor é impresso?

Passo 1

Fala pessoal, tudo bem? Vamos lá para mais um exercício!! Talvez em algum momento precisaremos escrever algum código. Caso isso aconteça, não se preocupe, estou aqui para ajudar vocês.

Passo 2

Aqui no item (a) ele pede apenas que você escreva as atribuições. Bem observe que ele quer somar x e y em z. Para isso fazemos a relação z = x + y. Mas espere. Precisamos do incremento. Incrementar o valor de x em 1, para isso o livro tem uma tabela com essas funções. podemos usar x + + ou x += 1 fica a seu critério.

Item (b) também é semelhante. Você tem a variável produto e quer multiplicar ela por dois: produto = produto*2 (essa seria a maneira tradicional) mas vc pode fazer usando o operador *=. Já no item (c) ele pede para usar o = e * que foi escrito da maneira tradicional como comentei.

Aqui no item (d) vc precisa testar o valor da variável contador. Quer dizer que você escreve uma linha de código onde vai ter a variável contador é maior que 10. Basta usar a condição if ( contador > 10) { printf ( contador...)}.

Este (e) podemos rever no capítulo. Mas observe de maneira intuitiva: se incrementar é vc fazer + + x ou + = x, então decrementar como o nome sugere, é vc fazer o oposto. Portanto podemos usar - - x ou - = x. Legal não acha?

Essa letra (f) também não tem segredo. Temos a variável total e queremos somar x a ela “total = total + x” deste jeito. Porém precisamos adicionar o decremento, então iremos precisar usar - - x ou - = x.

Este item (g) vc vai usar uma variável “q” qualquer calcular o resto do seu divisor. Você lembra como calcula o resto? Isso mesmo, usamos o operador módulo “%”. Então temos a variável divisor, queremos calcular o resto dessa variável divisor, o q deve ser dividido por ela q/divisor e depois queremos o resto então deveria ser q%divisor (aqui ele nos dá o resto) mas ele quer atribuir isso ao q. Por tanto, para economizar na escrita nós devemos fazer “q %= divisor”, depois atribuir ao q. Fazendo “q = (…)”. Perceba que essas operações estão sendo feitas com todo os símbolos +, -, *,...

Este item (h) tem uma propriedade interessante. Quando vc quer usar valores flutuantes (esses valores “quebrados” ou fracionados) usamos um float. Mas você também pode determinar quantas casas decimais vc quer sem precisar usar um float, basta usar o termo “%.(N)f” onde N representa o número que você vai atribuir para decidir quantas casas decimais quer que apareça na tela. Então vc adiciona esse termo em “printf ( “%.(N)f”...)”.

E para encerrar o item (i) que é bem parecido com o item (h) mas ele quer 3 digitos “printf ( “%.(N)f\n”...)” o “\n” só surgiu para uma quena quebra de linha o resultado é o mesmo. Bora lá!

Resposta

a) z = x+=1 + y; ou z = x ++ + y; (prefiro esta última)

b) “produto *= 2;”

c) produto = produto * 2;

d) if (contador > 10) {

printf(“contador é maior que 10.\n”);

}

e) total -= - - x; onde decrementa o x em 1 por meio de - -x e atribui ao total por meio de “- =”

f) total +=x x- -;

g) deve ser escrito nesta forma

q %= divisor;

q = q%divisor;

h) printf(“%.2f\n”, 123.4567); ele vai imprimir na tela 123.46. Por que 46? Porque ele também faz aproximação seguindo a regra “se o número seguinte for maior que 5, ele sobe uma casa. o que temos aṕos o “.” é .4567, veja que 7 e 6 são maiores que 5, logo o número 5 sobe uma casa e por esta razão fica “.46”

i) printf(“%.3f\n”, 3.141619); ele vai imprimir: 3.142 seguindo a mesma regra de aproximação.