http://wiki.math.bme.hu/history/Informatika1-2018/Gyakorlat10?feed=atom&Informatika1-2018/Gyakorlat10 - Laptörténet2024-03-28T14:59:47ZAz oldal laptörténete a wikibenMediaWiki 1.18.1http://wiki.math.bme.hu/index.php?title=Informatika1-2018/Gyakorlat10&diff=13799&oldid=prevMerdelyi: Új oldal, tartalma: „Előző gyakorlat - Fel - Következő gyakorlat == A program haszn…”2018-11-21T22:22:09Z<p>Új oldal, tartalma: „<a href="/view/Informatika1-2018/Gyakorlat9" title="Informatika1-2018/Gyakorlat9">Előző gyakorlat</a> - <a href="/view/Informatika1-2018#Gyakorlatok" title="Informatika1-2018">Fel</a> - <a href="/view/Informatika1-2018/Gyakorlat11" title="Informatika1-2018/Gyakorlat11">Következő gyakorlat</a> == A program haszn…”</p>
<p><b>Új lap</b></p><div>[[Informatika1-2018/Gyakorlat9|Előző gyakorlat]] - [[Informatika1-2018#Gyakorlatok|Fel]] - [[Informatika1-2018/Gyakorlat11|Következő gyakorlat]]<br />
<br />
== A program használata ==<br />
<br />
=== Az intézeti sage szerver ===<br />
https://sage.math.bme.hu/<br />
<br />
Fogadjuk el a tanúsítványt, annak ellenére is, hogy a böngésző nem tanácsolja!<br />
<br />
=== Publikus ===<br />
[https://cocalc.com/ CoCalc]<br />
<br />
=== Otthonról ===<br />
Telepíthetjük a saját gépünkre: http://www.sagemath.org/download.html<br />
<br />
=== parancssorból ===<br />
<br />
A <tt>leibniz</tt>-en írjuk be parancssorba, hogy '''sage''', ekkor megnyílik a sage interactive shell.<br />
<br />
Ide már írhatunk be sage parancsokat, például:<br />
<python><br />
23^19<br />
</python><br />
<br />
=== Help ===<br />
online dokumentáció: https://doc.sagemath.org/html/en/reference/<br />
<br />
== Feladatok ==<br />
<br />
# Számold ki 2018 négyzetgyökét!<br />
# Számold ki 2018 negyedik gyökét!<br />
# Számold ki 2018 hatodik hatványát!<br />
# Mennyi 123*321-nek a 11-es maradéka?<br />
<br />
=== Kiegészítés és help ===<br />
<br />
A sage okosan ki tudja egészíteni a parancsainkat, próbáljuk meg a következõt:<br />
<python><br />
V = Vec[nyomjunk TAB-ot]<br />
</python><br />
Ekkor egyrészt kiegészíti Vector-ig, másrészt kiírja a lehetséges parancsokat. Egészítsük ki, hogy a következõt kapjuk:<br />
<python><br />
V = VectorSpace(QQ,3)<br />
</python><br />
Ezzel '''V'''-t a racionális test feletti 3 dimenziós vektortérnek definiáltuk.<br />
<br />
Írjuk be most, hogy '''V.''' és nyomjunk '''TAB'''-ot. Felsorolja az összes lehetséges műveletet, amit '''V'''-n tudunk végezni. Ha a parancs végére egy kérdőjelet teszünk, akkor egy rövid leírást is ad róla, hogy mit csinál. Például:<br />
<python><br />
V.basis?<br />
</python><br />
Le is futtathatjuk a parancsot:<br />
<python><br />
V.basis()<br />
</python><br />
<br />
== Sage notebook ==<br />
<br />
* Menjünk a sage notebook oldalára: [https://sage.math.bme.hu notebook]<br />
* Itt lépjünk be a felhasználónevünkkel és a jelszóval amit egy cetlin megkaptatok.<br />
<br />
* Jobb fent a '''Settings''' menüben változtassuk meg a jelszavunkat.<br />
<br />
* Ha újra bejelentkeztünk akkor bal fent a '''New Worksheet''' linkkel tudunk új munkamenetet indítani.<br />
* Ezt el is kell neveznünk, legyen mondjuk '''Gyak10'''<br />
<br />
=== Első próbálkozások ===<br />
<br />
* A cellákba írhatunk sage parancsokat, akár többet is. Próbáljuk is ki:<br />
<python><br />
A = Matrix([[1, 1], [1, 0]])<br />
B = Matrix([[-2, 0], [-1, 1]])<br />
</python><br />
* '''SHIFT + ENTER'''-el tudjuk lefuttatni a parancsokat. Ekkor sorban futnak le egymás után az egy cellában levő parancsok.<br />
* A cella legutolsó művelete íródik ki, ha nem csak a legutolsót akarjuk kiírni, akkor használjunk '''print'''-et.<br />
* Próbáljuk ki, hogy egy új cellába beírjuk, hogy '''A''' vagy '''B''' és lefuttatjuk. Majd próbáljuk ki az '''A*B'''-t.<br />
<br />
=== Szimbolikus változók ===<br />
<python><br />
x = var('x')<br />
y = var('y')<br />
x^2 + y^2<br />
</python><br />
<br />
Egy változó lehet numerikus (konkrét érték) és szimbolikus is.<br />
<python><br />
y = 2<br />
x^2 + y^2<br />
</python><br />
<br />
=== Függvények ===<br />
Ha '''x''' egy változó, akkor egyszerűen<br />
<python><br />
f(x) = x^2<br />
print(f(3))<br />
print(f(y))<br />
</python><br />
<br />
== Feladatok ==<br />
<br />
=== Változók használata ===<br />
<br />
# 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.<br />
# Hányszor van meg D Y-ban? Legyen az érték a b változóhoz rendelve.<br />
# Legyen r a születési évednek a hónappal vett maradéka.<br />
# Mennyi most b és r különbsége?<br />
<br />
=== Szimbolikus számítások ===<br />
<br />
# Igaz-e, hogy egy szám négyzetének gyöke maga a szám?<br />
## Használjuk a '''bool''' függvényt, ami az igazságértékét meghatározza egy kifejezésnek<br />
## valós számokra igaz? Pozitív számokra? ('''assume''')<br />
# Lássuk be, hogy '''(x-y)(x+y) == x^2-y^2'''<br />
# Lássuk be, hogy '''(-1)^(2n) == 1''', de persze csak ha '''n''' egész!<br />
<br />
=== Beépített Sage függvények, metódusok ===<br />
<br />
# Prímszám-e 2011? (használd az ''is_prime()'' függvényt)<br />
# Prímedik napján születtél-e a hónapnak? (használd a D változót!)<br />
# 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!)<br />
# Numerikusan is oldd meg az egyenletet! Használd a ''find_root(fv == 0, min, max)'' függvényt. Egy változós függvény egyetlen változójában keres megoldást.<br />
# Oldd meg a fenti egyenletet szimbolikusan is (fejezd ki x-et b, D, M és r-rel)!<br />
# Deriváld le az sin(x)cos(x)x^2 függvényt.<br />
# Integráld le az elõzõ függvényt.<br />
# Számold ki a határértékét az (1 + 3/n)^4n függvénynek, ha n->oo (''limit'', de az ''n''-nek változónak kell lennie)<br />
# Legyen f a következő függvény: f = (x+2*y)^3<br />
# 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)<br />
# Bontsd összeggé f-et! (''expand()'')<br />
# 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)''')<br />
<br />
=== Rajzolás a Sage segítségével (plot) ===<br />
<br />
# Rajzolj egy cosinus-görbét 0-tól 4*pi -ig! <br />
# Rajzold ki az (x-2)^2 + 3 másodfokú polinomot -2-től 4-ig, zöld színnel!<br />
# Rajzold az előző mellé (a ''show'' függvénnyel) az x^3-3*x + 6 harmadfokú polinomot pirossal!<br />
# 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!).<br />
<br />
[[Informatika1-2018/Gyakorlat9|Előző gyakorlat]] - [[Informatika1-2018#Gyakorlatok|Fel]] - [[Informatika1-2018/Gyakorlat11|Következő gyakorlat]]</div>Merdelyi