Hercles Posted March 11, 2014 Report Share Posted March 11, 2014 (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 by Hercles Link to comment Share on other sites More sharing options...
I-NOZex Posted March 11, 2014 Report Share Posted March 11, 2014 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 Link to comment Share on other sites More sharing options...
Hercles Posted March 11, 2014 Author Report Share Posted March 11, 2014 Sou iniciante em PHP não entendo muito... Link to comment Share on other sites More sharing options...
I-NOZex Posted March 11, 2014 Report Share Posted March 11, 2014 (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 by I-NOZex B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net Link to comment Share on other sites More sharing options...
Hercles Posted March 12, 2014 Author Report Share Posted March 12, 2014 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); ?> Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 12, 2014 Report Share Posted March 12, 2014 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 Link to comment Share on other sites More sharing options...
Hercles Posted March 12, 2014 Author Report Share Posted March 12, 2014 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> Link to comment Share on other sites More sharing options...
Hercles Posted March 14, 2014 Author Report Share Posted March 14, 2014 <?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); ?> Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 14, 2014 Report Share Posted March 14, 2014 (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 by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
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