Retorno de dois valores na Função...
Fiz um pequeno programa de matemática. tudo tava indo bem até que resolvi fazer uma função para retornar as raizes de uma equação de segundo grau. Bem X1 := -b+Sqrt(Sqr(b)-4*a*c); e X2 := -b-Sqrt(Sqr(b)-4*a*c); como faço para essa função retornar meu X1 e X2..
Obs . Sei como fazer para retornar apenas se utilizar o X1 Ou X2...
Obrigado pela ajuda.
Obs . Sei como fazer para retornar apenas se utilizar o X1 Ou X2...
Obrigado pela ajuda.
Pantoja
Curtidas 0
Respostas
Beppe
27/01/2004
Use parâmetros [b:eb773d4080]out[/b:eb773d4080].
Chama assim:
Para um parâmetro [b:eb773d4080]out[/b:eb773d4080], como o [b:eb773d4080]var[/b:eb773d4080], você não pode passar uma constante, precisa ser uma variável. A diferença entre [b:eb773d4080]out[/b:eb773d4080] e [b:eb773d4080]var[/b:eb773d4080] é que [b:eb773d4080]out[/b:eb773d4080] desconsidera o valor inicial da variável.
procedure Raizes(A, B, C: Integer; out X1, X2: Integer); begin ... X1 := ...; X2 := ... end;
Chama assim:
var X1, X2: Integer; begin Raizes(2, 1, 4, X1, X2); // quando chegar neste ponto, X1 contém X1 e X2 contém X2 // embora você não precise usar o mesmo nome para as variáveis end;
Para um parâmetro [b:eb773d4080]out[/b:eb773d4080], como o [b:eb773d4080]var[/b:eb773d4080], você não pode passar uma constante, precisa ser uma variável. A diferença entre [b:eb773d4080]out[/b:eb773d4080] e [b:eb773d4080]var[/b:eb773d4080] é que [b:eb773d4080]out[/b:eb773d4080] desconsidera o valor inicial da variável.
GOSTEI 0