Informatika1-2015/Gyakorlat10megoldasok

A MathWikiből
(Változatok közti eltérés)
 
(egy szerkesztő 4 közbeeső változata nincs mutatva)
1. sor: 1. sor:
 
== Változók használata ==
 
== Változók használata ==
  
# Legyen Y a születési éved, M a születési hónapod, és D a születésed napja, ezekhez vedd fel a három változót.
+
* Legyen Y a születési éved, M a születési hónapod, és D a születésed napja, ezekhez vedd fel a három változót.
 +
<python>
 +
Y = 1998
 +
M = 3
 +
D = 31
 +
</python>
  
 +
* Hányszor van meg D Y-ban? Legyen az érték a b változóhoz rendelve.
 +
<python>
 +
b = Y // D
 +
</python>
  
# Hányszor van meg D Y-ban? Legyen az érték a b változóhoz rendelve.
+
* Legyen r a születési évednek a hónappal vett maradéka.
# Legyen r a születési évednek a hónappal vett maradéka.
+
<python>
# Mennyi most b és r különbsége?
+
r = Y % M
 
+
</python>
=== Megoldás ===
+
  
 +
* Mennyi most b és r különbsége?
 +
<python>
 +
b - r
 +
</python>
  
  
 
== Beépített Sage függvények, metódusok ==
 
== Beépített Sage függvények, metódusok ==
  
# Prímszám-e 2011? (használd az ''is_prime()'' függvényt)
+
* Prímszám-e 2011? (használd az ''is_prime()'' függvényt)
# Prímedik napján születtél-e a hónapnak? (használd a D változót!)
+
<python>
# Oldd meg a D*x^2 + M*x - b*r = 0  egyenletet a ''solve(fv, változó)'' függvény segítségével! (Ne felejtsd el bevezetni az x-et szimbolikus változóként!)
+
is_prime(2011)
# Numerikusan is oldd meg az egyenletet! Használd a ''find_root(fv == 0, min, max)''  függvényt.
+
</python>
# Oldd meg a fenti egyenletet szimbolikusan is (fejezd ki x-et b, D, M és r-rel)!
+
 
# Deriváld le az sin(x)cos(x)x^2 függvényt.
+
* Prímedik napján születtél-e a hónapnak? (használd a D változót!)
# Integráld le az elõzõ függvényt.
+
<python>
# Számold ki a határértékét az (1 + 3/n)^4n függvénynek, ha n->oo
+
is_prime(D)
# Legyen f a következő függvény: f = (x+2*y)^3
+
</python>
# Helyettesíts be x helyére 3-at; utána x helyére 4-et és y helyére 2-t. Mennyi az eredmény? ( használd f-nek a ''subs()'' függvényét)
+
 
# Bontsd összeggé f-et! (''expand()'')
+
* Oldd meg a D*x^2 + M*x - b*r = 0  egyenletet a ''solve(fv, változó)'' függvény segítségével! (Ne felejtsd el bevezetni az x-et szimbolikus változóként!)
# Az elõbb tanultakat használva, számold ki az 4. tagig a sin(x)cos(x)x^2 függvény [https://hu.wikipedia.org/wiki/Taylor-sor Taylor-sorát] (deriválni / integrálni, ha '''f''' egy függvény úgy is lehet, hogy '''f.diff(x)''')
+
<python>
 +
x = var('x')
 +
solve(D*x^2 + M*x - b*r == 0, x)
 +
</python>
 +
 
 +
* Numerikusan is oldd meg az egyenletet! Használd a ''find_root(fv == 0, min, max)''  függvényt.
 +
<python>
 +
x = var('x')
 +
find_root(D*x^2 + M*x - b*r == 0, -10, 10)
 +
</python>
 +
* Oldd meg a fenti egyenletet szimbolikusan is (fejezd ki x-et b, D, M és r-rel)!
 +
<python>
 +
x = var('x')
 +
b = var('b')
 +
D = var('D')
 +
M = var('M')
 +
r = var('r')
 +
solve(D*x^2 + M*x - b*r == 0, x)
 +
</python>
 +
 
 +
* Deriváld le az sin(x)cos(x)x^2 függvényt.
 +
<python>
 +
diff(sin(x)*cos(x)*x^2, x)
 +
</python>
 +
vagy
 +
<python>
 +
fv = sin(x)*cos(x)*x^2
 +
fv.diff(x)
 +
</python>
 +
 
 +
* Integráld le az elõzõ függvényt.
 +
<python>
 +
integrate(sin(x)*cos(x)*x^2, x)
 +
</python>
 +
vagy
 +
<python>
 +
fv = sin(x)*cos(x)*x^2
 +
fv.integrate(x)
 +
</python>
 +
 
 +
* Számold ki a határértékét az (1 + 3/n)^4n függvénynek, ha n->oo
 +
<python>
 +
n = var('n')
 +
limit((1 + 3/n)^(4*n), n=oo)
 +
</python>
 +
 
 +
* Legyen f a következő függvény: f = (x+2*y)^3
 +
<python>
 +
x = var('x')
 +
y = var('y')
 +
f = (x+2*y)^3
 +
</python>
 +
 
 +
* Helyettesíts be x helyére 3-at; utána x helyére 4-et és y helyére 2-t. Mennyi az eredmény? ( használd f-nek a ''subs()'' függvényét)
 +
<python>
 +
f.subs(x = 3)
 +
f.subs(x = 4, y = 2)
 +
</python>
 +
 
 +
* Bontsd összeggé f-et! (''expand()'')
 +
<python>
 +
f.expand()
 +
</python>
 +
 
 +
* Az elõbb tanultakat használva, számold ki az 4. tagig a sin(x)cos(x)x^2 függvény [https://hu.wikipedia.org/wiki/Taylor-sor Taylor-sorát] (deriválni / integrálni, ha '''f''' egy függvény úgy is lehet, hogy '''f.diff(x)''')
 +
<python>
 +
f = sin(x) * cos(x) * x^2
 +
f.diff(x, 0).subs(x=0) / factorial(0) * x^0 + f.diff(x, 1).subs(x=0) / factorial(1) * x^1 + f.diff(x, 2).subs(x=0) / factorial(2) * x^2 + f.diff(x, 3).subs(x=0) / factorial(3) * x^3
 +
</python>
 +
 
  
 
== Rajzolás a Sage segítségével (plot) ==
 
== Rajzolás a Sage segítségével (plot) ==
  
# Rajzolj egy cosinus-görbét 0-tól 4*pi -ig!  
+
* Rajzolj egy cosinus-görbét 0-tól 4*pi -ig!
# Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel!
+
<python>
# Rajzold az előző mellé (a ''show'' függvénnyel) az x^3-3*x + 6 harmadfokú polinomot pirossal!
+
plot(cos(x), 0, 4*pi)
# 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!).
+
</python>
 +
 +
* Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel!
 +
<python>
 +
plot((x-2)^2 + 3, -2, 4, color="green")
 +
</python>
 +
 
 +
* Rajzold az előző mellé (a ''show'' függvénnyel) az x^3-3*x + 6 harmadfokú polinomot pirossal!
 +
<python>
 +
p1 = plot((x-2)^2 + 3, -2, 4, color="green")
 +
p2 = plot(x^3-3*x + 6, -2, 4, color="red")
 +
show(p1 + p2)
 +
</python>
 +
 
 +
* Rajzoljunk kört: ''circle((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!).
 +
<python>
 +
circle((1, 5), 2, color="purple", aspect_ratio=True)
 +
</python>

A lap jelenlegi, 2015. december 8., 23:09-kori változata

Változók használata

  • Legyen Y a születési éved, M a születési hónapod, és D a születésed napja, ezekhez vedd fel a három változót.
Y = 1998
M = 3
D = 31
  • Hányszor van meg D Y-ban? Legyen az érték a b változóhoz rendelve.
b = Y // D
  • Legyen r a születési évednek a hónappal vett maradéka.
r = Y % M
  • Mennyi most b és r különbsége?
b - r


Beépített Sage függvények, metódusok

  • Prímszám-e 2011? (használd az is_prime() függvényt)
is_prime(2011)
  • Prímedik napján születtél-e a hónapnak? (használd a D változót!)
is_prime(D)
  • Oldd meg a D*x^2 + M*x - b*r = 0 egyenletet a solve(fv, változó) függvény segítségével! (Ne felejtsd el bevezetni az x-et szimbolikus változóként!)
x = var('x')
solve(D*x^2 + M*x - b*r == 0, x)
  • Numerikusan is oldd meg az egyenletet! Használd a find_root(fv == 0, min, max) függvényt.
x = var('x')
find_root(D*x^2 + M*x - b*r == 0, -10, 10)
  • Oldd meg a fenti egyenletet szimbolikusan is (fejezd ki x-et b, D, M és r-rel)!
x = var('x')
b = var('b')
D = var('D')
M = var('M')
r = var('r')
solve(D*x^2 + M*x - b*r == 0, x)
  • Deriváld le az sin(x)cos(x)x^2 függvényt.
diff(sin(x)*cos(x)*x^2, x)

vagy

fv = sin(x)*cos(x)*x^2
fv.diff(x)
  • Integráld le az elõzõ függvényt.
integrate(sin(x)*cos(x)*x^2, x)

vagy

fv = sin(x)*cos(x)*x^2
fv.integrate(x)
  • Számold ki a határértékét az (1 + 3/n)^4n függvénynek, ha n->oo
n = var('n')
limit((1 + 3/n)^(4*n), n=oo)
  • Legyen f a következő függvény: f = (x+2*y)^3
x = var('x')
y = var('y')
f = (x+2*y)^3
  • Helyettesíts be x helyére 3-at; utána x helyére 4-et és y helyére 2-t. Mennyi az eredmény? ( használd f-nek a subs() függvényét)
f.subs(x = 3)
f.subs(x = 4, y = 2)
  • Bontsd összeggé f-et! (expand())
f.expand()
  • Az elõbb tanultakat használva, számold ki az 4. tagig a sin(x)cos(x)x^2 függvény Taylor-sorát (deriválni / integrálni, ha f egy függvény úgy is lehet, hogy f.diff(x))
f = sin(x) * cos(x) * x^2
f.diff(x, 0).subs(x=0) / factorial(0) * x^0 + f.diff(x, 1).subs(x=0) / factorial(1) * x^1 + f.diff(x, 2).subs(x=0) / factorial(2) * x^2 + f.diff(x, 3).subs(x=0) / factorial(3) * x^3


Rajzolás a Sage segítségével (plot)

  • Rajzolj egy cosinus-görbét 0-tól 4*pi -ig!
plot(cos(x), 0, 4*pi)
  • Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel!
plot((x-2)^2 + 3, -2, 4, color="green")
  • Rajzold az előző mellé (a show függvénnyel) az x^3-3*x + 6 harmadfokú polinomot pirossal!
p1 = plot((x-2)^2 + 3, -2, 4, color="green")
p2 = plot(x^3-3*x + 6, -2, 4, color="red")
show(p1 + p2)
  • Rajzoljunk kört: circle((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!).
circle((1, 5), 2, color="purple", aspect_ratio=True)
Személyes eszközök