Motivação

A capacidade de pensar de maneira lógica é um dos principais diferenciais para saber como resolver problemas, principalmente na área da computação. Diretamente relacionado a isso, compreender o conceito de algoritmo também é algo fundamental. Com isso em mente, caso seu objetivo seja se tornar um bom programador, o próximo passo é aprender um pseudocódigo (Portugol, por exemplo), no qual você entrará em contato com detalhes como entrada e saída de dados, assim como o processamento propriamente dito. Nesse artigo, veremos um pouco sobre esses conceitos, fundamentais para quem está começando a programar.

Lógica de programação: o algoritmo

A lógica de programação é a capacidade que todo programador precisa ter para resolver os problemas que aparecem no dia-a-dia. A capacidade de dividir o problema em partes menores é uma etapa essencial da lógica de programação e precisa ser levada em consideração quando nos deparamos com qualquer exercício/desafio. É nesse ponto que entra o conceito de algoritmo, descrito, geralmente, como uma sequência lógica de ações capaz de resolver um problema.

É válido ressaltar, no entanto, que o conceito de algoritmo vai muito além da programação. Uma receita de bolo, por exemplo, é um exemplo simples de algoritmo. Até mesmo algo como “mascar um chiclete” pode ser descrito como um algoritmo, como mostrado na Código 1.

1 – pegar o chiclete
2 – retirar o papel
3 – mascar o chiclete
4 – jogar o papel no lixo
5 – jogar o chiclete no lixo 
Código 1. Algoritmo para mascar chiclete.

A maioria dos algoritmos, obviamente, será mais complexa do que simplesmente “mascar um chiclete” ou “fazer um bolo”. No caso da computação, uma soma de dois números é o exemplo mais clássico de um algoritmo simples. Algo como o mostrado na Código 2 é bastante comum para observarmos que temos uma sequência lógica de ações que envolvem os três elementos que comentamos anteriormente: entrada de dados, processamento e saída de dados.

1 – Inserir o primeiro número
2 – Inserir o segundo número
3 – Somar os dois valores
4 – Mostrar o resultado
Código 2. Algoritmo para soma de dois números.
  • Ações 1 e 2: entrada de dados;
  • Ação 3: processamento das informações inseridas;
  • Ação 4: saída de dados.

Introdução ao pseudocódigo

A representação de algoritmos pode ser feita de várias formas; a que mostramos na Código 2 é uma delas. Entretanto, essa opção não possui nenhum tipo de regra mais formal, o que faz com que esteja um pouco distante da programação propriamente dita. Para aproximar um pouco mais os dois conceitos, o pseudocódigo foi criado (um dos exemplos de pseudocódigo mais conhecidos no Brasil é o Portugol). Além dele, podemos encontrar várias opções. O objetivo de todos, no entanto, é um só: criar um código que se aproxime do que será visto em linguagens de programação como C, C# ou Java.

Utilizando o Portugol como exemplo, nosso algoritmo da soma de dois números seria algo como o mostrado na Código 3. Nessa “linguagem de programação”, é importante observar que temos um outro conceito, conhecido como regiões; nesse código, temos uma região de variáveis e outra de processamento. Esse conceito também é algo que será levado para as linguagens de programação e sempre deve ser considerado durante o desenvolvimento de software.

início
inteiro a, b, resultado

ler (a)
ler (b)
resultado <- a + b
escrever (resultado)
fim
Código 3. Soma de dois números em pseudocódigo (Portugol).

Linha 01: Indicação do início do algoritmo em Portugol;

Linha 02: Região de definição de variáveis. As variáveis inteiras “a” e “b” são utilizadas para guardar os valores inseridos pelo usuário, enquanto o “resultado”, como o nome sugere, irá receber a soma deles;

Linhas 04 e 05: Lê os valores inseridos pelo usuário e os guarda em “a” e “b”. Note que, no Portugol, as ações são sempre definidas por verbos no infinitivo. Ler serve para indicar a leitura de informações do usuário (entrada de dados), e Escrever, para mostrar o resultado final para o mesmo (saída de dados);

Linha 06: Utilizamos o operador de atribuição <-. Esse operador atribui a soma de “a” e “b” à variável “resultado”. Essa é a fase de processamento dos dados de entrada;

Linha 07: Para finalizar o algoritmo, temos a amostragem dos dados para o usuário. Nesse caso, utilizamos o verbo Escrever para mostrar essa ação;

Linha 08: Indicação do fim do algoritmo em Portugol.

Com isso, podemos observar que o Portugol possui regras simples e bastante flexíveis. Ao começar a programar com Java ou C#, por exemplo, você irá notar que a proposta de se aproximar de linguagens como elas é obedecida. Se compararmos o código da Código 3 com um em C#, por exemplo, notaremos que não existe uma grande diferença. É claro que as ações (ler e escrever) e os operadores (atribuição e operador aritmético “+”) serão substituídos por seus respectivos na linguagem, mas a estrutura será semelhante à apresentada no exemplo.

Links Úteis

Saiba mais sobre Lógica de Programação ;)

  • Programação: O que é Algoritmo?:
    Nesse DevCast você vai aprender o que é algoritmo de uma forma leve e divertida. E ainda veremos como criar um primeiro algoritmo usando pseudocódigo.
  • Programação: O que é uma variável?:
    Neste DevCast conversamos sobre o que é uma variável e qual o seu papel, permitindo assim que você crie o seu primeiro programa: um aplicativo que recebe um nome e imprime na tela uma mensagem de boas vindas.