Upload
doanxuyen
View
225
Download
0
Embed Size (px)
Citation preview
Disciplina Algoritmos e Programação
(Conceitos Práticos de Lógica de Programação)
Prof. Wagner Santos C. de [email protected]
Curso: Análise e Desenvolvimento de Sistemas
Conceito de Algoritmo
2
Definição de Algoritmo
Um algoritmo é formalmente uma seqüência finita depassos que levam a execução de uma tarefa. Podemospensar em algoritmo como uma receita, umaseqüência de instruções que dão cabo de uma metaespecífica. Estas tarefas não podem ser redundantesnem subjetivas na sua definição, devem ser claras eprecisas.
3
Formas de descrever um Algoritmos
• Pseudo código• Escrita formal em uma Linguagem
de Programação• Expressões Matemáticas• Simbologias
4
Aplicações de Algoritmos
• Engenharia • Biologia• Línguas• Psicologia• Física• Matemática• Artes
5
Tipos de Algoritmos
• Português Estruturado (Pseudocódigo)• Descrição Narrativa• Fluxograma (Diagrama de Blocos)
6
Exemplo de Português Estruturado
AlgortimoInicio
Declare n1,n2, m NumericoEscreva “Digite dois números”Leia n1, n2M � n1 * n2 Escreva “Multiplicação = “, M
fim
7
Descrição Narrativa
1. Obter as duas notas2. Calcular a média3. Se media for maior ou igual 7 4. O aluno foi Aprovado5. Senão o aluno não foi aprovado
8
Conceito de Fluxograma (Diagrama de Blocos)
9
Conceito de Fluxograma
Fluxograma é umarepresentação de um processoque utiliza símbolos gráficos paradescrever passo a passo anatureza das idéias e o fluxo.
10
Desenvolvendo um Algoritmo
11
Procedimento para montagem
O algoritmo deve ser fácil de seinterpretar e fácil de codificar. Ou seja,ele deve ser o intermediário entre alinguagem falada e a linguagem deprogramação.
12
Conceito de pseudocódigo
Os algoritmos são descritos em umalinguagem chamada pseudocódigo.Este nome é uma alusão à posteriorimplementação em uma linguagem deprogramação.
Exemplo:
Inicioleia(n)escreva(n)
fim13
Regras para construção de algoritmos
1. Usar somente um verbo por frase2. Imaginar que você está
desenvolvendo um algoritmo que será compartilhado com outras pessoas.
3. Usar frases curtas e simples4. Ser objetivo5. Procurar usar palavras que não
tenham sentido dúbio 14
15
Teste de Mesa (Simulação)
Após desenvolver um algoritmo eledeverá sempre ser testado. Esteteste é chamado de TESTE DE MESA(Simulação), que significa, seguir asinstruções do algoritmo de maneiraprecisa para verificar se o procedimentoutilizado está correto ou não.
16
Teste de Mesa (Descrição Narrativa)
1. Receber código da peça2. Receber valor peça3. Receber quantidade de peça4. Calcular o valor total de peça (Quantidade *
Valor de peças)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
17
Problema Exemplo
Duas pessoas desconhecidas A e Bforneceram suas idades para realizaçãode uma pesquisa. Determinar quantosanos de diferença de idade existe entreA e B.
18
Solução Problema
1. Entrar com a idade de A2. Entrar com a idade de B3. Subtrair a idade A da Idade de B4. Mostra resultado da subtração
19
Construção de Algoritmos
20
Conceitos Básicos para Construção de um algoritmo
•Atribuição •Condição •Repetição
21
Atribuição
Vem a ser quando uma variávelou espaço reservado na memóriasão ocupados por valores ouresultados de expressões lógicas,aritméticas e de símbolosalfanuméricos.
Exemplo: X = 1
22
Exemplo de raciocínio algorítmico atribuição
23
5=A B
B= 55
5
Atribuição de valores usando variáveis
CondiçãoVem a ser uma verificação de quando umprerrogativa acontece ou não devendo serexecutada uma tarefa em caso de afirmação detal prerrogativa.
Exemplo: Se (saldo < 0) “Saldo Negativo”caso contrário “Saldo Positivo”
25
Repetição
Ocorre quando uma determinada tarefa precisa serexecutada dentro de um intervalo de iterações definidopelo problema e ou necessidade do processo.
Exemplo: Tempo 1 SegundoTempo 2 SegundoTempo 3 Segundo
:
26
Exemplo de repetição
a = 0a <= 10
Tempo (a) Segundosa = a + 1
27
Elementos básico de um Fluxograma
28
Algoritmo(Diferença de Idade)
29
Operadores Matemáticos para Construção de
Algoritmos
30
Operadores Matemáticos
•Aritméticos•Relacionais•Lógicos
31
Operadores Aritméticos
(+) - soma(-) - Subtração(*) - Multiplicação(/) - Divisão(%) - Módulo (Resto da Divisão)
32
Operadores Aritméticos
33
Exemplo de operações aritméticas
bac +=
bac −=
bac .=
k
x
b
ac −=
)(3 bac −=
bac +=
bac *=
Convencional Computacional
)/()/( kxbac −=
)(*3 bac −=34
Operadores Relacionais
>- Maior que< - Menor que= = - Igual a ( somente para números)!= - Diferente de>= - Maior ou Igual<= - Menor ou Igual
35
Exemplo de operador relacionala = 3b = 4
c = a < b true c = a != b truec = a == B false
36
Operadores Lógicos.
And (E) - &&Or (ou) - ||Not (não) - !
37
Operador OR (Ou)
A B Saída
0 0 0
0 1 1
1 0 1
1 1 1
38
Operador AND (E)
A B Saída
0 0 0
0 1 0
1 0 0
1 1 1
39
Operador Not (Não)
A Saída
1 0
0 1
40
Exemplo de operador lógicoa = 3b = 4
c = ((a+b) > b) && (a < b ) true c = (a != b) || (a > b) truec = !(a != b) false
41
Exemplo de Operações Relacionais
42
B = 9 e C = 9
43
A = B > C
A = Falso
B = 9 e C = 9
44
A = B >= C
A = Verdadeiro
B = 9 e C = 9
45
A = B < C
A = FALSO
B = 9 e C = 9
46
A = B < C
A = FALSO
B = 8 e C = 8
47
A = B != C
A = FALSO
Exemplo de Operações Booleanas
48
B = 7 ; C = 8 e D = 3
49
A = (B > C) e (B < D)
A = FALSO
B = 7 ; C = 8 e D = 3
50
A = (B > C) ou (D < B)
A = Verdadeiro
B = 7 ; C = 8
51
A = not(B > C)
A = Verdadeiro
B = 7 ; C = 8; D = 5; E=9
52
A =(B>E) e ((B!=C) ou (E>C))
A = FALSO
Exercício Proposto
Paulinho tinha n balas e Pedrinho tinhatrês vezes as balas de Paulinho e aindaganhou mais cinco balas de sua avó. ComQuantas bala ficou Pedrinho.
53
Formalização de um Algoritmo
• Atribuição: a <- n (a = n)
• Condição: se() [então, Senão]
• Repetição: Para()Enquanto()
54