[ anon17194 @ 06.11.2004. 13:27 ] @
Zasto mi izbacuje "Type mismatch" kod ove jednacine,gde je greska ovde:


sum := ((1000 - g4)/g5)*g2 + 1000*g3*g2/g5 - g3*g;

Bio bih vam zahvalan kada biste mi pravilno napisali jednacinu.
Hvala
[ cicika @ 06.11.2004. 13:40 ] @
Napiši prvo kako si definisao sve promenljive (g1,g2...) pa onda.
[ sasas @ 06.11.2004. 13:42 ] @
Promenjive bi ti trebale biti tipa float ili double, i radice ok.
Ne mozemo ti mi napisati formulu jer ne znamo sta zelis da izracunas :)

ss.
[ cicika @ 06.11.2004. 14:37 ] @
Misliš real, float i double su pojmovi iz C-a.
[ anon17194 @ 06.11.2004. 15:07 ] @
I ja vidim da nesto nece sa float a ne znam sto?
Ne verujem da ce real da pomogne,mislim da je greska negde u pisanju jednacine
[ BytEfLUSh @ 06.11.2004. 15:38 ] @
real će ti pomoći.....
[ sasas @ 06.11.2004. 16:21 ] @
Citat:
cicika: Misliš real, float i double su pojmovi iz C-a.


Ko ce se vise snaci medju tolikim jezicima :) Mislio sam na single i double (inace koristim iskljucivo double, pa sam zaboravio da je float == single u pacalu).
Na real nisam mislio, ni u ludilu :) Jedna od Borlandovih genijalnih konstrukcija, taj real. 6 bajtni zapis, nije kompatibilan ni sa jednom FPU na svetu (koliko ja znam). Nije usaglasen ni sa jednim standardom. Koristite single, double ili extended osim ako ne programirate u recimo TP 1, 2, ili 3, gde ste osudjeni na real.

@[[HiGHlaNDeR]] plz. no more private's, postuj na forum...

ss.
[ anon17194 @ 06.11.2004. 16:37 ] @
Probao sam sa double i ne radi,javlja mi gresku "Must be in 8087 mode to compile this." Imate li neku drugu ideju sta da stavim umesto integer?
[ BytEfLUSh @ 06.11.2004. 16:47 ] @
Pa jesi probao real?

A probaj i da uključiš 8087 negde u Compiler options......... Zaboravio sam, davno sam u pascalu radio...
[ Marko Stankovic @ 06.11.2004. 17:05 ] @
Citat:
sasas:
Na real nisam mislio, ni u ludilu :) Jedna od Borlandovih genijalnih konstrukcija, taj real. 6 bajtni zapis, nije kompatibilan ni sa jednom FPU na svetu (koliko ja znam). Nije usaglasen ni sa jednim standardom. Koristite single, double ili extended osim ako ne programirate u recimo TP 1, 2, ili 3, gde ste osudjeni na real.


Uh ovo mi sada bas i nije jasno. Koliko ja znam bas je "real" tip za realne brojeve po iso standardu. Mi smo na faksu ucili standardni pascal i nikada nismo pomenuli double i single. Mozda si mislio na neko prosirenje pascala?

@[[HiGHlaNDeR]]
Prebaci sve promenljive u real ukljucujuci i sum promenljivu i to bi trebalo sigurno da radi. Ako i dalje nece onda ostavi ceo kod ovde da vidimo o cemu je rec.



update:
Sada sam malo proguglao i video sam da si u pravu :) Postoje ovi tipovi od borlandovog pascala 4 pa navise i u delfiju, ali sam pogledao i standard i u njemu se ne pominju. Sto znaci da bi trebalo da program radi sa tipom real.
[ sasas @ 06.11.2004. 17:33 ] @
Citat:
Marko Stankovic: Uh ovo mi sada bas i nije jasno. Koliko ja znam bas je "real" tip za realne brojeve po iso standardu. Mi smo na faksu ucili standardni pascal i nikada nismo pomenuli double i single. Mozda si mislio na neko prosirenje pascala?


U borlandovoj specifikaciji, real je 6 bajtni, nekakav truli kompromis izmedju single i double. Real koliko ja znam ne koristi FPU, tj. implementacija je softverska. Single, Double i Extended su po IEEE standardu, koristi se FPU (ili emulacija kad FPU ne postoji). Ako vas procesor ima FPU, real ce biti znacajno sporiji od 'standardnih' tipova.

E sad, Pascal Language Reference kaze:

Pascal supports the standard predeclared real data type. As extensions to the standard, Pascal also supports:

* single, shortreal, double, and longreal data types
* real initialization in the variable declaration
* real constants without a digit after the decimal point

Sve u svemu, jos jedna stvar oko nedovoljno jasnog standarda + borlandovih egzibicija iz mladosti :)

ss.
[ anon17194 @ 07.11.2004. 12:56 ] @
E radi sve ok.
Real je bio u pitanju.
Hvala
[ -zombie- @ 08.11.2004. 18:55 ] @
čisto radi kompletnosti, u delphiju (ne znam od koje verzije, ali još odavno) je real u stvari generički tip koji se u implementaciji mapira na neki konkretan, a od te verzije se mapira na double..

Citat:
The generic type Real, in its current implementation, is equivalent to Double.


a zbog nazadne-kompatibilnosti je uveden i tip Real48 koji je ekvivalentan onom "starom" Real tipu iz DOSovskih dana..

Citat:
Note

The six-byte Real48 type was called Real in earlier versions of Object Pascal. If you are recompiling code that uses the older, six-byte Real type in Delphi, you may want to change it to Real48. You can also use the {$REALCOMPATIBILITY ON} compiler directive to turn Real back into the six-byte type.
The following remarks apply to fundamental real types.

Real48is maintained for backward compatibility. Since its storage format is not native to the Intel processor architecture, it results in slower performance than other floating-point types.