#!/bin/bash # Propability Calculation Excersize Programm v1.0 # (C) David Vajda # 2025-04-16 stdk=10 stdnevents=9 echo "Propability Calculation Excersize Programm v1.0" echo "(C) David Vajda" echo "2025-04-1" date if [[ -n "$1" && "$1" == "--dice" ]] then k=6 notnumflag=0 else if [ -z $1 ] then k=$stdk notnumflag=0 else i=0 populationOfAllPossibleElementaryEvents=() populationOfAllPossibleElementaryEvents+=($@) while [ $i -lt $# ] do echo "${populationOfAllPossibleElementaryEvents[$i]}" i=$(($i+1)) done notnumflag=1 k=$i fi fi nevents=$stdnevents n=128 i=0 sample=() echo -ne "sample := {" while [ $i -lt $n ] do x=$((1 + $RANDOM % $k)) sample+=($x) if [ $notnumflag -eq 0 ] then echo -ne $x", " else echo -ne "${populationOfAllPossibleElementaryEvents[$x-1]}, " fi i=$(($i+1)) done echo -ne $((1 + $RANDOM % $k)) echo "}" i=0 eventconsumedcounter=0 nmevents=() while [ $i -lt $nevents ] do x=($((1 + $RANDOM % ($nevents/2)))) nmevents+=($x) eventconsumedcounter=$(($eventconsumedcounter+$x)) if [ $eventconsumedcounter -ge $nevents ] then break fi i=$(($i+1)) done #i=0 #while [ $i -lt $nevents ] #do # echo "${nmevents[$i]}" # i=$(($i+1)) #done eventquantity=() i=0 l=0 while [ $i -lt $nevents ] do j=0 while [ $j -lt $((${nmevents[$l]})) ] do q=0 echo -ne "E$(($i+$j)) := {" y=0 event=() while [ $q -le $(($l)) ] do if [ $y -ge $k ] then break fi y=$((1 + $RANDOM % ($k-$y) + $y)) event+=($y) echo -ne $y", " q=$(($q+1)) done if [ $y -lt $k ] then y=$((1 + $RANDOM % ($k-$y) + $y)) echo "$y}" else echo "}" fi echo "${event[@]}" events+=(${event[@]} 0) j=$(($j+1)) done i=$(($i+$j)) l=$(($l+1)) echo "${events[@]}" i=0 absoluteFrequencyS=() while [ 1 ] do q=0 absoluteFrequency=0 while [ $q -lt $n ] do j=0 while [ "${events[$(($i+j))]}" == "$((0))" ] do j=$(($j+1)) if [ "${sample[$(($q))]}" == "${events[$(($i+$j))]}" ] then absoluteFrequency=$(($absoluteFrequency+1)) fi done q=$(($q+1)) done if [ "${events[$i+$j+1]}" == 0 ] then break fi i=$(($i+$j+1)) absoluteFrequencyS+=($absoluteFrequency) done echo ${absoluteFrequency[@]} done