Sfida: somma di numeri
Fa parte della sezione Fondamenti del percorso Dart di Coddy. Lezione 93 di 94.
Sfida
FacileIn questa sfida, creerai una funzione che calcola la somma dei numeri in una lista in base a determinate condizioni.
Hai una lista di numeri interi e devi completare la funzione sumWithCondition, che somma solo i numeri che soddisfano criteri specifici.
La funzione dovrebbe:
- Calcolare la somma di tutti i numeri nella lista maggiori del valore
threshold - Smettere di aggiungere numeri immediatamente dopo che la somma supera il valore
maxSum(la somma finale può essere maggiore dimaxSum) - Restituire la somma finale
Importante: La funzione smette di aggiungere numeri dopo aver aggiunto un numero che fa superare alla somma maxSum. Ciò significa che il risultato finale può essere maggiore di maxSum.
Esempio: Se i numeri maggiori di threshold sono [15, 20, 25, 30] e maxSum è 50:
- Aggiungi 15: somma = 15 (continua)
- Aggiungi 20: somma = 35 (continua)
- Aggiungi 25: somma = 60 (supera 50, quindi fermati qui)
- Risultato: 60 (non 50)
Provalo tu
void main() {
// Casos de prueba
List<int> numbers = [5, 10, 15, 20, 25, 30];
// Suma los números mayores que 12, con una suma máxima de 50
int result = sumWithCondition(numbers, 12, 50);
print('Sum of numbers > 12 (max 50): $result');
// Suma los números mayores que 8, con una suma máxima de 100
result = sumWithCondition(numbers, 8, 100);
print('Sum of numbers > 8 (max 100): $result');
}
// TODO: Completa esta función para sumar números según las condiciones
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
int sum = 0;
// TODO: Recorre la lista numbers
// TODO: Añade a sum solo los números mayores que threshold
// TODO: Deja de añadir si sum supera maxSum
return sum;
}Tutte le lezioni di Fondamenti
4Operatori - Parte 2
Operatori di confrontoAND logicoOR logicoNOT logicoOperatori di verifica del tipoRiepilogo - Effettuare confronti7Lavorare con le stringhe
Concatenazione di stringheInterpolazione di stringheStringhe multilineaProprietà delle stringheMetodi di base delle stringhe10Collezioni - Nozioni di base sulle mappe
Che cosa sono le mappe?Creare una mappaAccedere ai valori tramite chiaveCoppie chiave-valoreOttenere la dimensione della mappaOttenere le chiaviOttenere i valoriVerificare se una chiave esiste13Sicurezza sui valori null in dettaglio
Capire i valori nullTipi nullableTipi non nullableOperatore di asserzione nullInizializzazione tardivaRiepilogo - Gestire i valori null in sicurezza2Variabili e tipi di dati di base
Che cosa sono le variabili?StringheNumeri interi (int)Numeri double (double)Valori booleani (bool)Inferenza del tipo con 'var'Variabili finaliVariabili costantiConvenzioni di denominazioneNull safety di baseRiepilogo - Dichiarazione delle variabili8Flusso di controllo - Cicli
Il ciclo 'for'Il ciclo 'while'Il ciclo 'do-while'Uso di 'break' nei cicliUso di 'continue' nei cicliRipasso - Ripetere il codice3Operatori Parte 1
Operatori aritmeticiDivisione interaOperatore moduloIncremento e decrementoAbbreviazioni di assegnazioneRiepilogo - Calcoli semplici6Flusso di controllo - prendere decisioni
L'istruzione 'if'L'istruzione 'else'L'istruzione 'else if'Ripasso - decisioni sempliciIstruzioni 'if' annidateL'istruzione 'switch'9Collezioni - Fondamenti delle liste
Cosa sono le liste?Creare una listaAccedere tramite indiceOttenere la lunghezza di una listaAggiungere elementiRimuovere elementiVerificare se una lista è vuotaScorrere una lista12Funzioni avanzate
Parametri posizionali opzionaliParametri con nomeParametri con nome obbligatoriValori predefiniti dei parametriRiepilogo - Parametri delle funzioni15Progetto: Calcolatrice semplice
ConfigurazioneDichiarare un numeroEsercitati da solo: Compilatore Dart online