Atribuição: um padrão único e fácil de reconhecer
Em pseudocódigo essencial, atribuição é a operação de colocar um valor dentro de uma variável. Para evitar confusão com comparação, use um símbolo exclusivo de atribuição, como <- (recomendado) ou :=. O objetivo é que, ao bater o olho, fique claro o que é “guardar valor” e o que é “comparar valores”.
Sintaxe recomendada
- Atribuição:
variavel <- expressao - Alternativa equivalente:
variavel := expressao - Comparação (igualdade):
a = b(nunca use=para atribuir)
Exemplos diretos
idade <- 18
nome <- "Ana"
precoFinal <- precoBase + freteRepare que o lado esquerdo deve ser uma variável (ou posição em estrutura, como um índice), e o lado direito pode ser uma expressão.
Atualização de valores (sem atalhos dependentes de linguagem)
Em muitas linguagens existem atalhos como i++, i--, +=. Em pseudocódigo essencial, prefira uma forma explícita e uniforme, para não depender de convenções específicas.
Padrões de atualização
- Incrementar:
i <- i + 1 - Decrementar:
i <- i - 1 - Somar um valor:
saldo <- saldo + deposito - Subtrair um valor:
estoque <- estoque - quantidade - Multiplicar por um fator:
preco <- preco * 1.10
Passo a passo prático: acumulando um total
Objetivo: somar valores de uma lista e manter um total atualizado.
total <- 0
para cada valor em valores faça
total <- total + valor
fim-paraPassos mentais:
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
- Inicialize
totalcom zero. - A cada item, atualize
totalusando a própria variável no lado direito. - Evite qualquer forma abreviada que possa ser interpretada de maneiras diferentes.
Operadores padronizados: aritméticos, relacionais e lógicos
Para manter o pseudocódigo legível e consistente, padronize os operadores. Abaixo está um conjunto recomendado que evita ambiguidades e se lê bem em português.
Operadores aritméticos
| Operação | Operador | Exemplo |
|---|---|---|
| Adição | + | soma <- a + b |
| Subtração | - | dif <- a - b |
| Multiplicação | * | area <- base * altura |
| Divisão | / | media <- total / n |
Se você precisar de operações como resto da divisão ou potência, defina explicitamente no seu padrão (por exemplo, MOD e POT) e use sempre do mesmo jeito.
Operadores relacionais (comparações)
| Significado | Operador | Exemplo |
|---|---|---|
| Igual | = | se x = 0 então |
| Diferente | ≠ | se senha ≠ "" então |
| Menor | < | se idade < 18 então |
| Menor ou igual | ≤ | se tentativas ≤ 3 então |
| Maior | > | se saldo > 0 então |
| Maior ou igual | ≥ | se nota ≥ 7 então |
Quando não for prático usar ≤, ≥ e ≠ (por limitação de teclado), uma alternativa aceitável é <=, >= e !=, desde que você declare e use consistentemente.
Operadores lógicos (booleans)
| Operação | Operador | Exemplo |
|---|---|---|
| Conjunção | E | se (idade ≥ 18) E (temDocumento = verdadeiro) então |
| Disjunção | OU | se (cupomValido = verdadeiro) OU (clienteVIP = verdadeiro) então |
| Negação | NÃO | se NÃO bloqueado então |
Escreva E, OU, NÃO por extenso para leitura natural. Evite símbolos como &&, || e ! no pseudocódigo essencial.
Precedência legível: quando usar parênteses
Mesmo que exista uma ordem “padrão” de operações, pseudocódigo essencial prioriza não deixar dúvidas. A regra prática é: se alguém puder interpretar de duas formas, use parênteses.
Ordem típica (apenas como referência)
- Parênteses
- Operações aritméticas de multiplicação e divisão
- Operações aritméticas de adição e subtração
- Comparações (
<,≤,=, etc.) NÃOEOU
Mesmo conhecendo essa ordem, prefira parênteses em expressões mistas (aritmética + lógica) e em condições longas.
Exemplos: tornando a intenção explícita
// Ambíguo para leitura rápida
aprovado <- nota ≥ 7 E faltas < 10 OU temRecurso
// Mais legível (define claramente a regra)
aprovado <- ( (nota ≥ 7) E (faltas < 10) ) OU (temRecurso = verdadeiro)// Ambíguo: é desconto sobre (preco + frete) ou só sobre preco?
valor <- preco + frete * (1 - desconto)
// Explícito: desconto sobre o total
valor <- (preco + frete) * (1 - desconto)Escrevendo cálculos em etapas (padrão recomendado)
Quando uma expressão fica longa, quebre em etapas com variáveis intermediárias. Isso melhora a leitura, facilita revisão e reduz erros de precedência.
Padrão: nomear subresultados
subtotal <- precoUnitario * quantidade
valorDesconto <- subtotal * percentualDesconto
subtotalComDesconto <- subtotal - valorDesconto
valorFinal <- subtotalComDesconto + freteBoas práticas ao quebrar em etapas:
- Use nomes que expliquem o significado do número (
subtotal,valorDesconto), não apenasx1,x2. - Evite misturar cálculo e regra de negócio na mesma linha quando ficar denso.
- Se uma etapa for uma regra (ex.: “desconto máximo”), deixe isso explícito em uma linha própria.
Passo a passo prático: cálculo com regra e condição
Objetivo: aplicar desconto, mas limitar o desconto a um teto.
subtotal <- precoUnitario * quantidade
valorDesconto <- subtotal * percentualDesconto
se valorDesconto > descontoMaximo então
valorDesconto <- descontoMaximo
fim-se
valorFinal <- subtotal - valorDescontoO cálculo fica verificável: primeiro calcula, depois aplica a regra do teto, por fim calcula o resultado.
Erros comuns e como evitar
1) Confundir comparação com atribuição
Erro típico: usar = como se fosse atribuição.
// Errado (parece comparação, e pode ser interpretado como condição)
preco = 10
// Certo
preco <- 10Regra: = é sempre comparação. Atribuição é <- (ou :=).
2) Usar expressão booleana como se fosse atribuição numérica (ou vice-versa)
// Confuso: resultado de (a > b) é booleano
maior <- a > bIsso pode ser válido se maior for booleano, mas deixe claro pelo nome:
ehMaior <- (a > b)3) Ordem de operações ambígua em expressões mistas
// Ambíguo: o que vem primeiro para quem lê rápido?
resultado <- a + b / c - d * ePrefira explicitar:
parte1 <- b / c
parte2 <- d * e
resultado <- (a + parte1) - parte24) Condições longas sem parênteses
// Difícil de revisar
podeAcessar <- usuarioAtivo E temPermissao OU ehAdmin E NÃO bloqueadoReescreva com agrupamento:
podeAcessar <- ( (usuarioAtivo = verdadeiro) E (temPermissao = verdadeiro) )
OU ( (ehAdmin = verdadeiro) E (NÃO bloqueado) )Mesmo quando a indentação ajuda, os parênteses deixam a regra inequívoca.
5) Reaproveitar a mesma variável para significados diferentes
Evite fazer uma variável “mudar de papel” no meio do cálculo, pois isso dificulta auditoria.
// Evite
valor <- precoUnitario * quantidade
valor <- valor - (valor * desconto)
valor <- valor + fretePrefira etapas nomeadas:
subtotal <- precoUnitario * quantidade
subtotalComDesconto <- subtotal - (subtotal * desconto)
valorFinal <- subtotalComDesconto + frete