Informatika1-2012/Gyakorlat2

A MathWikiből
(Változatok közti eltérés)
 
(egy szerkesztő 4 közbeeső változata nincs mutatva)
53. sor: 53. sor:
  
  
* Oldd meg a sin(''x'') + ''e''*x - ''pi'' = 0 egyenletet a ''solve()''-al, miután ez nem sikerült, oldd meg a ''find_root()''-al!
+
* Oldd meg a ''sin''(''x'') + ''log''(''x'') - ''pi'' = 0 egyenletet a ''solve()''-al, miután ez nem sikerült, oldd meg a ''find_root()''-al (0 és 100 között van egy megoldás)!
 
* Legyen az ''f'' függvény a (2''x'' + 5''y'')^3 ! (Ne felejtsd el felvenni y-t is mint szimbolikus változót.)
 
* Legyen az ''f'' függvény a (2''x'' + 5''y'')^3 ! (Ne felejtsd el felvenni y-t is mint szimbolikus változót.)
 
* Helyettesíts f-be a ''subs()'' függvénnyel, x = 316, y = 276-ot!
 
* Helyettesíts f-be a ''subs()'' függvénnyel, x = 316, y = 276-ot!
76. sor: 76. sor:
 
* Rajzoljunk kört: cirlce((középpont koordinátái), sugár, egyebek). Az "egyebek" lehetnek: szín, aspect_ratio=True hogy az x és y tengelyek skálázása azonos legyen (különben ellipszist kaphatunk!).  
 
* Rajzoljunk kört: cirlce((középpont koordinátái), sugár, egyebek). Az "egyebek" lehetnek: szín, aspect_ratio=True hogy az x és y tengelyek skálázása azonos legyen (különben ellipszist kaphatunk!).  
 
* Rajzold a másodfokú polinomot és a kört egymás mellé a show függvénnyel.
 
* Rajzold a másodfokú polinomot és a kört egymás mellé a show függvénnyel.
 +
 +
 +
<!--
  
 
=== Lista és tuple alapok ===
 
=== Lista és tuple alapok ===
94. sor: 97. sor:
 
# Készíts tuple-t ''T'' néven az ''A'' listából, majd írd ki az utolsó elemét!  
 
# Készíts tuple-t ''T'' néven az ''A'' listából, majd írd ki az utolsó elemét!  
 
# Változtasd meg a ''T'' első elemét!
 
# Változtasd meg a ''T'' első elemét!
 +
 +
=== Vezérlési szerkezetek (if, for, while) ===
 +
* Egészítsd ki a következõ sage függvényt, hogy ha prím számot kap akkor azt a stringet adja vissza hogy "prim", ha nem, akkor a faktorizáltját adja vissza.
 +
def faktor_v_prim(a):
 +
    if <!>(a):
 +
        return "prim"
 +
    else:
 +
        return <!>
 +
 +
 +
* Definiálj egy Sage függvényt ''elojel'' néven, amelynek egy bemenete van (''a''), és a "pozitiv" karakterláncot (vagyis stringet) írja ki ha a kapott paraméter pozitív, "negativ"-at ad vissza ha a szám negatív, és  "nulla"-ta ad ha nulla volt a paraméter értéke.
 +
* Írj egy Sage függvényt ''primek_szama'' néven, amely bemenetként kap egy számot (''n'') és visszaadja az n-nél kisebb prímek darabszámát!
 +
* Írj egy függvényt ''elso_primek'' néven, amely bemenetként kap egy számot (''n'') és kiírja az első ''n'' prímszámot!
 +
-->

A lap jelenlegi, 2012. szeptember 19., 11:22-kori változata

Tartalomjegyzék

Ismétlés az elõadásról

  • matematikai mûveletek: (5 + 6 ** 3) / 6.0 + (26 % 11)
  • változók definiálása: a = 5 + 6
  • szimbólumok deklarálása: (a,b)=var(’a,b’)
  • függvények: expand((a+b)**2), 132.factor(), solve, find_root
  • relációk:
    • 5 < 7 (True)
    • 7 == 4 (False)
    • stb.
  • matematikai függvények: sqrt, cos, sin, tan, is_prime, stb.
  • saját függvények a def kulcsszóval
  • plot
  • listák: lis = [5, 6.0, 8]
  • lista indexelés: lis[1], ez a 6.0


Sage - mint számológép

  • Számold ki 2012 3. hatványát!
  • Számold ki pi és e hányadosát!
  • Egészítsd ki a következõket, hogy a # utáni értéket kapd!
    • A kiegészítendõ részek <!> (relációjelek közti felkiáltójellel) vannak jelölve.
5 <!> 8    # 13
27 <!> 3   # 9
29 <!> 3   # 9
29 <!> 3   # 29 / 3
29 <!> 3   # 2


Változók

  • Mentsd az y változóba a születési éved m-be a születési hónapod, d-be a születésed napját.
  • Mentsd a b változóba az y és d összegét


Szimbólumok és beépített függvények, metódusok

  • Az is_prime() függvénnyel határozd meg, hogy a 2011 * 2012 - 1 prím-e!
  • Egészítsd ki a kódot, hogy mûködjön!
a = <!>
<!> = a
b.factor()


  • Határozd meg 2011 * 2012 + 1 gyökét az sqrt() függvénnyel!
  • Egészítsd ki a kódot, hogy mûködjön!
<!> = var('x')
<!>(2 * x ** 2 - 9 * x - 56 == 0, <!>)


  • Oldd meg a sin(x) + log(x) - pi = 0 egyenletet a solve()-al, miután ez nem sikerült, oldd meg a find_root()-al (0 és 100 között van egy megoldás)!
  • Legyen az f függvény a (2x + 5y)^3 ! (Ne felejtsd el felvenni y-t is mint szimbolikus változót.)
  • Helyettesíts f-be a subs() függvénnyel, x = 316, y = 276-ot!
  • Egészítsd ki a kódot, hogy összegre bontsa a kifejezést!
(a, b) = <!>
((2 * a - b) ** 3).<!>


Új függvények definiálása

  • Egészítsd ki a kódot, hogy olyan sage függvényt kapj, amely két változót kap bemenetként, és True-t ad vissza ha az első osztható a másodikkal, egyébként False-t ad.
def oszthato(a, b):
   return <!>
  • Definiálj egy olyan primnap nevű függvényt , amely két változót kap bemenetként (legyenek ezek m és d, mint hónap és nap), és eldönti hogy az m és d által meghatározott nap prímszámadik napja-e az évnek. Az egyszerűség kedvéért tegyük fel hogy minden hónap 30 napos!
  • A fenti függvényt meghívva nézd meg hogy prímszámadik napján születtél-e az évnek!

Rajzolás a Sage-el

  • Egészítsd ki a kódot, hogy cosinus görbét rajzoljon ki 0-tól 4*pi-ig.
plot(<!>, (0, <!>))
  • Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel!
  • Rajzoljunk kört: cirlce((középpont koordinátái), sugár, egyebek). Az "egyebek" lehetnek: szín, aspect_ratio=True hogy az x és y tengelyek skálázása azonos legyen (különben ellipszist kaphatunk!).
  • Rajzold a másodfokú polinomot és a kört egymás mellé a show függvénnyel.


Személyes eszközök