Search buenodc

Nesta página
  1. 1. O que é um algoritmo?
  2. 2. As três etapas para chegar a um programa
  3. 3. Três formas de representar um algoritmo
  4. 4. Os símbolos do fluxograma
  5. 5. As regras do pseudocódigo
  6. 6. Exemplos resolvidos (as três formas lado a lado)

Algoritmos: lógica, fluxograma e pseudocódigo

Antes de escrever qualquer programa, um programador precisa ter clareza sobre o que o programa deve fazer e em que ordem. Essa descrição de passos, independente de linguagem, é o que chamamos de algoritmo. Você já segue algoritmos o tempo todo: uma receita de bolo, o passo a passo para sacar dinheiro no caixa eletrônico, o roteiro para trocar uma lâmpada. O foco desta semana é aprender a pensar e representar algoritmos: a lógica antes da linguagem.

Base bibliográfica: este material segue o Capítulo 1 de ASCENCIO & CAMPOS, Fundamentos da Programação de Computadores (3. ed., Pearson, 2012), seções 1.1 a 1.4.

1. O que é um algoritmo?

Um computador é rápido e confiável, mas não tem iniciativa nem criatividade: ele precisa receber instruções nos mínimos detalhes. A finalidade de um computador é sempre a mesma: receber dados (entrada), processá-los e gerar um resultado (saída). Para que ele faça isso, alguém precisa descrever exatamente os passos. Essa descrição é o algoritmo.

Algumas definições clássicas:

“Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido.” (Forbellone)

“Algoritmo é uma sequência finita de instruções cuja execução, em tempo finito, resolve um problema.” (Salvetti)

Repare em três ideias que aparecem sempre:

  • Ordem: os passos têm uma sequência; trocar a ordem muda o resultado.
  • Clareza (sem ambiguidade): cada passo tem um único entendimento possível.
  • Fim (finitude): o algoritmo sempre termina.

Você executa algoritmos no dia a dia sem perceber. Por exemplo:

Algoritmo: Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova.
Passo 2: Pegar uma escada.
Passo 3: Posicionar a escada embaixo da lâmpada queimada.
Passo 4: Subir na escada com a lâmpada nova na mão.
Passo 5: Retirar a lâmpada queimada.
Passo 6: Colocar a lâmpada nova.
Passo 7: Descer da escada.
Passo 8: Testar o interruptor.

Exemplo adaptado de Ascencio & Campos, Cap. 1.

Importante: um mesmo problema pode ter vários algoritmos que chegam à mesma resposta. Não existe um único caminho certo.

🎥 Vídeo 1 de 3: O que é um algoritmo? (~4 min)

2. As três etapas para chegar a um programa

Nenhum programa nasce pronto. Ele passa por três etapas:

EtapaO que se faz
AnáliseEstudar o problema para definir os dados de entrada, o processamento e os dados de saída.
AlgoritmoDescrever a solução usando descrição narrativa, fluxograma ou pseudocódigo.
CodificaçãoTraduzir o algoritmo para uma linguagem de programação.

Um programa é, portanto, a codificação de um algoritmo em uma linguagem de programação. Esta semana foca nas duas primeiras etapas: análise e algoritmo.

Método para construir um algoritmo

  1. Compreender completamente o problema.
  2. Definir os dados de entrada (o que será fornecido).
  3. Definir o processamento (quais cálculos/decisões transformam a entrada em saída).
  4. Definir os dados de saída (o que será gerado).
  5. Construir o algoritmo (usando uma das três formas da próxima seção).
  6. Testar o algoritmo com simulações.

3. Três formas de representar um algoritmo

Existem três formas clássicas de escrever um algoritmo. Todas descrevem a mesma lógica, o que muda é a forma.

3.1 Descrição narrativa

Escrever os passos em linguagem natural (português comum), como no exemplo da lâmpada acima.

  • ✅ Vantagem: não exige aprender nada novo.
  • ❌ Desvantagem: a língua natural é ambígua (“tempere a gosto” não serve para um computador), o que dificulta traduzir para um programa.

3.2 Fluxograma

Representar o algoritmo com símbolos gráficos padronizados, ligados por setas que mostram o fluxo.

  • ✅ Vantagem: o desenho é mais fácil de entender que um texto.
  • ❌ Desvantagem: exige aprender a simbologia e tem pouco detalhe, o que dificulta a tradução para código.

3.3 Pseudocódigo (ou portugol)

Escrever o algoritmo com regras e palavras-chave predefinidas, um “português estruturado”.

  • ✅ Vantagem: a passagem para uma linguagem de programação é quase imediata, bastando trocar as palavras-chave pela sintaxe da linguagem.
  • ❌ Desvantagem: exige aprender as regras do pseudocódigo.

4. Os símbolos do fluxograma

São poucos símbolos, cada um com um significado fixo. A leitura padrão é de cima para baixo, seguindo as setas. A Figura abaixo ilustra cada símbolo e seu significado.

w:1150

SímboloFormaSignificado
TerminalovalInício e fim do algoritmo
Setalinha com pontaSentido do fluxo; conecta os blocos
ProcessoretânguloCálculos e atribuições de valores
EntradaparalelogramoEntrada de dados (o usuário informa algo)
SaídaparalelogramoSaída de dados (mostrar um resultado)
DecisãolosangoUma pergunta com dois caminhos: SIM e NÃO

O símbolo mais importante é o losango (decisão): é o único de onde saem dois caminhos. Ele é onde o algoritmo escolhe o que fazer.

🎥 Vídeo 2 de 3: Fluxogramas: símbolos e leitura (~6 min)

5. As regras do pseudocódigo

Adotamos a notação do livro-texto. Palavras-chave em MAIÚSCULAS.

ALGORITMO
DECLARE <variáveis> <TIPO>
<comandos>
FIM_ALGORITMO
Palavra-chaveFunção
ALGORITMO … FIM_ALGORITMODelimitam o início e o fim (o terminal do fluxograma)
DECLARE nome TIPOReserva uma variável (ex.: DECLARE N1, N2 NUMÉRICO)
LEIA nomeLê um dado de entrada e guarda na variável
ESCREVA "texto", nomeMostra um dado de saída
nome ← expressãoAtribuição: a variável recebe o valor da expressão
SE condição ENTÃO … SENÃO …Decisão (o losango do fluxograma)

Atenção ao ←: ele significa “recebe”, não “é igual”. M ← (N1 + N2) / 2 quer dizer “guarde na variável M o resultado da conta”. É diferente do = da matemática.

🎥 Vídeo 3 de 3: Pseudocódigo: português estruturado (~6 min)

6. Exemplos resolvidos (as três formas lado a lado)

Exemplo A: Multiplicar dois números (estrutura sequencial)

Descrição narrativa:

  1. Receber dois números.
  2. Multiplicar os números.
  3. Mostrar o resultado.

Fluxograma (leitura de cima para baixo):

w:1150

Pseudocódigo:

ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA "Digite dois números"
LEIA N1, N2
M ← N1 * N2
ESCREVA "Multiplicação = ", M
FIM_ALGORITMO

Exemplo adaptado de Ascencio & Campos, Cap. 1, seção 1.4.

Exemplo B: Dividir dois números (com decisão)

Não existe divisão por zero, então precisamos decidir antes de dividir.

Descrição narrativa:

  1. Receber dois números.
  2. Se o segundo número for igual a zero, avisar que é impossível dividir; caso contrário, dividir e mostrar o resultado.

Fluxograma

w:1150

Pseudocódigo:

ALGORITMO
DECLARE N1, N2, D NUMÉRICO
ESCREVA "Digite dois números"
LEIA N1, N2
SE N2 = 0
   ENTÃO ESCREVA "Impossível dividir"
   SENÃO INÍCIO
            D ← N1 / N2
            ESCREVA "Divisão = ", D
         FIM
FIM_ALGORITMO

Exemplo adaptado de Ascencio & Campos, Cap. 1, seção 1.4.

Quando o SENÃO precisa executar mais de um comando, agrupamos com INÍCIO … FIM. Com um comando só, o INÍCIO/FIM não é necessário.

Exemplo C: Média de um aluno (aprovado ou reprovado)

Descrição narrativa:

  1. Receber as duas notas.
  2. Calcular a média aritmética.
  3. Mostrar a média.
  4. Se a média for maior ou igual a 7, o aluno está aprovado; caso contrário, reprovado.

Fluxograma

w:1150

Pseudocódigo:

ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA "Digite as duas notas"
LEIA N1, N2
M ← (N1 + N2) / 2
ESCREVA "Média = ", M
SE M ≥ 7
   ENTÃO ESCREVA "Aprovado"
   SENÃO ESCREVA "Reprovado"
FIM_ALGORITMO

Exemplo adaptado de Ascencio & Campos, Cap. 1, seção 1.4.

Leitura da Semana 1 - Base: Ascencio & Campos, Cap. 1 (1.1–1.4). Próximo passo: fazer a lista de exercícios e trazer suas dúvidas para o encontro síncrono.