Programozási nyelvek Programozási alapismeretek
Windows alapú struktúra ma H A R D V E R Windows 7 operációs rendszer + segéd- programok fájlkezelő lemezkarbantartó ... Felhasználói programok rajzolóprogram, táblázatkezelő, szövegszerkesztő, böngészőprogram ... FELHASZNÁLÓ BIOS Javítások: Service Pack: SP 1, 2, 3 frissítések Javítások: patch (bug) frissítések Kiegészítések: plugin frissítés
A programozási nyelvek csoportosítása az utasítás szintje szerint a program működési elve szerint a problémához való viszony alapján, az alkalmazhatósági kör szerint az alkalmazási terület szerint a programtervezés, modellezési filozófia szerint
Utasítás szintje szerint gépi kódú programozás alacsony szintű (assembly) programozási nyelvek forráskód > compiler > tárgykód (gépi kód) compiler program: a fordítást végzi ugró utasítás + kezdetleges változó magas szintű programozási nyelvek nagyon magas szintű nyelvek önálló forráskód készítés még nem készült el teljesen (mesterséges intelligencia nyelvek)
Működési elv szerint imperatív utasítások meghatározott sorrendű végrehajtása (neumann-architektúra) pl. ADA, ALGOL, Basic, C, Cobol, Pascal applikatív (függvényorientált, funkcionális) pl. LISP, LOGO predikatív (logikai programnyelv) pl. PROLOG konkurens (több processzor) osztott hálózati programnyelv: OCCAM, SR
Problémához való viszony alapján eljárásorienetált (procedurális) univerzális (Neumann- elvű) műszaki tudományos számítások elvégzése (kevés adat, sok számítás) kereskedelmi cégeket segítő programok (sok adat, kevés számítás) speciális problémaorientált grafikai programok szimulációs programok robotokat működtető programok fő problémák: adatbázis használata szövegfeldolgozás, termelésirányítás stb.
Alkalmazási terület szerint tudományos műszaki számításokra, adatfeldolgozásra, Szövegfeldolgozásra alkalmas nyelvek
Programtervezés szerint procedurális programozás strukturált programtervezés objektumorientált programozás
Számítógépes problémamegoldás 1. Feladat megfogalmazása 2. Elemzés, tervezés, szervezés 3. Programtervezés, algoritmuskészítés 4. Programozás, kódolás 5. A programok tesztelése, hangolása 6. Dokumentálás 7. Bevezetés
A feladataink főbb elemei 1. Változók deklarálása 2. Adatok bekérése 3. A feladat megoldása 4. Eredmény kiíratása 5. Várakozás
Választható nyelvek Az alábbi nyelvek bármely inplementációja (megvalósítása) C# (Microsoft) Pascal, implementációi: FreePascal (www.freepascal.org) Borland Pascal Turbo Pascal... Basic, implementációi: FreeBasic (www.freebasic.net) 1985. Quick Basic (Microsoft) 1987. QBasic (Microsoft) 1991. Visual Basic (Microsoft)...
Példa egy feladatra C# nyelven 1. Változók deklarálása double tagdij; System.Console.Write("Éves tagsági díj: "); tagdij=System.Convert.ToInt32(System.Console.ReadLine()); tagdij=tagdij*1.2; System.Console.WriteLine("Az éves könyvtári tagdíja adóval {0} Ft.", tagdij); System.Console.WriteLine("Befejezéshez nyomjon Entert!"); System.Console.ReadLine(); 2. Adatok bekérése 3. A feladat megoldása 4. Eredmény kiíratása 5. Várakozás
IDE Integrated Development Environment integrált szoftverfejlesztési környezet IDE részei linkage editor (linker): szövegkezelő interpreter/compiler: fordító debugger: hibakereső ...
Szükséges algoritmusok vektorkezelő algoritmusok összegzés átlagszámítás eldöntés (Van-e olyan?) megszámlálás (Hány van?) lineáris keresés (Van-e, melyik?) kiválasztás (Biztosan van, de hányadik?) minimum kiválasztás maximum kiválasztás rendezés (kiválasztás + csere) minimumkiválasztásos rendezés maximumkiválasztásos rendezés
BASIC Beginners’ All-purpose Symbolic Instruction Code kezdők általános célú, szimbólikus utasításkódja személyi számítógépek általános, könnyen tanulható és használható programnyelve a FORTRAN programnyelven alapul 1964. Kemény János és Thomas Kurtz (Darthmouth College) interpreter fordító: utasításonként fordít és végre is hajtja az utasítás tárgykódját
Quick Basic oldalak magyar nyelvű: http://hu.wikipedia.org/wiki/BASIC http://toolbar.prog.hu/article.php?title=QB asic&profile=0 http://ebookz.hu/ebook.php?azon=5c8887 angol nyelvű: http://www.techiwarehouse.com/cms/engi ne.php?page_id=914f9c44 http://pages.intnet.mu/jhbpage/Program/ Qbasic/tutorial/index.htm