Ir ao conteúdo
  • Cadastre-se

Pascal, ( Iniciante ) Dúvida


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Olá pessoal, gostaria de saber porque todo programa que vejo tem isso:
 

Procedure Algumacoisa;  BeginFor i:=1 to 2 do writeln (' alguma coisa[i] ');readln(' alguma coisa[i]');

 
Qual a finalidade desse comando?  e porque colocar no meio das frases??
 

Exemplo que achei na internet:
 

Procedure CadastroV;  BeginFor i:=1 to 2 do  Begincont_venda := 0;Write (''Digite o c¢digo da venda:'');Readln (venda[i].cod_venda);Write (''Digite o c¢digo do produto vendido:'');Readln (venda[i].cod_prod_vendido);Write (''Digite a quantidade vendida:'');Readln (venda[i].quant_venda);Write (''Digite a data em que a venda foi efetuada (DD/MM/AAAA):'');Readln (venda[i].data_venda);Write (''Digite o valor da venda efetuada:'');Readln (venda[i].valor_venda); End;
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Olá Lindemberg_santos

 

Esses colchete, "[ ]", são usados para poder acessar determinada posição dos arrays (vetores).

 

Assim como temos as variáveis comuns, ex.:
 

var  nome: string;  idade: interger;

Existe também uma estrutura chamada "array", que serve para criar um "conjunto de variáveis". Imaginem que você precisasse de ler 3 nomes diferentes, ex:
 

var  nome1 :string;  nome2 :string;  nome3 :string;

Percebe que criei 3 variáveis, deixei cada nome em uma variável separada... nome1, nome2 e nome3... beleza?

Mas o Pascal permite "agrupar essas variáveis"...

var  nomes :array[1..3] of String;

Ou seja, um "array" (também conhecido como vetor), com 3 posições... sendo 1, 2 e 3.

 

Para poder acessar determinada posição, pode utilizar esse tal de "[]". Ex.:

writeln('Qual o da 2a pessoa?');readln(nomes[2]);

O valor que está dentro, é justamente a posição no array... (que varia de 1 a 3. Cada posição é como se fosse uma variável)

 

No exemplo que você passou, provavelmente a variável venda deva ser um array de duas posições... daí usou uma variável de nome i para poder "percorrer" os seus "slots". Veja que o for está configurado para ir de 1 a 2... logo, o "i" uma hora vai está valendo "1", e depois valerá "2".... seria o mesmo que por exemplo "venda[1].cod_venda);", no outro loop, "venda[2].cod_venda);".. etc

 

 

Em fim, dê uma pesquisa sobre "array em Pascal"...

Abraços

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