Kezdőoldal » Számítástechnika » Programozás » Érettségi feladat megoldás...

2105as kérdése:

Érettségi feladat megoldás közben akadt az értelmezése egy kis problémám, hogy is van?

Figyelt kérdés

A kiserlet.txt állományban egy pénzfeldobás-sorozat eredményét találja. Mivel

a sorozat hossza tetszőleges lehet, ezért az összes adat memóriában történő egyidejű

eltárolása nélkül oldja meg a következő feladatokat! Feltételezheti, hogy egymilliónál több

adata nem lesz.


"összes adat memóriában történő egyidejű

eltárolása nélkül"


Most ez azt jelentené, hogy ne olvassam be egy pl: tömbbe az adatokat? de akkor nem tudok vele dolgozni, akkor ez mi ??



Illetve egy másik: Állítson elő és tároljon a memóriában 1000 db négy dobásból álló sorozatot!


nyilván az adatokat le kell tárolni ha dolgozni akarok vele nem ?


2017. ápr. 16. 01:03
 1/9 anonim ***** válasza:
0%

"nyilván az adatokat le kell tárolni ha dolgozni akarok vele nem ?"


Le van az már tárolva.

Megtalálod a "kiserlet.txt" nevű állományban.

2017. ápr. 16. 03:00
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
100%

Minden normális programnyelv lehetővé teszi hogy ne az egész fájlt olvasd be, hanem csak egy részét. Pl. Java-ban be tudsz olvasni FileInputStream.read-el tetszőleges mennyiségű bájtot, vagy BufferedReader-rel soronként is olvashatsz be szöveget.

Tehát olvasod az adatokat, és közben változókba gyűjtöd a pénzfeldobásokról a statisztikákat.

Ehelyett (pszeudokód):

adatok = egész_file_beolvas_tömbbe

ciklus {

adat = [adat kiszedése tömbből]

tömbből szerzett adat feldolgozása

}

Ilyesmi:

bemenet_fájl = fájl_megnyit

ciklus {

adat = [bemenet_fájl-ból 1 feldobást beolvas]

beolvasott adat feldolgozása

}

2017. ápr. 16. 03:22
Hasznos számodra ez a válasz?
 3/9 tabaki ***** válasza:

"Most ez azt jelentené, hogy ne olvassam be egy pl: tömbbe az adatokat? de akkor nem tudok vele dolgozni, akkor ez mi ??"


Mi az, hogy nem tudsz vele dolgozni? Ez nyilván a művelettől függ -- ha mondjuk átlagot számolsz, nyilván semmi szükség a teljes tömb eltárolására, elegendő mindig csak egy adatot beolvasni az állományból.


"lletve egy másik: Állítson elő és tároljon a memóriában 1000 db négy dobásból álló sorozatot! Nyilván az adatokat le kell tárolni ha dolgozni akarok vele nem ?"


Nyilván vagy nem nyilván, de ez miért is jelentené azt, hogy az ÖSSZES ADATOT a memóriában kell tárolnod? 1000*4 az csak 4000, töredéke a betervezett millió adatnak.

2017. ápr. 16. 09:03
Hasznos számodra ez a válasz?
 4/9 SimkoL ***** válasza:
500 Byte ha ügyes vagy az ezer dobás :)
2017. ápr. 16. 10:26
Hasznos számodra ez a válasz?
 5/9 tabaki ***** válasza:
Ha még ügyesebb vagy, akkor meg csak 125...
2017. ápr. 16. 12:31
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

Dim FlipCount As Integer = 0

Dim FileReader = New StreamReader("kiserlet.txt")

Dim Counter3 As Integer = 0

While FileReader.Peek > -1

FileReader.ReadLine()

Counter3 += 1

End While

Console.WriteLine("A kísérlet " & Counter3 & " dobásból állt.")

2017. ápr. 16. 15:27
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
Én így csináltam, pont 2 napja, a lényege a feladatnak az hogy ne olvasd be az egészet és tárold el, hanem olvasd be soronként és rögtön dolgozd is fel az adatokat.
2017. ápr. 16. 15:27
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
én laikusként úgy értelmezem, hogy nem beolvasod az egészet és egyenként eltárolod változóként, hanem beolvasod egy tömbbe az összeset és úgy dolgozol vele. Ez így stimmelne?
2018. márc. 17. 16:21
Hasznos számodra ez a válasz?
 9/9 tabaki ***** válasza:

@#8:

      Én pedig, másik laikusként, bizonyos vagyok benne, hogy nem stimmelne. Éppen a tömbbe olvasás (vagyis „az összes adat memóriában történő egyidejű eltárolása”) az, amit a feladat értelmében el kell kerülnöd. Kérdező ugyan nem közölte magukat a feladatokat, de sejthető, hogy azok egy-két alkalmasan választott méretű (egymilliós határ) változó célszerű használatával megoldhatók. Mellesleg szerintem sem benne, sem másban nem merült fel az az agyament ötlet, hogy egymillió külön változót definiáljon a programban, holott a tömbös javaslatod láthatólag ennek venné elejét. Egy ilyen kivihetetlen megoldással a legtapasztalatlanabb és legmegfontolatlanabb kezdő sem kísérletezne; A tömbben tárolás viszont -- esetleg más gyakorlatok párhuzama alapján -- már eszébe juthat. A hasonló feladatok éppen arra szolgálnak, hogy ráébresszék: A teendők átgondolásával elkerülhető a hebehurgyaságból elkövetett memóriapocsékolás.

2018. márc. 17. 20:59
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!