Lógica de programação para Iniciantes: Um Guia Básico

Tempo de leitura: 12 minutos

Se você buscou pelo termo lógica de programação para iniciantes acredito que você tenha interesse em desenvolver algo e esteja dando os primeiros passos nesse universo da programação, correto?

Porém não é um único artigo como esse que você deve ler para aprender sobre lógica de programação, pois aprender a programar é uma atividade que exigirá de você dias e dias de estudo, treino e muita disciplina para não abandonar o barco na primeira dificuldade que vier, pois é o que muitas vezes acontece com quem está entrando nesse universo, pois imaginam que basta executar uma serie de comandos ou dar alguns cliques como nós vemos em algumas plataforma por ai, e pronto, seu aplicativo está pronto.

Com programação existem inúmeros critérios que você deve seguir para poder dar vida a algum programa, seja ele um programa simples ou algo mais complexo.

Por isso aqui vamos te dar a base para você iniciar, explicando no que consiste a lógica de programação e como você deve se organizar para aprender lógica e se tornar um expert em programação, combinado?!

O que vamos aprender neste artigo de lógica de programação para iniciantes?

// O que é lógica de programação

// Entendendo os Algotitmos

// Variaveis

// A melhor forma de aprender programação

O que é lógica de programação

o que é logica de programação

Segundo o Wikibooks, Lógica de Programação é a técnica de desenvolver algoritmos, que são sequências lógicas com a função de atingir objetivos determinados dentro de certas regras baseadas na Lógica matemática e em outras teorias básicas da Ciência da Computação e que depois são adaptados para a Linguagem de Programação utilizada pelo programador para construir seu software.

Muito cuidado para não confundir algoritmos com logaritmos!

Bem, o que é algoritmo? Basicamente é um conjunto de instruções bem definidas, finitas e que geram um resultado.

A lógica de programação é necessária para você que deseja trabalhar com desenvolvimento de sistemas e programas, pois ela permite que você defina seqüências lógicas para o desenvolvimento.

Então o que é lógica? Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.

Entendendo os Algoritmos

entendendo os algoritmos

Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa.

Mas para você compreender de forma bem simples, vamos ilustrar da seguinte forma: Imagine o algoritmo como uma receita, uma seqüência de instruções com início, meio e fim para se atingir uma meta específica.

Estas tarefas não podem em hipótese alguma serem redundantes ou subjetivas na sua definição, devem ser claras e bem precisas.

Como exemplos de algoritmos podemos citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtração) de números reais decimais.

Outros exemplos seriam os manuais de aparelhos eletrônicos, como um smartphone, que explicam passo-a-passo como, por exemplo, instalar aplicativos. Até mesmo as coisas mais simples, podem ser descritas por seqüências lógicas.

Vamos a alguns exemplos para você entender melhor:

a) Trocar lâmpada 1.0

Início

  • pegar uma escada;
  • posicionar a escada debaixo da lâmpada;
  • buscar uma lâmpada nova;
  • subir na escada;
  • retirar a lâmpada queimada;
  • colocar a lâmpada nova;

Fim

Observamos que esse algoritmo tem um objetivo bem definido: trocar uma lâmpada.

E se a lâmpada não estivesse queimada? A lâmpada seria trocada da mesma forma porque o algoritmo não previu essa possibilidade. Para tal acontecimento vamos adicionar um teste condicional (estrutura seletiva).

b) Trocar lâmpada 1.1

Início

  • pegar uma escada;
  • posicionar a escada debaixo da lâmpada;
  • buscar uma lâmpada nova;
  • acionar o interruptor;
  • se a lâmpada não acender, então
  • subir na escada;
  • retirar a lâmpada queimada;
  • colocar a lâmpada nova;

Fim

A nossa sequência “Trocar lâmpada 1.1” pode ser melhorada uma vez que buscamos a lâmpada e a escada sem saber se de fato seriam necessárias.

c) Trocar lâmpada 1.2

Início

  • acionar o interruptor;
  • se a lâmpada não acender, então
  • pegar uma escada;
  • posicionar a escada debaixo da lâmpada;
  • buscar uma lâmpada nova;
  • subir na escada;
  • retirar a lâmpada queimada;
  • colocar a lâmpada nova;

Fim

“Trocar lâmpada 1.2” não alcançará seu objetivo se a lâmpada nova estiver queimada. Vamos prevê essa possibilidade.

d) Trocar lâmpada 1.3

  • acionar o interruptor;
  • se a lâmpada não acender, então
  • pegar uma escada;
  • posicionar a escada debaixo da lâmpada;
  • buscar uma lâmpada nova;
  • subir na escada;
  • retirar a lâmpada queimada;
  • colocar a lâmpada nova;
  • se a lâmpada não acender, então
  • retirar a lâmpada queimada;
  • colocar outra lâmpada nova;
  • se a lâmpada não acender, então
  • retirar a lâmpada queimada;
  • colocar outra lâmpada nova;
  • se a lâmpada não acender então
  • (Até quando?)

O Algoritmo “Trocar lâmpada 1.3” não está pronto. As ações chegaram ao fim quando conseguirmos colocar uma lâmpada que acenda, que é o objetivo do algoritmo.

Em vez de reescrevermos várias vezes um conjunto de ações, podemos alterar o fluxo seqüencial de execução para permitir que ações sejam reexecutadas quantas vezes for preciso.

Precisamos expressar essa repetição (estrutura de repetição) garantindo uma condição de parada.

  • acionar um interruptor;
  • se a lâmpada não acender, então
  • pegar uma escada;
  • posicionar a escada debaixo da lâmpada;
  • buscar uma lâmpada nova;
  • subir na escada;
  • retirar a lâmpada queimada;
  • colocar a lâmpada nova;
  • enquanto a lâmpada não acender, faça
  • retirar a lâmpada queimada;
  • colocar outra lâmpada nova;

Refinamento de Algoritmos:

Um algoritmo só é considerado como finalizado quando seus comandos (ações/instruções) forem do entendimento do destinatário.

Se um comando não estiver claro, precisa ser desdobrado em novos comandos, que constituirão um refinamento do comando inicial.

Se houver necessidade, deve ser feito refinamentos sucessivos até que todos os comandos sejam entendidos pelo destinatário.

No algoritmo que mostramos, dependendo do tipo de destinatário alvo, poderia haver a necessidade de detalhar algumas ações, como por exemplo a ação retirar a lâmpada queimada.

A diferença que existe entre o algoritmo que escrevemos acima (Trocar lâmpada) e algoritmos de sistemas é a linguagem que é utilizada.

Vamos pensar no seguinte cenário, o algoritmo “Trocar lâmpada” foi desenvolvido de uma forma que nós, humanos racionais,  possamos entender.

Mas o que precisamos fazer para que o computador tenha o mesmo entendimento?

O que você irá precisar fazer para que o computador entenda o seu algoritmo?

Simplesmente utilizar uma linguagem de programação, ou seja, você irá escrever um passo a passo que o computador deverá executar sem dúvidas, utilizando uma linguagem de fácil interpretação para o computador.

E-book Desenvolvimento Full Stack
Baixe Gratuitamente o Guia Completo de Como se Tornar um Desenvolvedor Full Stack

Tenha em mãos o livro digital, que irá lhe ensinar tudo sobre as principais tecnologias web e fará você dar o ponta-pé inicial no Universo Full-Stack!

Variáveis

variaveis

Uma variável é um local na memória principal, isto é, um endereço que armazena um conteúdo.

Em linguagens de alto nível, nos é permitido dar nome a esse endereço para facilitar a programação, O conteúdo de uma variável pode ser de vários tipos: inteiro, real, caractere, lógico, entre outros.

Normalmente, quando se ensina algoritmo, trabalha-se com os quatro tipos citados. Uma vez definidos o nome e o tipo de uma variável, não podemos alterá-los no decorrer de um algoritmo.

Por outro lado, o conteúdo da variável é um objeto de constante modificação no decorrer do programa, de acordo com o fluxo de execução do mesmo. Em algoritmos, as variáveis serão definidas no início, por meio do comando definido:

tipo da variavel       nome da variavel     ;

Os tipos que usaremos serão:

int a;
real b;
string nome;
logico r;

Quando formos dar nome às variáveis, se faz necessário seguirmos algumas regras.

É bom ressaltar que estas regras irão variar de acordo com a linguagem. As seguintes regras:

1. O primeiro caractere é uma letra.

2. Se houver mais de um caractere, só poderemos usar: letra ou algarismo.

3. Nomes de variáveis escritas com letras maiúsculas serão diferentes de letras minúsculas. Lembre-se: media é diferente de MEDIA.

4. Nenhuma palavra reservada poderá ser nome de uma variável.

Nomes Válidos: media, alt, a2, PESO

Nomes não validos: 2w -> começa por algarismo
media_aluno -> o caractere sublinha não é permitido
peso do aluno -> o caractere espaço não é permitido

Tipos de variáveis

Numérica

Variáveis numéricas são aquelas que armazenam dados numéricos, podendo ser divididas em duas classes:

int

Os números inteiros são aqueles que não possuem componentes decimais ou fracionários, podendo ser positivos ou negativos. As variáveis compostas com esses números são chamadas de VARIÁVEIS INTEIRAS.

Os elementos pertencentes aos conjuntos N e Z, apesar de serem representáveis na classe dos números reais, são classificados como variáveis numéricas inteiras por não possuírem parte fracionária.

Como exemplo de números inteiros temos:

12 número inteiro positivo
-12 número inteiro negativo

Normalmente, uma variável do tipo inteira poderá ocupar 1, 2 ou 4 bytes na MP.

real

Os números reais são aqueles que podem possuir componentes decimais ou fracionários, podendo também ser positivos ou negativos.

As variáveis compostas com estes números pertencentes aos conjuntos dos números reais são chamadas de VARIÁVEIS REAIS.

Como exemplos de números reais temos:

24.01 – número real positivo com duas casas decimais
144. – número real positivo com zero casa decimal
-13.3 – número real negativo com uma casa decimal
0.0 – número real com uma casa decimal

Normalmente, uma variável do tipo real poderá ocupar 4 ou 8 bytes na MP.

string

Também conhecida como caractere, alfanumérica ou literal. Esse tipo de variável armazena dados que contêm letras, dígitos e/ou símbolos especiais.

Como exemplos de constantes string temos:

“Maria” – string de comprimento 5
“123” – string de comprimento 3
“0” – string de comprimento 1
“A” – string de comprimento 1

Memoria principal (MP)

Palavra
> A   L   G   O   R   I   T   M   O   S   \0
> 0   1   2   3   4   5   6    7    8   9   10   11
Posição do caractere dentro da variável

Observação: Não confunda o caractere que se encontra na posição 3 com 3º- caractere: No exemplo acima, temos:

Caractere que se encontra na posição 3: O

3º caractere: G

logico

Também conhecido como booleano. É representado no algoritmo pelo dois únicos valores lógicos possíveis: verdadeiro ou falso.

Porém, é comum encontrar em outras referências outros tipos de pares de valores lógicos como: sim/nao, 1/0, true/false, verdadeiro/falso.

Como exemplos de constantes lógicas temos:

verdadeiro      Valor lógico verdadeiro
falso                 Valor lógico falso

Observação: As variáveis quando são declaradas, dependendo da linguagem, não têm nenhum valor atribuído; portanto, no início, atribua valores a todas as variáveis.

Bom, não vou me estender muito para não complicar as coisas, porém esse é só o início do que você tem de aprender.

A melhor forma de aprender programação

a melhor forma de aprender programação

Como disse, não teria como nós construirmos um programa do zero em um artigo como esse, mas pode ficar tranquilo, você está dentro da casa da maior escola de desenvolvimento web e programação do Brasil.

E pode ter certeza, que para você aprender programação você precisará de tempo e muita dedicação, mas principalmente de uma estratégia para fazer você sair da teoria para a execução, pois lendo um artigo como esse você terá apenas uma compreensão de como funciona a lógica de programação, mas para você entender de fato você terá de praticar, ou seja, terá de começar a criar algo, essa é a melhor forma de aprender.

E se você tiver alguém que te mostre o exato passo a passo para você não precisar perder tempo lendo pilhas de conteúdo na internet e assistindo videos irrelevantes que só te fazem perder tempo? Seria muito bom né verdade?

Como programador já construi centenas de projetos e já ajudei milhares de alunos a sairem do absoluto zero para se tornarem programadores de alto nível, mostrando na prática por meio de projetos reais como programar de verdade.

E se você deseja realmente se tornar um programador de alto nível, quero te convidar a conhecer a nossa escola online de programação, a Danki Code.

E uma excelente forma de começar a desenvolver projetos reais é com o Pacote Full-Stack, nele você vai aprender desde o básico HTML à linguagens como PHP, JavaScript e muito mais.

>> Conheça o nosso treinamento completo “Pacote Full-Stack” e Domine as Tecnologias mais Atuais e Poderosas do Mercado! <<