[ Frojd @ 28.06.2005. 09:27 ] @
moze li neko ovaj kod iz basica da prebaci u pascal? ja sam pokusao ali negde sam pogresio
Code:

INPUT t1
INPUT t
INPUT t2
tbb = t1 / 2 + 2 * t
tzb = t2 / 2
IF tbb / tzb = tbb \ tzb THEN PRINT "blago": END
tbu = t1 / 2
IF tbu / tzb = tbu \ tzb THEN
PRINT "ulaz"
ELSE PRINT "pobego"
END IF
END


Code:

program os1okr05;
var
t1,t,t2,tbb,tzb,tbu:real; *trebalo bi tu da bude mozda integer
label kraj;
begin
     readln(t1);
     readln(t);
     readln(t2);

     tbb:=t1/2+2*t;
     tzb:=t2/2;
     if tbb/tzb=(tbb div tbb) then writeln('blago');goto kraj;
     tbu:=t2/2;
     if tbu/tzb=tbu div tzb then
        writeln('ulaz');
     else
         writeln('pobego');
     end
kraj end.
[ Nemanja Avramović @ 28.06.2005. 11:38 ] @
ne znam tacno gde ti je greska, ali vidim jos jednu, vecu gresku: NIKAD NE KORISTI GOTO u pascalu!!!! da izadjes iz procedure koristi EXIT;

isto tako, sta ti znaci ono kraj end. ?

[Ovu poruku je menjao JaHvram dana 28.06.2005. u 12:48 GMT+1]
[ Toyo @ 28.06.2005. 11:50 ] @
Ako hoces da ti radi isto kao onaj prvi:
obrisi goto :kraj
i naravno labelu :kraj gde god da se nalazi

[Ovu poruku je menjao Toyo dana 28.06.2005. u 12:50 GMT+1]
[ Frojd @ 29.06.2005. 11:24 ] @
mislim da je div celobrojno deljenje a meni treba sledece: da se utvrdi da
li je broj deljiv bez ostatka (jao sad sam se setio da treba da koristim
mod)...
i kako u nekim slozenim logickim struktirama da izbegava goto?
[ Toyo @ 29.06.2005. 11:47 ] @
Postuj neku po tebi, jako slozenu strukturu (sa goto) pa ces da dobijes prevod (bez goto).
[ Bojan Kopanja @ 29.06.2005. 21:03 ] @
goto se prevazilazi repeat until ili while petljama tako da stvarno zaboravi na goto i prebaci se na ove varijante! BTW ne koristi ni exit jer ti je to isti djavo, sa ovim petljama sve to resavas jako lepo i elegantno .

[Ovu poruku je menjao Strog dana 29.06.2005. u 22:04 GMT+1]
[ Srki_82 @ 29.06.2005. 22:31 ] @
Ja cesto koristim Exit i Continue procedure... mnogo je mi je lakse da citam kod ako pise recimo
Code:
procedure Osvezi;
  if not FEnabled then Exit;
  Uradi ovo
  Uradi ono
  .
  .
  .
end;

nego
Code:
procedure Osvezi;
  if FEnabled then
  begin
    Uradi ovo
    Uradi ono
    .
    .
    .
  end;
end;

Pogotovo ako ima mnogo koda izmedju begin i end u jos mnogo if...then...else. Uvek koristi ono sto ti pomaze da lakse pregledas kod i da lakse uocavas greske.
[ Nemanja Avramović @ 29.06.2005. 23:55 ] @
Citat:
Srki_82:
Pogotovo ako ima mnogo koda izmedju begin i end u jos mnogo if...then...else. Uvek koristi ono sto ti pomaze da lakse pregledas kod i da lakse uocavas greske.


ali izbegavaj goto ;)
[ Frojd @ 30.06.2005. 12:08 ] @
a kako se u pascalu obradjuju greske? u vb otkucam on error GOTO
errorHandler i resena stvar
[ Burgos @ 30.06.2005. 13:34 ] @
Ja obicno napisem proceduru, pa je pozovem.

[Ovu poruku je menjao Burgos dana 30.06.2005. u 14:35 GMT+1]
[ Nemanja Avramović @ 30.06.2005. 14:12 ] @
logicno ;)

mozes sa try except end... mislim... ;)