Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mistergu

em exercício envolvendo Pascal!

Recommended Posts

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.