Vous êtes sur la page 1sur 26

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 a 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

um

programa, como qualquer


trabalho que possa ser feito
segundo uma organizao
racional,
analisada,

segundo

pode

ser

genericamente,

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 tapase 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

Smbolos de fluxo

Mltipla

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 - Entrem os valores de A e B
2 - Leia os valores de A e B
3 - Se A>B escreva A e pra
4 - 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.

Algoritmos
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)
Fim