Ir ao conteúdo
  • Cadastre-se

Portugol Colocar varias variaveis na mesma linha em PortugolStudio.


Ir à solução Resolvido por devair1010,

Posts recomendados

 

Estou tentando fazer um codigo em Portugol, ja tentei realizar diversas vezes algumas variações, tentei usar biblioteca de texto e estudar um pouco mas até agora não consegui, to achando que tem algum tipo de limitação no Portugol Studio, o exercicio que estou tentando fazer é o seguinte: Neste problema, deve-se ler o código de uma peça 1, o número de peças 1, o valor unitário de cada peça 1, o código de uma peça 2, o número de peças 2 e o valor unitário de cada peça 2. Após, calcule e mostre o valor a ser pago.
A minha duvida é possível colocar varias variaveis na mesma linha em PortugolStudio, se sim, como é.

Meu codigo que estou tentando fazer:
 

programa {

inclua biblioteca Matematica

inclua biblioteca Texto

funcao inicio() {

inteiro codigo

real preco, valor, unidade

leia(codigo)

leia(unidade)

leia(preco)

// real digito Texto.obter_real(unidade, 3) - Tentei testa essa biblioteca mas não entendi e nem consegui

valor = preco * unidade

escreva("VALOR A PAGAR: R$ ", Matematica.arredondar(valor,2))

}

}

Sei q em outras linguagem é possível, exemplo o python q voce pode usar o split.

image.png.2c47836d53830cd16b7da2ed4b23bef5.png

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@LonfLonf   você quer dizer na hora que o usuário for digitar esses três valores , poder digitar todos ao mesmo tempo ?   

assim:

1 2 5 
// sendo 
// 1 para o cOdigo
// 2 para a unidade ou quantidade
// 3 para o valor

pois no python o método "split" serve é para dividir uma string em partes menores ., conforme explicado nesse artigo desse Link aqui :   

https://vocepergunta.com/library/artigo/read/778320-como-usar-o-split-em-python

 

Link para o comentário
Compartilhar em outros sites

@LonfLonf    creio que você possa criar essa função "split"   no portugol studio , usando uma variável do tipo "cadeia"  que irá pegar esses vários números digitados e separados por um espaço , e depois separá-los e converter cada um para "inteiro"  ,  e nesse Link tem Alguma coisa sobre isso :

https://pt.stackoverflow.com/questions/324294/ler-dois-números-em-uma-única-linha-no-portugol-studio

Link para o comentário
Compartilhar em outros sites

Tinha visto esse codigo e tentei utilizar a mesma logica, mas acabei que não achei algo de como pegar a a variavel do tipo cadeia e converter para um inteiro.

Vou tentar achar mais coisas e fazer esse codigo
 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@LonfLonf    nesses links tem informações sobre como fazer esse código que você quer  :

https://github.com/UNIVALI-LITE-BACKUP/Portugol-Studio-Recursos/blob/master/exemplos/bibliotecas/tipos/real.por

 

https://wagnergaspar.com/como-ordenar-um-vetor-de-inteiros-com-portugol-algoritmo-bubble-sort/

 

https://github.com/UNIVALI-LITE-BACKUP/Portugol-Studio-Recursos/blob/master/exemplos/bibliotecas/tipos/inteiro.por

 

e seu código poderia ser assim :

programa
{   //Considerar a biblioteca Texto como o atributo *tx*
  inclua biblioteca Texto      --> tx
  inclua biblioteca Tipos      --> tp
  inclua biblioteca Matematica --> mat
  funcao inicio()
  {
    cadeia respostaCompleta
    inteiro tamanho , num, pos = 0
    cadeia numero = ""
    real rl , vetor[10]
    inteiro codigo
    real preco, valor, unidade
    escreva("digite Código  QuantidaDe  Preço ")
    leia(respostaCompleta)
    respostaCompleta = respostaCompleta + " " // p/ finalizar o ultm num
    inteiro tamanhoResposta = tx.numero_caracteres(respostaCompleta)
    //Loop que varre os caracteres armazenados na resposta.
    para (inteiro contador = 0; contador < tamanhoResposta ; contador ++) 
    {
      //Concatena o número atual com o seguinte(para os números com mais de um dígito, ex:55, 130...), caso não tenha espaço separador.
      numero = numero + tx.obter_caracter(respostaCompleta, contador)
      //Separa os números digitados por espaço, para exibí-los.
      se( tx.obter_caracter(respostaCompleta, contador+1) == ' ' )
      { 
        num = tp.cadeia_para_inteiro(numero,10)
        rl = tp.cadeia_para_real(numero)
        numero = ""
        vetor[pos] = rl
        pos++
        contador = contador + 1
      }
    }
    codigo  = tp.real_para_inteiro(vetor[0])
    unidade = vetor[1]
    preco   = vetor[2]
    valor   = preco * unidade
    escreva("\n\n")
    escreva("Informou o VaLor do codigo  como sendo= ",codigo ,"\n")
    escreva("Informou o VaLor da unidade como sendo= ",unidade,"\n")
    escreva("Informou o VaLor do preco   como sendo= ",preco  ,"\n")
    escreva("VALOR A PAGAR: R$ ", Matematica.arredondar(valor,2)) 
    escreva("\n\n")
  }
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!