Ensayo 4


Las jerarquías. El estudio de las jerarquías esta bastante sumido en el olvido. Quizá el principio jerárquico más conocido sea desgraciadamente el "principio de Peter" (Lawrence J. Peter, un filósofo canadiense ya fallecido que trataba de investigar el origen de las chapuzas) de que cada persona asciende hasta su mayor grado de incompetencia, y, sin embargo, las jerarquías funcionan. Se basan fuertemente en que el número de niveles jerárquicos esta determinado por su base y que hay un número máximo de personas controlables por el superior, dependiendo del tipo de trabajo de que se trate. Así, Goldratt estimó en 200 el numero de operarios supervisable, 15 el número de ingenieros y de 7 el número de vendedores.

Con este programa calcularíamos el número de personas en cada nivel a partir del número máximo supervisable y del tamaño de la organización...



#!/usr/bin/perl IN: print "\nNúmero de personas por grupo jerárquico: "; $n = < STDIN >; chomp $n; if ($n ne $n+0) { print "Not a number"; goto IN; } IN2: print "\nNúmero total de personas: "; $m = < STDIN >; chomp $m; if ($m ne $m+0) { print "Not a number"; goto IN2; } if ($m <= $n) { die "Solución trivial"; } $a[1][1]=1; $a[1][0]=1; $i++; $nivel=1; $maxgrupo=1; while (1){ $nivel++; $sum=0; for $j (1..$maxgrupo){ $sum += $a[$nivel-1][$j]; } $a[$nivel][0]=$sum*$n; for $j (1..$sum*$n){ if ($j>$maxgrupo) { $maxgrupo=$j; } $a[$nivel][$j]=1; $i++; if ($i>=$m){ $a[$nivel][0]=$j; &output(); exit; } } } sub output { print "\n"; for $i (1.. $nivel){ print "$a[$i][0]: "; for $j (1.. $maxgrupo) { if (defined $a[$i][$j]) { print "$a[$i][$j] "; } } print "\n"; } } __END__



Back