2
respostas

[Dúvida] Exercícios

Boa tarde pessoas, segue a forma que eu fiz a resolução dos exercícios, estou aberto a direcionamentos de como melhorar o código que eu fiz
``
desafio-1
$notas = [17, 15, 19];
rsort($notas);
$resultado = array_slice($notas, 0, 3);
$string = implode(", ", $resultado);
echo "As três maiores notas são: $string\n";

--
Desafio-2

($nome), "ano" => (int) $ano, "trabalho" => $trabalho ]; echo "Seu nome: $array[nome], você nasceu em $array[ano] e trabalha como $array[trabalho]"; == Desafio-3
2 respostas

Oi, Tiago! Como vai?

Notei que você usou funções importantes do PHP para ordenar arrays e manipular strings, como rsort, array_slice e implode, que são ótimas para resolver exercícios de listas e arrays. Seu código está no caminho certo, mas vi que o segundo desafio está incompleto e o terceiro parece estar com o código truncado.

Uma dica interessante para o futuro é usar a função array_filter para filtrar elementos de um array com base em uma condição. Veja este exemplo:


$notas = [17, 15, 19, 12, 8];
$notasAltas = array_filter($notas, fn($nota) => $nota >= 15);
$string = implode(", ", $notasAltas);
echo "Notas maiores ou iguais a 15: $string";

Esse código filtra as notas que são maiores ou iguais a 15 e imprime uma lista delas, o que pode ajudar a organizar os dados antes de outras operações.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Bom dia Armando, tudo bem?

Reparei agora que quando eu enviei o meu texto não enviou por completo o desafio 2 e 3, sobre o array_filter eu achei interessante a utilização dela no código de exemplo, vou me lembrar dela nas próximas atividades, agradeço o auxilio nesse desafio.

Segue abaixo o desafio 2 e o desafio 3 com o código inteiro dessa vez.

Desafio 2:

echo "Digite seu nome: ";
$nome = fgets(STDIN);

echo "Digite seu ano de nascimento: ";
$ano = fgets(STDIN);

echo "Digite seu trabalho: ";
$trabalho = fgets(STDIN);

$array = [
    "nome" => ($nome),
    "ano" => (int) $ano,
    "trabalho" => $trabalho
];

echo "Seu nome: $array[nome], você nasceu em $array[ano] e trabalha como $array[trabalho]";

Desafio 3:

<?php
//escrever uma função que receba um array de strings por parametro e ordenar em ordem alfabética
function sortArray($array)
{
    $array = explode(separator: ",", string: $array);
    sort(array: $array, flags: SORT_STRING);
    return $array;
}

echo "Digite as palavras que voce quer no array, separadas por vírgula: ";
$input = trim(fgets(STDIN));
$resposta = trim(implode(separator: ", ", array: sortArray($input)));
echo "A ordem Alfabética é: $resposta";