Ir ao conteúdo
  • Cadastre-se

Bug após compilar - Pascal


viniciusbmatos

Posts recomendados

Estou fazendo meus primeiros aplicativos em Pascal. Construí um para calcular a distância entre dois pontos no plano, mas ao inserir o último valor o aplicativo fecha. Há algum erro? O código:

Program Distancia_de_Pontos;
var x1,x2,y1,y2,distancia: real;
begin
writeln('_____________________________________________________');
writeln('Este aplicativo calcula a distância entre dois pontos');
writeln('P = (x , y ) e P = (x , y )');
writeln(' 1 1 1 2 2');
writeln('_____________________________________________________');
writeln('Digite o valor de x :');
writeln(' 1');
writeln('_____________________________________________________');
readln(x1);
writeln('_____________________________________________________');
writeln('Digite o valor de y :');
writeln(' 1');
writeln('_____________________________________________________');
read(y1);
writeln('_____________________________________________________');
writeln('Digite o valor de x :');
writeln(' 2');
writeln('_____________________________________________________');
read(x2);
writeln('_____________________________________________________');
writeln('Digite o valor de y :');
writeln(' 2');
writeln('_____________________________________________________');
read(y2);
writeln('_____________________________________________________');
distancia :=sqrt(sqr(x2-x1)+sqr(y2-y1));
writeln('A distância entre (',x1,', ',y1,') e (',x2,', ',y2,') é: ',distancia);
writeln('_____________________________________________________');
writeln('A fórmula utilizada:');
writeln('_____________________________________________________');
writeln(' 2 2 2');
writeln('D = (x - x ) + (y - y ) ');
writeln(' P , P 2 1 2 1 ');
writeln(' 1 2 ');
writeln('_____________________________________________________');
end.

Obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Fecha? Some tudo? O write abaixo do read(y2) é executado?

Tente o seguinte:

1. Insere uma linha "uses crt;" antes do var.

2. Altera "Distancia_de_pontos" pra "pontos".

3. Adiciona um "readkey;" antes do "end.".

Não percebi nenhum erro no código.

Link para o comentário
Compartilhar em outros sites

Percebia que antes ele calculava mas fechava antes que pudesse ver o resultado. Não precisei mudar o nome, apenas pus o uses crt; e o readkey;. Obrigado.

Observação:

Percebi também que, nos aplicativos DOS (.bat) é necessário exigir que se pressione uma tecla antes do end, com o comando pause.

[RESOLVIDO]

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

 

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!