Escolar Documentos
Profissional Documentos
Cultura Documentos
Tcnicas de Programao
Prof. Thiago
Critrios de Avaliao
P1 Prova 1: 20 pontos
P2 Prova 2: 20 pontos
P2 Prova 3: 25 pontos
Lista de Exerccios: 10 pontos
Presena e participao: 5 pontos
T1 Trabalho 1: 10
T2 Trabalho 2: 10
Mdia: 60 pontos
Recuperao: Mnimo de 30 pontos
Nota Final Rec: (NF + Rec) / 2
Prof. Thiago
Introduo
O que um algoritmo???
Prof. Thiago
Algoritmo
Prof. Thiago
Algoritmo
Prof. Thiago
Algoritmo
Prof. Thiago
Algoritmo
Prof. Thiago
Exemplos de algoritmos
Prof. Thiago
Por que precisamos de
Algoritmos?
Prof. Thiago
A noo de algoritmo bsica para toda a
programao de computadores. [KNUTH]
Prof. Thiago
Como seria uma algoritmo para realizar uma
ligao telefnica em um telefone pblico???
Prof. Thiago
Prof. Thiago
Lgica de Programao
Prof. Thiago
Caractersticas dos Algoritmos
Ter fim;
No deve ser ambguo;
Receber dados;
Gerar informaes de sada;
Ser efetivo.
Prof. Thiago
Atividades
1) Defina com suas palavras, o que algoritmo.
2) Cite alguns algoritmos que podemos encontrar no
nosso dia a dia.
3) Na sua viso, qual a caracterstica mais importante
em um algoritmo? Justifique a sua resposta.
4) Um algoritmo no pode conter um comando como
Escreva todos os nmeros inteiros positivos. Por
qu?
Prof. Thiago
Formas de representao
dos algoritmos
Prof. Thiago
P ro b le m a
A n lise P re lim in a r
So lu o
P ro d u to F in a l
Prof. Thiago
Prof. Thiago
Descrio Narrativa
EXEMPLO: Receita de Bolo
Providencie manteiga, ovos, 2 Kg de massa, etc.
Misture os ingredientes
Despeje a mistura na forma de bolo
Leve a forma ao forno
Espere 20 minutos
Retire a forma do forno
Deixe esfriar
Prove
Prof. Thiago
Descrio Narrativa
EXEMPLO: Trocar lmpada queimada
1) Remova a lmpada
2) Coloque uma nova lmpada
Detalhando ou refinando os passos:
1.1) Coloque uma escada embaixo da lmpada queimada
1.2) Suba na escada at alcanar a lmpada
1.3) Gire a lmpada queimada no sentido anti-horrio at
que ela se solte
Prof. Thiago
Detalhando o passo 2
2.1) Escolha uma nova lmpada de mesma
potncia da queimada
2.2) Posicione a lmpada nova no soquete
2.3) Gire a lmpada no sentido horrio at que
ela se firme
2.4) Desa da escada
2.5) Guarde a escada
Prof. Thiago
Prof. Thiago
Vamos agora fazer uma suposio?
Prof. Thiago
Prof. Thiago
Novo algoritmo
- pegue uma escada;
- posicione-a embaixo da lmpada;
- busque uma lmpada nova;
- ligue o interruptor;
- se a lmpada no acender, ento:
- suba na escada;
- retire a lmpada velha;
- coloque a lmpada nova;
Prof. Thiago
Algoritmo Otimizado
- ligue o interruptor;
- se a lmpada no acender, ento:
- pegue uma escada;
- posicione-a embaixo da lmpada;
- busque uma lmpada nova;
- suba na escada;
- retire a lmpada velha;
- coloque a lmpada nova;
Prof. Thiago
E se a nova lmpada no acender???
Prof. Thiago
ligue o interruptor; se a lmpada no acender, ento:
- se a lmpada no acender, ento: - retire a lmpada;
- pegue uma escada; - coloque outra lmpada nova;
- posicione-a embaixo da lmpada; - se a lmpada no acender, ento:
- busque uma lmpada nova; - retire a lmpada;
- suba na escada; - coloque outra lmpada nova;
- retire a lmpada velha; (At quando ???)
- coloque a lmpada nova;
Prof. Thiago
Utilizao de Lao Condicional
Prof. Thiago
Verso Final do Algoritmo
ligue o interruptor;
se a lmpada no acender, ento:
pegue uma escada;
posicione-a embaixo da lmpada;
busque uma lmpada nova;
suba na escada;
retire a lmpada velha;
coloque a lmpada nova;
enquanto a lmpada no acender, faa:
retire a lmpada;
coloque outra lmpada nova;
Prof. Thiago
Atividades
5) Usando a forma de representao descrio
narrativa, faa um algoritmo para realizar a troca de
um pneu furado utilizando estrutura de deciso e de
repetio. Considere as seguintes situaes:
a) Qualquer pneu furado;
b) Qualquer pneu furado, porm verificar se o pneu
reserva est em condies de uso;
c) Verificar primeiro se tem algum pneu furado; se
houver, verificar o pneu reserva e ento, trocar o pneu
furado.
Prof. Thiago
FLUXOGRAMAS
Prof. Thiago
Terminao
Incio Fim
Prof. Thiago
Fluxo
Fim
Prof. Thiago
Entrada de Dados
Solicita que o usurio digite um dado e armazena-o em
uma varivel
Incio
Fim
Prof. Thiago
Exibio dos Dados
Incio
Ol
mundo!!!
Fim
Prof. Thiago
Processo
X=9-5
Fim
Prof. Thiago
Deciso
Incio
Fim
Prof. Thiago
Prof. Thiago
Fluxograma
Vantagens:
Uma das ferramentas mais conhecidas;
Figuras dizem muito mais que palavras;
Desvantagens:
Vinculada a dispositivos fsicos;
Pouca ateno aos dados;
Baixa escalabilidade.
Prof. Thiago
Fluxograma
Prof. Thiago
Exemplo
Monte um fluxograma que mostre
Ol mundo 10 vezes na tela.
Prof. Thiago
Praticando
Monte um fluxograma que:
Solicite dois nmeros (x, y) e calcule o produto deles
sem utilizar o operador de multiplicao
Prof. Thiago
Linguagem Algortmica:
Pseudocdigo Algoritmo Multiplicao X, Y
incio
real: Mult = 0;
Mult = Mult + Y;
X = X - 1;
escreva (Mult) ;
fim
Prof. Thiago
Comparaes entre formas
De representao de Algoritmos
Prof. Thiago
Tipo Vantagens Desvantagens
Descrio Portugus: Conhecido
Impreciso
Narativa Pouca confiabilidade
Extenso
algoritmo cresce
Linguagem Independncia Fsica Definio de um linguagem
de Programao
Prof. Thiago
Atividades
Prof. Thiago
Estruturas Bsicas
Na Contruo de Algoritmos
Prof. Thiago
Sequenciao
Ordem relevante;
Soluo decomposta em passos individuais.
Prof. Thiago
Deciso ou Seleo
Estrutura condicional
Veracidade da condio
Prof. Thiago
Repetio ou iterao
Looping ou Lao
N determinado de vezes ou de acordo com
uma condio
Prof. Thiago
Refinamento sucessivos
Prof. Thiago
Desdobramento em novos Comandos
Prof. Thiago
Prof. Thiago
Linguagens de Programao
Prof. Thiago
O que Linguagem de Programao
Notao formal;
Estrutura interpretvel;
Comandos e instrues.
Prof. Thiago
Tradutor
Necessidade:
Algoritmos devem ser expressos em linguagem de
mquina.
Ativam diretamente componentes eletrnicos.
Prof. Thiago
Mtodos de Traduo
Compilao
Interpretao
Prof. Thiago
Prof. Thiago
Exemplos de Ling. De Programao
ASSEMBLER
Objetivo: substituir as sequncias de 0 e 1 por
mnemnicos
Grande potencialidade
Dependente do processador
Confeco de softwares bsicos e de apoio
Prof. Thiago
Prof. Thiago
Prof. Thiago
Exemplos de Ling. De Programao
BASIC
1963/65: objetivos acadmicos
PCs
Facilitou a popularizao dos micros.
Prof. Thiago
Exemplos de Ling. De Programao
COBOL
Aplicativos comerciais / ambiente de grande
porte
Poderosa na manipulao de grandes volumes
de dados
Extino: assunto bastante polmico.
Prof. Thiago
Exemplos de Ling. De Programao
PASCAL
Conceitos de programao estruturada
Ambiente acadmico
Prof. Thiago
Exemplos de Ling. De Programao
FORTRAN
Manipulao de nmeros: aplicaes cientficas e de
engenharia
1 linguagem de alto nvel
Prof. Thiago
Exemplos de Ling. De Programao
Linguagem C
Funes: programas eficientes sem detalhes de
hardware
Altamente portvel
Prof. Thiago
Linguagens de Programao
Classificao quanto
ao nvel de utilizao
Prof. Thiago
Prof. Thiago
Quanto a gerao
Prof. Thiago
Classificao quanto ao Propsito
Prof. Thiago
Quanto ao Propsito
Aplicaes comerciais
Software bsico
Sistemas especialistas
Educacionais
Aplicaes cientficas
Prof. Thiago
Classificao Quanto ao Paradigma
Prof. Thiago
Quanto ao Paradigma
Imperativo: sequncia de operaes;
orientadas a comando.
Procedural
Modularizao do cdigo.
Orientado a objetos
Troca de mensagens.
Prof. Thiago
Quanto ao Paradigma
Declarativo: descrio do conjunto da
soluo; sem algoritmo explcito.
Lgico
relaes entre valores atravs de regras.
Funcional:
sada como uma funo.
Prof. Thiago
Caractersticas de uma boa
linguagem de programao
Prof. Thiago
Abstrao de dados
Confiabilidade
Correo
Suporte para manuteno
Bom ambiente de programao
Eficincia
Portabilidade
Prof. Thiago
Algoritmo
X
Programa
Prof. Thiago
Critrios de qualidade
de um programa
Prof. Thiago
Qualidade de um Programa
Integridade
Clareza
Simplicidade
Eficincia
Modularidade
Generalidade
Prof. Thiago
Ambientes para escrever Algs
Prof. Thiago
Funcionamento do Comp. Hipottico
Operaes de entrada e sada
Operaes aritmticas
Movimentao de dados
Prof. Thiago
Resolvendo um Problema
Prof. Thiago
Resoluo atravs das operaes bsicas
a) operao de entrada de dados dos nmeros;
Prof. Thiago
Alto Nvel para o PC Hipottico
Real: X, Y, SOMA;
leia (X,Y);
SOMA X + Y;
escreva (SOMA)
Prof. Thiago