Informatika1-2012/Gyakorlat2
A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „=== 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)=…”) |
|||
(egy szerkesztő 8 közbeeső változata nincs mutatva) | |||
12. sor: | 12. sor: | ||
* saját függvények a def kulcsszóval | * saját függvények a def kulcsszóval | ||
* plot | * plot | ||
+ | * listák: lis = [5, 6.0, 8] | ||
+ | * lista indexelés: lis[1], ez a 6.0 | ||
+ | |||
+ | * [[Informatika1-2012/Eloadas1|1. előadás]] | ||
+ | * [[Informatika1-2012/Eloadas2|2. előadás]] | ||
48. sor: | 53. sor: | ||
− | * Oldd meg a | + | * 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! | ||
− | * Egészítsd ki a kódot, hogy | + | * Egészítsd ki a kódot, hogy összegre bontsa a kifejezést! |
(a, b) = <!> | (a, b) = <!> | ||
((2 * a - b) ** 3).<!> | ((2 * a - b) ** 3).<!> | ||
57. sor: | 62. sor: | ||
=== Új függvények definiálása === | === Ú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 === | === 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. | ||
+ | |||
+ | |||
+ | <!-- | ||
+ | |||
+ | === Lista és tuple alapok === | ||
+ | |||
+ | # Adj meg egy legalább 5 elemű, egész számokat tartalmazó listát, és rendeld az ''L'' változóhoz! | ||
+ | # Írasd ki a lista második elemét! | ||
+ | # Írasd ki a lista második, harmadik, és negyedik eleméből álló részlistát (használd a kettőspontot a szögletes zárójelen belül)! | ||
+ | # Írasd ki a lista első 3 elemét! | ||
+ | # Írasd ki a lista utolsó elemét (negatív index)! | ||
+ | # Fűzz a lista végére egy új elemet, értéke legyen ugyanaz, mint az első elem! (''append()'') | ||
+ | # Keresd meg hogy egy elem hányadik indexen szerepel a listádban! (''index()'') | ||
+ | # Számold meg, hányszor szerepel az első elem a listában! (''count()'') | ||
+ | # Mennyi a listádban szereplő számok összege? (''sum()'') | ||
+ | # Rendezd a listádat növekvő sorrendbe! (''sort()'') | ||
+ | # Fűzd össze az ''L'' listát az [1,2,3] listával! (használd a ''+'' operátort) | ||
+ | # Készíts listát (''A'' néven) az "abrakadabra" stringből! (''list()'') | ||
+ | # Készíts stringet az ''A'' listából! (''str()'') | ||
+ | # 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! | ||
− | === | + | === 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.