Kezdőoldal » Számítástechnika » Programozás » Dióhéjban saját szavakkal...

Dióhéjban saját szavakkal elmagyarázná valaki a programozást? Mik az alapok, meg ilyenek?

Figyelt kérdés
Direkt nem irtam be google-ba, embertől akarom "hallani", úgy hogy én is megértsem.Informatika szakon vagyok és az ismétlés után fogjuk elkezdeni, de szeretném ha lenne némi 'alapom' hozzá!Aki tud segítsen! Köszi!!!
2010. szept. 2. 15:37
1 2
 1/13 anonim ***** válasza:

Ez így most fáj nagyon.

Azt kéred valaki dióhéjban magyarázzon el neked egy nyelvet? Még csak azt sem mondod meg, hogy melyiket.

Ez olyan mintha azt mondanád, idegen nyelvet fogsz tanulni, valaki ugyan magyarázza már el az alapokat. Ez így nem megy.

2010. szept. 2. 16:00
Hasznos számodra ez a válasz?
 2/13 A kérdező kommentje:
akkor mondjuk Pascal?
2010. szept. 2. 19:13
 3/13 anonim ***** válasza:
Nem azt kérte, hogy magyarázz el egy nyelvet. Azt mondta, hogy a programozás alapfogalmait. Erre nagyon jó a wikipédia például.
2010. szept. 2. 20:38
Hasznos számodra ez a válasz?
 4/13 anonim ***** válasza:
A programozási elméletekből és modellekből számtalan van és gyakorlatilag egyik se köthető konkrét nyelvhez. Egyetemeken ezek két-három félévnyi anyagok, talán nem lehet összefoglalni itt, főleg, hogy háttértudás (matematikai és logikai ismeretek) nélkül nem is értenéd meg.
2010. szept. 3. 15:44
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:

Sztem válts szakirányt... vagy kérszülj fel, hogy piciny kérdésedre a válasz több ezer oldal, és már 8éve tanulom, és még nem látom a végét (az alapoknak, mivel egyetemen is csak az alapokat tanítják meg)!

Amúgy a legalapabb pascal:


Program lol;

Begin

End.


Ez a program elindul, és leáll.

2010. szept. 4. 22:47
Hasznos számodra ez a válasz?
 6/13 anonim ***** válasza:

C-ben ugyanez

int main()

{}

2010. szept. 5. 15:03
Hasznos számodra ez a válasz?
 7/13 anonim ***** válasza:
100%

Na nézzük.

Szerencséd van, ma este sokáig fennvagyok, és van erőm ilyen kérdésekbe is belemenni :P.

Remélem sikerült megérteenm a kérdést. Mert ám nem egyszerű. Meg remélem azért el is olvasod a választ :p.

Elöljáróban megírnék annyit, hogy középiskolában tanultam először 3.-ban programozást, ami megtetszett és még hobbi szinten is folytattam tovább. Utánna lenyomtam egy 5.-évet "programozó technikusként", majd elmentem egy kecskeméti főiskolráa általános informatikusnak, ahol szerencsémre mégtovább, még sok-sok nyelvet megtanultam programozás terén. Most végén járok a fősulinak, és bár mindig a jobb programozók közé tartoztam, természetesen messze állok egy ELTE prog mat szaktól. De mivel hobbibol űzöm, ragadt rám valami a koszon kívül és véleményem is kialakult a témával kapcsolatban, ami nem rövid, és most Téged traktállak vele, (hogy múlassam az estémet :P)

Programozás általánosan. Hmm....

Mik a tévhitek általánosságban.

Szerintem a legnagyobb tévhit, hogy a programozás alapja a matematika. Ez így nem igaz. A programozás alapja a programozás. A matek azért kell, hogy matematikai feladatokat meg tudd oldani. pl. Mondják neked hogy írj egy fibnacci számsort generáló programot, vagy egy legnagyobb közös osztó/ legkisebb közös többszörös számkereső programot. Egy ilyen feladatnál, ha nem tudod a matematikai feladatot mi fán terem, nyilván le sem tudod programozni. De ettől függetlenül, programozásból lehetsz ász (pl. (programírás közben fellépő) hibakereséshez semmi matektudás nem kell, és aki jól tud hibát javítani (debug-olni) az már programozó).

Szóval a matek és a programozás két külön dolog (amivel sokmindenki biztos nem ért egyet).

Mi az a programozás egyáltalán, hogy működik, mi a menete?

Első lépés a probléma kigondolása. :P Ami általában eleinte úgy fog működni, hogy a tanár megmondja, hogy most csináltok egy összeadó programot.

Második lépés, fejben a tanult parancsok segítségével nagyjábol elgodnolod hogy fogj hozzá.

Harmadik lépés, odaülsz a gép elé, és megírod a progit. Nem sok sor, biztos vagy magadban.

Negyedik lépés, futtatod a progit.

Ötödik lépés, a gép kiírja hogy hülye vagy, olyat írtál be amit nem ismer.

Hatodik lépés. Bepánikolsz (persze csak ha nem vagy gyakorlott a hibajavításban ;) ).

Hetedik lépés. Nézet hogy mit írhattál el.

Nyolcadik lépés. Eltelt 20 perc, a tanár felírta a táblára a megoldást, és bár neked ugyanaz van a gépbe bírva, mégsem fut le.

Kilencedik lépés. A észreveszed, hogy a 3. sor végéről a ; hiányzik.

Tizedik lépés. Futtadot ismét a programot és lefut hibátlanul.Sőt még azt is csinálja amit szeretnél.

Tizenegyedik lépés. Bosszakodsz+ örülsz hogy mégsem vagy olyan hülye :D.


Idővel persze már előjönek ugyaazok a hibák, és tudod hogy a hibát mivel lehet gyógyítani -> ergo mit írtál el, vagy mit nem értelmez a gép úgy ahogy te szeretted volna neki mondani. Így a 20 perc 2-3 másodpercre rövidül majd.


Mi az a programozás?

Talán valami olyasmi van a definícióban, hogy parancsok egymás utáni futtatása. És hát valóban. Ezen nem nagyon van mit magyarázni.

pl. az előző feladat (összeadás) megoldása programozási godnolkodási szinten:

1. lépés: létrehozok egy rekeszt( más néven tárolót, változót), amiben az eredményt fogom tárolni (ezt hívják még memóriarekesznek-> ami talán kifejezőbb, mivel a valóságban is a memóriából egy darabot foglal le szó szerint a program)

2. lépés: a felhasználótól megszerezzük a kívánt adatokat, pl. hogy milyen számokat szeretne összeadni. Ez úgy történik, főleg eleinte, hogy kiírja a számítógép (régi barátságtalan karakteres DOS-os ablakba) hogy:

"kérem az első számot:" és villog a kurzor utánna, és várja hogy beírj egy számot majd entert nyomj

3. lépés: összeadjuk a számokat

4. lépés: ezt közöljük a felhaszálóval. Ez úgy történik, hogy kiírjuk a szöveget ugyanabba az ablakba.

5. lépés: a program leáll a DOS ablak eltűnik.


Fent említette valaki hogy nem létezik olyan hogy elmagyarázni a programozást általánosságban. Biztsíthatlak hogy ők is ismerik az algoritmus szót. Ennek a lényege hogy a programozást oktatja, mindenféle nyelv nélkül. Valóságban haszna egyáltalán nincs, de egy idő után ha több nyelvet is tanulsz, rájössz, hogy igazából nem adott nyelven gondolkodsz, hanem algoritmusban. Az algoritmus csúnya szó, de valóságban is használatos. Nekem pl. reggeli algoritmusom az, hogy felkelek, pössentek, felöltözöm és megiszom egy kávét.

Ez algoritmussal kb. annyi átírva hogy:

-Felkelek

-pössentek

-felöltözöm

-kávézok

Ez egy feladatoknak az egymásutáni sorozata. Midnig ezt csinláom, ez az algoritmusom reggel.

A buszsofőrnek reggel mikor átveszi a buszt, egy algoritmus végig kell játszania mielőtt elindul felvenni az utasokat.

-beszáll

-elindítja a motort

-megnézni hogy nagyjából tud-e fékezni

-stb.

Akkor nézzük az algoritmust az összeadó feladatra

-létrehozzuk a 3 darab változót

-bekérünk egy adatot a felhaszánlótól és betesszük a létrehozott egyik változóba.

-bekérünk egy másik számot a felhasználótól, és azt betesszük egy másik már létrehozott változóba

-összeadjuk egy harmadik változóba az első két változót

-kiíratjuk a parasztnak a képernyőre a bonyolult számítást.


Ezután már (persze az előbbi dolgot nem veti papírra az ember, inkább csak fejben elgodnolja hogy most ezt fogom megírni, és utánna kapcsol az agya adott nyelv-re és) elkezdi begépelni: (ez pl. C-ben)


main()

{

int a,b,c;

cout<<"Kérem az első számot"<<endl;

cin>>a;

cout<<"Kérem a másik számot"<<endl;

cin>>b;

c=a+b;

cout<<"A végeredmény"<<c;

}


ugyanez a program Pascalban valami hasonlóa nézne ki:

VAR a,b,c:integer;

BEGIN

Write('Kerem az egyik szamot:');

ReadLn(a);

Write('Kerem a masik szamot:');

ReadLn(b);

c:=a+b;

WriteLn('Az eredmény:',c);

END.


Még ha sosem programoztál életedben akkor is azért fellelhetők bizonyos hasonlóságok. Elő kézből látszik pl. hogy a Pascal beszédesebb nyelv, ezért valószínűleg a sulidban ezzel fogsz kezdeni. Szidják sokan, én ebben kezdtem és nem bánom. Szerettem anno, használtam is, eljárt fölötte az idő, de aki kezd annak ugyanúgy jó mint ahogy nekem is jó volt.

Az első programnak a megírásához pl. nem árt ha tudja az ember fia, hogy mi az a main(), tudja hogy mi az a { és }, az "endl" "cin" "cout", meg "int"

Szóval kb. az összes sor kínai. Talán a c=a+b logikusnak hangzhat. Ez nem probléma, mert a tanárnak szépen el kell magyarázni számodra, mivel ezt nem tudhatod.


Nem is tudom mivel folytassam. mivel sosem tanultlá godnolom én programozást, nem sokat fogsz érteni abból, hogy a ciklusok, eljárások, függvények, elágazások. Ezek mind mind pofonegyszerű programozási fogások. Ezzek az eszközök amivel le tudod modellezni a problémát. Huuude szépen fogalmaztam :P. Szóval hogy van egy problémád, miszerint el akarod érni, hogy a kávéfőző reggel lefőzzön egy kávét neked. pl. elágazást jó ha haszál ilyen programban az ember. Mire is gondolok. Pl. 6:50- van. Ha van a kávé a szűrőben, elindulhat a főzés. Ha nincs, gyulladjon ki (nah jó villanjon fel) egy piros lámpa. Programozásilag:


if(kávétartó==tele)

kávéfőzésprogram();

else

piroslámpakigyullad();


Lehet hülye példáknak tűnnek, hogy ti ilyet nem tanultok a suliban, de ha érdekel a dolog, egy ilyen sor teljesen valószerűnek tűnhez. Már hála a GAMF-nak(fősulim), megtanítottak gépközeli programozáshoz, és pici chip-eket programozgatunk fel. És szó szerint megtudnék írni egy programot ami reggel elindít egy kávéfőzőt. Isten ments hogy értékként írjam fel, szóval nem vagánykodásból mondom, hanem amiatt, hogy ha akarsz ilyet simán el tudsz érni. Sőt ez csak a jéghegy csúcsa. És ott eltudok képzelni ilyen sorokat.

A fenti if-else párosítást nevezzük elágazásnak. Mert a program elágazik. Vagy az egyik dolgot hajtja végre, vagy a másikat. Ilyen pofonegyszerű a többi fogalom is.

Ha ezt a pár fogalmat megérted, (amihez nekem kb. fél év kellett), egy alapszintű programozónak mondhatod magad. Ha kedved van weblapot szerkesztesz, ha kedved van robotokat mozgatsz, ha kedved van windows-os programokat írsz. De!

Akármikor váltasz, mindig jóformán újra kell tanulnod a programozsát és kezdetben sikertelenségeid lesznek. Nekem egy 7 év van a hátam mögött, de olyan messze vagyok az igazi programozástól hogy azt még el sem tudom képzelni :P.


Másik tévhit ami most jutott eszembe:

Hogy egy feladatak csak egy megoldása van, amit a tanár a táblára felír. Ez a legnagyobb gond talán a programozás oktatásban. Nekem szerencsére olyan volt a tanárom, hogy mindig díjazta a önálló gondolatokat. Így én kb. mindig máshogy oldottam mint amit ő kitalált, és rájöttem hogy ez is jó meg az is. Ahány ember, annyi jó megoldás.

5=4+1

5=7-2

melyik a helyes? Senki sem tudhatja a választ, mert mind a kettő az. Szóval csak nyugodtan kötözködj a tanároddal, és alkoss véleményt. Ha rossz, kijavítja, és fogadd el. De ha tanár makacs és nem foglalkozik az elméleteddel akkor rájöhetsz hogy rossz tanárt fogtál ki magadnak és őőőő. Hát az esetben az önképzés még megmarad. Fórumokon is okos embereket lehet lelni akik akik a problémádra választ adnak.


Remélem azért valaki lesz aki elolvassa ezt a jóformán cikkemet. Úgy gondolom hülyeségeket nem írok. Ezek általánosságban a programozásról szólnak. Volt benne egy kis konkrét programozási példa is...

2010. szept. 12. 04:09
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:
Drága utolsó, te sem hallottál még funkcionális, logikai, esetleg állapotautmatás programozási nyelvekről, ugye? Sőt, jobbat mondok, a html is programozási nyelv amennyiben a futtató platformot a böngészőnek tekintjük, és a cél weboldalak megjelenítése. Nem Turing-teljes, de programozási nyelv. Mint ahogy BÁRMIT tekinthetünk annak, ami valahogyan ráveszi a gépet arra, hogy csináljon valamit. Szóval az algoritmus elméleted máris megbukott. Nem csak algoritmusok léteznek, ennél jóval általánosabb a programozás, és ezért mondták azt többen, hogy ezt nem lehet így leírni.
2010. szept. 12. 09:45
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:

Kedves utolsó!

Próbálok megfontolt, átgondolt válaszokat adni. Úgy gondolom részletesen leírtam a programozással való kapcsolatomat is. Konkrétan ezt a hozzászólást "Drága utolsó, te sem hallottál még funkcionális, logikai, esetleg állapotautmatás programozási nyelvekről, ugye?" provokatívnak tartom. Igen is foglalkozok a programozással, miért kell egyből leszúrni, és a kákát keresni a csomón?

Annak viszont örülök hogy választ kaptam mert ennél az is rosszabb lett volna ha senki nem olvassa el a válaszomat :).

Nyilván minden ember magának ad igazat. Eszerint:

De. Hallottam állapotautómatás programozási,logikai, funkcionális nyelvekről. Sőt használtam is.

Viszont nem embernek való. Régen megtanultam normálisan programozni(NI LabView, PLC-k programozása is ebbe sorolható). Ezek az új kattogtatunk, behúzunk programozási elemeket egy ablakra és összehúzogatjuk vonalakkal sokkal lassabban nehézkesebben halad mint egy karakteres programozás.

Mondok mást. Nem vagyok begyöpösödött agyú. Elismerem a létét, sőt elfogadom, hogy ez lesz a jövő, a ma fiai ebben fognak már csak programozni. Mivel én nem team-ben programozok, hanem magamnak, mint említettem, legfőképpen hobbiból, és, megtanultam becsületesen karakteresen programozni, sőt az írott sorok száma a egy értelmes emberi mennyiséget nem halad meg, így alakult ki ez a véleményem az állapotautómatás programozásról. + lehet egyszerűbb programozni (nem gyorsabb) úgy, az biztos, hogy maga a keretprogram, teleszemeteli a forrást, és lassabb lesz a futása. Szóval fölösleges, míg az ember nem vállal adott szintű munkát.

HTML+ algoritmus. A HTML-re is simán rálehet húzni az algoritmus szót. Csak kb. nincs értelme.

Algoritmus:

-Címnek megadjuk, hogy programozás

-Első sorba nagy betűvel bírjuk, hogy "programozás"

-Következő sorba kisbetűvel beírjuk hogy "almafa"

-Új bekezdésebe megírjuk az életrajzunkat

-Ezután...


Ez HTML-be valahogy így néze ki:


<HTML>


<HEAD>

<TITLE>Programozás</TITLE>

</HEAD>


<BODY>

<H1>Programozás</H1>

<H5>almafa</H5>

<P>Életrajzom: Bla-bla-bla-bla </p>

</BODY>

</HTML>


Igazából minden algoritmus amit az életben teszünk. A szót meg kell barátkoztatni az emberekkel. Mikor bekerültem fősuliba, sokan elriadtak tőle. De ez jóformán a programozás gondolatmenetét taníttatja meg (beszélgetés a programozásról). Maga a tantárgyat én is hülyeségnek tartom, mert valóságban nem látsz eredményt, viszont annyi hogy egyszerűen nem kell megijedni tőle. Pl. Egyik programozó tanul C -ben programozni, a másik Pascalban. Az egyik elakad (szemantikai hibája lesz), simán megkérdezheti a másik programozót, hogy mi a baj, hiába tanulja a msáik nyelvet. Kis elétrések vannak, de ha jártas tudhat segíteni (feltételezve, hogy nem egy webprogramozót kérdez meg egy assamblert író). Legfőképp a tanárok dilije ez az algoritmusos dolog, és emiatt útálják a diákok. Nekem volt szerencsém hogy programozási tanulmányaim közepén tanultam jobban ilyen elméleteket, és tudtam mit kezdeni vele, sőt megértettem lényegét (egy adott szinten).


A többi téma amit most írok kb. teljesen OFF:

Úgy gondolom a kedves 69%-os válaszoló egy mindenképpen jártas programozó lehet. Maga egy olyan mondat, hogy "Nem Turing-teljes, de programozási nyelv", nem kis előképzettségre kell, hogy okot adjon. Sőt láttam más posztokat is ahova válaszolgat, és nem hülyeségeket.

A probléma valahol felfogásilag, hozzáállásilag lehet. Miről szól egy fórum? Valaki feltesz egy kérdést, és várja a megoldást rá. Egy válaszolónak, ki kell találni, ki kell egészíteni, hogy mire gondolhat a kérdező, és ha kedve/ereje/idje engedi, tudása szerinti legjobbat megírni. Egy olyan hozzászólás (tudom hogy nem Te írtad, viszont érzek egy hasonló hozzáállást, más posztokból és nem akarom mindenfele ezt az igét osztani), szóval egy olyan hozzászólás miszerin, "Sztem válts szakirányt... vagy kérszülj fel, hogy piciny kérdésedre a válasz több ezer oldal, és már 8éve tanulom, és még nem látom a végét ", nem biztos hogy segített a válaszolónak. Tudom igazat írt, és egy élet kevés programozást megtanulni, de mindig akad kezdő.

Nekem engedte időm/kedvem/témára való felkészültségem, hogy válaszoljak. Úgy gondolom, egy programozási kedvcsinálónak, ill. belekóstolásnak teljesen megfelelő.

Mivel egy hozzászólásban (még ha meg is próbáltam) nem lehet összefoglalni a programozást, nyilván kihagyok belőle dolgokat. Ez nem feltétlen azt jelenti hogy nem hallottam róla. Inkább azt, hogy próbálok tekintettel lenni a kérdezőre, ne elriasszam a porgramozástól, hanem megszerettessem azt vele, és megmutassam neki, hogy amellett hogy bonyolult is lehet, pofon egyszerű is lehet. Felfogás kérdése. Ha úgy áll hozzá, hogy ez megtanulhatatlan, és húú már megint mit tanulunk, akkor sosem fogja megtanulni. Ha úgy áll hozzá hogy áá ez egyszerű, akkor már meg is tanulta. Abba meg belegodnolni sem szabad hogy mennyi mindent nem tudok :P. Ha mindig megtanul egy picit, idővel eljuthat a te szintedre is. Elvégre még csak középsulit tapossa (ahogy kiértettem a dologból), egyáltalán nincs elkésve a programozás tanulással.

Amit én bemutattam, az egy általános programozás oktatás, általános programozás szemlélet (az én szemszögemből).

Kiegészítés, megerősítés jól esett volna. De egyből egy támadó jelleg, az én válaszomra nem esett jól.

Az én meglátásom, hogy vagy segítsünk a másikon, vagy ne is szóljunk hozzá.

(a hozzászólásom OFF része igazából az összes előző hozzászólónak szól, aki em szólt hozzáértelmesen, csak mivel a 69%-osnak volt ideje válaszolni így hozzá címeztem igazából ezt a részt)

2010. szept. 12. 15:19
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:
55%

Nem támadni akartam, csak nagyon szűklátókörűnek találtam a választ. Az egész algoritmusolás értelmét veszti, amikor leülünk egy prolog elé, és eldurran az agyunk, mert nem értjük. Nem csak algoritmusokkal lehet programozni, a (tisztán) funkcionális nyelvekben például minden függvény. Nincs változó, nincs "futás", függvények vannak és a függvények értékei. Némelyikben még konstansok sincsenek. Elég beteg.


Állapotautomatás nyelv sem csak grafikus van, sőt, a grafikus az általában csak segítség a kódíráshoz (bár találkoztam már én is olyannal, hogy összehúzogatod, és fut, és nem keletkezik köztes kód, de az robotprogramozás volt gyerekeknek :D).


Szóval ezért kicsit szűknek éreztem az írásodat.

2010. szept. 12. 16:19
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!