Ir ao conteúdo
  • Cadastre-se

Diego_Soares

Membro Júnior
  • Posts

    13
  • Cadastrado em

  • Última visita

Tudo que Diego_Soares postou

  1. @f_neto Não consigo excluir, dá erro quando tento. Eu levei no tecnico perto de casa, ele disse que o problema está no hd (vários setores do disco defeituoso, segundo ele) Eu tentei verificar usando o hirens boot e o Rufus ai deu um erro, daí como depende das configurações do notebook não consegui verificar.
  2. Boa noite, Estava tentando fazer a formatação do meu notebook dell usando um Windows 10, mas no momento de excluir e cria uma nova partição, dava um erro de "Espaço não alocado na unidade 0" Pesquisando ví sobre excluir com o diskpart, mas quando no momento do comando "clean" também ocorre um erro "O diskpart encontrou um erro: O sistema não pode encontrar o arquivo especificado". Tentei o comando "wmic diskdrive get caption,status" e aparentemente reconheceu o pendrive e o HD A partir daqui não sei mais o que fazer.
  3. Obrigado, era um erro do pendrive. Eu havia usado o comando diskpart e acabei apagando o arquivo do pendrive.
  4. Fala galera, será que alguém consegue dar uma ajuda Estou com esse problema em um notebook que peguei pra formatar. Tava tentando formatar usando um pendrive com arquvo ISO do Windows, mas estava dando erro (0x8007057) durante a execução. E não conseguia formatar de jeito nenhum Bom, pesquisando ví uma dica pra no prompt de comando executar 'diskpart' e limpar os discos. Bem, eu fiz e limpei os discos 0 e 1 e criei uma partição. Imaginei que se ouvesse algum resíduo gerando conflito e atrapalhando a formatação, isso talvez resolveria. Mas ai deu esse outro problema, será que é contornável?
  5. adicionado 2 minutos depois Olá, tentei fazer aqui , mas os itens estão desativados no meu
  6. Perfeito! Fiz essa e as outras correções. Em relação as nomenclaturas, devido as alterações no programa ficou meio confuso mesmo, mas agora que o programa está praticamente finalizado, vou ver se altero. Eu havia percebido quando tentei alterar o valor dele dentro da própria estrutura. Eu não conseguia. Melhor impossível. Muita dica que eu não sabia e consegui pegar aqui (CtrlU, Interrompa, {}, CRONOMETRO, e tantas outras), fora a força na elaboração do código. Valeu mesmo! O da divisão por primos eu vou tentar em breve. E o do Crivo de Eratóstenes, eu quero tentar futuramente sim, caso precise eu até posto um tópico específico. Obrigado pela força! E estarei acompanhando o forum. adicionado 1 minuto depois Esqueci o código Var Cont1, N, divisores, Cont2, primo: inteiro Inicio CRONOMETRO ON //para Cont1 de 1 ate 1000 faca para Cont1 de 1 ate 1000 faca se (Cont1 % 2 <> 0) ou (Cont1 = 2) então N <- int(raizq(Cont1)) divisores <- 0 para Cont2 de 1 ate N faca se (Cont1 % Cont2 = 0) então divisores <- divisores + 1 se divisores > 1 então interrompa fimse fimse fimpara se (divisores = 1) então se Cont1 <> 1 então {escreval(Cont1)} //exibe na tela os primos primo <- primo + 1 fimse fimse fimse fimpara escreval("Total de números primos: ", primo) CRONOMETRO OFF Fimalgoritmo
  7. Olá Inseri os três primeiros itens (não sei se da maneira correta) O último código que eu postei era executado em aproximadamente 17 segundos. Esse de agora não chega a 1 segundo. (números de 1 a 1000 ambos os programas) Inicio CRONOMETRO ON //para Cont1 de 1 ate 1000 faca para Cont1 de 1 ate 1000 faca se (Cont1 % 2 <> 0) ou (Cont1 = 2) então N <- int(raizq(Cont1)) divisores <- 0 para Cont2 de 1 ate N faca N <- Cont1 se (N % Cont2 = 0) então divisores <- divisores + 1 se divisores > 1 então interrompa fimse fimse fimpara se (divisores = 1) então se Cont1 <> 1 então primo <- primo + 1 fimse fimse fimse fimpara escreval("Total de números primos: ", primo) CRONOMETRO OFF Fimalgoritmo
  8. Boa tarde Não entendi bem essa parte, mas o código ficou assim Var n1, C, primo, divisores: inteiro Inicio primo <- 0 para n1 de 1 ate 1000 faca se n1 < 24 então divisores <- 0 C <- 0 enquanto C < int(raizq(n1)) faca C <- C + 1 se n1 % C = 0 então divisores <- divisores + 1 fimse fimenquanto se divisores = 1 então se n1 <> 1 então primo <- primo + 1 fimse fimse senao se n1 % 2<>0 então se n1 % 3<>0 então se n1 % 5<>0 então se n1 % 7<>0 então se n1 % 11<>0 então se n1 % 13<>0 então se n1 % 17<>0 então se n1 % 19<>0 então se n1 % 23<>0 então divisores <- 0 C <- 0 enquanto C < int(raizq(n1)) faca C <- C + 1 se n1 % C = 0 então divisores <- divisores + 1 fimse fimenquanto se divisores = 1 então primo <- primo + 1 fimse fimse fimse fimse fimse fimse fimse fimse fimse fimse fimse fimpara escreval ("Total de números primos: ", primo) Fimalgoritmo
  9. @Simon Viegas Muito bom. Seguindo um passo de cada vez, refazendo, etc, deu pra progredir bastante. Vamos lá: Depois que alterei para a estrutura 'enquanto' (a estrutura 'para' tava 'parando' o programa, desculpa rs), o programa não travou mais. Porém, demorava muito para concluir os cálculos (praticamente igual antes). Então fiz os seguintes ajustes, seguindo as recomendações: 1 - Conferir apenas os números: ímpares (com exceção do 2), e os não divisíveis por primos (2, 3, 5, 7...). 2 - Dividir até a metade do valor de cada número. "enquanto (divisor_de_n < n/2) faca" 3 - Ir para o próximo número assim que for identificado um divisor extra (3 ou mais, logo 'não primo') O programa ficou bem melhor e fazia menos conta. Agora o próximo passo era encontrar um MD (máximo divisor) que identificasse se um número é primo ou não ainda menor (menor possível). Eu observei que quando o número era primo, ele continuava fazendo muitas verificações, pois, no caso do primo, a condição que fazia o programa parar de verificar era quando (divisor_de_n > n/2). Pesquisando encontrei que pra saber se um número é primo (tem apenas dois divisores) você pode fazer tentativas de divisão até o valor da raiz dele. Você verifica enquanto (divisor_de_n < raiz_de_n). // pulo do gato Bom, com isso, eu procurei como usar raiz quadrada e deixar o resultado como inteiro no visualg; depois de testes ficou assim: "enquanto divisor_de_n < int(raizq(n)) faca" O código está assim: Var n1, C, primo, divisores: inteiro Inicio primo <- 8 // Inicializa com o valor de '8' enquanto "para n1 de 1 ate 23 ou mais" para n1 de 1 ate 1000 faca se n1 % 2<>0 então se n1 % 3<>0 então se n1 % 5<>0 então se n1 % 7<>0 então se n1 % 11<>0 então se n1 % 13<>0 então se n1 % 17<>0 então se n1 % 19<>0 então se n1 % 23<>0 então divisores <- 0 C <- 0 enquanto C < int(raizq(n1)) faca C <- C + 1 se n1 % C = 0 então divisores <- divisores + 1 fimse fimenquanto se divisores = 1 então primo <- primo + 1 fimse fimse fimse fimse fimse fimse fimse fimse fimse fimse fimpara escreval ("Total de números primos: ", primo) Fimalgoritmo Obs. Será que ainda dá pra inicializar "C" com o valor de 1? Eu não consegui implementar. Qualquer dica é bem vinda. Muito obrigado pela ajuda até aqui!
  10. Muito boas as dicas. Tá trabalhoso, mas com as recomendações consegui progredir. Falta mudar algumas coisas ainda no código. A minha dificuldade tá em aplicar o máximo divisor sem acabar criando mais contas para o algoritmo executar. Uma coisa que eu tive que fazer foi mudar a estrutura "para" para outra (no caso, a "enquanto"). Var Cont1, divisores, C, primo: inteiro Inicio primo <- 0 para Cont1 de 1 ate 100 faca se Cont1 % 2 <> 0 então divisores <- 0 C <- 0 enquanto (C < Cont1) faca C <- C + 1 se Cont1 % C = 0 então divisores <- divisores + 1 se divisores > 2 então C <- Cont1 fimse fimse se C * 2 >= Cont1 então se divisores = 1 então divisores <- divisores + 1 C <- Cont1 fimse fimse fimenquanto se divisores = 2 então primo <- primo + 1 fimse fimse fimpara escreval("Total de números primos: ", primo) Fimalgoritmo Próximo passo é esse.
  11. Bom dia a todos. Obrigado @André Ferreira da Silva ! Toda dica já me ajuda muito! A intenção é manter as práticas mais recomendadas. @Simon Viegas , bem que eu suspeitava que tinha conta sem necessidade sendo feita . Obrigado por esclarecer perfeitamente minhas dúvidas. Vou seguir essa recomendação e depois vou tentar a outra forma de dividir apenas por números primos.
  12. Boa noite, Estou com uma questão pra elaborar um algoritmo que calcule o total de números primos entre 1 e 1000 utilizando a estrutura de repetição para. E depois de um dia batendo cabeça, o máximo que eu consegui foi a seguinte solução: o programa apresenta o resultado correto, porém durante a execução do algoritmo ele para de responder cerca de 5 segundos. Var Cont1, N, divisores, Cont2, primo: inteiro Inicio para Cont1 de 1 ate 1000 faca N <- Cont1 divisores <- 0 para Cont2 de 1 ate N faca se (N % Cont2 = 0) então divisores <- divisores + 1 fimse fimpara se (divisores = 2) então primo <- primo + 1 fimse fimpara escreval("Total de números primos: ", primo) Fimalgoritmo Alguém tem uma forma melhor de fazer, ou de ajustar/otimizar? Qualquer dica adicional quanto a elaborar um código é muito bem vinda também.

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