logicabr.dev

Referência de Sintaxe

Tipos de Dados

numero
(1, -5, 0)
moeda
(10.50)
texto
("Olá")
caracter
('A')
logico
(verdadeiro / falso)
vetor
([10, 20, 30])
registro
({ nome: "Ana" })
tipo nome[n]
(vetor tipado)
tipo nome[r][c]
(matriz tipada)

Estrutura de Dados: Vetores

Um vetor permite guardar vários valores em uma única variável, acessando-os por um índice (começando em 0).

vetor notas = [8, 5, 9]; saida(notas[0]); // Exibe 8 notas[1] = 10; // Muda o segundo item

Vetores e Matrizes Tipados

Use o tipo antes do nome seguido de [tamanho] para criar um vetor tipado com validação automática. Para matrizes use [linhas][colunas].

// Vetor tipado — 5 números, inicializados com 0 numero notas[5]; // Vetor com valores iniciais numero pesos[3] = [70, 85, 60]; saida(pesos[0]); // 70 // Matriz tipada — 3 linhas × 4 colunas, inicializada com 0 numero tabela[3][4]; tabela[0][2] = 99; // Linha 0, coluna 2 // Matriz com valores iniciais numero grade[2][2] = [[1, 2], [3, 4]]; saida(grade[1][0]); // 3

Registros (campos nomeados)

Um registro agrupa dados de uma mesma coisa em campos com nome. Leia e altere cada campo com o ponto (.). Para guardar vários registros, use um vetor e preencha uma posição por linha.

registro produto = { codigo: 101, nome: "Teclado", preco: 249.90 }; produto.preco = 199.90; // altera um campo saida(produto.nome + " - R$ " + produto.preco); // Vários registros: um por posição do vetor vetor alunos = []; alunos[0] = { nome: "Ana", nota: 9.5 }; alunos[1] = { nome: "Caio", nota: 7.0 }; saida(alunos[1].nome); // Caio

Cada declaração fica em uma única linha. Listas longas são montadas posição por posição, como acima.

Entrada e Saída

Lê textos do usuário e imprime na tela.

texto nome = entrada("Qual seu nome?"); saida("Olá " + nome);

Decisão (Se / Senão)

Executa blocos diferentes com base em uma condição.

numero id = 18; se (id >= 18) { saida("Maior"); } senao { saida("Menor"); }

Laço: Enquanto

Repete um bloco enquanto a condição for verdadeira.

numero i = 0; enquanto (i < 5) { saida(i); i++; }

Laço: Para

Repete por um intervalo específico de valores (inclusivo).

para i de 1 ate 5 { saida("Contagem: " + i); }

Quantidade de itens (Tamanho)

Para saber quantos elementos existem em um vetor, use a função tamanho().

vetor frutas = ["maçã", "banana", "uva"]; numero qtd = tamanho(frutas); saida("O vetor tem " + qtd + " itens"); // Exibe 3

Algoritmos de Ordenação: Bubble Sort

Bubble Sort (O "Bolinha"): Faz os maiores valores "subirem" como bolhas até o final da lista. É um dos algoritmos mais simples de entender.

funcao bubble(arr, n) { para (numero i = 0; i < n; i++) { para (numero j = 0; j < n - i - 1; j++) { se (arr[j] > arr[j+1]) { numero aux = arr[j]; arr[j] = arr[j+1]; arr[j+1] = aux; } } } retorno arr; }

Algoritmos de Ordenação: Selection Sort

Selection Sort (Seleção): Em cada passo, ele seleciona o menor item restante e o coloca na próxima posição livre.

funcao selecao(arr, n) { para (numero i = 0; i < n - 1; i++) { numero min = i; para (numero j = i + 1; j < n; j++) { se (arr[j] < arr[min]) { min = j; } } numero aux = arr[min]; arr[min] = arr[i]; arr[i] = aux; } retorno arr; }

Por que ordenar? A ordenação permite buscas binárias (muito rápidas) e organiza dados para relatórios e inteligência artificial.

Funções

Reutiliza blocos lógicos. Podem receber ou não parâmetros.

funcao somar(a, b) { retorno a + b; } numero tot = somar(5, 5);

Bibliotecas (inclua)

Importa código salvo em outra aba para uso modular.

inclua mat // Importa aba 'mat' numero r = mat.calc(10);