Herausforderung: Summe von Zahlen
Teil des Abschnitts Grundlagen der Dart-Journey von Coddy — Lektion 93 von 94.
Aufgabe
EinfachIn dieser Herausforderung erstellen Sie eine Funktion, die die Summe von Zahlen in einer Liste basierend auf bestimmten Bedingungen berechnet.
Sie haben eine Liste von Ganzzahlen und müssen die sumWithCondition-Funktion vervollständigen, die nur die Zahlen addiert, die bestimmte Kriterien erfüllen.
Die Funktion sollte:
- Die Summe aller Zahlen in der Liste berechnen, die größer als der
threshold-Wert sind - Das Hinzufügen von Zahlen sofort stoppen, nachdem die Summe den
maxSum-Wert überschreitet (die endgültige Summe kann größer alsmaxSumsein) - Die endgültige Summe zurückgeben
Wichtig: Die Funktion stoppt das Hinzufügen von Zahlen nach dem Hinzufügen einer Zahl, die die Summe über maxSum hinausgehen lässt. Das bedeutet, dass das Endergebnis größer als maxSum sein kann.
Beispiel: Wenn Zahlen größer als threshold [15, 20, 25, 30] sind und maxSum 50 beträgt:
- 15 hinzufügen: sum = 15 (fortsetzen)
- 20 hinzufügen: sum = 35 (fortsetzen)
- 25 hinzufügen: sum = 60 (überschreitet 50, also hier stoppen)
- Ergebnis: 60 (nicht 50)
Probier es selbst
void main() {
// Testfälle
List<int> numbers = [5, 10, 15, 20, 25, 30];
// Summiere Zahlen größer als 12, mit maximaler Summe von 50
int result = sumWithCondition(numbers, 12, 50);
print('Sum of numbers > 12 (max 50): $result');
// Summiere Zahlen größer als 8, mit maximaler Summe von 100
result = sumWithCondition(numbers, 8, 100);
print('Sum of numbers > 8 (max 100): $result');
}
// TODO: Vervollständige diese Funktion, um Zahlen basierend auf Bedingungen zu summieren
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
int sum = 0;
// TODO: Durchlaufe die Liste der Zahlen
// TODO: Füge nur Zahlen größer als threshold zur Summe hinzu
// TODO: Stoppe das Hinzufügen, wenn sum maxSum überschreitet
return sum;
}Alle Lektionen in Grundlagen
4Operatoren Teil 2
VergleichsoperatorenLogischer UNDLogischer ODERLogischer NICHTTypprüfoperatorenZusammenfassung - Vergleiche durchführen7Arbeiten mit Strings
String-KonkatenationString-InterpolationMehrzeilige StringsString-EigenschaftenGrundlegende String-Methoden10Sammlungen - Grundlagen von Maps
Was sind Maps?Eine Map erstellenWerte per Schlüssel abrufenSchlüssel-Wert-PaareGröße einer Map ermittelnSchlüssel abrufenWerte abrufenPrüfen, ob ein Schlüssel existiert13Null-Sicherheit im Detail
Null verstehenNullable-TypenNon-Nullable-TypenNull-Assertion-OperatorLate-InitialisierungZusammenfassung - Null sicher handhaben16Grundlagenherausforderungen
Herausforderung: Liste von BerechnungenHerausforderung: Summe von ZahlenHerausforderung: Produkt finden2Variablen und grundlegende Datentypen
Was sind Variablen?StringsGanzzahlen (int)Gleitkommazahlen (double)Boolesche Werte (bool)Typinferenz mit 'var'Finale VariablenKonstante VariablenNamenskonventionenGrundlegende Null-SicherheitZusammenfassung - Variablen deklarieren8Kontrollfluss - Schleifen
Die 'for'-SchleifeDie 'while'-SchleifeDie 'do-while'-Schleife'break' in Schleifen verwenden'continue' in Schleifen verwendenZusammenfassung - Code wiederholen3Operatoren Teil 1
Arithmetische OperatorenGanzzahldivisionModulo-OperatorInkrement und DekrementZuweisungsabkürzungenZusammenfassung - Einfache Berechnungen6Steuerfluss - Entscheidungen
Die 'if'-AnweisungDie 'else'-AnweisungDie 'else if'-AnweisungZusammenfassung - Einfache EntscheidungenVerschachtelte 'if'-AnweisungenDie 'switch'-Anweisung9Sammlungen – Listen-Grundlagen
Was sind Listen?Eine Liste erstellenZugriff per IndexListenlänge ermittelnElemente hinzufügenElemente entfernenPrüfen, ob eine Liste leer istÜber eine Liste iterieren12Erweiterte Funktionen
Optionale Positions-ParameterBenannte ParameterErforderliche benannte ParameterStandardwerte für ParameterZusammenfassung - Funktionsparameter15Projekt: Einfacher Rechner
EinrichtenZahl deklarieren