Ir ao conteúdo
  • Cadastre-se

Portugol ler arquivo como entrada e trabalhar com conteúdo


Posts recomendados

Estimados,

Como faço para trabalhar com um número inteiro (de habitantes) que apresenta-se após o nome da cidade, dessa forma linha a linha, em um arquivo, para ser lido pelo programa escrito em Portugol? O objetivo é criar um arquivo de saída com a cidade e a respectiva população mais numerosa.

*detalhe para os inconformados, não estou pedindo o código pronto, apenas algo que me dê um norte de como trabalhar com isso em Portugol.

Saudações.

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

  • Moderador

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

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

achei que tivesse sido claro.

com o portugol, é possível ler um arquivo texto? particularmente um valor inteiro de um conjunto, explicado a seguir:

esse arquivo tem uma quantidade n de caracteres, seguidos de um valor inteiro. Cada conjunto desse é disposto linha a linha.

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

  • Membro VIP

Olá @nbah07 .

 

Que dá, dá, mas não sei se vai ser eficiente... Então, do pouco que sei e conseguir achar sobre arquivos no VisuAlg, ao associar um arquivo ao programa, a cada leia() que o VisuAlg encontrar, ele vai ler uma linha desse arquivo e jogar na variável que está no leia(), ou seja, enquanto não chegar ao fim do arquivo, todo leia() vai está direcionado ao arquivo... entende?   não seria possível ler algum dado do usuário via teclado enquanto o arquivo não terminar.

 

Veja, isso é o que eu encontrei até o momento... qualquer coisa dá uma pesquisada também e aguarda outros usuários mais experientes no tema.


De certo modo eu não achei muita coisa, usei esse algoritmo como base de análise:

algoritmo "lendo do arquivo"
arquivo "teste.txt"
var x,y: inteiro
inicio
para x de 1 ate 5 faca
   leia (y)
fimpara
fimalgoritmo

Fonte: Apoio Informática

 

Como cheguei a essa conclusão:

Peguei um arquivo de texto qualquer, e deixei como "teste.txt" na pasta do VisuAlg... simplesmente o programa leu as 5 primeiras linhas e finalizou...  então, deduzi que o VisuAlg simplesmente faz o leia() apontar o arquivo!!! (obs.: em outras linguagem, como Pascal, é possível dizer para onde o leia() iria apontar, ou seja, se para o arquivo ou para o teclado... no VisuAlg não sei fazer isso)

 

Daí, tentei usar outro leia() com outra variável para ver se apontava pro teclado, mas ele continuou a ler do arquivo....   resolvi fazer um teste para ler mais vezes do que existia linhas no arquivo... conclusão: leu todas a linhas, e após passou a ler do teclado!  :)

 

RESUMINDO:

- ao ler uma linha do arquivo, o VisuAlg já imprime a linha na tela (como se existisse um escreve(y)). Isso é ruim, pois polui o programa; Caso não quiser que aparece na tela, após ler, dá um limpaTela.

- para o seu contexto, você poderia preparar o arquivo e algoritmo para trabalhar com um tamanho específico. ou seja, fazer o programa ler de uma vez todas a linhas necessárias... como se fosse um loading de dados... ex.:

 

Cidades.txt

Citação

São Paulo
2038175
Rio de Janeiro
6498837
Brasília
2977216
Salvador
2938 092
Fortaleza
2609716

 

Nesse caso temos 5 cidades, num total de 10 linhas. Daí no algoritmo leria alternadamente a cidade e sua população...

 

Fiz um exemplo:

cidades_populacao.jpg

 

Nesse caso, criei um vetor para cidades e outro para a população...

 

Como fiz ler todas as linhas, o leia() ficou liberado para seu uso convencional... 

 

 

Por enquanto é isso... tente ver o que foi útil e vá desenvolvendo a sua própria lógica..

 

 

No aguardo.

 

 

 

 

 

 

 

adicionado 7 minutos depois

ADENDO:
Seria possível também inserir o tamanho do arquivo no próprio texto, por exemplo na primeira linha.... algo assim:
 

Citação

10

São Paulo
2038175
Rio de Janeiro
6498837
Brasília
2977216
Salvador
2938 092
Fortaleza
2609716

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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