Wątek przeniesiony 2016-10-14 11:03 z Delphi i Pascal przez furious programming.

Program nie chce działac

0

program napisałem tak:

program project4;

{$mode objfpc}{$H+}
var
x:real;
y:real;
z:real;
Pi:real;
wektor1:real;
wektor2:real;

begin
Pi:=3.14;
Writeln('Podaj wartosc x');
Readln(x);
if (x >= 0)
Then
wektor1:=x

else

wektor1:= -x;

Writeln('Podaj wartosc y');
Readln(y);
if (y >= 0) then
wektor2 := y;
else
wektor2:= -y;
z:=cos((180/x)*Pi,(180/y)*Pi);{cos wektor1 i 2}
writeln('wartosc kata pomiedzy wektorami wynosi: ',x*y*z);
readln;
end.

TREŚĆ ZADANIA TO:

Napisz program, który pobiera od użytkownika współrzędne dwóch wektorów i oblicza wartość kąta między tymi wektorami.

Metoda:

v=[v1, v2, ..., vn], w=[w1, w2, ..., wn]
(v · w) = |v| |w| cos(v,w)

MAM pewnie coś źle z tym ELSE? ale nie wiem co?

0
  1. Wsadź kod w znaczniki kod.
  2. Napisz jaki rodzaj błędu dostajesz.
  3. Metoda Abs zwraca wartość bezwzględną.
1

Zbędny średnik po wektor2 := y;

0

teraz mam tak:

{$mode objfpc}{$H+}
var
x:real;
y:real;
z:real;
Pi:real;
z1:real;
z2:real;
begin
Pi:=3.14;
z1:=(180/x)*Pi;
z2:=(180/y)*Pi;
Writeln('Podaj wartosc x');
Readln(x);
Writeln('Podaj wartosc y');
Readln(y);
z:=cos(z1,z2);
writeln('wartosc kata pomiedzy wektorami wynosi: ',ABS(x)*ABS(y)*(z);
readln;
end.

i wyskakuje błąd:

D:\project4.pas(13,10) Warning: Variable "x" does not seem to be initialized
D:\project4.pas(14,10) Warning: Variable "y" does not seem to be initialized
D:\project4.pas(19,4) Error: Wrong number of parameters specified for call to "cos"
D:\project4.pas(20,69) Fatal: Syntax error, ")" expected but ";" found
0
  1. wstawiaj kod w znaczniki <code><code class="delphi"></code></code> lub <code><code class="pascal"></code></code>, albo wątek poleci do kosza, bo wypisujesz kompletnie nieczytelne posty;
  2. formatuj kod, dodając do niego odpowiednie wcięcia i inne odstępy, a także używaj wielkich liter - inaczej nikomu nie będzie się chciało analizować tak nieczytelnego kodu;
  3. czytaj ze zrozumieniem komunikaty debugera - po pierwsze, podałeś dwa parametry w funkcji Cos, a ona przyjmuje jeden parametr, a po drugie, znów zgubiłeś nazwias, tym razem zamykający procedurę Writeln na końcu kodu.

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