Kezdőoldal » Számítástechnika » Programozás » Pascalban lehetséges egyszerre...

Pascalban lehetséges egyszerre szöveget és számokat is beolvasni?

Figyelt kérdés
Úgy értem, ha például azt akarom beolvasni, hogy ''ember1'', ahhoz, hogy kiírjak egy összeget. Remélem érthető voltam.

2015. febr. 18. 16:42
 1/8 ejbenjaro ***** válasza:
Fussál neki mégegyszer a kérdésnek szerintem. Meg olvasd el a read leírását.
2015. febr. 18. 16:47
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:
Ilyesmire gondolok, hogy például If n='ember1' then...
2015. febr. 18. 16:49
 3/8 uno20001 ***** válasza:
Igen, ezzel mi a gond?
2015. febr. 18. 16:53
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
Hogy így akkor milyen kell legyen a változó típusa meg hasonló dolgok, mert nekem nem akar összejönni. (nemrég kezdtem el Pascalt) Stringgel nem akar menni.
2015. febr. 18. 16:55
 5/8 A kérdező kommentje:
Jó, azt hiszem megvan. Csak egyes helyeken olyan volt, mint például while n<>0, és át kellett írjam '0'-ra. :)
2015. febr. 18. 16:58
 6/8 SimkoL ***** válasza:
100%
Konzolról, file-ból. típusos file-ból, Pascal verzió - mostanában sok 'szopacs' volt miatta - picit legyél már bőbeszédűbb.
2015. febr. 18. 16:59
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:
100%
Ha van még kérdésed, a konkrét feladatot is fejtsd ki, úgy tűnik összemosódik nálad a változónév és a "beolvasás" fogalma vagy nem tudom.
2015. febr. 18. 17:13
Hasznos számodra ez a válasz?
 8/8 tabaki ***** válasza:

Ne keverd össze a szám jelét az értékkel, amit jelez. Az '1' nem szám, hanem egy karakter, vagyis egy olyan ábra, amelyet a számítógép kiír, amikor megnyomod az egyes billentyűt, hasonlóan a többi betű- vagy egyéb jelhez. Az 1 ezzel szemben egy számérték, amellyel mondjuk matematikai műveleteket tudsz végezni.

Igen, végezhetsz összehasonlítást a szöveges számok között is, ilyenkor azonban a program nem a számértékeket hasonlítja össze, hanem azt, hogy a vizsgált szöveg első (vagy egyezés esetén a második, harmadik, stb.) karaktere egy bizonyos táblázatban (általában az ASCII-karaktertáblában) alacsonyabb vagy magasabb sorszámot visel. Mivel a számok a táblázatban is növekvő sorrendben követik egymást, kaphatsz számszakilag is helyes eredményt; például '1' kisebb '5'-nél, mert '1' a táblázat negyvenkilencedik rubrikájában van, '5' pedig az ötvenharmadikban. De ugyanezen ok miatt a stringek összehasonlításakor '1000' is kisebb lesz, mint '5'. Szintén ebből következik, hogy egy számot leíró szöveget bármely egyéb karakterfüzérrel összehasonlíthatsz, például 'kakuk' nagyobb, mint '8746', mivel a 'k' karakter hátrább van a táblázatban, mint a '8'.

Röviden: Az 'ember1' inputban lévő egyes nem szám, hanem ugyanúgy a szöveg része, mint a betűk, és az általa jelzett értékkel a program egyáltalán nem is foglalkozik. Ha valami miatt valaha a tényleges értékére volna szükséged, akkor a szövegből ki kell emelned a számjegykaraktereket, és tényleges számmá kell alakítanod, mondjuk a val() függvénnyel.

„Csak egyes helyeken olyan volt, mint például while n<>0, és át kellett írjam '0'-ra.”

Ez önmagában értelmetlenség, az a lényeg, hogy miért.

2015. febr. 18. 19:02
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!