Lógica de Programação Prof. Msc. Raul Paradeda Aula 3 Fluxograma e Pseudocódigo.
Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são...
Transcript of Conceitos Práticos de Lógica de Programação · Conceito de pseudocódigo Os algoritmos são...
![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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/1.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/2.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/3.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/4.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/5.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/6.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/7.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/8.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/9.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/10.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/11.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/12.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/13.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/14.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/15.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/16.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/17.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/18.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/19.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/20.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/21.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/22.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/23.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/24.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/25.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/26.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/27.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/28.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/29.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/30.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/31.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/32.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/33.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/34.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/35.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/36.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/37.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/38.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/39.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/40.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/41.jpg)
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](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6084c3c8c64ed92e9b580608/html5/thumbnails/42.jpg)
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