| |
|
|
p.specht
| Für die Anwendung der Formel von Faa di Bruno [...] war ein Multinomialkoeffizient zu programmieren. Klappt ganz gut, weil Bereichsüberschreitungen weitestgehend vermieden werden.
WindowTitle " M U L T I N O M I A L K O E F F I Z I E N T"
declare w$,z$[],anz&[],c$,i&,n&,flg&:CLS:font 2
print "\n Die Prozedur berechnet die Anzahl unterschiedlich aussehender \n"
print " Anordnungen aller Zeichen, wobei manche Zeichen auch wiederholt\n"
print " auftreten (= Gruppen un-unterscheidbarer Zeichen bilden) können.\n"
nochmal:
Print "\n\n Geben Sie eine Zeichenkombination ein: ";:input w$:case w$="":end:n&=-1
Whileloop len(w$):c$=mid$(w$,&Loop,1):flg&=1
whileloop 0,n&:i&=&Loop:if z$[i&]=c$:anz&[i&]=anz&[i&]+1:flg&=0:break:endif
endwhile:if flg&:inc n&:z$[n&]=c$:anz&[n&]=1:endif
endwhile:print
:whileloop 0,n&:print " ";z$[&Loop];" kommt ";anz&[&loop];" mal vor.":endwhile
print "\n Daher gibt es ";
print format$("#################",multinomkoeff(len(w$),n&,anz&[]));" unterscheidbare Anordnungen!"
waitinput:cls:goto "nochmal"
proc multinomkoeff :parameters k&,n&,anz&[]:declare p!:p!=1
:whileloop 0,n&:whileloop anz&[&Loop]:p!=p!*k&/&Loop
dec k&:endwhile:endwhile:return p!
endproc
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 20.05.2021 ▲ |
|
|
|