Home › Fóruns › Programação Básica › Mod 02- Aula 4 – Exercício 19- Inverso ou Oposto
- Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 3 anos, 1 mês atrás por LARISSA R. APRILL REZENDE.
-
AutorPosts
-
-
26 de setembro de 2021 às 15:38 #76276LARISSA R. APRILL REZENDEParticipante
Boa tarde, não consigo entender onde estou errando.
programa
{
inclua biblioteca Matematica –> matfuncao inicio()
{
real num
real absoluto = mat.valor_absoluto(num)escreva(“{Exercício 19 – Inverso ou Oposto} \n”)
escreva(“Digite um número: “)
leia(num)escreva(“O inverso de ” + num + ” é igual a ” + 1/num)
escreva(“O oposto de ” + num + ” é igual a ” + absoluto “\n”)}
}Tem que usar a condição composta Se e Senao?
-
26 de setembro de 2021 às 21:28 #76293Michel SouzaParticipante
Olá Larissa, boa noite.
Primeiramente antes de postar seu código tenta configurá-lo, seleciona todo ele e clica em CODE logo acima.
Isso facilita tanto na visualização, quanto para rodar o código em busca de erros.
Segundo, tenha como prática a indentação do código, que é jogar a linha mais pra dentro, como num parágrafo, criando uma espécie de estrutura hierárquica, isso vai facilitar no futuro ainda mais quando for trabalhar com vários laços aninhados.
Quando você chegar na parte de validação dos dados vai entender o que estou falando.
Agora em relação a seu código, vejamos.
Primeiro tem que iniciar a variável num, assim:
real num = 0.0, porque?
// Como é real tem que ter o ponto, se fosse inteiro não precisava.
Você já atribuiu o valor de “absoluto” com o valor de “num” e ao mesmo tempo já colocou “num” como absoluto, sem ter nenhum valor para num.
Confuso né, até me perdi. Sua lógica:
real absoluto = mat.valor_absoluto(num)
Vai funcionar, mas não é uma boa prática de programação, aqui vc está apenas colocando o 0 (zero) como absoluto, poderia colocar no final,
na resposta, assim:
escreva("O oposto de " + num + " é igual a " + mat.valor_absoluto(absoluto) + "\n")
Veja que coloquei a função na variável absoluto que é digamos uma variável de saída, de resposta.
Você perguntou se é preciso usar SE ou SENAO, pelo que entendi do enunciado do exercício, acredito que sim (positivo -> inverso/
negativo -> oposto). Ficaria assim:se (num >= 0) { // número positivo inverso do número } senao se (num < 0) { // número negativo / não é necessário colocar o SE aqui. Oposto do número }
Que é pro caso de algum usuário(a) colocar -12 por exemplo.
Agora caso você esteja querendo mostrar o inverso e o oposto do número ao mesmo tempo,
basta dividir o 1 pelo num (inverso) e multiplicar o número por -1 (oposto), assim:inverso = 1 / num oposto = num * (-1)
Tentei explicar da melhor forma possível, espero ter conseguido tirar sua dúvida.
Bons Estudos! -
28 de setembro de 2021 às 13:38 #76436Tutora MaylaMestre
Larissa, completando a resposta do Michel, o
mat.valor_absoluto()
irá retornar o valor absoluto de um número, ou seja, se for -1 ou 1 teremos como resposta 1. Nesse contexto irá funcionar pois é o oposto de um número negativo, porém tome cuidado pois não serve para calcular o oposto de números positivos.Quanto a onde utilizar a função, lembre-se que é necessário fazer a leitura do valor antes de utiliza-lo, ou seja, nesta linha
real absoluto = mat.valor_absoluto(num)
a variável num ainda não tem valor, não adiantando de nada então utiliza-la na função.
Apenas após a linhaleia(num)
onde o valor é lido que seria correto utiliza-lo para alguma coisa, podendo aqui então realizarabsoluto = mat.valor_absoluto(num)
.Como o aluno Michel disse muito bem, o exercício pede a separação de inverso ou oposto de acordo com o sinal do número, ou seja se é positivo se deseja o inverso e se é negativo se deseja o oposto, para isso é necessário utilizar da condição
se
.Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.
-
28 de setembro de 2021 às 20:33 #76457LARISSA R. APRILL REZENDEParticipante
Michel e Mayla
Muito obrigada pelas orientações, consegui resolver =D
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.