Čudno ponašanje pascala

poruka: 17
|
čitano: 2.777
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Čudno ponašanje pascala

Imam problema sa pascalom. naime kad napišem read on mi nakon toga baci pokazivač u novi red. kao da sam napisao readln a ne običan read. ista stvar je i sa write i writeln. i nije mi jasno zašto se program ne zaustavi kad prvi put napišem readln(), već sam u primjeru sa slike morao napisati readln() dva puta. 

ovo je primjer. ovo je primjer.
Moj PC  
0 0 hvala 0
17 godina
moderator
offline
Re: Čudno ponašanje pascala

Pretpostavljam da korištenjem procedure Read u bufferu ostane Enter. Pa je onda normalno da će kroz prvi sljedeći ReadLn proći kao da ne postoji, jer će biti kao da si stisnuo tipku Enter (ostao onaj Enter otprije).

14 godina
neaktivan
offline
Čudno ponašanje pascala

dali mi možeš preporučiti neki drugi program za paskal? samo privremeno da imam gdje pisat zadatke dok ne riješim ovo? trenutno sam pisao u Dev-Pascal i tamo sam otvorio "new source file". ima nešto slično da se ne moram prilagođavati nečem novom?

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Čudno ponašanje pascala

pa zašto onda i dalje ne koristiš dev?

http://www.chess.com/livechess/profile/Tracer1808
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Čudno ponašanje pascala
etnes kaže...

dali mi možeš preporučiti neki drugi program za paskal? samo privremeno da imam gdje pisat zadatke dok ne riješim ovo? trenutno sam pisao u Dev-Pascal i tamo sam otvorio "new source file". ima nešto slično da se ne moram prilagođavati nečem novom?

Free Pascal ti je najbolji http://freepascal.org/

Poruka je uređivana zadnji put čet 29.12.2011 22:56 (SaidSikiraX).
14 godina
neaktivan
offline
Re: Čudno ponašanje pascala
TracerCPP kaže...

pa zašto onda i dalje ne koristiš dev?

pa zbog gore navedenih razloga. 

14 godina
neaktivan
offline
Re: Čudno ponašanje pascala

To ti neće prestati ako promjeniš dev nekim drugim.

http://www.chess.com/livechess/profile/Tracer1808
14 godina
neaktivan
offline
Čudno ponašanje pascala

kako da onda riješi taj probelm?!

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Čudno ponašanje pascala

Pokušaj umjesto read koristiti readln.

http://www.chess.com/livechess/profile/Tracer1808
Moj PC  
0 0 hvala 0
17 godina
moderator
offline
Re: Čudno ponašanje pascala
etnes kaže...

kako da onda riješi taj probelm?!

Teško je reći da je riječ o problemu - program radi ono što si mu rekao da radi.

 

Što se tiče DevPascala, on kao kompajler koristi FreePascal, samo što se radi o prilično staroj verziji.

14 godina
neaktivan
offline
Čudno ponašanje pascala

evo još jedan primjer. ja bi htio u prvo htio nešto napisati a u drugom redu učitati nekoliko brojeva. ali on mi uporno izbacuje brojeve u svaki sljedeći red.  

Moj PC  
0 0 hvala 0
17 godina
moderator
offline
Re: Čudno ponašanje pascala

Koliko sam skužio, razlika između Read i ReadLn je, barem u Free Pascalu, u tome da kad tražiš više brojeva, da ih pomoću Reada možeš upisati u jednom retku, odvojene razmakom, dok za ReadLn moraš stisnuti Enter.

 

Znači, ako napišeš kod:

Read(a);

Read(b);

Read(c);

 

Kad te traži da upišeš brojeve, možeš upisati

3 5 7 [Enter]

 

Dok kod ReadLn to ne možeš, nego ide:

3 [Enter]

5 [Enter]

7 [Enter]

 

 

Ako svom silom hoćeš u jednom redu kombinirati unos i ispis, onda koristi funkcije ReadKey ili ReadChar.

14 godina
neaktivan
offline
Čudno ponašanje pascala

Razlika je u tome da kad imam read, nakon te naredbe pokazivać mi ne skoči u drugi red. dok kod readln mi skoči. to bi trebalo ovako izgledati:

read(a,b,c)--a[enter] b[enter] c[enter];

readln(a,b,c)--a[enter]

              b[enter]

              c[enter]

Kod mene je probelm što mi kod read-a pokazivač skoči u drugi red, ondosno kao da je read i readln ista naredba.

Moj PC  
0 0 hvala 0
17 godina
moderator
offline
Re: Čudno ponašanje pascala
etnes kaže...

Razlika je u tome da kad imam read, nakon te naredbe pokazivać mi ne skoči u drugi red. dok kod readln mi skoči. to bi trebalo ovako izgledati:

...

Kod mene je probelm što mi kod read-a pokazivač skoči u drugi red, ondosno kao da je read i readln ista naredba.

Ne kužim što hoćeš reći.

15 godina
neaktivan
offline
Re: Čudno ponašanje pascala
etnes kaže...

Razlika je u tome da kad imam read, nakon te naredbe pokazivać mi ne skoči u drugi red. dok kod readln mi skoči. to bi trebalo ovako izgledati:

read(a,b,c)--a[enter] b[enter] c[enter];

readln(a,b,c)--a[enter]

              b[enter]

              c[enter]

Kod mene je probelm što mi kod read-a pokazivač skoči u drugi red, ondosno kao da je read i readln ista naredba.

O tebi ovisi hoće li on skočit u drugi red. Dakle ti možeš napisat sve brojeve u jednom redu i stisnut Enter, a možeš upisivat jedan po jedan broj i nakon svakog pritiskat enter. U prvom slučaju će ti otići u novi red tek kada sve napišeš odn. učitaš dok će ti u drugom slučaju nakon svakog unesenog broja otići u novi red. Mislim da druge solucije nema...

Slavonija u ♥ | http://crocraft.com - hrvatska Minecraft zajednica | http://www.soma.fm/
14 godina
neaktivan
offline
Re: Čudno ponašanje pascala
mbaksa kaže...
etnes kaže...

Razlika je u tome da kad imam read, nakon te naredbe pokazivać mi ne skoči u drugi red. dok kod readln mi skoči. to bi trebalo ovako izgledati:

...

Kod mene je probelm što mi kod read-a pokazivač skoči u drugi red, ondosno kao da je read i readln ista naredba.

Ne kužim što hoćeš reći.

Sori, krivo sam se izrazio.

 

U normalnim okolnositma:

Kad bi napisao "read(a)" i kad bi pokrenuo program te u programu upisao neki broj i potvrdio ga sa enter, pokazivač bi ostao u istom redu, a kad bi napisao "readln(a)" i u programu napisao neki broj i potvrdio ga sa enter, pokazivač bi nakon upisanog broja otišao u drugi red.

 

Moj čudni slučaj:

Kad napišem "read(a)" i kad u programu upišem neki broj i potvrdim ga sa enter, pokazivač bi nakon tog otišao u drugi red. Dakle, ponaša se kao "readln(a)" u normalnim okolnostima. Mene ne smeta to jako, već mi zadatak nalaže da baš moram u istom redu trebam napisati/učitati nekoliko rečenica/varijabli

17 godina
moderator
offline
Re: Čudno ponašanje pascala
etnes kaže...
U normalnim okolnositma:

Kad bi napisao "read(a)" i kad bi pokrenuo program te u programu upisao neki broj i potvrdio ga sa enter, pokazivač bi ostao u istom redu, a kad bi napisao "readln(a)" i u programu napisao neki broj i potvrdio ga sa enter, pokazivač bi nakon upisanog broja otišao u drugi red.

 

Moj čudni slučaj:

Kad napišem "read(a)" i kad u programu upišem neki broj i potvrdim ga sa enter, pokazivač bi nakon tog otišao u drugi red. Dakle, ponaša se kao "readln(a)" u normalnim okolnostima. Mene ne smeta to jako, već mi zadatak nalaže da baš moram u istom redu trebam napisati/učitati nekoliko rečenica/varijabli

Normalne okolnosti - što je to? Objasnio sam ti u ovoj poruci kako stvari funkcioniraju u Free Pascalu, a i sam si (dio) toga otkrio. Ako ti ne odgovara, probaj raditi u Turbo Pascalu ili nekom drugom kompajleru. Što se tiče zadatka, objasni osobi koja ti je rekla da napraviš taj zadatak kako stvari funkcioniraju u Free Pascalu (samim tim i u Dev Pascalu pošto taj IDE koristi Free Pascalov kompajler).

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice