Informatika1-2008/Gyakorlat5

A MathWikiből
A lap korábbi változatát látod, amilyen Tothagi (vitalap | szerkesztései) 2008. október 7., 23:37-kor történt szerkesztése után volt.

5. gyakorlat (Maple)

  • Funkcionális programozás
    • egyszerű példák a map, select használatára
  • Algoritmusok:
    • legnagyobb közös osztó meghatározása euklideszi algoritmus segítségével:
    • buborék rendezés lista rendezésére:



Házi feladat:

1. A következő feladatot oldjuk meg kétféleképpen. Mindkettő procedúra legyen, de először feltételes- és ciklusutasításokkal, másodszor a funkcionális programozás elvét használva (a tanult listakezelő parancsok egymásba ágyazásával) oldjuk meg a feladatot. A cél: a készített procedúra két azonos elemszámú listáról döntse el, hogy hány olyan hely van, ahol az első listában kisebb szám áll, mint a másodikban. Pl. a [2,5,1], [5,3,7] hívásra azt írja ki, hogy 2, míg a [2,3], [1] hívásra hibaüzenetet kapjunk.

2. Összefésülés és összefésüléses rendezés: Az összefésülés algoritmus bemenete két rendezett (!) lista, melyek nem feltétlenül azonos hosszúak. A várt kimenet egy olyan lista, mely tartalmazza a kapott két lista összes elemét (ha vannak azonosak, akkor azokat többször is), továbbá rendezett lista. Tehát a kimeneti listába össze van fésülve a két bemeneti lista tartalma. A módszer a következő. Összeasonlítjuk a listák első elemeit, kiválasztjuk a kisebbet,


3. Diagram:

Személyes eszközök