Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Hlio Andrade
http://helioandrade.com/
contato@helioandrade.com
1 INTRODUO
Definio
A programao de computadores tem como fundamento o algoritmo.
Algoritmo uma maneira particular de resolver um problema, e constitui-se em um
conjunto de aes ordenadas logicamente, realizveis em um intervalo de tempo considerado
aceitvel e consumindo a menor quantidade de recursos possvel.
Em outros termos:
Um algoritmo uma sequncia finita de instrues bem definidas e no ambguas, cada uma das
quais podendo ser executada mecanicamente num perodo de tempo finito e com uma quantidade
de esforo finita.
Fonte: Wikipdia
importante ressaltar que nem todos os problemas podem ser resolvidos por meio de
algoritmos, sendo usadas outras tcnicas, que so abordadas em um curso mais avanado.
A utilizao de algoritmos no exclusividade da Computao, sendo utilizado em diversas
reas do conhecimento humano. Usamos algoritmos cotidianamente, muitas vezes sem
percebermos. Por exemplo: uma receita de bolo; a troca de um pneu furado; a compra de uma
passagem area; etc.
Exemplo #1: Algoritmo TOMAR BANHO.
1.
2.
3.
4.
5.
6.
7.
8.
Entrar no banheiro;
Tirar a roupa;
Abrir o registro;
Ensaboar-se;
Enxaguar o corpo;
Passar shampoo nos cabelos;
Enxaguar o cabelo;
Fechar o registro.
Pegar o macaco;
Colocar o macaco embaixo do carro;
Levantar o carro;
Pegar chave de roda;
Desparafusar a roda;
Retirar a roda;
Colocar o estepe;
Reparafusar o pneu;
Abaixar o carro;
Tirar o macaco.
1.
2.
3.
4.
5.
6.
Estruturas bsicas
Perceba que na execuo das instrues em um algoritmo a ordem em que as tarefas so
realizadas importante. No podemos, por exemplo, bater os ovos antes de quebr-los dentro da
batedeira ou tomar banho sem antes tirarmos a roupa. A sequncia de instrues executadas
determinante para o sucesso de nosso algoritmo.
Outro aspecto a ser considerado que quando executamos o algoritmo "correr ao redor da
praa", por exemplo, definimos em nossa mente de antemo a quantidade de voltas que daremos,
ou seja, a quantidade de vezes que repetiremos a tarefa de contornar correndo a praa, at que seja
atingido o limite que desejamos.
Consideremos, ainda, que no nosso dia a dia temos que tomar decises quanto ao que
deveremos ou no realizar: se chover, levarei capa de chuva, por exemplo. Escolhas bem feitas
podem determinar o sucesso ou fracasso de nossos algoritmos.
Diante do exposto, queremos adiantar que os algoritmos possuem 3 (trs) estruturas
"notveis", que so a sua matria-prima:
Estruturas Sequenciais;
Estruturas de Repetio;
Estruturas de Deciso.
Escrever bons algoritmos indiretamente significa dominar tais estruturas!
Representao
Como tudo que diz respeito existncia humana, precisamos expressar nossas ideias
algortmicas e p-las no papel.
Um algoritmo pode ser expresso por meio de:
Diagramas, smbolos especiais e fluxogramas;
Nossa linguagem natural, como no exemplo da receita de bolo;
Uma linguagem estruturada, como o portugol, criada especialmente para a
expresso de algoritmos em portugus.
Alternaremos frequentemente entre uma representao e outra. Porm, nosso foco ser
no desenvolvimento de algoritmos utilizando o portugus estruturado (portugol) do VisuAlg, que
ser explicado com maiores detalhes em lies mais adiante.
Exemplo: Clculo da mdia e determinao da situao de um dado aluno.
Utilizando linguagem corrente:
1.
2.
3.
4.
2 TIPOS DE DADOS
Como vimos anteriormente, um algoritmo consiste numa sequncia de passos bem
definidos com o intuito de resolver um dado problema.
Ou seja, um algoritmo realiza um conjunto de instrues numa determinada ordem sobre
um conjunto de dados de entrada, tendo em vista um conjunto de dados de sada desejado.
Um algoritmo, portanto, uma ferramenta computacional responsvel por transformar
dados brutos de entrada em informao til na sada.
Diante do exposto, importante que, ao desenvolvermos um algoritmo, deixemos explcito
com quais tipos de dados ele ir trabalhar, uma vez que o computador nada mais do que uma
mquina espera de instrues e dados para processar.
Tipos Inteiros
So os dados numricos constitudos pelo conjunto dos nmeros inteiros, ou seja, o
conjunto dos naturais mais os nmeros negativos.
Exemplos:
Eu tenho 33 anos de idade.
Joo tem 2 filhos.
Tipos Reais
So os dados numricos constitudos pelo conjunto dos nmeros naturais, inteiros e
racionais, ou seja, nmeros negativos, positivos, fracionrios e com casas decimais. Por exemplo: 12;
-1245; 45,98; 1/8.
No Brasil, separamos a parte inteira da parte decimal de um nmero utilizando a vrgula (,).
Na construo de algoritmos, a notao a ser usada a inglesa, que utiliza o ponto (.). Ento, por
exemplo, 1234,56 ficaria 1234.56.
Exemplos:
A rea de um terreno igual a 123,50 m.
O saldo da conta R$ -258,69.
A temperatura ambiente de -20,35 C.
Tipos Literais
So constitudos por sequncias de letras, nmeros e smbolos especiais, incluindo os
espaos em branco.
Outras denominaes do tipo de dado literal encontradas nos livros tcnicos so: cadeia,
string, alfanumrico.
Exemplos:
Celular: (98) 1234-5678.
CPF: 123.456.789-10.
Endereo: Rua Fulano de Tal, n 1234.
Hlio Andrade.
Tipos Lgicos
So os dados que assumem os valores VERDADEIRO ou FALSO. So tambm conhecidos
como tipos de dados booleanos.
Exemplos:
A porta pode estar aberta ou fechada.
Voc pode estar feliz ou triste.
H outros tipos de dados, porm, os que sero tratados aqui so suficientes para um
programador iniciante, visto que as habilidades que devem ser desenvolvidas so o raciocnio lgico
e o domnio das estruturas bsicas utilizadas na programao de computadores.
No se preocupe, pois, medida que voc avana nos seus estudos e vida profissional,
ficar mais simples assimilar novos tipos e estruturas de dados.
3 VARIVEIS E CONSTANTES
Vimos que o computador uma mquina que recebe dados, processa-os e retorna os
resultados.
Todo esse processamento executado por meio do armazenamento desses dados em
memria por meio da utilizao de variveis e constantes.
Imagine que a memria RAM seja como uma cidade, dividida em bairros, onde os dados
so os moradores das casas, que possuem um nmero para sua identificao, caracterizando seu
endereo (localizao).
A figura abaixo ilustra o funcionamento de um algoritmo bem como a importncia da
definio de variveis e constantes para o processamento de dados pelo computador.
4 OPERADORES
Um operador simboliza uma operao efetuada sobre variveis e constantes, realizando o
processamento de dados.
So classificados em trs tipos:
Operadores Aritmticos;
Operadores Relacionais;
Operadores Lgicos.
Operadores Aritmticos
So utilizados para executar operaes numricas.
OPERAO
SMBOLO
DESCRIO
Adio
Subtrao
Multiplicao
Diviso
Resto da diviso
inteira
Operador de potenciao.
Ex.: 5 ^ 2 = 25 ou exp(5,2) = 25.
mod ou %
Quociente da
diviso inteira
\ ou div
Potenciao
^ ou
exp(x,y)
Observaes:
Smbolos diferentes dos da tabela acima no so aceitos na construo de nossos
algoritmos;
Alguns smbolos matemticos no existem nos teclados atuais, da a necessidade de
utilizao de outros smbolos;
As expresses matemticas devem ser escritas em linha.
Operadores Relacionais
So utilizados em expresses lgicas para se testar a relao entre dois valores do mesmo
tipo, retornando VERDADEIRO ou FALSO.
OPERAO
SMBOLO
EXEMPLO
RESULTADO
Igual
7=7
VERDADEIRO
Maior que
>
10 > 20
FALSO
Menor que
<
VERDADEIRO
Menos ou igual a
<=
VERDADEIRO
Maior ou igual a
>=
VERDADEIRO
Diferente de
<>
10 <> 10
FALSO
Operadores Lgicos
So utilizados quando h a necessidade de serem testadas duas ou mais condies dentro
de um algoritmo simultaneamente.
Os operadores lgicos so:
OPERAO
SMBOLO
DESCRIO
Negao
nao
Conjuno
ou
Disjuno
Disjuno
exclusiva
xou
Abordaremos melhor os operadores lgicos na lio que trata das estruturas de deciso.