3
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
3 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";

Olá, Tiago! Perdão pela demora em responder!

Agora, com o desafio 2 completo e a presença do desafio 3, posso afirmar que você fez um ótimo trabalho, dando um destaque para o comentário que você adicionou na sua função do desafio 3, ótimo para que daqui há semanas ou meses você não se perca ao ver esses códigos novamente.

Continue com esse empenho!