Atualizado em 25 de setembro de 2026.

A lógica de programação é a base das provas de tecnologia da informação, cobrada em concursos para analistas e técnicos de TI de tribunais, bancos, secretarias, agências e estatais. As questões costumam apresentar algoritmos em pseudocódigo ou em uma linguagem de programação e pedir o resultado da execução, além de cobrar conceitos de estruturas de dados, ordenação e orientação a objetos. Este guia resume os pontos mais cobrados. O guia de banco de dados complementa a formação básica em TI.

O que é um algoritmo

Um algoritmo é uma sequência finita, ordenada e bem definida de passos para resolver um problema. Ele pode ser representado por descrição narrativa, em linguagem natural; por fluxograma, com símbolos gráficos, como o losango para decisão e o retângulo para processamento; ou por pseudocódigo, uma linguagem estruturada próxima das linguagens de programação, muito usada nas provas.

Variáveis, tipos e operadores

Uma variável é um espaço na memória, identificado por um nome, que armazena um valor que pode mudar durante a execução; uma constante tem valor fixo. Os tipos primitivos mais comuns são inteiro, real, caractere ou texto e lógico, com os valores verdadeiro e falso. Os operadores se dividem em:

  • Aritméticos: soma, subtração, multiplicação, divisão, divisão inteira e resto da divisão, este muito cobrado para verificar se um número é par.
  • Relacionais: igual, diferente, maior, menor, maior ou igual e menor ou igual, que resultam em verdadeiro ou falso.
  • Lógicos: E, OU e NÃO, que seguem as regras da tabela-verdade.

Estruturas de controle: decisão e repetição

  • Sequencial: os comandos são executados um após o outro.
  • Condicional: o comando "se, então, senão" executa blocos diferentes conforme uma condição; o comando "escolha", ou caso, seleciona entre várias opções.
  • Repetição com teste no início, o "enquanto": repete o bloco enquanto a condição for verdadeira, e pode não executá-lo nenhuma vez.
  • Repetição com teste no fim, o "repita até": executa o bloco pelo menos uma vez e repete até que a condição se torne verdadeira.
  • Repetição com variável de controle, o "para": repete o bloco um número definido de vezes.
Faça o teste de mesa: nas questões que pedem o resultado de um algoritmo, monte uma tabela com as variáveis e anote o valor de cada uma a cada passo. Esse teste de mesa evita erros de cabeça, principalmente em laços com várias variáveis. Atenção às condições de parada e à ordem de atualização das variáveis.

Vetores, matrizes e registros

O vetor é uma estrutura homogênea unidimensional, que armazena vários valores do mesmo tipo, acessados por um índice; a matriz é uma estrutura homogênea com duas ou mais dimensões, acessada por linha e coluna; e o registro é uma estrutura heterogênea, que agrupa campos de tipos diferentes, como nome, idade e salário de uma pessoa. Em muitas linguagens, os índices dos vetores começam em zero, detalhe que as bancas costumam explorar.

Funções, procedimentos e recursividade

A modularização divide o programa em partes menores. A função retorna um valor; o procedimento executa ações sem retornar valor. Na passagem de parâmetros por valor, a função recebe uma cópia, e as alterações não afetam a variável original; na passagem por referência, a função acessa a própria variável, e as alterações a afetam. A recursividade ocorre quando uma função chama a si mesma, e exige uma condição de parada, como no cálculo do fatorial.

Estruturas de dados mais cobradas

  • Pilha: segue a regra LIFO, em que o último a entrar é o primeiro a sair, com as operações de empilhar e desempilhar.
  • Fila: segue a regra FIFO, em que o primeiro a entrar é o primeiro a sair.
  • Lista encadeada: elementos ligados por ponteiros, que facilitam inserções e remoções.
  • Árvore: estrutura hierárquica, com raiz e nós filhos; na árvore binária de busca, os valores menores ficam à esquerda e os maiores à direita.

Busca, ordenação e complexidade

A busca sequencial percorre os elementos um a um e funciona em qualquer vetor. A busca binária exige vetor ordenado e descarta metade dos elementos a cada comparação, sendo muito mais rápida. Entre os algoritmos de ordenação, os mais cobrados são o da bolha, o de seleção e o de inserção, mais simples e lentos, e o merge sort e o quick sort, mais eficientes. A eficiência é expressa pela notação O grande: a busca sequencial é O(n), a binária é O(log n), o método da bolha é O(n²) e o merge sort é O(n log n).

Orientação a objetos e seus pilares

Na programação orientada a objetos, a classe é o modelo, e o objeto é a instância criada a partir dela, com atributos e métodos. Os pilares mais cobrados são o encapsulamento, que esconde os detalhes internos e expõe apenas o necessário; a herança, que permite a uma classe reaproveitar características de outra; o polimorfismo, que permite que um mesmo método tenha comportamentos diferentes conforme o objeto; e a abstração, que representa apenas as características essenciais. O desenvolvimento de sistemas está no guia de engenharia de software.

Um exemplo de teste de mesa

Considere o algoritmo: soma ← 0; para i de 1 até 4 faça: se i mod 2 = 0 então soma ← soma + i; fim; escreva soma. No teste de mesa, com i igual a 1, o resto da divisão por 2 é 1, e a soma continua 0; com i igual a 2, o resto é 0, e a soma passa a 2; com i igual a 3, nada muda; e com i igual a 4, a soma passa a 6. O algoritmo escreve 6, que é a soma dos números pares de 1 a 4. Esse tipo de questão é muito comum nas provas.

Linguagens compiladas e interpretadas

Nas linguagens compiladas, como C, o código-fonte é traduzido de uma só vez para código de máquina, gerando um executável, o que costuma resultar em maior desempenho. Nas interpretadas, como Python e JavaScript, o código é executado linha a linha por um interpretador. O Java é um caso intermediário: o código é compilado para bytecode, executado pela máquina virtual Java. As provas de TI costumam trazer trechos de Python ou Java para interpretação.

Como estudar

Pratique com muitos algoritmos, fazendo o teste de mesa à mão, porque a maior parte das questões pede o resultado da execução. Depois, estude as estruturas de dados, a busca e a ordenação, com a notação O grande, e os pilares da orientação a objetos. Se o edital indicar uma linguagem específica, treine a leitura de código nela.

Com o tempo, você passa a reconhecer os padrões mais comuns, como acumuladores, contadores e trocas de valores entre variáveis, o que acelera a resolução das questões na prova.

Exemplos de como cai

Afirmação: "Na estrutura repita até, o bloco pode não ser executado nenhuma vez." Errado. Como o teste é no fim, o bloco é executado pelo menos uma vez.

Afirmação: "A busca binária exige que os dados estejam ordenados." Certo. Sem ordenação, ela não funciona.

Afirmação: "A pilha segue a regra FIFO." Errado. A pilha segue a regra LIFO; a fila é que segue a FIFO.

Resumo para revisar antes da prova

Algoritmo como sequência finita de passos, em narrativa, fluxograma ou pseudocódigo; variáveis, constantes e tipos primitivos; operadores aritméticos, relacionais e lógicos; estruturas sequencial, condicional e de repetição, com enquanto, repita e para; teste de mesa; vetores e matrizes homogêneos e registros heterogêneos; funções, procedimentos, passagem por valor e por referência e recursividade; pilha LIFO, fila FIFO, listas e árvores; busca binária em vetor ordenado; notação O grande; e classe, objeto, encapsulamento, herança, polimorfismo e abstração.

Perguntas frequentes

Qual a diferença entre as estruturas enquanto e repita?

Na estrutura enquanto, a condição é testada no início, e o bloco pode não ser executado nenhuma vez. Na estrutura repita até, a condição é testada no fim, e o bloco é executado pelo menos uma vez.

Qual a diferença entre pilha e fila?

A pilha segue a regra LIFO, em que o último elemento a entrar é o primeiro a sair, como uma pilha de pratos. A fila segue a regra FIFO, em que o primeiro a entrar é o primeiro a sair, como uma fila de banco.

Quando é possível usar a busca binária?

A busca binária exige que o vetor esteja ordenado. Ela compara o elemento procurado com o do meio e descarta metade dos elementos a cada passo, o que a torna muito mais rápida que a busca sequencial em grandes volumes.

SOS Concursos
Equipe SOS Concursos

Conteúdo produzido e revisado pela equipe editorial da SOS Concursos, que acompanha concursos públicos desde 2006. Cada dado deste artigo foi conferido nas fontes listadas acima. Conheça nossa política editorial ou envie uma correção para contato@sosconcursos.com.br.