Lógica de programação para iniciantes

Jozian Rodrigues
sysvale
Published in
12 min readMay 30, 2023

Olá, prezado leitor! É uma grande satisfação ter você aqui comigo nesse breve artigo para iniciantes em lógica de programação. Sou Jozian de Sousa Rodrigues, natural de São Caetano do Sul — SP, mas boa parte da minha vida peregrinei pelo Nordeste, moro em Petrolina — PE, casado, pai de 3 Gatas e 22 peixes. Sou Gestor de Tecnologia da Informação formado pela Faculdade de Ciências Aplicadas e Sociais de Petrolina-PE (Facape). Sou pós-graduado em Tecnologias Digitais Aplicadas à Educação pelo Instituto Federal do Sertão Pernambucano (IFSertãoPE).

Com o conhecimento adquirido fui motivado a escrever este artigo com a intenção de auxiliá-lo(a) na caminhada de aprendizagem a conceitos básicos sobre à Lógica da Programação para iniciantes. Ao longo desta leitura, você irá adquirir os principais conceitos fundamentais da programação e será capaz de entender pequenos comandos de programas utilizando a lógica de programação.

CAPÍTULO 1: O MUNDO DA PROGRAMAÇÃO

Segundo o levantamento feito pelo g1.globo.com o setor de Tecnologia deve gerar aproximadamente 420 mil vagas até 2025. Uma coisa que não é clara para muitos e talvez ainda não esteja claro na sua mente é que, uma das chaves para ingressar nesse mercado desafiador é definida por uma simples palavra “Qualificação”. Acredito que muitas empresas desejam que esta seja uma prática ou se torne comum para pessoas de diferentes idades.

E pensando nos avanços tecnológicos diversas empresas estão aderindo à políticas internas com foco em capacitação continua para seus colaboradores, desde adesão ou no desenvolvimento de plataformas que disponibilizam diversos cursos com apoio de vídeos, pdf, e-books, livros e muito mais. Posso dizer a você que sou prova viva disso, a empresa a qual faço parte, a Sysvale, me proporcionou a experiência de poder começar meus estudos nesse mundo de desenvolvimento ou como muitos dizem o mundo Dev.

Programar é basicamente ensinar uma máquina a resolver problemas, todos já resolvemos problemas e tomamos decisões diariamente, mesmo sem perceber. Um exemplo claro é: lembra aquela receita do bolo? Ou aquele passo a passo para você chegar ao seu trabalho? Ao programar, você organiza e compreende a maneira de como se resolve os problemas. Na verdade, você já toma decisões e realiza tarefas constantemente; programar é apenas ensinar uma máquina a fazer o mesmo.

A programação nada mais é que automatizar decisões e atividades através de instruções para que um dispositivo eletrônico consiga executar tarefas de forma automática. Quando você entende esse conceito, os códigos começam a fazer mais sentido. Para quem quer explorar o mundo da programação, entender o mundo da programação e seus conceitos e a base para a construção de programas de computador e entender como os programas funcionam e como desenvolvê-los de maneira eficiente. Neste artigo, iremos tratar o que é a lógica de programação, como ela funciona e apresentar alguns exemplos básicos.

CAPÍTULO 2: HISTÓRIA DA COMPUTAÇÃO

A história da computação é uma jornada fascinante vivida já a alguns anos. Os primeiros dispositivos de contagem até os sofisticados computadores que temos hoje, tais evoluções vem transformando o mundo. Cientistas, inventores e visionários desenvolveram tecnologias inovadoras ao longo do tempo que permitem o processamento de forma rápida das informações, automação de tarefas e conectividade universal. Podemos afirmar que os principais marcos dessa jornada nos mostram como os computadores se tornaram a força da nossa sociedade atual.

Através da tabela abaixo podemos mostrar de forma detalhada um pouco da evolução até os tempos atuais.

Tabela 1 — História da computação

Fonte: elaborado pelo autor (2023).

Tais computadores ainda utilizam números para processar informações, mas agora não precisamos nos comunicar com eles apenas pelos números. Isso não significa que você precise ser um expert em matemática para trabalhar com computadores. Mas possa te falar que é necessário ter uma mente super aberta para melhorar o pensamento lógico, que é crucial na programação.

Evolução dos computadores:

Figura 1 — Evolução dos computadores

Fonte: https://www.conquerplus.com.br/course/6304127

CAPÍTULO 3: LÓGICA DA PROGRAMAÇÃO

A lógica de programação é a maneira de organizar instruções de forma lógica e sequencial, permitindo a criação de algoritmos para solucionar problemas. Que requerem habilidades como pensamento estruturado, tomada de decisões, repetição de ações e manipulação de dados, com o objetivo de desenvolver soluções eficientes e funcionais. Tal habilidade é extremamente fundamental na programação, possibilitando que os programadores criem programas de computador de maneira clara, lógica e assertiva.

As informações que visualizamos na tela de um computador podem ser transformadas em uma sequência de “zeros” e “uns”. Porém, seria muito complicado se tivéssemos que escrever e modificar a linguagem dos computadores usando somente “zeros” e “uns”, como era feito no passado com os cartões perfurados lembram? Com isto, foram desenvolvidas as linguagens de programação. Ao contrário dos “zeros” e “uns”, essas linguagens utilizam palavras comuns que são mais fáceis de entender e trabalhar com elas. Por exemplo, o branco puro na tela pode ser representado como 11111111 e o número 8 como 1000. As linguagens de programação possuem suas próprias regras e boas práticas, tornando a comunicação entre as pessoas e o computador, assim como entre os programadores, mais simples e eficiente.

Você ainda pode se perguntar qual a diferença entre lógica de programação e linguagem de programação?

A lógica de programação é a maneira de estruturar e organizar instruções de maneira lógica e sequencial, com foco em resolver problemas, já a linguagem de programação são regras e símbolos somados para escrever as instruções de forma compreensível para o computador. Nada mais é que a lógica de programação é a capacidade de pensar e planejar a solução de um problema, independentemente da linguagem utilizada e a linguagem de programação é a ferramenta que permite expressar essa solução em um formato que o computador possa entender e executar.

Ter uma boa lógica de programação é essencial para criar algoritmos eficientes e solucionar problemas de forma lógica, independentemente da linguagem escolhida.

Sequência lógica é a ordem e a conexão coerente de eventos, ações ou instruções, seguindo uma lógica ou raciocínio específico. É a capacidade de organizar passos ou elementos de forma sequencial e coerente, garantindo que cada etapa esteja corretamente relacionada à próxima. Uma sequência lógica é fundamental na programação, pois permite que as instruções sejam executadas na ordem correta e que a lógica do programa seja seguida de maneira consistente.

A lógica pode ser definida como a maneira que usamos para analisar se uma proposição é verdadeira ou falsa. E essa é a sua principal aplicação na programação. Usamos letras do alfabeto para representar as proposições

P, Q, R.

  • características obrigatórias de uma proposição:
  • Sujeito definido
  • Sentido completo
  • Verbo
  • Possibilidade de ser
  • classificada em V ou F
  • Não são proposições:
  • Sentenças muito abertas
  • Sentenças muito amplas
  • Sentenças não objetivas

Os conectivos lógicos são operadores que permitem combinar proposições e construir expressões lógicas mais complexas. Os principais conectivos lógicos são:

  • Conjunção (E): Representada pelo símbolo “E” ou “^”, a conjunção une duas proposições e só é verdadeira se ambas as proposições forem verdadeiras.
  • Disjunção (OU): Representada pelo símbolo “OU” ou “∨”, a disjunção une duas proposições e é verdadeira se pelo menos uma das proposições for verdadeira.

Figura 2 — Conectivos Lógicos

Fonte: https://www.conquerplus.com.br/course/6304127
  • Disjunção exclusiva (→): “ou p, ou q” podemos dizer que é um conectivo lógico que retorna verdadeiro quando apenas uma das proposições é verdadeira e a outra é falsa. Se as proposições tiverem os mesmos valores de verdade, o resultado é falso. É frequentemente usado para verificar a exclusividade de opções em lógica e programação.
  • Condicional (→): Representado pelo símbolo “se…então”, o condicional estabelece uma relação de implicação entre duas proposições. Se a primeira proposição é verdadeira, a segunda também deve ser verdadeira.

Figura 3 — Conectivos Lógicos

Fonte: https://www.conquerplus.com.br/course/6304127
  • Bicondicional (↔): Representado pelo símbolo “se e somente se”, o bi condicional afirma que duas proposições são verdadeiras ou falsas em conjunto. Ambas as proposições devem ter o mesmo valor de verdade para que o bi condicional seja verdadeiro.

Figura 4 — Conectivos Lógicos

Fonte: https://www.conquerplus.com.br/course/6304127

CAPÍTULO 4: ORGANIZAÇÃO COMPUTACIONAL

Entendemos que a programação não apenas se concentra na criação de software, é essencial também compreender o hardware a parte física do computador. O primeiro passo consiste em compreender a organização de um computador, podemos dividir essa organização computacionais da seguinte maneira:

  • Dispositivos de Entrada;
  • Memórias;
  • Unidade Central de Processamento (CPU);
  • Armazenamento de dados;
  • Dispositivos de Saída;

Figura 5 — Componente básicos de um computador

Fonte: elaborado pelo autor (2023).

CAPÍTULO 5: O QUE SÃO ALGORITIMOS?

Algoritmos é um conjunto de instrução sequencial e lógicas que descrevem um procedimento, ou seja, um passo a passo para resolver um problema. Na programação eles são a base ou o ponto chave, permitindo que os desenvolvedores desenvolvam soluções eficientes e automatizadas. Os algoritmos podem ser expressos em linguagens de programação ou de forma mais genérica, usando pseudocódigo. Eles são essenciais para a resolução de problemas computacionais, fornecendo uma abordagem estruturada e organizada para a solução de tarefas simples ou complexas.

A descrição narrativa, o fluxograma convencional e o pseudocódigo são formas de como podemos representar os algoritmos vejamos a explicação detalhada e exemplos de cada um:

Descrição narrativa: é maneira de linguagem natural, onde as fases do algoritmo são descritas em sequência.

Fonte: elaborado pelo autor (2023).

Fluxograma convencional: poderá ser utilizados símbolos e setas para visualizar o fluxo das instruções, ajudando de forma mais clara a entender a ordem e as possíveis decisões no algoritmo.

Fonte: elaborado pelo autor (2023).

Pseudocódigo: é uma junção de linguagem natural com elementos de programação, possibilitando uma descrição mais detalhada das fases do algoritmo.

Vamos para prática:

programa {
funcao inicio() {
escreva("Olá, Mundo novo!")
}
}

Nosso retorno em tela: Olá, Mundo novo!

Cada caso terá suas vantagens e qualquer uma delas poderá ser escolhida de acordo com as preferências e necessidade do programador. Fica a seu critério escolher de acordo com seu contexto específico, das habilidades e proximidade do programador, bem como da clareza e eficiência desejadas na comunicação do algoritmo.

CAPÍTULO 5: VARIÁVEIS E OPERADORES ARITMÉTICOS:

Variáveis constantes são espaços reservados na memória do computador que armazenam valores que não se alteram ao longo do tempo. Ao contrário das variáveis, que podem ser modificadas, as constantes possuem um valor fixo e não são alteradas durante a execução do programa. Por exemplo, o valor de PI é uma constante que não muda. Enquanto as variáveis representam espaços na memória que podem ser alterados, as constantes servem para armazenar valores estáticos e imutáveis.

Podemos dizer que a memória de um computador é o local onde os dados e programas são armazenados e existem dois tipos de memórias:

  • Memória principal, que é aquela que guarda as informações usadas pelo sistema operacional e aplicativos.
  • Memória secundária: que é utilizada para armazenar grandes volumes de dados. Exemplos de memória secundária incluem HDs, SSDs, pen drives e cartões Micro SD.

Para armazenar os dados, a memória funciona como um arquivo com várias gavetas, onde cada gaveta guarda um valor específico.

Tipos de dados:

Em uma memória de um computador, encontramos duas classificações: instruções e dados. As instruções são aquelas responsáveis por orientar o funcionamento de uma máquina e caracterizar como os dados irão ser processados. Por fim os dados são conjuntos de objetos que compartilham um comportamento em relação a um conjunto de operações específicas. Por exemplo, podemos ter dados que representam números ou caracteres, e as instruções indicarão como realizar cálculos ou manipular esses dados de acordo com as necessidades do programa.

Figura 7 — Tipos de dados

Fonte: elaborado pelo autor (2023).

Operadores de atribuição e aritmético:

O operador de atribuição é usado para definir o valor de uma variável em um algoritmo ou programa. Ele é representado pelo sinal de igual (=), que indica que o valor à direita será aplicado à variável à esquerda. Por exemplo, ao escrevermos “x = 5”, estamos atribuindo o valor 5 à variável x. Essa operação é fundamental para armazenar e manipular dados durante a execução de um programa.

programa {
funcao inicio() {
x: inteiro
x = 10 // Utilizando o operador de atribuição para definir o valor de x como 10
escreva("O valor de x é: ", x)
}
}

Nosso retorno em tela: O valor de x é: 10

Acredito que você lembre das expressões matemáticas que resolvíamos na escola, cheias de números e operadores como SOMA, SUBTRAÇÃO e MULTIPLICAÇÃO etc. Você sabe que na expressão 2 + 2 o sinal + é um operador que representa a soma. Correto? E sabe que essa expressão resulta no valor de (4). Procede? Então, você já entendeu o sentido dos operadores, assim devemos relacionar valores para resultar um outro valor.​

Existem 3 tipos de operadores: Aritméticos​, Lógicos​ e Relacionais​. Entender como funciona cada operador é muito importante para aprender programação mesmo que a representação simbólica possa variar entre as linguagens. Todos os programas utilizam operadores para realizar suas tarefas.

Operadores relacionais e lógicos:

Operadores relacionais são usados para comparar valores (de qualquer tipo), e dar como resultado de uma expressão relacional, ou seja, um valor booleano (VERDADEIRO ou FALSO). Representados por: igual​, diferente​, maior​, menor​, maior ou igual​, menor ou igual ​(Representados na tabela abaixo).

Não requer aqui explicar cada um, pois eles são autoexplicativos. Mas vale lembrar que para quem está iniciando em desenvolvimento de softwares, algumas informações podem ser importantes, principalmente pelo fato de haver diferença entre linguagens de programação se liga.

Tabela 3 — Operadores lógicos

Fonte: elaborado pelo autor (2023).

Os Operadores lógicos também conhecido como operadores booleanos, são usados para combinar resultados de expressões relacionais e retornar um valor booleano, que pode ser verdadeiro ou falso. Esses operadores nos permitem ter opções de criar condições mais complexas quando lidamos com a programação, pois proporcionam a avaliação de múltiplas expressões e a tomada de decisões com base nesses resultados.

  • O operador “e” retorna verdadeiro apenas se ambas as expressões forem verdadeiras.
  • O operador “ou” retorna verdadeiro se pelo menos uma das expressões for verdadeira.
  • O operador “não” inverte o valor de verdadeiro para falso e vice-versa.

Tabela 4 — Operadores lógicos

Fonte: elaborado pelo autor (2023).
programa {
funcao inicio() {
real nota, frequencia
escreva("Nota: ") leia(nota)
escreva("Frequência: ") leia(frequencia)
se (nota > 7 e frequencia >70){ escreva ("Aprovado.")
}
}

Nosso retorno em tela:

Nota: 10

Frequência: 100

Aprovado.

CAPÍTULO 6: ESTRUTURAS DE DECISÃO E REPETIÇÃO

Podemos dizer que as estruturas de decisão foram criadas para gerir o fluxo e a execução de um programa com base em afirmações específicas, vejamos:

  • A estrutura “SE” executa um bloco de código se uma condição for verdadeira.
  • A estrutura “ENQUANTO” executa repetidamente um bloco de código enquanto uma condição for verdadeira.
  • A estrutura “FAÇA-ENQUANTO” executa um bloco de código pelo menos uma vez e, em seguida, verifica se uma condição seja verdadeira para continuar executando ou não. Tais fluxos nos permitem criar programas mais dinâmicos e adaptáveis, controlando a execução com base em condições específicas.

Tabela 5 — Estrutura de decisão

Fonte: elaborado pelo autor (2023).

Algumas possibilidades de como usar as estruturas:

se media < 10 entao
escreva("Reprovado")

enquanto media < 10 entao
escreva("Reprovado")

faca {
escreva("Esse é meu resultado \n")
} enquanto nota1 <= 5

A lógica de programação é um pontapé inicial na área da programação, podemos dizer que é o alicerce inicial, é onde iremos desenvolver pequenas soluções simples e eficientes, no começo confesso que é de forma desorganizada as vezes de maneira meio confusa, mas à medida que formos praticando vamos entendendo e melhorando aos poucos. Um dia por vez, mas calma MACHO, com foco e determinação iremos entender os princípios básicos da lógica de programação, e nós vulgos iniciantes iremos adquirindo mais habilidades essenciais e continuaremos crescendo e aprendendo a resolver problemas e desenvolver melhores e novos algoritmos.

Em resumo, a lógica de programação é o ponto de partida crucial para qualquer pessoa iniciante na programação. Ela no auxilia com fundamentos necessários para construir algoritmos eficientes, desenrolando problemas e desenvolvendo as famosas habilidades de pensamento lógico. Com uma estrutura firme em lógica de programação, por fim nós meros iniciantes estamos designados á explorar diferentes linguagens de programação e aumentar nossos conhecimentos no campo da computação.

Deus abençoe.

Bons estudos!

REFERÊNCIAS

G1.GLOBO.COM/. Área de TI deve gerar quase 420 mil vagas até 2025, mas faltam profissionais. Disponível em: https://g1.globo.com/jornal-hoje/noticia/2023/03/13/area-de-ti-deve-gerar-quase-420-mil-vagas-ate-2025-mas-faltam-profissionais.ghtml. Acesso em: 12 mai. 2023.

CONQUERPLUS.COM.BR. Lógica de programação. Disponível em: https://www.conquerplus.com.br/search?keyword=L%C3%B3gica+de+programa%C3%A7%C3%A3o. Acesso em: 1 mai. 2023.

--

--