- Executores
-
Aprender
Aprender Python Exemplos executáveis, NumPy, pandas e mais Aprender IARedes neurais, ML e LLMs do zero Aprender C e C++ Ponteiros, memória, STL e C++ moderno Aprender C#Fundamentos, POO, LINQ, async e exercícios .NET Aprender MatplotlibGráficos de linha, barras, dispersão e pizza com visualizadores Algoritmos em Python Busca, ordenação, recursão e visualizações O(n) Algoritmos em C e C++ Compare implementações em C e C++ Programação para crianças Aprenda a programar brincando!
- DesafiosNovo
- Para professoresNovo
- Atualizações
- Me pague um café
A descida de gradiente em mini-lotes é como quase toda rede neural é treinada: divida os dados em lotes pequenos e atualize os pesos após cada um.
Treine y = w × x + b no erro quadrático médio, começando com w = 0 e b = 0. A cada época, divida os exemplos em ordem em lotes de batch_size (o último lote pode ser menor). Para cada lote de tamanho n:
- errorᵢ = w × xᵢ + b - yᵢ para cada exemplo do lote
- dw = (2 / n) × Σ errorᵢ × xᵢ e db = (2 / n) × Σ errorᵢ
- w ← w - learning_rate × dw e b ← b - learning_rate × db
Implemente train_mini_batch(xs, ys, batch_size, learning_rate, epochs).
Entrada
xs, ys: Os pontos de dados (mesmo comprimento).
batch_size: Exemplos por lote.
learning_rate, epochs: O tamanho do passo e o número de passagens pelos dados.
Saída
Retorne [w, b] após o treinamento.
Restrições
1 ≤ número de pontos ≤ 1.000, 1 ≤ batch_size ≤ número de pontos, 0 ≤ epochs ≤ 1.000
0 < learning_rate ≤ 1
-100 ≤ cada valor ≤ 100
Exemplos
Exemplo 1
Entrada:
xs = [1.0, 2.0, 3.0]
ys = [2.0, 4.0, 6.0]
batch_size = 2
learning_rate = 0.1
epochs = 1
Saída esperada:
[2.44, 1.08]
Explicação
O lote 1 é x = [1, 2]: erros -2 e -4, dw = -10, db = -6, então w = 1 e b = 0.6. O lote 2 é x = [3] sozinho: erro 1×3 + 0.6 - 6 = -2.4, dw = 2 × (-2.4) × 3 = -14.4 e db = -4.8, então w = 2.44 e b = 1.08. Resultado: [2.44, 1.08].
Exemplo 2
Entrada:
xs = [1.0, 2.0, 3.0, 4.0]
ys = [3.0, 5.0, 7.0, 9.0]
batch_size = 4
learning_rate = 0.05
epochs = 1
Saída esperada:
[1.75, 0.6]
Explicação
Um lote do tamanho do conjunto de dados é a descida de gradiente em lote comum: uma atualização por época. Resultado: [1.75, 0.6].
Referências
-
Exemplo 1 Não executadoEntrada:
xs = [1.0, 2.0, 3.0] ys = [2.0, 4.0, 6.0] batch_size = 2 learning_rate = 0.1 epochs = 1Saída esperada:[2.44, 1.08]Sua saída -
Exemplo 2 Não executadoEntrada:
xs = [1.0, 2.0, 3.0, 4.0] ys = [3.0, 5.0, 7.0, 9.0] batch_size = 4 learning_rate = 0.05 epochs = 1Saída esperada:[1.75, 0.6]Sua saída
4 testes ocultos também serão executados ao enviar. Se seu código falhar em um, você verá esse teste. Resolva o desafio para ver todos.
Online Kotlin Compiler
Write, compile, run, and debug Kotlin code online in a full-featured browser IDE. Work with multiple files, save your workspace, and collaborate in real time.
🚀 71,457 execuções totais (576 este mês)
Pratique Kotlin com desafios de código
Resolva problemas práticos direto neste editor: rode os testes de exemplo, envie sua solução e receba uma revisão de código por IA.
🧩 Sobre este Executor de Kotlin Online
O CodeUtility Kotlin Executor permite escrever, compilar e executar código Kotlin diretamente no seu navegador - sem precisar de instalação, IDE ou configuração de SDK. Ele usa compiladores Kotlin reais executando em sandboxes isoladas para uma experiência de execução segura e autêntica.
Esta ferramenta suporta várias versões do Kotlin - 1.6, 1.9 e 2.1 - para que você possa explorar atualizações de sintaxe, testar compatibilidade de código e experimentar recursos modernos da linguagem como corrotinas, classes de dados e interfaces seladas.
É ideal para estudantes aprendendo o básico de Kotlin, desenvolvedores Android experimentando trechos de código, ou engenheiros de backend testando lógica num ambiente JVM sem sair do navegador.
O ambiente executa cada snippet dentro de um runtime conteinerizado seguro, garantindo desempenho consistente e execução de código segura.
Mais do que um executor de código
Use no mesmo executor um editor de vários arquivos, um terminal de execução isolado, bibliotecas específicas do ambiente, espaços de trabalho persistentes, compartilhamento e colaboração em tempo real.
Como usar este executor?
Escolha um ambiente de execução, abra ou crie um arquivo, escreva o código e selecione Executar. A saída aparece no terminal; usuários conectados podem manter arquivos em um espaço de trabalho, instalar bibliotecas e colaborar por meio de compartilhamentos.
- Selecione uma versão e edite o arquivo atual ou abra outro arquivo do espaço de trabalho.
- Execute o código, forneça dados no terminal quando solicitado e consulte o histórico de execuções salvo.
- Use bibliotecas, ferramentas do espaço de trabalho, compartilhamento e chat quando a tarefa exigir mais de um trecho de código.
💡 Guia de Fundamentos de Kotlin para Principiantes
1. Declarando Variáveis e Constantes
Kotlin usa val para variáveis imutáveis e var para mutáveis.
val name: String = "Alice"
var age: Int = 30
val pi = 3.14 // tipo inferido
// Constantes
const val MAX_USERS = 100
2. Condicionais (if / when)
Use expressões if ou when para múltiplos ramos.
val x = 2
if (x == 1) {
println("Um")
} else if (x == 2) {
println("Dois")
} else {
println("Outro")
}
when (x) {
1 -> println("Um")
2 -> println("Dois")
else -> println("Outro")
}
3. Laços
Use for, while e do-while para iteração.
for (i in 0..2) {
println(i)
}
var n = 3
while (n > 0) {
println(n)
n--
}
4. Arrays
O Kotlin suporta arrays usando a função arrayOf().
val numbers = arrayOf(10, 20, 30)
println(numbers[1])
5. Manipulação de Listas
Use mutableListOf para listas dinâmicas.
val nums = mutableListOf(1, 2, 3)
nums.add(4)
nums.removeAt(0)
for (n in nums) {
print("$n ")
}
6. Entrada/Saída na Consola
Use readLine() para entrada e println() para saída.
print("Introduza o seu nome: ")
val name = readLine()
println("Olá, $name")
7. Funções
Funções usam a palavra‑chave fun com tipo de retorno opcional.
fun add(a: Int, b: Int): Int {
return a + b
}
println(add(3, 4))
8. Maps
mutableMapOf armazena pares chave-valor.
val ages = mutableMapOf("Alice" to 30)
println(ages["Alice"])
9. Tratamento de Exceções
Use try, catch e finally para lidar com erros.
try {
val result = 10 / 0
} catch (e: ArithmeticException) {
println("Erro: ${e.message}")
}
10. Entrada/Saída de Ficheiros
Utilize File de java.io para operações com ficheiros.
import java.io.File
File("file.txt").writeText("Olá Ficheiro")
val text = File("file.txt").readText()
println(text)
11. Manipulação de Strings
Strings em Kotlin suportam muitos métodos e interpolação.
val text = "Olá Mundo"
println(text.length)
println(text.substring(0, 5))
println(text.contains("World"))
12. Classes e Objetos
As classes em Kotlin são concisas e suportam construtores por omissão.
class Person(val name: String) {
fun greet() = println("Olá, eu sou $name")
}
val p = Person("Alice")
p.greet()
13. Segurança de Nulos
O Kotlin distingue tipos anuláveis e não anuláveis. Use ? e ?: para segurança.
val name: String? = null
println(name?.length ?: 0)