42
Faculdade de Engenharia da Computação Faculdade de Engenharia da Computação Faculdade de Engenharia da Computação Faculdade de Engenharia da Computação Disciplina: Lógica de Programação Conceitos Práticos de Lógica de Programação 1 Programação Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis Wagner Santos C. de Jesus

Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Faculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoDisciplina: Lógica de Programação

Conceitos Práticos de Lógica de Programação

1

Programação

Site : http://www1.univap.br/~wagner/ec.htmlProf. Responsáveis

Wagner Santos C. de Jesus

Page 2: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Conceito de

AlgoritmoAlgoritmo

2

Page 3: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Definição de Algoritmo

Um algoritmo é formalmente uma seqüênciafinita de passos que levam a execução de umatarefa. Podemos pensar em algoritmo comouma receita, uma seqüência de instruções quedão cabo de uma meta específica. Estas tarefasdão cabo de uma meta específica. Estas tarefasnão podem ser redundantes nem subjetivas nasua definição, devem ser claras e precisas.

3

Page 4: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Formas de descrever um Algoritmos

• Pseudo código

• Escrita formal em uma Linguagem

de Programação.de Programação.

• Expressões Matemáticas

• Simbologias

4

Page 5: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Aplicações de Algoritmos

• Engenharia

• Biologia

• Línguas

• Psicologia• Psicologia

• Física

• Matemática

• Artes

5

Page 6: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Tipos de Algoritmos

• Português Estruturado (Pseudocódigo)

• Descrição Narrativa

• Fluxograma (Diagrama de Blocos)• Fluxograma (Diagrama de Blocos)

6

Page 7: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Exemplo de Português Estruturado

Algortimo

Inicio

Declare n1,n2, m Numerico

Escreva “Digite dois números”Escreva “Digite dois números”

Leia n1, n2

M � n1 * n2

Escreva “Multiplicação = “, M

fim

7

Page 8: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Descrição Narrativa

1. Obter as duas notas

2. Calcular a média

3. Se media for maior ou igual 7 3. Se media for maior ou igual 7

4. O aluno foi Aprovado

5. Senão o aluno não foi aprovado

8

Page 9: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Conceito de Fluxograma

(Diagrama de Blocos)(Diagrama de Blocos)

9

Page 10: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Conceito de Fluxograma

Fluxograma é uma representação de

um processo que utiliza símbolos

gráficos para descrever passo a passográficos para descrever passo a passo

a natureza das idéias e o fluxo.

10

Page 11: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Desenvolvendo

um Algoritmoum Algoritmo

11

Page 12: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Procedimento para

montagem

O algoritmo deve ser fácil de se

interpretar e fácil de codificar. Ou seja, eleinterpretar e fácil de codificar. Ou seja, ele

deve ser o intermediário entre a linguagem

falada e a linguagem de programação.

12

Page 13: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Conceito de pseudocódigo

Os algoritmos são descritos em uma

linguagem chamada pseudocódigo. Este

nome é uma alusão à posterior

implementação em uma linguagem de

programação.

Exemplo:

Inicio

leia(n)

escreva(n)

fim13

Page 14: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Regras para construção de

algoritmos

1. Usar somente um verbo por frase

2. Imaginar que você está desenvolvendo

um algoritmo que será compartilhado um algoritmo que será compartilhado

com outras pessoas.

3. Usar frases curtas e simples

4. Ser objetivo

5. Procurar usar palavras que não tenham

sentido dúbio14

Page 15: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

15

Page 16: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Exemplo de raciocínio

algorítmico

https://www.youtube.com/watch?v=llX2SpDkQDc 16

Page 17: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Algoritmos Genéticos

Algoritmos genéticos são uma classe particular e algoritmos

evolutivos que usam técnicas inspiradas pela biologia

evolutiva como hereditariedade, mutação, seleção

natural e recombinação.

A = (V, Σ ,S,P)V = Conjunto de variáveis. {CO,O }V = Conjunto de variáveis. {CO,O2}Σ = Estado das variáveis. {0,1}S = Símbolo inicial a ser considerado. {CO}P = População (número de elementos).

Monóxido de Carbono atacando células Pulmonares

17

Page 18: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Teste de Mesa (Simulação)

Após desenvolver um algoritmo ele

deverá sempre ser testado. Este teste é

chamado de TESTE DE MESA (Simulação),

que significa, seguir as instruções doque significa, seguir as instruções do

algoritmo de maneira precisa para verificar

se o procedimento utilizado está correto ou

não.

18

Page 19: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Teste de Mesa

(Descrição Narrativa)

1. Receber código da peça

2. Receber valor peça

3. Receber quantidade de peça

4. Calcular o valor total de peça Quantidade * Valor4. Calcular o valor total de peça Quantidade * Valor

5. Mostrar Código da peça e o Valor Total

Código Valor Quantidade Total

540.00 * 30

AF3289 540.00 30 16,200.00

19

Page 20: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Problema Exemplo

Duas pessoas desconhecidas A e B

forneceram suas idades para realização de

uma pesquisa. Determinar quantos anos deuma pesquisa. Determinar quantos anos de

diferença de idade existe entre A e B.

20

Page 21: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Solução Problema

1. Entrar com a idade de A

2. Entrar com a idade de B

3. Subtrair a idade A da Idade de B3. Subtrair a idade A da Idade de B

4. Mostra resultado da subtração

21

Page 22: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Construção de

AlgoritmosAlgoritmos

22

Page 23: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Conceitos Básicos para Construção

de um algoritmo

•Atribuição

•Condição •Condição

•Repetição

23

Page 24: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Atribuição

Vem a ser quando uma variável ou

espaço reservado na memória são

ocupados por valores ou resultadosocupados por valores ou resultados

de expressões lógicas, aritméticas e

de símbolos alfanuméricos.

Exemplo: X = 1

24

Page 25: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Condição

Vem a ser uma verificação de quando um

prerrogativa acontece ou não devendo ser

executada uma tarefa em caso de afirmação

de tal prerrogativa.de tal prerrogativa.

Exemplo: Se (saldo < 0) “Saldo Negativo”

caso contrário “Saldo Positivo”

25

Page 26: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Repetição

Ocorre quando uma determinada tarefa precisaser executada dentro de um intervalo deiterações definido pelo problema e ounecessidade do processo.

Exemplo: Tempo 1 Segundo

Tempo 2 Segundo

Tempo 3 Segundo

:

26

Page 27: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Exemplo de repetição

a = 0

a <= 10a <= 10

Tempo (a) Segundos

a = a + 1

27

Page 28: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Elementos básico de um

Fluxograma

28

Page 29: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Algoritmo(Diferença de Idade)

29

Page 30: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Operadores Matemáticos para

Construção de AlgoritmosConstrução de Algoritmos

30

Page 31: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Operadores Matemáticos

•Aritméticos

•Relacionais•Relacionais

•Lógicos

31

Page 32: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Operadores Aritméticos

(+) - soma

(-) - Subtração

(*) - Multiplicação(*) - Multiplicação

(/) - Divisão

(%) - Módulo (Resto da Divisão)

32

Page 33: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Exemplo de operações aritméticas

bac +=

bac −=

bac .=

bac +=

bac +=

bac *=

Convencional Computacional

bac .=

k

x

b

ac −=

)(3 bac −=

bac *=

)/()/( kxbac −=

)(*3 bac −=33

Page 34: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Operadores Relacionais

>- Maior que

< - Menor que

= = - Igual a ( somente para números)= = - Igual a ( somente para números)

!= - Diferente de

>= - Maior ou Igual

<= - Menor ou Igual

34

Page 35: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Exemplo de operador relacional

a = 3

b = 4

c = a < b truec = a < b true

c = a != b true

c = a == B false

35

Page 36: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Operadores Lógicos.

And (E) - &&

Or (ou) - ||Or (ou) - ||

Not (não) - !

36

Page 37: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Operador OR (Ou)

A B Saída

0 0 0

0 1 10 1 1

1 0 1

1 1 1

37

Page 38: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Operador AND (E)

A B Saída

0 0 0

0 1 00 1 0

1 0 0

1 1 1

38

Page 39: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Operador Not (Não)

A Saída

1 01 0

0 1

39

Page 40: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Exemplo de operador lógico

a = 3

b = 4

c = ((a+b) > b) && (a < b ) truec = ((a+b) > b) && (a < b ) true

c = (a != b) || (a > b) true

c = !(a != b) false

40

Page 41: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Exercício Proposto

Paulinho tinha n balas e Pedrinho tinha três

vezes as balas de Paulinho e ainda ganhou mais

cinco balas de sua avó. Com Quantas bala ficoucinco balas de sua avó. Com Quantas bala ficou

Pedrinho.

41

Page 42: Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior

Formalização de um Algoritmo

• Atribuição:

a <- n

• Condição:

se() [então, Senão]se() [então, Senão]

• Repetição:

Para()

Enquanto()

42