Características fundamentais dum algoritmo

download Características fundamentais dum algoritmo

of 16

Transcript of Características fundamentais dum algoritmo

Caractersticas fundamentais dum algoritmoUm algoritmo deve ter 5 caractersticas fundamentais: Finitude:um algoritmo deve sempre terminar aps um nmero finito de passos. Definio: cada passo de um algoritmo deve ser precisamente definido. As acesdevem ser definidas rigorosamente e sem ambiguidades. Entradas: um algoritmo deve ter zero ou mais entradas, isto quantidades que lheso fornecidas antes do algoritmo iniciar. Sadas: um algoritmo deve ter uma ou mais sadas, isto quantidades que tem umarelao especfica com as entradas. Eficincia:Um algoritmo deve ser eficiente. Isto significa que todas as operaesdevem ser suficientemente bsicas de modo que possam ser em princpioexecutadas com preciso em um tempo finito por um ser humano usando papel elpis.NOTA: Pode haver mais do que um algoritmo para resolver um problema.Por exemplo, para ir de casa at o trabalho, posso escolher diversosmeios de transportes em funo do preo, conforto, rapidez, etc..

Representaes de algoritmos Linguagem NaturalOs algoritmos so expressos directamente em linguagem natural (e.g. oportugus como no exemplo do bolo). Fluxograma (ou Diagrama de Fluxo)Esta um representao grfica que emprega formas geomtricaspadronizadas para indicar as diversas aces e decises que devem serexecutadas para resolver o problema. Pseudo-linguagemEmprega uma linguagem intermediria entre a linguagem natural e umalinguagem de programao para descrever os algoritmos.No existe consenso entre os especialistas sobre qual a melhor maneira de representar um algoritmo.Actualmente a maneira mais comum de representar algoritmos atravs de uma pseudo-linguagem oupseudo-cdigo. Esta forma de representao tem a vantagem de o algoritmo seja escrito deuma forma que est prxima de uma linguagem de programao de computadores.

Fluxogramas & programao visual Representao grfica de um algoritmo. Programao visual: a utilizao de diagramas na programao. Descrevem o fluxo dum algoritmo atravs de um conjunto de figuras geomtricas padronizadas ligadas por setas de fluxo.

incio e fim de fluxograma entrada e sada de dados teste e deciso conector na mesma pgina Inicializao teste e actualizao

outras aces/sinstrues

conector para outra pgina

Estruturas lgicas deprogramao:estruturas de controlo Uma estrutura (de controlo) a unidade bsica da lgica deprogramao. Em meados da dcada de 60, alguns matemticos provaram quequalquer programa podia ser construdo atravs da combinao de 3estruturas bsicas: sequncia, seleco e repetio.

Sequncia

Seleco

Repetio

Exemplo em C: if-else#include void main(){int x, y,maior;scanf(%d%d\n,&x,&y);if (x > y)maior = x;elsemaior = y;printf(O maior dos dois inteiros = %d\n,maior);}retorn().Exemplo em C: if#includevoid main(){int nota;printf(Introduza o valor da nota: );scanf(%f,&nota);if ( (nota >= 9.0) && (nota < 9.5) )nota = 9.5;printf(A nota = %f\n, nota);}retorn()

Exemplo em C: switch#include void main(){int count;scanf(%d,&count);switch count{case 5: printf(5\n); break;case 4: printf(4\n); break;case 3: printf(3\n); break;case 2: printf(2\n); break;case 1: printf(1\n);}}retorn()

Exemplo em C: while#include void main(){int sum, k=1;sum = 0; // inicializacao da somawhile (k y2;

Distencia =sqrt (pow ((x2-x1),2)+ pow ((y2-y1),2);

Cout