Funktioner
Sage är baserad på programmeringsspråket Python. Det gör det möjligt att definiera funktioner som består av flera steg. Med indrag i koden markerar man vad som ska ingå i definitionen av en funktion.Denna rad ingår inte i funktionen.
Vi anropar en egendefinierad funktion på samma sätt som inbyggda funktioner.
7
Notera att variabeln z i funktionen fkn ovan betraktas som lokal. Lokala variabler introduceras i en funktion genom tilldelning. Det innebär att vi inte kan komma åt dess värde utanför funktionen. Om en gobal variabel har samma namn som en lokal variabel, så påverkas inte den globala vid funktionsanrop.
15
2
För att förändra en variabel globalt i en funktion måste vi deklarera att variabel ska vara global.
243
243
Det är tillåtet att inne i en funktion förändra en variabel som ingår i argumentet till funktionen.
Indata x = 1
Nytt värde: x = 3
3/2
Det går bra att ange förvalda värden på variablerna i argumentet till en funktion. Ett förvalt värde används om man utelämnar argument vid funktionsanrop.
3
0
Första argumentet är x. Vill man endast ändra denna anger enbart det värdet.
6
Vi kan precisera vilka värden respektive variabel ska ha vid funktionsanropet.
5
7
7
Man kan lägga till en förklarande text i definitionen av en funktion. Med funktionen help visar man hjälptexten.
'ParissiraP'
'Sage + Python = sant!!tnas = nohtyP + egaS'
Help on function palindrom:
palindrom(t)
Returnerar ett palindrom baserat på textsträngen t,
d.v.s. konkateneringen av t med sig själv (spegelvänd).
Exempel (Collatz förmodan)
Låt vara ett positivt heltal och sätt för alla positiva heltal . Collatz förmodan säger att det existerar ett positivt heltal sådant att . Låt oss definiera en funktion som bestämmer talföljden .Help on function Collatz:
Collatz(a_n)
Returnerar Collatz talföljd (a_0, a_1, a_2, ..., a_N).
[10, 5, 16, 8, 4, 2, 1]
[100, 50, 25, 76, 38, 19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
[1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1]