Resumen - Iterando sobre datos
Parte de la sección Fundamentos del Journey de PHP de Coddy — lección 53 de 71.
Desafío
FácilLee tres líneas de entrada:
- Una lista separada por comas de enteros (p. ej.,
12,5,8,20,3,15,7) - Un valor de umbral mínimo
- Un valor de umbral máximo
Procesa el arreglo para encontrar la suma de todos los números que caen dentro del rango (incluyendo tanto el mínimo como el máximo). Usa continue para omitir números fuera del rango. Además, si encuentras un número que es exactamente el doble del umbral máximo, detén el procesamiento inmediatamente usando break.
Imprime dos líneas:
- La suma de los números válidos dentro del rango
- El conteo de números que se agregaron a la suma
Ejemplo 1:
Si las entradas son 5,12,8,20,15,3,10, 5 y 15, la salida debería ser:
50
5(5 + 12 + 8 + 15 + 10 = 50, cinco números están dentro del rango 5-15)
Ejemplo 2:
Si las entradas son 2,8,12,20,6,14, 5 y 10, la salida debería ser:
8
1(El procesamiento se detiene en 20 porque es el doble del máximo de 10; solo se agregó 8 antes de ese punto, por lo que la suma es 8 y el conteo es 1)
Ejemplo 3:
Si las entradas son 1,2,3,4,5, 10 y 20, la salida debería ser:
0
0(Ningún número cae dentro del rango 10-20)
Pruébalo tú mismo
<?php
// Leer entrada
$numbers = explode(',', trim(fgets(STDIN)));
$min = intval(trim(fgets(STDIN)));
$max = intval(trim(fgets(STDIN)));
// Inicializar variables
$sum = 0;
$count = 0;
// TODO: Escribe tu código aquí
// Recorrer el array de números
// Usa 'continue' para omitir números fuera del rango (min a max inclusive)
// Usa 'break' si encuentras un número exactamente el doble del umbral máximo
// Llevar registro de la suma y el conteo de números válidos
// Mostrar los resultados
echo $sum . "\n";
echo $count;
?>Todas las lecciones de Fundamentos
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions8Bucles
Bucle forBucle whileBucle foreachBucles con claves y valoresSentencia breakSentencia continueResumen - Iterando sobre datos3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators