Informatika2-2012/Eloadas02

A MathWikiből
(Változatok közti eltérés)
(Adatok, adattípusok)
(Adatok, adattípusok)
31. sor: 31. sor:
 
* '''Változó''': Az olyan adatot, amelyet meg lehet változtatni, változónak nevezzük. (pl: ''int x;'')
 
* '''Változó''': Az olyan adatot, amelyet meg lehet változtatni, változónak nevezzük. (pl: ''int x;'')
 
* '''Konstans''': Az olyan adatot, amelynek értéke nem változtatható meg, konstansnak nevezzük. (pl: ''12'')  
 
* '''Konstans''': Az olyan adatot, amelynek értéke nem változtatható meg, konstansnak nevezzük. (pl: ''12'')  
 +
 +
A C erősen típusos nyelv, ráadásul statikusan típusos, azaz a változókról meg kell mondani, hogy milyenfajta adatok tárolására alkalmasak.
 +
Például ''int'' jelöli azt, hogy egész számokat tárolhat, ''float'' pedig azt hogy lebegőpontos tört számot.
 +
 +
(A Python dinamikusan típusos, ott az értéknek van típusa, nem a változónak. Ezért nem kellett definiálni a változókat, azokban bármilyen adat lehetett. Ez egyszerűsíti a programírást, viszont növeli a hibalehetőséget.)
 +
  
 
?Figyelnünk kell az algoritmus futásidejére, és tár(memória)igényére, pontosabban arra, hogy ezek hogyan függenek össze a bemenet méretével. kezelhetetlen problémák : exponenciális, vagy rosszabb futásidő/tárigény?
 
?Figyelnünk kell az algoritmus futásidejére, és tár(memória)igényére, pontosabban arra, hogy ezek hogyan függenek össze a bemenet méretével. kezelhetetlen problémák : exponenciális, vagy rosszabb futásidő/tárigény?

A lap 2012. február 13., 23:38-kori változata

Tartalomjegyzék

A programozás alapjai

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

A számítógép fő részegységei: Kép

  • processzor (beolvassa a memóriából az utasításokat és az adatokat, az utasítások alapján műveleteket végez, az eredményt visszaírja a memóriába; valamint vezérli a perifériákat - adatokat olvas belőlük, ill. ír ki)
  • memória (általános tároló, mely utasításokat és adatokat tartalmaz)
  • perifériák (pl. háttértároló (ahol az elmentett fájlok találhatók); beviteli eszközök: billentyűzet, egér; megjelenítő eszközök: monitor)


Eljárás, algoritmus, programozás

Ebben a félévben csak imperatív programozás: lépésről lépésre előírjuk, hogy mit kell tenni, kb. mint egy recept.

  • Programozás: előírni a számítógépnek, hogy mit csináljon.
  • Eljárás (módszer): Gépiesen (gondolkodás nélkül) végrehajtható lépések sorozata, amely elvezet a megoldáshoz.
  • Algoritmus: Gépiesen (gondolkodás nélkül) végrehajtható lépések véges sorozata, amely elvezet a megoldáshoz.


Mielőtt az algoritmust kódolni kezdjük, meg kell győződni róla, hogy mindhárom feltétel teljesül:

  • helyes : Valóban azt a feladatot oldja meg, amire szánjuk.
  • teljes : Minden lehetséges esetben megoldja.
  • véges : Véges sok lépésben befejeződik.


Egy programozási feladat megoldási folyamata: Kép


Adatok, adattípusok

  • Változó: Az olyan adatot, amelyet meg lehet változtatni, változónak nevezzük. (pl: int x;)
  • Konstans: Az olyan adatot, amelynek értéke nem változtatható meg, konstansnak nevezzük. (pl: 12)

A C erősen típusos nyelv, ráadásul statikusan típusos, azaz a változókról meg kell mondani, hogy milyenfajta adatok tárolására alkalmasak. Például int jelöli azt, hogy egész számokat tárolhat, float pedig azt hogy lebegőpontos tört számot.

(A Python dinamikusan típusos, ott az értéknek van típusa, nem a változónak. Ezért nem kellett definiálni a változókat, azokban bármilyen adat lehetett. Ez egyszerűsíti a programírást, viszont növeli a hibalehetőséget.)


?Figyelnünk kell az algoritmus futásidejére, és tár(memória)igényére, pontosabban arra, hogy ezek hogyan függenek össze a bemenet méretével. kezelhetetlen problémák : exponenciális, vagy rosszabb futásidő/tárigény?

Ellenőrző kérdések

(Ilyesmi, vagy akár konkrétan ezek várhatóak a gyakorlat eleji mini Zh-n !)

  • Rajzold le a számítógép egyszerűsített felépítését (3 doboz)!
  • Mi az a három dolog amit ellenőriznünk kell, mielőtt egy algoritmust kódolni kezdünk?
  • Mi az "eljárás" definíciója? Miben különbözik ettől az algoritmus definíciója?

Források

Személyes eszközök