#title: media #author: jj #let: amostra0[10]= perl{num_sample_gen(10, 4.1, 4.9, 1)}; media0 = perl{media_sample(#amostra0)}; amostra1[7] = perl{num_sample_gen(7, 4, 20, 0)}; media1 = perl{media_sample(#amostra1)} ; moda1 = perl{moda_sample (#amostra1)} ; amostra2[7] = perl{num_sample_gen(7, 4, 20, 2)}; media2 = perl{media_sample(#amostra2)}; amostra3[15]= perl{enum_sample_gen(15, "ás", "dama", "valete", "rei", 10, 9 )}; moda3 = perl{moda_sample(#amostra3)} ; #question: Considere o seguinte conjunto de notas dos testes da turma (1 casa decimal):\\ A0 = #amostra0[] (o primeiro é o #amostra0[0]) as notas finais (inteiros):\\ A1 = \texttt{#amostra1[sep= | ]} e as notas de recurso (2 casas decimais):\\ A2 = #amostra2[sep= :: ] Considere ainda os seguintes lançamentos de dados de poker (enumerado):\\ A3 = #amostra3[sep=, ] \begin{enumerate} \item Qual a média das notas de A0? \item Qual a média das notas de A1? \item Qual a moda das notas de A1? \item Qual a média das notas de A2? \item Qual a moda dos dados de poker? \end{enumerate} #sugestion: #resolution: Resposta: .1 media0 = #media0 .1 media1 = #media1 .1 moda1 = #moda1 .1 media2 = #media2 .1 moda3 = #moda3 # #result: #Verification: #media0 ; #media1 ; #moda1 ; #media2 ; #moda3 ; #usepackage \usepackage{fancyvrb} #perl sub enum_sample_gen{ my ($q,@r)=@_; my $x; $x =[ map {$r[int(rand(scalar @r))]} 1..$q ]; set_v(AMOSTRA => $x); return $x } # "str-list" sub num_sample_gen{ my ($q,$mi,$ma,$dec)=@_; my $x; if($dec) { $x =[ map { sprintf("%.0${dec}f",rand($ma-$mi)+$mi)} 1..$q ];} else { $x =[ map { int(rand($ma-$mi)) + $mi } 1..$q ];} return $x } # "int-list" sub media_sample{ my($A)=@_; my($m,$c)=(0,0); for(@$A){ $m += $_; $c++ } return $m/$c } # "int"; sub moda_sample { my ($A) = @_; ### get_v("AMOSTRA")||[0]; my(%aux, $v,$vv); $v = 0; for(@$A){ $aux{$_}++ ;} for(keys %aux){ if ($aux{$_} > $v){ $v = $aux{$_}; $vv = [$_];} elsif($aux{$_} == $v){ push(@$vv,$_);} } return join(", ", @{$vv}); } # "int");