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 administre una canalización de procesamiento de datos realizando varias operaciones sobre una lista de números en secuencia. Tu programa debe:
- Leer una entrada de tipo cadena que represente el nombre del conjunto de datos
- Leer varias entradas enteras 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, después usar removeWhere() para eliminar los números negativos, luego sort() la lista y, finalmente, comprobar si la lista isEmpty. Muestra «La lista está vacía» si la lista final no tiene elementos, o «La lista no está vacía» 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 únicaPractica por tu cuenta: Compilador de Dart online