Transcript 3. A programozás eszközei, programozás
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.3
.
Algoritmusok fogalma, algoritmuskészítés módszerei, leírónyelvek Folyamatábrázolási módszerek
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.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. 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
a
szintű
fordító-
: emberközeli, könnyebb programot írni, a számok helyett angol szavak szerepelnek. Azonban egy ilyen nyelvet nem 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
Compiler
, vagy ért meg a gép, lépésenként végrehajtja, ez az
értelmező Interpreter.
A programvégrehajtás menete: A memória
elérhető.
: minden rekesz sorszámmal (címmel) rendelkezik, így a memória bármely rekesze megcímezhető, és így a processzor által közvetlenül
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.
Memória
utasítás kódok
Dekódolás CPU
adatok
Végrehajtás
1. a soron következő utasítás gépi kódja lehívódik a memóriából a 2.
CPU- ba dekódolás: megállapítja, hogy milyen adatokkal milyen milyen kell elvégezni műveletet 3. beolvassa a adatokat, az memóriába memóriából a szükséges végrehatja az előírt utasítást, eredményt pedig visszaírja a
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 1990 1980 C 1970 PASCAL PL/1 BASIC 1960 COBOL FORTRAN 1950 ASM alacsony szintű JAVA DELPHI C++ SMALLTALK PROLOG LISP 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ó