read_more
Campus Virtual Fiocruz

Introdução à Análise de Dados para pesquisa no SUS

Módulo 1 | Aula 1
Introdução à Lógica de Programação

Tópico 2

Algoritmo e programas de computador

Um algoritmo é uma sequência finita de passos ou instruções que, quando executadas em ordem lógica, resolve um problema ou realiza uma tarefa específica. Em programação, um algoritmo é implementado como código que um computador pode executar. Na figura a seguir, temos uma sequência de passos para resolver o grande problema, que é fazer um crepe. Vejam que existe uma ordem específica que precisamos seguir para que o crepe fique pronto.

O algoritmo é, então, transformado em um programa de computador ou software, que pode ser executado para resolver o problema.

Exemplo de aplicação
										
											// Programando um crepe!
											
											Problema: Querer um crepe.
											Lógica de programação: Planejar como fazer o crepe.
											Algoritmo: Segue a receita do crepe.
											Programa de computador: O crepe está pronto, e você pode comê-lo.
										
									

Se fizéssemos uma analogia novamente com a nossa receita de crepe, o programa de computador seria o nosso "crepe finalizado", depois de seguir corretamente todos os passos da receita.

Para Refletir

Já parou para pensar em quantos dispositivos ao seu redor são controlados por softwares?

Calculadoras, computadores, celulares, tablets, óculos inteligentes, relógios, internet, TVs, micro-ondas, geladeiras, caixas eletrônicos, linhas de produção, satélites, carros, impressoras 3D, letreiros digitais, drones, câmeras, semáforos... e a lista continua! Poderíamos passar horas, talvez dias, citando tudo.

Hoje em dia, parece que tudo ao nosso redor tem um toque de "inteligência" e, no centro disso tudo, estão os softwares! Eles controlam dispositivos em praticamente todas as áreas: agricultura, manufatura, transporte, vendas, pecuária, medicina... Até em lugares que você nem imagina, há um software por trás. E isso é só o presente! Imagine como será no futuro.

Representação do algoritmo

Um algoritmo pode ser entendido como um conjunto bem definido de instruções que descreve passo a passo como resolver um problema ou executar uma tarefa. Quando essas instruções são escritas usando-se uma linguagem de programação específica, elas se transformam em código. Em essência, o código é a representação concreta do algoritmo, traduzida em uma linguagem que o computador pode interpretar e executar. Cada linguagem de programação tem sua própria sintaxe e regras, mas o objetivo é o mesmo: comunicar instruções precisas à máquina para realizar operações de forma automatizada e eficiente. Essa distinção entre algoritmo e código é fundamental em programação, pois o algoritmo define a lógica e o fluxo da solução, enquanto o código implementa essa lógica em uma forma que o computador pode processar.

Representar um algoritmo consiste em expressar de forma clara e estruturada os passos necessários para resolver um problema ou executar uma tarefa. Essa representação é essencial para que a lógica por trás do algoritmo seja compreendida e posteriormente transformada em código executável. Existem diferentes formas de representar um algoritmo, cada uma delas adequada a diferentes públicos e níveis de abstração. Para garantir que a lógica seja bem transmitida, recomenda-se o uso de três formas principais de representação, que ajudam a visualizar e a planejar o funcionamento do algoritmo.

Essa forma de representação de algoritmos utiliza uma sequência simples e descritiva de passos, semelhante a uma receita de crepe. Cada passo é uma instrução clara e direta, permitindo que uma pessoa entenda o processo facilmente. Essa abordagem foca em explicitar a lógica do algoritmo de maneira acessível, muitas vezes usando uma linguagem natural. Por exemplo, em uma receita de crepe, os passos seriam “Misture os ingredientes secos”, “Adicione os ovos” e “Leve à frigideira”. No contexto de programação, isso se traduz em comandos como “Inicialize a variável”, “Verifique a condição”, ou “Execute o loop”.

O fluxograma é uma representação gráfica de um algoritmo, usando símbolos padronizados como formas geométricas (retângulos, losangos, círculos etc.) para ilustrar o fluxo de controle e operações de um programa. Ele mostra visualmente o caminho que o algoritmo percorre, destacando processos, decisões, entradas e saídas de dados. Por exemplo, um retângulo pode representar uma ação ou operação, enquanto um losango indica uma decisão ou uma condição a ser avaliada. O uso de fluxogramas é muito útil para visualizar a estrutura lógica de um algoritmo e identificar possíveis caminhos alternativos ou ciclos, tornando mais fácil entender a sequência de operações.

Portugol, ou pseudocódigo, é uma forma intermediária entre a linguagem natural e o código de uma linguagem de programação formal. Ele utiliza uma linguagem descritiva próxima ao português para descrever o algoritmo de forma simplificada, sem se preocupar com a sintaxe específica de uma linguagem de programação. O objetivo do pseudocódigo é detalhar a lógica do algoritmo de maneira que seja compreensível para humanos, assim como para ser facilmente convertido em código real. Um exemplo de pseudocódigo poderia ser: "Se a temperatura for maior do que 30 °C, então ligue o ventilador; senão, desligue o ventilador". Isso facilita a tradução posterior para uma linguagem de programação.