Vous êtes sur la page 1sur 25

ALGORITMIA

Algoritmos
Normalmente, um programa surge como uma soluo possvel
para um problema, como um recurso produzido com a
finalidade de dar resposta a uma determinada situao. A
descrio dos passos a dar no sentido da resoluo da
situao/problema

constitui

fase

de

formulao

do

algoritmo.

Algoritmo - uma sequncia finita de aes que descrevem


um modo ou forma de resoluo de um problema ou tarefa.

Algoritmos

elaborao

de

programa,
qualquer

um
como

trabalho

que

possa ser feito segundo


uma

organizao

racional,

pode

ser

analisada,
genericamente, segundo
determinados passos ou
etapas.

Algoritmos
Qualquer algoritmo deve possuir as seguintes caractersticas:
Deve ser corretamente definido - as aes a desenvolver devem ser apresentadas de uma forma clara, abrangendo a
maior quantidade de informao;

Deve estar isento de ambiguidades - como resultado de falta de informao ou duplicao desta.

Deve ser eficaz - deve resolver o problema, independentemente da situao, de uma forma isenta de erros e qualquer
falha. Se por ventura existem excees estas devem ser devidamente especificadas e tratadas.

Deve ser eficiente - deve ter capacidade de resolver o problema com o mnimo de erros.

Algoritmos
Exemplificao de um algoritmo (passos necessrios para
substituir uma lmpada queimada):
1 Em primeiro lugar necessrio saber o que necessrio para remover a lmpada queimada;

2 Vamos admitir que a lmpada est pendurada no teto;

3 necessrio uma escada;

4 Aps posicionar a escada, necessrio subir na escada;

5 Saber como remover a lmpada;

6 Esta operao feita girando a lmpada no sentido anti-horrio at que se solte;

7 Por fim, coloca-se a lmpada nova.

Algoritmos
Exerccios:
1 - Elabore um algoritmo para mudar um pneu furado. Admita que esto
disponveis um macaco, uma chave e um pneu em boas condies.

2 - Elabore um algoritmo para fazer pipocas numa panela de fogo, usando


leo, sal e milho para pipocas.
3 - Elabore um algoritmo para realizar uma chamada telefnica.

Algoritmos
Exerccios (uma possvel resoluo):
1 - Elabore um algoritmo para mudar um pneu furado. Admita que esto disponveis um macaco, uma chave e um pneu em
boas condies.
1 Em primeiro lugar necessrio elevar o carro, com o macaco, para poder retirar o pneu furado;
2 Retiram-se os parafusos com a chave;
3 Aps retirar todos os parafusos, retira-se o pneu furado;
4 Coloca-se o pneu em boas condies;
5 Colocam-se os parafusos e apertam-se com a chave;
6 Por fim, desce-se o carro retirando o macaco.

Algoritmos
Exerccios (uma possvel resoluo):
2 - Elabore um algoritmo para fazer pipocas numa panela de fogo, usando
leo, sal e milho para pipocas.
1 Em primeiro lugar coloca-se leo na panela;
2 Coloca-se a panela no fogo e acende-se o bico de fogo;
3 Quando o leo estiver quente coloca-se o milho para pipocas e tapa-se a panela;
4 Quando as pipocas estiverem feitas, desliga-se o fogo e retira-se do fogo;
5 Coloca-se as pipocas num recipiente e polvilha-se com sal.

Algoritmos
Exerccios (uma possvel resoluo):
3 - Elabore um algoritmo para realizar uma chamada telefnica.
1 Em primeiro lugar temos que ter o n de telefone;
2 Tira-se o auscultador;
3 Marca-se o n de telefone;
4 Realiza-se a chamada;
5 Para terminar a chamada, coloca-se o auscultador no descanso.

Algoritmos
Vejamos

uma

exemplificao

de

um

algoritmo

para,

eventualmente, ser resolvido em programa de computador.

Problema:
-nos dado o preo de um terreno de forma rectangular, bem como as medidas de dois lados
adjacentes; pretendemos saber se o seu preo por metro quadrado est acima ou abaixo da mdia
dos preos praticados na zona, sendo-nos tambm dado esse preo mdio.

Algoritmos
Formulao do algoritmo
Vamos procurar decompor o problema e descrever os passos necessrios para a sua resoluo se o
fizermos com correco, obteremos um algoritmo para o problema.
1. Temos necessidade de saber:
o preo do terreno;
a medida do lado A (em metros);
a medida do lado B (em metros);
o preo mdio por metro quadrado.

Algoritmos
2. Calculamos a rea do terreno, multiplicando as medidas
dos lados:
rea = lado A * lado B
3. Calculamos o preo por metro quadrado do terreno em questo, dividindo o preo do terreno pela
rea:
preo por m2 = preo do terreno / rea
4. Comparamos o preo por metro quadrado do terreno com o preo mdio por metro quadrado
praticado na regio e esclarece-se a situao:
se
preo por m2 > preo mdio ento preo acima da mdia
preo por m2 < preo mdio ento preo abaixo da mdia

Algoritmos
Nos algoritmos destinados a programas de computador,
tem de se recorrer a diversas estruturas de representao
das aces ou operaes a realizar. S em problemas ou
situaes muito simples que as aces ou instrues a
realizar se apresentam em sequncias simples ou lineares,
isto , instruo a instruo, sem seleco de alternativas,
ciclos de repetio, etc.

Algoritmos
Normalmente, na formulao de algoritmos, encontramos
situaes que requerem estruturas especficas, como, por
exemplo:
-

deciso sobre se efectuar ou no determinada tarefa, em


conformidade

com

uma

condio

expressa

no

prprio

problema e algoritmo - estruturas de deciso;


-

seleco , entre diversas alternativas , da aco a realizar , de acordo com um dado ou varivel estruturas de seleco;

- repetio de uma aco ou conjunto de instrues, num determinado nmero de vezes ou sob
controlo de uma condio - estruturas de repetio ou ciclos.

Algoritmos
Formas de representao dos algoritmos para computador
Existem vrias tcnicas de representao de algoritmos, cada
uma delas com vantagens e desvantagens, devendo ser
escolhida aquela que melhor se adapte situao e aquela
que se domina melhor. Dentro das referidas tcnicas, as mais
populares so os fluxogramas e o pseudocdigo.
Fluxogramas - a representao grfica de um algoritmo sob
a forma de smbolos ligados entre si por linhas de fluxo, tendo
cada bloco uma forma geomtrica externa definidora da sua
funo genrica e no seu interior uma descrio concisa do
passo do algoritmo que lhe corresponde.

Algoritmos
Vantagens dos fluxogramas
Como so baseados numa representao grfica , mais
fcil , e mais agradvel visualizar, em termos de estrutura
geral, do que em pseudocdigo;
Os smbolos utilizados so normalizados e universais;
Como os smbolos tm implcito um significado, simplificam a resoluo de um problema em
termos de estrutura geral;
So fceis de testar, permitem uma rpida deteco e correco de erros de lgica.

Algoritmos
Desvantagens dos fluxogramas
Caso se tenham de efectuar alteraes, so pouco prticos;
Os dados tm de ser definidos parte, pois os fluxogramas no permitem representar a estrutura
dos dados;
Quando os programas so muito grandes, os fluxogramas para os esquematizar tambm se tornam
grandes e complexos.

Algoritmos
Simbologia utilizada nos fluxogramas

Smbolo de operao de Processamento interno


(indica passos de clculo ou manuseamento da informao, no
havendo trocas de informao com o exterior do computador)

Smbolo de operao de Entrada e/ou Sada de


informao ou dados

Smbolo de Deciso simples

Algoritmos
Simbologia utilizada nos fluxogramas

Smbolo de Incio e de Fim do procedimento

Smbolo Conector ou de Ligao

Smbolo de Deciso Mltipla

Smbolos de fluxo de informao

Algoritmos
EXEMPLO:
Dados dois valores (A e B), pretende-se saber qual deles o
maior, elaborando para tal o algoritmo e o fluxograma.

ALGORITMO
1
2
3
4

Entrem os valores de A e B
Leia os valores de A e B
Se A>B escreva A e pra
Se A<B escreva B e pra

Algoritmos
Incio

FLUXOGRAMA
"Introduza dois
valores a,b"

Ler a,b

a>b?

No

Escrever
"O valor b o
maior"

Fim

Sim

Escrever
"O valor a o
maior"

Algoritmos
Formas de representao dos algoritmos para computador
Pseudocdigo - uma forma de representar os algoritmos,
utilizando

escrita,

tal

como

utilizada

em

termos

convencionais para representar as aces a desencadear pelo


programa. Os termos utilizados so normalmente uma mistura
da linguagem corrente com notao e palavras inerente s
linguagens de programao.

Algoritmos
Vantagens dos pseudocdigos
Como baseado na linguagem corrente fcil de elaborar;
Pode atingir vrios nveis de complexidade, conforme o detalhe com que se escrever;
Permite acompanhar o tratamento dos dados, facilitando o teste do programa;
Permite implementar as estruturas elementares da programao estruturada;
Serve de base prpria documentao.

Algoritmos
Desvantagens dos pseudocdigos
No possui regras padro pois, depende do estilo de escrita
de cada programador;

No permite uma rpida visualizao de pormenores, porque utiliza a linguagem escrita, o que
obriga sua leitura geral;

Para problemas mais complicados, a linguagem pode tornar-se muito complexa e de difcil
compreenso.

Algoritmos
EXEMPLO:
Dados dois valores (A e B), pretende-se saber qual deles o
maior, elaborando para tal o pseudocdigo.
PSEUDOCDIGO
Incio
Escrever (Introduza os valores A e B)
Ler (A)
Ler (B)
Se A > B ento
Escrever (A, maior)
Seno
Se A < B ento
Escrever (B, maior)
Seno
Escrever (valores iguais)