Calculadora de barco e corrente
Um barco que faz 10 em águas paradas com uma correnteza de 2 sobe o rio a 8 e desce a 12. Resolva o problema nos dois sentidos: pelas velocidades do barco e da correnteza, ou pelas de subida e descida. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Modo de cálculo
- A partir das velocidades do barco e da corrente
- Velocidade do barco em água parada
- 10
- Velocidade da corrente
- 2
- Velocidade contra a corrente
- 8
- Velocidade a favor da corrente
- 12
Converte entre a velocidade do barco em água parada, a da corrente e as velocidades a favor e contra a corrente. Grátis, determinística e privada no seu navegador. Sem conta.
Como as velocidades de barco e corrente se relacionam
Nos problemas clássicos de raciocínio quantitativo um barco se move em água parada com velocidade b enquanto uma corrente flui com velocidade s. Quando o barco sobe o rio, contra a corrente, a velocidade efetiva é b menos s; quando desce o rio as velocidades se somam e a efetiva é b mais s. O problema inverso parte das velocidades medidas a favor e contra, u e d, e recupera a do barco como a média e a da corrente como a metade da diferença.
Cada entrada deve ser um número finito; o barco deve ser estritamente positivo, a corrente não negativa e, no modo direto, o barco deve superar a corrente para que a velocidade a favor da subida continue positiva. No modo inverso, tanto a subida quanto a descida devem ser positivas e a descida deve superar a subida.
Entradas, saídas e contratos estáveis
Os campos obrigatórios dependem do modo. Camadas de apresentação podem converter cadeias numéricas do formulário antes de chamar solve, mas o núcleo nunca converte lixo em NaN em silêncio. Mensagens de erro usam substrings estáveis em inglês que o harness casa nos dourados de erro.
Objetos vazios, faixas contraditórias e valores não finitos são rejeitados cedo. Revise os três exemplos dourados antes de integrar: sucesso direto com barco dez e corrente dois, recuperação inversa dos mesmos números e um caso rejeitado em que a corrente supera o barco.
Casos limite, uso didático e limites
Exige barco mais rápido que a corrente para a subida permanecer positiva no sentido direto. Corrente zero é permitida e iguala subida e descida ao barco. Velocidades negativas são rejeitadas.
Um professor pode percorrer com a turma o caso de água parada dez com corrente dois até subida oito e descida doze, e inverter o par para recuperar os originais. Scripts de automação chamam a mesma função pura sem instalar planilha. Resultados estáveis entre navegador e borda porque o arredondamento está documentado e é compartilhado.
Autor samurai no atelier KIT.
Casos de uso
Tarefas e exames
Confira problemas clássicos de barco e corrente com respostas estáveis e reproduzíveis.
Automação
Chame a mesma função pura a partir de scripts sem instalar planilha nem CAS.
Perguntas frequentes
É grátis?
Sim. O nível A roda por completo no seu navegador sem conta.
Chama a rede?
Não. O motor parse mantém o cálculo no dispositivo.
Os resultados são estáveis?
Sim. Matemática determinística e exemplos dourados congelam o contrato.
Como acho a velocidade do barco em águas paradas a partir das velocidades rio acima e rio abaixo?
Tire a média das duas. Com 8 rio acima e 12 rio abaixo, o barco faz 10 em águas paradas, e a correnteza é metade da diferença entre elas, ou seja, 2.
Por que o barco precisa ser mais rápido que a correnteza?
Porque rio acima a correnteza é subtraída da velocidade do barco. Se ela fosse igual ou mais rápida, a velocidade rio acima seria zero ou negativa e o barco não avançaria, o que o problema clássico não permite.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/math/boat-stream \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"from_boat_stream","boat":1}'const res = await fetch("https://api.kit.forhosting.com/math/boat-stream", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "from_boat_stream",
"boat": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/boat-stream",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "from_boat_stream",
"boat": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/boat-stream", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"from_boat_stream","boat":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"from_boat_stream","boat":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/boat-stream", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"mode": "from_boat_stream",
"boat": 1
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.boat_stream",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Como as velocidades de barco e corrente se relacionam
A função pura solve aceita qualquer um dos dois modos e devolve um único payload com boat, stream, upstream e downstream para que os clientes não adivinhem quais campos estão presentes. Tipos incorretos, campos ausentes e combinações fora da faixa viram erros invalid_input claros em vez de NaN silenciosos. A mesma aritmética pura roda sem rede no navegador sob o motor parse e na rota de API.
Entradas, saídas e contratos estáveis
Em from_boat_stream você informa boat e stream; em from_up_down informa upstream e downstream. O modo opcional usa from_boat_stream por padrão se for omitido. O payload de sucesso sempre ecoa o modo e os quatro campos de velocidade.
Casos de integração
Demonstrações didáticas
Mostre exemplos resolvidos com fixtures dourados que batem com o widget e a API.
Perguntas técnicas
E se a entrada for inválida?
Você recebe invalid_input com mensagem clara em inglês.
Quem é o autor desta capacidade?
samurai no atelier KIT da ForHosting.