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

Milena Emmert

Desenvolvedora de Software e Instrutora na Alura

Proposta

Lógica

  • Linguagem propositiva
  • Processo de argumentação
  • Verdadeiro e falso

essa ave é uma arara.

Proposições

O nome desse homem é thomas jacob black.

curitiba é a atual capital brasileira.

Princípio da não contradição

Uma proposição não pode ser verdadeira e falsa ao mesmo tempo. 

Princípios fundamentais

Princípio do terceiro excluído

Toda preposição ou é verdadeira ou é falsa, isto é, verifica-se sempre um destes casos e nunca um terceiro.

  • O sol é uma estrela.
  • Eu gosto de chocolate.
  • 9 > 3²
  • 9 ≥ 3²

simples

  •  Está chovendo e o céu está nublado.
  • Se está ventando, então as árvores se movem.

COMPostas

Tipos de proposições

Pedro e Maria formam um estranho casal. Pedro mente às quartas, quintas e sextas-feiras, dizendo a verdade no resto da semana. Maria mente aos domingos, segundas e terças-feiras, dizendo a verdade no resto da semana. Certo dia, ambos dizem: “Amanhã é dia de mentir”. Que dia foi este?

– OBM

Operador Operação Exemplo
> Maior que 9 > 4
< Menor que -1 < 4
>= Maior ou igual a 6 >=  5
<= Menor ou igual a 5 <= 5
== Igual 10 == 10
!= Diferente 8 != 2

operadores de comparação

Operador Operação Contexto Exemplo
and
&&
E/AND Uma pessoa pode dirigir um carro se possuir 18 anos ou mais e CNH. idade >= 18 && possuiCNH
or
||
OU/OR Você pode realizar seu cadastro com um documento ou com um comprovante de endereço atualizado. documento || comprovanteDeEndereco
not
!
Negação Altera o valor de falso para verdadeiro ou verdadeiro para falso. !true

operadores lógicos

tabela verdade

Condição X and Condição Y Resultado
true and true true
true and false false
false  and true false
false and false false

Operador && / and

tabela verdade

Condição X or Condição Y Resultado
true or true true
true or false true
false  or true true
false or false false

Operador || / OR

tabela verdade

Operador Operando Resultado
not true false
not false true

Operador ! / not

Lógica aplicada ao operador &&

Lógica aplicada

ao operador ||

Fluxo de dados

Um cliente fez um pedido em nosso site e gostaria de acompanhar o processo de confirmação de pagamento até a entrega em sua casa. Como seria o fluxo desse processo?

  • Sequência finita e ordenada de instruções
  • Recebe dados de entrada, processa esses dados e gera uma saída
  • Pode tratar de decisões e/ou repetições

algoritmo

  • Precisam ser precisos e não ambíguos

algoritmo com estrutura sequencial

algoritmo com estrutura condicional

Um cliente fez um pedido em nosso site e gostaria de acompanhar o processo de confirmação de pagamento até a entrega em sua casa. Como seria o fluxo desse processo?

REGRA DE NEGÓCIO*

fluxo de dados em estrutura condicional simples

Determinar se um número é positivo ou negativo:

código em Python

código em JavaScript

ESTRUTURA CONDICIONAL de múltipla escolha

Determinar se um número é positivo, negativo ou zero:

FLUXO DE DADOS EM ESTRUTURA CONDICIONAL aninhada

Determinar se um número é positivo, negativo ou zero:

Lógica do formulário aplicada ao JavaScript

De forma simplificada, são contâineres para armazenar dados

+1 555-0194

variáveis

numbers

números

2024

10.5

"2024"

"+1 555-0194"

strings

textos

 "TRK@123$abc"

'01/01/2024'

Pedido entregue.

`Pedido entregue.`

booleans

booleanos

true

false

hasTrackingNumber = false

isDelivered = checkDelivery()

tipos de dados

inteiros

flutuantes

Números

textos

Cada linguagem possui suas particularidades.

A forma com que uma linguagem é escrita e organizada é chamada de sintaxe.

exemplo em linguagem fortemente tipada

É um tipo especial de dado, pois também se trata de uma estrutura de dados

listas

ESTRUTURA DE DADOS - PILHAS

ESTRUTURA DE DADOS - FILAS

    Text

EXEMPLOS

    Text

EXErcício

Text

referências

Minimal

By Milena Emmert

Minimal

  • 158