Programozás Pascalban: Általános Algoritmus: Megszámlálás ismeretlen elemszám esetén

Készítette: FlamingClaw
2010. február 23. 12:09:10 - 3393 megtekintés
  • Szétnézünk egy kicsit az általános algoritmusok háza táján, ezúttal a megszámlálás lesz a célpont, amit kétféleképpen fogunk elkészíteni Pascalban.
  • Amire szükségünk lesz

    Pascal
  • Általános algoritmus

    Egy általános algoritmus, amit sokszor használunk programozás során. Az ismeretlen elemszám azt jelenti, hogy nem tudjuk pontosan a vizsgálandó elemek számát. Olyan feladattípus, amikor a sorozat valamely tulajdonsággal rendelkező elemeit számoljuk meg.<br /> Szükségünk lesz egy számláló változóra. A ciklus addig fut, amíg van elem. Ha az elem megadott tulajdonságú, akkor a számláló érték egyel növekszik és hozzáférünk a következő elemhez. Ha vége van a ciklusnak, kiiratjuk, hogy mennyi érték van a számláló változóban. A programnak akkor lesz vége, ha a felhasználó végjelet üt.<br />
  • Címkék:

    programozás pascal algoritmus számítástechnika
FlamingClaw - 13 éve, 2 hónapja

Mármint úgy érted, hogy lehet e grafikus programot készíteni? A válasz igen. De javaslom, hogy vegyél egy könyvet, mindent itt nem tudok neked elmagyarázni, sem annyi időm, sem kedvem jelen helyzetben. Vegyél egy jó pascal könyvet az alapoktól egészen a haladó szintig, és akkor sok kérdésedre megkapod a választ. Így nem lehet nyelvet tanulni, hogy ki mit mond..Érted? Tanulj, légy szorgalmas, és a fáradozásaidnak meg lesz a gyümölcse, de kezd az alapoktól. Ha az alapokat át lehetne ugrani, akkor ma Magyarországon mindenki 2-3 D-s játékokat készítene nulla tudással, és raedli pénzt keresne az eladott játékok után. Még én is, he..he...

Eternallife - 13 éve, 2 hónapja

Köszi sikerült, amúgy pascallal lehet 2D esetleg 3D ábrákat csinálni? Nem gond ha bonyolult, szeretek gondolkodni

FlamingClaw - 13 éve, 2 hónapja

Akkor tedd bele a CASE szerkezetet vagy egy REPEAT..UNTIL ciklusba, vagy pedig egy WHILE ciklusba.

..
Repeat
  Case valami of
    'N': Begin
             {ha valami értéke N akkor részletek itt}
          End;
     'I': Begin
             {ha valami értéke I akkor részletek itt}
         End; 
  End; {case vége}
Until valami = 'I';

Amire itt figyelned kell, hogy valami változó értéke vagy 'I' lehet vagy 'N'. A ciklus addig fut, amíg valami értéke 'I' nem lesz. Tehát ha 'N' akkor vissza a Case elejére. Csak arra ügyelj, hogy ne legyen végtelen ciklus. Miért is? Mert jelen kódban semmi nem változtatja meg ciklusba lépéskor a valami változó értékét. Tehát helyesen:
Repeat
  WriteLn('Válasz: ');
  ReadLn(valami);
  Case valami of
    'N': Begin
             {ha valami értéke N akkor részletek itt}
          End;
     'I': Begin
             {ha valami értéke I akkor részletek itt}
         End; 
  End; {case vége}
Until valami = 'I';

Remélem segített megérteni.

Eternallife - 13 éve, 2 hónapja

Megint kéne egy kis segítség, megnéztem a videót amit linkeltél, és ugye van benne ez a szerkezet
case valami of
'N':begin
szöveg
szöveg
stb
(és itt vége a programnak nekem egy olyan kéne hogy ha itt megint írunk N-t visza tér ennek a cuklusnak az elejére, és nem a program elejére)
end;
Előre is köszi

FlamingClaw - 13 éve, 2 hónapja

Bíztam benne, :-D . Ezért is nem akartam még egyszer leírni azt amiről már videó is van. További sok sikert a programozásban.