Jump to content


Photo

Questão Com Operadores


  • Faça o login para participar
5 replies to this topic

#1 alanrudi

alanrudi

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 26/05/2009, 08:46

Olá galera,

Bom eu fiz um concurso este fim de semana no qual caiu uma questão de C# e como eu estou na dúvida quanto a resposta queria ver se vcs podem me ajudar.
A questão é a seguinte:

"A linguagem C# processa uma determinada expressão considerando as prioridades de operadores. Considere o seguinte trecho de código do C#;

int result = 0;
result = 4 -3 +2 * 3 / 4;

O resultado da variável result é:

a)2
B)3
c)4
d)5
e)6

Na hora da prova eu não consegui fazer o gabarito dá como certa a resposta A. Gostaria de saber o porque . Se alguém puder me ajudar agradeço.

#2 MACUL

MACUL

    Doutor

  • Usuários
  • 770 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 26/05/2009, 15:00

A questão então não é programação é matemática.

Pense um pouco.

Qual operação é executada primeiro na matemática ?

Da programação so restará saber que a variável result é inteira e portanto será aredondada caso o resultado seja um decimal.

agora já sabe. Por favor responda você mesmo para outros que lerem o tópico.

Abç
MACUL
*************** M ** A ** C ** U ** L ***************

*************************************************

#3 alanrudi

alanrudi

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 26/05/2009, 16:24

a questão não é matemática é de característica da linguagem msm ... eu vi q o operador q ela executa primeiro é na ordem + - * / msm assim não chega ao resultado do gabarito esta é a minha dúvida ..

#4 #KautZmanN#

#KautZmanN#

    Turista

  • Usuários
  • 44 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre/RS

Posted 27/05/2009, 12:14

Cara,
O resultado é 2,5 na matemática.

Como o Macul falou, trata-se de um inteiro.
Como o resultado é um Decimal ele arredonda.

O resultado seria 3.

Edição feita por: #KautZmanN#, 27/05/2009, 12:16.


#5 alanrudi

alanrudi

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 27/05/2009, 18:49

então eu cheguei em 2,5 tb ... o gabarito tá errado então... só queria saber se o C# arredonda para cima ou para baixo ...

#6 MACUL

MACUL

    Doutor

  • Usuários
  • 770 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 01/06/2009, 12:17

MATEMÁTICA

3. Regras de Precedência de Operadores
Assim como na matemática, pode ser necessário fazer combinações entre os operadores.
Além dos operadores, uma expressão pode conter também os símbolos de parênteses, para mudar a prioridade do cálculo.
A tabela abaixo apresenta a prioridade assumida para o cálculo de expressões:
Prioridade no Cálculo de Expressões
1º Lugar Parênteses mais internos
2º Lugar Funções
3º Lugar Operadores aritméticos 1º Lugar Multiplicativos (*, /, Div, Mod)
2º Lugar Aditivos (+, -)
4º Lugar Operadores relacionais
5º Lugar Operadores lógicos 1º Lugar Not
2º Lugar And
3º Lugar Or
Havendo algum empate em uma expressão, deve-se fazer primeiro o cálculo da esquerda. Caso não existe um operador na expressão a ser avaliada, basta passar para o próximo, seguindo a prioridade.


Exemplo 1:
3 + 4 * 9
3 + 36
39 O operador multiplicativo tem prioridade sobre o aditivo

Exemplo 2:
(3 + 4) * 9
7 * 9
63 Os parênteses agora ganham a prioridade

Exemplo 3:
8 – sqr(4) + 5
8 – 16 + 5 A função tem prioridade sobre os outros operadores
-8 + 5
-3 Há empate entre dois operadores + e -, calculando-se primeiro o da esquerda


***************************************************************************
http://forum.wmonlin...php/t95144.html
Inteiro
byte - inteiro de 1 bit (0 a 255)
sbyte - inteiro de 1 bit (-127 a 127)
int - inteiro de 32 bits (-2.147.483.648 a 2.147.483.648)
uint - inteiro de 32 bits (0 a 4.294.967.295)
long - inteiro de 64 bits (-9.223.372.036.854.775.808 a 9.223.372.036.854.775.808)
ulong - inteiro de 64 bits (0 a 18.446.744.073.709.551.615)
short - inteiro de 16 bits (-32.768 a 32.767)
ushort - inteiro de 16 bits (0 a 65.535)

http://msdn.microsof...und(VS.71).aspx
Math.Round(3.44, 1); //Returns 3.4.
Math.Round(3.45, 1); //Returns 3.4.
Math.Round(3.46, 1); //Returns 3.5.


http://www.blackwasp...ngDecimals.aspx

Attached Files


*************** M ** A ** C ** U ** L ***************

*************************************************




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq