Ir para conteúdo

POWERED BY:

Arquivado

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

dedeboy

[Resolvido] Algoritmo mostrar Raiz quadrada no Visualg

Recommended Posts

Ola amigos eu estou estudando Lógica de Programação e queria tirar um problema no algortmo sobre raiz quadrada é o seguinte: Eu estou num tópico linhas de loop e no exercicio que ele me manda mostrar as raizes quadrada inteira entre 15 até 200, então eu fiz o código só que na hora de compilar eu não sei onde eu estou errando que aparece só o zero, estou tentando descobrir o erro, mas quando não encontro eu vou passar o código para vocês analisarem para saber na onde eu estou errando, se nesse periodo eu consegui resolver o problema eu posto mostrando como eu fiz. De qualquer maneira desde já agradecer por me ajudar.

 

Os codigos eu fiz foi nesse seguinte maneira:

algoritmo "Raiz quadrada Inteira"
// Função : Ele Mostra a raiz quadrada inteira até 200
// Autor :  Andre de Araujo
// Data : 19/10/2009
// Seção de Declarações 
var
Contador: inteiro
X: inteiro
inicio
// Seção de Comandos 
 Contador:= 15
  Enquanto (Contador<=200)  faca
   RaizQ(X)
  Escreva(X)
  Contador:= Contador + 1

  fimenquanto
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

em vez de passar x para a função passe Contador

 

  Enquanto (Contador<=200)  faca
     X:= RaizQ(Contador)
     Escreva(X)
     Contador:= Contador + 1

Modifiquei e arrendondei os numeros, só que tem agora outro probleminha não quero que mostre os numeros quebrado só quero que mostre os numeros inteiros da raiz quadrada e que não mostre a os numeros quebrado vou passar o código modificado vou procurar na internet qualquer coisa eu descobri eu posto falando.

 

algoritmo "Raiz quadrada Inteira"
// Função : Ele Mostra a raiz quadrada inteira até 200
// Autor :  Andre de Araujo
// Data : 19/10/2009
// Seção de Declarações
var
Contador: inteiro
X: Real
inicio
// Seção de Comandos
 Contador:= 15
  Enquanto (Contador<=200)  faca
   X:= RaizQ(Contador)
   X:= int(X)
  Escreva(X)
  Contador:= Contador + 1

  fimenquanto
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

No visualg você n pode fazer nenhum tipo de casting??

tipo:

N: Inteiro

.

.

N = X

ou

N = (Inteiro) X

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

No visualg você n pode fazer nenhum tipo de casting??

tipo:

 

N: Inteiro

.

.

N = X

ou

N = (Inteiro) X

 

[]s

 

Então no Visualg não como só mostrar os raiz quadrada dos numeros inteiro?

[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se assim resolve algo:

var
Contador: inteiro
X: Real
N: Inteiro
inicio
// Seção de Comandos
 Contador:= 15
  Enquanto (Contador<=200)  faca
   X:= RaizQ(Contador)
   N:= int(X)
  Escreva(N)
  Contador:= Contador + 1

  fimenquanto
fimalgoritmo

É que não tenho o visualg instalo, entaum fica dificil de saber se vai sair correta a resposta =//

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se assim resolve algo:

var
Contador: inteiro
X: Real
N: Inteiro
inicio
// Seção de Comandos
 Contador:= 15
  Enquanto (Contador<=200)  faca
   X:= RaizQ(Contador)
   N:= int(X)
  Escreva(N)
  Contador:= Contador + 1

  fimenquanto
fimalgoritmo

É que não tenho o visualg instalo, entaum fica dificil de saber se vai sair correta a resposta =//

 

[]s

 

Não deu certo! ele faz a mesma coisa com outro algoritmo que eu modiquei! Quando mostra a raizes quadrada ele simplesmente arrendonda os raiz exemplo: Raiz quadrada de 15 é 3,55454etc... ele esta arredondando para 3, 16 ele é raiz exata de 4, 17 raiz ele redonda para 4, etc...

E no exercicio que pede só mostrar a raiz exata tipo: 15 e 3,656 então o programa não mostra. 16 raiz de 4, então o programa mostra o numero. Assim por diante.

 

Mas valeu por desde ja por me ajudar vou ficar procurando aqui a forma para resolver esse problema.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom..

Você qr o numero com as casas decimais ou qr ele com a parte inteira??

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja como pode ser feito:

 

Enquanto (Contador<=200)  faca   
    X:= RaizQ(Contador)   
    N:= int(X)  
    se (N*N) = Contador entao
        Escreva(X)  
    fimse
    Contador:= Contador + 1  
fimenquanto

Deve funcionar.

Só não tenho como testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja como pode ser feito:

 

Enquanto (Contador<=200)  faca   
    X:= RaizQ(Contador)   
    N:= int(X)  
    se (N*N) = Contador entao
        Escreva(X)  
    fimse
    Contador:= Contador + 1  
fimenquanto

Deve funcionar.

Só não tenho como testar.

 

Deu certo sim! Valeu! as expressões que estava fazendo no visualg tava igual que você fez só que não lembrei desse detalhe:

(N*N) = Contador

.

 

Resolvido! se quiser fechar o topico pode ficar a vontade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu pensando q o problema que você estava apresentado era na formatação da saida, e era na lógica do programa UFHDAUSHFA..

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu pensando q o problema que você estava apresentado era na formatação da saida, e era na lógica do programa UFHDAUSHFA..

 

[]s

 

Tranquilo! O que importa foi a intenção de me ajudar.

 

[]s

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.