Ir ao conteúdo
  • Cadastre-se

VisualG Construção algoritmo de numeração


Posts recomendados

Boa noite sou iniciante no assunto tive uma ideia criar um programa de numeração que funcione assim 

tenho 60 números  dos 60 vou remover 10 certo sobra 50

ja dos 50 quero gerar dele aleatoriamente 30 so que 3 vezes esse mesmo  processo 

dos 30 que ele gero vou fixar nos 3 que ele gerou 10 n certo ai sobra 20

desses 20 que sobrou gerar aleatoriamente mais 10 n por 5 vezes

 

me ajudem por favor eu não sei nem por onde começar acho muito difícil 

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

@Helen Fernanda de Souza     Essa parte aqui eu entendi  que você vai inserir 60 números qualquer e depois remover 10 números, com isso vai sobrar 50 números :

Boa noite sou iniciante no assunto tive uma ideia criar um programa de numeração que funcione assim :
tenho 60 números,  dos 60 vou remover 10 certo, sobra 50 .

aqui você quer pegar 30 números aleatórios dos 50 que sobraram e em seguida pegar mais 30 números aleatórios dos mesmos 50 que sobraram e novamente pegar mais 30 números aleatórios dos mesmos 50 que sobraram ,  então você terá 90 números aleatórios .

ja dos 50 quero gerar dele aleatoriamente 30 so que 3 vezes esse mesmo  processo 

aqui não entendi pois ele gerou até aqui 90 números e você disse que são apenas 30, e você quer fixar nos 3 que ele gerou, então quais 3 são esses ?    e quais 10 números são esses ?   no entanto se pegar os 30 números apenas uma vez, então aí sim sobrarão 20 números que não foram usados para gerar os 30 números .

dos 30 que ele gerou, vou fixar nos 3 que ele gerou, 10 números certo ?, ai sobra 20

aqui  sobrando 20 números, sim você pode gerar 10 números aleatórios e guarda-los no vetor_1 , e depois gerar mais 10 números e guarda-los no vetor_2 , e gerar mais 10 números e guarda-los no vetor_3 , e o mesmo no vetor_4 , e no vetor_5 .com isso você pode imprimir esses 10 números que estão guardados em cada vetor  ou usa-los para outros fins .

desses 20 que sobrou gerar aleatoriamente mais 10 n por 5 vezes

 Porém não podemos fazer esse algoritmo todo pronto para você ,  só posso te dar umas dicas,  então use vetores para colocar os 60 números que você quer e então remova os 10 números aleatórios, depois mais 3 vetores para guardar  os 30 números gerados aleatórios,um para cada vez que ele gerar,  e para gerar esses números você pode usar a função randi , e no final mais cinco vetores para guardar os 10 números gerados .

    Você é que precisa fazer o algoritmo, faça o algoritmo e post ele aqui para podermos ver como está e em que podemos ajudar .

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

Em 15/08/2017 às 23:14, devair1010 disse:

ja dos 50 quero gerar dele aleatoriamente 30 so que 3 vezes esse mesmo  processo 

aqui não entendi pois ele gerou até aqui 90 números e você disse que são apenas 30, e você quer fixar nos 3 que ele gerou, então quais 3 são esses ?    e quais 10 números são esses ?   no entanto se pegar os 30 números apenas uma vez, então aí sim sobrarão 20 números que não foram usados para gerar os 30 números .

observe sim de fato ele da um total de 90 números , mais o que eu quis dizer é dos 50 quero que gere 30 números aleatoriamente só que 3 vezes o mesmo processo com os mesmo 50 

 

eu tentei pensar em como chegar no resultado, e fiquei confuso não sei aplicar essa logica de excluir fixar aleatorio 

não sei usar aplicar a função randi sou iniciante no assunto e vetor eu tentei fazer isso que me disse mais eu não consegui  me ajude com alguns exemplos olha o que eu fiz

 

Algoritmo "Algoritmo exercicio"
Var
excluir,fixar,a,b,c,d
vetor_1 : vetor[1..60] de inteiro
vetor_2 : vetor[1..10] de inteiro
vetor_3 : vetor[1..30] de inteiro
vetor_4 : vetor[1..30] de inteiro
vetor_5 : vetor[1..30] de inteiro
vetor_6 : vetor[1..10] de inteiro
vetor_7 : vetor[1..10] de inteiro
vetor_8 : vetor[1..10] de inteiro
vetor_9 : vetor[1..10] de inteiro
vetor_10 : vetor[1..10] de inteiro

Inicio
escreval("Vamos Deletar 10 Números de 1 a 60 ")
para excluir faca de 1 ate 10 faca




Fimalgoritmo

como vou fazer agora ?  só pra lembrar , tenho 60 tiro 10 então sobra 50 dos 50 gero 30 números 3 vezes o mesmo processo dos mesmo 50 

ai dos 3 vezes 30 que gerou todos separados fixar em cada um 10 números depois disso,

de cada 30 sobram 20 números 

dos 20 de cada que sobrou vou gerar mais 10 de cada so que aleatoriamente  e imprimir na tela todos para ver o resultado

 

obrigado pela ajuda.

 

 

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

@Helen Fernanda de Souza     bom começo, porém é melhor colocar as variáveis de vetor com nomes ao invés de números, assim modifiquei o vetor_1 para vetor_normal com 60 posições :
  um vetor é como se fosse um gaveteiro onde cada gaveta pode guardar um número ou letra,

" assim seria esse vetor ",

vetor2.thumb.jpg.21a0e1bd9b1aa586e3fddbfbb5c20856.jpg

nesse caso será um gaveteiro com sessenta gavetas, que você pode colocar qualquer número em cada uma das gaveta, então um jeito fácil de colocar números nesse vetor é usando um comando de repetição que pode ser um repita ou um enquanto ou um para, e nesse caso creio que seja melhor usar um para, e esse para indo de 1 até 60 para percorrer todas as posições do vetor, e como você não disse quais números você quer usar, então o mais fácil é colocar os números de 1 até 60, então na posição 1 do vetor será colocado o valor 1 na posição 2 será colocado o valor 2 e assim indo até a posição 60 que terá o valor 60, para colocar outros números precisaria modificar o código .

aqui seu código com algumas modificações :

Algoritmo "Algoritmo exercicio de numeracao"
Var
excluir,fixar,a,b,c,d : inteiro
vetor_normal : vetor[1..60] de inteiro
vetor_1      : vetor[1..60] de inteiro
vetor_2      : vetor[1..10] de inteiro
vetor_3      : vetor[1..30] de inteiro
vetor_4      : vetor[1..30] de inteiro
vetor_5      : vetor[1..30] de inteiro
vetor_6      : vetor[1..10] de inteiro
vetor_7      : vetor[1..10] de inteiro
vetor_8      : vetor[1..10] de inteiro
vetor_9      : vetor[1..10] de inteiro
vetor_10     : vetor[1..10] de inteiro

Inicio
//primeiro precisa colocar os numeros no vetor
  para a de 1 ate 60 faca//repete 60 vezes
    vetor_normal[a] := a//coloca o numero cujo valor está guardado na variavel
                        // a no vetor na posição cujo valor esta guardado na
                        //variavel a.
  fimpara//verifica se a é menor ou igual a 60 se for repete tudo que está
         //dentro do loop
         
//agora podemos deletar os dez numeros
  escreval("Vamos Deletar 10 Números de 1 a 60 ")
  para excluir de 1 ate 10 faca// não basta escrever a palavra excluir para
                               //que haja a exclusão é preciso zerar a posição
                               // no vetor
    repita// repete se o número já foi excluído
      b := 1//b recebe o valor 1 para controlar o repita
      escreva("Digite Um Número De [ 1 A 60 ]  Para Excluir ")
      leia(c)// prga um número
      se (c<1) ou (c>60)ENTÃO//se numero for < 1 ou se for maior que 60
        escreval("Só Pode Número De 1 Até 60, Escolha Outro  Tecle Enter ")
        b := 2//b recebe o valor 2 para repetir
        leia(c)//espera pressionar enter
      senao
        se vetor_normal[c] = 0 ENTÃO//verifica se na posição cujo valor está guardado
                                  // na variavel c é zero  se for
          escreval("Esse Número Já Foi Deletado, Escolha Outro   Tecle Enter")//imprime
                                                                      //mensagem
          b := 2//b recebe 2 pois o número já foi deletado e para repetir
          leia(c)//espera pressionar enter
        senao
          vetor_normal[ c ] := 0//aqui coloca zero para informar que
                                    //o numero foi deletado
        fimse
      fimse
      b := b-1//b recebe o valor dele menos 1
    ate b = 0//se b diferente de zero repete tudo que está entre o repita e
             // o ate b = 0
  fimpara
  escreva("Tecle Enter Para Continuar")
  leia(c)
  limpatela
  escreval("Apenas Para Conferir Os Deletados")
  para a de 1 ate 60 faca//percorre todas as 60 posições do vetor_normal
    se vetor_normal[a] = 0 ENTÃO//se na posição do vetor_normal cujo valor
                                // está na variavel a for zero é porque esse
                               // número foi deletado e nesse caso o número
                               //é igual ao valor da posição do vetor
      escreva(a," - ")//imprime o número
    fimse
  fimpara
  escreval
  escreval("Aqui Os 50 Números Que Sobraram")
  d := 1// inicializa d com valor da primeira posição do vetor_normal
  para a de 1 ate 6 faca//serão 6 linhas
    para c de 1 ate 10 faca//e dez colunas
      se vetor_normal[d] <> 0 ENTÃO//se o número que está no vetor_normal
                                   //na posição cujo valor está guardado na
                                   //variavel d for diferente de zero
        escreva(vetor_normal[d]," - ")//imprime o número
      senao
        escreva("  - ")//senão imprime um espaço vazio
      fimse
      d := d+1//d recebe o valor dele mais 1 para apontar para a proxima
              //posição do vetor
    fimpara//c recebe o valor de C mais 1 e se for menor ou igual a 10 repete
           //tudo que está entre o PARA C até o primeiro FIMPARA
    escreval
  fimpara//A recebe o valor de A mais 1 e se for menor ou igual a 6 repete
           //tudo que está entre o PARA A até o primeiro FIMPARA
Fimalgoritmo

com isso você vai colocar 60 números no vetor e escolher 10 números para deleta-los,     esses dois loop no final serve apenas para você ver quais foram os números que você deletou e quais os números que restaram no vetor .

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

@Helen Fernanda de Souza    ainda não tem a função randi não, por que ainda não estamos gerando os trinta números  então a função randi será usada para gerar os números aleatórios.  e para gerar esses números você pode usar um para indo de 1 ate 30 e então dentro do loop você pode colocar um código mais ou menos assim :

g := randi(60)+1

essa linha aqui é que gera um número entre 1 e 60 e coloca o número na variável g como está escrito ali no comando, em seguida você precisa verificar se esse número já está entre os números gerados, que dessa primeira vez pode ser guardados no vetor_3 aí do seu código, então com outro loop você percorre as trinta posições do vetor_3 verificando se já tem esse número e se já tiver então repete tudo para pegar outro número e testar de novo até que não tenha o número no vetor_3 aí coloca o número no vetor_3, e no final você terá os trinta números gerados aleatórios, depois fazer outro loop igual a esse e colocar os números gerados no vetor_4 e depois fazer outro loop igual a esse e colocar os números gerados no vetor_5, assim você terá trinta números em cada vetor.  para ver esse números você faz um loop indo de 1 ate 30 para percorrer todas as posições do vetor e imprime os números que estão no vetor assim :

para a e 1 ate 30 faca
  escreva(vetor_3[a]," - ")
fimpara

e para imprimir os números dos outros vetor, faça outros loop como esse e mude o nome do vetor_3 para o nome do vetor que você quer imprimir .    faça o código dessa parte do programa e poste aqui para podermos  ajudar .

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

@Helen Fernanda de Souza    no começo é um pouco complicado,  mas com a prática fica mais fácil, o que você precisa é ver o que cada comando faz e ver o que melhor se aplica no programa que você quer fazer. por exemplo no visualg tem esses comando aqui :

para / fimpara e repita / ate  e enquanto / fimenquanto  que são comandos de repetição 

se / senao e escolha / caso e e e ou e nao  que serve para fazer comparações

Leia que serve para pegar algum dado digitado no teclado

escreval  que serve para escrever alguma coisa na tela

randi que gera números aleatórios

mod que pega o resto da divisão de um número por outro

caracpnum que converte caracteres para número inteiros

numpcarac que converte números inteiro para caractere

você pode ver sobre os comandos do visualg nesse site :

http://www.netsoft.inf.br/aulas/4_ECI_Introducao_a_Informatica/Visualg2_manual.pdf

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

Boa tarde estou tendo dificuldade nao consigo aplicar a funcao randi e trabalhar dentro dos 50 que sobraram olha como ficou

 

Algoritmo "Algoritmo exercicio de numeracao"

Var
excluir,fixar,a,b,c,d,g : inteiro //variaves
vetor_normal   : vetor[1..60] de inteiro   // vetor armazena 60 posiçoes
vetor_excluir  : vetor[1..10] de inteiro   // vetor armazena 10 posiçoes
vetor_3      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_4      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_5      : vetor[1..30] de inteiro     // vetor armazena 30 posições


//inicio do codigo
Inicio
      // vamos armazenar os 60 numeros na variavel a e dentro do vetor_normal
      para a de 1 ate 60 faca
       vetor_normal[a] := a // armazena 60 numeros dentro do vetor_normal
       fimpara
// deletando 10 numeros
   escreval("vamos excluir 10 numeros de 1 a 60")
      para excluir de 1 ate 10 faca   // comando para fazer de 1 ate 10
    repita
    b := 1
   escreval("delete 10 numeros de 1 a 60")
   leia(c)  //ler entrada teclado
   se (c<1) ou (c>60)então   // so vale de 1 ate 60
   escreval("so pode ser numero de 1 a 60 escolha outro tecle enter")
    b := 2
    leia(c)
   senao
    se vetor_normal[c] = 0 então
    escreval("o numero ja foi deletado , escolha outro tecle enter")
    b := 2
    leia(c)
   senao
    vetor_normal[ c ] := 0
 fimse
fimse
     b := b-1 // nao entendi essa parte o do por que ate 0
     ate b = 0
fimpara
     escreva("numeros deletados")
       para a de 1 ate 60 faca // comando de 1 ate 60 armazena variavel a
       se vetor_normal[a] = 0 então
     escreva(a," - ")
fimse
fimpara
escreval
     escreval("50 Números Que Sobraram")
       d := 1
       para a de 1 ate 6 faca
       para c de 1 ate 10 faca
        se vetor_normal[d] <> 0 então
       escreva(vetor_normal[d]," - ")
        senao
       escreva("  - ")
       fimse
    d := d+1
fimpara
escreval
fimpara
// ***************************************//
escreval
escreval("vamos escolher 30 numeros aleatorios dos 50")
g := randi(60)+1
para a de 1 ate 30 faca
escreva(vetor_3[a]," - ")
fimpara

Fimalgoritmo

 

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

@Helen Fernanda de Souza    você disse que não entendeu essa parte aqui :

vetor_normal[ c ] := 0
 fimse
fimse
     b := b-1 // nao entendi essa parte o do por que ate 0
     ate b = 0
fimpara

o até 0 é porque se correr tudo bem e não precisar repetir ele faz b = b-1 e como b valia 1 então 1 menos 1 igual 0 aí ele passa sem repetir, e vai gerar outro número, já no caso de o número já haver sido deletado ou o número digitado for menor que 1 ou maior que 60 ele faz b = 2, aí lá no final ele faz b=b-1 e como b nesse caso vale 2 então 2 menos 1 igual 1 aí ele repete porque b não é igual a zero.

    essa parte aqui :

escreval("vamos escolher 30 numeros aleatorios dos 50")
g := randi(60)+1
para a de 1 ate 30 faca
escreva(vetor_3[a]," - ")
fimpara

você precisa colocar o randi dentro do loop, pois a cada passada do loop ele precisa gerar um número aleatório e com isso no final do loop você terá seus trinta números aleatórios, e para gerar os números não precisa desse comando escreva, apenas se você quiser escrever o número na tela, então depois de gerar o número você precisa ver se ele já não foi gerado antes e no caso de já haver sido gerado antes, então repetir e gerar outro, até ter gerado os trinta e guardar o número no vetor . 
  então o código poderia ser assim :

escreval("Vamos Escolher 30 Números Dos 50")
para a de 1 ate 30 faca  // serão 30 números
  repita  // repite se precisar
    b:=1  // com valor 1 ele não repete
    g:=randi(60)+1  // gera um número aleatorio
    se vetor_normal[g]=0 ENTÃO//numero foi deletado
      b:=2//b recebe valor 2 para repetir e escolher outro
    fimse
    para c de 1 ate 30 faca//verifica os trinta numeros no vetor_3
      se vetor_3[c]=vetor_normal[g] ENTÃO//se no vetor já haver o numero gerado
        b:=2// b recebe o valor 2 para repetir e escolher outro numero
      fimse
    fimpara
    vetor_3[a]=vetor_normal[g] //vetor_3 armazena o numero gerado
    b:=b-1//b recebe b menos 1
  ate b=0  // se b igual zero ele passa
fimpara

 

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

  • Membro VIP

Olá a todos.

 

@devair1010, pelo que observei, mesmo que caia no [1] "//numero foi deletado ", ele estaria executando, sem necessidade, o [2] "//verifica os trinta numeros no vetor_3"... e também o [3] "//vetor_3 armazena o numero gerado"...  

 

No aguardo.

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

@Simon Viegas       boa percepção a sua,   não analisei o código antes de postar,   realmente ele executa todos os comandos mesmo sem necessidade,  creio que deveria ficar assim :

escreval("Vamos Escolher 30 Números Dos 50")
para a de 1 ate 30 faca  // serão 30 números
  repita  // repite se precisar
    b:=1  // com valor 1 ele não repete
    g:=randi(60)+1  // gera um número aleatorio
    se vetor_normal[g]=0 ENTÃO  //numero foi deletado
      b:=2       //b recebe valor 2 para repetir e escolher outro
    fimse
    se b <> 2 ENTÃO
      para c de 1 ate 30 faca                //verifica os trinta numeros no vetor_3
        se vetor_3[c]=vetor_normal[g] ENTÃO   //se no vetor já haver o numero gerado
          b:=2            // b recebe o valor 2 para repetir e escolher outro numero
          interrompa
        fimse
      fimpara
    fimse
    se b <> 2 ENTÃO 
      vetor_3[a] = vetor_normal[g]    //vetor_3 armazena o numero gerado
    fimse
    b:=b-1//b recebe b menos 1
  ate b=0  // se b igual zero ele passa
fimpara

 

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

  • Membro VIP

Pelo que vi na imagem, o código está utilizando "=" para atribuir um valor, mas no VisuAlg utilizam-se ":=" ou "<-".

 

obs.: O "=" é utilizado para comparar, por exemplo, nos se.

 

 

No aguardo.

adicionado 1 minuto depois

Por favor, caso necessite, poste o código completo para podermos analisar também.

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

Boa noite tentei achar o erro fiz o que disse e ainda continuou o mesmo erro na mesma linha o erro pode estar sera nas declarações de variavel ? 

 

Algoritmo "Algoritmo exercicio de numeracao"

Var
excluir,fixar,a,b,c,d,g : inteiro //variaves
vetor_normal   : vetor[1..60] de inteiro   // vetor armazena 60 posiçoes
vetor_excluir  : vetor[1..10] de inteiro   // vetor armazena 10 posiçoes
vetor_3      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_4      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_5      : vetor[1..30] de inteiro     // vetor armazena 30 posições


//inicio do codigo
Inicio
      // vamos armazenar os 60 numeros na variavel a e dentro do vetor_normal
      para a de 1 ate 60 faca
       vetor_normal[a] := a // armazena 60 numeros dentro do vetor_normal
       fimpara
// deletando 10 numeros
   escreval("vamos excluir 10 numeros de 1 a 60")
      para excluir de 1 ate 10 faca   // comando para fazer de 1 ate 10
    repita
    b := 1
   escreval("delete 10 numeros de 1 a 60")
   leia(c)  //ler entrada teclado
   se (c<1) ou (c>60)então   // so vale de 1 ate 60
   escreval("so pode ser numero de 1 a 60 escolha outro tecle enter")
    b := 2
    leia(c)
   senao
    se vetor_normal[c] = 0 então
    escreval("o numero ja foi deletado , escolha outro tecle enter")
    b := 2
    leia(c)
   senao
    vetor_normal[ c ] := 0
 fimse
fimse
     b := b-1 // nao entendi essa parte o do por que ate 0
     ate b = 0
fimpara
     escreva("numeros deletados")
       para a de 1 ate 60 faca // comando de 1 ate 60 armazena variavel a
       se vetor_normal[a] = 0 então
     escreva(a," - ")
fimse
fimpara
escreval
     escreval("50 Números Que Sobraram")
       d := 1
       para a de 1 ate 6 faca
       para c de 1 ate 10 faca
        se vetor_normal[d] <> 0 então
       escreva(vetor_normal[d]," - ")
        senao
       escreva("  - ")
       fimse
    d := d+1
fimpara
escreval
fimpara
escreval("Vamos Escolher 30 Números Dos 50")
para a de 1 ate 30 faca  // serão 30 números
  repita  // repite se precisar
    b:=1  // com valor 1 ele não repete
    g:=randi(60)+1  // gera um número aleatorio
    se vetor_normal[g]=0 então//numero foi deletado
      b:=2//b recebe valor 2 para repetir e escolher outro
    fimse
    para c de 1 ate 30 faca//verifica os trinta numeros no vetor_3
      se vetor_3[c]:= vetor_normal[g] então//se no vetor já haver o numero gerado
        b:=2// b recebe o valor 2 para repetir e escolher outro numero
      fimse
    fimpara
    vetor_3[a]:= vetor_normal[g] //vetor_3 armazena o numero gerado
    b:=b-1//b recebe b menos 1
  ate b=0  // se b igual zero ele passa
fimpara
Fimalgoritmo

 

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

  • Membro VIP

Olá.

 

Em que linha está dando o erro?

 

 

Vou tentar analisar e explicar...

 

 

Aqui deu na linha 70. Na sua postagem anterior, estava dando na 78... são linhas diferentes E são erros diferentes também...

 

Erro:
erro_se.jpg

 

 

Então... nem sempre o VisuAlg indica exatamente o erro que ocorreu, mas costuma dar um bom indicativo... (nessa ele acertou)

 

Veja, o se precisa de algo que resulte em VERDADEIRO ou FALSO. É comum utilizarem "expressões lógicas". . Algo como "se expressão que estou avaliando resultar em verdadeiro, eu deixo o computador executar o que está 'dentro de mim', se a expressão resultar em falso, não deixo executar...". Daí justamente que remete essa definição de "estrutura de seleção".. algo que seleciona se outros algos serão executados ou não.

 

Uma forma de criar uma expressão lógica é utilizando OPERADORES RELACIONAIS, ou seja, estes "são utilizados em expressões lógicas para se testar a relação entre dois valores do mesmo tipo".. os disponíveis são: "=", "<", ">", "<=", ">=", "<>", mas no trecho da imagem, você está utilizando o um operador inválido...   Veja que utilizou ":=".

 

Veja citação:

23 horas atrás, Simon Viegas disse:

obs.: O "=" é utilizado para comparar, por exemplo, nos se.

 

 

No erro anterior, da linha 78, você estava utilizando um operador relacional (o "=") no lugar de um COMANDO DE ATRIBUIÇÃO (o ":="). Veja citação:

23 horas atrás, Simon Viegas disse:

[..] no VisuAlg utilizam-se ":=" ou "<-".

 

 

RESUMINDO:

- Nos se utilizam-se "=" (sem os ":")

- Nas atribuições utilizam-se "<-" ou ":=".

 

 

 

No aguardo.

 

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

Bom dia usei todos os comando de  "OPERADORES RELACIONAIS" e ainda nao consegui avanca o programa estava quase na parte final e agora travei nisso 

poderia postar com o codigo corrigido ou vou ter que esperar o Devair1010 voltar para reavaliar o codigo fornecido por ele

e me desculpe por nao entender sou iniciante no assunto mais eu me esforco quando tenho tempo para estudar 

obrigada pela sua ajuda e explicacao mais nao consegui arrumar o erro e avancar se tiver alguns exemplos.

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

  • Membro VIP

Olá @Helen Fernanda de Souza.
 

Então, na postagem que contém:

Em 30/08/2017 às 19:39, Helen Fernanda de Souza disse:

Boa noite estive testando seu exemplo e da um erro de sintaxe e estou confusa antes tinha dado erro de variavel G

coloquei no inicio do programa funcionou depois ao final do codigo da esse erro olha 

Lá tem uma imagem e o erro nela aponta para linha 78. Na linha 78 você está "ATRIBUINDO" um valor, ou seja, deve utilizar "<-" OU ":=".

 

Já na postagem que contém:

Em 31/08/2017 às 21:19, Helen Fernanda de Souza disse:

Boa noite tentei achar o erro fiz o que disse e ainda continuou o mesmo erro na mesma linha o erro pode estar sera nas declarações de variavel ? 

 

O erro está na linha 70 (outra linha, e outro "problema"). Lá você está "COMPARANDO VALORES", ou seja, não pode usar o ":=", use apenas "=".

 

 

Qualquer coisa posta seu código completo e onde está com dúvidas.

 

No aguardo.

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

@Helen Fernanda de Souza     seu código estava com um erro de sintaxe na linha 70 como o @Simon Viegas  disse , então modifiquei essa linha  e o código ficou assim :

Algoritmo "Algoritmo exercicio de numeracao2"
Var
excluir,fixar,a,b,c,d,g : inteiro //variaves
vetor_normal   : vetor[1..60] de inteiro   // vetor armazena 60 posiçoes
vetor_excluir  : vetor[1..10] de inteiro   // vetor armazena 10 posiçoes
vetor_3      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_4      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_5      : vetor[1..30] de inteiro     // vetor armazena 30 posições
//inicio do codigo
Inicio
// vamos armazenar os 60 numeros na variavel a e dentro do vetor_normal
  para a de 1 ate 60 faca
    vetor_normal[a] := a // armazena 60 numeros dentro do vetor_normal
  fimpara
// deletando 10 numeros
  escreval("vamos excluir 10 numeros de 1 a 60")
  para excluir de 1 ate 10 faca   // comando para fazer de 1 ate 10
    repita
    b := 1
    escreva("Digite O",excluir," Número de 1 a 60 Para Deletar ")
    leia(c)  //ler entrada teclado
    se (c<1) ou (c>60)ENTÃO   // so vale de 1 ate 60
      escreval("so pode ser numero de 1 a 60 escolha outro tecle enter")
      b := 2
      leia(c)
    senao
      se vetor_normal[c] = 0 ENTÃO
        escreval("o numero ja foi deletado , escolha outro tecle enter")
        b := 2
        leia(c)
      senao
        vetor_normal[ c ] := 0
      fimse
    fimse
    b := b-1 // nao entendi essa parte o do por que ate 0
    ate b = 0
  fimpara
  escreval("Aqui Estão Os 10 Números Deletados")
  para a de 1 ate 60 faca // comando de 1 ate 60 armazena variavel a
    se vetor_normal[a] = 0 ENTÃO// se for zero então o número foi deletado
      escreva(a," - ")
    fimse
  fimpara
  escreval
  escreval("Aqui Estão Os 50 Números Que Sobraram")
  d := 1
  para a de 1 ate 6 faca
    para c de 1 ate 10 faca
      se vetor_normal[d] <> 0 ENTÃO
        escreva(vetor_normal[d]," - ")
      senao
        escreva(" - ")
      fimse
      d := d+1
    fimpara
    escreval
  fimpara
  escreval("Vamos Escolher Aleatoriamente 30 Números Dos 50")
  //aqui é onde gera os numeros aleatórios
  para a de 1 ate 30 faca  // serão 30 números
    repita  // repite se precisar
      b:=1  // com valor 1 ele não repete
      g:=randi(60)+1  // gera um número aleatorio
      se vetor_normal[g]=0 ENTÃO//numero foi deletado
        b:=2//b recebe valor 2 para repetir e escolher outro
      fimse
      para c de 1 ate 30 faca//verifica os trinta numeros no vetor_3
        se b <> 2 ENTÃO// se o número não houver sido deletado
          se vetor_3[c] = vetor_normal[g] ENTÃO//se no vetor já haver o numero gerado
            b:=2// b recebe o valor 2 para repetir e escolher outro numero
            interrompa
          fimse
        fimse
      fimpara
      se b <> 2 ENTÃO
        vetor_3[a]:= vetor_normal[g] //vetor_3 armazena o numero gerado
      fimse
      b:=b-1    // b recebe b menos 1
    ate b=0     // se b igual zero ele passa
  fimpara
  //aqui é onde termina a geração dos números aleatórios
  //escrevando os números gerados aleatórios
  escreval("Aqui Estão Os 30 Números Gerados Aleatórios")
  d:=1
  para a de 1 ate 3 faca
    para c de 1 ate 10 faca
      escreva(vetor_3[d]," - ")
      d := d+1
    fimpara
    escreval//para pular para a linha de baixo
  fimpara
Fimalgoritmo

com isso ele gerou 30 números aleatórios 1 vez , então para gera mais 30 números aleatórios mais duas vezes,  repita essa parte final do código de onde está escrito  " aqui é onde gera os números aleatórios "   até  onde está escrito   " aqui é onde termina a geração dos números aleatórios "   ,  você pode copiar essa parte e colar lá no final e mudar o vetor onde será guardados os números onde está escrito vetor_3  coloque vetor_4 e no outro que você colar mais abaixo no lugar de vetor_3 coloque vetor_5 , assim você terá gerado seus trinta números três vezes . então agora você quer gerar dez números dos vinte que sobram , mas como você gerou trinta números três vezes então terá gerado noventa números e é possível que não tenha sobrado vinte números , pois para ele gerar esses noventa números ele pode ter usado todos os cinquenta , então você precisa verificar quais os números que realmente sobram usando para isso um loop que verifica quais os números que não foram usados do vetor_normal . ou se você quiser pode gerar os trinta números apenas uma vez e então verificar quais os vinte que sobraram usando para isso um loop  e depois gerar os dez  números por cinco vezes desses vinte que sobraram , use um código semelhante ao que gerou os trinta,  então faça o código e poste aqui para vermos como ficou .

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

  • Membro VIP

Olá a todos.

 

Para mim, os requisitos do algoritmo ainda não está bem definido, ou seja, sem entender muito bem o que se quer, fica mais difícil conseguir ajudar.

 

Então, pelo que eu entendi desse código do @devair1010, a base do algoritmo se comporta mais ou menos assim:

 

  1.  Os 60 números iniciais são fixos;
  2.  Obtém do usuário 10 números (ou posições) que serão considerados excluídos;
  3.  Dos 50 que sobram, sorteia 30 números;
  4.  Exibe os 30 números (separados em 3 linhas de 10 números cada). obs.: apesar de especificado no código, 30 números separados em 3 de 10, é diferente de 3 de 10 sorteados de 30, ou seja, nessa segunda possibilidade, os números podem se repetir em relação as outras linha.

Bem resumidamente falando, seria algo como: "de 60 removo 10, dos 50 sorteio 30".

@devair1010, essa minha interpretação está correta?

@Helen Fernanda de Souza, supondo que sim, seria isso que você precisa?

 

 

 

Mas eu analisando o que foi comentado por @Helen Fernanda de Souza:

 

Em 19/08/2017 às 19:20, Helen Fernanda de Souza disse:

como vou fazer agora ?  só pra lembrar , tenho 60 tiro 10 então sobra 50 dos 50 gero 30 números 3 vezes o mesmo processo dos mesmo 50 

ai dos 3 vezes 30 que gerou todos separados fixar em cada um 10 números depois disso,

de cada 30 sobram 20 números 

dos 20 de cada que sobrou vou gerar mais 10 de cada so que aleatoriamente  e imprimir na tela todos para ver o resultado

 

Interpretaria mais ou menos assim:

  1. De 60 números;  //faltou especificar quais números.... se são aleatórios OU de 1 a 60 OU se você informa etc;
  2. Remove 10, ficando com 50; //faltou especificar se são aleatórios OU você informa quais números etc;
  3. Dos 50, sorteia 30 números 3 vezes;
  4. De cada um dos 3 conjuntos de 30, remove 10; //faltou especificar se são aleatórios OU você informa quais números etc;
  5. De cada um dos 3 conjuntos de 20, sorteia 3.
  6. Exibe 0s 3 conjuntos de 3 números.


Bem resumidamente falando, seria algo como: "de 60 removo 10, dos 50 sorteio 3 vez 30 números, de cada 30 removo 10, de cada 20 sorteio 3".

 

Comparando essa duas interpretações, o código do @devair1010 não se encaixaria totalmente, ou seja, o código poderia está "certo" em relação à primeira interpretação, mas divergente em relação a segunda.

 

 

@Helen Fernanda de Souza, para tentar refinar o algoritmo, é necessário primeiro redefinir esses "requerimentos"... é preciso saber o que você quer/precisa. Sem isso, tentado fazer uma analogia, seria como um médico fazer uma super operação de sucesso no fígado, enquanto o problema é num rim.

Após alinharmos o que você precisa, você, como autor da proposta, pode tentar ir modificando e tirando dúvidas com nós colaboradores. 

 

 

RESUMINDO:

Inicialmente tente reformular a descrição do que você que fazer, e poste o seu código atual e em qual parte está com dúvidas ou precisa de auxílios ou sugestões.



No aguardo.

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

Boa noite muito obrigada pela ajuda e os exemplos, eu estava analisando o código e esta certo sim e dessa forma 

eu coloquei ele para fazer o mesmo processo 3 vezes,

eu adicionei mais 3 vetores com o nome de vetor_f1, vetor_f2, vetor_f3  para fixar de cada 30 que gerou 10 números escolhido por min

restaria então 20 números de cada um, então eu adicionei mais 3 vetores com o nome de vetor_sob1, vetor_sob2, vetor_sob3 

agora desses 20 que sobrou de cada um quero gerar agora +10 números aleatorio por 3 vezes de cada 20 essa e a parte final do programa e do que quero chegar 

me ajuda como chegar ate o final e so no visualG ele aceita salvar os dados como log para compara no arquivo texto o resultados de toda essa operacao e terminando ele vou estudar mais a fundo e reescrever nas linguagem C++ e C#

me ajuda com essa parte final do sistema e muita obrigada.

a parte do sistema se resumi a isso caso alguma duvida no explicar 

//fixar agora 10 numeros de cada 30 que gerou
//gerar aleatorio agora +10 de cada dos 20 que soubrou

 

Algoritmo "Algoritmo exercicio de numeracao2"
Var
excluir,fixar,a,b,c,d,g : inteiro //variaves
vetor_normal   : vetor[1..60] de inteiro   // vetor armazena 60 posiçoes
vetor_excluir  : vetor[1..10] de inteiro   // vetor armazena 10 posiçoes
vetor_3      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_4      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_5      : vetor[1..30] de inteiro     // vetor armazena 30 posições
vetor_f1     : vetor[1..10] de inteiro     // vetor armazena 10 posicões
vetor_f2     : vetor[1..10] de inteiro     // vetor armazena 10 posicões
vetor_f3     : vetor[1..10] de inteiro     // vetor armazena 10 posicões
vetor_sob1   : vetor[1..20] de inteiro     // vetor armazena 10 posicões
vetor_sob2   : vetor[1..20] de inteiro     // vetor armazena 10 posicões	
vetor_sob3   : vetor[1..20] de inteiro     // vetor armazena 10 posicões
//inicio do codigo
Inicio
// vamos armazenar os 60 numeros na variavel a e dentro do vetor_normal
  para a de 1 ate 60 faca
    vetor_normal[a] := a // armazena 60 numeros dentro do vetor_normal
  fimpara
// deletando 10 numeros
  escreval("vamos excluir 10 numeros de 1 a 60")
  para excluir de 1 ate 10 faca   // comando para fazer de 1 ate 10
    repita
    b := 1
    escreva("Digite O",excluir," Número de 1 a 60 Para Deletar ")
    leia(c)  //ler entrada teclado
    se (c<1) ou (c>60)então   // so vale de 1 ate 60
      escreval("so pode ser numero de 1 a 60 escolha outro tecle enter")
      b := 2
      leia(c)
    senao
      se vetor_normal[c] = 0 então
        escreval("o numero ja foi deletado , escolha outro tecle enter")
        b := 2
        leia(c)
      senao
        vetor_normal[ c ] := 0
      fimse
    fimse
    b := b-1 // nao entendi essa parte o do por que ate 0
    ate b = 0
  fimpara
  escreval("Aqui Estão Os 10 Números Deletados")
  para a de 1 ate 60 faca // comando de 1 ate 60 armazena variavel a
    se vetor_normal[a] = 0 então// se for zero então o número foi deletado
      escreva(a," - ")
    fimse
  fimpara
  escreval
  escreval("Aqui Estão Os 50 Números Que Sobraram")
  d := 1
  para a de 1 ate 6 faca
    para c de 1 ate 10 faca
      se vetor_normal[d] <> 0 então
        escreva(vetor_normal[d]," - ")
      senao
        escreva(" - ")
      fimse
      d := d+1
    fimpara
    escreval
  fimpara
  escreval("Vamos Escolher Aleatoriamente 30 Números Dos 50")
  //aqui é onde gera os numeros aleatórios
  para a de 1 ate 30 faca  // serão 30 números
    repita  // repite se precisar
      b:=1  // com valor 1 ele não repete
      g:=randi(60)+1  // gera um número aleatorio
      se vetor_normal[g]=0 então//numero foi deletado
        b:=2//b recebe valor 2 para repetir e escolher outro
      fimse
      para c de 1 ate 30 faca//verifica os trinta numeros no vetor_3
        se b <> 2 então// se o número não houver sido deletado
          se vetor_3[c] = vetor_normal[g] então//se no vetor já haver o numero gerado
            b:=2// b recebe o valor 2 para repetir e escolher outro numero
            interrompa
          fimse
        fimse
      fimpara
      se b <> 2 então
        vetor_3[a]:= vetor_normal[g] //vetor_3 armazena o numero gerado
      fimse
      b:=b-1    // b recebe b menos 1
    ate b=0     // se b igual zero ele passa
  fimpara
  //aqui é onde termina a geração dos números aleatórios
  //escrevando os números gerados aleatórios
  escreval("Aqui Estão Os 30 Números Gerados Aleatórios")
  d:=1
  para a de 1 ate 3 faca
    para c de 1 ate 10 faca
      escreva(vetor_3[d]," - ")
      d := d+1
    fimpara
    escreval//para pular para a linha de baixo
  fimpara
    escreval("Vamos Escolher Aleatoriamente 30 Números Dos 50")
  //aqui é onde gera os numeros aleatórios
  para a de 1 ate 30 faca  // serão 30 números
    repita  // repite se precisar
      b:=1  // com valor 1 ele não repete
      g:=randi(60)+1  // gera um número aleatorio
      se vetor_normal[g]=0 então//numero foi deletado
        b:=2//b recebe valor 2 para repetir e escolher outro
      fimse
      para c de 1 ate 30 faca//verifica os trinta numeros no vetor_3
        se b <> 2 então// se o número não houver sido deletado
          se vetor_4[c] = vetor_normal[g] então//se no vetor já haver o numero gerado
            b:=2// b recebe o valor 2 para repetir e escolher outro numero
            interrompa
          fimse
        fimse
      fimpara
      se b <> 2 então
        vetor_4[a]:= vetor_normal[g] //vetor_3 armazena o numero gerado
      fimse
      b:=b-1    // b recebe b menos 1
    ate b=0     // se b igual zero ele passa
  fimpara
  //aqui é onde termina a geração dos números aleatórios
    escreval("Aqui Estão Os 30 Números Gerados Aleatórios")
  d:=1
  para a de 1 ate 3 faca
    para c de 1 ate 10 faca
      escreva(vetor_4[d]," - ")
      d := d+1
    fimpara
    escreval//para pular para a linha de baixo
  fimpara
    escreval("Vamos Escolher Aleatoriamente 30 Números Dos 50")
  //aqui é onde gera os numeros aleatórios
  para a de 1 ate 30 faca  // serão 30 números
    repita  // repite se precisar
      b:=1  // com valor 1 ele não repete
      g:=randi(60)+1  // gera um número aleatorio
      se vetor_normal[g]=0 então//numero foi deletado
        b:=2//b recebe valor 2 para repetir e escolher outro
      fimse
      para c de 1 ate 30 faca//verifica os trinta numeros no vetor_3
        se b <> 2 então// se o número não houver sido deletado
          se vetor_5[c] = vetor_normal[g] então//se no vetor já haver o numero gerado
            b:=2// b recebe o valor 2 para repetir e escolher outro numero
            interrompa
          fimse
        fimse
      fimpara
      se b <> 2 então
        vetor_5[a]:= vetor_normal[g] //vetor_3 armazena o numero gerado
      fimse
      b:=b-1    // b recebe b menos 1
    ate b=0     // se b igual zero ele passa
  fimpara
  //aqui é onde termina a geração dos números aleatórios
   escreval("Aqui Estão Os 30 Números Gerados Aleatórios")
  d:=1
  para a de 1 ate 3 faca
    para c de 1 ate 10 faca
      escreva(vetor_5[d]," - ")
      d := d+1
    fimpara
    escreval//para pular para a linha de baixo
  fimpara
  //fixar agora 10 numeros de cada 30 que gerou
  //gerar aleatorio agora +10 de cada dos 20 que soubrou
Fimalgoritmo

 

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

@Helen Fernanda de Souza     no visualg não tem como salvar no arquivo , isso pode ser feito em  c   c++    c#  e etc...

então ali você colocou para fixar 10 números dos 30 que gerou, mas esses 10 serão aleatórios ou escolhido pelo usuário ?

e para gerar os 10 aleatórios dos 20 que sobraram, precisar ver quais são esses 20 que sobraram , pois talvez não tenha sobrado 20, já que dos 50 foram gerado 30 três vezes , então se for os 20 que sobram da primeira vez que gerou os 30 aí dá pra fazer.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Helen Fernanda de Souza, um ponto importante é a definição de como você vai excluir os números dos vetores.

 

No seu código você declarou o vetor_excluir lá na linha 5, mas não está utilizando em momento algum.

10 horas atrás, Helen Fernanda de Souza disse:

vetor_excluir  : vetor[1..10] de inteiro   // vetor armazena 10 posiçoes

Ou seja, ou você adapta o algoritmo para usar o vetor, ou apaga essa variável.

 

 

Pelo código, verifiquei que está "apagando" o número do próprio vetor, como visto na linha 38:

 

        vetor_normal[ c ] := 0

 

Pronto, vamos tomar como base que vai "zerar" a posição que foi apagada. Desse modo, o vetor_exclur pode ser apagado.

 

 

 

Outro ponto seria reorganizar as nomenclaturas das variáveis, deixando um pouco mais sugestiva... algo como:

var
   vetor_60   :vetor [1..60] de inteiro //vetor armazena 60 posiçoes
   vetor_30_1 :vetor [1..30] de inteiro //vetor armazena 30 posições
   vetor_30_2 :vetor [1..30] de inteiro //vetor armazena 30 posições
   vetor_30_3 :vetor [1..30] de inteiro //vetor armazena 30 posições
   vetor_10_1 :vetor [1..10] de inteiro //vetor armazena 10 posições
   vetor_10_2 :vetor [1..10] de inteiro //vetor armazena 10 posições
   vetor_10_3 :vetor [1..10] de inteiro //vetor armazena 10 posições
   vetor_3_1  :vetor [1..3 ] de inteiro //vetor armazena 3  posições
   vetor_3_2  :vetor [1..3 ] de inteiro //vetor armazena 3  posições
   vetor_3_3  :vetor [1..3 ] de inteiro //vetor armazena 3  posições

 

Seguindo esses princípios, creio que os passos podem ser mais ou menos estes:

- Gera 60 números para o vetor_60;
- Exclui 10 número do vetor_60;
- Sorteia 30 números para o vetor_30_1 do vetor_60;
- Sorteia 30 números para o vetor_30_2 do vetor_60;
- Sorteia 30 números para o vetor_30_3 do vetor_60;
- Exclui 10 número do vetor_30_1;
- Exclui 10 número do vetor_30_2;
- Exclui 10 número do vetor_30_3;
- Sorteia 10 números para o vetor_10_1 do vetor_30;
- Sorteia 10 números para o vetor_10_1 do vetor_30;
- Sorteia 10 números para o vetor_10_1 do vetor_30;
- Sorteia 3 números para o vetor_3_1 do vetor_10;
- Sorteia 3 números para o vetor_3_2 do vetor_10;
- Sorteia 3 números para o vetor_3_3 do vetor_10;

 

Para tentar ajudar, caso queira usar essa estrutura, adiantei parte do código..:
 

algoritmo "Algoritmo exercicio de numeracao2"
var
   vetor_60   :vetor [1..60] de inteiro //vetor armazena 60 posiçoes
   vetor_30_1 :vetor [1..30] de inteiro //vetor armazena 30 posições
   vetor_30_2 :vetor [1..30] de inteiro //vetor armazena 30 posições
   vetor_30_3 :vetor [1..30] de inteiro //vetor armazena 30 posições
   vetor_10_1 :vetor [1..10] de inteiro //vetor armazena 10 posições
   vetor_10_2 :vetor [1..10] de inteiro //vetor armazena 10 posições
   vetor_10_3 :vetor [1..10] de inteiro //vetor armazena 10 posições
   vetor_3_1  :vetor [1..3 ] de inteiro //vetor armazena 3  posições
   vetor_3_2  :vetor [1..3 ] de inteiro //vetor armazena 3  posições
   vetor_3_3  :vetor [1..3 ] de inteiro //vetor armazena 3  posições

   p       :inteiro  //auxiliar para posicionar o vetor
   i,j     :inteiro  //auxiliar para percorrer o vetor
   OK      :logico   //flag para verificar se a etapa foi realizada com sucesso
   excluir :inteiro  //número a ser excluído do vetor
   {aguardar:caracter} //variável criada apenas para aguardar um ENTER na interação com o usuário
Inicio
//gera os 60 números do vetor inicial
escreval("GERANDO OS 60 NÚMEROS INICIAIS...")
para p de 1 ate 60 faca
   vetor_60[p]:=p
fimpara
escreval("NÚMEROS GERADOS COM SUCESSO!")

//exibe os 60 números gerados
escreval()
escreval("Aqui estão os 60 números iniciais")
p:=1
para i de 1 ate 3 faca //cada linha
   para j de 1 ate 10 faca //cada coluna
      escreva(vetor_60[p]:2," - ")
      p:=p+1
   fimpara
   escreval//para pular para a linha de baixo
fimpara


//"Remove" 10 números do vetor inicial
escreval()
escreval("REMOVENDO 10 NÚMEROS DO VETOR INICIAL...")
para i de 1 ate 10 faca
   repita
      OK:=verdadeiro //inicializa a flag como OK
      escreva("Digite o ",i:2," número de 1 a 60 para deletar: ")
      ALEATORIO ON      //HABILITA O RECURSO DE GERAR VALORES ALEATÓRIOS
      aleatorio -20,80  //DEFINIE A FAIXA DE NÚMERO QUE PODEM SER GERADOS
      leia(excluir)
      ALEATORIO OFF     //DESABILITA O RECURSO
      //OBS.: para faltar a ler pelo teclado, basta remover essas linhas
      se (excluir<1) ou (excluir>60) ENTÃO //se o número está fora da faixa válida
         escreval("Só pode ser número de 1 a 60")
         OK:=falso //marca como inválido
         {escreva("Digite ENTER para retornar")} //acho que não é necessário
         {leia(aguardar) //apenas para aguarda um ENTER}
      senao
         se vetor_60[excluir]=0 ENTÃO //se posição já está removida
            escreval("Esse número ja foi removido, escolha outro")
            OK:=falso //marca como inválido
            {escreva("Digite ENTER para retornar")} //acho que não é necessário
            {leia(aguardar) //apenas para aguarda um ENTER}
         senao
            vetor_60[excluir]:=0 //remove o número do vetor
         fimse
      fimse
   ate OK
fimpara
escreval("NÚMEROS REMOVIDOS COM SUCESSO")

//exibe os 10 números que foram removidos
escreval()
escreval("Aqui estão os 10 números removidos")
para p de 1 ate 60 faca
   se vetor_60[p]=0 ENTÃO //se tiver zero ENTÃO o número foi removido
      escreva(p:2," - ") //exibe a posição do número (que representa o próprio número)
   fimse
fimpara
escreval()

//exibe os 50 números que sobraram após ser removido os 10
escreval()
escreval("Aqui estão os 50 números que sobraram")
p:=1
para i de 1 ate 6 faca
   para j de 1 ate 10 faca
      se vetor_60[p] <> 0 ENTÃO
         escreva(vetor_60[p]:2," - ")
      senao
         escreva("  "," - ")
      fimse
      p:=p+1
   fimpara
   escreval()
fimpara

//Sorteia os 30 números do primeiro vetor de 30 posições












fimAlgoritmo

 

Esse trecho é referente às duas primeiras etapas:
 

- Gera 60 números para o vetor_60;
- Exclui 10 número do vetor_60;

 

Daí tente entender essas sugestões, e caso deseje, dar continuidade seguindo os mesmos princípios.

Obs.: a indentação está configurada para dar 3 espaços.

 

Qualquer dúvidas sobre esse código ou sugestões, é só postar.

 

Obs2.: Tente fazer o programa por partes.. por exemplo, crie a parte que irá sortear os 30 números do primeiro vetor de 30 posições e a parte que irá exibir esses números... só após tiver tudo certo, vá para próxima etapa, que é criara o segundo vetor de 30 posições. (será praticamente uma cópia, só mudando o nome do vetor)... por ai vai...

 

 

No aguardo.

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

Boa noite e obrigada pelos exemplos, devido ao trabalho não tive tempo para ver o código mais próximo sábado,

vou estudar eles e já pra adiantar o raciocínio.

 

@devair1010 os 10 números devem ser fixado pelo usuário dos 30 que gerou

 

@devair1010só uma pergunta nesses 30 que ele gerou para fazer esse processo vou ter que fazer algo parecido com excluir do vetor e mandar ele escrever em tela e os que sobrou, e a outra parte eu tentei pensar de qual forma seria talvez tentando chegar a conclusão resposta final mandar excluir 10 desse vetor que ele gerou os 30  sobraria 20 então jogo esses 20 em outro vetor etc ... desses vetor de 20 faço um randi 3x ? e isso ?

 

Obrigada @Simon Viegas pelos seus exemplos sábado irei estudar esse novo código  eu percebi que e diferente e vou trabalhar no seu exemplo e no código do  @devair1010

 

  • Curtir 1
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...