Wolfram Mathematica

Informatika 1, 12. gyakorlat

Csikja Rudolf notebook-jai alapján.

Aritmetika

1. feladat

Számoljuk ki az alábbi kifejezések értékét. A formulák bevitelére használjuk a gyorsbillenytyűket, illetve használhatunk palettát is.

(Sqrt[((2-(Sqrt[2]))/(2+(Sqrt[2])))])+(Sqrt[((2+(Sqrt[2]))/(2-(Sqrt[2])))])

(Sqrt[((2-(Sqrt[2]))/(2+(Sqrt[2])))])+(Sqrt[((2+(Sqrt[2]))/(2-(Sqrt[2])))])

((sin(60°))^(Sqrt[8]))+(((3^10)+(3^11))/((3^12)-(3^10)))+((((1/49)))^((Subscript[log, (Sqrt[7])])(2)))

((Sin[60 Degree])^(Sqrt[8]))+(((3^10)+(3^11))/((3^12)-(3^10)))+((((1/49)))^(Log[(Sqrt[7]),2]))

2. feladat

Határozzuk meg az alábbi komplex számok (a+i b) algebrai alakját szimbolikusan és numerikusan is: (i^i), ((5+7i)/(3-5i)), cos(i+1).

ComplexExpand[I^I]
N[I^I]

ComplexExpand[((5+7I)/(3-5I))]
N[((5+7I)/(3-5I))]

ComplexExpand[Cos[I+1]]
N[Cos[I+1]]

Határozzuk meg a 2+3i összes 5. gyökét.

Solve[2+3I==z^5, z]

3. feladat

Mutassuk meg, hogy az (e^((Sqrt[163])π)) szám meglepően közel van egy egész számhoz. Milyen közel?

N[Ceiling[E^(Sqrt[163]Pi)]-E^(Sqrt[163]Pi), 100]

4. feladat

Váltsuk át 13-as számrendszerbe a (7-es számrendszerbeli) (Subscript[5543, 7]) számot.

BaseForm[7^^5543,13]

Logika

5. feladat

Döntsük el melyik a nagyobb

(2^300) vagy (3^200),

2^300 < 3^200

(Subscript[log, 2])(3) vagy (Subscript[log, 3])(5).

Log[2,3]<Log[3,5]

6. feladat

Mutassuk meg, hogy A=>(B∨A) tautológia (az A,B változók minden lehetséges értékére igazat ad).

BooleanTable[Implies[A,Or[B,A]]]
TautologyQ[Implies[A,Or[B,A]]]

7. feladat

Hozzuk létre az x és y nevű változókat (valós számok), majd írjunk egy olyan kifejezést az If használatával, amely válaszként a kettő közül azt adja vissza, amelyik nem kisebb a másiknál.

x = 4;
y = 7;
If[x < y, y, x]

Hozzuk létre az a és b nevű változókat (pozitív egész számok), majd írjunk egy olyan kifejezést az Which használatával, amely válaszként a kettő közül azt adja vissza, amelyik osztója a másiknak, ha nincs ilyen, akkor nullát ad eredményül.

Ezt a feladatot átugrottuk.

Lista

8. feladat

Hozzunk létre egy listát, ami a kétjegyű hárommal osztható számokat tartalmazza.

Table[i,{i,12,99,3}]

Hozzunk létre egy listát, ami a [-π,π] intervallum 30 egyenlő részre való felosztásával keletkező számokat tartalmazza.

Table[i,{i,-Pi,Pi,2Pi/30}]

9. Feladat

Állítsuk elő az alábbi listákat aritmetikai műveletek segítsével.

2^Table[i,{i,0,5}]
Table[2^i,{i,0,5}]

(-1)^Table[i,{i,0,9}]
Table[(-1)^i,{i,0,9}]

10. feladat

Egészítse ki az alábbi kifejezést úgy, hogy az {{(x^2),(y^2),(z^2)},{(x^3),(y^3),(z^3)},{(x^4),(y^4),(z^4)}} eredményt kapjuk.

Table[(a^n),…]

Clear[x,y,z]
Table[(a^n),{n,2,4},{a,{x,y,z}}]

11. feladat

Hozzunk létre egy száz elemű -5≤n≤5 véletlen egész számokat tartalmazó listát.

RandomInteger[{-5,5},100]

Hozzunk létre egy száz elemű n∈{-1, -2, 1, 2} véletlen egész számokat tartalmazó listát.

RandomChoice[{-1,-2,1,2},100]

12. Feladat

Egy versenyen 7 versenyző indul {a,b,c,d,e,f,g}, állítsuk elő az összes lehetséges 3-as befutót (a sorrend számít). Hány ilyen van?

Permutations[{a,b,c,d,e,f,g},{3}]

13. Feladat

Állítsuk elő a H={1,2,…, 9,10} halmaz H×H={(1,1), (1,2), (1,3),…,(2,1), (2,2), (2,3),…,(10,10)} Descartes szorzatának azon elemeit, vagyis azon (u,v) rendezett párokat, amelyekre igaz, hogy ha u páros, akkor v páratlan, illetve ha u páratlan, akkor v páros.

(Eddig nem jutottunk el egyik gyakon se.)

Tuples[Range[1,10],2]

Függvények

Eddig nem jutottunk el gyakon, ezek majd a 2. wolfram gyak megoldásában

14. Feladat

Definiáljunk egy T függvényt, amely a megadott sugár alapján kiszámolja a kör területét.

15. Feladat

Definiáljunk egy olyan f függvényt, amelynek bemente egy (valós számokat tartalmazó) lista, kimenete pedig egy olyan kételemű lista, amelynek első és második eleme a bemenetben megadott lista elemeinek számtani és mértani átlaga.

16. Feladat

Definiáljuk az f(x)=(x^3)(e^x) függvényt. Ábrázoljuk f-et, f'-t f''-t egy grafikonon, a [-5,1] intervallumon!

Hol vannak kritikus pontok, inflexiós pontok?

17. Feladat

Komplex számok aritmetikája. Reprezentáljuk az a+i b komplex számot a Comp[a,b] kifejezéssel. Írjuk meg a CConjugate, CPlus és a CTimes függvényeket, amelyek a nevük szerint működnek. Írjuk meg ugyanezeket a függvényeket a beépített Conjugate, Plus és Times függvények túlterhelésével.

18. Feladat

Írjuk meg a faktoriális függvényt f(n)=n! Használjunk rekurziót: f(0)=1, f(n)=n·f(n-1)

19. Feladat

Írjuk meg az Euklideszi algoritmust a legnagyobb közös osztó megkeresésére.

Eukl[a_,b_]:=...

20. Feladat

Definiáljuk az alábbi függvényt

g(n):={({{n/2, ha n páros}, {3n+1, ha n páratlan}})

Határozzuk meg 1-től 1000-ig minden számra azt, hogy a belőle indított g iteráció hány lépésben éri el az 1-et. Ábrázoljuk az eredményt!