Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos
Andr Felipe de A. Monteiro
C066905
Junho/2013
Ementa
Pseudo-cdigo
Lgica Bsica
Proposies
Tabela Verdade
Estrutura de Cdigos
Variveis
Operadores
Condies
Laos de Repetio
Funes e procedures
Parametrizao
Recursividade
Material e Bibliografia
Slides de sala
Szwarcfiter, Jaime; Markenzon, Lilian. Estruturas
de Dados e seus Algoritmos. Ed. LTC, 1994.
Cormen, T.H; Leiserson, C.E; Rivest, R.L.;
Stein,C. Algoritmos: Teoria e Prtica. Ed.
Campus, 2002.
Programa Visualg
Pseudo-cdigo
Pseudo-cdigo
Algoritmo
Preparar alimentos
Lavar as mos
Colocar a mesa
Ingerir comida
Retirar a mesa
Lavar a loua
Pseudo-cdigo
Tipos de Variveis
Constantes
Inteiros
Tipos de Variveis
Ponto Flutuante
Caracteres
Tipos de Variveis
Booleanas
Vetores (Array)
Tipos de Variveis
Estruturas
Armazenam um conjunto de variveis de qualquer tipo
STRUCT FICHA
{
INT matricula;
CHAR [30] nome;
FLOAT salario;
};
10
Tipos de Variveis
Ponteiros
Observaes:
1)
Cada linguagem de programao possui regras para criao dos nomes
das variveis.
2)
No podem haver duas variveis com o mesmo nome dentro do mesmo
escopo de programao.
3)
Existem palavras que so reservadas e no podem ser utilizadas como
nome de variveis.
11
Operadores
Aritmticos
Relacionais
12
Escrita
Leitura
Atribuio
Exerccios
Lgica Bsica
Sentenas no ambguas
15
( nao / ! - not)
Tabela Verdade
P
0
1
~P
1
0
Conjuno (e / and)
Tabela Verdade
P
0
0
1
1
Q
0
1
0
1
P.Q
0
0
0
1
17
Tabela Verdade
P
0
0
1
1
Q
0
1
0
1
P+Q
0
1
1
1
18
Tabela Verdade
P
0
0
1
1
Q
0
1
0
1
P xor Q
0
1
1
0
19
Exerccios
20
Exerccios
3)
4)
21
Estrutura de Deciso
SE (condio) ENTAO
(ao)
FIMSE
SE(condio) ENTAO
(ao)
SENAO
(ao 2)
FIMSE
22
Estrutura de Deciso
Exemplo 1: (VisuAlg)
se (media >=7) entao
escreva(Aluno Aprovado)
senao
escreva (Aluno Reprovado)
fimse
Exemplo 2:(VisuAlg)
se (media >=5) entao
se (media<7) entao
escreva (Aluno em prova final)
senao
escreva (Aluno Aprovado)
fimse
senao
escreva (Aluno Reprovado)
fimse
23
Estrutura de Deciso
Estrutura de Deciso
CASO SELECIONE
CASO 1: (ao 1);
CASO 2: (ao 2);
CASO n: (ao n);
CASO SENO: (ao seno);
Exemplo 3:(VisuAlg)
escolha Opcao
caso 1
SIPON ( )
caso 2
TSO ( )
outrocaso
escreva (Opo Invlida);
fimescolha
25
Exerccios
Especifique um algoritmo para ler dois nmero e informar qual deles o maior,
ou se so iguais.
Especificar um algoritmo para verificar se uma pessoa tem idade para votar,
com a seguinte regra: Menor de 16 no pode votar ; de 16 a 18 e maior que 70
voto facultativo; de 18 a 70 voto obrigatrio.
Laos de Repetio
Enquanto (While)
Para (For)
28
Exemplos (VisuAlg):
algoritimo
var
X: inteiro
inicio
X <- 1
Enquanto (X <= 100) Faca
X <- X + 1
Fimenquanto
escreva(O valor final de X : , X)
fimalgoritmo
algoritimo
var
Vet : vetor[1..30] de inteiro
i: inteiro
Inicio
i <-1
Enquanto (i <= 30) Faca
Vet[i] <- i
escreval (Vet[i])
i <- i+1
Fimenquanto
fimalgoritmo
29
A varivel M nunca
modificada.
30
Exerccios
Exemplo 2
X <- 1
repita
escreva(O valor de X : , X)
X <- X + 1
Ate (X < 1)
Fimpara
33
Exemplos:
Para i de 1 ate 10 faca
X <- X +1
escreval (O valor de X :, X)
fimpara
V: vetor[1..30] de inteiro
Para i de 30 ate 1 passo -1 faca
V[i] <- i
escreval (V[i])
fimpara
Observe que no
necessrio incrementarmos
manualmente a varivel i
(i <- i +1).
Exerccio
Funes e Procedures
Funes ou Procedures so trechos de cdigo que
executam uma tarefa especfica
Modularizao do algoritmo
Dois tipos:
Facilitam a manuteno
37
Variveis globais
Variveis locais
Exemplo:
GLOBAL INT idade;
38
Exemplo:
Verifica_Endereco()
INT CEP
Le (CEP)
Valida_CEP (CEP)
39
Passagem de Parmetros
Duas formas:
Por valor
Por referncia
Exemplos
Algoritimo
var
nota1, nota2, media : real
funcao Calcula_Media ( notaA, notaB : real) :real
var
media: real
inicio
media <- ((notaA + notaB) / 2)
Retorne media
Fimfuncao
inicio
leia (nota1)
leia (nota2)
media <- Calcula_Media (nota1, nota2)
escreva(Mdia igual a ,media)
fimalgoritimo
41
Exemplos
Algoritimo
var
nota1, nota2, media : real
procedimento Calcula_Media (nota1, nota2: real ; var media: real)
media <- ((nota1 + nota2) / 2)
fimprocedimento
inicio
Leia (nota1)
Leia (nota2)
Calcula_Media (nota1,nota2,media)
escreva (Mdia final :,media)
fimalgoritimo
42
Exerccios
Recursividade
Recursividade
Vantagens
Cdigos mais compactos
Facilita a visualizao e implementao
Desvantagens
Podem demorar mais para ser executados, pois
utilizam mais memria.
Erros na implementao, como falta de
condio ou condio nunca ser alcanada,
podem causar estouro de memria.
45
Exerccios
46