Jump to content
TheLord23

poderiam me ajudar com esse algoritmo ?

Recommended Posts

ESTOU COMEÇANDO AGORA NA PROGRAMAÇÃO COM VISUALG E TERIA QUE COLOCAR ESTE CODIGO EM UM LAÇO DE REPETIÇÃO.

POREM NÃO ESTOU CONSEGUINDO PODERIAM ME AJUDAR ?

 

SÓ PENSANDO QUE O USUÁRIO IRA DIGITAR O TAMANHO DO VETOR, APOS ISSO CADA OPÇÃO QUE ELE ESCOLHER E ELA SER EXECUTADA DE FORMA CORRETA ELE VOLTARA PARA O MEUNU PRINCIPAL DAS OPÇÕES ATE QUE ELE SELECIONE A OPÇÃO "F"

 

POREM TENTEI ESCREVELO USANDO ENQUANTO MAS ACABOU QUE EU NÃO CONSIGO PREVINIR OS ERROS DO USUÁRIO QUANDO ELE COLOCA AS INFORMAÇÕES

 

TIPO:

-ARMAZENAR UM NÚMERO NO VETOR E ESSE NÚMERO NÃO SER SOBRESCREVIDO ATE QUE O PROGRAMA SEJA ENCERRADO

-SE ELE DIGITAR PRA BUSCAR OU INSERIR O NÚMERO ZERO O PROGRAMA INFORMAR QUE O VALOR É INVÁLIDO

 

TENTEI USAR PROCEDIMENTOS E FUNÇÕES MAS OS ERROS CONTINUARAM.

 

 

 

Algoritmo "DESAFIO"

Var

   AUX,CONTADOR,BUSCAR:INTEIRO
   POSICAO,AUX_TEMP:INTEIRO
   OPCAO:CARACTERE
   RESULT_BUSCA: LOGICO
   SOMA_VET:REAL
   NUMERO:VETOR[1..500]DE INTEIRO

Inicio

   ESCREVAL("*********************************")
   ESCREVAL("* CADASTRO DE VETORES - DESAFIO *")
   ESCREVAL("*********************************")

   ESCREVA("DIGITE O TAMANHO DO VETOR A SER CADASTRADO: ")
   LEIA(AUX)
   NUMERO[AUX] <- AUX

   ESCREVAL("A - Cadastrar um novo número;")
   ESCREVAL("B - Buscar um número")
   ESCREVAL("C - Excluir um número;")
   ESCREVAL("D - Listar os números cadastrados;")
   ESCREVAL("E - Exibir a soma dos números do vetor;")
   ESCREVAL("F - Sair do sistema.")
   LEIA(OPCAO)
   OPCAO <- MAIUSC(OPCAO)

   ESCOLHA OPCAO
   CASO "A"
      PARA CONTADOR DE 1 ATE NUMERO[AUX] FACA
         ESCREVA("DIGITE O VALOR QUE SERÁ ARMAZENADO NA",CONTADOR,"ª POSIÇÃO DO VETOR: ")
         LEIA(NUMERO[CONTADOR])
      FIMPARA
   CASO "B"
      ESCREVA("QUAL NÚMERO DESEJA ENCONTRAR: ")
      LEIA(BUSCAR)

      PARA CONTADOR DE 1 ATE NUMERO[AUX] FACA
         SE NUMERO[CONTADOR] = BUSCAR ENTAO
            RESULT_BUSCA <- VERDADEIRO
            POSICAO <- CONTADOR
         FIMSE
      FIMPARA

      PARA CONTADOR DE 1 ATE NUMERO[AUX] FACA
         ESCREVAL(NUMERO[CONTADOR])
      FIMPARA

      ESCREVAL("")
      ESCREVAL("---------")

      SE RESULT_BUSCA = VERDADEIRO ENTAO
         ESCREVAL("O NÚMERO",BUSCAR,"FOI ENCONTRADO E ESTA NA POSIÇÃO",POSICAO)
      SENAO
         ESCREVAL("O NÚMERO NÃO FOI ENCONTRADO !")
      FIMSE

   CASO "C"
      escreval("QUAL NÚMERO DESEJA EXCLUIR DO VETOR: ")
      leia(BUSCAR)

      SE NUMERO[CONTADOR] = BUSCAR ENTAO
         NUMERO[CONTADOR] <- 0
         ESCREVAL("O NÚMERO",BUSCAR,"NA POSIÇÃO",POSICAO,"DO VETOR FOI EXCLUIDO !")
      FIMSE

      PARA CONTADOR DE 1 ATE NUMERO[AUX]
         PARA AUX DE CONTADOR + 1 ATE AUX FACA
            SE NUMERO[AUX] > NUMERO[CONTADOR]
               AUX_TEMP <- NUMERO[AUX]
               NUMERO[AUX] <- NUMERO[CONTADOR]
               NUMERO[CONTADOR] <- AUX_TEMP
            FIMPARA
         FIMPARA

         ESCREVA("VALROES DO VETOR: ")
         PARA CONTADOR DE 1 ATE NUMERO[AUX] FACA
            ESCREVAL(NUMERO[CONTADOR])
         FIMPARA

      CASO "D"
         ESCREVA("VALORES DO VETOR: ")
         PARA CONTADOR DE 1 ATE NUMERO[AUX] FACA
            ESCREVAL(NUMERO[CONTADOR])
         FIMPARA

      CASO "E"
         PARA CONTADOR DE 1 ATE NUMERO[AUX] FACA
            SOMA_VET <- SOMA_VET + NUMERO[CONTADOR]]
         FIMPARA
         ESCREVAL("")
         ESCREVA("A SOMA DO VETOR É:",SOMA_VET)
         
      CASO "F"
         ESCREVAL("ENCERRANDO SISTEMA...")
      OUTROCASO
         ESCREVAL("OPÇÃO INVÁLIDA !")
      FIMESCOLHA

Fimalgoritmo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Juliana dos Santos
      Oi gente, 
       
      Eu tenho uma tabela no banco de dados do snowflake que é atualizada por um flat file que é atualizado a cada quinze dias; Sempre que os dados são atualizados nesse flat file ele sobrescreve as informações anteriores e assim não temos histórico dos dados que estavam no banco antes da ultima atualização, isso esta causando uma dor de cabeça por que sempre que ocorre algum erro não temos como voltar para o resultado anterior e o flat file tem que ser refeito por algum analista.
       
      As configurações do banco de dados foram feitas em Sql, enquanto o esquema que rodam para jogar as informações do flat file para a tabela do banco esta em python.
       
      Eu acabei de chegar a essa área e herdei essa criança e tenho pensado em como resolve-lo e criar uma nova tabela que não sobrescreva mas sim empilhe as informações, porem existe uma grande pegadinha nesse processo, esse flat file é atualizado muitas vezes até que ele chegue a sua "versão final" que é utilizada para o fechamento, esse fechamento que não acontece sempre no mesmo dia. Para que o histórico seja confiável ele não pode empilhar os dados toda vez que atualizarmos, apenas quando realmente for fechado.
       
      Vocês conseguem me ajudar? O que devo fazer? Criar um fluxo com algum trigger? mudar a forma que o flat file é alimentado?
       
      Me ajudem a enxergar algum caminho para resolver o que foi criado antes da minha chegada
       
      Desde já agradeço,
      Um beijo e um queijo.
       
      Ju
    • By Hyroshima
      Boa noite pessoal, não sei se meu problema está relacionado com a categoria mas não achei outro local melhor ;/
      Eu fiz algumas buscas mas talvez posso estar procurando errado por quê não achei nada que respondesse minha dúvida.
      Eu queria saber se é possível enviar um comando de teclado sem teclado pelo ssh, resumindo eu queria por exemplo executar o comando de teclado Ctrl+B e logo depois a tecla o via terminal, tipo o comando pyautogui.hotkey('ctrl','f5') do python, ou nesse caso eu teria que usar o python para executar esses comandos?
       
      desde já obrigado pela atenção.
    • By thiago_tw
      eu to com uma tarefa que preciso de ajuda, já tentei alguns algoritmos que achei por aqui mas nunca dá certo, mandei a imagem do que é para ser feito, agradecido se me ajudarem

    • By Air-Gear
      Olá pessoal!
       
      Entregaram um código já montando e eu preciso fazer uma modificação na parte do campo url, já que ele é uma array de string com tamanho variado. Antes de mexer no código, já funcionava, mas o campo url pegava só a primeira posição. No Front-End que utiliza Javascript eu conseguir resolver, o Back-End que utiliza C# estou pegando agora. Eu implementei um foreach primeiro, mas vi que com for ficou melhor pra montar o código. Visual Studio não deu erro no código, mas não executou como devia. Eu tentei colocar "url = end;", mas apontou erro. Eu estou mais ou menos no caminho. Alguém pode me ajudar?
       
      Segue o código.
      public class clUpload { #region insert internal static bool novoUpload(tbUploadSCP obj) { tbUploadSCP uploadA = new tbUploadSCP(); using (TransactionScope ts = new TransactionScope()) { using (Repository<tbUploadSCP> repSol = new Repositoryupload()) { string[] end = { }; for (int i = 0; i < obj.url.Length; i++) { end[i] = obj.url[i].ToString(); obj.url = end[i]; } uploadA = new tbUploadSCP { url = obj.url, userId = obj.userId, upIdAcao = obj.upIdAcao, upTipo = obj.upTipo, upData = obj.upData, }; repSol.Add(uploadA); //var upMetaPeriodo = UpMetaPeriodo(obj); } ts.Complete(); return true; } } //Resto do código que não tem haver com o problema }  
    • By b2black
      Sou iniciante em C#, comecei a aprender a programar por essa linguagem, gostaria de entender como eu faço uma codificação que após minha tela de um programa inicial abrir, 5 segundos depois, abre o segundo form (segunda tela) (sem ter que utilizar botões).
       
      Por exemplo, a abertura do Visual Studio 2022.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.