Download des MuPAD-Notebooks Save Link Taget As..., Ziel speichern unter...
Prozeduren, Grundelemente der Programmierung
Mathematik mit MuPAD 2, Prof. Dr. Dörte Haftendorn 20.10.02 Version vom 20.10.02
Funktioniert in MuPAD 3 , ist aber noch nicht für MuPAD 3 optimiert.
Web: haftendorn.uni-lueneburg.de/mathe-lehramt haftendorn.uni-lueneburg.de/ing-math
Weiteres aus dem Tutorium
Hilfe --> Hilfe öffnen--->Tutorium --->Gehe ---> zu Seite ->> 125 Schleifen
Hilfe --> Hilfe öffnen--->Tutorium --->Gehe ---> zu Seite ->> 127 Vezweigungen
Hilfe --> Hilfe öffnen--->Tutorium --->Gehe ---> zu Seite ->> 129 Prozeduren
Da kann man sehen, dass das in einer beliebigen (funktionalen) Computersprache
Gelernte sofort umsetzbar ist.
- f:=proc(n)
begin n^2 end_proc:
Man sieht, dass auch die üblichen Funktionen auch
als Prozeduren geschrieben werden können.
- ff:=n->n^2;
ff(5);
ff'(n);
- liste:=[]:
for i in [2,4,7] do liste:=liste.[f(i)] end_for;
Für diesen Zweck geht es viel einfacher mit dem "Folgenopeater $ "
- f(i) $ i in [2,4,7];
[f(i) $ i in [2,4,7] ]
Rekursive Prozedur
- g:=proc(n) begin
if n=0 then 1
else 2*g(n-1)
end_if;
end_proc:
- g(n) $ n=1..10 //Erzeugung einer Liste
Prozedur mit einer repeat-Schleife
- ida:=proc(i) begin
repeat i:=i-1;print("Da sind noch ".i." Freunde");
until i=0 end_repeat
end_proc:
ida(4)
"Da sind noch 3 Freunde"
"Da sind noch 2 Freunde"
"Da sind noch 1 Freunde"
"Da sind noch 0 Freunde"
Prozeduren mit mehreren Parametern
- potenzTafelabisb:=proc(a,b,m,n)
local i,k;
begin
print("1. bis ".n.". Potenzen modulo ".m);
matrix([i $ i=1..n]),
matrix([[k^i mod m $ k=a..b] $ i=1..n]);
end_proc
- potenzTafelabisb(3,9,17,8)
"1. bis 8. Potenzen modulo 17"
- potenzTafelabisb(2,5,6,4)
"1. bis 4. Potenzen modulo 6"
#############################################
siehe auch ggt-prg-3.mnb, die Entwicklung einer Prozedur für Euklidischen Algorithmus.
Beispiele auch in zahltheo-prog.mnb