Lógica de programação: o guia definitivo para iniciantes

Lógica de programação: o guia definitivo para iniciantes

A partir de agora você vai conhecer os elementos necessários para desenvolver a lógica de programação.

Você dará os primeiros passos na construção dos seus algoritmos, entenderá como funciona um programa e o que é necessário para criar suas aplicações.

Além disso, você terá acesso aos requisitos chaves e mais importantes para aprender qualquer linguagem de programação.

Se o seu objetivo é aprender a programar a partir do zero, esse post foi escrito especialmente para você. Com essas informações você terá facilidade em desenvolver os seus primeiros códigos. Você vai saber exatamente como resolver os problemas e treinar a sua mente para isso.

Lógica de programação

Boa leitura!

Lógica de Programação: o que é?

Em resumo, lógica de programação é a capacidade de desenvolver uma rotina como solução a um determinado problema.

Sabemos que programar não é fácil quando estamos aprendendo. Ainda mais quando nunca tivemos contato com códigos e o tal do raciocínio lógico.

lógica de programação

Por isso, não ache que somente a leitura fará de você um bom programador. Já que, por algum motivo, você escolheu esta área, é importante dizer que se tornar um programador, cansa.

É como escolher um lado da força e treinar as suas habilidades.

Se você tem facilidade em entender, parabéns! Caso contrário, tenha paciência. Tudo no começo é difícil.

lógica de programação

É assim que todo mundo – exceto os vógons – aprende a programar.

Você se livra da temida maldição, mas não entende o que foi feito. O professor escolhe uma linguagem, geralmente Java, Python ou Javascript e ensina a imprimir essa mensagem na tela.

E com isso, todos começamos a programar.

Mas o que é a lógica de programação?

É a facilidade em reconhecer o que tem de ser feito para a criação do seu programa.

O que é um programa?

O seu processador executa comandos com o objetivo de resolver uma tarefa específica, certo? A sequência desses comandos é chamada de programa.

Assim, os programas do computador são armazenados em arquivos executáveis, os famosos “.exe” no Windows.

Nem sempre o mesmo programa pode ser executado em computadores diferentes. Tudo depende da arquitetura e sistema para o qual tenha sido feito.

Definindo a Linguagem de Programação

Para que um programa funcione é preciso que nele tenha algoritmos trabalhando. Dessa forma, algoritmos correspondem às instruções que o computador executa por meio de uma linguagem.

As linguagens de programação foram criadas de modo a “humanizar a linguagem de máquina” por causa da sua complexidade.

Assim, programamos e compilamos o código em uma linguagem que nós entendemos para então “converter” à linguagem de máquina ou linguagem de baixo nível.

Portanto, os compiladores são programas específicos que convertem o código fonte para a linguagem de máquina. E é dessa forma que o processador executa o que lhe é mandado.

O que é preciso para aprender a programar?

Exercitar a lógica para resolver problemas. É simples assim.

A programação é feita de algoritmos que são designados a resolver um determinado problema.

Por isso os algoritmos são criados para encontrar uma solução e é sua obrigação exercitar esse raciocínio.

Lógica de Programação: Algoritmos, o que são eles?

Muitos professores explicam esse conceito a partir do exemplo de uma receita.

Uma receita possui um passo a passo de instruções. Essas instruções podem ser classificadas como algoritmos.

lógica de programação

Certas rotinas que você executa podem ser chamadas de algoritmos, tais como tomar banho, cozinhar algo ou ir a algum lugar.

Tudo isso acontece porque você segue uma lista de instruções.

Para desenvolver a sua lógica e começar a construir algoritmos na programação, você deve compreender o problema que tem de resolver.

Logo, além da compreensão, você precisa elaborar soluções até encontrar a ideal para o seu problema.

Como criar um algoritmo?

lógica de programação
  • Entrada: informações que ficam armazenadas na memória;
  • Processamento: manipulação das informações coletadas. É aqui que são feitos os cálculos e demais procedimentos;
  • Saída: nada mais é do que o resultado de toda a sua linha de código (processamento) aparecendo na tela.

Então, como exemplo, vamos criar um algoritmo simples que multiplique dois valores.

Para isso é preciso que o nosso usuário insira dois números. Consequentemente, na entrada, coletamos esses dois números e os armazenamos.

Agora eles são chamados de variáveis. (Entenderemos esse conceito mais adiante).

Quando a pessoa digita os dois números, o processamento calcula a multiplicação e retorna o valor na saída, mostrando o resultado.

Em pseudocódigo, ficaria assim:

Introdução à Lógica de Programação

Legenda
valor1, valor2, resultado: nome da variável
Inteiro: tipo da variável
Inicio: começo do bloco de instruções
Escreva: comando que imprime na tela os caracteres
Leia: comando que arquiva o valor digitado da variável
Fim: fechamento do bloco de instruções

lógica de programação

Fluxogramas

Vimos a forma tradicional de se fazer um algoritmo, entretanto eles também podem ser representados por meio de fluxogramas.

Apesar de ser uma forma pouco usual, ainda é utilizada na representação de programas em sua documentação.

Introdução à Lógica de Programação

O que é um procedimento?

São blocos dentro do algoritmo que podem ser utilizados em qualquer parte do programa. Podem ser cálculos, instruções, etc.

Dica: os procedimentos não são obrigados a retornar um valor.

O procedimento pode ser encarado como um mini programa que é utilizado cada vez que é chamado.

Ele trabalha com as variáveis globais e com as locais, em que só ele tem acesso.

Introdução à Lógica de Programação

Função

A função se assemelha ao procedimento, principalmente por sua estrutura também ser um bloco de instruções que é utilizado em qualquer parte do programa.

Todavia, para a função, é obrigatório que seja retornado algum valor no fim do código.

Dica: a função sempre fará parte de um comando ou de uma expressão.

 Introdução à Lógica de Programação

Perceba que para se criar um algoritmo é preciso que nos concentremos na resolução do problema.

Treine a resolução de problemas do cotidiano e crie os seus primeiros algoritmos.

Exercícios de Fixação:

  1. Crie um algoritmo que some dois números;
  2. Crie um algoritmo para fritar um ovo;
  3. Crie um algoritmo que divida dois números;
  4. Crie um algoritmo para atravessar a rua;
  5. DESAFIO. Crie um algoritmo que encontre entre dois números, o menor.

Conseguiu criar algum algoritmo? Compartilhe-o no comentários.

O que é uma variável?

lógica de programação

As variáveis “armazenam” os dados nos espaços da memória principal do computador.

Mas cuidado! Esses dados mudam conforme você atribui valores diferentes ao longo do processamento do código.

Os valores de uma variável podem mudar devido à execução das instruções, por isso é que ela pode começar com um valor e terminar com outro completamente diferente.

lógica de programação

Calma! Existem algumas regrinhas na hora de atribuir valores a uma variável.

A primeira delas é que uma variável pode armazenar somente valores de um mesmo tipo. E como é isso?

Como fazer atribuição a uma variável?

Ao criar uma variável, obrigatoriamente devemos especificar o seu nome e o seu tipo.

Na programação, os tipos de variáveis mais comuns são: inteiro, real, caractere e lógico.

Novamente, voltamos aos exemplos da sala de aula. Imaginemos que uma variável seja como uma gaveta.

Nesta gaveta podem ser guardados somente objetos de um mesmo tipo. Tomemos como exemplo uma gaveta só de meias em um guarda-roupas.

Portanto, nessa gaveta, somente serão guardadas meias. Não poderão ser colocadas blusas ou calças jeans.

Perceba que quando você atribui um nome a uma variável e consequentemente o seu tipo, não é possível armazenar um dado de um tipo diferente.

Assim, se a variável é do tipo real, você não pode armazenar um número inteiro ou um caractere.

Do mesmo modo que, se o tipo fosse um caractere, não haveria como armazenar um valor lógico.

Se criarmos uma variável ‘nome’, logo não poderemos armazenar um número.

O ‘nome’ sugere que o seu tipo seja um caractere (String). Dessa forma, a nossa variável ‘nome’ pode receber apenas ‘João’ e não ‘1’ ou ‘true’.

Regras para definir uma variável

Definitivamente não podemos criar uma variável de qualquer jeito. Há regras específicas que auxiliam na organização e atribuição dos seus identificadores, veja:

  • O nome só pode ser iniciado com uma letra. Nada de colocar números, símbolos ou caracteres especiais. Ele só deve ser iniciado com uma letra e sempre minúscula. Ex: media, aluno, valor, sexo, etc;
  • O identificador não pode ter acentos e nem conter espaços. Nada de: média aluno, situação nota, etc. Os nomes das variáveis devem ser escritos sem acentos e, havendo palavras compostas ou mais de uma palavra na sua identificação, deve-se escrevê-las juntas, modificando apenas a inicial da segunda palavra para maiúscula. Ex: mediaAluno, situacaoNota.

Vale lembrar também que uma variável não pode ser identificada com uma palavra reservada. Dessa maneira, palavras reservadas são palavras específicas e pertinentes a uma determinada linguagem.

Tipos de variáveis em Lógica de Programação

Vimos que as variáveis possuem tipos. É importante que você entenda esse conceito, pois será a sua base na criação dos seus primeiros algoritmos.

Os tipos mais comuns de variáveis são inteiro, real, lógico e caractere:

Inteiro: armazena somente números não fracionários. Resumindo, ele não admite números com casas decimais. Pode ser tanto positivo quanto negativo. Ex: 1, 0, 109, 2098558…, etc.

Real: armazena números decimais e também pode ser positivo ou negativo. Ex: 3.14, 1.75, 23.54, etc.

É possível colocar um número inteiro em uma variável do tipo real. Entretanto, uma variável do tipo real ocupa mais espaço do que uma do tipo inteiro. Assim, ao colocar um dado inteiro em uma variável do tipo real, você está fazendo com que ela ocupe mais espaço do que o necessário.

Lógico: O tipo lógico ou boolean só pode armazenar valores como verdadeiro ou falso.

Caractere: armazena caracteres ou símbolos ou qualquer coisa que esteja escrito entre aspas.

Constante: é a única variável que possui o mesmo valor no decorrer do algoritmo. O seu valor não muda. Ele permanece o mesmo desde a sua atribuição no início do código.

Tipos de Expressões na Lógica de Programação

Expressões Aritméticas

As expressões aritméticas retornam um valor numérico como resultado.

Por isso, só podem ser usados operadores e variáveis numéricas.

Lembre-se que a prioridade dos operadores define e comanda a execução da expressão.

Observe o infográfico abaixo:

Operadores Aritméticos - tipos de expressões

Expressões relacionais

Já as expressões relacionais realizam a comparação entre dois valores. Vejamos os seus operadores:

Expressões Lógicas

Por fim, temos as expressões lógicas, que vão resultar em valores verdadeiros ou falsos.

A tabela verdade é feita a partir dessa expressão.

Observe os seus operadores:

Operadores Lógicos - tipos de expressões

Ordem de prioridade das operações

  1. Parênteses e funções;
  2. Potenciação e radiciação;
  3. Multiplicação e divisão;
  4. Adição e subtração;
  5. Operadores relacionais;
  6. Conectivo não;
  7. Conectivo E;
  8. Conectivo Ou.

Analisou bem os operadores de cada tipo de expressão? Estude-os, pois eles são amplamente utilizados na construção dos algoritmos.

Para que servem as estruturas condicionais e de repetição na programação?

Quando estamos aprendendo a programar, começamos pelo básico. Nossos algoritmos são simples, não há decisão a tomar.

O código não é complexo.

Todavia, a medida que evoluímos, nossos algoritmos ficam mais “rebuscados”.

Contudo, isso só é possível graças as estruturas.

Estruturas de Repetição

As estruturas de repetição fazem com que o bloco de código execute uma instrução repetidamente.

Ele repete o código até que haja algo que o faça parar – ou não.

Podemos destacar entre essas estruturas: While, Do-While e For.

While – Enquanto

Esta é uma das estruturas mais usadas na programação. Ela obriga o algoritmo a verificar antecipadamente se o código atende a uma condição específica, testando se é verdadeira.

Se for, ele executa o código que está dentro do bloco. Se não for, a execução do algoritmo segue para outro bloco ou encerra o programa.

Usa-se essa estrutura quando não sabemos quantas vezes o nosso bloco de códigos terá de se repetir.

Observe:

Inicio 
   While (condição ou instrução) {
       código do bloco
  }
Fim

Do-While – Faça Enquanto

Diferentemente da estrutura While, esta obriga o algoritmo a executar o bloco de códigos pelo menos uma vez, antes de verificar se atende ou não às instruções.

Na estrutura While, o bloco só é executado quando a sua condição é verdadeira.

Aqui o bloco é executado antes de verificar se a condição é verdadeira ou falsa.

Inicio
   Do {
     código do bloco
}
   While (condição ou instrução) {
}
Fim

For – Para

Esta estrutura é utilizada quando sabemos quantas vezes o código terá de se repetir.

A estrutura For segue o mesmo princípio das anteriores.

O seu bloco é analisado e caso seu resultado permaneça verdadeiro, ele continuará repetindo as instruções dadas.

Inicio
   for ( int f = 0; f < 10; f++) {
       código do bloco
}
Fim 

Veja que em uma única linha há todas as instruções que o bloco deve executar.

Nota-se que a variável ‘f’ é do tipo inteiro. Ela recebe o valor 0 e, como condição, enquanto o seu valor for menor que 10, ela incrementa mais um.

Estruturas de Condição

Essas estruturas determinam uma condição que, se for verdadeira, o bloco de códigos será executado.

If – Se

A estrutura ‘Se’ é uma condição simples.

Se (condição for verdadeira), execute. É muito usada nos blocos de códigos em que não há muitas instruções ou condições a serem verificadas.

if (condição)
   código do bloco

If – Else – Se – Então

A grande diferença entre essas duas estruturas, é que se o teste da condição for negativo, então há a possibilidade de executar novas instruções, em vez de encerrar o bloco.

if (condição)
  código do bloco
else
  código do bloco

Estas estruturas são essenciais para a construção de algoritmos.

Por isso é importante compreender quando e como elas podem ser utilizadas.

Tabela Verdade

A partir dos estudos e aperfeiçoamentos de Emil Post e Ludwing Wittgenstein, em 1922, a tabela verdade como a conhecemos, foi criada.

Auxiliando matemáticos e programadores no julgamento de proposições, esta tabela é amplamente utilizada na programação e na disciplina de lógica.

Qual é o propósito da tabela verdade?

Amplamente utilizada na disciplina de Lógica Matemática, a tabela verdade auxilia no encontro de possíveis erros na validação de argumentos.

Abaixo, estão os conectivos que julgam as proposições.

Operadores Lógicos

São eles o ‘e’, o ‘ou’ e a ‘negação’.

O operador ‘e’ se chama conjunção, e o seu resultado só será verdadeiro quando as duas proposições forem verdadeiras.

O operador ‘ou’, disjunção, será verdadeiro quando pelo menos uma das proposições for verdadeira.

Já a negação inverterá a proposição, se for verdadeira, ela passará a ser falsa.

Lembre-se que a negação de uma proposição se faz antes de resolver o resto do julgamento.

Para saber mais, leia o post sobre os tipos de expressões na programação.

Tabela Verdade - Lógica de Programação

A programação usufrui bastante dos operadores lógicos.

Tabela ASCII

A Tabela ASCII é utilizada para representar caracteres em diversos dispositivos que imprimem algum texto na tela, incluindo o nosso computador.

Assim, os seus caracteres são ‘traduzidos’ em forma de texto na tela. Observe:

Qual é o propósito da Tabela ASCII?

O seu código padrão é um código binário que codifica um conjunto de 128 sinais, em que 95 são gráficos e 33 de controle. São divididos em:

Sinais Gráficos

  • Letras do alfabeto latino;
  • Sinais matemáticos;
  • Sinais de pontuação.

Sinais de Controle (Não-Imprimíveis)

  • São caracteres especiais utilizados em dispositivos de comunicação.
  • Não representam por si só um símbolo na escrita.
Tabela Ascii - Lógica de Programação
Wikipedia Commons

Conclusão

Com esse material você agora é capaz de exercitar a lógica de programação e se tornar um excelente programador. Você tem a base necessária para o entendimento de qualquer linguagem e, assim, saber construir aplicações que sejam úteis e que solucionem a problemática encontrada.

Continue com os seus estudos. Exercite a sua lógica aumentando o seu aprendizado. Escolha uma linguagem e pratique. Bons estudos!

Gostou do post? Deixe sua opinião nos comentários.

Qual é a sua opinião?