fbpx

A programozás alapjai

Melyek a programozás alapjai? Ahogy minden szakmának, a programozásnak is megvannak azok az alapvető egységei és fogásai, melyek elsajátítása szükséges ahhoz, hogy később összetettebb feladatokat és problémákat tudj megoldani. Ha a jövőben programozói karrierre vágysz és szeretnél hatékony lenni a munkádban, akkor érdemes az alapokat készségszintre fejlesztened. Ahogy a profi sportolók esetében is, akik újra és újra, napi szinten gyakorolják sportáguk alap fogásait és mozdulatait, neked is azt javasoljuk, hogy minden nap ismételj és gyakorold a korábban tanultakat, hogy komolyan rögzüljenek.

„Az fog tudni jól programokat készíteni, aki biztos alaptudással rendelkezik.”

Pohl László, egyetemi docens, BME

A programozás alapjai közé tartoznak olyan algoritmusok, melyen apró építőkövekként ismételten megjelennek a mindennapi munka során. Ilyen például a kiválasztások módjai, a különféle rendezési formulák, mindenféle keresések és adatok kezelése és feldolgozása. A programozás tanulása során nem hagyhatod figyelmen kívül a tömbök, listák és adatszerkezetek, fák megismerését sem.

Az Akadémiánkon úgy véljük, a programozáshoz nem csak az tartozik hozzá, hogy a fejlesztői környezetet megismerd és ott működő kódot írj, de rendszeresen kitekintünk és fokozatosan megismerjük a számítógép működését, a szoftverek eszközigényét, optimalizálását és hatékonyságának növelési módjait is.

Ha szeretnéd a programozás alapjait tanfolyamon elsajátítani egy szakember folyamatos mentorálása mellett, akkor ez lesz a te utad: Programozás alapjai

Mai témánk tartalmából: A programozás alapjai

  1. A számítógépek felépítése
  2. Mi a CPU?
    1. CPU részei
    2. CPU működése
  3. Memória
    1. ROM
    2. RAM
    3. Crucial System Scanner
  4. Perifériák
  5. A programok készítése
  6. A programok futtatása
  7. A programok fordítása
  8. Compiler

A számítógép felépítése

Ahogy egy autóversenyzőnek is ismernie kell az autót, amiben ül, annak képességeit és korlátait, úgy egy IT szakembertől is elvárható, hogy ismerje és ennek megfelelően kezelje az eszközét, a számítógépet, amivel dolgozik. Ha eddig nem szántál kellő figyelmet az alapokra, itt az idő, hogy ezt most megtedd!

A számítógépek felépítése az elmúlt évtizedek során méretében és kapacitásában is sokat változott. A hatalmas kétajtós szekrény méretűből hordozható pár kilóssá változtak. Akármilyen mai gépről is beszélünk, alapvetően felépítésük a legfontosabb elemek szempontjából megegyezik. Minden gépben van egy CPU – Central Processing Unit, vagyis egy ún. központi feldolgozóegység, ami lényegében olyan, mint az embernek az agy. Egy processzor, ami a gépbe érkező utasításokat értelmezi és végrehajtja. Ezenkívül minden gépben található egy memória, ami tárolja a jelenleg futó programokat. A gép és a felhasználó között ún. perifériás eszközök segítik a kommunikációt. Ilyenek a billentyűzet, egér, monitor, nyomtató, stb.

Mi a CPU?

A CPU vagy processzor a gépnek adott feladatok végrehajtásának helye. Gyorsan és hatékonyan hajtja végre a feladatait, miközben állandó kétirányú kapcsolatban áll a memóriával és a perifériás eszközökkel. Miért van erre szükség? Mert a CPU a memóriából kapja az utasításokat bizonyos feladatok elvégzésére. Felépítését tekintve egy igen összetett alkatrészről van szó.

CPU
A te géped hogy néz ki belülről?

CPU részei

Csak röviden nézzük meg, miből is áll egy CPU!

  • ALU – arithmetic and logical unit
  • AGU – address generation unit
  • CU – control unit
  • register – kis méretű memória egység (ennek több fajtája segíti a CPU megfelelő működését)
  • buszvezérlő – adattovábbító
  • cache – gyorsítótár – integrált memória

CPU működése

  1. utasítás beolvasása
  2. dekódolás és elemzés
  3. feladat végrehajtása
  4. a kapott eredmények tárolása
  5. soron következő feladat

Az irgalmatlanul nagy terhelés következtében gépünk ezen része hajlamos az igen komoly túlmelegedésre, ezért minden gépben találhatók hűtésre alkalmas berendezések, hűtőbordák, ventilátorok, de nem csak léghűtéses, de vízhűtéses gépeket is találhatunk, nem beszélve a hidrogénes vagy folyékony nitrogénes hűtésekről. A te gépednek milyen hűtése van?

számítógép belülről
Hogy néz ki a géped belülről? Milyen a hűtése?

Memória

A számítógép memóriája egy örök téma. Olyan, mint a jó csokoládé. Soha nincs elég belőle. Ráadásul teljesen szubjektív, hogy kinek-mennyi az elég. Milyen a gép többi része, különösen az alaplap? Mire akarod majd használni? Számtalan kérdés megválaszolása szükséges a tökéletes memória kiválasztásához, melyet aztán az alaplapra kell ráhelyezni.

ROM

A ROM, read only memory, ahogy a nevében látható, csak olvasható memóriát jelent, tartalma tehát nem megváltoztatható (hacsak nem vagy nagyon jártas a témában). Ez az ún. maradandó tár, mégpedig azért, mert a benne tárolt adatok a gép kikapcsolása után is megmaradnak, mint pl. a BIOS. Több fajtája is ismert, írás és törölhetőség szempontjából:

PROM – programmable ROM – ez a memória csak egyszer írható

EPROM – erasable programmable ROM – UV fénnyel törölhető memória

EEPROM – electrically erasable programmable ROM – elektromosan törölhető memória, illetve ennek egy másik csoportja a flash memória.

RAM

A RAM, vagyis random access memory, a szabadon írható és olvasható memóriákat foglalja magában. Ebben a memóriában az adatok elvesznek, ha a gépet kikapcsolod. Ez a terület szolgál az aktuálisan futó programok működésének támogatásához. Sebességük szempontjából megkülönböztethetünk:

DRAM – dynamic RAM – egy kissé lassabb memória

SRAM – static RAM – a korábbinál gyorsabb memória

SDRAM – synchronous dynamic RAM – a dinamikus RAM gyorsabb változata

DDR SDRAM – double date rate synchronous dynamic RAM – egyszerre két műveletet is elvégez, így elvileg dupla sebességgel dolgozik a többihez képest.

Crucial System Scanner

Hogyan válassz memóriát? Ez egy nagyon fontos kérdés, hiszen, ha programozással szeretnél foglalkozni, akkor a számítógép olyan számodra, mint James Bondnak a szuperautója. Hogyan tudsz meggyőződni arról, hogy a géped konfigurációja megfelelő? Erre egy remek lehetőség a Crucial System Scanner. Ez a szkenner átnézi a számítógépedet és javaslatot tesz arra, milyen memóriát érdemes választanod. Tégy egy próbát, neked mit javasol?

számítógép este
Milyen az álom asztalod?

Perifériák

A számítógépes periféria nem más, mint azoknak a hardvereknek az összessége, melyek kívülről csatlakoznak a fő géphez, legyenek azok bemeneti vagy kimeneti (vagy mindkettő) perifériák. Ilyenek tehát a billentyűzet, monitor, egér, vagy más, nem ennyire alapvető eszközök, mint a különböző nyomtatók, szkennerek és játékirányító eszközök, kormányok, joystickok. Ezek az eszközök bővítik a gép felhasználhatóságának lehetőségeit és segítik a felhasználót különböző tevékenységeinek elvégzésében.

A programok készítése – a programozás alapjai

Természetes, hogy szükséged van egy alap gépre ahhoz, hogy programokat tudj írni a későbbiekben. Nézzük meg, hogy ha a technikai feltételek adottak, hogyan tudsz tovább lépni és programokat készíteni vele!

Az első lépés mindig a konkrét feladat meghatározása. A legtöbb fejlesztés projekt alapon működik és mindig megelőzi a tényleges fejlesztést a tervezés fázisa. Ennek első lépése tisztázni, mi is konkrétan a feladat. Először általánosan, majd programozási szempontból is áttekintve lassan kirajzolódik, hogyan érdemes felépíteni a szoftvert, milyen részekre tűnik logikusnak felbontani és ezeket hogyan érdemes időzíteni, hogy egymáshoz képest az elkészülési idő ne okozzon szükségtelen csúszásokat a menetrendben. Könnyebbnek tűnik, mint amilyen valójában. A legtöbb sikertelen gyakorlati projekt, melyet az A&K Akadémia képzésein irányítunk pont azért, hogy ezeket megtapasztalhassák a nálunk tanulók még tét nélkül, ezen a ponton csúsznak el. A pontos, precíz, átgondolt tervezés semmilyen lelkesedéssel vagy plusz munkával nem pótolható később. Ha eleve rossz felépítést határozol meg az elején, később már csak kínszenvedések árán módosítható, ha lehetséges egyáltalán.

A program elkészítése során újabb és újabb kérdések merülnek majd fel, és lehetséges, hogy egészen vissza kell majd lépned az első szakaszba ahhoz, hogy meg tudd válaszolni ezeket a kérdéseket. Amikor éles projekthez csatlakozol, nem ritka a több hetes, hónapos betanulási időszak sem, amikor az egyetlen feladatod megismerni a projekt alapjait, vázlatát, az üzleti logikát és felvenni a fonalat, hol is tartanak pontosan.

Kíváncsiak vagyunk:

Ha dolgoztál már éles fejlesztésen, neked mennyi ideig tartott a betanulási időszak? Mi segített a mielőbbi haladásban? Oszd meg velünk itt kommentben!

Egyetlen fejlesztési projekt sem teljes és nem tekinthető késznek tesztelés nélkül. A tesztelők a fejlesztőkkel vállvetve dolgoznak azon, hogy a végső program a lehető legpontosabban végezze el azt a feladatot, amire eredendően szánták. A hibakeresés és javítás időszakában különlegességekkel is találkozhatsz majd.

Mi volt a legemlékezetesebb bug, amivel találkoztál eddigi pályád során?

Végül, de nem utolsó sorban, a dokumentáció. Elmaradhatatlan kötelező nemakarom papírmunka szokott lenni, de felbecsülhetetlen a felhasználók és a később a fejlesztéseken dolgozó munkatársak számára, hát mély levegő és tessék szépen elvégezni!

Ha részletesebben is érdekel, hogyan működik egy éles projekt, hogyan dolgoznak a szakemberek a szoftvereken a mindennapokban, ebben a cikkünkben megtudhatod: Programozási alapismeretek

A programok futtatása

A számítógépen futnak eszközkezelő programok, melyek a gép alapvető, stabil működését támogatják és felhasználói programok, melyeket a gép használója futtat különböző műveletek elvégzésére, munkára, szórakozásra. Azt bizonyára akkor is tudod, ha soha nem foglalkoztál számítógépekkel korábban, hogy az alap programok is telepítés útján kerülnek a számítógépre. Ez a nyolcvanas években egy rakás lemez ki-behúzogatását jelentette (azok a szép fekete floppy-s idők, ugye), ma már egy körömnyi kis pendrive használatával megvan ugyanez. Ha az alap konfiguráció fent van, egyéni ízlés és célok kérdése, milyen más programokat telepítünk saját gépünkre.

Vannak programok, melyek a számítógép bekapcsolásával automatikusan elindulnak, és vannak, melyeket el kell indítani ahhoz, hogy futni kezdjenek. Mi az, ami akkor is fut, ha nem foglalkozol vele? Nos, ilyen az operációs rendszer is, de akár egyénileg te is megadhatod, hogy mely programokat szeretnéd azonnal futtatni. Ezt megteheted a CCleaner nevű programmal, ha megkeresed benne az automatikusan induló programok gombot. (Én rendszer-karbantartásra is használom, így több legyet is üthetsz vele egy csapásra, ha megismered.)

A programok fordítása

Az, hogy írtál egy programot, vagy megnéznéd (futtatnád) valaki másét, természetes, hogy ma már egy gombnyomásra van csak. De mi történik a gomb megnyomásakor a háttérben?

A program célját, hogy mit kérünk a számítógéptől, egy adott programozási nyelven tesszük. Nyelvtől függően igényel hát az írt kód futtatása fordítást a gép részéről. Az alacsonyabb szintű nyelvek szinte „a gép nyelvén” beszélnek, a magas szintű nyelvek pedig inkább az emberi nyelvhez közeli elemeket használnak és a processzor számára fordítást igényelnek az értelmezéshez.

Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.”

Alan J. Peris

Compiler

A compiler, vagy más nevén fordító fogja lefordítani a magas szintű programozási nyelven írt kódot a gép számára is értelmezhető kódra. Erre egyszer van csak szükség, utána már mindig futtatható lesz a program a gépen.

Kérdésed merült fel az itt található témákkal kapcsolatban? Tedd fel nekünk itt kommentben, vagy az info@ak-akademia.hu címen! Válaszolunk!

További programozás alapjai témával kapcsolatos területek is érdekelnek? Olvasd el: Hasznos tanácsok kezdőknek

Ha nem haladsz úgy, ahogy szeretnél és úgy érzed, jobb időbeosztásra lenne szükséged: A&K Business coaching