Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu
Algoritmus valamilyen probléma vagy feladat megoldásának lépéseit határozza meg (hétköznapi szavakkal) egy olyan számítási eljárást, amely valamilyen bemenetből (bemenő adatból/adatok sorozatából) a lépések végrehajtásával valamilyen kimenetet állít elő algoritmizálás programozás Def1.: olyan számítási művelet, amely valamilyen bemeneti (input) adatból vagy adatsorból egy vagy több kimeneti (output) adatot állít elő. Egy algoritmus elemi lépések meghatározott sorrendű véges sorozata.
Algoritmus Def2.: az algoritmus egy Turing-gépre írt program. Turing-gép: absztrakt automata (nem valós, fizikai gép), egy matematikai módszer, a valós digitális számítógépek leegyszerűsített modellje. (MOODLE kép) Def3.: Egy probléma megoldására adott utasítások sorozata akkor algoritmus, ha létezik olyan vele ekvivalens Turing-gép, amely minden megoldható bemenet esetén megáll.
Elemi lépések a futtatott program utasításait a memória tárolja, a futáshoz szükséges adatokkal együtt. A program utasításait a processzor hajtja végre. A processzor csak egyféle programot tud végrehajtani, olyat, amelyet az ő saját utasításkészletén írtak. Gépi kód: bináris számjegyek sorozata, egy-egy utasítás egy 8, 16, 24 stb. jegyű bináris jelsorozat Nem látványos, elemi szintű utasítások (bináris számjegyből álló sorozat) Assembly nyelv ( MOODLE kép) a gépi kód egy olvashatóbb jelölésmódja (mnemonikok) Fordítóprogramok: assembler Magas szintű programozási nyelvek ben különböző adattípusokat és adatszerkezeteket, illetve összetett utasításokat használhatunk. (FORTRAN)
Elemi lépések Elvárások: függetlenek legyenek, vagyis egy elemi lépés ne legyen felírható más elemi lépések sorozataként, a probléma szempontjából legyenek fontosak, célszerűek és hatékonyak (relevancia).
Algoritmusok jellemzői elemi lépésekből tevődik össze, amelyek sorrendje meghatározott statikusan véges (Ha egy algoritmus öt egymás utáni utasításból áll, és az ötödik utasítás az, hogy „ugorj vissza az 1. utasításra”, akkor az algoritmus véges számú lépésből áll, tehát statikusan véges, hiszen öt lépést definiáltunk, a végrehajtás viszont végtelen.) Egy algoritmust determinált nak nevezzük, ha ugyanazon bemenetek esetén ugyanazt a kimenetet állítja elő (azonos kezdőállapotok mellett).