60 likes | 269 Views
Algoritmizálás. Göncziné K apros Katalin kaprosk @ ektf.hu h umaninformatika.ektf.hu. Algoritmus. valamilyen probléma vagy feladat megoldásának lépéseit határozza meg (hétköznapi szavakkal)
E N D
Algoritmizálás Göncziné Kapros Katalin kaprosk@ektf.hu 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 2.3.1 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 2.3.2 kép)a gépi kód egy olvashatóbb jelölésmódja (mnemonikok) Fordítóprogramok: assembler • Magas szintű programozási nyelvekben 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áltnak nevezzük, ha ugyanazon bemenetek esetén ugyanazt a kimenetet állítja elő (azonos kezdőállapotok mellett).