Informatika1-2013/ZH2Gyakorlo

A MathWikiből
(Változatok közti eltérés)
 
(egy szerkesztő 6 közbeeső változata nincs mutatva)
20. sor: 20. sor:
  
  
* Írj Sage függvényt, mely a kapott \emph{x} pozitív egész számot, ha páratlan megszorozza 3-al és hozzáad 1-et, ha páros elosztja 2-vel, majd kiírja az így kapott eredményt, és ezt addig folytatja amíg el nem jut 1-ig. (El fog jutni 1-ig, ez a Collatz sejtés.) A kiegészitendő részeket jelölik a $<1>$, $<2>, <3>, <4>$.
+
* Írj Sage függvényt, mely a kapott ''x'' pozitív egész számot, ha páratlan megszorozza 3-al és hozzáad 1-et, ha páros elosztja 2-vel, majd kiírja az így kapott eredményt, és ezt addig folytatja amíg el nem jut 1-ig. (El fog jutni 1-ig, ez a Collatz sejtés.) A kiegészitendő részeket jelölik a <1>, <2>, <3>, <4>.
 
<python>
 
<python>
 
def collatz(x):
 
def collatz(x):
30. sor: 30. sor:
 
         print x
 
         print x
 
</python>
 
</python>
 +
 +
 +
* Mit ír ki az alábbi kód?
 +
<python>
 +
d = {}
 +
i = 0
 +
while i < 10:
 +
    d[i ** 2] = i
 +
    i = i + 2
 +
L = d.keys()
 +
L.sort()
 +
print L
 +
</python>
 +
 +
 +
* Írj Sage kódot amely ábrázolja a <math>\sqrt{|\sin(x)|}</math> függvényt piros színnel, és az <math>x^2\cos(x)</math> függvényt sárga színnel, a <math>-\pi, \pi</math> intervallumon, közös grafikonon. (Az abszolút érték függvény Sage-ben az ''abs(x)'')
 +
 +
 +
* Írj olyan osztoszam(L, n) Sage függvényt, mely visszaadja, hogy az L egész számokat tartalmazó listának hány eleme osztja az n egész számot.
 +
 +
 +
* Írj olyan hatvany(n) Sage függvényt, mely visszaadja azt a legnagyobb kitevőt melyre az n számot emelve a hatvány még 100 alatt marad.
 +
 +
 +
* Mutass példát a ''find_root'' és a ''sum'' használatára, a Sage válaszával együtt!
 +
 +
 +
* Mit ad ki az ''expand((a + b) ** 2)'' parancs? Hogyan kell az ''a'' és ''b'' változókat definiálni hogy ez működjön?
 +
 +
 +
* Egy táskába pakolunk sorban elemeket, egészen addig amíg meg nem halad egy adott súlyt, amint meghaladta befejezzük a pakolást. Írj olyan ''pakol(L1, n)'' Sage függvényt, mely visszaadja a súlyt ahol megállt, ''L1'' listában találhatók sorban az elemek súlyai, ''n'' a súly korlát. (A listában összesen nehezebb dolgok vannak mint a súly korlát, így nem kell figyelnünk túlindexelésre.)
 +
 +
 +
* Futtassátok le a BFS és DFS algoritmust [http://math.bme.hu/~kkovacs/a.pdf ezen] a gráfon. Arra figyeljetek, hogy mindkét algoritmus, lexikografikusan vegye a szomszédokat, tehát, ha egy x csúcsnak y és z a szomszédja, akkor y-t dolgozza fel elõbb.

A lap jelenlegi, 2013. november 7., 16:26-kori változata

A gyakorló feladatok nem feltétlen tükrözik a ZH feladatainak nehézségét, de mindenképp jó gyakorlásnak számítanak a ZH-ra.

  • Keresd meg a következő kódban található hibákat. (4 hiba van benne.)
def prim(n):
    s = 0
    for p in range(n):
        if is_prime(p) = True:
            s += 1
    L = ()
    i = 0
    psz = 0
    while psz < s:
        if is_prime(i)
            L.append[i]
            psz = psz + 1
        i = i + 1
    return L


  • Írj Sage függvényt, mely a kapott x pozitív egész számot, ha páratlan megszorozza 3-al és hozzáad 1-et, ha páros elosztja 2-vel, majd kiírja az így kapott eredményt, és ezt addig folytatja amíg el nem jut 1-ig. (El fog jutni 1-ig, ez a Collatz sejtés.) A kiegészitendő részeket jelölik a <1>, <2>, <3>, <4>.
def collatz(x):
    <1> x > 1:
        if <2>:
            x = x / 2
        <3>:
            <4>
        print x


  • Mit ír ki az alábbi kód?
d = {}
i = 0
while i < 10:
    d[i ** 2] = i
    i = i + 2
L = d.keys()
L.sort()
print L


  • Írj Sage kódot amely ábrázolja a \sqrt{|\sin(x)|} függvényt piros színnel, és az x2cos(x) függvényt sárga színnel, a − π,π intervallumon, közös grafikonon. (Az abszolút érték függvény Sage-ben az abs(x))


  • Írj olyan osztoszam(L, n) Sage függvényt, mely visszaadja, hogy az L egész számokat tartalmazó listának hány eleme osztja az n egész számot.


  • Írj olyan hatvany(n) Sage függvényt, mely visszaadja azt a legnagyobb kitevőt melyre az n számot emelve a hatvány még 100 alatt marad.


  • Mutass példát a find_root és a sum használatára, a Sage válaszával együtt!


  • Mit ad ki az expand((a + b) ** 2) parancs? Hogyan kell az a és b változókat definiálni hogy ez működjön?


  • Egy táskába pakolunk sorban elemeket, egészen addig amíg meg nem halad egy adott súlyt, amint meghaladta befejezzük a pakolást. Írj olyan pakol(L1, n) Sage függvényt, mely visszaadja a súlyt ahol megállt, L1 listában találhatók sorban az elemek súlyai, n a súly korlát. (A listában összesen nehezebb dolgok vannak mint a súly korlát, így nem kell figyelnünk túlindexelésre.)


  • Futtassátok le a BFS és DFS algoritmust ezen a gráfon. Arra figyeljetek, hogy mindkét algoritmus, lexikografikusan vegye a szomszédokat, tehát, ha egy x csúcsnak y és z a szomszédja, akkor y-t dolgozza fel elõbb.
Személyes eszközök