3. A programozás eszközei, programozás-technikai alapismeretek 3.1. Programkód, programnyelv Kódolás, forrásprogram Programnyelvek generációi 3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, deklarációja, szerepe 3.3. Algoritmusok fogalma, algoritmuskészítés módszerei, leírónyelvek Folyamatábrázolási módszerek 3.4. A TP fejlesztői környezet Programkönyvtárak Utasítások, adatok, függvények, eljárások, objektumok
3.1. Programkód, programnyelvek A kódolás és forrásprogram Programnyelvek generációi Sokat beszélünk az okos és az intelligens számítógépekről, azonban a számítógépek önmagukban nem okosak. Okossá a rajta futó programok teszik, jó programot viszont csak akkor tudunk írni, ha biztosak vagyunk abban, hogy a szg. megérti a szándékainkat, nem érti félre. Ehhez viszont jól át kell gondolni, hogy mit és hogyan tegyünk. A programozás azt a folyamatot jelenti, melynek során a feladatot a szg. számára érthető formában írjuk le. A programo- zás eredményeként létrejön a program.
program= gépi kódú utasítások sorozata, amelyeket a szg program= gépi kódú utasítások sorozata, amelyeket a szg. megért és egy jól meghatározott sorrendben végre is tud hajtani. utasítás= a program legkisebb funkcionális egysége, ez írja le a programot. programozási nyelv= a leírás nyelve, melyek arra szolgálnak, hogy megkönnyítsék a programozó munkáját a feladat megfogalmazásakor. A programozási nyelveket két nagy csoportba bontjuk: alacsony szintű: nehéz a programírás, de a lefordítandó program közelebb áll a gép nyelvéhez; nehezen hordozható (minden utasításnak van egy kódja, amely egy számot jelképez) magas szintű: emberközeli, könnyebb programot írni, a számok helyett angol szavak szerepelnek. Azonban egy ilyen nyelvet nem ért meg a gép, ezért kell lefordítani a gép nyelvére. Ehhez szükség van egy olyan segédprogramra, mely az általunk megírt programot gépi kóddá alakítja, ez a fordító- Compiler, vagy lépésenként végrehajtja, ez az értelmező- Interpreter.
A programvégrehajtás menete: A memória: minden rekesz sorszámmal (címmel) rendelkezik, így a memória bármely rekesze megcímezhető, és így a processzor által közvetlenül elérhető. A processzor (CPU- központi feldolgozó és vezérlő egység): feladata, hogy végighaladjon a program utasításain és az előírt sorrendben végrehajtja azokat. Az utasítások műveleteket végeznek az adatokon. utasítás kódok adatok 1. a soron következő utasítás gépi kódja lehívódik a memóriából a Memória CPU- ba 2. dekódolás: megállapítja, hogy milyen adatokkal milyen milyen műveletet kell elvégezni 3. beolvassa a memóriából a szükséges adatokat, végrehatja az előírt utasítást, az eredményt pedig visszaírja a memóriába CPU Dekódolás Végrehajtás
Programozási hibák hibakeresés: Egy magas szintű nyelven írt program írása során is véthetünk hibákat. Ezek a hibák a következő típusúak lehetnek: -szintaktikai hibák (alaki): a program nem felel meg az adott nyelv szabályainak, elírás történt. Az ilyen hibákat viszonylag könnyű megtalálni -szemantikai hibák (tartalmi): a program elindul, de nem azt csinálja amit kell, helytelen eredményt ad. Az ilyen hibák megtalálása és kiíratása sokkal nehezebb feladat, erre külön segédprogramok (debugger- ek) állnak rendelkezésünkre.
Programnyelvek generációi: idő 2000 JAVA DELPHI 1990 C++ 1980 SMALLTALK C PROLOG 1970 PASCAL PL/1 BASIC 1960 COBOL LISP FORTRAN 1950 ASM alacsony szintű magas szintű
A ma is élő, legelterjedtebb általános nyelvek: -assembly: gépi kódú programozást segítő nyelv, nehezen hordozható; ma már csak az op. rendszerek készítői , ill. a hardvergyártók programoznak ilyenben -PASCAL: a strukturált programozás tanulónyelvének szánták; továbbfejlesztett változata a TURBO PASCAL, OOP is támogatja; a valós életben a C miatt nem tudott érvényesülni, de a DELPHI- ben él tovább -DELPHI: alapja az OOP; fő erőssége a korszerű és hatékony vizuális fejlesztőfelület -C: alacsony és magas szintű nyelvként is szokták emlegetni, mert hatékony is és könnyű programozni; hordozható; ma a helyét egyre inkább átveszi a C++ -C++: a C nyelv objektum- orientált továbbfejlesztése; napjainkban minden általános programot ebben írnak -Java: szintaktikája nagyon hasonlít a C++ nyelvéhez; az Internet programozás fő nyelve; tökéletesen hordozható