DaviMontalvão. 0 Denunciar post Postado Novembro 16, 2007 GALERA ESTOU TENTANDO FAZER UM ALGORITMO PARA SABER SE UM NUMERO É PRIMO OU NÃO, SABEMOS QUE NUMEROS PRIMOS SÃO AQUELES NUMEROS DIVISIVEIS POR 1 E POR ELE MESMO,MAS COMO COLOCO ISSO NO PAPEL? VALEW Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 16, 2007 Veja se isso te ajuda: http://forum.imasters.com.br/index.php?showtopic=249578 Compartilhar este post Link para o post Compartilhar em outros sites
DaviMontalvão. 0 Denunciar post Postado Novembro 16, 2007 ate ajudou o problema é que so conheço português estruturado, você poderia traduzir para mim?, obrigado Compartilhar este post Link para o post Compartilhar em outros sites
DaviMontalvão. 0 Denunciar post Postado Novembro 16, 2007 TENTEI FAZER MAIS AINDA NÃO ROLOU, TEM QUE FAZER ALGUNS AJUSTES. algoritmo "semnome" // Função : // Autor : // Data : 16/11/2007 // Seção de Declarações var N,V : INTEIRO P: CARACTERE inicio ESCREVAL ("DIGITE UM NUMERO") LEIA (N) P<- "S" PARA V DE N-1 ATE 2 PASSO -1 FACA SE (N MOD V = 0)ENTAO P<- "N" FIMSE SE (P= "S")ENTAO ESCREVAL (" NUMERO PRIMO") SENAO ESCREVAL ("NUMERO NÃO É PRIMO") FIMSE FIMPARA fimalgoritmo Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 16, 2007 O fimpara está no lugar errado. Tente isso: algoritmo "semnome" // Função : // Autor : // Data : 16/11/2007 // Seção de Declarações var N,V : INTEIRO P: CARACTERE inicio ESCREVAL ("DIGITE UM NUMERO") LEIA (N) P <- "S" PARA V DE N-1 ATE 2 PASSO -1 FACA SE (N MOD V = 0)ENTAO P<- "N" FIMSE FIMPARA SE (P= "S")ENTAO ESCREVAL (" NUMERO PRIMO") SENAO ESCREVAL ("NUMERO NÃO É PRIMO") FIMSE fimalgoritmo Compartilhar este post Link para o post Compartilhar em outros sites
DaviMontalvão. 0 Denunciar post Postado Novembro 16, 2007 rodou legal beleza, o problema é que tentei fazer o teste de mesa e não consegui ou seja não entendi nada, você pode me ajudar, obrigado!!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 16, 2007 Vamos lá: - Cria-se as variáveis: N,V : INTEIRO P: CARACTERE - A mensagem "DIGITE UM NUMERO" é mostrada na tela. - Voce digita algum número. Por exemplo: 9 - 9 é armazenado em n. - P recebe "S" - para v de n-1 ate 2 passo -1 faca "v recebe 9-1 = 8; repita isso ate n chegar a 2; a cada interacao v recebe v - 1" . Pronto entrou no laco, agora só sai quando n chegar a 1. O resto de n "9" dividido por v "8" é 0? Não entao pula o se Faz uma interacao, agora v = 7 O resto de n "9" dividido por v "7" é 0? Não entao pula o se Faz uma interacao, agora v = 6 O resto de n "9" dividido por v "6" é 0? Não entao pula o se Faz uma interacao, agora v = 5 O resto de n "9" dividido por v "5" é 0? Não entao pula o se Faz uma interacao, agora v = 4 O resto de n "9" dividido por v "4" é 0? Não entao pula o se Faz uma interacao, agora v = 3 O resto de n "9" dividido por v "3" é 0? Sim, entao executa o se P recebe "N" Faz uma interacao, agora v = 2 O resto de n "9" dividido por v "2" é 0? Não entao pula o se Faz a próxima interacao e sai do laco. P é igual a "S"? Não, então pula o se e executa o senão. Mostra na tela: "NUMERO NÃO É PRIMO" Compartilhar este post Link para o post Compartilhar em outros sites
DaviMontalvão. 0 Denunciar post Postado Novembro 16, 2007 Kandrade no caso você pega o numero 9 e faz a condição perguntando se o resto da divisão com o 8,7,6,5,4,3,2 é igual a zero, ate ai entendi, mas por que ele no laço tem que receber o 9-1 sendo que o passo -1 ja faz esse serviço?, valeu. Compartilhar este post Link para o post Compartilhar em outros sites
Giovani 104 Denunciar post Postado Novembro 16, 2007 Título do tópico editado conforme Regras do Fórum iMasters Sai: NUMEROS PRIMOS Entra: Números Primos Compartilhar este post Link para o post Compartilhar em outros sites
DaviMontalvão. 0 Denunciar post Postado Novembro 16, 2007 ok, me desculpe. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 17, 2007 Aquele n-1 é executado somente uma vez. A variável v é iniciada com esse valor, ou seja, no exemplo 9-1=8. O passo -1 é executado a cada volta do laco, ele executa isso: v <- v - 1 a cada interacão. Porque a inicializacão de v é 8 "n-1" e não 9 "n"? Porque n é divisível por n e disso já sabemos o que precisa ser testado é se tem algum número menor que n que divida n sem sobrar resto. Kandrade no caso você pega o numero 9 e faz a condição perguntando se o resto da divisão com o 8,7,6,5,4,3,2 é igual a zero, ate ai entendi, mas por que ele no laço tem que receber o 9-1 sendo que o passo -1 ja faz esse serviço?, valeu. Compartilhar este post Link para o post Compartilhar em outros sites
DaviMontalvão. 0 Denunciar post Postado Novembro 17, 2007 Beleza, agora entendi. Valew Compartilhar este post Link para o post Compartilhar em outros sites