Kezdőoldal » Számítástechnika » Programozás » Olyan problémába ütköztem...

Olyan problémába ütköztem hogy a 2015 októberi emelt informatika érettségi programozás feladat részében úgy kérik a feladatok megoldását hogy a forrást ne tároljuk el a memóriában. Hogy érti ezt?

Figyelt kérdés

Pythonban programozok, és ha nem kérnek ilyet így csinálnám ahogy körülbelül mindet:

lista = list()

forrásfájl = open('blabla.txt')

for sor in forrásfájl:

lista.append(sor.strip())

forrásfájl.close()


Na szerintem ez az a megoldás ami pont nem jó. ezért kérdezem hogyan kéri a feladat. Ne tároljam el listában? Csak nyersen dolgozzak vele? Ha igen akkor hogyan tudok idexeléssel vegig mrnni rajta? Mert az egyik feladat megoldásához idexelés lenne a praktikus.



2020. máj. 11. 11:18
1 2
 1/11 anonim ***** válasza:
88%

Ez tényleg nem megoldás, de nagyon udvarias dolog lett volna a válaszolókkal szemben, ha belinkelted volna a feladatsort, vagy legalább bemásoltad volna a pontos szöveget, hogy ne nekünk kelljen keresgélni.


"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."


Ez leginkább azt jelenti, hogy röptében dolgozod fel az adatokat, tehát nem a listán mész végig, hanem a bejövő adatokon. A ronda megoldás kezdőknek, hogy minden feladat előtt visszaállsz a file elejére, és újra beolvasod (volt ilyen megoldás 2015-ben), az elegáns megoldás, hogy minden sor beolvasása után megoldasz egy lépést a 3-6. feladatból, és a végén egyben kiírod az összes eredményt. Vagy beolvashatod 1-esével, 100-asával is, de annak nem sok értelme van, nem ezt várják.


Nézd meg a mintamegoldást, nem Python, de azért segít.

2020. máj. 11. 11:32
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:
A strippeléssel lepucolom a sorok végét, ilyenkor már nem az egész forrás van beolvasva. Ez így megállja a helyét?
2020. máj. 11. 11:47
 3/11 anonim ***** válasza:
100%

Nem.

A lista.append(sor.strip()) helyett rögtön fel kell dolgoznod a beolvasott sort és nem eltárolni a listában.

2020. máj. 11. 12:57
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:
100%
Ez egy szokatlan feladat, mert általában pont hogy a tárolást várják el, de ezt is meg kell tudni oldani, és nem arra kíváncsiak, hogy ki tudod-e trükközni a feladatot, hanem hogy meg tudod-e oldani. A sorvégjel nem számít adatnak, mert hogy mik a beolvasandó adatok, azt a szöveg leírta. Jogod van nem levágni a sorvégjelet, és azzal együtt feldolgozni, ha mazochista vagy.
2020. máj. 11. 13:25
Hasznos számodra ez a válasz?
 5/11 tabaki ***** válasza:
86%

„...hogyan tudok idexeléssel vegig mrnni rajta? Mert az egyik feladat megoldásához idexelés lenne a praktikus.”

Nem fogok utánajárni, hogy miféle feladatról van szó, de a kikötés nyilván éppen azt célozza, hogy a kézenfekvő indexelős megoldás helyett keress másikat.


„A strippeléssel lepucolom a sorok végét, ilyenkor már nem az egész forrás van beolvasva.”

Ja, én meg odaírom a végére, hogy "kakukk", aztán törlöm az utolsó hat karaktert, akkor már nem az eredetit olvasom be. Tényleg arra játszanál egy érettségin, hogy valami csűrés-csavarással kimagyarázd a feladat megkerülését?

2020. máj. 11. 13:26
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:
Köszönöm az értelmes válaszokat. Akik csak pampogtak azoknak egészségükre.
2020. máj. 11. 13:42
 7/11 anonim ***** válasza:
Elemenkénti feldolgozásnak hívják a módszert. Ezzel el tudsz indulni.
2020. máj. 11. 13:56
Hasznos számodra ez a válasz?
 8/11 tabaki ***** válasza:
100%

@#6:

Szívesen. Egyébként, mit szépítsük, hazudtam, és mégiscsak megnéztem a feladatot. A teljesen egyértelmű megfogalmazása alapján indokolatlannak tűnik az értelmezését firtató kérdés, a megoldása pedig letudható a sorban beolvasott adatok menet közbeni könyvelésével, ami mellesleg nemigen tér el attól, mintha egy előre beolvasott listán végeznéd el a műveleteket.

2020. máj. 11. 14:24
Hasznos számodra ez a válasz?
 9/11 lufisman válasza:
0%

Kedves kérdező!

Igen, jó a megállapításod mivel azt kéri a feladat, hogy semmilyen változóba vagy tömbbe ne tároljuk el a nyers szöveges fájlt, tehát beolvasva kell dolgozni rajta. 1. válaszoló "nagyon udvarias dolog lett volna a válaszolókkal szemben, ha belinkelted volna a feladatsort" ott van, hogy 2015 októberi feladatsor, ha válaszolsz az adott kérdésre akkor vedd a fáradtságot, hogy utánanézel. Köszönöm!

2020. máj. 13. 08:51
Hasznos számodra ez a válasz?
 10/11 tabaki ***** válasza:
90%

„ha válaszolsz az adott kérdésre akkor vedd a fáradtságot, hogy utánanézel. Köszönöm!”


Úgy is van, Első! És légy nagyon hálás a kérdezőnek, amiért az lehetőséget teremtett neked a válaszolásra! Neki, éppúgy, mint lufisman kollégának, joga van pontatlanul idézni a feladat elvárásait, hogy ezzel a kis csicskáztatással tesztelje a hozzászólók talpraesettségégét. Majd még illendőséget vársz el attól, aki segítséget kér tőled... Arcátlan ripők, ez elő ne forduljon máskor! Értve?

2020. máj. 13. 11:45
Hasznos számodra ez a válasz?
1 2

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!