Rohre- und Zisternen-Rechner kostenlos online
Zwei Rohre, die einen Tank in 4 und 6 Stunden füllen, schaffen es gemeinsam in 2,4 Stunden. Geben Sie an, wie lange jeder Zulauf zum Füllen und jeder Abfluss zum Leeren braucht, und erhalten Sie Nettorate, benötigte Zeit und Status. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Zulaufrohre (Stunden je Rohr, allein)
- 4, 6
- Nettorate (Beckenanteil pro Stunde)
- 0,4166666667
- Stunden bis voll
- 2,4
- Status
- Füllt sich
Netto-Füllrate für Tanks mit Zulaufrohren und Abläufen; Stunden zum Füllen oder Leeren. Kostenlos, deterministisch und privat in Ihrem Browser.
So funktionieren Zu- und Abflussaufgaben
Diese klassischen Aufgaben behandeln den vollen Tank als eine Arbeitseinheit. Ein Rohr, das ihn allein in H Stunden füllen würde, liefert pro Stunde 1/H des Tanks, ein Abfluss, der ihn in H Stunden leeren würde, nimmt pro Stunde 1/H weg. Die Summe aller vorzeichenbehafteten Raten ist die Nettorate. Bei Zuläufen von 4 und 6 Stunden beträgt sie etwa 0,4166666667 Tank pro Stunde, und eins geteilt durch diese Rate ergibt 2,4 Stunden bis voll. Eine negative Nettorate heißt, dass der Tank sich leert.
Das Ergebnis lesen und die klassische Falle vermeiden
Der Status zeigt sofort, ob der Tank sich füllt, leert oder stillsteht, was geschieht, wenn sich Zu- und Abfluss aufheben. Angezeigt wird nur die passende Zeit: die Stunden bis voll beim Füllen, die Stunden bis leer beim Leeren. Die klassische Falle ist, Zeiten zu addieren oder zu mitteln, etwa 4 und 6 Stunden als 10 oder 5; addiert werden die Raten, nicht die Zeiten. Geben Sie alle Zuläufe und Abflüsse der Aufgabe in derselben Zeiteinheit ein.
Eingaben und Ausgaben
Eine einzelne Zahl wird akzeptiert und der Bequemlichkeit halber als Einelement-Liste umhüllt. Mindestens eines der beiden Felder muss mit mindestens einem Eintrag vorhanden sein; eine leere Anfrage wird früh abgelehnt. Fehlermeldungen nutzen stabile englische Teilzeichenketten für den Test-Harness.
Eingaben werden vor jeder Arithmetik geprüft. Numerische Ausgaben nutzen dokumentiertes Runden für Stabilität über Läufe und Kanäle hinweg.
Anwendungsfälle
Hausaufgaben und Prüfungen
Prüfen Sie klassische quantitative Aufgaben mit stabilen, reproduzierbaren Antworten.
Automatisierung
Rufen Sie dieselbe reine Funktion aus Skripten auf, ohne Tabellenkalkulation oder CAS zu installieren.
Häufige Fragen
Ist das kostenlos?
Ja. Stufe A läuft vollständig in Ihrem Browser ohne Konto.
Sind die Ergebnisse stabil?
Ja. Deterministische Mathematik und goldene Beispiele fixieren den Vertrag.
Wie wird ein Abfluss berücksichtigt?
Als negative Rate. Ein Abfluss, der den vollen Tank in H Stunden leeren würde, nimmt pro Stunde 1/H des Tanks weg und geht mit Minuszeichen zusammen mit den Zuläufen in die Nettorate ein.
Was bedeutet es, wenn der Tank stillsteht?
Zufluss und Abfluss heben sich auf: Die Nettorate ist praktisch null, und der Füllstand bewegt sich in keine Richtung. Dann gibt es weder eine Füll- noch eine Leerzeit, die angezeigt werden könnte.
Warum addiert man Raten und nicht Stunden?
Weil jedes Rohr pro Stunde einen Bruchteil des Tanks beiträgt, und diese Bruchteile addieren sich. Stunden zu addieren oder zu mitteln, etwa 4 und 6 als 10 oder 5, ist falsch; richtig sind 2,4 Stunden.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/math/pipes-cisterns \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fill_hours":[1],"empty_hours":[1]}'const res = await fetch("https://api.kit.forhosting.com/math/pipes-cisterns", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fill_hours": [
1
],
"empty_hours": [
1
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/pipes-cisterns",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fill_hours": [
1
],
"empty_hours": [
1
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/pipes-cisterns", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fill_hours":[1],"empty_hours":[1]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fill_hours":[1],"empty_hours":[1]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/pipes-cisterns", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"fill_hours": [
1
],
"empty_hours": [
1
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.pipes_cisterns",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Ohne Konto. Der API-Pfad beginnt bei $0.002.
So funktioniert das Modell
Klassische Rohr- und Zisternenaufgaben behandeln den vollen Tank als eine Arbeitseinheit. Jedes Zulaufrohr, das den Tank allein in H Stunden füllen würde, trägt eine positive Rate von eins durch H Tankanteilen pro Stunde bei. Jeder Ablauf, der denselben vollen Tank in H Stunden leeren würde, trägt eine negative Rate von eins durch H bei. Die vorzeichenbehaftete Netto-Rate entscheidet: positiv bedeutet Füllen, negativ Leeren, und eine nahezu null Rate bedeutet Stillstand ohne Fortschritt. Sie können mehrere Zuläufe unter fill_hours und mehrere Abläufe unter empty_hours auflisten; der Löser summiert jeden Kehrwert. Ist die Netto-Rate positiv, ist hours_to_fill eins geteilt durch diese Rate; ist sie negativ, ist hours_to_empty eins geteilt durch den Absolutwert. Diese reine Arithmetik ist vollständig deterministisch und läuft kostenlos im Browser mit derselben reinen Funktion wie der API-Pfad. Eingaben werden vor jeder Rechnung geprüft, damit falsche Typen und Werte außerhalb des Bereichs zu klaren invalid_input-Fehlern werden statt stiller NaN-Ergebnisse.
Eingaben und Ausgaben
Geben Sie fill_hours und empty_hours als Arrays positiver Zahlen an, oder lassen Sie eine Seite weg, wenn nur Zuläufe oder nur Abläufe gelten. Bei Erfolg enthält die Nutzlast immer net_rate_per_hour, hours_to_fill, hours_to_empty und status, damit Clients UI-Kennzahlen binden können, ohne Feldnamen zu raten. status ist filling, emptying oder stalled. hours_to_fill ist null, wenn der Tank nicht füllt; hours_to_empty ist null, wenn er nicht leert. Die Implementierung ist vollständig deterministisch und läuft kostenlos im Browser mit derselben reinen Funktion wie der API-Pfad.
Grenzfälle und Grenzen
Prüfen Sie die goldenen Beispiele für die kanonischen Erfolgswege und den Fehlerweg für eine nicht positive Füllzeit. Die Implementierung ist vollständig deterministisch und läuft kostenlos im Browser. Jeder Stundenwert muss eine endliche Zahl strikt größer als null sein; null, negative oder nicht numerische Einträge scheitern mit invalid_input. Gleiche entgegengesetzte Raten liefern status stalled mit net_rate_per_hour null und beiden Stundenfeldern null, ohne durch null zu teilen. Extrem große Zwischenwerte, die IEEE-754 überlaufen, werden zu einem Außer-Bereich-Fehler statt zu Nullfeldern.
Integrationsbeispiele
Lehrdemos
Zeigen Sie durchgerechnete Beispiele mit goldenen Fixtures, die zum kostenlosen Widget und zur API passen.
Technische Fragen
Ruft es das Netzwerk auf?
Nein. Die Parse-Engine hält im kostenlosen Widget alles geräteintern.
Was, wenn die Eingabe ungültig ist?
Sie erhalten invalid_input mit einer klaren englischen Meldung.
Wer ist Autor dieser Kapazität?
abuela in der ForHosting-KIT-Werkstatt.