#!/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