Вы находитесь на странице: 1из 24

ALGORITMOS

Algoritmo (Definio)
Um conjunto finito de regras que fornece uma sequncia de operaes para resolver um tipo de problema especfico KNUTH Sequncia ordenada, e no ambgua, de passos que levam soluo de um dado problema TREMBLAY

A importncia do Algoritmo

A importncia do algoritmo est no facto de conseguirmos especificar uma sequncia de passos lgicos para que o computador possa executar uma tarefa qualquer, pois o mesmo por si s no tem vontade prpria, faz apenas o que mandamos. Com uma ferramenta algortmica, podemos conceber uma soluo para qualquer problema, independentemente da linguagem especfica e at mesmo do prprio computador.

CARACTERSTICAS DO ALGORITMO

Todos os algoritmos devem apresentar algumas caractersticas bsicas: ter fim; no dar margem dupla interpretao (no ambguo); capacidade de receber dados de entrada do mundo exterior; poder gerar informaes de sada para o mundo externo ao do ambiente do algoritmo; ser efectivo (todas as etapas especificadas no algoritmo devem ser alcanveis em tempo finito).

FORMAS DE REPRESENTAO

DESCRIO NARRATIVA FLUXOGRAMA

LINGUAGEM ALGORTMICA

DESCRIO NARRATIVA
Faz-se uso da linguagem para descrever algoritmos. EXEMPLO: Receita de Bolo: Precisa de manteiga, ovos, acar, etc. Misture os ingredientes Despeje a mistura na forma de bolo Leve a forma ao forno Espere 20 minutos Retire a forma do forno Deixe arrefecer Prove

DESCRIO NARRATIVA
VANTAGENS: O portugus bastante conhecido por ns; DESVANTAGENS: impreciso; pouca fiabilidade (a impreciso acarreta a desconfiana); extenso (normalmente, escreve-se muito para dizer pouca coisa).

FLUXOGRAMA

Utilizao de smbolos grficos para representar algoritmos. No fluxograma existem smbolos padro para: incio, entrada de dados, clculos, sada de dados, fim, etc.

FLUXOGRAMA

FLUXOGRAMA

VANTAGENS: Uma das ferramentas mais conhecidas; Figuras dizem muito mais que palavras; Padro mundial DESVANTAGENS: Pouca ateno aos dados, no oferecendo recursos para descrev-los ou represent-los; Complica-se medida que o algoritmo cresce.

LINGUAGEM ALGORTMICA

Consiste na definio de uma pseudo linguagem de programao, cujos comandos so em portugus, para representar algoritmos.

LINGUAGEM ALGORTMICA
EXEMPLO: Algoritmo CALCULA_DOBRO NUM,DOBRO : inteiro incio Leia NUM DOBRO 2 * NUM Escreva DOBRO fim

LINGUAGEM ALGORTMICA

VANTAGENS: Usa o portugus como base; Pode definir-se quais e como os dados vo estar estruturados; Passagem quase imediata do algoritmo para uma linguagem de programao qualquer. DESVANTAGENS: Exige a definio de uma linguagem no real para trabalho; No padronizado.

ESTRUTURAS CHAVE DA CONSTRUO DE ALGORITMOS Existem 3 estruturas bsicas de controle nas quais se baseiam os algoritmos: sequncia deciso ou seleco Repetio ou iterao

SEQUNCIA
Os comandos do algoritmo fazem parte de uma sequncia, onde relevante a ordem na qual se encontram os mesmos, pois sero executados um de cada vez, estritamente, de acordo com essa ordem. De uma forma genrica, poderamos expressar uma sequncia da seguinte maneira: Comando-1 Comando-2 Comando-3 Comando-n

SEQUNCIA

Obtm-se assim, uma sequencia de n comandos na qual estes sero executados na ordem em que aparecem, isto , o comando de ordem i+1 s ser executado aps a execuo do de ordem i (o 3o s ser executado aps o 2o). Todos os algoritmos so sequncias. A sequencia aplicada quando a soluo do problema pode ser decomposta em passos individuais.

DECISO OU SELECO
Tambm conhecida por estrutura condicional. Submetemos a execuo de um ou mais comandos verificao de uma condio. Vejamos o funcionamento: Se <condio> ento <seq. de comandos-1> seno <seq. de comandos-2> Isto implica: se a <condio> for verdadeira ser executado a <seq. de comandos-1>, caso contrrio, teremos a execuo da <seq. de comandos-2>.

DECISO OU SELECO
A deciso deve ser sempre usada quando h a necessidade de testar alguma condio e em funo da mesma tomar uma atitude. No nosso dia-a-dia, tomamos inmeras decises, vejamos: Se tiver dinheiro suficiente, ento vou almoar em um bom restaurante. Caso contrrio (seno), vou comer uma sandes ao caf da esquina.

REPETIO OU ITERAO

Tambm conhecida como looping ou lao.


Permite que tarefas individuais sejam repetidas um nmero determinado de vezes ou tantas vezes quantas uma condio lgica permita.

REPETIO OU ITERAO
Exemplos: a) vou atirar pedras aos vidros at os partir; b) marcarei cinco livres; c) enquanto tiver sade e dinheiro, vou desfrutar a vida. No exemplo (a), a aco de atirar pedras aos vidros repete-se at que seja satisfeita a condio de os partir. No exemplo (b), haver a repetio da atitude de marcar um livre, um nmero determinado de vezes (cinco). No exemplo (c), a condio que me permitir continuar desfrutando a vida ter dinheiro e sade.

REFINAMENTOS SUCESSIVOS

Um algoritmo considerado completo se os seus comandos forem do entendimento do seu destinatrio. Num algoritmo, um comando que no seja do entendimento do destinatrio ter que ser desdobrado em novos comandos, que constituiro um refinamento do comando inicial, e assim sucessivamente, at que os comandos sejam entendidos pelo destinatrio.

REFINAMENTOS SUCESSIVOS
O algoritmo para calcular a mdia aritmtica de dois nmeros pode ser escrito da seguinte forma: Algoritmo CALCULA_MDIA Incio Receba os dois nmeros Calcule a mdia dos dois nmeros Exiba o resultado Fim

REFINAMENTOS SUCESSIVOS

Podemos desdobrar o comando Calcule a mdia dos dois nmeros em:

Soma os dois nmeros Divida o resultado por 2

REFINAMENTOS SUCESSIVOS
Assim sendo, teremos: Algoritmo CALCULA_MDIA Incio Receba os dois nmeros Soma os dois nmeros Divida o resultado por 2 Exiba o resultado Fim

Вам также может понравиться