Exercício 004 operações aritméticas

Home Fóruns Programação Básica Exercício 004 operações aritméticas

Visualizando 22 respostas da discussão
  • Autor
    Posts
    • #66604
      real numero1, numero2
      		escreva(" { EXercício 004 - Operações Aritiméticas basicas }\n" + "Digite um valor:\t ")
      		leia(numero1)
      		escreva("Digite outro valor")
      		leia(numero2)

      // Não sei o Porque mas não estou conseguindo realizar a divisão inteira
      escreva(" SOMA = " + (numero1 + numero2) + "\n DIFERENÇA = " + (numero1 + numero2) + "\n PRODUTO = " + (numero1*numero2) + "\n DIVISÃO INTEIRA = " + ((numero1 - ( numero1 % numero2))/numero2)
      // não consigo transformar os números em inteiros para pegar o resto da divisão, não sei o porque mas o portugol studio não ta aceitando o operador % de número real
      escreva("\n DIVISÃO REAL =" + (numero1/numero2) + ("\n RESTO DA DIVISÃO = ") + ( inteiro numero1 % inteiro numero2) )

      • Este tópico foi modificado 3 anos, 6 meses atrás por IcaroFilho.
    • #66605
      real numero1, numero2
      		escreva(" { EXercício 004 - Operações Aritiméticas basicas }\n" + "Digite um valor:\t ")
      		leia(numero1)
      		escreva("Digite outro valor")
      		leia(numero2)
      		escreva(" SOMA = " + (numero1 + numero2) + "\n DIFERENÇA = " + (numero1 + numero2) + "\n PRODUTO = " + (numero1*numero2) +  "\n                    DIVISÃO INTEIRA = " + ((numero1 - ( numero1 %  numero2))/numero2)) 
      		escreva("\n DIVISÃO REAL =" + (numero1/numero2) + ("\n RESTO DA DIVISAO = ") + (  numero1 %   numero2) )                               //assim acho que esta mais legível obs:acrecentei o parenteses que tinha tirado sem querer 
    • #66648
      IcaroFilho
      Moderador

      Bom dia Antônio,
      Primeiramente, não há necessidade de escrever todo o código em apenas uma linha.
      Menor numero de linhas não quer dizer o código é melhor ou pior. E devido a linha ser extensa, a probabilidade de errar por falta de atenção e numa revisão é maior (tanto que isso ocorreu na sua DIFERENÇA, onde a operação seria subtração e realizou uma nova soma).

      Quanto a sua divisão inteira, basta dividir um numero pelo outro (dividendo pelo divisor) que o resultado da divisão inteira será o quociente.
      numero1/numero2, Contudo, por se tratar de dois números reais, sua divisão será em formato decimal. Para obtermos o quociente de forma inteira, necessitamos importar a biblioteca Tipos para podermos converter de formato real para inteiro.

      inclua biblioteca Tipos --> tp
      .
      .
      escreva("\n DIVISÃO INTEIRA = " + tp.real_para_inteiro(numero1/numero2))

      Em ultimo lugar, não é que o portugol não esteja aceitando o %. O fato é que ele esta realizando a operação até o resto ser zero (por isso o quociente retornará , em sua maioria, com virgula).

      Sendo assim tem-se que passa-los individualmente para inteiro e depois realizar a operação.
      escreva("\n RESTO DA DIVISAO = " + tp.real_para_inteiro(numero1) % tp.real_para_inteiro(numero2))

      Segue o código completo:

      programa
      {
      	inclua biblioteca Tipos --> tp
      	
      	funcao inicio()
      	{
      		real numero1, numero2
      		escreva(" { EXercício 004 - Operações Aritiméticas basicas }\n" + "Digite um valor: ")
      		leia(numero1)
      		escreva("Digite outro valor: ")
      		leia(numero2)
      		escreva("---------RESULTADO---------")
      		escreva("\n SOMA = " + (numero1 + numero2))
      		escreva("\n DIFERENÇA = " + (numero1 - numero2))
      		escreva("\n PRODUTO = " + (numero1*numero2))
      		escreva("\n DIVISÃO INTEIRA = " + tp.real_para_inteiro(numero1/numero2))
      		escreva("\n DIVISÃO REAL =" + (numero1/numero2))
      		escreva("\n RESTO DA DIVISAO = " + tp.real_para_inteiro(numero1) % tp.real_para_inteiro(numero2))
      	}
      }
    • #66723

      Boa tarde, muito Obrigado por apontar os meus erros , tenho essa mania de usar comandos que aprendi recentemente para tudo quando estou cansado… Como não foi especificado que a entrada tinha que ser um numero inteiro pensei que deveria utilizar uma variável real e por lembrar vagamente de que um numero a>b| a,b são variáveis inteiras e o resultado é = 0 , tentei contornar o problema passando ambas as variáveis para o tipo real. Porém, como o simbolo % não esta mostrando o resto com dois números reais não consegui aplicar a formula dividendo= divisor*quociente + resto que no caso seria quociente = (dividendo-resto)/divisor. Não sabia que esse operador não funcionava para números reais.

    • #66975

      olá,

      A divisão Real não está funcionando. não consigo localizar meu erro.

      pode me ajudar?

      programa
      {
      	inclua biblioteca Tipos-->t
      	
      	funcao inicio()
      	{
      		inteiro n , n1 
      		
      		escreva ("Digite um valor: ")
      		leia (n)
      		escreva ("Digite outro valor: ")
      		leia (n1)
      		real r= t.inteiro_para_real (n/n1)
      
      		escreva ("------------RESULTADOS------------\n")
      
      		escreva ("SOMA = " + (n + n1) + "\n")
      		escreva ("Diferença = " + (n -n1) + "\n")
      		escreva ("Produto = " + (n*n1) + "\n")
      		escreva ("Divisão Inteira = " + (n/n1) + "\n")
      		escreva ("Divisão real =" + r +"\n")
      		escreva ("Resto da Divisão =" + (n%n1)+ "\n")
      		
      		
      				
      	}
      }
      • Esta resposta foi modificada 3 anos, 6 meses atrás por IcaroFilho.
      • Esta resposta foi modificada 3 anos, 6 meses atrás por Tutora Mayla.
    • #67029
      IcaroFilho
      Moderador

      Bom dia Marcos.
      acontece que na divisão real r, você esta convertendo o quociente da divisão em numero real (ela já esta em formato inteiro).

      Para efetuar esta operação e ter o quociente em formato real, temos que converter uma parte em real antes de realizar a operação.
      real r= t.inteiro_para_real (n/n1) Passa para real r= t.inteiro_para_real(n)/n1

      Podemos também importar a biblioteca matemática para efetuarmos o arredondamento em caso de dizima.
      inclua biblioteca Matematica --> m
      E subistituimos o output:
      DE: escreva ("Divisão real =" + r +"\n") PARA: escreva ("Divisão real =" + m.arredondar(r,2) +"\n")

    • #67211

      Bom dia! Nesse exercício encontrei dificuldade na parte de módulo. Creio que consegui realizar o exercício, mas ficou diferente do proposto.
      Qual a forma correta para realizar? Esse formato é correto?
      Obrigada.

      Att.

      Paula.

      //EXERCICIO 004 OPERAÇÕES ARITIMETICAS
      		escreva("Olá Mundo!")
      
      		real a, b, soma, sub, mult, div, divisao_inteira
      	
      	        escreva("\n")
      		escreva("Digite um valor: ")
      		leia(a)
      		escreva("Digite outro valor: ")
      		leia(b)
      		escreva("\n")
      	
      
                soma = a + b
                sub = a - b
                mult = a * b
                div = a / b
                divisao_inteira = a / b
                
                inteiro a1, b2, resto
                
                escreva("Digite um valor:")
                leia(a1)
                escreva("Digite outro valor:")
                leia(b2)
                
                resto = a1 % b2
                
                
      		escreva("------------RESULTADOS--------------", "\n")
      		
      		escreva("\nSOMA = ", + soma)
      		escreva("\nDIFERENÇA = ", + sub)
      		escreva("\nPRODUTO = ", + mult)
      		escreva("\nDIVISÃO INTEIRA = ", + divisao_inteira)
      		escreva("\nDIVISÃO REAL = ", + div)
      		escreva("\nRESTO DA DIVISÃO = ", + resto)
      • #67312
        Tutora Mayla
        Mestre

        Paula, movi a sua dúvida para um tópico que fala sobre o assunto, é bom sempre antes de criar um tópico verificar se já não existe um sobre o mesmo assunto.
        Aqui há algumas explicações do Icaro mostrando como utilizar a biblioteca Tipos.
        Atente-se que a divisão inteira e real estão sendo feitas da mesma forma e obtendo o mesmo resultado, e não deveria estar assim. Utilizando a biblioteca Tipos é possível resolver tanto este problema quanto realizar o módulo sem ter que ler os números novamente. Leia as explicações aqui deste tópico e caso a dúvida persista volte a entrar em contato que lhe ajudaremos.

        Espero ter ajudado, continue se dedicando e estará cada vez melhor!

    • #67833
      Joab Gomes Jatai
      Participante
      programa
      {
      	
      inclua biblioteca Tipos --> tp
      	funcao inicio()
      	{
      		inteiro n1, n2
      		escreva("Digite um valor: ")
      			leia(n1)
      		escreva("Digite outro valor: ")
      			leia(n2)
      		
      		inteiro soma = (n1 + n2)
      		inteiro diferenca = (n1 - n2)
      		inteiro produto = (n1 * n2)
      		inteiro divisaoInteira = (n1 / n2)
      		inteiro divisaoReal = n1 / n2
      		inteiro resto = (n1 % n2)
      
      		escreva("\n")
      
      		escreva("---------- RESULTADOS ---------- \n")
      		escreva("SOMA = " + soma + "\n")
      		escreva("DIFERENÇA = " + diferenca + "\n")
      		escreva("PRODUTO = " + produto + "\n")
      		escreva("DIVISÃO INTEIRA = " + divisaoInteira + "\n")
      		escreva("DIVISÃO REAL = " + tp.inteiro_para_real(n1)/n2 + "\n")
      		escreva("RESTO DA DIVISÃO = " + resto + "\n")
      • Esta resposta foi modificada 3 anos, 6 meses atrás por IcaroFilho. Razão: corrigir formatação
      • #67884
        Tutora Mayla
        Mestre

        Joab, seu código está certo, parabéns!
        Sugiro apenas uma melhoria já que há uma linha dele que não está sendo utilizada.
        Em vez de fazer a atribuição inteiro divisaoReal = n1 / n2 que não está sendo utilizada, faça: inteiro divisaoReal = tp.inteiro_para_real(n1)/n2 e no escreva apenas ponha a variável divisaoReal de forma semelhante aos outros comandos escreva.

        Ressalto que nesse exercício não há problema em fazer a conta ou atribuindo à variáveis ou direto no escreva, mas como a maioria das contas está sendo atribuída a uma variável, é uma boa prática manter a consistência para ajudar na leitura do seu código.

        Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.

    • #101491
      alana vasconcelos
      Participante

      Oi! estou com duvida no exercicio proposto n4

      segue o codigo

      programa
      {
      inclua biblioteca Matematica
      inclua biblioteca Tipos –> t

      funcao inicio()
      {
      inteiro valor1, valor2
      real r= t.inteiro_para_real(valor1)/valor2

      escreva(“Escreva um valor: “)
      leia (valor1)

      escreva(“Escreva o segundo valor: “)
      leia(valor2)

      escreva(“A soma entre os dois valores eh de: “, valor1 + valor2)
      escreva(“\nA diferenca entre os dois valores eh de: “, valor1 – valor2)
      escreva(“\nO produto dos dois valores eh igual a: “, valor1*valor2)
      escreva(“\nA divisao real entre os dois eh de: “, divisao)
      escreva(“\nA divisao inteira entre os dois eh: “, valor1/valor2)
      escreva(“\nO resto da divisao eh de: “, valor1%valor2)

      }
      }

    • #101507
      Tutora Jessica
      Moderador

      Ola ALana, qual seria a sua dúvida?

    • #102263

      Não estou conseguindo fazer o calculo de divisão real, não encontro no portugol estudio o recurso explicado na aula para fazer com que a divisão seja real, talves porque o portugol estudio atual é uma nova versão.

    • #102264

      Não estou conseguindo fazer o calculo de divisão real, não encontro no portugol estudio o recurso explicado na aula para fazer com que a divisão seja real, talves porque o portugol estudio atual é uma nova versão.

    • #102267
      Tutora Jessica
      Moderador

      Ola Thiago,
      Você incluiu no seu código a biblioteca Tipos?
      Resposta do nosso tutor Icaro, acima:
      Para obtermos o quociente de forma inteira, necessitamos importar a biblioteca Tipos para podermos converter de formato real para inteiro.

    • #109803
      Andreza Assis
      Participante

      Oie boa tarde…
      Eu estou com duvida, pois meu ex 04 esta dando o valor 0 na divisão inteira e real, além de o resto da minha divisão esta dando 2, o que esta errado.

      
      programa
      
      {
      inclua biblioteca Tipos --> tp
      	
      	funcao inicio()
      	{
      		inteiro n1,n2
      
      	 
      		escreva("Digite um valor ")
      		leia(n2)
      		escreva("Digite outro valor ")
      		leia(n1)
      		escreva("--------RESULTADO-------\n")
      		escreva("SOMA = " +(n1+n2))
      		escreva("\n")
      		escreva("DIFERENÇA = " +(n2-n1))
      		escreva("\n")
      		escreva("PRODUTO = " +(n1*n2))
      		escreva("\n")
      		escreva("DIVISÃO INTEIRA = " + tp.real_para_inteiro(n1/n2))
      		escreva("\n")
      		escreva("DIVISÃO REAL = "+(n1/n2))
      		escreva("\n")
      		escreva("RESTO DA DIVISAO = " + tp.real_para_inteiro(n1) % tp.real_para_inteiro(n2))
    • #109807
      Tutora Jessica
      Moderador

      Ola Andreza, dê uma olhadinha na explicação acima do Ícaro, acho que pode lhe ajudar.

    • #127166

      Olá!
      Estou com o mesmo problema, pois meu calculo não aparece valor real.
      No meu Portugol não tem esse tipo de biblioteca que foi passado na aula 07.
      Quando incluo a biblioteca da erro.
      programa
      {
      //inclua biblioteca Matematica
      //inclua biblioteca tipos–> t
      funcao inicio()
      {
      inteiro n1,n2,rsoma,rsub,rprod,rdiv_int,rres_div
      real rdiv_real
      //real rdiv_real = t.inteiro_para_real(n1)/n2

      escreva(“Digite um valor: “)
      leia(n1)
      escreva(“Digite outro valor: “)
      leia(n2)
      escreva(“\n”)
      rsoma=n1+n2
      rsub=n1-n2
      rprod=n1*n2
      rdiv_int=n1/n2
      rdiv_real=n1/n2
      rres_div=n1%n2
      escreva(“———
      —RESULTADOS————-\n”)
      escreva(“SOMA = “+rsoma+”\n”)
      escreva(“DIFERENÇA = “+rsub+”\n”)
      escreva(“PRODUTO = “+rprod+”\n”)
      escreva(“DIVISÃO INTEIRA = “+rdiv_int+”\n”)
      escreva(“DIVISÃO REAL = “+rdiv_real+”\n”)
      //escreva (“Divisão real =” + m.arredondar(n1)/n2 +”\n”)
      //escreva(“DIVISÃO REAL = “+rdiv_real = inteiro_para_real (n1)/n2+”\n”)
      escreva(“RESTO DA DIVISÃO = “+rres_div+”\n”)

    • #127209
      Tutora Jessica
      Moderador

      Ola Gustavo, você incluiu a biblioteca matemática e esta usando la embaixo m.arredondar, então você deve incluir a biblioteca e colocar ela como m, dessa forma:
      inclua biblioteca matematica -> m

    • #127219

      Oi, Jessica!
      Fiz diversos testes, a função inteiro_para_Real não tem na biblioteca. Depurei algumas linhas para fazer os testes.
      Quando incluo a função Matematica, dessa mesma forma que vc disse, não reconhece.
      Como faço para incluir na biblioteca a opção inteiro_para_real?

    • #127226

      Já corrigi. Entendi!
      Obrigado!

    • #140402
      Aldenes Marques
      Participante

      fiz diferente da resolução do moderador, mas não deu erro no programa. poderiam confirmar se esta tudo certo?

      escreva(“{EXERCÍCIO 004 – Operações Aritméticas} \n”)
      escreva(“Digite um valor: “)
      inteiro a
      leia (a)
      escreva(“Digite outro valor: “)
      inteiro b
      leia(b)
      escreva(“\n ——– RESULTADO ——–\n”)
      escreva(“SOMA = ” + (a+b) + “\n”)
      escreva(“DIFERENÇA = ” + (a-b) + “\n”)
      escreva(“PRODUTO = ” + (a*b) + “\n”)
      escreva(“DIVISÃO INTEIRA = ” + (a/b) + “\n”)
      escreva(“DIVISÃO REAL = ” + tp.inteiro_para_real (a)/b + “\n”)
      escreva(“RESTO DA DIVISÃO = ” + a%b + “\n”)

      • #140503
        Tutora Jessica
        Moderador

        Ola Aldenes, qual erro aparece para você?

    • #140511
      Fabiana Santos
      Participante

      Olá boa tarde eu estou fazendo o exercício 004 no portugol no tablet, e com isso NÃO estou conseguindo incluir a biblioteca poderiam me ajudar!

      Também não sei colocar o exercício que eu salvei podem me ajudar?

      • #140525
        Tutora Jessica
        Moderador

        Ola Fabiana, você esta usando a versão web no tablet?

    • #140632
      mauro carlos de souza
      Participante

      Boa noite …ocorreu que ao realizar exercicio 004, aula 008 do modulo 01, que ia tudo bem no item de divisão real , quando ao ir buscar na biblioteca tipo para inclui-la percebi que na minha versao não possui o item TIPOS na biblioteca…. ia baixar uma versao mais antiga mas preferi vir em vcs primeiro para entender o que acontece… se existe uma forma de incluir o INTEIRO_PARA_REAL direto no codigo ou uma outra forma… ou não…
      gentileza, me ajudem por por favor….aguardo e agradeço… ah parabens ,,,curso showwww

    • #140654
      Tutora Jessica
      Moderador

      Ola Mauro, trouxe sua duvida para uma ja existente no forum, dê uma olhadinha nas explicações acima e veja se consegue algum resultado, caso nao consiga retorne ao forum para que possamos lhe ajudar.

Visualizando 22 respostas da discussão
  • Você deve fazer login para responder a este tópico.