Hercles Posted March 11, 2014 at 11:05 AM Report #548181 Posted March 11, 2014 at 11:05 AM (edited) Caros, estou com este projeto, tenho que fazer uma função que exiba no navegador.... Esta função deve retornar o tempo médio necessário para se produzir um sapato pelo grupo de operários. Pensei em algo do tipo: Montar uma base com o array abaixo e dai imaginar como funcionária esta função. Este array funciona desta forma [nomeDoOperario], [numSapatosProduzidos], [totalHorasTrabalhadas]. producao = array ( array('bruno','2','1'), array('monica','7','2'), array('fabio','3','1') array('vivian.'2','2')); function tempomedio(numSapatosProduzidos, totalHorasTrabalhadas) { ... return tempomedio Nos meus cálculos a média seria: Temos 6h que vou transformar em minutos => 360 min e 14 sapatos. 360/14 = 25,71 ou seja, esta função vai me retorna 26 minutos :11 segundos Alguma luz? Edited March 11, 2014 at 11:33 AM by Hercles
I-NOZex Posted March 11, 2014 at 12:03 PM Report #548190 Posted March 11, 2014 at 12:03 PM falta aqui uma componente de algoritmia, por isso apenas vou dizer o que tens de fazer: no teu caso, para "facilitar", acho que faria um merge de todas as arrays depois, fazia um foreach, para fazer a soma dos sapatos produzidos, e das horas trabalhadas 😉 no fim ia obter o valor que pretendes B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
Hercles Posted March 11, 2014 at 01:06 PM Author Report #548207 Posted March 11, 2014 at 01:06 PM Sou iniciante em PHP não entendo muito...
I-NOZex Posted March 11, 2014 at 07:18 PM Report #548265 Posted March 11, 2014 at 07:18 PM (edited) começa por pprocurar no google o que te falei... http://pt2.php.net/array_merge http://www.php.net/manual/pt_BR/control-structures.foreach.php Edited March 11, 2014 at 07:19 PM by I-NOZex B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
Hercles Posted March 12, 2014 at 12:10 AM Author Report #548313 Posted March 12, 2014 at 12:10 AM pensei em algo do tipo, mas não funciona 😞 <?php function media($horas) { $total = func_num_args($horas); $numeros = func_get_args($horas); if ($total < 1) { trigger_error('Não é possível calcular a média de menos de 1 número!'); return 0; } else { $soma = array_sum($numeros); return ($soma / $total); } } ?> <?php $Cresc_horas = array("monica" => "10", "bruno" => "1", "bianca" => "3", "carla" => "17"); echo media($cresc_horas); ?>
HappyHippyHippo Posted March 12, 2014 at 12:24 AM Report #548319 Posted March 12, 2014 at 12:24 AM podes explicar aqui ao pessoal porque raio apareceram estas duas funções na resolução do problema ? http://pt1.php.net/func_num_args http://pt2.php.net/func_get_args IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Hercles Posted March 12, 2014 at 12:50 AM Author Report #548322 Posted March 12, 2014 at 12:50 AM com array eu não consigo... Assim funciona: <p> A média para produzir um sapato:<p> <?php function media() { $total = func_num_args(); $numeros = func_get_args(); if ($total < 1) { trigger_error('Não é possível calcular a média de menos de 1 número!'); return 0; } else { $soma = array_sum($numeros); return ($soma / $total); } } ?> <?php echo media(10,8,6,8); ?> <p> horas <p>
Hercles Posted March 14, 2014 at 07:57 PM Author Report #548643 Posted March 14, 2014 at 07:57 PM <?php function getprodutividade($arrSapatos, $arrhoras) { $totalsapatos =0; foreach ($arrSapatos as $operario => $sapatos) { $totalsapatos += $sapatos; } $totalhoras = 0; foreach ($arrhoras as $operario => $horas) { } return $totalsapatos / $totalhoras; $arrSapatos = Array("joao" => 3, "jose" => 2); $arrHoras = Array ("joao" => 1, "jose" => 2); echo getprodutividade ($arrSapatps, $arrHoras); ?>
HappyHippyHippo Posted March 14, 2014 at 08:35 PM Report #548648 Posted March 14, 2014 at 08:35 PM (edited) esse código tem um pequeno erro ... este é mais minimalista: function getprodutividade($arrSapatos, $arrhoras) { return array_reduce($arrSapatos, function($sum, $value) { return $sum, $value}, 0) / array_reduce($arrhoras, function($sum, $value) { return $sum, $value}, 0); } Edited March 14, 2014 at 08:35 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now