Hogyan csináljátok? Én bármennyire is próbálom nem tudom kitalálni az algoritmust a problémára. Miért van ez?
Például a prímszámok kiszámolásához.
Hogyan jöttök rá,hogy ááá tényleg így megkapom a prímeket.
Lehetetlen rájönni 2 órán ezen törten a fejemet.
Aztán rákerestem a neten és megláttam mien bonyolult gondolkozásmód kelet ahhoz,hogy rájöjjön valaki.
Nem értem,hogy lehetséges ez.
Vagy csak én vagyok ennyire retardált.
Öngyilkosságon jár az eszem mert semmihez sem értek.
Tanulhatsz ezer féle nyelvet. A gondolkodásmódóddal van a gond. A prímszámokat minden nyelven hasonlóan kell leprogramozni, csak az egyes nyelv szintaxisa különbözik.
Na de elmondom, hogy én hogyan szoktam gondolkodni(legalábbis az elején). Vegyük a prímszámos programot:
Első lépés, a feladat értelmezése. Jelenleg az a feladatod, hogy van egy számod és meg kell állapítsd róla, hogy prím-e.
Ha már uralod a feladatot, akkor próbáld kisebb részekre bontani. Az első ilyen rész, hogy a gyanús számot, be kell olvasni valahonnan. Beolvashatod billentyűzetről, vagy fájlból, vagy akár a programban is megadhatod egyből, de mindenképp egy változó fogja tartalmazni. Ha ez megvan, akkor a számítógéppel már ismertetted is az ellenőrizendő számot.
A következő lépésben el kell gondolkodnod, hogy miről ismered fel a prím számokat. Hosszú gondolkodás után rájössz, hogy csak egyel meg önmagukkal oszthatóak. Ezt le kell programoznod. Neked fejben elég, ha csak egy pár számmal próbálod elosztani, mert a fejedben automatikusan kizársz pár számot. (pl 51 esetén alapból nem próbálod osztani 10-el). De a számítógép buta, ezért ő az összessel ki kell próbálja. Kb itt kéne beugorjon, az "összes" szóról, hogy ciklus következik. Na de amikor nekifogsz megírni a programot, el kezdesz agyalni, hogy "igen ám, de honnan tudjuk, hogy mikor osztható és mikor nem?". Megintcsak úgy kell gondolkodj, hogy te, hogyan szoktad megállapítani fejben. Ekkor jösz rá, hogy akkor osztható, amikor a maradék nulla. Ezt a százalékos osztással programozod le.
Mint látod, a számítógép is ugyanúgy csinálja, mint egy ember, csak amíg az ember "intelligens lény", ezért alapból van egy rálátása a helyes megoldásra (pl ha fáj a hasad, akkor az orvos egyből a hasadnál keresi a hibát, míg a program megvizsgálja mindened. Az eredmény ugyan az lesz). Ha majd mesterséges intelligenciát tanulsz, akkor majd a heurisztikus (heurisztika = tudás) keresés, erről fog szólni, hogy a számítógép ne próbálja ki az összes lehetőséget, hanem csak a jónak igérkezőket.
Na így kéne gondolkodni. A lényeg: bontsd kisebb részekre a programot. Ha valamit többször kell megcsinálni, akkor egyből a ciklusokra gondolsz.
De tényleg nem kéne erőltesd, ha ennyire nem megy. Hidd el, nekem vannak haverjaim, akik három éve tanulnak programozni, de még ők sincsenek ilyen színten. Viszont már a második laborra meg kellett csinálni. Ezerszer magyaráztam nekik, megmutattam, megírtam, de csak ültek mellettem és bólogattak.
Következő lépésnek próbáld meg a kiszámolni egy szám faktoriálisát, segítség NÉLKÜL (max a szintaxisokat lesheted). Ha megvan akkor egy lnko-t. Szépen lassacskán pár év(tized) alatt meglesz a játék is. kitartás.
Ja, ami meg a nemléttől való félelmet illeti:
Feltétlenül olvasd el Stanislaw Lem Kiberiádájából az AUTOMÁTÉ BARÁTJA című fejezetet. Éni érvelése bizonyára gyógyír lesz a lelkedre ;Đ
Az öngyilkossággal kapcsolatban meg hadd idézzem - nem egészen pontosan - Rejtő Jenőt: Előbb végezd el a dolgodat, meghalni ráérsz utána is, erről nem késel le...
Szóval, inkább tanulj még. Amúgy problémamegoldásra az az emlegetett két óra nudli. Pedig én sokkal okosabb vagyok ám!
Áttértem a pythonra.
Egyszerűbb.
És szerintem sokkal hamarább fogok vele eredményeket elérni + még egy csomó programba lehet vele scriptelni aminek nagyon örülök.
És beszerzek pár matek könyvet.
"Áttértem a pythonra. Egyszerűbb."
Azt te csak hiszed. Most meg a dedós szintű kezdetektől hagyod magad elkábítani. Keress egy profi által írt python-programot, és nézz bele abba, hogy mit értesz meg belőle. A bonyolult feladat bonyolult megoldása bonyolult nyelvezetet kíván, nincs mese.
Továbbá, mint említettem, a feladatot nem programnyelven oldod meg, hanem MAGYARUL. A nyelv vélt könnyűsége ebben egy fikarcnyit sem fog segíteni. Ha a megoldás megvan, akkor lefordíthatod akármilyen programnyelvre, az már csak sétagalopp.
Aúgy meg miféle nyelvekbe akarod belescriptelni, ha nem akarsz másikat megtanulni? Érdekes.
És szerintem sokkal hamarább fogok vele eredményeket elérni + még egy csomó programba lehet vele scriptelni aminek nagyon örülök.
Ne akarjátok bemesélni,hogy nem könnyebb a python.
Nézd a különbséget egy c++ és egy python kód között.
Mennyivel átláthatóbb az egész és sokkal kevesebb kódba kerül megírni.
Egy python programba is lehet pythonnal scriptelni ha úgy írják meg.
Minek tanuljam meg a c++ ha egyedül úgysem fogok tudni megírni egy game neginét.
Ezért kezdtem el tanulni de beláttam,hogy az ilyen 3D játékok leprogramozása bukott projekt.
Egyszerűbb 2D alkalmazásokhoz pedig elég a python is és még hamarább meg is tanulom mert könnyebb átláthatóbb érthetőbb lesz amit megírok vele és még pointerekkel sem kell törődnöm.
Egy hobbiprogramozónak ez a nyelv a legjobb.
Legyen. Nincs a pythonnal semmi baj, jó kis nyelv. Kérdés, hogy mennyit segít rajtad, mert a lényeget láthatóan hiába erőltetem: Az algoritmus megtalálása nem a programnyelven múlik, hanem a gondolkodásodon. Amíg ki nem találod, mit csináljon a program, tökmindegy, hogy miben írod meg.
Hobbiprogramozásra meg javaslom a Free Pascal - Lazarus kombinációt, az tiszta, egyszerű, könnyű benne látványos eredményeket elérni, több platformra írhatsz vele. Hm. Ha valaki, akkor én csak tudom, mi kell egy vasárnapi programozónak...
És továbbra is javaslom, hogy nézegess középhaladó python-progikat, hogy tudd, mi vár rád.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!