Resumen - Organizador de listas
Parte de la sección Lógica y Flujo del Journey de Dart de Coddy — lección 9 de 65.
Desafío
FácilCrea un programa que gestione un flujo de procesamiento de datos realizando múltiples operaciones en una lista de números en secuencia. Tu programa debe:
- Leer una entrada de cadena que represente el nombre del conjunto de datos
- Leer múltiples entradas de números enteros que representen los valores de datos originales (la entrada terminará cuando recibas
-999) - Insertar el valor
100al principio de la lista (posición 0) - Eliminar todos los números negativos de la lista usando
removeWhere() - Ordenar los números restantes en orden ascendente usando
sort() - Comprobar si la lista final está vacía usando
isEmpty - Imprimir los resultados del procesamiento de datos en el formato exacto que se muestra a continuación
Por ejemplo, si el nombre del conjunto de datos es "Sales Data" y los valores son 45, -12, 78, -5, 23, tu programa debería mostrar:
Dataset: Sales Data
Original data: [45, -12, 78, -5, 23]
Step 1: Inserted 100 at beginning
After insertion: [100, 45, -12, 78, -5, 23]
Step 2: Removed negative numbers
After removal: [100, 45, 78, 23]
Step 3: Sorted in ascending order
After sorting: [23, 45, 78, 100]
Final result: List is not empty
Processing complete: 4 values remainingSi el nombre del conjunto de datos es "Temperature Readings" y los valores son -10, -5, -20, tu programa debería mostrar:
Dataset: Temperature Readings
Original data: [-10, -5, -20]
Step 1: Inserted 100 at beginning
After insertion: [100, -10, -5, -20]
Step 2: Removed negative numbers
After removal: [100]
Step 3: Sorted in ascending order
After sorting: [100]
Final result: List is not empty
Processing complete: 1 values remainingSi el nombre del conjunto de datos es "Error Values" y el único valor es -50, tu programa debería mostrar:
Dataset: Error Values
Original data: [-50]
Step 1: Inserted 100 at beginning
After insertion: [100, -50]
Step 2: Removed negative numbers
After removal: [100]
Step 3: Sorted in ascending order
After sorting: [100]
Final result: List is not empty
Processing complete: 1 values remainingTu programa debe realizar todas las operaciones en la secuencia exacta especificada: primero insert() el valor 100 en la posición 0, luego usa removeWhere() para eliminar los números negativos, después sort() la lista y finalmente comprueba si la lista isEmpty. Muestra "List is empty" si la lista final no tiene elementos, o "List is not empty" si contiene elementos.
Pruébalo tú mismo
import 'dart:io';
void main() {
// Leer el nombre del conjunto de datos
String? datasetName = stdin.readLineSync();
// Leer números hasta que se encuentre -999
List<int> originalData = [];
while (true) {
int? number = int.parse(stdin.readLineSync()!);
if (number == -999) {
break;
}
originalData.add(number);
}
// Imprimir información inicial
print('Dataset: $datasetName');
print('Original data: $originalData');
// TODO: Escribe tu código a continuación
// 1. Insertar 100 al principio (posición 0)
// 2. Eliminar todos los números negativos usando removeWhere()
// 3. Ordenar la lista en orden ascendente usando sort()
// 4. Comprobar si la lista está vacía usando isEmpty
// 5. Imprimir los resultados en el formato requerido
}Todas las lecciones de Lógica y Flujo
1Manipulación avanzada de listas
Propiedades de listas: first y lastEstado de la lista: isEmpty y isNotEmptyInvertir una listaAñadir a una lista: insertEliminación en listas: removeWhereBúsqueda en una lista: indexOfOrdenar una listaMezclar una listaResumen - Organizador de listas4Manipulación avanzada de mapas
Iterar sobre un mapaComprobación de claves y valoresPropiedades del mapa: keys y valuesAdición condicional: putIfAbsentEliminar entradas de un mapaMapas anidadosResumen - Actualización de inventario2Operaciones funcionales con listas
Transformar con 'map'Filtrar con 'where'Uso de '.toList()'Comprobar condiciones con 'any'Condiciones con 'every'Búsqueda con 'firstWhere'Resumen - Filtrado de datos5Proyecto: Calculadora de carrito de compras
Configuración del proyectoAgregar artículos al carrito3Conjuntos
¿Qué es un Conjunto?Crear un ConjuntoAñadir y eliminar elementos de un ConjuntoComprobar elementos en un ConjuntoConvertir una lista en un ConjuntoUnión de ConjuntosIntersección de ConjuntosDiferencia de ConjuntosResumen - Lista de invitados única