Fórum Vetor ilimitado #427625

30/10/2012

0

Sei que aqui e delphi mais preciso de uma ajudinha.

Preciso fazer um cadastro no virtualg, tem que ser ilimitado, pensei em vetor mais como fazer um vetor ilimitado.
Jose Junior

Jose Junior

Responder

Posts

30/10/2012

Joel Rodrigues

É Virtualg ou VisuAlg?
Responder

Gostei + 0

30/10/2012

Bruno Leandro

Ola faz assim, cria uma variavel

variavel = Array of Integer;

e quando voce for usar para zerar utilize o setlength

Ex
SetLength(variavel,0);

ai quando tiver adicionando voce vai incrementando
SetLength(variavel,Length(variavel)+1);

e para definir um valor voce pode colocar
variavel[Length(variavel)-1] := 1;
Responder

Gostei + 0

30/10/2012

Jose Junior

É Virtualg ou VisuAlg?


E virtualg programa em portugol pra aprender algoritmo. n tem banco tem q ser com vetores.
Responder

Gostei + 0

31/10/2012

Jose Junior

é virtualg ou visualg?

e Visualg programa em portugol pra aprender algoritmo. n tem banco tem q ser com vetores.


Não consegui ainda!
Responder

Gostei + 0

31/10/2012

Joel Rodrigues

Opa, Bruno, isso aí que você passou é em Delphi e o amigo está com dúvida no tal Virtualg.

DigitalMan, pesquise sobre como fazer dimensionamento dinâmico de vetores no tal Virtualg. Assim, a cada novo elemento, você aumenta em uma unidade a capacidade do vetor.
Responder

Gostei + 0

19/07/2018

Anderson

Pelo menos até a versão atual do VisuAlg (3.0.6.5) não existe a possibilidade de declarar um vetor dinâmico, pois a seção de declarações de variável é fixa e não permite declarar variáveis durante a execução do programa, apenas no início. Porém, você pode escrever o seu vetor dentro de uma função ou procedimento, criando-o através de uma constante que é alimentada por uma variável global.
Segue o exemplo, espero ter ajudado.


Algoritmo "Registro em vetor dinâmico"
// Disciplina : [Linguagem e Lógica de Programação]
// Professor : Anderson Davyd Andrade de Souza
// Descrição : Exemplo de vetor dinâmico em cadastro de pessoa
// Autor(a) : Anderson Davyd Andrade de Souza
// Data atual : 19/07/2018

tipo
pessoas = registro
id:inteiro
idade:inteiro
altura:real
peso:real
sexo:caracter
nome:caractere
fimregistro

Var
// Seção de Declarações das variáveis
quantidade:inteiro

procedimento executar()
const q = quantidade

var
i:inteiro
pessoa:vetor[1..q] de pessoas

inicio

para i de 1 ate quantidade faca
pessoa[i].id <- i

escreval("===== PESSOA N°",i," =====")
escreval("")
escreva("Nome: ")
leia(pessoa[i].nome)

escreva("Idade: ")
leia(pessoa[i].idade)

escreva("Sexo(M/F): ")
leia(pessoa[i].sexo)

escreva("Altura: ")
leia(pessoa[i].altura)

escreva("Peso: ")
leia(pessoa[i].peso)

limpatela
fimpara

para i de 1 ate quantidade faca
escreval("")
escreval("===== PESSOA N°",pessoa[i].id," =====")
escreval("")
escreval("Nome: ",pessoa[i].nome)

escreval("Idade: ",pessoa[i].idade," ANOS" )

escreval("Sexo: ",maiusc(pessoa[i].sexo))

escreval("Altura: ",pessoa[i].altura)

escreval("Peso: ",pessoa[i].peso,"KG")

fimpara

fimprocedimento

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...

escreval("*** CADASTRO DE PESSOAS ***")
escreval("")

escreva("Quantas pessoas deseja cadastrar: ")
leia(quantidade)

limpatela

executar()

Fimalgoritmo
Responder

Gostei + 0

19/07/2018

Anderson

Pelo menos até a versão atual do VisuAlg (3.0.6.5) não existe a possibilidade de declarar um vetor dinâmico, pois a seção de declarações de variável é fixa e não permite declarar variáveis durante a execução do programa, apenas no início. Porém, você pode escrever o seu vetor dentro de uma função ou procedimento, criando-o através de uma constante que é alimentada por uma variável global.
Segue o exemplo, espero ter ajudado.


Algoritmo "Registro em vetor dinâmico"
// Disciplina : [Linguagem e Lógica de Programação]
// Professor : Anderson Davyd Andrade de Souza
// Descrição : Exemplo de vetor dinâmico em cadastro de pessoa
// Autor(a) : Anderson Davyd Andrade de Souza
// Data atual : 19/07/2018

tipo
pessoas = registro
id:inteiro
idade:inteiro
altura:real
peso:real
sexo:caracter
nome:caractere
fimregistro

Var
// Seção de Declarações das variáveis
quantidade:inteiro

procedimento executar()
const q = quantidade

var
i:inteiro
pessoa:vetor[1..q] de pessoas

inicio

para i de 1 ate quantidade faca
pessoa[i].id <- i

escreval("===== PESSOA N°",i," =====")
escreval("")
escreva("Nome: ")
leia(pessoa[i].nome)

escreva("Idade: ")
leia(pessoa[i].idade)

escreva("Sexo(M/F): ")
leia(pessoa[i].sexo)

escreva("Altura: ")
leia(pessoa[i].altura)

escreva("Peso: ")
leia(pessoa[i].peso)

limpatela
fimpara

para i de 1 ate quantidade faca
escreval("")
escreval("===== PESSOA N°",pessoa[i].id," =====")
escreval("")
escreval("Nome: ",pessoa[i].nome)

escreval("Idade: ",pessoa[i].idade," ANOS" )

escreval("Sexo: ",maiusc(pessoa[i].sexo))

escreval("Altura: ",pessoa[i].altura)

escreval("Peso: ",pessoa[i].peso,"KG")

fimpara

fimprocedimento

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...

escreval("*** CADASTRO DE PESSOAS ***")
escreval("")

escreva("Quantas pessoas deseja cadastrar: ")
leia(quantidade)

limpatela

executar()

Fimalgoritmo


Quando for possível utilizar ponteiros no VisuAlg, poderá fazer uso de um conceito chamado 'lista encadeada', onde nem precisará de índice para gravar n registros, o próprio registro dará acesso ao anterior.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar