Kezdőoldal » Számítástechnika » Programozás » Pascal csillag ki írás,...

Pascal csillag ki írás, error, miért? (info lent)

Figyelt kérdés

Hi!

Pascal programba be írtam ezt, hogy :var n,i:integer;

begin

write('Kerem a kiirando csillagok szamat: ');

readln(n);

for i:=1 to n do write('*');

end.


Ez ki írja a szöveget, de viszont azt nem írja ki h hány csillag van új sorba! Ha pl. nyolcat akarok akkor readln(8);-at írtam, minden n helyére próbáltam 8at be írni, de csomo error, probálgattam, hogy hova kéne, hogy jó legyen de hát nem lett jó, hogy kéne meg csinálni, hogy szöveg alatt ki írná a csillagok számát? pl.

Kerem a kiirando csillagok szamat: 8

********


2010. aug. 29. 22:18
1 2 3 4
 21/32 anonim ***** válasza:
Figyelj ide, te tényleg nem olvasod el, hogy mit írok neked, vagy csak szivatod az embereket? Mondtam, hogy hol a hiba, és azt is, hogy mit csinálj (mit nézz még át egyszer). Mire vagy még kíváncsi? Ha leírnám neked, hogy itt meg itt ezt a gombot nyomd, akkor soha nem tanulnál meg programozni, az első gondnál abbahagynád.... Ha elolvasnád, hogy mit csinál a readln, és azt, hogy mik a változók, és mik a konstansok (mindez fent van az interneten is), és meg is értenéd, amit olvastál, egyből rájönnél, hogy mi a hiba. :))
2010. aug. 29. 23:36
Hasznos számodra ez a válasz?
 22/32 A kérdező kommentje:
Na mindegy, kösz a segítségeteket! Annyit nem ér ez a pascalos csillag, hogy másfél órát elvegyen az időmből... na jó éjszakát!
2010. aug. 29. 23:37
 23/32 A kérdező kommentje:
Amúgy olvastam mit írtál igen, de amikor teljesen ugyan azt írtam be mint aki küldte a fényképet és még úgyse volt jó, akkor nem hinném ,hogy velem lehet a baj.
2010. aug. 29. 23:38
 24/32 anonim ***** válasza:

ez szerintem egy nagyon kezdő és egyszerű program

nemtudom már hogy magyarázni neked, képet is adtam..

szerintem tanulj suliba erről inkább:)

2010. aug. 29. 23:38
Hasznos számodra ez a válasz?
 25/32 A kérdező kommentje:
Amúgy ugyan azokat írtam be amit te a képen írtál:D még próbáltam pár variációt, de egyikre se adta ki a csillagokat alatta.Amikor lefordítottam a programot akkor még számot is be írtam utána hátha az a baj, de az se csinált semmit.
2010. aug. 29. 23:39
 26/32 anonim ***** válasza:

de readln után ne írj számot..

áááh..

pihend ki magad és próbáld meg holnap újból és olvasd el megint mit írtunk..

2010. aug. 29. 23:40
Hasznos számodra ez a válasz?
 27/32 A kérdező kommentje:
readln után nem írtam számot:D csak kb. már 10féleképen megpróbáltam csinálni, hogy jó legyen, ugyan úgy írtam le mint amit te linkeltél képet:D
2010. aug. 29. 23:46
 28/32 A kérdező kommentje:
Tényleg sok lett mára:D holnap nem hinném ,hogy ezzel fogok foglalkozni, mert elment a kedvem egésztől... ha egy könnyü program nyelvvel ennyit bajlodok akkor csak idő húzás lenne nehezebbeket "tanulnom".
2010. aug. 29. 23:47
 29/32 anonim ***** válasza:

Nem azzal van a baj, mert a progamod jó... :))

Szóval: van a program, amit itt írtál a kérdésben. Az úgy helyes, csak tegyél egy readln-t vagy egy writeln()-t a végére, az end. elé.

Ez után: elindítod a programot, majd mikor látod, hogy megjelent a képernyőn a "kerem a..." felirat, akkor megnyomod a billentyűzeteden a 8-as számot, majd ez megjelenik a képernyőn is. Most nyomsz egy entert, a program csak ekkor lép a következő utasításra, vagyis a for ciklusba ekkor lép be. Kiírja a program a 8 *-ot, majd továbblép a következő utasításra. Neked a programodban (ami a kérdésben szerepel) nincs több utasítás, vagyis a program a végére ér és kilép. Na most ő kiírta a 8*ot, de te nem láttál belőle semmit, mivel visszajött a FreePascal szerkesztője. Ebben van egy opció a visszanézésre, azt hiszem alt+F5el elérheted. Ott láthatod a kis csillagokat.

Ellenben ha a végére írsz egy readln utasítást, paraméterek nélkül, akkor a csillagok kiírása után ez fog következni, és a program várni fogja az enter billentyűt (mivel a readln ezt teszi, mikor paraméterek nélkül van).


A változókat meg ezeket azért mondtam, mert a readln(9), ami a kérdésedben szerepel, nem működhet, mivel a readln eljárás változókat vár el paraméternek. Hogy miért? A readln beolvas a billentyűzetről (vagy akár máshonnan is, de azt majd később biztosan megtanulod) egy adatot, majd azt letárolja a paraméternek kapott változóban. Most ha a kapott paraméter nem változó, hanem egy konstans érték, vagyis 8, akkor itt jelentkezik a hiba, mivel a readln nem tudja letárolni a 8as számban a másik beolvasott számot, mert akkor már nem lenne 8as a szám.... Remélem érted mit akarok ezzel mondani. A csomó error e miatt volt...

Majd ha van kedved próbáld ki a Geany nevű programot, abban is lehet Pascal programokat fejleszteni, de én valahogy jobban szeretem, mint az alap FreePascal környezetet.... (bár hibakeresésben az utóbbi a jobb :D)

Utána pedig Delphi vagy Lazarus... de ez még nagyon odébb van... :P

2010. aug. 30. 00:11
Hasznos számodra ez a válasz?
 30/32 anonim ***** válasza:
De türelmesek vagytok, ha más nem, ehhez grat :D
2010. aug. 30. 07:54
Hasznos számodra ez a válasz?
1 2 3 4

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!