Lambda-Funktion (anonym)

Aufgabe: Wir wollen den Einsatz der Lambda-Funktion kennenlernen.

Code 01

1/* A={1,2,3} und B={3,4}. Man bestimme die Relation R1 auf A x B mit y=x+2 ! */;
A:{1,2,3};
B:{3,4};
AxB:cartesian_product(A,B)$
R1:subset(AxB,lambda([e],is(e[2]=e[1]+2)));

Grafik (Produktmenge):
produktmenge1

Code 02

2/* A={1,2,3,4,5,6,7,8,9,10} und B={-1,-2,-3,-4,-5,-6,-7,-8,-9,-10}.
Man bestimme die Relation R2 auf A x B mit x+2y-1=0 ! */;
A:{1,2,3,4,5,6,7,8,9,10};
B:{-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
AxB:cartesian_product(A,B)$
R2:subset(AxB,lambda([e],is(e[1]+2*e[2]-1=0)));

Code 03

3/* A={1,2,3,4,5,6,7,8,9,10} und B={-1,-2,-3,-4,-5,-6,-7,-8,-9,-10}.
Man bestimme die Relation R3 auf A x B mit x+2y-1>0 ! */;
A:{1,2,3,4,5,6,7,8,9,10};
B:{-1,-2,-3,-4,-5,-6,-7,-8,-9,-10};
AxB:cartesian_product(A,B)$
R3:subset(AxB,lambda([e],is(e[1]+2*e[2]-1>0)));

Code 04

4/* Augensumme beim n-maligen Würfeln > k */;
n:10;
k:7;
W:setify(makelist([random(6)+1,random(6)+1],i,1,n));
A:subset(W,lambda([e],is(e[1]+e[2]>k)));
p:cardinality(A)/n,numer;

Code 05

5/* Augensumme beim n-maligen Würfeln > k */;
n:10;
k:7;
E:{1,2,3,4,5,6};
S:cartesian_product(E,E);
A:subset(S,lambda([e],is(e[1]+e[2]>k)));
p:cardinality(A)/cardinality(S),numer;

Über Johnny Weilharter

Direktor i. R. der Bundeshandelsakademie und Bundeshandelssschule in Tamsweg, Österreich
Dieser Beitrag wurde unter Algorithmen, Ausssagenlogik, BOOLESCHE ALGEBRA, BYOD, Creative Commons, FUNKTIONEN, Kombinatorik, Kompetenzorientiert, Listenverarbeitung, Mengenlehre, Statistik, STOCHASTIK, Wahrscheinlichkeitsrechnung veröffentlicht. Setze ein Lesezeichen auf den Permalink.