PrintLn???

1

PrintLn???

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12486
  • Gde živiš: Južni pol

Kupio sam skoro knjigu "Programsko Okruženje Delphi 4 sa rešenim zadacima" Lasla Krausa. U njoj sam našao sledeći primer:

program Trougao; function P (A: Real = 2; B: Real =2; C: Real = 2): Real;          var S: real;          begin               S := (A + B + C) / 2;               P := Sqrt (S * (S - A) * (S - B) * (S - C));          end; begin PrintLn ('P        =  ',   P:        4.2); PrintLn ('P(3)     =  ',   P(3):     4.2); PrintLn ('P(3,4)   =  ',   P(3,4):   4.2); PrintLn ('P(3,4,5) =  ',   P(3,4,5): 4.2); end.

Ne koristim Delphi, pa ne znam da li stvarno postoji funkcija "PrintLn". Ali me zanima da li postoji ili ne. Koliko ja znam PrintLn je metod Javinog objekta SystemOut... Da nije autor pomešao nešto ili da nije u pitanju štamparska greška (ne kompajlira se pod mojim kompajlerom - a treba li bi... Ovo prilično liči na ANSI Pascal).

Pošto imam ograničeno znanje Pascala (preferiram C, ali mi je trenutno potreban Pascal) posegao sam za jednim malim tutorijalom sa neta... Uz pomoć njega, za par sekundi sam ono gore prepravio u ovo:

program Trougao; function P (A: Real = 2; B: Real =2; C: Real = 2): Real;          var S: real;          begin               S := (A + B + C) / 2;               P := Sqrt (S * (S - A) * (S - B) * (S - C));          end; begin WriteLn ('P        =  ',   P         :4:2); WriteLn ('P(3)     =  ',   P(3)      :4:2); WriteLn ('P(3,4)   =  ',   P(3,4)    :4:2); WriteLn ('P(3,4,5) =  ',   P(3,4,5)  :4:2); end.                                                       

To radi i kod mene... Dakle... Da ponovim pitanje: da li PrintLn postoji u Delphiju ili ne?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

PrintLn ne postoji u delfiju, bar ne genericki. Zapravo, ne postoji ni u TurboPascalu iz cega je Delphi nastao.
Verovatno je 3rd-party funkcija .
WriteLn zavrshava posao jer ta funkcija pishe liniju na sta god bilo.

Inace, batali autora koji u delfiju pishe "real" kao tip podataka....
(to je u principu "znam da prckam po delfiju, pa hajde da napisem knjigu i zaradim keke")



offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

@ beli0135
Pa sta ima veze sto je stavio Real?

Laslo Kraus je, bar po meni, odlican i veoma cenjen predavac na nasim prostorima ( za godinu-dve cu videti ovo iz prve ruke posto ce da mi predaje Smile ), a knjigu o kojij se radi sam video i jako je lepo napisana, tj. bas onako za pocetnike...

@all
E sad samo ne znam odakle se zalomi ovo PrintLn, al' 'ajd' Very Happy... U svakom slucaju beli0135 rece da se koristi WriteLn i to je to Smile.

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12486
  • Gde živiš: Južni pol

beli0135 ::PrintLn ne postoji u delfiju, bar ne genericki. Zapravo, ne postoji ni u TurboPascalu iz cega je Delphi nastao.
Verovatno je 3rd-party funkcija .
WriteLn zavrshava posao jer ta funkcija pishe liniju na sta god bilo.

Inace, batali autora koji u delfiju pishe "real" kao tip podataka....
(to je u principu "znam da prckam po delfiju, pa hajde da napisem knjigu i zaradim keke")


Bez frke... Imam ja i jednu ozbiljniju knjigu za Delphi... Samo što ova vrlo jednostavno prikazuje Delphijeve kontrole. Zbog toga mi je bila interesantna.

Inače pokušavam da se aklimatizujem na FPC/Lazarus... Pretpostavljam da bi osnovne kontrole funkcionisale na isti način. A pošto ne postoje knjige za Lazarus (bar ne ovde)... Preostaje samo ovakvo "pikanje" iz knjiga za Delphi.

Izgleda da ću, ako odlučim da nastavim da koristim ovu knjigu, morati da hvatam greške i obilato koristim literaturu sa strane. Confused Mislim... Ako sam ja kao laik za Pascal u prvom primeru uočio par grešaka... Mada me to iznenađuje: Laslo Kraus je autor nekoliko knjiga o programiranju...

BTW, hvala. Smile

Dopuna: 28 Mar 2006 20:26

Strog ::a knjigu o kojij se radi sam video i jako je lepo napisana, tj. bas onako za pocetnike...

Da... Zato sam je i uzeo... Izgleda ok... Ali ne znam da li su takve greške dopustive. Neutral A posebno me iznenađuje što je u pitanju autor koji je poznat po pisanju takve literature... Confused

offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Strog ::@ beli0135
Pa sta ima veze sto je stavio Real?


Pa to je u neku ruku kao "skolski" tip. Kod izrade oprofesionalnih programa uvek se preporucuje koristiti extended, posebno ako se radi o nekim novcanim jedinicama i sl. zbog broja znacajnih cifara.

Verovatno je Beli mislio na to?

offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Pa ne znam, ali i ja najcesce koristim real posto bi mi extended bez veze trosio vise memorije Very Happy...

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Sto se tice one greske oko PrintLn, moguce je da je pogresio posto Laslo predaje i Javu (na VETS) pa se greska mogla desiti.

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Ako se dobro secam, u Fortranu je isto postojao PrintLn.

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

@Nullcode i @Strog

Obojica ste malo pogresili...

Real je implementiran samo zbog Backward compatability i nije Delphi-native tip. To je u stvari "Double". Posle su napravili typecast u stilu type Real:Double;

Ne znam zasto je preporucljivo koristiti Extended?! Koristis ono sta ti treba. Iskreno, u 99.99% slucajeva je dovoljan Double.

Ako ti broj nije velik i ne treba velika preciznost, koristi se single. Ako je normalni racionalni broj, Double zadovoljava sve potrebe.
Samo za extremnu preciznost (kao napr, kod proracuna navigacijskih tacaka, atomske fizike i sl.) ti treba Extended.

Double ima 13 decimala, sta ce ti vise?

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12486
  • Gde živiš: Južni pol

snoop ::Sto se tice one greske oko PrintLn, moguce je da je pogresio posto Laslo predaje i Javu (na VETS) pa se greska mogla desiti.

Izgleda da je bas ovo u pitanju. Kasnije se ispravio... Inace, ako zanemarimo ovo, knjiga predstavlja jednostavan uvod u Delphi. Nije tako losa.

Ko je trenutno na forumu
 

Ukupno su 1000 korisnika na forumu :: 16 registrovanih, 6 sakrivenih i 978 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: bestguarder, Djokislav, indja, ladro, laki_bb, Lazarus, nenad81, panzerwaffe, Parker, sickmouse, SlaKoj, Srky Boy, Trpe Grozni, W123, Zimbabwe, zzapNDjuric99