conceitos práticos de lógica de programação · conceito de pseudocódigo os algoritmos são...
TRANSCRIPT
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
Conceito de
AlgoritmoAlgoritmo
2
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
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
Aplicações de Algoritmos
• Engenharia
• Biologia
• Línguas
• Psicologia• Psicologia
• Física
• Matemática
• Artes
5
Tipos de Algoritmos
• Português Estruturado (Pseudocódigo)
• Descrição Narrativa
• Fluxograma (Diagrama de Blocos)• Fluxograma (Diagrama de Blocos)
6
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
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
Conceito de Fluxograma
(Diagrama de Blocos)(Diagrama de Blocos)
9
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
Desenvolvendo
um Algoritmoum Algoritmo
11
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
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
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
15
Exemplo de raciocínio
algorítmico
https://www.youtube.com/watch?v=llX2SpDkQDc 16
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
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
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
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
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
Construção de
AlgoritmosAlgoritmos
22
Conceitos Básicos para Construção
de um algoritmo
•Atribuição
•Condição •Condição
•Repetição
23
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
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
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
Exemplo de repetição
a = 0
a <= 10a <= 10
Tempo (a) Segundos
a = a + 1
27
Elementos básico de um
Fluxograma
28
Algoritmo(Diferença de Idade)
29
Operadores Matemáticos para
Construção de AlgoritmosConstrução de Algoritmos
30
Operadores Matemáticos
•Aritméticos
•Relacionais•Relacionais
•Lógicos
31
Operadores Aritméticos
(+) - soma
(-) - Subtração
(*) - Multiplicação(*) - Multiplicação
(/) - Divisão
(%) - Módulo (Resto da Divisão)
32
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
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
Exemplo de operador relacional
a = 3
b = 4
c = a < b truec = a < b true
c = a != b true
c = a == B false
35
Operadores Lógicos.
And (E) - &&
Or (ou) - ||Or (ou) - ||
Not (não) - !
36
Operador OR (Ou)
A B Saída
0 0 0
0 1 10 1 1
1 0 1
1 1 1
37
Operador AND (E)
A B Saída
0 0 0
0 1 00 1 0
1 0 0
1 1 1
38
Operador Not (Não)
A Saída
1 01 0
0 1
39
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
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
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