49 Kezdőlap - Webszerkesztés - JavaScript - Programozási tételek

Programozási tételek

JavaScript nyelven

Mintapélda

A programozási tételek valójában olyan típusalgoritmusok, amelyek az algoritmizálás során gyakran felmerülő feladatokra adnak megoldást. Ilyenformán a programozási munka fontos építőelemei, használatuk megkerülhetetlen, hiszen ezeknek köszönhetően készítünk egységes, jól követhető forráskódokat.

A fent említett gyakori feladok közös jellemzője, hogy általában egy-egy tömb típusú változóban eltárolt adathalmazzal kapcsolatban megfogalmazódó kérdésre kell válaszolnunk. A programozási tételek elnevezései épp e kérdések lényegére utalnak.

A legegyszerűbb programozási tételek a következők:

1. Sorozatszámítás
Kevéssé beszédes neve arra utal, hogy pl. egy számsorozat összegét, vagy átlagát kell meghatározni. Éppen ezért gyakran nevezik speciálisan összegzés programozási tételének is.
Ennek ellenére nem csak számokról lehet szó benne, hiszen a sorozatszámítás tételével határozható megy egy római szám értéke is, ahol a sorozatot épp a kérdéses római szám betűi jelentik.
2. Megszámolás
Itt egy adatokat tartalmazó sorozat (tömb) elemeiről azt szeretnénk tudni, hogy hány darab olyan eleme van, ami számunkra valamilyen szempontból érdekes lehet.
Éppen ezért ehhez a tételhez kiindulásként mindig tartozik egy tulajdonság is ami leírja a megszámolandó elemek jellemzőjét.
3. Maximumkiválasztás
Egy sorozat elemeiből meghatározza a legnagyobb értékű elem sorszámát - vagy szükség szerint az értékét is.
Sajátossága, hogy a benne szereplő összehasonlítást jelentő relációjel megfordításával minimumkiválasztás valósítható meg, ami lényegében ugyanez a típusalgoritmus.
4. Eldöntés
E tétel lényege, hogy megmondja, van-e egy bizonyos tulajdonságú elem az adott sorozatban. Fontos, hogy csak erre a kérdésre kell válaszolnunk, de arra már nem, hogy melyik (vagy melyek) ez(ek) az elem(ek).
Akárcsak a megszámolásnál, itt is lényeges kiindulási pont a kérdéses tulajdonság. Ám míg a megszámolás eredményéhez szükséges végigvizsgálni az összes lehetséges elemet, az eldöntés esetén abban az esetben, ha találtunk egy megfelelő elemet, a vizsgálat befejezhető, hiszen a kérdés megválaszolható.
5. Kiválasztás
Ennél a kérdésnél biztosan tudjuk, hogy létezik olyan adat, amit keresünk, és éppen az a cél, hogy megmondjuk, melyik az. Csak egyetlen adat sorszámára van szükségünk, akkor is, ha esetleg több létezik.
Ezzel a típusalgoritmussal oldható meg egyebek mellett pl. két szám legkisebb közös többszörösének (vagy legnagyobb közös osztójának) a meghatározása.
6. Keresés
Ez az algoritmus valójában az előző kettő egybeépítése: arra is kíváncsiak vagyunk, hogy van-e egy bizonyos tulajdonságú elem, vagy nincs - illetve ha van, akkor melyik az. Itt is csak egyetlen adatra van szükségünk, hiába is lenne több, és szintén sorszámot várunk eredményül. Pontosítva az elnevezést szokták lineáris keresésnek is nevezni, megkülönböztetendő más egyéb keresési algoritmusoktól.

Ezen összefoglaló figyelembevételével készítsünk programot, mely JavaScript nyelven bemutatja a fenti programozási tételek működését.

A feladat megvalósítása során minden esetben állítsunk elő véletlenszerűen 10 darab évszámot legfeljebb száz évre visszamenőleg (akár egyezőek is lehetnek közöttük), majd programunk segítségével válaszoljuk meg az alábbi kérdéseket.
1. Mennyi a számok összege és átlaga?
2. Hány szökőév van az évszámok között?
3. Melyik a legnagyobb elem? Mi a sorszáma, és az értéke?
4. Van-e köztük évszám az előző 5 évből?
5. Hányadik adat jelöl XX. századi évet?
6. Hányadik adat jelöl XXI. századi évet?

Az alábbi képre kattintva egy lehetséges megvalósítás tesztelhető:



2019-07-18 23:20:54 Admin Köszönöm, ha Ön lesz az első, aki megírja ide véleményét, észrevételét, kérdését ezzel a lappal kapcsolatban.




Új hozzászólás:
E-mail cím:


Erre a címre küldjük ki a hozzászólás jóvá- hagyásához szükséges linket. Az e-mail címet sehol nem tesszük közzé.

Név:


Ez a név fog megjelenni az Ön hozzászólásai mellett.

Mennyi tizennégy + három?
Számjegyekkel írja be!



Ez a robotok beírása elleni védelem miatt szükséges ellenőrzés.


© infojegyzet.hu, 2018. február