Você está na página 1de 18

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

ALGORITMIA

FP - 1

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

ALGORITMIA
ALGORITMIA - Cincia que estuda a concepo e anlise de algoritmos. ALGORITMO - Conjunto de instrues ou aces que ao serem executadas, permitem realizar uma determinada tarefa.

FP - 2

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO


CARACTERSTICAS QUE UM ALGORITMO DEVE TER:

Ausncia de ambiguidade - As aces devem ser suficientemente claras para que o executor no tenha qualquer dvida e saiba qual a aco seguinte a realizar. Ser finito Deve terminar aps a realizao de um nmero finito de aces. Generalidade - Deve contemplar actuaes para todas as situaes, susceptveis de ocorrer, no problema a que diz respeito.
FP - 3

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Linguagens de descrio de algoritmos


Linguagem natural Uso da linguagem natural (ex. portugus) para descrever um algoritmo. Pseudo-cdigo Conjunto de palavras convencionadas para indicar aces tipo. Entre a linguagem natural e as linguagens de programao. Fluxogramas Uso de elementos grficos padronizados para representar as aces e a sequncia de execuo.
FP - 4

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Pseudo-cdigo
Entrar(lista de variveis) Sair(Lista de mensagens e/ou variveis) Varivel expresso Se <condio> ento <Instruo 1> Seno <Instruo 2> Fim se Enquanto <condio> fazer <Conjunto de aces> Fim fazer Fazer <Conjunto de aces> Enquanto <condio> Para <varivel><limite1> at <Limite2> fazer <Conjunto de aces> Fim fazer Entrada de informao Sada de informao Atribuio

Deciso ou seleco entre duas sequncias de aces

Repetio condicional de aces.

Repetio condicional de aces.

Repetio com varivel de controlo

FP - 5

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Fluxogramas
Inicio/Fim do fluxograma Processamento e atribuies. Deciso. Entrada de dados. Linha de fluxo Conector

FP - 6

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Algumas estruturas

Execuo condicional de aces.


F

Execuo condicional de aces alternativas

FP - 7

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Algumas estruturas

Repetio de aces com condio no inicio.

Repetio de aces com condio no fim.


V F

FP - 8

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Concepo de Algoritmos
Abordagem descendente (top-down) ou de refinamentos sucessivos.
Para limitar a complexidade de um problema divide-se em vrios sub-problemas mais simples. Aborda-se cada um destes sub-problemas utilizando o mesmo mtodo (dividindo em vrios sub-problemas mais simples). O processo termina quando as solues dos sub-problemas so suficientemente bvias.

FP - 9

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Resoluo de problemas em computador


1.

Definio clara do problema. Apreci-lo cuidadosamente de forma a estabelecer com rigor quais as respostas ou os resultados pretendidos e quais os dados necessrios e suficientes. Formulao do modelo matemtico. Estabelecimento das equaes. Estudo terico dos assuntos envolvidos pesquisando mtodos de resoluo conhecidos ou a investigar. Elaborao de um algoritmo de resoluo do problema, descrito numa linguagem algortmica adequada. Esta tarefa talvez a mais trabalhosa de todas. Deve-se usar concepo por refinamento progressivo de aces.

2.

3.

FP - 10

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Resoluo de problemas em computador


4.

Codificao do programa numa linguagem de programao adequada, a partir do algoritmo feito antes. Tambm se designa esta fase por implementao do algoritmo e dos objectos em linguagem de programao. Testes do programa. Consiste em executar o programa no computador com dados de teste escolhidos por forma a cobrir todas as hipteses de ocorrncias cujas respostas sejam conhecidas ou verificveis. Em geral, nas primeiras testagens encontram-se sempre incorreces no programa e h que proceder deteco e emenda das causas dos erros. Documentao. Registos, no programa ou fora dele, do modo como ele est concebido. Nos programas com comentrios; parte com guias ou relatrios.

5.

6.

FP - 11

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Exemplo
Problema
Elabore um programa que determine as razes de equaes do 2 grau ( ax2 + bx + c = 0 ).

Resoluo
1.

Definio do problema
Resultados pretendidos: soluo da equao
(2 grau 2 solues ) : x1 x2 a b c

Dados necessrios:
coeficientes da equao:

FP - 12

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Exemplo
2.

Anlise matemtica
Um dos mtodos para calcular as solues de uma equao do 2 grau aplicando a frmula resolvente:

b + b2 4ac x1 = 2a b b2 4ac x2 = 2a

FP - 13

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Exemplo
Quando b2 4ac < 0 (binmio discriminante negativo) a equao no tem soluo no domnio dos reais: A soluo no domnio dos complexos :
z1= x + yi z2= x - yi com x = -b/(2*a) y = sqrt(-d)/(2*a) - coeficiente real - coeficiente imaginrio

FP - 14

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Exemplo
3.

Elaborao do algoritmo (pseudocdigo)


ler(a,b,c) d b*b - 4*a*c se d >= 0 ento x1 (-b + sqrt(d) ) / (2*a) x2 (-b sqrt(d) ) / (2*a) escrever(x1,x2) seno x -b/(2*a) y sqrt(-d)/(2*a) escrever(x, +, y, i) escrever(x, -, y, i) fim se

FP - 15

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Exemplo
Fluxograma
Inicio

Ler(a, b, c)

db*b-4*a*c

d >= 0 ?

x-b/(2*a) ysqrt(-d)/(2*a)

x1(-b+sqrt(d)/(2*a) x2(-b+sqrt(d)/(2*a)

Escrever(x,+,y,i) Escrever(x,-,y,i)

Escrever(x,y)

Fim

FP - 16

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Exemplo Codificao em C

FP - 17

ISEL Licenciatura em Engenharia Electrotcnica DEEA FUNDAMENTOS DE PROGRAMAO

Exemplo teste do programa

FP - 18

Você também pode gostar