Você está na página 1de 6

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

Algoritmia

Instituto Superior Politécnico de VISEU


Escola Superior de Tecnologia

Noções de Algoritmia
Tradicionalmente, programar significava apenas a escrita de um programa, que
resolvesse o problema pretendido de uma forma aparentemente correcta.
Problema Programa
Problema Programa

Desvantagens:
• Programas pouco claros e pouco eficientes.
• Algumas vezes, programas formalmente incorrectos.
• Dificuldade de converter o programa para outra linguagem de programação.

Necessidade de adoptar uma nova metodologia de resolução de problemas.


Realizar uma passagem progressiva do problema ao programa, de maneira a
evitar todos os inconvenientes anteriormente apontados.

2
Instituto Superior Politécnico de VISEU
Escola Superior de Tecnologia

Noções de Algoritmia
Vantagens:

• Programa mais claro e eficiente.

• Programa formalmente correcto (ausência de erros lógicos).

• Fácil de converter para qualquer linguagem de programação, pois é


praticamente independente da linguagem de programação.

Instituto Superior Politécnico de VISEU


Escola Superior de Tecnologia

Noções de Algoritmia
Análise

Objectivo: compreensão e a descrição do problema proposto.

No caso de resolução de problemas simples, as questões essenciais prendem-se


com a determinação e especificação dos seguintes pontos:
• Com que dados vamos trabalhar – Entradas.
• Que resultados devemos obter – Saídas.
• Que processos devemos utilizar para produzir resultados – Definição do
problema.
A fase de Análise torna-se particularmente relevante quando estamos perante problemas
complexos. Nestes casos utiliza-se a técnica de decomposição de um problema em
subproblemas mais simples.

4
Instituto Superior Politécnico de VISEU
Escola Superior de Tecnologia

Noções de Algoritmia
Elaboração de um Algoritmo

Como
Como sabemos,
sabemos, umum computador
computador não
não resolve
resolve problemas
problemas sozinho,
sozinho, apenas
apenas
executa os passos que lhe indicamos para a sua resolução.
executa os passos que lhe indicamos para a sua resolução.

Em
Em informática,
informática, aa formulação
formulação dede um
um algoritmo
algoritmo nãonão éé mais
mais do
do que
que aa
descrição,
descrição, de
de forma
forma ordenada,
ordenada, com
com clareza
clareza ee rigor,
rigor, das
das operações
operações que
que se
se
pretende realizar num computador para resolver um problema
pretende realizar num computador para resolver um problema ou atingir ou atingir
determinados
determinadosobjectivos.
objectivos.

Um
Umbom
bomalgoritmo,
algoritmo,pode
podeser
serescrito
escritona
nanossa
nossalinguagem
linguagemnatural,
natural,utilizando
utilizando
expressões
expressões sintéticas e exactas e, normalmente, também alguns sinais
sintéticas e exactas e, normalmente, também alguns sinais
convencionais.
convencionais. OO algoritmo
algoritmo deve
deve ser
ser formulado
formulado dede modo
modo aa poder
poder serser
traduzido numa qualquer linguagem de programação.
traduzido numa qualquer linguagem de programação.

Instituto Superior Politécnico de VISEU


Escola Superior de Tecnologia

Noções de Algoritmia
Formas de apresentação de algoritmos para computador

As
As formas
formas mais
mais divulgadas
divulgadas para
para representação
representação de
de algoritmos
algoritmos num
num
computador
computadorsão:
são:

••Fluxogramas
Fluxogramas
••Pseudocódigo
Pseudocódigo

6
Instituto Superior Politécnico de VISEU
Escola Superior de Tecnologia

Noções de Algoritmia
Fluxogramas

Os
Os fluxogramas
fluxogramas são
são diagramas
diagramas representativos
representativos do
do fluxo
fluxo das
das acções
acções de
de um
um
programa,
programa,através
atravésde
desímbolos,
símbolos,que
querepresentam
representamososdiferentes
diferentestipos
tiposdas
dasacções
acções
eeooseu
seuencadeamento
encadeamentonanasequência
sequênciado
doprograma.
programa.

Actualmente,
Actualmente, os os fluxogramas
fluxogramas não
não são
são muito
muito utilizados.
utilizados. Eles
Eles têm
têm algum
algum
interesse mais do ponto de vista didáctico do que na prática de programação.
interesse mais do ponto de vista didáctico do que na prática de programação.
Podem
Podem ser ser úteis
úteis para
para visualizar
visualizar melhor
melhor determinadas
determinadas estruturas
estruturas dede
programação.
programação.

Para
Pararepresentar
representarprogramas
programasde demédia
médiaou ougrande
grandeextensão,
extensão,tornam-se
tornam-sedifíceis
difíceis
de
de concretizar – podem exigir muito espaço, para além do tamanho habitual de
concretizar – podem exigir muito espaço, para além do tamanho habitual de
uma folha de papel, o que os torna de difícil leitura e manuseamento.
uma folha de papel, o que os torna de difícil leitura e manuseamento.

Instituto Superior Politécnico de VISEU


Escola Superior de Tecnologia

Noções de Algoritmia
Pseudocódigo

Por
Por pseudocódigo
pseudocódigo entende-se
entende-se um
um código
código de
de escrita
escrita em
em que
que se
se utilizam,
utilizam,
usualmente,
usualmente, um misto de palavras da nossa linguagem natural com
um misto de palavras da nossa linguagem natural com
palavras e notações típicas das linguagens de programação.
palavras e notações típicas das linguagens de programação.

OO pseudocódigo
pseudocódigo tem-se
tem-se revelado
revelado mais
mais prático
prático ee mais
mais vantajoso
vantajoso na
na
estruturação do raciocínio e dos elementos (acções, dados) a incluir num
estruturação do raciocínio e dos elementos (acções, dados) a incluir num
programa.
programa.

8
Instituto Superior Politécnico de VISEU
Escola Superior de Tecnologia

Noções de Algoritmia
Codificação e Depuração
Após
Após formulado
formulado oo algoritmo,
algoritmo, há há que
que transcrevê-lo
transcrevê-lo para
para aa linguagem
linguagem de
de
programação, que se pretende utilizar – trata-se da operação de codificação
programação, que se pretende utilizar – trata-se da operação de codificação ou ou
escrita
escritado
doprograma
programa--fonte
fonteou
oucódigo
código––fonte.
fonte.
Depois
Depoisde determos
termospronto
prontoooprograma
programa––fonte,
fonte,para
paraque
queele
elepossa
possaser
serexecutado,
executado,
como
como já sabemos, é necessário utilizar software de tradução (compilador ou
já sabemos, é necessário utilizar software de tradução (compilador ou
interpretador), que irá converter o código – fonte para código – máquina.
interpretador), que irá converter o código – fonte para código – máquina.
Mas,
Mas,antes
antesdededarmos
darmosooprograma
programapor porconcluído,
concluído,ainda
aindapoderemos
poderemoster terque
quefazer
fazer
alguns
alguns testes de verificação e eventuais correcções. Antes de mais há que
testes de verificação e eventuais correcções. Antes de mais há que
verificar
verificar se
se ele
ele está
está escrito
escrito correctamente
correctamente de de acordo
acordo com
com as as normas
normas impostas
impostas
pela
pelalinguagem.;
linguagem.;se sehouver
houvererros
errosde
deescrita,
escrita,oocompilador
compiladorou ouoointerpretador
interpretador
não
não os deixará passar, o programa não poderá correr e seremos obrigados
os deixará passar, o programa não poderá correr e seremos obrigados aa
proceder
procederaaumaumarevisão
revisãododotexto,
texto,para
pararectificar
rectificaresses
essesmesmos
mesmoserros.
erros.

Instituto Superior Politécnico de VISEU


Escola Superior de Tecnologia

Noções de Algoritmia
Codificação e Depuração

Para
Paraalém
alémdisso,
disso,mesmo
mesmodepois
depoisdedeooprograma
programapassar
passarnonoteste
testede
deverificação
verificaçãodo
do
compilador ou do interpretador, pode muito bem acontecer que tenha
compilador ou do interpretador, pode muito bem acontecer que tenha falhas falhas
do
doponto
pontode devista
vistalógico
lógicoou
oude
decoerência
coerênciacom
comososobjectivos
objectivosque
quese
sepretendem
pretendem
alcançar
alcançar – por imprecisões, deficiente definição algorítmica, vícios de
– por imprecisões, deficiente definição algorítmica, vícios de
raciocínio,
raciocínio,etc.
etc.


Háentão
entãoque
quetestar
testarooprograma,
programa,com
comdados
dadosdiversificados
diversificadoseecom
comdiferentes
diferentes
utilizadores;
utilizadores; se houver algum imprevisto, pode exigir alterações na
se houver algum imprevisto, pode exigir alterações na
implementação do programa.
implementação do programa.

AAfase
fasede
decorrecção
correcçãode
deerros,
erros,quer
querde
desintaxe,
sintaxe,quer
querde
deconcepção
concepçãológica
lógicachama-
chama-
se depuração.
se depuração.

10
Instituto Superior Politécnico de VISEU
Escola Superior de Tecnologia

Noções de Algoritmia
Programação Estruturada

O modelo da programação estruturada surgiu da necessidade de obter


programas simples e claros, de fácil manutenção e actualização.

As teorias de programação actuais centram-se nas técnicas de programação


modular e de programação estruturada.

A programação modular é um método de “desenho” que considera a


decomposição de um problema em partes independentes, bem diferenciados
logicamente.

A programação estruturada é complementar da programação modular, pois


enquanto que esta procura dividir u programa em partes mais pequenas,
aquela desenvolve estruturalmente cada um dos módulos.

11