Você está na página 1de 49

"No chores, meu filho;

No chores, que a vida


luta renhida:
Viver lutar.
A vida combate,
Que os fracos abate,
Que os fortes, os bravos
S pode exaltar!"
G o n a l v e s D i a s

L GICA
Hlio Andrade
contato@helioandrade.com
http://guiatech.net

(98) 9 8815-1691

DE

P ROGRAMAO*
*COM VISUALG

C ONTEDO P ROGRAMTICO

guiatech.net

CONTEDO PROGRAMTICO
1.

O Que um Algoritmo?

2.

Estruturas Fundamentais de um Algoritmo

3.

Representao de um Algoritmo

4.

Tipos de Dados

5.

Variveis e Constantes

6.

Operadores

7.

Programao Sequencial

8.

A Tomada de Deciso

9.

Laos de Repetio

10.

Estruturas de Dados
a) Vetores
b) Matrizes

11.

Funes e Procedimentos
guiatech.net

BIBLIOGRAFIA
Estudo Dirigido de Algoritmos.
Manzano, Jos Augusto N. G.
Oliveira, Jos Figueiredo de.

Lgica de Programao
Camila Ceccatto da Silva
Everaldo Antnio de Paula

Para a implementao de nossos algoritmos, ser utilizado


o VisuAlg, disponvel para download em:
http://www.apoioinformatica.inf.br/produtos/visualg

guiatech.net

L GICA DE P ROGRAMAO

O QUE UM ALGORITMO
guiatech.net

O QUE UM ALGORITMO?

A programao de computadores tem

como fundamento o algoritmo.


Definio:

Um algoritmo uma sequncia finita de instrues


bem definidas e no ambguas, cada uma das quais
podendo ser executada num perodo de tempo finito
e com uma quantidade de esforo finita.
Fonte: Wikipdia

guiatech.net

EXEMPLO: TOMAR BANHO

Algoritmo TOMAR BANHO


1. Entrar no banheiro;
2. Tirar a roupa;
3. Abrir o registro;
4. Ensaboar-se;
5. Enxaguar o corpo;
6. Passar shampoo nos cabelos;
7. Enxaguar o cabelo;
8. Fechar o registro.

guiatech.net

EXEMPLO: TROCAR PNEU FURADO

Algoritmo TROCAR PNEU


1. Pegar o macaco;
2. Colocar o macaco embaixo do carro;
3. Levantar o carro;
4. Pegar chave de roda;
5. Desparafusar a roda;
6. Retirar a roda;
7. Colocar o estepe;
8. Reparafusar o pneu;
9. Abaixar o carro;
10.Tirar o macaco.

guiatech.net

EXEMPLO: FAZER BOLO

Algoritmo FAZER BOLO


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

guiatech.net

O QUE UM ALGORITMO?

uma maneira particular de resolver um


problema.
Constitui-se em:
um conjunto de aes sequenciais ordenadas logicamente,
realizveis em um intervalo de tempo considerado aceitvel
e
consumindo a menor quantidade de recursos possvel.

Nem todos os problemas podem ser "resolvidos" por


meio de algoritmos.

guiatech.net

L GICA DE P ROGRAMAO

ESTRUTURAS FUNDAMENTAIS
guiatech.net

ESTRUTURAS FUNDAMENTAIS

Os algoritmos possuem 3 (trs) estruturas que


so sua matria-prima:
Sequenciais;

de Repetio;
de Deciso.

Escrever bons algoritmos, na prtica, significa dominar


tais estruturas!

guiatech.net

ESTRUTURAS SEQUENCIAIS

A ordem em que as tarefas/intrues 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 correta de instrues a ser executada


determinante para o sucesso de nosso algoritmo!

guiatech.net

ESTRUTURAS DE DECISO

Introduzem um desvio condicional na


sequncia de execuo das instrues de
um algoritmo.
Caso a condio dada seja satisfeita, ser executado um dado bloco
de instrues; caso no, outro bloco ser executado.

guiatech.net

ESTRUTURAS DE REPETIO

guiatech.net

L GICA DE P ROGRAMAO

REPRESENTAO DE UM
ALGORITMO
guiatech.net

DESCRIO EM LINGUAGEM CORRENTE

*** Clculo de mdia ***


1. Receba a primeira nota da disciplina.
2. Receba a segunda nota da disciplina.
3. Some as duas notas e divida o
resultado por 2.

4. Se a mdia for maior ou igual a 7,


ento exiba "Aprovado!", seno exiba
"Reprovado!".

guiatech.net

FLUXOGRAMA

*** Clculo de mdia ***


incio

1 nota
2 nota

mdia <- (1 nota + 2 nota) / 2

SIM

mdia >= 7.0

APROVADO!

NO

REPROVADO!

fim

guiatech.net

LINGUAGEM DE PROGRAMAO

*** Clculo de mdia ***

guiatech.net

(PSEUDO)LINGUAGEM DE PROGRAMAO (II)

*** Clculo de mdia ***

guiatech.net

L GICA DE P ROGRAMAO

TIPOS DE DADOS
guiatech.net

TIPOS DE DADOS

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.

guiatech.net

TIPOS DE DADOS

Seres humanos manipulam em suas atividades


profissionais e pessoais vrios tipos de dados e
informaes:

senhas dos mais variados tipos,


nmeros de contas bancrias,
datas de aniversrios,
o valor do nosso salrio,
uma msica que nos marcou,
o cheiro de um perfume, etc.

guiatech.net

TIPOS DE DADOS

Com os computadores, ocorre algo parecido:

Para que ocorra o processamento sobre os


dados de entrada necessrio que o
computador saiba de antemo os tipos
especficos deles.

Os tipos de dados podem variar de uma linguagem


para outra; os mais comuns so:

numricos (inteiros e reais)


literais (caractere e cadeias)
lgicos

guiatech.net

TIPOS DE DADOS INTEIROS

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 25 anos de idade.

Joo tem 2 filhos.

guiatech.net

TIPOS DE DADOS REAIS

Tipos Reais
So os dados numricos constitudos pelo conjunto dos
nmeros naturais, inteiros e racionais.
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.

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 (.).

guiatech.net

TIPOS DE DADOS LITERAIS

Tipos Literais
So constitudos por sequncias de letras, nmeros e
smbolos especiais, incluindo os espaos em branco.
Exemplos:

"Celular: (98) 1234-5678".

"CPF: 123.456.789-10".

"Endereo: Rua Fulano de Tal, n 1234".

"Hlio Andrade".

Outras denominaes do tipo de dado literal encontradas


nos livros tcnicos so: cadeia, string, alfanumrico.
guiatech.net

TIPOS DE DADOS LGICOS

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.

guiatech.net

L GICA DE P ROGRAMAO

VARIVEIS & CONSTANTES


guiatech.net

VARIVEIS & CONSTANTES

O computador uma mquina que recebe dados,


processa-os e retorna os resultados obtidos.

Tal processamento executado por meio do


armazenamento dos dados em memria por meio
da utilizao de variveis e constantes.

guiatech.net

VARIVEIS - DEFINIO

Varivel:
uma regio de memria previamente identificada
que tem por finalidade armazenar dados ou
informaes por um determinado espao de tempo.
Armazena apenas um valor por vez;
tal valor est relacionado ao tipo de dado definido
para a varivel.

Toda varivel, antes de ser usada dentro do programa,


deve ser declarada escolhendo-se um nome adequado e
indicando-se o seu tipo.

guiatech.net

VARIVEIS - NOMENCLATURA

Nomenclatura de Variveis:
O nome de uma varivel deve comear por uma letra
ou por um caractere _ (underline).
No pode comear com um nmero.
Os demais caracteres de uma varivel podem ser
letras, dgitos e _.
No pode ter espaos em branco.
So reconhecidos os primeiros 31 caracteres para
diferenciar uma varivel de outra.
No pode ser uma palavra reservada.
Em algumas linguagens de programao h diferena entre
caracteres maisculos e minsculos.

guiatech.net

CONSTANTES - DEFINIO

Constantes:
s vezes, desejvel que, alm de uma varivel possuir
um valor pr-definido, este valor no seja modificado.
Portanto, constantes so valores fixos, que no se
modificam no decorrer da execuo do programa.
Por exemplo: O nmero (aproximadamente, 3,14).

Os nomes dados s constantes possuem as mesmas


restries dos nomes de variveis.

guiatech.net

L GICA DE P ROGRAMAO

OPERADORES
guiatech.net

OPERADORES DEFINIO E CLASSIFICAO

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.

guiatech.net

OPERADORES ARITMTICOS

So utilizados para executar operaes numricas.


OPERADOR

OPERAO

Diviso

Multiplicao

Adio

Subtrao

% ou mod
^
raizq(valor numrico)

DESCRIO

Operadores aritmticos
tradicionais de adio, subtrao,
multiplicao e diviso.

Ex.: 2 + 4 = 6; 2 * 10 = 20; 10 / 2
= 5.

Operador de mdulo; retorna o


resto da diviso inteira.

Ex.: 8 % 3 = 2.

Operador de potenciao.

Ex.: 5 => 5^2 = 25.

Raiz quadrada.

Ex.: = 4 => raizq(16) = 4.

Resto da diviso

Exponenciao

Raiz quadrada

guiatech.net

OPERADORES ARITMTICOS

Exemplos de expresses numricas:


Na Matemtica

Em Algoritmo

- [- 3 + 2 (4 - 5 - 6)] + 16

- (- 3 + 2 (4 - 5 - 6)) + raizq(16)

{- 5 + [ - 8 + 3 x (- 4 + 9) - 3 ]}

(- 5 + ( - 8 + 3 * (- 4 + 9) - 3 ))

5 { 10 x 2 + [20 4] (10 + 2)}

5 / ( 10 * 2 + (20 / 4) (10 + 2))

2 + [5 x 2 (4 2 + 3)]

2^3 + [5 * 2 / (4 / 2 + )]

Exemplos de frmulas matemticas:


Na Matemtica

mdia =

Em Algoritmo

(1 nota + 2 nota)
2

media (nota1 + nota2) / 2

A = r 2

area pi * raio^2

Novo Salrio = 1,10 x Salrio Antigo

novo_salario 1.10 * salario_antigo

Raiz quadrada = 1024

raiz_quadrade raizq(1024)
guiatech.net

OPERADORES RELACIONAIS

So utilizados em expresses lgicas para se testar a


relao entre dois valores do mesmo tipo,
retornando VERDADEIRO ou FALSO.
OPERADOR

=
<>

OPERAO

Igual a
Diferente de

EXEMPLO

RESULTADO

7=7

VERDADEIRO

10 <> 10

FALSO

>

Maior que

10 > 20

FALSO

<

Menor que

100 < 1000

VERDADEIRO

>=

Maior ou igual a

1234 >= 1234

VERDADEIRO

<=

Menor ou igual a

1,25 <= 2,50

VERDADEIRO

guiatech.net

OPERADORES LGICOS

So utilizados quando h a necessidade de serem


testadas duas ou mais condies dentro de um
algoritmo simultaneamente.

Os operadores lgicos so:


OPERADOR

nao
e

ou

xou

OPERAO

DESCRIO

Negao

Operador unrio de negao

Conjuno

Operador que resulta VERDADEIRO


somente se todos os seus operandos
lgicos forem verdadeiros.

Disjuno

Operador que resulta VERDADEIRO


quando pelo menos um dos seus
operandos lgicos for verdadeiro.

OU Exclusivo

Operador que resulta VERDADEIRO se


seus dois operandos lgicos forem
diferentes, e FALSO se forem iguais.

guiatech.net

OPERADORES PRECEDNCIA

OPERADORES

ASSOCIATIVIDADE

()

Esquerda para direita

nao

Direita para esquerda

^, raizq()

Esquerda para direita

*, /, %

Esquerda para direita

+,-

Esquerda para direita

<, <=, >,


>=

Esquerda para direita

=, <>

Esquerda para direita

Esquerda para direita

ou

Esquerda para direita

PRECEDNCIA
Alta

Baixa

guiatech.net

L GICA DE P ROGRAMAO

PROGRAMAO SEQUENCIAL

guiatech.net

ESTRUTURA BSICA DE UM ALGORITMO EM VISUALG

Todos os nossos algoritmos sero escritos em Portugol


(Portugus Estruturado) daqui para frente e tero a
seguinte estrutura bsica:

guiatech.net

COMANDO DE ENTRADA DE DADOS

leia(<lista-de-variveis>)
Recebe valores digitados pelos usurio, atribuindo-os s
variveis cujos nomes esto em <lista-devariveis>
respeitada a ordem especificada na lista de variveis de
entrada
Exemplos:
leia(nota1)
leia(idade, altura)

guiatech.net

COMANDO DE SADA DE DADOS

escreva(<lista-de-expresses>)
Escreve no dispositivo de sada padro o contedo de cada
uma das expresses que compem <lista-deexpresses>
As expresses dentro desta lista devem estar separadas por
vrgulas
Depois de serem avaliadas, seus resultados so impressos
na ordem indicada
Exemplos:
escreva(nota1, nota2)
escreva(Altura = , altura)
guiatech.net

L GICA DE P ROGRAMAO

A TOMADA DE DECISO

guiatech.net

A TOMADA DE DECISO SIMPLES

SE...ENTAO

Estrutura de deciso se...entao


se a nota do aluno for maior ou igual a 7, entao:
exiba Aprovado

VERDADEIRO

MDIA >= 7

Exibe:
Aprovado

FALSO

guiatech.net

A TOMADA DE DECISO SIMPLES SE...ENTAO

Estrutura de deciso se...entao


Condio a ser
testada.

Instruo a ser
executada caso a
condio seja
satisfeita.

se (media >= 7) entao


escreva("Aprovado!")
fimse

Instruo que
delimita o escopo
da estrutura.
MDIA >= 7

VERDADEIRO

Exibe:
Aprovado

FALSO

guiatech.net

A TOMADA DE DECISO COMPOSTA

SE...ENTAO...SENAO

Estrutura de deciso se...entao...senao


se a nota do aluno maior que ou igual a 7, entao:
exiba Aprovado
seno
exiba Reprovado

Exibe:
Reprovado

VERDADEIRO

FALSO
MDIA >= 7

Exibe:
Aprovado

guiatech.net

A TOMADA DE DECISO SIMPLES SE...ENTAO

Estrutura de deciso se...entao


Instruo a ser
executada caso a
condio no seja
satisfeita.

Condio a ser
testada.
Instruo a ser
executada caso a
condio seja
satisfeita.

se (media >= 7) entao


escreva("Aprovado!")
senao
escreva(Reprovado!")
fimse

Instruo que
delimita o escopo
da estrutura.
Exibe:
Reprovado

VERDADEIRO

FALSO
MDIA >= 7

Exibe:
Aprovado

guiatech.net