Ir ao conteúdo

Posts recomendados

Postado

Boa noite Senhores estou aqui para pedir uma ajuda como faço pra chegar nesse logica em VisualG

 

exemplos

1) ele conten 80 numeros de 1 a 80

2) eu escolho 40 numeros dos 80 

3) desses 40 que escolhi ele escolha 20 aleatorio toda hora e com a opção de fixar 10 desses 40 que escolhi 

 

me ajude a chegar nessa logica expressao observe eu tenho dificuldade em aprender ainda porém meu trabalho nao me da tempo para estudar.

mais quero seguir no rumo de developer.

obrigado.

 

  • Curtir 2
  • Membro VIP
Postado

Olá @Vengefull.

 

Poste o que já conseguiu fazer... tente fazer por partes... ex.:

 

1-Faça o programa ler 5 números armazenando num vetor. Para testar, após, exibir esses 5 números na tela; (não precisa testar com 80!)

2-Implemente um recurso para que controle o valor máximo e mínimo do número, ou seja, que só aceite números entre 1 e 80;

3-Implemente um recurso para "sortear" um número;

Por ai vai..

 

Tente fazer a primeira parte. Testa! se tiver dúvidas posta aqui informando em qual parte não está conseguindo fazer ou está dando erro... depois faz a segunda... etc...

 

No aguardo.

  • Curtir 2
Postado

Aqui esta chefe

Algoritmo "gerador de numeros" 
  Var a,b,c,d,f,g : inteiro 
      h,i,j : caractere 
      outros_numeros : vetor[1..10] de inteiro 
      num_escolhidos : vetor[1..40] de inteiro 
      num_aleatorios : vetor[1..20] de inteiro 
        
        Inicio escreval("Vamos Escolher 40 Números De 1 Até 80") 
        para a de 1 ate 4 faca h:=(numpcarac(a)) 
          se a < 10 ENTÃO 
             h := " "+h 
          fimse 
               c:=1 
         repita escreva("Digite o ",h,"º número ") 
         leia(b) 
         se (b >0) e ( b < 81 ) ENTÃO 
                 num_escolhidos[a] := b 
         senao 
                 escreval("Só Pode Ser Números De 1 Até 80") 
                 c:=2 
         fimse 
         c:=c-1 ate c = 0 
         fimpara 
         limpatela 
         escreva("Vamos Escolher 20 Números Entre Esses 40") 
         para a de 1 ate 20 faca 
           b:=randi(40)+1 
           num_aleatorios[a] := num_escolhidos[b] 
           escreva(num_aleatorios[a]," - ") 
          fimpara 
             escreval() 
             escreval("Escolha 10 Números Entre Esses 20 Que Estão Aí") 
             para a de 1 ate 10 faca 
               h:=(numpcarac(a)) 
                 se a < 10 ENTÃO 
                    h := " "+h 
                 fimse 
           repita g:=0 
           escreva("Escolha O ",h,"º Número") 
           leia(b) 
           para d de 1 ate 20 faca 
             se b = num_aleatorios[a] ENTÃO 
                  f:=1 fimse se f=1 ENTÃO 
                     outros_numeros[a]:=b 
              senao se g=0 ENTÃO 
                    escreval("Esse Número Não Está Entre Esses 20 Números Escolha Outro") 
                    g:=1 
              fimse c:=2 
              fimse 
              fimpara 
              c:=c-1 ate c = 0 
            fimpara 
     Fimalgoritmo

 

  • Curtir 1
Postado

  Olá  @Vengefull   

        Aqui a primeira parte do código em um sistema mais elaborado e com comentários:

Algoritmo "gerador de numeros"
Var
a,b,c,d,f,g,m,n: inteiro                  //declaração de variáveis
h,i,j          : caractere                //declraração de variáveis
outros_numeros : vetor[1..10] de inteiro  //vetor para guardar os numeros
num_escolhidos : vetor[1..40] de inteiro  //vetor para guardar os numeros
num_aleatorios : vetor[1..20] de inteiro  //vetor para guardar os numeros
procedimento escolher                     //procedimento
Inicio                                    //inicio do procedimento
limpatela                                 //limpa tela
n:=1                                      //n recebe o valor 1
escreval("Vamos Escolher 40 Números De 1 Até 80")
para a de 1 ate 4 faca                    //4 numeros depois mudar para 40
  h:=(numpcarac(a))                       //h recebe o caractere valor de a
  se a < 10 ENTÃO                         //se a for menor que 10
    h := " "+h                            //h recebe um espaço antes do numero
  fimse
  c:=1                                    //c recebe o valor 1 e controla o repita
  repita
    escreva("Digite o ",h,"º número ")    //pede para digitar um numero
    leia(b)                               //b recebe o numero digitado
    para d  de 1 ate 40 faca              //vai testar os 40 numeros
      se num_escolhidos[d]=b ENTÃO        //verif. se numero já foi escolhido
        escreval("Esse Número Já Foi Escolhido.  Escolha Outro")
        c:=2                              //c recebe 2 para repetir
      fimse
    fimpara
    se c=1 ENTÃO                          //se numero foi aceito
      se (b >0) e ( b < 81 ) ENTÃO        //verif. se está entre 0 e 80
        num_escolhidos[a] := b            //se sim guarda ele no vetor
      senao                               //se não foi aceito
        escreval("Só Pode Ser Números De 1 Até 80")
        c:=2                              //c recebe 2 para repetir
      fimse
    fimse
    c:=c-1                                //c recebe c menos 1
  ate c = 0                               //se c igual a 0 fim do loop
fimpara
escreva("Tecle Enter Para Continuar ")
leia(b)
fimprocedimento

procedimento mostra_40
inicio
  para a de 1 ate 39 faca                     //a aponta para a posição no vetor
    para c de a+1 ate 40 faca                 //c aponta para a posição de a+1
      b:=num_escolhidos[c]                    //b pega o que está na posição c do vetor
      se b<num_escolhidos[a] ENTÃO            //se b menor que o conteúdo da posição a do vetor
        num_escolhidos[c]:=num_escolhidos[a]  //coloca na posição c do vetor o que está em a
        num_escolhidos[a]:=b                  //coloca b na posição a do vetor
      fimse
    fimpara
  fimpara
  limpatela                                    //limpa a tela
  se n<>0 ENTÃO                                //verif. se já escolheu os numeros
    escreval("Aqui Estão Os 40 Números Escolhidos")
    para a de 1 ate 40 faca                    //para mostrar os 40 numeros
      h:=(numpcarac(a))                        //h igual o caractere valor de a
      se a < 10 ENTÃO                          //se a for menor que 10
        h:=" "+h                               //h recebe um espaço antes do numero
      fimse
      escreval(h,"º Número ",num_escolhidos[a])
    fimpara
  senao                                        //se ainda não escolheu os numeros
    escreval("Você Ainda Não Escolheu Os 40 Números")
    escreval("Vá Na Opção 1 Primeiro")
  fimse
  escreva("Tecle Enter Para Continuar ")
  leia(b)
fimprocedimento
//*************** inicio do programa **************************
inicio
repita
  limpatela
  escreval("         *************************************")
  escreval("         *                                   *")
  escreval("         *  ==== Menu Principal ====         *")
  escreval("         *                                   *")
  escreval("         *  1 - Escolher 40 Números          *")
  escreval("         *  6 - Mostrar Os 40 Escolhidos     *")
  escreval("         *  7 - Para Sair Do Programa        *")
  escreval("         *                                 © *")
  escreval("         *************************************")
  escreval("                          ____")
  escreval("                         |    |")
  escreva("                         |  ")
  leia(m)
  escolha m
    caso 1
      escolher
    caso 6
      mostra_40
  fimescolha
ate m=7
Fimalgoritmo

Veja que os procedimentos tem que ficar depois da var e antes do inicio para funcionar certo. 

Então os números serão escolhidos e fixados no vetor, e eles poderão ser visualizados a qualquer momento.

depois colocar outro procedimento para gerar os números aleatórios.

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