Herausforderung: Summe von Zahlen
Teil des Abschnitts Grundlagen der Dart-Journey von Coddy. Lektion 93 von 94.
Aufgabe
EinfachIn dieser Herausforderung erstellst du eine Funktion, die die Summe von Zahlen in einer Liste anhand bestimmter Bedingungen berechnet.
Du hast eine Liste von Ganzzahlen und musst die Funktion sumWithCondition vervollständigen, die nur die Zahlen addiert, die bestimmte Kriterien erfüllen.
Die Funktion soll:
- Die Summe aller Zahlen in der Liste berechnen, die größer als der Wert
thresholdsind - Das Addieren von Zahlen sofort beenden, nachdem die Summe den Wert
maxSumüberschreitet (die endgültige Summe kann größer alsmaxSumsein) - Die endgültige Summe zurückgeben
Wichtig: Die Funktion beendet das Addieren von Zahlen nachdem sie eine Zahl addiert hat, durch die die Summe maxSum überschreitet. Das bedeutet, dass das Endergebnis größer als maxSum sein kann.
Beispiel: Wenn die Zahlen, die größer als threshold sind, [15, 20, 25, 30] lauten und maxSum 50 ist:
- 15 addieren: sum = 15 (fortfahren)
- 20 addieren: sum = 35 (fortfahren)
- 25 addieren: sum = 60 (überschreitet 50, daher hier anhalten)
- 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Übe selbstständig: Online-Dart-Compiler