Számítógépes algoritmusok
Függetlenül attól, hogy milyen tervezési és programozási módszert alkalmazunk, a program készítésének lépései - nagyon leegyszerűsítve a következők:
1. A feladat megfogalmazása Pl.: Szeretnék tervezni egy Mizson 1.0 programot
2. A program megtervezése Ha kettes akkor Mizson. Ha hármas …
3. Kódolás #include <stdio.h> #include <stdlib.h> int main() { int belepes, otthon, lany; printf("Túlélhető világ\ntörténet mód\n"); printf("2057-ben a Föld nevű bolygót egy kór támadta meg.\nJellegzetessége az volt, hogy akit megtámadott elvesztette uralmát teste felett.\nEgy szóval élőhalottak lettek...\nJack Blackwood vagyok és ez az én törénetem.\n"); printf("\n"); printf("Kezdés(1)|Kilépés(2)"); scanf("%d", &belepes); if(belepes==1) { printf("Mindenki maradjon otthon.\nPróbáljanak több hétre elegendő élelmet szerezni.\nNe bízzanak meg senkiben.\nNe nyissanak senkinek se ajtót.\nrádió 2057.okt. 4");
4. Tesztelés
5. Dokumentálás Error 404
Mi az Algoritmus? Az algoritmus egy feladat megoldására szolgáló, egymást előírt sorrendben követő utasítások sorozata. Az utasítások vonatkozhatnak számítási műveletekre, vagy bármely más tevékenység elvégzésére. Az algoritmus kifejezés jóval régebbi, mint a számítógép maga, az ókorból származik, és jelen van a mindennapi életünkben anélkül, hogy erre oda kellene figyelnünk. Hogyan számolunk, osztunk, szorzunk papíron? Gépiesen végrehajtjuk az alapműveletek általános iskolában jól bevésett algoritmusaihoz tartozó utasításokat.
Ahhoz, hogy az emberi nyelven megfogalmazott problémától eljussunk a gép számára végrehajtható egyértelmű utasítások sorozatához, egy közbenső, mesterséges jelrendszert kellett megalkotni. A számítógépes algoritmus a feladat leírásának egy mesterséges jelrendszerben megfogalmazott, a természetes nyelvek adta lehetőségeknél jóval pontosabb, egyértelmű utasításokat tartalmazó változata.
Az algoritmusok leírására igen sokféle módszer létezik Az algoritmusok leírására igen sokféle módszer létezik. Semmiféle megkötés nincs azon túl, hogy a választott módszer egyértelmű jelölésrendszert alkalmazzon, az ábrázolás legyen áttekinthető, tömör. Ennek ellenére célszerű, hogy igazodjunk a nemzetközi szabványok egyezményes előírásaihoz, különösen akkor, ha egy nagyobb rendszer fejlesztésében, csapatmunkában dolgozunk. A legelterjedtebb algoritmusleíró eszközök a folyamatábra, a struktogram és a mondatszerű leíró nyelv, vagy pszeudokód. Nézzük meg az előző példa ábrázolását mindhárom eszközzel:
Folyamatábra
Struktogram
Mondatszerű leírás
A számítógépes algoritmus legyen: véges: az előírt tevékenység sorozatnak véges sok lépésben be kell fejeződnie bemenet: meghatározza (vagy ha ilyen nincs, akkor ezt közli) a bemeneti paramétereket kimenet: meghatározza a kimeneti adatokat egyértelműen meghatározott: az algoritmus nem tartalmazhat valószínűségi elemeket, ugyanazon bemeneti adatokra és kezdeti állapotra ugyanazt a kimenetet és végállapotot szolgáltatja. teljes: minden szóba jöhető esetre (kivételre) egyértelmű utasítást ír elő. elvégezhető: csak olyan utasításokat tartalmazhat, amit végre lehet hajtani. univerzális: kellően általános, meghatározott peremfeltételeknek eleget tevő, egy feladatosztály megoldására alkalmas
Mivel ugyanazt a feladatot nagyon sokféleképpen meg lehet oldani, a feladat algoritmikus leírásában is lehetnek eltérések. A megoldások különbözhetnek attól függően, hogy a tervezés során milyen szempontokat helyezünk előtérbe: a cél például:
A hatékonyság
Takarékosság az erőforrásokkal
Áttekinthető programot szerkesszünk A hatékony algoritmusok általában olyan tömörek, hogy mások számára nehezen érthetőek, sőt előfordul, hogy egy idő elteltével a szerző számára sem egyszerű az értelmezésük.
Vége