mistergu 0 Denunciar post Postado Maio 9, 2006 Olá pessoal..Espero que este fórum seja legal.Sou novo por aqui, e este será meu primeiro tópico (já com dúvida enorme).Estou com um determinado problema envolvendo um exercício.O enunciado é:- Faça um programa que calcule e mostre o produto dos números primos entre 92 e 1.478. OBS:O programa escrito em Pascal deverá usar somente ''ESTRUTURA DE REPETIÇÃO'', no caso somente o REPEAT e o UNTIL (foram a única forma de estrutura de repetição explicada até agora pelo Professor).Alguém poderia me passar o código-fonte do programa em Pascal?Não estou conseguindo elaborá-lo.Aguardo uma ajuda =]GratoGustavo. Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Maio 9, 2006 Bem! Pra começar, nem era pra eu postar o código pronto, pois vai contra a política do Forum, que é: "Não dê o peixe, ensine a pescar." Mas como eu estava de bobeira, eu fiz um algoritmo. Dá pra você modificar e deixá-lo como seu professor pediu, que usando repeat. Program mistergu; var number, counter, temp, produto: integer; begin produto := 1; temp := 0; {zerando a variável temporária} for number := 92 to 1478 do {pegando os números de 92 até 1478} begin for counter := 1 to number do {verificando se o número é primo} begin if (number mod counter = 0) then begin temp := temp + 1; end; end; if (temp = 2) then {se o número for primo, somar} begin produto := produto * number; end; temp := 0; {zerando a variável para que possa ser reutilizada no loop} end; writeln('O produto dos numeros primos de 92 a 1478 eh: ', produto); Readln; End. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
mistergu 0 Denunciar post Postado Maio 9, 2006 No caso, só poderá ser utiizado para a resolução do problema o REPEAT/UNTIL,já que vimos só ele por enquanto.Você utilizou o comando FOR! Ainda não vimos.Portanto, a resolução tem que ser baseada somente em REPEAT/UNTIL..Grato! Compartilhar este post Link para o post Compartilhar em outros sites
Palc 0 Denunciar post Postado Maio 10, 2006 beleza rapaziada, Uma modificacao é if (temp = 2) then {se o número for primo, somar}begin{ produto := produto + number; é produto invés de soma, e a var produto deve iniciar em 1 invés de zero} produto := produto * number;end; Sugestao: mistergu abra o "for" em "repeat/until" só isso. Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Maio 10, 2006 beleza rapaziada, Uma modificacao é if (temp = 2) then {se o número for primo, somar}begin{ produto := produto + number; é produto invés de soma, e a var produto deve iniciar em 1 invés de zero} produto := produto * number;end; Sugestao: mistergu abra o "for" em "repeat/until" só isso.É verdade, viajei no "produto". É multiplicação e não soma.PS: Mistergu, é só adaptar este algoritmo trocando o for por repeat. Se esforce um pouco. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites