Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi retorno um vetor em uma função


Posts recomendados

Me ajudem ae por favor, preciso fazer esse exercício e não sei fazer. Alguém ajuda pls

 

>> "Considere o seguinte formato de uma equação de segundo grau Ax2 + Bx + C = 0. Crie a subrotina TermosEquacaoGrau2(Equacao: String): TVetTermos que retorne um vetor de 3 posições com os termos da equação." 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá. @christhian11rv, seja bem-vindo ao Fórum do Clube do Hardware.

 

1 hora atrás, christhian11rv disse:

Me ajudem ae por favor, preciso fazer esse exercício e não sei fazer. Alguém ajuda pls

 

Poste o que já conseguiu fazer e onde está com dúvidas.

 

No aguardo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

program project1;
type
  tvettermos = array[1..3] of integer;

function  termosequacaograu2(equacao : string) : tvettermos;
var
  termos : tvettermos;
  posicao : string;
  num,num2,num3,erro : integer;
begin
  posicao := copy(equacao,1,1);
  val(posicao,num,erro);
  termos[1] := num;
  posicao := copy(equacao,6,1);
  val(posicao,num2,erro);
  termos[2] := num2;
  posicao := copy(equacao,9,1);
  val(posicao,num3,erro);
  termos[3] := num3;

  termosequacaograu2 := termos;
end;

var
  equ : string;
begin
  writeln ('Digite uma equação do segundo grau no seguinte formato: Ax^2+Bx+C=0:');
  readln (equ);
  writeln ('Termos: ',termosequacaograu2(equ));
  readln;
end.

Consegui fazer até ai

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

O enunciado diz:

8 horas atrás, christhian11rv disse:

[...] que retorne um vetor de 3 posições com os termos da equação.

 

Ou seja, a função está retornando um vetor. Logo, no Pascal, nem dá para imprimir assim...

 

Segue um solução pronta:

program project1;
//Considere o seguinte formato de uma equação de segundo grau Ax2 + Bx + C = 0.
//Crie a subrotina TermosEquacaoGrau2(Equacao: String): TVetTermos que retorne
//um vetor de 3 posições com os termos da equação."
type
  tVetTermos = array[1..3] of integer;
function  TermosEquacaoGrau2(equacao:string):tVetTermos;
  var
    termos:tVetTermos;
    erro  :byte;
  begin
    val(Copy(equacao,1,1),termos[1],erro);
    val(Copy(equacao,6,1),termos[2],erro);
    val(Copy(equacao,9,1),termos[3],erro);
    TermosEquacaoGrau2 := termos;
  end;
var
  equacao  :string;
  vetTermos:tVetTermos;
begin
  writeln('Digite uma equação do segundo grau no seguinte formato: Ax^2+Bx+C=0:');
  readln(equacao);
  //writeln('Termos: ',terTermosEquacaoGrau2mosequacaograu2(equacao));
  vetTermos := TermosEquacaoGrau2(equacao);
  writeln('Termos: A = ',VetTermos[1],', B = ',VetTermos[2],' e C = ',VetTermos[3]);
  readln;
end.

 

De certo modo o enunciado só pede a função. Ela já estava pronta... mas meio que fica implícito que quer que demonstre um uso... taí.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!