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.
Questão Com Operadores
Started By alanrudi, 26/05/2009, 08:46
5 replies to this topic
#1
Posted 26/05/2009, 08:46
#2
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
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
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
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.
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
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
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
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)