Informatika1-2008/Gyakorlat5
a (Protected "Informatika1/Gyakorlat5": tanitasi anyag [edit=sysop:move=sysop]) |
(→4. gyakorlat (Maple)) |
||
1. sor: | 1. sor: | ||
− | == | + | == 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: |
A lap 2008. október 7., 23:37-kori változata
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: