Ir ao conteúdo

Portugol Colocar varias variaveis na mesma linha em PortugolStudio.


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

 

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
Postado

@devair1010 Não seria isso, a minha intenção seria fazer algo parecido com o split do python, na hora do usuario colocar os dados ser tudo em uma linha

 

nesse caso isolado: A = 10 , B = 20

e na outra foto é o exercicio completo

image.thumb.png.cbcda8e2fc92bfd036551d2a4c8ffb2b.pngimage.png.55cfe0fa5580d84e238b73084df661c6.png

  • Curtir 1
Postado

@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

 

Postado

@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

Postado

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
  • Solução
Postado

@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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!