Anda di halaman 1dari 6

INSTITUTO FEDERAL DE MATO

GROSSO
UNIVERSIDADE ABERTA DO BRASIL
Data: 01/09/2013
Disciplina: Estrutura de Dados Pgina: 1
Prof.: Orlando Jnior

Algoritmos

Introduo
O objetivo deste material rever ou introduzir alguns conceitos que utilizaremos no estudo da disciplina
de Estruturas de Dados. Inicialmente, o material aborda, de maneira breve, sobre a utilizao da
Pseudolinguagem (Portugol). Tambm abora os conceitos de Constantes, Variveis, Tipos de Dados,
Estruturas de Deciso e Estruturas de Repetio, alm de exemplificar a soluo de alguns problemas.
Conceitos
Pseudolinguagem (Portugol)
A Pseudolinguagem uma linguagem especial, de vocabulrio bastante restrito porm com significados
bem definidos em todos os termos da linguagem. A Pseudolinguagem conhecida tambm como
Portugol, nome que oriunda da juno de Portugus com Algol. Algol uma famlia de linguagens de
programao de Alto Nvel.
O Portugol, portugus estruturado, na verdade uma simplificao extrema da lngua portuguesa,
limitada a pouqussimas palavras e estruturas que tm significado pr-definido, pois deve-se seguir um
padro. Trata-se de uma linguagem intermediria entre a linguagem natural e uma linguagem de
programao, para descrever os algoritmos.
A sintaxe no precisa ser seguida to rigorosamente quanto a sintaxe de uma linguagem de
programao, visto que os algoritmos construdos no passam por verificaes rgidas com em
linguagens de programao.

Figure 1 - Exemplo de Sintaxe em Portugol

INSTITUTO FEDERAL DE MATO
GROSSO
UNIVERSIDADE ABERTA DO BRASIL
Data: 01/09/2013
Disciplina: Estrutura de Dados Pgina: 2
Prof.: Orlando Jnior

A Figura 1 apresenta um exemplo resumido de cdigo escrito em Portugol, onde demonstra-se a
simplicidade da linguagem, sendo que a mesma possui todos os elementos bsicos e uma estrutura
semelhante de uma linguagem de programao de computadores.
Portanto, resolver problemas com portugus estruturado pode ser uma tarefa to complexa quanto a
de escrever um programa em uma linguagem de programao qualquer, s no to rgida quanto a sua
sintaxe, ou seja, o algoritmo no deixa de funcionar porque esquecemos de colocar um ';' (ponto-
evrgula) por exemplo, j um programa no funcionaria.

Figure 2 - Programa escrito em Portugol
A Figura 2 mostra um problema completo e, aparentemente, correto em termos de sintaxe.


INSTITUTO FEDERAL DE MATO
GROSSO
UNIVERSIDADE ABERTA DO BRASIL
Data: 01/09/2013
Disciplina: Estrutura de Dados Pgina: 3
Prof.: Orlando Jnior

Constantes
So chamadas de Constantes, as informaes (dados) que no variam com o tempo, ou seja,
permanecem sempre com o mesmo contedo, um valor fixo (invarivel). Como exemplos de
constantes pode-se citar: nmeros, letras, palavras etc.
Variveis
Entender o conceito de varivel, no contexto de algoritmos, fundamental para a soluo de problemas
atravs de programas. Uma varivel, um espao da memria do computador que "reservamos" para
guardar informaes.
Como o prprio nome sugere, as variveis, podem conter valores diferentes a cada instante de tempo,
ou seja, seu contedo pode variar de acordo com as instrues do algoritmo.
As variveis so referenciadas atravs de um nome (identificador) criado por voc durante o
desenvolvimento do algoritmo. Exemplos de nomes de variveis: produto, idade, a, x, nota1, peso,
preo, etc.
O contedo de uma varivel pode ser alterado, consultado ou apagado quantas vezes forem necessrias
durante a execuo do algoritmo. Mas ao alterar o contedo da varivel a informao anterior
perdida, ou seja, sempre "vale" a ltima informao armazenada na varivel. Uma varivel armazena
'apenas' um contedo de cada vez.
Uma boa analogira comparar uma varivel com uma caixa, que em um dado momento guarda um
determinado objeto. O contedo desta caixa no algo permanente, ao contrrio das Constantes. Na
verdade, essa caixa pode ter seu contedo alterado diversas vezes, de acordo com o objetivo do
algoritmo. Abaixo, a Figura 3 mostra uma varivel (caixa) denominada Fator e que est recebendo o
valor (contedo) cinco.

Figure 3 - Varivel Fator

INSTITUTO FEDERAL DE MATO
GROSSO
UNIVERSIDADE ABERTA DO BRASIL
Data: 01/09/2013
Disciplina: Estrutura de Dados Pgina: 4
Prof.: Orlando Jnior

Deve-se tomar alguns cuidados para a definio de nomes de variveis. Os nomes das variveis devem
obrigatoriamente comear por uma letra. Aps a primeira letra poder conter letras, nmeros ou
underline ( _ ). Os nomes devem ser exclusivos, ou seja, no pode haver variveis com mesmo nome.
Exemplo de declarao de variveis:
var
a : inteiro
valor1, valor2 : real
nome_aluno : caractere

Atribuio
As variveis podem receber valores distintos em diversos pontos do algoritmo. O comando utilizado
para tal operao o comando de Atribuio. A operao de atribuio, normalmente, representada
por uma seta apontando para a esquerda, mas existem outros smbolos para representar a atribuio,
depende da forma de representao do algoritmo.
Na Tabela 1 a seguir, so mostrados alguns exemplos de atribuies:
Table 1 - Exemplos de Atribuies
Atribuies Possveis Exemplos
varivel <- constante idade <- 12
Varivel <- varivel preco <- valor
varivel <- expresso A <- B + C

Entrada e Sada de Dados
A fim de dar insumos ao programa, para que o mesmo atribuir dados s variveis, necessria a
utilizao do comando Leia. Este comando realiza a obteno do dado, normalmente informado pelo
teclado, e atribui varivel informada. Veja o exemplo abaixo:
var
nota1, nota2 : real
inicio
leia(nota1)
leia(nota2)
fimalgoritmo

De acordo com o exemplo de cdigo acima, ao ser executado o programa, o usurio ter a oportunidade
de informar os valores para as variveis nota1 e nota2.

INSTITUTO FEDERAL DE MATO
GROSSO
UNIVERSIDADE ABERTA DO BRASIL
Data: 01/09/2013
Disciplina: Estrutura de Dados Pgina: 5
Prof.: Orlando Jnior

Na mesma mo, os valores armazenados na memria do computados, utilizados em diversos
processamentos, clculos e etc. tambm podem ser mostrados ao usurio, como resultados de clculos,
mensagens e etc.
Para mostrar (escrever) resultados no programa necessrio utilizar o comando Escreva. Veja o
exemplo a seguir.
escreva(O resultado do clculo de mdia :)
escreva(media)

Abaixo, na Tabela 2, so mostradas alguns outros exemplos de comandos de Leia e Escreva.
Table 2 - Exemplos de Comandos de Entrada e Sada de Dados


Operadores Aritmticos
Na construo de algoritmos comum utilizarmos expresses matemticas para a resoluo de clculos,
como Clculo de Mdia, por exemplo. Nesta seo sero apresentados os operadores aritmticos
necessrios para determinadas expresses.
A seguir, na Tabela 3, so apresentados os operadores aritmticos bsicos

INSTITUTO FEDERAL DE MATO
GROSSO
UNIVERSIDADE ABERTA DO BRASIL
Data: 01/09/2013
Disciplina: Estrutura de Dados Pgina: 6
Prof.: Orlando Jnior

Table 3 - Operadores Aritmticos

Nas linguagens de programao e, portanto, nos exerccios de algoritmos que iremos desenvolver, as
expresses matemticas sempre obedecem s regras matemticas comuns, ou seja:
As expresses dentro de parnteses so sempre resolvidas antes das expresses fora dos
parnteses. Quando existem vrios nveis de parnteses, ou seja, um parntese dentro de outro,
a soluo sempre inicia do parntese mais interno at o mais externo (de dentro para fora).
Quando duas ou mais expresses tiverem a mesma prioridade, a soluo sempre iniciada da
expresso mais esquerda at a mais direita.
Desta forma, veja os seguintes exemplos e os respectivos resultados:
ExemploA: 2 + (6 * (3 + 2)) = 32
ExemploB: 2 + 6 * (3 + 2) = 32
Para o desenvolvimento de algoritmos que possuam clculos matemticos, as expresses aritmticas
devem estar horizontalizadas, ou seja, linearizadas e tambm no esquecendo de utilizar os operadores
corretamente. Na Tabela 4 a seguir, apresentado um exemplo de uma expresso aritmtica na forma
tradicional e como deve ser utilizada nos algoritmos e em programao em geral (linearmente).
Table 4 - Exemplo de Horizontalizao de Expresses Aritmticas