Ir ao conteúdo
  • Cadastre-se

programando em pascal


Visitante: Araujoaaa66

Posts recomendados

Visitante: Araujoaaa66
 

Queria que um expert em programação me desse uma luz a respeito de uma simples dúvida em programação Pascal. É o seguinte: desejo começar um certo programa usando VETORES sendo que enquanto você vai criando o programa vai ao mesmo tempo armazenado vetores diretamente ao programa de forma que tais vetores sempre ficarão FIXOS em tal programa.Exemplo: primeiro vetor com 15 elementos: [1] [3] [4] [6] [8] [9] [11] [13] [16] [17] [19] [20] [21] [23] [25], podendo dessa forma acima armazenar quantos vetores desejar. Daí quando for usa o programa será pedido para entrar com apenas um vetor também se 15 elementos que com este será feitas conclusões com os vetores fixos armazenados no corpo do programae finalmente mostrando resultados. Resumo: desejo armazenar vetores exatamente como mostrado acima. Como ???

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Queria que um expert em programação me desse

uma luz a respeito de uma simples dúvida em programação Pascal. É o seguinte:

desejo começar um certo programa usando VETORES sendo que enquanto você vai

criando o programa vai ao mesmo tempo armazenado vetores diretamente ao programa

de forma que tais vetores sempre ficarão FIXOS em tal programa.Exemplo: primeiro

vetor com 15 elementos: [1] [3] [4] [6] [8] [9] [11] [13] [16] [17] [19] [20] [21]

[23] [25], podendo dessa forma acima armazenar quantos vetores desejar. Daí quando

for usa o programa será pedido para entrar com apenas um vetor também se 15

elementos que com este será feitas conclusões com os vetores fixos armazenados no

corpo do programae finalmente mostrando resultados. Resumo: desejo armazenar

vetores exatamente como mostrado acima. Como ???

Olá,

Eu também não entendi muita coisa da sua pergunta. Como diria o ditado:

Falou muito e disse pouco

Por favor, reformule a pergunta.

Em fim, vou tentar dar algumas informações.

1) Vários arrays

Se você necessita ter vários vetores dentro do programa, você pode criar um array de arrays...

ex.:


uses
CRT;
var
vetores :array [1..5] of array [1..10] of integer; {vetor de vetores (matriz)}
posVetor, {posição do vetor}
posDado :byte; {posição do dado no vetor}

BEGIN
ClrScr; {limpa a tela}
posVetor:=2; {vetor número 2}
posDado:=6; {posição 6 do vetor}
vetores[posVetor][posDado]:=3; {atribuindo um valor na coordenada da matriz}
writeln('Vetor: ',posVetor,' Posicao: ':15,posDado,'VALOR:':15,vetores[posVetor][posDado]);
ReadKey; {pause antes de fechar}
END.
program ex_vetores_de_vetores;

O código é autoexplicativo.

2) Criação de vetores durante a execução

Não é possível criar arrays durante a execução do programa, no caso eles devem ser previamente declarados no "var". Acho que isso nem é o seu caso, mas se caso você não soubesse a quantidade de vetores, você poderia usar "ponteiros" ou "objetos" (acho com com objetos é possível também, mas num me aprofundei).

Em fim, ou você já define a quantidade de vetores inicialmente ou usa ponteiros para criar novos vetores durante a execução.

3) Comparações de vetores

Se o seu caso for:

Ter alguns vetores já armazenados no programa e compará-lo com algum outro vetor inserido pelo usuário
, a ideia seria mais ou menos essa mesmo.

- Gera o novo vetor diretamente no código fonte.

vetores[1][1]:=xxx
vetores[1][2]:=xxx
vetores[1][3]:=xxx
vetores[1][4]:=xxx

Você vai preencher o vetor da forma que achar melhor, como usando um for... (tudo vai depender dos dados... se for possível gerar através de uma fórmula por exemplo, é possível automatizar.)

- Obetem-se o dados do novo vetor

- Ai compara com os vetores que já tem no programa.

Ex.:

(Só superficialmente, para demonstrar)

{ler os dados do novo vetor}

.

.

readln(vetorNovo);

.

.

{para comparar um campo}

if vetores[x][y] = vetorNovo[z] then

{x=posicao DO vetor, y=posicao NO vetor - z=posicao}

begin

.

.

.

end;

Por ai vai...

No aguardo.

Link para o comentário
Compartilhar em outros sites

Visitante: Araujoaaa66
 

Queria que um expert em programação me desse uma luz a respeito de uma simples dúvida em programação Pascal. É o seguinte: desejo começar um certo programa usando VETORES sendo que enquanto você vai criando o programa vai ao mesmo tempo armazenado vetores diretamente ao programa de forma que tais vetores sempre ficarão FIXOS em tal programa.Exemplo: primeiro vetor com 15 elementos: [1] [3] [4] [6] [8] [9] [11] [13] [16] [17] [19] [20] [21] [23] [25], podendo dessa forma acima armazenar quantos vetores desejar. Daí quando for usa o programa será pedido para entrar com apenas um vetor também se 15 elementos que com este será feitas conclusões com os vetores fixos armazenados no corpo do programae finalmente mostrando resultados. Resumo: desejo armazenar vetores exatamente como mostrado acima. Como ???

NOVA EXPOSIÇÃO DA DÚVIDA !!!

***Expondo a dúvida novamente:o jogo da LOTOFÁCIL imagino que todos conhecem. A gente quando joga marca 15 números dentre 25 números (de 1 a 25). O jogador que acertar 11, 12, 13,

14 e 15 será premiado conforme as regras próprias do jogo. Daí suponha que faremos um bolão de 100 jogos e que tal bolão será jogado frequentemente. Daí quando for fazer a conferência deste bolão com o resultado do sorteio ficaria muito demorado a confêrencia de forma manual. Então desejo fazer um programa que resolvesse tal conferência de forma que os 100 jogos do bolão (100 vetores de 15 elementos cada) já estariam embutidos no próprio corpo do programa e que o jogador entraria sempre com apenas o resultado do sorteio que seria um vetor também de 15 números. O programa pegaria todos os elementos do (vetor resultado do sorteio) e compararia um por um com o (vetor do jogo 1,2,3...100 do bolão).

Como ganhará quem acetar acima de 10 elementos, ou seja, 11,12,13,14,ou 15 então a partir do momento que 11 números forem acertados (coincidentes) esse (vetor resultado 1) deverá ser resguardado para ser apresentado como resultado, caso contrário, será descartado. Podemos dar um resultado como exemplificação:

*Você acertou o jogo 12º do bolão e os números acertados são:

3 - 4 -5 - 6 - 8 - 10 - 13 - 15 - 17 - 18 - 23 (11 acertos !)

*Você acertou o jogo 45º do bolão e os números acertados são:

1 - 2 - 4- 6 - 8- 9- 11 - 12 - 13 - 16 - 17 - 18 - 19 (13 acertos !)

*Você acertou o jogo 100º do bolão e os números acertados são:

3 - 4 - 5 - 7 - 9 - 10 - 11 - 12 - 14 - 16 - 17 - 19 - 20 - 21 - 25 (15 acertos !).

RESUMO: Então minha dúvida é como entrar com os vetores do bolão de forma que fiquem fixos no próprio corpo do programa e entraria (sempre) apenas com o resultado do sorteio !!

Link para o comentário
Compartilhar em outros sites

Visitante: Araujoaaa66
 

Queria que um expert em programação me desse uma luz a respeito de uma simples dúvida em programação Pascal. É o seguinte: desejo começar um certo programa usando VETORES sendo que enquanto você vai criando o programa vai ao mesmo tempo armazenado vetores diretamente ao programa de forma que tais vetores sempre ficarão FIXOS em tal programa.Exemplo: primeiro vetor com 15 elementos: [1] [3] [4] [6] [8] [9] [11] [13] [16] [17] [19] [20] [21] [23] [25], podendo dessa forma acima armazenar quantos vetores desejar. Daí quando for usa o programa será pedido para entrar com apenas um vetor também se 15 elementos que com este será feitas conclusões com os vetores fixos armazenados no corpo do programae finalmente mostrando resultados. Resumo: desejo armazenar vetores exatamente como mostrado acima. Como ???

NOVA EXPOSIÇÃO DA DÚVIDA !!!

***Expondo a dúvida novamente:o jogo da LOTOFÁCIL imagino que todos conhecem. A gente quando joga marca 15 números dentre 25 números (de 1 a 25). O jogador que acertar 11, 12, 13,

14 e 15 será premiado conforme as regras próprias do jogo. Daí suponha que faremos um bolão de 100 jogos e que tal bolão será jogado frequentemente. Daí quando for fazer a conferência deste bolão com o resultado do sorteio ficaria muito demorado a confêrencia de forma manual. Então desejo fazer um programa que resolvesse tal conferência de forma que os 100 jogos do bolão (100 vetores de 15 elementos cada) já estariam embutidos no próprio corpo do programa e que o jogador entraria sempre com apenas o resultado do sorteio que seria um vetor também de 15 números. O programa pegaria todos os elementos do (vetor resultado do sorteio) e compararia um por um com o (vetor do jogo 1,2,3...100 do bolão).

Como ganhará quem acetar acima de 10 elementos, ou seja, 11,12,13,14,ou 15 então a partir do momento que 11 números forem acertados (coincidentes) esse (vetor resultado 1) deverá ser resguardado para ser apresentado como resultado, caso contrário, será descartado. Podemos dar um resultado como exemplificação:

*Você acertou o jogo 12º do bolão e os números acertados são:

3 - 4 -5 - 6 - 8 - 10 - 13 - 15 - 17 - 18 - 23 (11 acertos !)

*Você acertou o jogo 45º do bolão e os números acertados são:

1 - 2 - 4- 6 - 8- 9- 11 - 12 - 13 - 16 - 17 - 18 - 19 (13 acertos !)

*Você acertou o jogo 100º do bolão e os números acertados são:

3 - 4 - 5 - 7 - 9 - 10 - 11 - 12 - 14 - 16 - 17 - 19 - 20 - 21 - 25 (15 acertos !).

RESUMO: Então minha dúvida é como entrar com os vetores do bolão de forma que fiquem fixos no próprio corpo do programa e entraria (sempre) apenas com o resultado do sorteio !!

Link para o comentário
Compartilhar em outros sites

Visitante: Araujoaaa66
 

Queria que um expert em programação me desse uma luz a respeito de uma simples dúvida em programação Pascal. É o seguinte: desejo começar um certo programa usando VETORES sendo que enquanto você vai criando o programa vai ao mesmo tempo armazenado vetores diretamente ao programa de forma que tais vetores sempre ficarão FIXOS em tal programa.Exemplo: primeiro vetor com 15 elementos: [1] [3] [4] [6] [8] [9] [11] [13] [16] [17] [19] [20] [21] [23] [25], podendo dessa forma acima armazenar quantos vetores desejar. Daí quando for usa o programa será pedido para entrar com apenas um vetor também se 15 elementos que com este será feitas conclusões com os vetores fixos armazenados no corpo do programae finalmente mostrando resultados. Resumo: desejo armazenar vetores exatamente como mostrado acima. Como ???

NOVA EXPOSIÇÃO DA DÚVIDA !!!

***Expondo a dúvida novamente:o jogo da LOTOFÁCIL imagino que todos conhecem. A gente quando joga marca 15 números dentre 25 números (de 1 a 25). O jogador que acertar 11, 12, 13,

14 e 15 será premiado conforme as regras próprias do jogo. Daí suponha que faremos um bolão de 100 jogos e que tal bolão será jogado frequentemente. Daí quando for fazer a conferência deste bolão com o resultado do sorteio ficaria muito demorado a confêrencia de forma manual. Então desejo fazer um programa que resolvesse tal conferência de forma que os 100 jogos do bolão (100 vetores de 15 elementos cada) já estariam embutidos no próprio corpo do programa e que o jogador entraria sempre com apenas o resultado do sorteio que seria um vetor também de 15 números. O programa pegaria todos os elementos do (vetor resultado do sorteio) e compararia um por um com o (vetor do jogo 1,2,3...100 do bolão).

Como ganhará quem acetar acima de 10 elementos, ou seja, 11,12,13,14,ou 15 então a partir do momento que 11 números forem acertados (coincidentes) esse (vetor resultado 1) deverá ser resguardado para ser apresentado como resultado, caso contrário, será descartado. Podemos dar um resultado como exemplificação:

*Você acertou o jogo 12º do bolão e os números acertados são:

3 - 4 -5 - 6 - 8 - 10 - 13 - 15 - 17 - 18 - 23 (11 acertos !)

*Você acertou o jogo 45º do bolão e os números acertados são:

1 - 2 - 4- 6 - 8- 9- 11 - 12 - 13 - 16 - 17 - 18 - 19 (13 acertos !)

*Você acertou o jogo 100º do bolão e os números acertados são:

3 - 4 - 5 - 7 - 9 - 10 - 11 - 12 - 14 - 16 - 17 - 19 - 20 - 21 - 25 (15 acertos !).

RESUMO: Então minha dúvida é como entrar com os vetores do bolão de forma que fiquem fixos no próprio corpo do programa e entraria (sempre) apenas com o resultado do sorteio !!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Queria que um expert em programação me desse uma luz a respeito de uma simples dúvida em programação Pascal. É o seguinte: desejo começar um certo programa usando VETORES sendo que enquanto você vai criando o programa vai ao mesmo tempo armazenado vetores diretamente ao programa de forma que tais vetores sempre ficarão FIXOS em tal programa.Exemplo: primeiro vetor com 15 elementos: [1] [3] [4] [6] [8] [9] [11] [13] [16] [17] [19] [20] [21] [23] [25], podendo dessa forma acima armazenar quantos vetores desejar. Daí quando for usa o programa será pedido para entrar com apenas um vetor também se 15 elementos que com este será feitas conclusões com os vetores fixos armazenados no corpo do programae finalmente mostrando resultados. Resumo: desejo armazenar vetores exatamente como mostrado acima. Como ???

NOVA EXPOSIÇÃO DA DÚVIDA !!!

***Expondo a dúvida novamente:o jogo da LOTOFÁCIL imagino que todos conhecem. A gente quando joga marca 15 números dentre 25 números (de 1 a 25). O jogador que acertar 11, 12, 13,

14 e 15 será premiado conforme as regras próprias do jogo. Daí suponha que faremos um bolão de 100 jogos e que tal bolão será jogado frequentemente. Daí quando for fazer a conferência deste bolão com o resultado do sorteio ficaria muito demorado a confêrencia de forma manual. Então desejo fazer um programa que resolvesse tal conferência de forma que os 100 jogos do bolão (100 vetores de 15 elementos cada) já estariam embutidos no próprio corpo do programa e que o jogador entraria sempre com apenas o resultado do sorteio que seria um vetor também de 15 números. O programa pegaria todos os elementos do (vetor resultado do sorteio) e compararia um por um com o (vetor do jogo 1,2,3...100 do bolão).

Como ganhará quem acetar acima de 10 elementos, ou seja, 11,12,13,14,ou 15 então a partir do momento que 11 números forem acertados (coincidentes) esse (vetor resultado 1) deverá ser resguardado para ser apresentado como resultado, caso contrário, será descartado. Podemos dar um resultado como exemplificação:

*Você acertou o jogo 12º do bolão e os números acertados são:

3 - 4 -5 - 6 - 8 - 10 - 13 - 15 - 17 - 18 - 23 (11 acertos !)

*Você acertou o jogo 45º do bolão e os números acertados são:

1 - 2 - 4- 6 - 8- 9- 11 - 12 - 13 - 16 - 17 - 18 - 19 (13 acertos !)

*Você acertou o jogo 100º do bolão e os números acertados são:

3 - 4 - 5 - 7 - 9 - 10 - 11 - 12 - 14 - 16 - 17 - 19 - 20 - 21 - 25 (15 acertos !).

RESUMO: Então minha dúvida é como entrar com os vetores do bolão de forma que fiquem fixos no próprio corpo do programa e entraria (sempre) apenas com o resultado do sorteio !!

Olá,

Entendi melhor.

Você pode usar arquivos de texto. Assim você poderá alterar os números quando quiser. Tanto via programa (tipo numa tela de cadastro) tanto via Windows (com um editor de texto normal). Desse forma você não precisará alterar o código em sim, mas somente a fonte dos dados.

O arquivo de texto poderia ser organizado assim.

-no do cartão

-sequencia de números

ex.:

1

1,3,4,6,8,10,15,20,22,42

2

1,3,4,6,8,10,15,20,22,42

3

1,3,4,6,8,10,15,20,22,42

4

1,3,4,6,8,10,15,20,22,42

5

1,3,4,6,8,10,15,20,22,42

6

1,3,4,6,8,10,15,20,22,42

7

1,3,4,6,8,10,15,20,22,42

8

1,3,4,6,8,10,15,20,22,42

etc

(não modifiquei a sequencia porque tô com preguiça de gerar os números, e pois o que importa é a ideia)

Ai basta você programar o código para coletar esses dados no arquivo, coletar os números que foram sorteados e fazer a apuração.

Mas veja que tem que pegar número por número de cada sequencia, ou seja, tem que ajustar o programa para separar cada número, já que o pascal vai sempre ler linha por linha (e não número por número).

Se for com arquivo binário, fica mais fácil programar, mas perde a questão de poder editar via "editor de texto", só será possível inserir ou alterar via o próprio programa.

Um exemplo básico...

program apurador_loteria;
uses
CRT;

type
{dados do cartao}
tCartao = record
numero :word; {numero da serie}
sequencia :array [1..15] of byte; {numeros marcados}
end;
var
cartao,
temp :tCartao; {usado na leitura de dados}
arqCartoes :file of tCartao;

BEGIN
ClrScr; {lempa a tela}
Assign(arqCartoes,'cartoes');
Rewrite(arqCartoes); {recria o arquivo e abre}
cartao.numero:=1;
cartao.sequencia[1]:=2;
cartao.sequencia[2]:=3;
write(arqCartoes,cartao); {escreve no arquivo}
reset(arqCartoes); {abre o arquivo no inicio}
read(arqCartoes,temp); {ler a proxima linha}
writeln(temp.numero);
writeln(temp.sequencia[1]);
writeln(temp.sequencia[2]);
ReadKey;
END.

Aí você tem que indo ajustando o programa. São vários detalhes, como por exemplo, como inserir os dados, como listar na tela etc.

Alguns outros comando de arquivos;

****

seek(arquivo,<posicao>); posiciona no registro que quiser...

ex.:seek(arquio,2); {vai para a terceira posição (começa com 0)}

filepos(arquivo); {retorna a posição que está no arquivo}

filesize(arquivo); {quantidade de registro}

append(arquivo); {abre o arquivo no final (para inserir um novo)}

(é mais ou menos isso)

*****

Existe algumas diferenças entre arquivos de texto e binários... cada um tem suas vantagens e desvantagens... mas isso é assunto para outros capítulos.

No aguardo.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Queria que um expert em programação me desse uma luz a respeito de uma simples dúvida em programação Pascal. É o seguinte: desejo começar um certo programa usando VETORES sendo que enquanto você vai criando o programa vai ao mesmo tempo armazenado vetores diretamente ao programa de forma que tais vetores sempre ficarão FIXOS em tal programa.Exemplo: primeiro vetor com 15 elementos: [1] [3] [4] [6] [8] [9] [11] [13] [16] [17] [19] [20] [21] [23] [25], podendo dessa forma acima armazenar quantos vetores desejar. Daí quando for usa o programa será pedido para entrar com apenas um vetor também se 15 elementos que com este será feitas conclusões com os vetores fixos armazenados no corpo do programae finalmente mostrando resultados. Resumo: desejo armazenar vetores exatamente como mostrado acima. Como ???

NOVA EXPOSIÇÃO DA DÚVIDA !!!

***Expondo a dúvida novamente:o jogo da LOTOFÁCIL imagino que todos conhecem. A gente quando joga marca 15 números dentre 25 números (de 1 a 25). O jogador que acertar 11, 12, 13,

14 e 15 será premiado conforme as regras próprias do jogo. Daí suponha que faremos um bolão de 100 jogos e que tal bolão será jogado frequentemente. Daí quando for fazer a conferência deste bolão com o resultado do sorteio ficaria muito demorado a confêrencia de forma manual. Então desejo fazer um programa que resolvesse tal conferência de forma que os 100 jogos do bolão (100 vetores de 15 elementos cada) já estariam embutidos no próprio corpo do programa e que o jogador entraria sempre com apenas o resultado do sorteio que seria um vetor também de 15 números. O programa pegaria todos os elementos do (vetor resultado do sorteio) e compararia um por um com o (vetor do jogo 1,2,3...100 do bolão).

Como ganhará quem acetar acima de 10 elementos, ou seja, 11,12,13,14,ou 15 então a partir do momento que 11 números forem acertados (coincidentes) esse (vetor resultado 1) deverá ser resguardado para ser apresentado como resultado, caso contrário, será descartado. Podemos dar um resultado como exemplificação:

*Você acertou o jogo 12º do bolão e os números acertados são:

3 - 4 -5 - 6 - 8 - 10 - 13 - 15 - 17 - 18 - 23 (11 acertos !)

*Você acertou o jogo 45º do bolão e os números acertados são:

1 - 2 - 4- 6 - 8- 9- 11 - 12 - 13 - 16 - 17 - 18 - 19 (13 acertos !)

*Você acertou o jogo 100º do bolão e os números acertados são:

3 - 4 - 5 - 7 - 9 - 10 - 11 - 12 - 14 - 16 - 17 - 19 - 20 - 21 - 25 (15 acertos !).

RESUMO: Então minha dúvida é como entrar com os vetores do bolão de forma que fiquem fixos no próprio corpo do programa e entraria (sempre) apenas com o resultado do sorteio !!

Olá,

Entendi melhor.

Você pode usar arquivos de texto. Assim você poderá alterar os números quando quiser. Tanto via programa (tipo numa tela de cadastro) tanto via Windows (com um editor de texto normal). Desse forma você não precisará alterar o código em sim, mas somente a fonte dos dados.

O arquivo de texto poderia ser organizado assim.

-no do cartão

-sequencia de números

ex.:

1

1,3,4,6,8,10,15,20,22,42

2

1,3,4,6,8,10,15,20,22,42

3

1,3,4,6,8,10,15,20,22,42

4

1,3,4,6,8,10,15,20,22,42

5

1,3,4,6,8,10,15,20,22,42

6

1,3,4,6,8,10,15,20,22,42

7

1,3,4,6,8,10,15,20,22,42

8

1,3,4,6,8,10,15,20,22,42

etc

(não modifiquei a sequencia porque tô com preguiça de gerar os números, e pois o que importa é a ideia)

Ai basta você programar o código para coletar esses dados no arquivo, coletar os números que foram sorteados e fazer a apuração.

Mas veja que tem que pegar número por número de cada sequencia, ou seja, tem que ajustar o programa para separar cada número, já que o pascal vai sempre ler linha por linha (e não número por número).

Se for com arquivo binário, fica mais fácil programar, mas perde a questão de poder editar via "editor de texto", só será possível inserir ou alterar via o próprio programa.

Um exemplo básico...

program apurador_loteria;
uses
CRT;

type
{dados do cartao}
tCartao = record
numero :word; {numero da serie}
sequencia :array [1..15] of byte; {numeros marcados}
end;
var
cartao,
temp :tCartao; {usado na leitura de dados}
arqCartoes :file of tCartao;

BEGIN
ClrScr; {lempa a tela}
Assign(arqCartoes,'cartoes');
Rewrite(arqCartoes); {recria o arquivo e abre}
cartao.numero:=1;
cartao.sequencia[1]:=2;
cartao.sequencia[2]:=3;
write(arqCartoes,cartao); {escreve no arquivo}
reset(arqCartoes); {abre o arquivo no inicio}
read(arqCartoes,temp); {ler a proxima linha}
writeln(temp.numero);
writeln(temp.sequencia[1]);
writeln(temp.sequencia[2]);
ReadKey;
END.

Aí você tem que indo ajustando o programa. São vários detalhes, como por exemplo, como inserir os dados, como listar na tela etc.

Alguns outros comando de arquivos;

****

seek(arquivo,<posicao>); posiciona no registro que quiser...

ex.:seek(arquio,2); {vai para a terceira posição (começa com 0)}

filepos(arquivo); {retorna a posição que está no arquivo}

filesize(arquivo); {quantidade de registro}

append(arquivo); {abre o arquivo no final (para inserir um novo)}

(é mais ou menos isso)

*****

Existe algumas diferenças entre arquivos de texto e binários... cada um tem suas vantagens e desvantagens... mas isso é assunto para outros capítulos.

No aguardo.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Queria que um expert em programação me desse uma luz a respeito de uma simples dúvida em programação Pascal. É o seguinte: desejo começar um certo programa usando VETORES sendo que enquanto você vai criando o programa vai ao mesmo tempo armazenado vetores diretamente ao programa de forma que tais vetores sempre ficarão FIXOS em tal programa.Exemplo: primeiro vetor com 15 elementos: [1] [3] [4] [6] [8] [9] [11] [13] [16] [17] [19] [20] [21] [23] [25], podendo dessa forma acima armazenar quantos vetores desejar. Daí quando for usa o programa será pedido para entrar com apenas um vetor também se 15 elementos que com este será feitas conclusões com os vetores fixos armazenados no corpo do programae finalmente mostrando resultados. Resumo: desejo armazenar vetores exatamente como mostrado acima. Como ???

NOVA EXPOSIÇÃO DA DÚVIDA !!!

***Expondo a dúvida novamente:o jogo da LOTOFÁCIL imagino que todos conhecem. A gente quando joga marca 15 números dentre 25 números (de 1 a 25). O jogador que acertar 11, 12, 13,

14 e 15 será premiado conforme as regras próprias do jogo. Daí suponha que faremos um bolão de 100 jogos e que tal bolão será jogado frequentemente. Daí quando for fazer a conferência deste bolão com o resultado do sorteio ficaria muito demorado a confêrencia de forma manual. Então desejo fazer um programa que resolvesse tal conferência de forma que os 100 jogos do bolão (100 vetores de 15 elementos cada) já estariam embutidos no próprio corpo do programa e que o jogador entraria sempre com apenas o resultado do sorteio que seria um vetor também de 15 números. O programa pegaria todos os elementos do (vetor resultado do sorteio) e compararia um por um com o (vetor do jogo 1,2,3...100 do bolão).

Como ganhará quem acetar acima de 10 elementos, ou seja, 11,12,13,14,ou 15 então a partir do momento que 11 números forem acertados (coincidentes) esse (vetor resultado 1) deverá ser resguardado para ser apresentado como resultado, caso contrário, será descartado. Podemos dar um resultado como exemplificação:

*Você acertou o jogo 12º do bolão e os números acertados são:

3 - 4 -5 - 6 - 8 - 10 - 13 - 15 - 17 - 18 - 23 (11 acertos !)

*Você acertou o jogo 45º do bolão e os números acertados são:

1 - 2 - 4- 6 - 8- 9- 11 - 12 - 13 - 16 - 17 - 18 - 19 (13 acertos !)

*Você acertou o jogo 100º do bolão e os números acertados são:

3 - 4 - 5 - 7 - 9 - 10 - 11 - 12 - 14 - 16 - 17 - 19 - 20 - 21 - 25 (15 acertos !).

RESUMO: Então minha dúvida é como entrar com os vetores do bolão de forma que fiquem fixos no próprio corpo do programa e entraria (sempre) apenas com o resultado do sorteio !!

Olá,

Entendi melhor.

Você pode usar arquivos de texto. Assim você poderá alterar os números quando quiser. Tanto via programa (tipo numa tela de cadastro) tanto via Windows (com um editor de texto normal). Desse forma você não precisará alterar o código em sim, mas somente a fonte dos dados.

O arquivo de texto poderia ser organizado assim.

-no do cartão

-sequencia de números

ex.:

1

1,3,4,6,8,10,15,20,22,42

2

1,3,4,6,8,10,15,20,22,42

3

1,3,4,6,8,10,15,20,22,42

4

1,3,4,6,8,10,15,20,22,42

5

1,3,4,6,8,10,15,20,22,42

6

1,3,4,6,8,10,15,20,22,42

7

1,3,4,6,8,10,15,20,22,42

8

1,3,4,6,8,10,15,20,22,42

etc

(não modifiquei a sequencia porque tô com preguiça de gerar os números, e pois o que importa é a ideia)

Ai basta você programar o código para coletar esses dados no arquivo, coletar os números que foram sorteados e fazer a apuração.

Mas veja que tem que pegar número por número de cada sequencia, ou seja, tem que ajustar o programa para separar cada número, já que o pascal vai sempre ler linha por linha (e não número por número).

Se for com arquivo binário, fica mais fácil programar, mas perde a questão de poder editar via "editor de texto", só será possível inserir ou alterar via o próprio programa.

Um exemplo básico...

program apurador_loteria;
uses
CRT;

type
{dados do cartao}
tCartao = record
numero :word; {numero da serie}
sequencia :array [1..15] of byte; {numeros marcados}
end;
var
cartao,
temp :tCartao; {usado na leitura de dados}
arqCartoes :file of tCartao;

BEGIN
ClrScr; {lempa a tela}
Assign(arqCartoes,'cartoes');
Rewrite(arqCartoes); {recria o arquivo e abre}
cartao.numero:=1;
cartao.sequencia[1]:=2;
cartao.sequencia[2]:=3;
write(arqCartoes,cartao); {escreve no arquivo}
reset(arqCartoes); {abre o arquivo no inicio}
read(arqCartoes,temp); {ler a proxima linha}
writeln(temp.numero);
writeln(temp.sequencia[1]);
writeln(temp.sequencia[2]);
ReadKey;
END.

Aí você tem que indo ajustando o programa. São vários detalhes, como por exemplo, como inserir os dados, como listar na tela etc.

Alguns outros comando de arquivos;

****

seek(arquivo,<posicao>); posiciona no registro que quiser...

ex.:seek(arquio,2); {vai para a terceira posição (começa com 0)}

filepos(arquivo); {retorna a posição que está no arquivo}

filesize(arquivo); {quantidade de registro}

append(arquivo); {abre o arquivo no final (para inserir um novo)}

(é mais ou menos isso)

*****

Existe algumas diferenças entre arquivos de texto e binários... cada um tem suas vantagens e desvantagens... mas isso é assunto para outros capítulos.

No aguardo.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

 

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!