Lógica
Lógica de programação é a organização coesa de uma sequência de instruções voltadas à resolução de um problema, ou à criação de um software ou aplicação.
Por que a lógica de programação é importante?
Everybody in this country should learn how to program a computer because it teaches you how to think." - (Todo mundo neste país deveria aprender a programar porque isso te ensina a pensar)
A frase acima foi dita por Steve Jobs e está cheia de sentido.
É muito comum que muitos estudantes de programação se perguntem por que a lógica de programação é tão importante.
A lógica de programação é importante porque é ela quem nos dá as ferramentas necessárias para executar o processo mais básico no desenvolvimento de alguma aplicação: a criação de seu algoritmo.
Fonte: kenzie.com.br
Antes de criar um software do zero, ou de resolver um problema de um já existente, é necessário descascá-lo até chegarmos ao seu núcleo.
Em outras palavras, precisamos compreendê-lo completamente, desde suas funções a seus objetivos finais — ou seja, pesquisar, rascunhar, dominá-lo na íntegra.
Abaixo, vou deixar alguns aspectos do nosso trabalho e da nossa vida que se beneficiam profundamente da plena compreensão dos conceitos de lógica da programação!
Organização
Ao aprendermos a pensar logicamente, tendemos a uma maior organização de alguns processos.
Seja em nossos ambientes pessoais ou dentro de nossa mente, a ordem é fator determinante para que possamos render mais e ser mais produtivos ao realizar nossas tarefas.
Com lógica de programação, a sua maneira de pensar irá mudar e, com isso, seus processos externos também serão positivamente impactados.
Raciocínio lógico
O raciocínio lógico de um programador é uma de suas maiores ferramentas de trabalho.
Uma máquina é incapaz de compreender ordens não-lógicas, do mesmo modo que são incapazes de raciocinar sobre regras dispostas de maneira desordenada.
E é para isso que a lógica de programação existe: ao aguçar o raciocínio lógico do programador, ele está mais próximo da maneira de pensar de um computador e, portanto, mais habilidoso na hora de desenvolver um código eficiente.
Quanto mais capazes de compreender as coisas ao nosso redor de maneira técnica nós formos, mais eficiente será nosso raciocínio lógico.
Resolução de problemas
Nem só de criação vive um programador; a resolução de problemas também é muito comum em sua jornada de trabalho.
Sob essa perspectiva, podemos dizer que a programação também pode ser entendida como o processo de dividir um problema complexo em pequenas partes para, então, resolvê-las gradualmente a partir de trechos de código.
Sem lógica da programação isso não seria possível, uma vez que o desenvolvimento de um algoritmo de resolução de problemas depende diretamente dela.
Concentração
Como eu disse há pouco, quando nossa maneira de pensar muda, mudam também as formas com que executamos nossos processos externos.
A concentração, por exemplo, é um deles. Se você tem problemas em atingir um bom nível de concentração na hora de trabalhar ou estudar, compreender lógica de programação pode te ajudar.
Isso acontece porque, quanto mais claras as ações que precisamos desempenhar para atingir determinados objetivos, podemos ordená-las e executá-las, uma a uma, de maneira mais categórica e, por consequência, com mais concentração.
Fonte: kenzie.com.br
Variáveis e constantes
Constantes e variáveis são espaços de memória reservados em uma máquina para a manutenção de determinados dados.
Estes dados serão armazenados na memória de um software enquanto ele for executado. Na maioria dos casos, após o seu encerramento, estes dados deixarão de existir.
Os dados constantes, são fixos; os variáveis, variam.
Tipos de dados
Os tipos de dados são os formatos em que as constantes ou variáveis se apresentam. Veja abaixo os quatro tipos mais comuns de dados utilizados em programação.
Texto (Caracter)
Este dado se refere aos dados que se apresentam através de uma sequência de caracteres de texto que possuem apenas letras.
Não é possível representar um dado de texto com números ou caracteres especiais, como símbolos.
Inteiro
O dado inteiro é a primeira classificação de dados numéricos. Este dado serve aos números inteiros, ou seja, sem divisões.
Podem ser positivos ou negativos, como por exemplo 25; 40; 78; -5 e etc.
Real
O dado real é a segunda classificação de dados numéricos. Este dado serve aos números quebrados, ou seja, que possuem casas decimais.
Também pode ser positivos ou negativos, como por exemplo 3,14; 2,5; -8,9 e etc.
Lógico
Este tipo de dado define constantes ou variáveis booleanas que exprimem condições; por exemplo, VERDADEIRO ou FALSO.
Fonte: kenzie.com.br
Tabelas Verdade
Tabela verdade é um dispositivo utilizado no estudo da lógica matemática. Com o uso desta tabela é possível definir o valor lógico de uma proposição, isto é, saber quando uma sentença é verdadeira ou falsa.
Em lógica, as proposições representam pensamentos completos e indicam afirmações de fatos ou ideias.
Utiliza-se a tabela verdade em proposições compostas, ou seja, sentenças formadas por proposições simples, sendo que o resultado do valor lógico depende apenas do valor de cada proposição.
Fonte: todamateria.com.br
NÃO
O retorno será sempre o inverso da sentença, ou seja, se a sentença for verdadeira o retorno será falso e se a sentença for falsa seu retorno será verdadeiro.
E
Para que o retorno seja verdadeiro, todas as sentenças terão de ser verdadeiras.
OU
É necessário que, pelo menos uma sentença seja verdadeira para que o retorno possa ser verdadeiro.
Operadores Relacionais
Os operadores relacionais são utilizados para comparar String de caracteres e números. Os valores a serem comparados podem ser caracteres ou variáveis.
Estes operadores sempre retornam valores lógicos (verdadeiro ou falso). Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize os parênteses.
Laços de Repetição
Um laço de repetição, também conhecido como loop, é uma estrutura fundamental em algoritmos e linguagens de programação que permite executar um bloco de código múltiplas vezes. O propósito de um laço de repetição é realizar tarefas repetitivas de forma eficiente, sem a necessidade de escrever o mesmo código várias vezes.
Aqui estão algumas funções principais dos laços de repetição em algoritmos:
Repetição Controlada: Executar um conjunto de instruções enquanto uma condição específica for verdadeira. Por exemplo, ler dados até que o fim de um arquivo seja alcançado.
Processamento de Coleções: Iterar sobre os elementos de uma coleção de dados, como arrays ou listas, para processá-los individualmente.
Economia de Código: Reduzir a redundância do código, tornando-o mais curto e mais fácil de manter.
Controle de Fluxo: Decidir dinamicamente quantas vezes certas operações devem ser executadas com base em condições que podem mudar durante a execução do algoritmo.
Existem diferentes tipos de laços de repetição, como for, while e do-while, cada um com suas particularidades e casos de uso.
Laços de repetição são ferramentas poderosas que ajudam a tornar os algoritmos mais eficientes e suas funcionalidades mais ricas.