Sie sind auf Seite 1von 8

1

1. Conceito de Algoritmo


A automao o processo em que uma tarefa deixa de ser desempenhada pelo homem
e passa a ser realizada por mquinas, sejam estes dispositivos mecnicos, eletrnicos (como os
computadores) ou de natureza mista.
Para que a automao de uma tarefa seja bem-sucedida necessrio que a mquina
que passar a realiz-la seja capaz de desempenhar cada uma das etapas constituintes do
processo a ser automatizado com eficincia, de modo a garantir a repetibilidade do mesmo.
Assim, necessrio que seja especificado com clareza e exatido o que deve ser
realizado em cada uma das fases do processo a ser automatizado, bem como a sequncia em
que estas fases devem ser realizadas.
especificao da seqncia ordenada de passos que deve ser seguida para a realizao
de uma tarefa, garantindo a sua repetibilidade, d-se o nome de algoritmo. Ao contrrio do
que se pode pensar, o conceito de algoritmo no foi criado para satisfazer s necessidades da
computao. Pelo contrrio, a programao de computadores apenas um dos campos de
aplicao dos algoritmos. Na verdade, h inmeros casos que podem exemplificar o uso
(involuntrio ou no) de algoritmos para a padronizao do exerccio de tarefas rotineiras. No
entanto, daqui adiante a ateno desta apostila estar voltada automao de tarefas
utilizando computadores.
Para que um computador possa desempenhar uma tarefa necessrio que esta seja
detalhada passo-a-passo, numa forma compreensvel pela mquina, utilizando aquilo que se
chama de programa. Neste sentido, um programa de computador nada mais que um
algoritmo escrito numa forma compreensvel pelo computador (linguagem de programao).


1.1 Algumas Definies de Algoritmo


"Serve como modelo para programas, pois sua linguagem intermediria linguagem humana
e s linguagens de programao, sendo ento, uma boa ferramenta na validao da lgica de
tarefas a serem automatizadas."

2

Os algoritmos, servem para representar a soluo de qualquer problema, mas no caso do
Processamento de Dados, eles devem seguir as regras bsicas de programao para que sejam
compatveis com as linguagens de programao.



1.2 Formas de Representao de Algoritmos



Existem diversas formas de representao de algoritmos, mas no h um consenso com
relao melhor delas.
O critrio usado para classificar hierarquicamente estas formas est diretamente ligado
ao nvel de detalhe ou, inversamente, ao grau de abstrao oferecido.
Algumas formas de representao de algoritmos tratam os problemas apenas em nvel
lgico, abstraindo-se de detalhes de implementao muitas vezes relacionados com alguma
linguagem de programao especfica. Por outro lado existem formas de representao de
algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer
as ideias principais do algoritmo, dificultando seu entendimento.
Dentre as formas de representao de algoritmos mais conhecidas podemos citar:
Descrio Narrativa;
Fluxograma Convencional;
Pseudocdigo, tambm conhecido como Linguagem Estruturada ou Portugol.

1.2.1 Descrio Narrativa

Nesta forma de representao os algoritmos so expressos diretamente em linguagem natural.
Como exemplo, tm-se os algoritmos seguintes:

Receita de bolo:

Misture os ingredientes
Unte a forma com manteiga
Despeje a mistura na forma
Se houver coco ralado
ento despeje sobre a mistura
Leve a forma ao forno
Enquanto no corar
deixe a forma no forno
Retire do forno
Deixe esfriar
3

1.2.2 Fluxograma Convencional

uma representao grfica de algoritmos onde formas geomtricas diferentes
implicam aes (instrues, comandos) distintos. Tal propriedade facilita o entendimento das
ideias contidas nos algoritmos e justifica sua popularidade.
Esta forma aproximadamente intermediria descrio narrativa e ao pseudocdigo
(subitem seguinte), pois menos imprecisa que a primeira e, no entanto, no se preocupa com
detalhes de implementao do programa, como o tipo das variveis usadas.
Alguns os fluxogramas convencionais preocupam-se com detalhes de nvel fsico da
implementao do algoritmo. Por exemplo, figuras geomtricas diferentes so adotadas para
representar operaes de sada de dados realizadas em dispositivos distintos, como uma fita
magntica ou um monitor de vdeo. Trabalharemos com a forma mais simples apresentadas
abaixo.


a














Terminal : smbolo utilizado como ponto para indicar o inicio e ou
fim do fluxo de um programa
Teclado : sero as informaes recebidas ou fornecidas de um ou
por um computador.
Sada de dados em vdeo : utiliza-se quando ser quer mostrar
dados na tela do vdeo.
Processamento : utiliza-se para indicar clculos (algoritmos) a
efetuar, atribuies de valores ou qualquer manipulao de dados.
Conector : Utilizado quando preciso particionar o diagrama. Quando ocorrer
mais de uma partio, colocado uma letra ou nmero dentro do smbolo de
conexo para identificar os pares de ligao.
.
4










1.2.3 Pseudocdigo


Esta forma de representao de algoritmos rica em detalhes, como a definio dos tipos
das variveis usadas no algoritmo. Por assemelhar-se bastante forma em que os programas
so escritos, encontra muita aceitao.
Na verdade, esta representao suficientemente geral para permitir a traduo de um
algoritmo nela representado para uma linguagem de programao especfica seja praticamente
direta. A forma geral da representao de um algoritmo na forma de pseudocdigo a
seguinte:

Este exemplo mostra a representao do algoritmo do clculo da mdia de um aluno, na forma de um
pseudocdigo.

Algoritmo Calculo_Media
Var N1, N2, MEDIA: real
Incio
Leia N1, N2
MEDIA (N1 + N2) / 2
Se MEDIA >= 7 ento
Escreva Aprovado
Seno
Escreva Reprovado
Fim_se
Fim




Conector : especfico para indicar conexo do fluxo em outra
pgina
Deciso : indica a deciso que deve ser tomada, indicando a possibilidade de
desvios para diversos outros pontos do fluxo, dependendo do resultado de
comparao e de acordo com situaes variveis..
Seta de fluxo de dados : permite indicar o sentido do fluxo de dados. Serve
exclusivamente para conectar os smbolos existentes.

5

2. Tipos Primitivos Tipos de Dados



Todo o trabalho realizado por um computador baseado na manipulao das
informaes contidas em sua memria. Grosso modo, estas informaes podem ser
classificadas em dois tipos:
As instrues, que comandam o funcionamento da mquina e determinam a maneira
como devem ser tratados os dados. As instrues so especficas para cada modelo de
computador, pois so funes do tipo particular de processador utilizado em sua
implementao.
Os dados propriamente ditos, que correspondem poro das informaes a serem
processadas pelo computador.
A maior parte das pessoas no ligadas rea de informtica ignora o potencial dos
computadores e imagina que eles so capazes de tratar apenas com dados numricos. Na
realidade, a capacidade dos mesmos se estende a outros tipos de dados.
O objetivo deste captulo justamente o de classificar os dados de acordo com o tipo de
informao contida neles. A classificao apresentada no se aplica a nenhuma linguagem de
programao especfica; pelo contrrio, ela sintetiza os padres utilizados na maioria das
linguagens.

2.1 Dados Numricos
Antes de apresentar formalmente os tipos de dados numricos, conveniente recordar
alguns conceitos bsicos relacionados teoria dos nmeros e conjuntos. O conjunto dos
nmeros naturais representado por N e dado por:
N = {1, 2, 3, 4, ...}
Algumas correntes de matemticos tericos convencionam que o nmero 0 est contido
neste conjunto; contudo, no convm perder tempo em tais discusses filosficas, uma vez que
isto no influenciar de forma alguma este estudo.
Na seqncia, encontramos o conjunto dos nmeros inteiros:
Z = {..., -3, -2, -1, 0, 1, 2, 3, ...}
6

O conjunto Z contm todos os elementos de N, bem como alguns nmeros que no
pertencem a N (os nmeros negativos e o zero). Portanto, dizemos que N est contido em Z, ou
ento, que Z contm N.
Englobando o conjunto dos nmeros inteiros, existe o conjunto dos nmeros fracionrios
(Q), dado pelo universo dos nmeros que podem ser expressos na forma de uma frao, isto ,
um quociente onde o numerador e o denominador so nmeros inteiros. Mais formalmente:
Q = ( p/q | p, q pertencem a Z}


2.1.1 Dados Numricos Inteiros

Os nmeros inteiros so aqueles que no possuem componentes decimais ou fracionrios,
podendo ser positivos ou negativos.
Os elementos pertencentes aos conjuntos N e Z, apesar de serem representveis na classe
dos nmeros reais, so classificados como dados do tipo inteiro, por no possurem parte
fracionria. Esta possibilidade interessante por permitir uma economia do espao de
memria, como veremos adiante.
Por sua vez, os elementos dos conjuntos Q e R, por possurem parte fracionria, no
podem ser representados na classe inteira, pertencendo necessariamente aos tipos de dados
ditos reais.
Como exemplos de nmeros inteiros temos:
24 - nmero inteiro positivo
0 - nmero inteiro
-12 - nmero inteiro negativo

2.1.2 Dados Numricos Reais

Os dados de tipo real so aqueles que podem possuir componentes decimais ou
fracionrios, e podem tambm ser positivos ou negativos. Como dito anteriormente, os
elementos dos conjuntos de nmeros fracionrios e reais so necessariamente representados
no computador por dados do tipo real.
Exemplos de dados do tipo real:
7


24.01 - nmero real positivo com duas casas decimais
144. - nmero real positivo com zero casas decimais
-13.3 - nmero real negativo com uma casa decimal
0.0 - nmero real com uma casa decimal
0. - nmero real com zero casas decimais

Observe que h uma diferena entre 0, que um dado do tipo inteiro 0. (ou 0.0)
que um dado do tipo real. Portanto, a simples existncia do ponto decimal serve para
diferenciar um dado numrico do tipo inteiro de um do tipo real.

2.2 Dados Literais

O tipo de dados literal constitudo por uma seqncia de caracteres contendo letras,
dgitos e/ou smbolos especiais. Este tipo de dados tambm muitas vezes chamado de
alfanumrico, cadeia (ou cordo) de caracteres, ainda, do ingls, string.
Usualmente, os dados literais so representados nos algoritmos pela coleo de
caracteres, delimitada em seu incio e trmino com o caractere aspas ("). Diz-se que o dado do
tipo literal possui um comprimento dado pelo nmero de caracteres nele contido.
Exemplos de dados do tipo literal:

"QUAL ?" - literal de comprimento 6
" " - literal de comprimento 1
"qUaL ?!$" - literal de comprimento 8
" AbCdefGHi" - literal de comprimento 9
"1-2+3=" - literal de comprimento 6
0 - literal de comprimento 1

Note que, por exemplo, "1.2" representa um dado do tipo literal de comprimento 3,
constitudo pelos caracteres "1", "." e "2", diferindo de 1.2 que um dado do tipo real.





8

2.3 Dados Lgicos

A existncia deste tipo de dado , de certo modo, um reflexo da maneira como os
computadores funcionam. Muitas vezes, estes tipos de dados so chamados de booleanos,
devido significativa contribuio de BOOLE rea da lgica matemtica.
O tipo de dados lgico usado para representar dois nicos valores lgicos possveis:
verdadeiro e falso.
comum encontrar-se em outras referncias outros tipos de pares de valores lgicos
como sim/no, 1/0, true/false.
Nos algoritmos apresentados nesta apostila os valores lgicos sero delimitados pelo
caractere ponto (.).

Exemplo:
.V. - valor lgico verdadeiro
.F. - valor lgico falso

Das könnte Ihnen auch gefallen