Você está na página 1de 9

ESCOLA SECUNDRIA SO JOS DA MUNHAVA

Disciplina: TIC
Tema: Algoritmo e Fluxograma

Discente:
Isabel Da Conceio Papate
Nmero: 11
Turma: B03
12 Classe

Docente:
Benessone Lus Bonomar

Beira, aos Junho de 2015


Introduo

Este presente trabalho foi elaborado pela aluna da 12classe, A03, no mbito da disciplina de
tecnologia de informao e comunicao, tendo como tema algoritmo e fluxograma.
O algoritmo uma sequncia de passos que um computador executara fielmente com
objectivo de ter resultados satisfatrios, e o fluxograma tem como objectivo representar
esquematicamente um processo.

Algoritmo
Um algoritmo uma sequncia finita de instrues bem definidas e no ambguas, cada uma
da qual pode ser executada mecanicamente em um perodo de tempo finito e com uma
quantidade de esforo finita.
O conceito de algoritmo frequentemente ilustrado pelo exemplo de uma receita culinria,
embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iteraes)
ou necessitar de decises (tais como comparaes ou lgica) at que a tarefa seja completada.
Um algoritmo correctamente executado no ir resolver um problema se estiver
implementado incorrectamente ou se no for apropriado ao problema.
Um algoritmo no representa, necessariamente, um programa de computador, e sim os passos
necessrios para realizar uma tarefa. Sua implementao pode ser feita por um computador,
por outro tipo de autmato ou mesmo por um ser humano.
Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de
instrues em mais ou menos tempo, espao ou esforo do que outros. Tal diferena pode ser
reflexo da complexidade computacional aplicada, que depende de estruturas de dados
adequadas ao algoritmo. Por exemplo, um algoritmo para se vestir pode especificar que voc
vista primeiro as meias e os sapatos antes de vestir a cala enquanto outro algoritmo
especifica que voc deve primeiro vestir a cala e depois as meias e os sapatos. Fica claro que
o primeiro algoritmo mais difcil de executar que o segundo apesar de ambos levarem ao
mesmo resultado.

Formalismo
Fluxograma, um exemplo de algoritmo imperativo. O estado em vermelho indica a entrada do
algoritmo enquanto os estados em verde indicam as possveis sadas.
Um programa de computador essencialmente um algoritmo que diz ao computador os
passos especficos e em que ordem eles devem ser executados, como por exemplo, os passos
a serem tomados para calcular as notas que sero impressas nos boletins dos alunos de uma
escola. Logo, o algoritmo pode ser considerado uma sequncia de operaes que podem ser
simuladas por uma mquina de Turing completa.
Quando os procedimentos de um algoritmo envolvem o processamento de dados, a
informao lida de uma fonte de entrada, processada e retornada sob novo valor aps
processamento, o que geralmente realizado com o auxlio de uma ou mais estrutura de
dados.
Para qualquer processo computacional, o algoritmo precisa estar rigorosamente definido,
especificando a maneira que ele se comportar em todas as circunstncias. A correctividade
do algoritmo pode ser provada matematicamente, bem como a quantidade assinttica de
tempo e espao (complexidade) necessrios para a sua execuo. Estes aspectos dos
algoritmos so alvo da anlise de algoritmos.

A maneira mais simples de se pensar um algoritmo por uma lista de procedimentos bem
definida, na qual as instrues so executadas passo a passo a partir do comeo da lista, uma
ideia que pode ser facilmente visualizada atravs de um fluxograma. Tal formalizao adopta
as premissas da programao imperativa, que uma forma mecnica para visualizar e
desenvolver um algoritmo. Concepes alternativas para algoritmos variam em programao
funcional e programao lgica.
Trmino do algoritmo
Alguns autores restringem a definio de algoritmo para procedimentos que eventualmente
terminam. Marvin Minsky constatou que se o tamanho de um procedimento no conhecido
de antemo, tentar descobri-lo um problema indecidvel, j que o procedimento pode ser
executado infinitamente, de forma que nunca se ter a resposta. Alan Turing provou em 1936
que no existe mquina de Turing para realizar tal anlise para todos os casos, logo no h
algoritmo para realizar tal tarefa para todos os casos. Tal condio conhecida actualmente
como problema da parada.
Para algoritmos interminveis o sucesso no pode ser determinado pela interpretao da
resposta e sim por condies impostas pelo prprio desenvolvedor do algoritmo durante sua
execuo.

Implementao
A maioria dos algoritmos desenvolvida para ser implementada em um programa de
computador. Apesar disso eles tambm podem ser implementados por outros modos tais
como uma rede neural biolgica (tal como no crebro quando efectuamos operaes
aritmticas) em circuitos elctricos ou at mesmo em dispositivos mecnicos.
Para programas de computador existe uma grande variedade de linguagens de programao,
cada uma com caractersticas especficas que podem facilitar a implementao de
determinados algoritmos ou atender a propsitos mais gerais.

Anlise de algoritmos
A anlise de algoritmos um ramo da cincia da computao que estuda as tcnicas de
projecto de algoritmos e os algoritmos de forma abstracta, sem estarem implementados em
uma linguagem de programao em particular ou implementadas de algum outro modo.
Ela preocupa-se com os recursos necessrios para a execuo do algoritmo tais como o tempo
de execuo e o espao de armazenamento de dados. Deve-se perceber que para um dado
algoritmo pode-se ter diferentes quantidades de recursos alocados de acordo com os
parmetros passados na entrada. Por exemplo, se definirmos que o factorial de um nmero
natural igual ao factorial de seu antecessor multiplicado pelo prprio nmero, fica claro que
a execuo de factorial (10) consome mais tempo que a execuo de factorial (5).

Classificao
Classificao por implementao
Pode-se classificar algoritmos pela maneira pelo qual foram implementados.

Recursivo ou iterativo - um algoritmo recursivo possui a caracterstica de invocar a


si mesmo repetidamente at que certa condio seja satisfeita e ele terminado, que
um mtodo comum em programao funcional.

Lgico - um algoritmo pode ser visto como uma deduo lgica controlada. O
componente lgico expressa os axiomas usados na computao e o componente de
controle determina a maneira como a deduo aplicada aos axiomas.

Serial - algoritmos geralmente assumidos por serem executados instruo a


instruo individualmente, como uma lista de execuo, o que constitui um algoritmo
serial. Tal conceito base para a programao imperativa. Por outro lado existem
algoritmos executados paralelamente, que levam em conta as arquitecturas de
computadores com mais de um processador para executar mais de uma instruo ao
mesmo tempo.

Determinstico - algoritmos determinsticos resolvem o problema com uma deciso


exacta a cada passo enquanto algoritmos no-determinsticos resolvem o problema ao
deduzir os melhores passos atravs de estimativas sob forma de heursticas.

Exacto ou aproximado - enquanto alguns algoritmos encontram uma resposta exacta,


algoritmos de aproximao procuram uma resposta prxima a verdadeira soluo, seja
atravs de estratgia determinstica ou aleatria.

Classificao por paradigma


Pode-se classificar algoritmos pela metodologia ou paradigma de seu desenvolvimento, tais
como:

Diviso e conquista - algoritmos de diviso e conquista reduzem repetidamente o


problema em sub-problemas, geralmente de forma recursiva, at que o sub-problema
pequeno o suficiente para ser resolvido. Um exemplo prtico o algoritmo de
ordenao merge sort. Uma variante dessa metodologia o decremento e conquista,
que resolve um sub-problema e utiliza a soluo para resolver um problema maior.
Um exemplo prtico o algoritmo para pesquisa binria.

Programao dinmica - pode-se utilizar a programao dinmica para evitar o


reclculo de soluo j resolvidas anteriormente.

Algoritmo ganancioso - um algoritmo ganancioso similar programao dinmica,


mas difere na medida em que as solues dos sub-problemas no precisam ser
4

conhecidas a cada passo, uma escolha gananciosa pode ser feita a cada momento com
o que at ento parece ser mais adequado.

Programao linear - A resoluo de um problema atravs de programao linear


envolve a maximizao / minimizao das entradas de um conjunto de desigualdades
lineares.

Reduo - a reduo resolve o problema ao transform-lo em outro problema.


chamado tambm transformao e conquista.

Busca e enumerao - vrios problemas podem ser modelados atravs de grafos. Um


algoritmo de explorao de grafo pode ser usado para caminhar pela estrutura e
retornam informaes teis para a resoluo do problema. Esta categoria inclui
algoritmos de busca e backtracking.

Paradigma heurstico e probabilstico - algoritmos probabilsticos realizam escolhas


aleatoriamente. Algoritmos genticos tentam encontrar a soluo atravs de ciclos de
mutaes evolucionrias entre geraes de passos, tendendo para a soluo exacta do
problema. Algoritmos heursticos encontram uma soluo aproximada para o
problema.

Classificao por campo de estudo


Cada campo da cincia possui seus prprios problemas e respectivos algoritmos adequados
para resolv-los. Exemplos clssicos so algoritmos de busca, de ordenao, de anlise
numrica, de teoria de grafos, de manipulao de cadeias de texto, de geometria
computacional, de anlise combinatria, de aprendizagem de mquina, de criptografia, de
compresso de dados e de interpretao de texto.

Classificao por complexidade


Alguns algoritmos so executados em tempo linear, de acordo com a entrada, enquanto outros
so executados em tempo exponencial ou at mesmo nunca terminam de serem executados.
Alguns ditos problemas tem mltiplos algoritmos enquanto outros no possuem algoritmos
para resoluo.
Fluxograma
Fluxograma um tipo de diagrama, e pode ser entendido como uma representao
esquemtica de um processo, muitas vezes feito atravs de grficos que ilustram de forma
descomplicada a transio de informaes entre os elementos que o compem, ou seja, a
sequncia operacional do desenvolvimento de um processo, o qual caracteriza: o trabalho que
est sendo realizado, o tempo necessrio para sua realizao, a distncia percorrida pelos
documentos, quem est realizando o trabalho e como ele flui entre os participantes deste
processo.
5

Os fluxogramas so muito utilizados em projectos de software para representar a lgica


interna dos programas, mas podem tambm ser usados para desenhar processos de negcio e
o workflow que envolve diversos atores corporativos no exerccio de suas atribuies.
O Diagrama de fluxo de dados (DFD) utiliza do Fluxograma para modelagem e
documentao de sistemas computacionais.
O termo Fluxograma designa uma representao grfica de um determinado processo ou
fluxo de trabalho, efetuado geralmente com recurso a figuras geomtricas normalizadas e as
setas unindo essas figuras geomtricas. Atravs desta representao grfica possvel
compreender de forma rpida e fcil a transio de informaes ou documentos entre os
elementos que participam no processo em causa.
O fluxograma pode ser definido tambm como o grfico em que se representa o percurso ou
caminho percorrido por certo elemento (por exemplo, um determinado documento), atravs
dos vrios departamentos da organizao, bem como o tratamento que cada um vai lhe dando.
A existncia de fluxogramas para cada um dos processos fundamental para a simplificao
e racionalizao do trabalho, permitindo a compreenso e posterior optimizao dos
processos desenvolvidos em cada departamento ou rea da organizao.
Outros smbolos e modelos podem ser usados para montar fluxogramas, o que vai determinar
quais smbolos utilizar ou no, ou ainda, que tipo de fluxograma se deve usar o objetivo
dele e o qu ele descreve.

Concluso
Neste presente trabalho tive a concluso de que algoritmo uma sequncia finita de
instrues bem definidas e no ambguas e o fluxograma um diagrama que tem como
finalidade representar processos ou fluxos de materias e operacoes.

Bibliografia
https://pt.wikipedia.org/wiki/Algoritmo
https://pt.wikipedia.org/wiki/Fluxograma

Você também pode gostar