Informatika1-2008/Gyakorlat5

A MathWikiből
(Változatok közti eltérés)
a (Protected "Informatika1/Gyakorlat5": tanitasi anyag [edit=sysop:move=sysop])
(4. gyakorlat (Maple))
1. sor: 1. sor:
== 4. gyakorlat (Maple) ==
+
== 5. gyakorlat (Maple) ==
  
* Érdekes feladat: Mi a (3+sqrt(5))^7171 tizedesvessző utáni 32. jegye? [http://www.math.bme.hu/~tothagi/info1/gy7_pontossag.mw mw], [http://www.math.bme.hu/~tothagi/info1/gy7_pontossag.html html]
+
* 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:
  
* Procedúrák
 
** Feladat: Írjunk egy procedurát, mely a kapott n számnak megadja azt a legkisebb többszörösét, melynek tizes számrendszerbeli alakjában csak 1-esek és 0-ák szerepelnek! (Ilyen szám mindig lézetik, a bizonyítás felmegszem-en szerepelt.) megoldás: [http://www.math.bme.hu/~tothagi/info1/gy3_csupanullaegy.mw mw], [http://www.math.bme.hu/~tothagi/info1/gy3_csupanullaegy.html html]
 
** Feladat: Áttérés kettes számrendszerre, feladat és megoldás: [http://www.math.bme.hu/~tothagi/info1/gy5_kettes.mw mw], [http://www.math.bme.hu/~tothagi/info1/gy5_kettes.html html]
 
** Feladat: Leghosszabb tiszta fejsorozat, feladat és megoldás: [http://www.math.bme.hu/~tothagi/info1/gy6_fejek.mw mw], [http://www.math.bme.hu/~tothagi/info1/gy6_fejek.html html]
 
  
* Funkcionális programozás - map, select (ld. ea10_funkprog: [http://www.math.bme.hu/~tothagi/info1/ea10_funkprog.mw mw], [http://www.math.bme.hu/~tothagi/info1/ea10_funkprog.html html])
 
  
* Változók
 
** Feladat: Szummázás helyes használata, feladat [http://www.math.bme.hu/~tothagi/info1/gy4_szummas.mw mw], [http://www.math.bme.hu/~tothagi/info1/gy4_szummas.html html]
 
  
* Gyakorló feladatok:
+
 
** feladatok: [http://www.math.bme.hu/~tothagi/info1/gy_gyakorlo.mw mw], [http://www.math.bme.hu/~tothagi/info1/gy_gyakorlo.html html]
+
Házi feladat:
** megoldások: [http://www.math.bme.hu/~tothagi/info1/gy_gyakorlomo.mw mw], [http://www.math.bme.hu/~tothagi/info1/gy_gyakorlomo.html html]
+
 
 +
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:

Személyes eszközök