Poprawa błędów

0
program Fliniowa;

uses
  Forms;

{$R *.res}

procedure wprowadzenie(var a,b,c,d:integer);

begin
 writeln('Wprowadz wspolrzedne pierwszego punktu ');
 readln(a,b);
 writeln('Wprowadz wspolrzedne drugiego punktu ');
 readln(c,d);
end;

  function obliczanie(var xa,xb,ya,yb:integer):real;
var a,y:real;
begin

a:=(yb-ya)/(xb-xa);
y:=a*(xb-xa)+ya;
y:=a*xb-a*xa+ya;
y:=a*xa+ya-a*xa;

writeln('y=',a:0:0,'x+',ya-a*xa:0:0);
end;

var xa,xb,ya,yb,a,b,c,d:integer;
 begin
     wprowadzenie(a,b,c,d);
     obliczanie(xa,xb,ya,yb);
   readln;
 end.

Witam czy mógłby ktoś poprawić błędy? Program działa lecz w pewnym momencie sie wyłącza. Z góry dzięki za pomoc.

0

Musisz poczytać o parametrach formalnych i aktualnych funkcji i procedur w Pascalu. Jak przeczytasz i zrozumiesz, to będziesz wiedział, że w Twoim kodzie w tym miejscu

a:=(yb-ya)/(xb-xa);

następuje dzielenie przez zero.

0

Dzięki tak zrobię. A mógłbyś mi teraz ten błąd zniwelować bo nie mam teraz czasu na zabawe z tym a na chwile obecną nie mam pojęcia jak to zrobić.

1

A mógłbyś mi teraz ten błąd zniwelować bo nie mam teraz czasu na zabawe z tym a na chwile obecną nie mam pojęcia jak to zrobić.

No jasne.

asm
mov eax,0
jmp eax
end;

Rozwiąze twój problem.

A tak na serio: Skoro ty nie masz czasu, to dlaczego my mamy go mieć? Użyj takiego nieprzydatnego według większości narzędzia jak debugger (zakładam że masz delphi bo nie podałeś): http://4programmers.net/Delphi/Artykuły/Szukanie_bledow_w_kodzie_czyli_obsluga_Debuggera
I naprawdę rozwiążesz go.
My nie podajemy rozwiązań, my naprowadzamy na nie.

0

Wielkie dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1