Sei sulla pagina 1di 11

LGICA DE PROGRAMAO

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.

Exemplo #2: Algoritmo TROCAR PNEU.


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

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.

Exemplo #3: Algoritmo FAZER BOLO.

1.
2.
3.
4.
5.
6.

Bata as claras em neve;


Bata bem as gemas com a margarina e o
acar;
Acrescente o leite e farinha aos
poucos sem parar de bater;
Por ltimo agregue as claras em neve e
o fermento;
Coloque em forma grande de furo
central untada e enfarinhada;
Asse em forno mdio, pr-aquecido, por
aproximadamente 40 minutos;
1. Quando espetar um palito e sair
limpo estar assado.

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.

Receba a primeira nota da disciplina.


Receba a segunda nota da disciplina.
Some as duas notas e divida o
resultado por 2.
Se a mdia for maior ou igual a 7,
ento exiba "Aprovado!", seno exiba
"Reprovado!".

O mesmo algoritmo descrito por meio de um fluxograma:

E finalmente utilizando uma linguagem estruturada (portugol):


algoritmo "media_aluno"
var
nota1, nota2, media: real
inicio
leia(nota1)
leia(nota2)
se (media >= 7) entao
escreva("APROVADO!")
senao
escreva("REPROVADO!")
fimse
fimalgoritmo

Algumas consideraes iniciais


importante ressaltar que o aprendizado de programao de computadores no se faz da
noite para o dia, como num passe de mgica
Primeiramente, so estudados os princpios e estruturas fundamentais da lgica de
programao, para em seguida aplic-la na soluo de problemas por meio do desenvolvimento de
algoritmos.
O estudante deve possuir bastante disciplina e desejo de aprender. Os primeiros passos so
um pouco trabalhosos e exigem certo nvel de perseverana, bem como bastante prtica. Imagine-se
como uma atleta que necessita treinar horas a fio para superar suas metas!
Programar se aprende programando!

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.

Ns, seres humanos, por exemplo, manipulamos em nossas atividades profissionais e


pessoais vrios tipos de dados e informaes: senhas dos mais variados tipos, contas bancrias, datas
de aniversrios, o valor do nosso salrio, um poema predileto, uma msica que nos marcou, o cheiro
de um perfume, a foto de um momento especial, etc.
A partir dessa diversificada gama de tipos de dados, realizamos clculos mentais, repetimos
aes, tomamos decises dentre outros processamentos diversos.
Com os computadores, ocorre algo parecido. Para que ocorra um processamento dito
correto sobre os dados de entrada faz-se necessrio que o computador saiba de antemo em que
tipo especfico um dado se classifica.
Os tipos de dados podem variar de uma linguagem de programao para outra, contudo, os
mais comuns so: numricos (inteiros e reais), literais e lgicos.

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.

O que uma varivel?


As variveis, como o prprio nome indica, guardam temporariamente o contedo a ser
utilizado na execuo dos programas, podendo ser modificado no decorrer do tempo.
O tipo de varivel a ser utilizada depende do tipo de dado (numrico, literal, lgico, etc.) a
ser representado.
A varivel, antes de ser usada dentro do programa, deve ser declarada escolhendo-se um
nome adequado e indicando-se o seu tipo.
H certas restries quanto aos nomes que podem ser dados s variveis:
No pode ser uma palavra reservada;
No pode comear com um nmero;
No pode ter espaos em branco;
S pode ser constituda de letras e nmeros.
Nomes vlidos para variveis:
cpf
fone1
nomecliente
Nomes invlidos:
&cpf
2fone
nome cliente

O que uma constante?


Por sua vez, como voc j deve estar imaginando, constantes so valores fixos, que no se
modificam no decorrer da execuo do programa. Por exemplo, o nmero PI (aproximadamente,
3,14).
Os nomes dados s constantes possuem as mesmas restries dos nomes de variveis.
Na prtica, variveis e constantes so espaos reservados na memria principal do
computador (vulgarmente chamada de memria RAM), que dividida em reas de armazenamento
devidamente identificadas e endereadas.

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 mdulo; retorna o


resto da diviso inteira.
Ex.: 8 mod 3 = 2.
Operador de diviso inteira; retorna
o quociente.
Ex.: 7 \ 2 = 3 ou 7 div 2 = 3.

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)

Operadores aritmticos tradicionais


de adio, subtrao, multiplicao
e diviso.
Ex.: 2 + 4 = 6; 2 * 10 = 20; 10 / 2 = 5.

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

<

100 < 1000

VERDADEIRO

Menos ou igual a

<=

1.25 <= 2.50

VERDADEIRO

Maior ou igual a

>=

1234 >= 1234

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

Operador unrio de negao.

Conjuno

ou

Operador que resulta VERDADEIRO quando um


dos seus operandos lgicos for verdadeiro.

Disjuno

Operador que resulta VERDADEIRO somente se


seus dois operandos lgicos forem verdadeiros.

Disjuno
exclusiva

xou

Operador que resulta VERDADEIRO se seus dois


operandos lgicos forem diferentes, e FALSO se
forem iguais.

Abordaremos melhor os operadores lgicos na lio que trata das estruturas de deciso.

Potrebbero piacerti anche