Código que podes executar
Exemplos de Python, C, C++, Java, Haskell, Prolog, PHP e SQL. Pré-visualizações web, DartPad e Ripes.
Nesta página
Muda o código e carrega em Executar, ou usa Ctrl+Enter (⌘+Enter no Mac). O primeiro arranque descarrega o motor da linguagem. Os editores de código correm no teu navegador. O DartPad, mais abaixo, usa um serviço de compilação externo.
Python
Este programa soma os primeiros cinco números naturais. Muda o limite do range e compara o resultado.
numeros = range(1, 6)
print(sum(numeros))Dados de entrada
C
printf escreve o resultado. Aqui, o ciclo soma os números de 1 a 5 e mostra 15.
#include <stdio.h>
int main(void) {
int soma = 0;
for (int n = 1; n <= 5; n++) soma += n;
printf("%d\n", soma);
return 0;
}Dados de entrada
C++
Os dados de entrada já contêm o número 5. O programa lê esse número e calcula o quadrado. Podes mudar ambos antes de executar.
#include <iostream>
int main() {
int n;
std::cin >> n;
std::cout << n * n << "\n";
}Dados de entrada
Java
Usa a classe Main como ponto de entrada. Este exemplo conta os elementos de uma lista.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
java.util.List<String> nomes = Arrays.asList("Ana", "Rui", "Inês");
System.out.println(nomes.size());
}
}Dados de entrada
JavaScript
Aqui, filter guarda os números pares. Este editor executa JavaScript sem a página web. Para experimentar o DOM, usa o exemplo de HTML abaixo.
const numeros = [1, 2, 3, 4, 5, 6];
console.log(numeros.filter(n => n % 2 === 0).join(", "));Dados de entrada
SQL
Cada execução começa com uma base de dados vazia. Cria a tabela, insere os dados e faz a consulta no mesmo bloco.
CREATE TABLE notas (nome TEXT, valor INTEGER);
INSERT INTO notas VALUES ('Ana', 16), ('Rui', 14), ('Inês', 18);
SELECT nome, valor FROM notas WHERE valor >= 16;Dados de entrada
Haskell
filter even guarda os pares; map (^2) calcula os seus quadrados. O resultado é [4,16,36]. Muda a lista e volta a executar. Este motor usa GHC e aceita um programa com main, sem entrada interativa.
main :: IO ()
main = print (map (^2) (filter even [1..6]))Prolog
Os factos dizem quem é progenitor de quem. A regra avo liga duas gerações. findall junta as respostas numa lista, que aqui é [ana].
progenitor(ana, rui).
progenitor(rui, ines).
avo(X, Y) :- progenitor(X, Z), progenitor(Z, Y).
main :- findall(X, avo(X, ines), Avos), writeln(Avos).Dados de entrada
O motor é SWI-Prolog. O código comum funciona, mas as bibliotecas específicas de SICStus, usado em PFL, podem ser diferentes.
PHP
array_sum soma os valores do array. count conta-os. A divisão dá a média, 16.
<?php
$notas = [14, 16, 18];
echo array_sum($notas) / count($notas), "\n";Corpo do pedido
HTML, CSS e JavaScript
O botão muda o texto do parágrafo. Abre CSS e JavaScript para veres como. Carrega em Pré-visualizar depois de fazeres alterações.
CSS e JavaScript
Dart e Flutter
Para exemplos de ES, podes usar o DartPad. Abre o menu de exemplos do próprio editor para escolher Dart ou Flutter.
Assembly RISC-V
Este programa soma os números de 1 a 5 no registo t0 e mostra 15. addi incrementa o contador; ble repete o ciclo enquanto o contador não ultrapassar 5.
.text
.globl main
main:
li t0, 0
li t1, 1
li t2, 5
soma:
add t0, t0, t1
addi t1, t1, 1
ble t1, t2, soma
mv a0, t0
li a7, 1
ecall
li a0, 10
li a7, 11
ecall
li a7, 10
ecallDados de entrada
O editor usa RISC-V de 32 bits e as chamadas de sistema do RARS. ecall com a7 = 1 escreve um inteiro, a7 = 11 escreve um carácter e a7 = 10 termina. As chamadas de sistema são convenções do simulador, não instruções adicionais de RISC-V.
Para veres como cada instrução altera os registos e a memória, abre o Ripes e avança uma instrução de cada vez.
Usar numa página
Numa página MDX, importa CodePlayground.astro e passa a linguagem e o código. O campo input é opcional.
import CodePlayground from '../../../components/CodePlayground.astro';
<CodePlayground language="python" code={'print(2 + 3)'} />
Os exemplos servem para programas pequenos. Python inclui a biblioteca padrão, C usa C17, C++ usa C++17, Java usa Java 8 e PHP usa PHP 8.4. Estes editores não substituem o ambiente de uma cadeira: não incluem Minix, processos POSIX, MPI, Laravel ou pacotes de terceiros. O botão Parar termina a execução.