Ir ao conteúdo
  • Cadastre-se

Ajuda com código


Posts recomendados

Bom, eu estou tentando fazer tipo uma calculadora de radiciação com pascal e está dando alguma coisa errada com o código que deveria estar funcionando

Program Pzim ;var num,numatul,num1,indice,numfind,numrandom,valuereal : integer;Beginwrite ('valor: ');readln (numfind);write ('indice: ');readln (indice);randomize;numrandom:=random(10000000);num1:=numrandom;num:=num1;repeatif indice > 0 thenbeginnumatul:= num*num1;num:= numatul*num1;valuereal:=num;indice:=indice-1end;if valuereal <> numfind thenbeginrandomize;numrandom:=random(10000000);num1:=numrandom;num:=num1;end;until numfind = valuereal;write (numrandom);End.

Primeiro ele pede o número e o índice, aí ele pega um valor aleatório e eleva ao número que foi pedido como índice, se o resultado for igual ao número pedido ele mostra o número sorteado, senão ele sorteia outro e faz o mesmo processo. Ele simplesmente entra em loop quando eu tento rodar, eu acho que ele não consegue sortear o número desejado ou coisa assim. o que está errado

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

Eu não consegui entender o princípio desta "calculadora"...

Então, o "loop infinito" está ocorrendo devido à comparação do "numfind = valuereal". Pelo jeito eles estão sempre ficando diferentes..

Daí tem várias formas de tentar ajustar... como colocar outra condição, como uma limite de "tentativas" (loops), ou mesmo entender e ajustar quais valores são esperados para essas duas variáveis...

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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