Calculando a Média do Aluno
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy. Lição 36 de 68.
Desafio
FácilVocê receberá duas entradas: um objeto JSON que representa o boletim de notas existente dos alunos e o nome de um aluno. O boletim usa os nomes dos alunos como chaves, e cada aluno tem um "id" e um array "grades" contendo as notas das provas.
Leia as duas entradas, converta a string JSON em um array de boletim, localize o aluno especificado, calcule a média das notas dele e imprima o resultado arredondado para 2 casas decimais.
Para calcular a média: some todas as notas no array de notas do aluno e divida pelo número de notas.
Formato da entrada:
- Primeira linha: um objeto JSON que representa o boletim de notas existente (exemplo:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - Segunda linha: o nome do aluno (exemplo:
Alice)
Saída esperada: a média das notas do aluno arredondada com round($average, 2) e impressa como está, portanto os zeros à direita são removidos (exemplos: 85, 88.4, 76.25)
Experimente você mesmo
<?php
// Leia a string JSON do boletim de notas
$gradebookJson = fgets(STDIN);
// Leia o nome do aluno
$studentName = trim(fgets(STDIN));
// Converta JSON em um array
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Escreva seu código abaixo
// Encontre o aluno, calcule sua média de notas e arredonde para 2 casas decimais
// Exiba o resultado
echo $average;
?>Todas as lições de Lógica & Fluxo
1Funções Avançadas
Funções AnônimasClosures e 'use'Arrow FunctionsFunções de CallbackUsando 'call_user_func'Funções VariáveisPassagem por ReferênciaFunções RecursivasRecapitulação: Mix de Funções4Arrays Multidimensionais
Criando um Array 2DAcessando Elementos de um Array 2DModificando Elementos de um Array 2DIterando com Loops AninhadosArrays Associativos 2DRecapitulação: Exercício de Grade Simples2Manipulações Avançadas de Arrays
Adicionando com 'array_push'Removendo com 'array_pop'Adicionando com 'array_unshift'Removendo com 'array_shift'Mesclando Arrays IndexadosMesclando Arrays AssociativosExtraindo com 'array_slice'Valores com 'in_array'Chaves com 'array_search'Recapitulação: Exercício de Playlist5Boletim de Alunos
Configuração do Projeto: Estrutura de DadosAdicionando um Novo AlunoAdicionando uma Nota a um AlunoCalculando a Média do AlunoEncontrando o Melhor AlunoGerando um Boletim3Ordenação de Arrays
Ordenar Arrays Indexados (Crescente)Ordenar Arrays Indexados (Decrescente)Ordenar Arrays Associativos por ValorOrdenar Arrays Associativos por ChaveOrdenação por Ordem NaturalOrdenação Personalizada com 'usort'Recapitulação: Ordenação de LeaderboardPratique por conta própria: Compilador de PHP online