Ir para conteúdo

POWERED BY:

Arquivado

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

Eliu

Raízes de Segundo Grau com VisualG (Função)

Recommended Posts

Salve galera, tudo legal?

 

Meu professor pediu para fazer um algoritmo que calculasse as raízes de segundo grau. Até aí tudo bem, fiz e ficou funcionando certinho.

 

Quando fui apresentar ele não quis nem ver o teste, falou que eu deveria ter usado função e mandou refazer. Não estou conseguindo aqui e gostaria de uma ajuda. Vou passar a minha resolução padrão:

 

algoritmo "Raiz de Segundo Grau"
// Função : Calcular as raízes de Segundo Grau, com Bhaskara
// Autor : Eliu P. Moraes
// Data : 07/03/2012
// Seção de Declarações 
var
a,b,c,delta,x1,x2 : real
inicio
// Entrada de dados
escreva("Digite a variável a: ")
leia(a)
escreva("Digite a variável b: ")
leia(B)
escreva("Digite a variável c: ")
leia(c)

//Processamento e Saída de dados
delta <- Quad(B)  - (4 *  a * c)

se (delta = 0) entao
  escreva("As raízes da função são = ",delta)
senao
    se (delta < 0) entao
       escreva("A função não possui raízes reais")

    senao
         x1 <- ((-B) + raizQ(delta)) / (2 * a)
         x2 <- ((-B) - raizQ(delta)) / (2 * a)
         escreva("As raízes são X¹ =",x1, " e X² =",x2)
    fimse
fimse


fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Função é um subprograma que auxilia o programa principal realizando uma determinada subtarefa, esse subprograma retorna um valor.

No visualg você deve fazer a declaração entre o final da declaração de variáveis e a linha inicial do programa principal.

 

A sintaxe é:

funcao <nome-da-função> [(<sequencia-de-declarações-de-parametros>)] : <tipo-de-dado>
// Seção de Declarações Internas
inicio
// Seção de Comandos
fimfuncao

 

Exemplo simples de função para somar dois numeros e devolver o valor da soma

funcao soma: inteiro
var aux : inteiro
inicio
// n, m e res são declaradas como variáveis globais
aux <- n + m
retorne aux
fimfuncao

// no programa principal:

n <- 4
m <- 2
res <- soma
escreva(res)

 

Você pode tambem passar o valor de n e m como parametro

funcao soma (x,y: inteiro) : inteiro
inicio
retorne x + y
fimfuncao
// no programa principal:
n <- 4
m <- 2
res <- soma(n,m)
escreva(res)

 

Acessa esse site, é da desenvolvedora do visualg lá tem toda a linguagem e exemplos:

http://www.apoioinformatica.inf.br/visualg/linguagem4.htm

 

Depois posta teu código, se ainda tiver dúvidas posta ai :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Ulisses,

 

Me desculpe, mas parece que fui infeliz em minha postagem. O problema que estou tentando não é em saber ou não o que é função. Na verdade não consigo enchergar uma maneira de transformar este programa em função, visto que dependendo da situação ele pode retornar um dado diferente.

 

Neste caso posso retornar caractere e variáveis, e não descobri como fazer isto no visualG visto que ele permite retornar um tipo de dado apenas, seguindo raciocínio do site do fabricante.

 

Aliás este site já li todo e executei todos os exercícios de exemplo.

 

Também estive buscando no Google e não encontrei uma solução, penso que a maneira correta seria transformando o conjunto que está sendo retornando em apenas um tipo, o caractere seria então perfeito para o meu caso. Mas então cairia numa segunda questão que seria: Como transformar real ou inteiro em caractere.

 

Desde já grato pela ajuda e peço desculpas pela dificuldade de expressar meu problema num primeiro momento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Elliu me desculpe realmente acho que não entendi.

Desconheço uma função que transforme real ou inteiro em string.

Pra que você precisa retornar esses caracteres?

Não seria só retornar o valor de x1 e x2 e talvez uma mensagem de erro?

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.