Thiago André Cardoso Postado Maio 13, 2018 Denunciar Share Postado Maio 13, 2018 Escreva um algoritmo que imprima na tela os 10 primeiros números pares e os 10 primeiros números primos, isso em ordem crescente. Exemplo: 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17... Quem quiser aprender esses e outros algoritmo segue em anexo o contato. Abraços a todos. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ThiagoD Postado Maio 20, 2018 Denunciar Share Postado Maio 20, 2018 Legal esse desafio, investi algumas horas pra desenvolver a logica... O algoritmo que estou postando foi escrito no VisuAlg 3.0... Espero receber criticas construtivas sobre formas alternativas ou mais eficientes de como desenvolver a logica, como organizar melhor o algoritmo, como fazer comentarios melhores e etc... as criticas construtivas serao bem-vindas... valeu! ///////////////////////////////////////////////////////////////////////////// // Desafio base 2, postado no site: www.scriptbrasil.com.br // Objetivo: Imprimir na saida, em ordem cresccente, os 10 primeiros numeros // pares e os 10 primeiros numeros primos a partir de 1. // por ThiagoD ///////////////////////////////////////////////////////////////////////////// algoritmo "Pares_e_Primos" var PARES : vetor[0..9] de inteiro PRIMOS : vetor[0..9] de inteiro A,B,NUM,D,F,X : inteiro inicio NUM:=1 // A variavel 'NUM' ira representar o numero que estamos verificando para saber se e par/primo. ENQUANTO (PARES[9]=0) OU (PRIMOS[9]=0) FACA // Enquanto verdadeira, essa condiçao significa que ainda não temos todos os 10 numeros pares/primos NUM:=NUM+1 SE (PARES[9]=0) E (NUM%2=0) então // Se verdadeiro, significa que ainda não temos todos os 10 numeros pares e, o numero que esta sendo verificado ('NUM') é par. PARES[A]:=NUM // Sendo ('NUM') um numero par, vamos adiciona-lo a lista de numeros pares (vetor 'PARES'). A:=A+1 // o indice ('A') recebe +1 para que o proximo numero adicionado não sobreescreva um numero já existente. FIMSE SE (PRIMOS[9]=0) então // Se verdadeiro, significa que ainda não temos todos os 10 numeros primos. D:=1 F:=0 // Quando 'NUM' for divisivel por 'D' e não houver resto, 'F' recebera +1. ENQUANTO não(D>NUM) FACA // Se verdadeiro, significa que o divisor ('D') não e maior que o dividendo. SE (NUM%D=0) então // Se verdadeiro, significa que temos um numero ('NUM') divisivel por 'D', então... F:=F+1 // 'F' recebe +1 FIMSE D:=D+1 // 'D' vai representar o divisor pelo qual 'NUM' sera dividido, afim de saber por quais numers 'NUM' pode ser dividido sem deixar resto. FIMENQUANTO SE (F=2) então // Se verdadeiro, significa que 'NUM' e um numero primo, logo... PRIMOS[B]:=NUM // num sera adicionado ao indice 'B', da lista de numeros primos (vetor 'PRIMOS') B:=B+1 // A mesma logica da linha 18, mas referente ao vetor PRIMOS. FIMSE FIMSE FIMENQUANTO ESCREVA("Números Pares:") PARA X:=0 ATE 9 FACA // Este trecho imprime todos os numeros pares... ESCREVA(PARES[X]) X:=X+1 FIMPARA ESCREVAL("") // Apenas para pular uma linha... ESCREVA("Números Primos:") PARA X:=0 ATE 9 FACA // Este trecho imprime todos os numeros primos... ESCREVA(PRIMOS[X]) X:=X+1 FIMPARA fimalgoritmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thiago André Cardoso Postado Maio 22, 2018 Autor Denunciar Share Postado Maio 22, 2018 Em 20/05/2018 at 14:40, ThiagoD disse: Legal esse desafio, investi algumas horas pra desenvolver a logica... O algoritmo que estou postando foi escrito no VisuAlg 3.0... Espero receber criticas construtivas sobre formas alternativas ou mais eficientes de como desenvolver a logica, como organizar melhor o algoritmo, como fazer comentarios melhores e etc... as criticas construtivas serao bem-vindas... valeu! ///////////////////////////////////////////////////////////////////////////// // Desafio base 2, postado no site: www.scriptbrasil.com.br // Objetivo: Imprimir na saida, em ordem cresccente, os 10 primeiros numeros // pares e os 10 primeiros numeros primos a partir de 1. // por ThiagoD ///////////////////////////////////////////////////////////////////////////// algoritmo "Pares_e_Primos" var PARES : vetor[0..9] de inteiro PRIMOS : vetor[0..9] de inteiro A,B,NUM,D,F,X : inteiro inicio NUM:=1 // A variavel 'NUM' ira representar o numero que estamos verificando para saber se e par/primo. ENQUANTO (PARES[9]=0) OU (PRIMOS[9]=0) FACA // Enquanto verdadeira, essa condiçao significa que ainda não temos todos os 10 numeros pares/primos NUM:=NUM+1 SE (PARES[9]=0) E (NUM%2=0) então // Se verdadeiro, significa que ainda não temos todos os 10 numeros pares e, o numero que esta sendo verificado ('NUM') é par. PARES[A]:=NUM // Sendo ('NUM') um numero par, vamos adiciona-lo a lista de numeros pares (vetor 'PARES'). A:=A+1 // o indice ('A') recebe +1 para que o proximo numero adicionado não sobreescreva um numero já existente. FIMSE SE (PRIMOS[9]=0) então // Se verdadeiro, significa que ainda não temos todos os 10 numeros primos. D:=1 F:=0 // Quando 'NUM' for divisivel por 'D' e não houver resto, 'F' recebera +1. ENQUANTO não(D>NUM) FACA // Se verdadeiro, significa que o divisor ('D') não e maior que o dividendo. SE (NUM%D=0) então // Se verdadeiro, significa que temos um numero ('NUM') divisivel por 'D', então... F:=F+1 // 'F' recebe +1 FIMSE D:=D+1 // 'D' vai representar o divisor pelo qual 'NUM' sera dividido, afim de saber por quais numers 'NUM' pode ser dividido sem deixar resto. FIMENQUANTO SE (F=2) então // Se verdadeiro, significa que 'NUM' e um numero primo, logo... PRIMOS[B]:=NUM // num sera adicionado ao indice 'B', da lista de numeros primos (vetor 'PRIMOS') B:=B+1 // A mesma logica da linha 18, mas referente ao vetor PRIMOS. FIMSE FIMSE FIMENQUANTO ESCREVA("Números Pares:") PARA X:=0 ATE 9 FACA // Este trecho imprime todos os numeros pares... ESCREVA(PARES[X]) X:=X+1 FIMPARA ESCREVAL("") // Apenas para pular uma linha... ESCREVA("Números Primos:") PARA X:=0 ATE 9 FACA // Este trecho imprime todos os numeros primos... ESCREVA(PRIMOS[X]) X:=X+1 FIMPARA fimalgoritmo Bom dia Thiago, Gostei da resolução. Sempre bom ver resoluções diferentes para expandir o jeito de pensar. Até breve. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thiago André Cardoso
Escreva um algoritmo que imprima na tela os 10 primeiros números pares e os 10 primeiros números primos, isso em ordem crescente.
Exemplo: 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17...
Quem quiser aprender esses e outros algoritmo segue em anexo o contato.
Abraços a todos.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.