Lógica de programação
A lógica de programação é a forma como organizamos e sequenciamos instruções para resolver um problema ou executar uma tarefa específica em um computador. É o esqueleto de qualquer programa de computador, determinando a ordem e as condições em que as ações serão realizadas.
Dominar a lógica de programação é fundamental para qualquer pessoa que deseja trabalhar com desenvolvimento de software, pois ela permite transformar ideias complexas em passos executáveis por uma máquina. É a base para criar algoritmos eficientes e programas funcionais.
Para o mundo da tecnologia da informação, a lógica de programação é um conhecimento indispensável, sendo a fundação para linguagens de programação, desenvolvimento web, aplicativos móveis e inteligência artificial, sendo frequentemente cobrada em provas de concursos e vestibulares focados em tecnologia.
Características
As principais características da lógica de programação são:
- Sequencialidade: As instruções são executadas em uma ordem lógica, passo a passo.
- Não ambiguidade: Cada instrução deve ser clara, objetiva e sem múltiplas interpretações.
- Finitude: Um algoritmo deve ter um número limitado de passos e chegar a um fim.
- Abstração: Capacidade de simplificar problemas complexos, focando no que é essencial.
- Reusabilidade: Soluções lógicas podem ser adaptadas e aplicadas a diferentes problemas.
Estrutura da Lógica de Programação
A estrutura da lógica de programação é composta por elementos básicos que permitem a construção de algoritmos.
- Variáveis: Espaços na memória do computador para armazenar dados que podem mudar durante a execução do programa.
- Tipos de Dados: Classificação dos dados que uma variável pode armazenar, como números inteiros, textos, valores lógicos (verdadeiro/falso).
- Operadores: Símbolos que realizam operações matemáticas, comparações ou operações lógicas (ex:
+,-,>,AND). - Instruções de Entrada e Saída: Comandos para receber dados do usuário (entrada) ou exibir informações (saída).
- Estruturas de Controle: Mecanismos que definem o fluxo de execução do programa, como as estruturas de decisão e repetição.
Tipos de Estruturas de Controle
As estruturas de controle são fundamentais para direcionar o fluxo de um algoritmo, permitindo que o programa reaja a diferentes situações.
Estruturas de Decisão (ou Condicionais)
As estruturas de decisão permitem que o programa escolha qual bloco de código executar com base em uma condição. Se a condição for verdadeira, um conjunto de instruções é executado; se for falsa, outro pode ser.
Exemplo:
Se a idade for maior ou igual a 18, então exibir “Maior de idade”. Senão, exibir “Menor de idade”.
No exemplo acima, a condição é “idade maior ou igual a 18”. O programa toma uma decisão baseada no resultado dessa verificação.
Estruturas de Repetição (ou Laços/Loops)
As estruturas de repetição permitem que um bloco de código seja executado múltiplas vezes, seja por um número fixo de vezes ou enquanto uma condição for verdadeira.
Exemplo:
Para cada número de 1 a 10, exibir o número atual.
Neste caso, o programa irá repetir a ação de exibir um número dez vezes, incrementando o número em cada repetição.
Algoritmos e Fluxogramas
A lógica de programação é materializada através de algoritmos, que são receitas ou sequências de passos para resolver um problema. Para representar algoritmos antes de codificá-los, são usadas ferramentas como o pseudocódigo e o fluxograma.
Pseudocódigo
O pseudocódigo é uma forma de descrever um algoritmo usando uma linguagem próxima da humana, mas com uma estrutura que remete a uma linguagem de programação. Ele não segue regras sintáticas rígidas de uma linguagem específica, mas expressa a lógica de forma clara.
Exemplo:
ALGORITMO "Calcula Média"
VAR
nota1, nota2, media : REAL
INICIO
LEIA nota1
LEIA nota2
media = (nota1 + nota2) / 2
SE media >= 7 ENTAO
ESCREVA "Aprovado"
SENAO
ESCREVA "Reprovado"
FIMSE
FIMALGORITMO
Fluxograma
O fluxograma é uma representação gráfica de um algoritmo, utilizando símbolos padronizados para indicar as operações, decisões e a sequência do fluxo de controle. É útil para visualizar a lógica e facilitar a compreensão.
| Símbolo | Significado |
|---|---|
| Retângulo | Processamento (operação, cálculo) |
| Paralelogramo | Entrada/Saída de dados |
| Losango | Decisão (condição) |
| Círculo | Conector |
| Terminador | Início/Fim do algoritmo |
Exemplo de Lógica de Programação
Vamos aplicar a lógica de programação para resolver um problema comum: verificar se um número é par ou ímpar.
Problema: Desenvolver um algoritmo que leia um número inteiro e diga se ele é par ou ímpar.
Lógica: Um número é par se o resto da sua divisão por 2 for zero. Caso contrário, é ímpar.
Passos (Algoritmo):
- INÍCIO
- Pedir ao usuário para digitar um número inteiro.
- Ler o número digitado e armazená-lo em uma variável.
- Calcular o resto da divisão do número por 2.
- Se o resto for igual a zero, exibir a mensagem “O número é PAR”.
- Caso contrário (se o resto não for zero), exibir a mensagem “O número é ÍMPAR”.
- FIM
No exemplo acima, a lógica de programação nos permite definir cada passo e a condição (“Se o resto for igual a zero”) que determina qual mensagem será exibida.
Exercícios com Gabarito
1. (ENEM-2022 adaptado)
Um desenvolvedor precisa criar um programa que verifique se um estudante foi aprovado ou reprovado. A regra de aprovação é que a média de suas duas notas deve ser igual ou superior a 7. Caso contrário, ele é reprovado.
No contexto da lógica de programação e das estruturas de controle, qual a principal estrutura necessária para implementar a verificação da aprovação neste programa?
- a) Estrutura de repetição
- b) Estrutura sequencial
- c) Estrutura de decisão
- d) Estrutura de dados
- e) Estrutura de função
Resposta: Alternativa c: A verificação de uma condição (“média igual ou superior a 7”) para tomar uma ação (“aprovado” ou “reprovado”) é a função de uma estrutura de decisão.
2. (VESTIBULAR-TI-2023)
Considere o seguinte trecho de pseudocódigo:
VAR
contador : INTEIRO
INICIO
contador = 1
ENQUANTO contador <= 5 FAÇA
ESCREVA contador
contador = contador + 1
FIMENQUANTO
FIM
Qual será o resultado exibido na tela ao executar este pseudocódigo?
- a) 1 2 3 4 5
- b) 1 2 3 4
- c) 5
- d) 0 1 2 3 4 5
- e) Erro de sintaxe
Resposta: Alternativa a: O pseudocódigo utiliza uma estrutura de repetição (ENQUANTO) que faz com que a variável contador seja exibida e incrementada de 1 a 5, resultando na impressão de cada um desses números em sequência.