Buscar

Exercício 4 Algoritmos

Prévia do material em texto

ssinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
+, - e *
&&, || e ~
=, > e ||
 <, > e >=
&&, >= e ||
 
 
Explicação:
<, > e >=
 
Falso. Nenhum é relacional &&, || e ~
 
Falso. O único relacional é o > =, > e ||
 
Falso. O único relacional é o >= &&, >= e ||
 
Falso. Nenhum relacional +, - e *
 
 
 
 2a Questão
Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde aos questionamentos
realizados em relação à expressão: X * X + Y > Z.
 Questionamentos:
 - Esta expressão é VERDADEIRA ou FALSA?
 - O valor do termo X * X + Y é igual a qual valor ?
 
 A expressão é FALSA, e o valor de X * X + Y = 3.
A expressão é FALSA, e o valor de X * X + Y = 4.
A expressão é FALSA, e o valor de X * X + Y = 6.
A expressão é VERDADEIRA, e o valor de X * X + Y = 3.
A expressão é VERDADEIRA, e o valor de X * X + Y = 5.
 
 
Explicação:
 
Questionamentos:
 - Esta expressão é VERDADEIRA ou FALSA? A expressão é Falsa.
 - O valor do termo X * X + Y é igual a qual valor ? O resultado da expressão é 3
Resolvendo a expressão : X * X + Y > Z
 1 * 1 + 2 dá 1 + 2 que é 3
 3 > Z, sendo que Z vale 5 ? FAlsa.
 
 
 
 
 3a Questão
Qual dos fragmentos de código calcula um preço de um produto com desconto de 7,5% ?
 PRECO_DESC = PRECO * 7.5%;
PRECO_DESC = PRECO * 0.75;
PRECO_DESC = PRECO * 0.075;
PRECO_DESC = PRECO * 7.5 / 100;
 PRECO_DESC = PRECO - PRECO * 7.5 /100;
 
 
Explicação:
 Verdadeiro
PRECO_DESC
= PRECO -
PRECO * 7.5
/100;
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco.
PRECO_DESC
= PRECO *
7.5 / 100;
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco. 
Além disso, calcula 75% e não o valor do enunciado.
PRECO_DESC
= PRECO *
0.75;
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco.
Além disso, calcula outra porcentagem e não o valor do enunciado.
PRECO_DESC
= PRECO *
0.075;
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco.
Além disso, usa % incorretamente. Na Matemática o símbolo %
indica porcentagem, mas em C++ representa o resto da divisão
inteira.
PRECO_DESC
= PRECO *
7.5%;
 
 
 
 
 4a Questão
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a
alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para
que o resultado da combinação seja verdadeiro.
((pontos>=10) % (pontos <=20))
((pontos>=10) || (pontos <=20))
 ((pontos>=10) && (pontos <=20))
((pontos>=10) ! (pontos <=20))
((pontos>=10) # (pontos <=20))
 
 
Explicação:
Pelo tabela verdade do operador e ( && em C++), as duas condições devem ser verdadeiras para toda a expressão ser verdadeira.
Se for o ou (símbolo ||), basta uma condição se verdadeira para toda a expressão ser verdadeira.
% é para cálculo de resto.
# não tem efeito
O operador ! é unário e inverte o valor lógico. Ou seja, se a expressão for verdadeira : ! expressão é falsa.
 
 
 
 5a Questão
A declaração de variáveis permite reservar um espaço na memória para que possa armazenar os dados de um programa. Indique os nomes
de variáveis que são válidos em C++.
 mumero2Casa, idade
 double, int
us# , tempo
preço, medida
8situacao, numero
 
 
Explicação:
Falso. Não se usa # us# , tempo
 
Falso. Não se usa cedilha. preço, medida
 
Falso. Não se pode começar com dígito. 8situacao, numero
 
 Verdadeiro mumero2Casa, idade
 
Falso. São palavras reservadas para tipos de dados. double, int
 
 
 
 6a Questão
Considerando a linguagem de programação C++....Quando definimos uma variável, na verdade estamos fazendo uma reserva estática de
memória. Esta reserva de memória é dita estática por ser definida em tempo de compilação, diferente da reserva dinâmica de memória que
é feita em tempo de execução. Portanto, toda declaração de variáveis é a reserva de uma certa quantidade de memória antes da execução
do programa, sendo assim é necessário que seja estabelecida a quantidade de memória que está sendo reservada e também seu endereço.
Isto é feito, respectivamente, pela definição do:
 tipo de dado e identificador da variável.
tipo da variável apenas, pois a alocação é feita sempre no mesmo endereço de
memória.
compilador que está alocando a memória e pelo tipo de linguagem que está sendo
utilizado.
identificador da variável apenas, pois uma variável sempre possui o mesmo tipo de
dado.
identificador da variável e do tipo de dado.
 
 
Explicação:
 Verdadeiro
tipo de dado e identificador da
variável.
 
Falso. No C++ primeiro se escreve o tipo da
variável e depois o nome ou identificador da
variável.
identificador da variável e do tipo
de dado.
 
FAlso. No C++ primeiro se escreve o tipo da
variável e depois o nome ou identificador da
variável.
tipo da variável apenas, pois a
alocação é feita sempre no mesmo
endereço de memória.
 
Falso.No C++ primeiro se escreve o tipo da
variável e depois o nome ou identificador da
variável.
identificador da variável apenas,
pois uma variável sempre possui o
mesmo tipo de dado.
 
Falso. Nâo importa o compilador. No C++
primeiro se escreve o tipo da variável e depois o
nome ou identificador da variável.
compilador que está alocando a
memória e pelo tipo de linguagem
que está sendo utilizado.
 
 
 
 
 7a Questão
Assinale a alternativa que apresenta APENAS operadores relacionais.
&&, || e ~
=, > e ||
 <, > e >=
&&, >= e ||
+, - e *
 
 
Explicação:
<, > e >=
 
&& e || são operadores lógicos na linguagem C++
 ~ é operador na lógica matemática para negação
&&, || e ~
 
 = é atribuição
 > relacional
 || ou lógico
=, > e ||
 
O único relacional é >= . Os outros dois são operadores lógicos. &&, >= e ||
 
 Operadores matemáticos +, - e *
 
 
 
 8a Questão
Para a = 2, b = 5 e c = 4, determine qual das sentenças retornará verdadeiro em linguagem de programação C++.
a == c
 ((b = 2) == a)
pow(c,a) > b * c
 (b + 2) > (a * c)
(b % a) == 0
 
 
Explicação:
Analisando ...
Para a = 2, b = 5 e c = 4, determine qual das sentenças retornará verdadeiro em
linguagem de programação C++.
 
 Falso. Testa se a é igual a c. Como a vale 2 e c vale 4 então é falso. a == c
 
 Falso. Note que b vale 5. Então b+2 vale 7. Note que a*c vale 2*4
que dá 8. Então : 7 > 8 é falso.
(b + 2) >
(a * c)
 
 b recebeu 2 e depois foi comparado com == com o valor de a que é 2.
Logo, é verdadeira a comparação.
((b = 2)
== a)
 
 Falso. O pow pega o valor de c e eleva ao expoente dado por a, dando
o valor de 4 elevado a 2, que é 16.
 b*c é 5 * 4 que dá 20. 16 > 20 ? Não. Falso.
pow(c,a)
> b * c
 
 Falso. 5 % 2 é 1, pois é o resto da divisão de 5 por 2. Logo, 1 não é
igual a 0, teste feito com o operador == .
(b % a)
== 0

Continue navegando