Você está na página 1de 38

Algoritmos e Lógica de Programação

Prof. Ivan Fontainha


ivan.alvarenga@pitagoras.com.br
Algoritmos e Lógica de Programação
Teremos um grupo de discussão para a disciplina:

▪ Link do grupo do WhatsApp 2023-1:

https://chat.whatsapp.com/JzDPIvijlvxEHYT1Jwrkzw

2
Bibliografia

• ARTERO, Marcio Aparecido; SCHEFFER, Vanessa


Cadan. Algoritmos e lógica de programação.
Londrina: Editora e Distribuidora Educacional S.A.,
2018.

• FORBELLONE, A. L., EBERSPACHER, H., Lógica de


Programação, Makron Boorks, 1993.

• MANZANO, José Augusto N. G. & OLIVEIRA, Jayr


Figueiredo de, Algoritmos e Lógica para
Desenvolvimento de Programação de
Computadores, Érica, 1997.

3
Lógica – O que é?
Introdução a Lógica

▪ Palavra lógica esta relacionado à coerência e


racionalidade.

▪ Lógica pode ser relacionada com a “correção do


pensamento”, pois uma das nossas preocupações é
saber se um pensamento tem ou não lógica, isto é,
se ele é válido ou não é válido.

4
Lógica – O que é?
Introdução a Lógica

▪ “A lógica é a arte de pensar corretamente ou a lógica


é um estudo dos modos corretos do pensamento”
(SOARES, 2014, p. 1).

▪ Segundo Forbellone (2005, p. 1), “podemos


relacionar a lógica com a correção do pensamento,
pois uma de suas preocupações é determinar quais
operações são válidas e quais não são, fazendo
análises das formas e leis do pensamento”

5
Lógica – O que é?
Introdução a Lógica

▪ Sempre que você pensa de forma ordenada e


racional está pensando de forma lógica.

▪ Veja este exemplo:

▪ Podemos dizer:

6
Lógica
Lógica de Boole

▪ Segundo Alves (2014), George Boole foi um


matemático e filósofo que, no século XIX, defendeu a
ideia de que o raciocínio humano poderia ser
expresso em termos matemáticos, por meio da lógica
formal desenvolvida pelos gregos, mais
precisamente pelo filósofo Aristóteles.

▪ Por meio desse raciocínio originou-se a Álgebra de


Boole ou Álgebra Booleana.

7
Lógica
Lógica de Boole

▪ É sabido que esse tipo de álgebra é embasado na


lógica binária.

▪ A lógica binária possui duas representatividades,


“falso” e “verdadeiro” ou “0” e “1”.

▪ Em relação aos seus operadores, são definidos AND,


OR e NOT, ou seja, E, OU e NÃO, onde:

▪ (“E”) é a conjunção,

▪ (“OU”), a disjunção e
8
▪ (NÃO), a negação.
Lógica
Lógica de Boole

▪ Explicando melhor seus operadores, veremos que:


▪ Conjunção (“E”):
▪ somente se as duas representatividades forem
verdadeiras, a resposta será verdadeira.
▪ Disjunção (“OU”):
▪ se pelo menos uma de suas
representatividades for verdadeira, a
resposta será verdadeira.
▪ Negação (NÃO):
▪ quando uma representatividade for verdadeira,
a resposta será falsa e
▪ quando uma representatividade for falsa, a
resposta será verdadeira.
9
Lógica
Lógica de Boole

▪ Vejamos a tabela a seguir (Tabela Verdade):

10
Lógica
Lógica de Boole

▪ Vejamos a tabela Verdade usando números binários:

11
Lógica
Lógica de Boole

▪ Aplicação da tabela Verdade:

12
Lógica
Linguagem Proposicional

▪ Ao apresentarmos uma linguagem formal,


precisamos inicialmente fornecer os componentes
básicos da linguagem, chamados de alfabeto, para
em seguida fornecer as regras de formação da
linguagem, também chamadas de gramática. (SILVA,
2006, p. 8).

▪ Desta maneira temos alguns elementos que fazem a


conectividade da nossa linguagem.

13
Lógica
Linguagem Proposicional

▪ Vejamos os elementos que representam estes


conectores:

▪ O conectivo unário negação (lê-se “NÃO”):


▪¬
▪ ~ (em alguns livros)
▪ ! (em C++)

▪ O conectivo binário conjunção (lê-se “E”):


▪^
▪ && (em C++)

14
Lógica
Linguagem Proposicional

▪ Vejamos os elementos que representam estes


conectores:

▪ O conectivo binário disjunção (lê-se “OU”):


▪ v
▪ || (em C++)

▪ O conectivo binário implicação (lê-se


“SE .. ENTÃO”):
▪→
▪ = (“recebe” em C++)

15
Lógica
Linguagem Proposicional

▪ Veja um exemplo de aplicação de proposições:

▪ OBS: Usaremos em letras minúsculas p, q, r e s para


compor as fórmulas da linguagem proposicional, e A,
B, C e D serão a representação das fórmulas.

▪ Exemplo:
▪ (q → ¬ q)
▪ neste formato podemos dizer que (A → B),
▪ Ou seja:
▪ A= q e B= ¬ q

16
Lógica
Linguagem Proposicional

▪ Procedências de solução de proposições:

Ordem Operadores
1º ¬,~,!

2º ^ , &&
2º v , ||
3º →

17
Algoritmos
Algoritmos – o que é?

▪ Uma sequencia de passos que visam a atingir um


objetivo bem definido (Forbellone, 2000).

▪ Segundo Markenzon (1994), algoritmos são definidos


como o processo sistemático para a resolução de um
problema.

▪ Berg e Figueiró (1998) descrevem algoritmo como


uma sequência ordenada de passos que deve ser
seguida para a realização de uma tarefa.

18
Algoritmos
Algoritmos – o que é?

▪ Na medida que precisamos utilizar uma sequencia


de passos, precisamos de utilizar uma ordem, ou
seja, “pensar com ordem”, portanto, precisamos
utilizar lógica.

▪ Podemos descrever o funcionamento de um


algoritmos na seguinte figura:

19
Algoritmos
Algoritmos – o que é?

▪ De acordo com esse modelo:

▪ as entradas dos algoritmos são caracterizadas


pelos elementos (dados) a serem fornecidos
inicialmente;

▪ o processamento será definido pela execução das


ações sobre os dados de entrada e sobre dados
intermediários gerados durante esta execução, e

▪ a saída será a solução do problema ou o objetivo


atingido.
20
Algoritmos
Variáveis

▪ Pensar em variáveis é pensar em algo que pode


sofrer variações.
▪ Todos os dados a serem armazenados na memória
de um computador devem ser previamente
identificados.
▪ EX: Um grande arquivo – onde temos pastas e
etiquetas em cada pasta.

21
Algoritmos
Variáveis – Tipos de dados

▪ Dados Numéricos:

▪ Inteiro: são os dados numéricos positivos ou


negativos.
Ex: 10, 0, -5

▪ Real: são dados numéricos positivos, negativos ou


fracionados.
Ex: 10, 0, -5, 1258, -9695, 2.36, -5.98

22
Algoritmos
Variáveis – Tipos de dados

▪ Dados Literais ou Caracteres:

▪ É a sequência de dados contendo letras, números


e símbolos especiais:
▪ Ex:
▪ “Engenharia”
▪ “Av. Antonio Carlos, 2500”
▪ “ 5806”
▪ “1R$”

23
Algoritmos
Variáveis – Tipos de dados

▪ Dados Booleanos:

▪ São dados representados por valores verdadeiro


ou falso, isto é, podem assumir apenas duas
situações – Verdadeiro ou Falso
▪ Ex: V ou F , 0 ou 1

24
Algoritmos
Variáveis

▪ Regras para a utilização de nomes das variáveis:


▪ Podem ter 1 ou mais caracteres.
▪ Ex: teste, Nomeusuario
▪ 1º caractere do nome não pode ser numérico.
▪ Ex: 1x, 5usuários
▪ O nome não poderá possuir espaços em branco.
▪ Ex: Nome do usuário
▪ Não poderá ter como nome uma palavra
reservada.
▪ Ex: leia, imprime (isto depende da linguagem).
▪ Não pode ser utilizados outros caracteres a não
ser letras e números:
▪ Ex: 1#, Valor$.
25
Algoritmos
Variáveis - Exercícios

▪ Marque os nomes que podemos utilizar como nomes


de variáveis e justifique os que não foram marcados:

( ) nome ( ) valor_1 ( ) nun8


( ) aluno 2 ( ) escreva ( ) x#
( ) 8x ( ) R$ ( ) valor
( ) y85x ( ) nun8$ ( ) 85val
( ) valor_2x ( ) valor 25 ( ) leia
( ) x ( ) #nome ( ) numero

26
Algoritmos
Constantes

▪ Tudo aquilo que é fixo ou estável:


▪ Ex: Um valor de uma fórmula em que usaremos
em todo o nosso algoritmo.
Formula:
resultado = entrada * 2.49

Onde para acharmos o resultado desta fórmula,


sempre utilizaremos o número digitado pelo
usuário (entrada) multiplicado pela valor constante
‘2.49’ .

27
Algoritmos
Operadores

▪ Utilizaremos os operadores para criar expressões


aritméticas com as variáveis e constantes:

▪ Tipos de operadores:

▪ Operadores aritméticos;

▪ Operadores relacionais;

▪ Operadores lógicos.

28
Algoritmos
Operadores Aritméticos

▪ Conjunto de símbolos que representam as operações


básicas da matemática.
▪ Adição +
▪ Subtração -
▪ Multiplicação *
▪ Divisão /
▪ Racionalização: sqrt Ex: sqrt (36) = 6
▪ Potencialização: pow Ex: pow (3,2) = 9
▪ Resto da divisão: % Ex: 9 % 4 = 1
▪ Quociente da divisão: div Ex: 5 div 2 = 2

29
Algoritmos
Operadores Relacionais

▪ Operadores utilizados para comparar dois valores de


um mesmo tipo primitivo (constantes, variáveis ou
expressões aritméticas) .
▪ Igual a ==
▪ Maior que >
▪ Menor que <
▪ Maior ou igual >=
▪ Menor ou igual <=
▪ Diferente de <> ou !=

30
Algoritmos
Operadores Lógicos

▪ Utilizamos 3 conectivos básicos para a formação de


novas proposições lógicas compostas a partir de outras
proposições lógicas simples.
▪ Negação não
▪ Conjunção e
▪ Disjunção ou

31
Algoritmos
Operadores Lógicos

▪ Prioridade entre os operadores lógicos.

1. Nao

2. E ou

32
Algoritmos
Operadores

▪ Prioridade entre os todos os operadores.

1. Parênteses mais internos

2. Operadores aritméticos

3. Operadores relacionais

4. Operadores lógicos

33
Algoritmos
Operadores

Exemplos:
1. 2 < 5 e 15 / 3 == 5 2. F ou 20 div ( 18 / 3 ) != ( 21 / 3 ) % 2
2 < 5 e 5 == 5 F ou 20 div 6 != 7 % 2
V e V F ou 3 != 1
V F ou V
V

3. Não V ou pow ( 3 , 2 ) / 3 < 15 - 35 % 7


Não V ou 9 / 3 < 15 - 0
Não V ou 3 < 15
Não V ou V
F ou V
V

34
Algoritmos
Operadores
Exemplos:
4. Não (( 5 != 10 / 2 ) ou V e 2 – 5 > 5 – 2 ou V)
Não (( 5 != 5 ) ou V e - 3 > 3 ou V)
Não ( F ou V e F ou V)
Não ( V e F ou V )
Não ( F ou V)
Não ( V )
F

5. pow ( 2 , 4 ) != 4 + 2 ou 2 + 3 * 5 / 3 % 5 < 0
16 != 6 ou 2 + 15 / 3 % 5 < 0
16 != 6 ou 2 + 5 % 5 < 0
16 != 6 ou 2 + 0 < 0
16 != 6 ou 2 < 0
16 != 6 ou F
V ou F
35
V
Algoritmos
Operadores - Exercícios

1. 5 + 10 / 2 - 2 * 6
5 + 5 - 12
-2

2. pow ( 3 , 2) - 8 / 2 + sqrt ( 20 + 11 - 2 * 3 )
9 - 4 + sqrt ( 20 + 11 - 6 )
9 - 4 + sqrt ( 25 )
5 + 5
10

36
Algoritmos
Operadores - Exercícios

3. ( 8 - 12 / 2 ) > 5 e ( 4 * 3 - 10 ) == 2
(8 - 6 ) >5 e ( 12 - 10 ) == 2
2 >5 e 2 == 2
F e V
F

4. Não ( 7 == 25 / 5 ) ou F e ( (14 % 3 - 8) < (- 5) )


Não ( 7 == 5 ) ou F e ( ( 2 - 8 ) < -5)
Não F ou F e ( -6 < -5 )
V ou F e V
V e V
V

37
Algoritmos
Operadores - Exercícios

5. F ou ( 15 div 4 < 49 / 7 ) ou ( 5 * 2 > 25 - 20 div 2 )


F ou ( 3 < 7 ) ou ( 10 > 25 - 10 )
F ou V ou ( 10 > 15 )
V ou F

V
6. (Não ((5 > 10) e (2 == 2 * 5 - 8) ou (49 / 7 % 7 < 1))) ou 5 > 2 + 3
( Não ( F e ( 2 == 10 - 8) ou ( 7 % 7 < 1 )))ou 5 > 5
( Não ( F e ( 2 == 2 ) ou ( 0 < 1 ) ) ) ou F
( Não ( F e V ou V ) ) ou F
( Não ( F ou V ) ou F
Não V ou F
F ou F
F
38

Você também pode gostar