macbed
Nowy
Dołączył: 22 Cze 2012
Posty: 1
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pią 19:31, 22 Cze 2012 Temat postu: Type mismatch - gdzie jest błąd? |
|
|
Witam.
Od razu piszę - proszę się nie śmiać, uczę się programowania w Turbo Pascalu dopiero od paru miesięcy Jestem tu nowy, witam ;p .
Podczas pisania dość zaawansowanego jak na mój poziom kalkulatora i zaprogramowaniu 7 działań w stylu mnożenie, przekątna kwadratu itp. napotkałem problem, z którym nie potrafię sobie poradzić - nie mogę znaleźć źródła błędu.
Przejdę do rzeczy...
Przekątna prostokąta o bokach a i b.
d:=(sqrt(sqr(a)+sqr(b)):2:2);
Wyskakuje mi Type mismatch, nie wiem dlaczego.
a, b, d są jako VAR:integer. Na pewno dobrze, bo w pozostałych działaniach uwzględniało te zmienne.
Gdzie jest błąd?
Próbowałem to rozpisać...
x:=sqr(a);
y:=sqr(b);
z:=x+y;
d:=(sqrt(z):2:2);
Wszystkie zmienne jako longint... Efekt - Type mismatch...
Podkreślenie, czyli tzw. "podłoga" podczas błędu pojawia się pod średnikiem na końcu działania z przekątną, czyli:
d:=(sqrt(sqr(a)+sqr(b)):2:2);
albo
d:=(sqrt(z):2:2); .
Wszystkie zmienne: a,b,d,x,y,z:longint.
Próbowałem z integer, próbowałem usunąć ":2:2" - efekt ten sam.
Zarejestrowałem się na tym forum ponieważ uznałem, że znajdę tu pomoc ze strony profesjonalistów - liczę na szybką i precyzyjną odpowiedź, ponieważ jutro muszę już kończyć moją pracę.
Pozdrawiam i czekam z niecierpliwością.
Post został pochwalony 0 razy
|
|