quarta-feira, 8 de agosto de 2018

Lógica de programação e pseudocódigo

Lógica de programação: o algoritmo

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 Listagem 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
Listagem 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 Listagem 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
Listagem 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 Listagem 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 Listagem 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.

01 início
02  inteiro a, b, resultado
03
04  ler (a)
05  ler (b)
06  resultado <- a + b
07  escrever (resultado)
08 fim
Listagem 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 Listagem 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.
Share:

0 comentários:

Postar um comentário

Total de Visitas