Você está na página 1de 51

Algoritmos e Programao

Tema: Reviso do contedo


O que um Algoritmo ?

Algoritmo uma sequncia lgica e finita de passos


para se alcanar uma soluo para dado problema.
De acordo com Knuth, um
algoritmo deve atender estas
caractersticas: Finitude ; rea de segurana para
Definio; Entrada; Sada; intrprete de Libras.

Eficcia.
Algoritmo para calcular a mdia
aritmtica entre duas notas

1. Obter primeira nota


2. Obter segunda nota
3. Somar as duas notas
4. Gerar mdia, dividindo a rea de segurana para
intrprete de Libras.
soma por 2
5. Apresentar mdia gerada.
Variveis de Memria
Espaos cedidos a um algoritmo ou programa de
computador para armazenar temporariamente
valores. Cada varivel possui um identificador nico
(um nome) e um tipo (um contedo).
Exemplo:
Var x, y: Real
a, b: Inteiro
tamanho: CHAR; rea de segurana para
situacao: LOGICO; intrprete de Libras.
Comando de entrada

Representado pela instruo LEIA.


Sempre utilizado junto com uma varivel.
Exemplo: LEIA x
Comando de sada
Representado pela instruo
ESCREVA.
Sempre utilizado junto a rea de segurana para
variveis e mensagens. intrprete de Libras.
Exemplo: ESCREVA x
Exemplo do uso do comandos LEIA e
ESCREVA

Algoritmo Dobro
Var
numero, dobro: real
LEIA (numero)
dobro numero * 2
ESCREVA(Resultado= , rea de segurana para
dobro) intrprete de Libras.
fimalgoritmo
Operadores aritmticos bsicos em
linguagem algortmica
Operao Opera Exem
dor plo
Adio + a+b
Subtrao ab
Multiplicao * a*b
Diviso / a/b
Exponenciao ^ a^b
rea de segurana para
Diviso inteira \ a\b intrprete de Libras.
Resto da diviso % a%b
Inverso de sinal - -a
Fonte: Adaptado de Piva Jr et al (2012)
Tomada de Deciso

Em programao, deciso significa definir um


dentre dois possveis caminhos a seguir dentro do
algoritmo.

Exige anlise de uma situa-


o. A partir do resultado
rea de segurana para
desta anlise define-se qual intrprete de Libras.
o caminho apropriado.
Estrutura Condicional Simples
Permite decidir se um comando (ou um conjunto
de comandos) ser executado caso uma situao
se mostre verdadeira.

Estrutura Condicional Composta

Permite decidir qual, dentre


dois possveis caminhos,
rea de segurana para
ser executado.
intrprete de Libras.
Condicional simples
Exemplo: acrescentar
Algoritmo Salario bnus de R$ 300,00
Var ao salrios dos
S, F: INTEIRO funcionrios que
ESCREVA(Digite salrio: ); possurem 3 filhos ou
LEIA (S)
ESCREVA(Digite qtd de
mais.
filhos: );
LEIA (F)
SE F >= 3
ENTAO S S + 300 rea de segurana para
FIMSE intrprete de Libras.
ESCREVA (Salrio , S)
fimalgoritmo
Condicional composta
Mostrar o maior nmero informado pelo usurio.
Algoritmo Maior
Var
a, b: INTEIRO
ESCREVA(Digite o valor de a: );
LEIA (a)
ESCREVA(Digite o valor de b:
);
LEIA (b)
SE a > b rea de segurana para
ENTAO ESCREVA (Maior , a) intrprete de Libras.
SENO ESCREVA (Maior , b)
fimalgoritmo
Operadores relacionais em linguagem
algortmica
Operao Operado
r
Igual a =
Diferente de <>
Maior que >
Menor que <
Maior ou igual a >= rea de segurana para
Menor ou igual a <=
intrprete de Libras.

Fonte: Adaptado de
Piva Jr et al (2012)
Operadores lgicos em linguagem algortmica

Operador

OU

XOU
rea de segurana para
NO intrprete de Libras.

Fonte: Adaptado de Piva Jr et al (2012)


Continuando

Tema: Reviso de contedo.


Inicio Exemplo do uso do operador E

m >= 7 E V
m, f Passou
f <=15
F

Tentar
recuperao Fim

Receber como entrada a


mdia e o total de faltas de
aluno. Mostrar mensagem rea de segurana para
informando se ele passou intrprete de Libras.
ou se dever tentar
recuperao.
Algoritmo Resultado
Var m: REAL
f: INTEIRO
ESCREVA (Digite a mdia: )
LEIA (m)
ESCREVA (Digite total de faltas: )
LEIA (f)
SE m >= 7 E f <= 15
ENTAO ESCREVA(Aprov.) rea de segurana para
SENAO ESCREVA(Recup.) intrprete de Libras.
FIMSE
fimalgoritmo
Inicio Exemplo do uso do operador OU

V Tentar
m, f m < 7 OU
recuperao
f > 15
F

Fim
Aprovado

Receber como entrada a


mdia e o total de faltas de
aluno. Mostrar mensagem rea de segurana para
informando se ele dever intrprete de Libras.
tentar recuperao ou se j
est aprovado.
Algoritmo Resultado
Var m: REAL
f: INTEIRO
ESCREVA (Digite a mdia: )
LEIA (m)
ESCREVA (Digite total de faltas: )
LEIA (f)
SE m < 7 OU f > 15
ENTAO ESCREVA(Recup.) rea de segurana para
SENAO ESCREVA(Aprov.) intrprete de Libras.
FIMSE
fimalgoritmo
Comandos de repetio para

Usado quando j se sabe a quantidade de


repeties necessrias.
Seu uso est sempre asso-
ciado a uma varivel (do
tipo inteiro) para contagem rea de segurana para
intrprete de Libras.
das repeties j realizadas.
Comando para
Usado quando j se sabe a quantidade de
repeties necessrias.
Seu uso est sempre associado a uma varivel
(do tipo inteiro) para contagem das repeties j
realizadas.

rea de segurana para


intrprete de Libras.
Exemplo Para

Criar um algoritmo que mostre a multiplicao de


um determinado nmero por 1, por 2 e por 3.
Exemplo: Se o usurio informar 5, mostrar:
5X1=5
5 X 2 = 10
rea de segurana para
5 X 3 = 15 intrprete de Libras.
Soluo em Portugol

Algoritmo Multiplica
Var num, calc: REAL
i: INTEIRO
ESCREVA (Digite um nmero: )
LEIA (num)
para i de 1 at 3 passo 1
faa
calc num * i
ESCREVA(num, X , i, rea de segurana para
= , calc) intrprete de Libras.
fimpara
fimalgoritmo
Comandos de repetio enquanto
Usado quando a quantidade de repeties
necessrias ser definida por uma condio.
A anlise da condio feita no incio do bloco de
repetio, permitindo a realizao de zero, uma
ou mais repeties.

rea de segurana para


intrprete de Libras.
Exemplo Enquanto

Criar um algoritmo que receba some os nmeros


maiores que zero fornecidos pelo usurio.
A leitura dos dados terminar e a apresentao
acontecer quando o usurio
informar nmero igual ou
rea de segurana para
menor que zero. intrprete de Libras.
Soluo em Portugol
Algoritmo Soma
Var num, soma: REAL
soma 0
ESCREVA (1 numero? )
LEIA (num)
enquanto num > 0 faa
soma soma + num
ESCREVA (outro numero? )
LEIA (num) rea de segurana para
fimenquanto intrprete de Libras.
ESCREVA(Soma , soma)
fimalgoritmo
Comandos de repetio repita
Usado quando a quantidade de repeties
necessrias ser definida por uma condio.

A anlise da condio feita no fim do bloco de


repetio. Assim, um repita
permite a realizao de uma
ou mais repeties.
rea de segurana para
intrprete de Libras.
Exemplo Repita

Criar um algoritmo que mostre uma mensagem de


saudao ao usurio at que ele digite a palavra
FIM.

rea de segurana para


intrprete de Libras.
Soluo em Portugol

Algoritmo Repeticao
Var letra: CARACTER
repita
ESCREVA (Executando)
ESCREVA (Digite F para
encerrar:)
LEIA (letra) rea de segurana para
at palavra = F intrprete de Libras.
fimalgoritmo
Agora sua Vez

Tema: Reviso de contedo.


O que um vetor ?

Varivel X Varivel X
Valor 10 20 3 -8
ndice Valor ndice 1 2 3 4
1 10
2 20
3 3 rea de segurana para
4 -8 intrprete de Libras.
Criao de um vetor

Um vetor criado como uma varivel qualquer,


acrescentando-se apenas o seu tamanho.
Var
alunos: Vetor[1..30] de Caractere
X: Vetor[1..4] de Inteiro
v: Vetor[1..12] de Real

rea de segurana para


intrprete de Libras.
Armazenando valores em um vetor

Varivel X
Valor 10 20 3 -8
ndice 1 2 3 4

Exemplos:

X[1] 10 LEIA(X[1])
rea de segurana para
X[2] 20 LEIA(X[2])
intrprete de Libras.
X[3] 3 LEIA(X[3])
X[4] -8 LEIA(X[4])
Vetor e estrutura de repetio
Cadastrar nota da prova e do trabalho de 4
alunos de uma turma. Ao final, mostrar uma
listagem, com o nmero sequencial do aluno,
suas notas e a sua mdia aritmtica.
Algoritmo Medias
Var
p: Vetor[1..4] de REAL
t: Vetor[1..4] de REAL rea de segurana para
m: Vetor[1..4] de REAL intrprete de Libras.
i: INTEIRO
para i de 1 at 4 faa
ESCREVA (Digite nota da prova do aluno , i, :)
LEIA (p[i])
ESCREVA (Digite nota do trabalho do aluno , i, : )
LEIA (t[i])
m[i] (p[i] + t[i]) / 2
fimpara
para i de 1 at 4 faa
ESCREVA (i, : , p[i], - ,
t[i], - , m[i]) rea de segurana para
intrprete de Libras.
fimpara
fimalgoritmo
O que uma Matriz?

Varivel M
1 2 3
1 5 8 9
2 -12 5 10
3 45 62 31
4 98 56 17 rea de segurana para
intrprete de Libras.
Criao de uma matriz

Var
alunos: Vetor[1..30, 1..4] de Caractere
vendas: Vetor[1..12, 1..3] de Real
X: Vetor[1..4, 1..8, 1..2] de Inteiro

Uma matriz criada como


uma varivel qualquer,
acrescentando-se apenas o rea de segurana para
tamanho de cada dimenso. intrprete de Libras.
Armazenando valores em uma matriz
Varivel X
1 10 20 3 -8
2 1 2 3 4
1 2 3 4
Exemplos:

X[1, 1] 10 LEIA(X[1, 1]) rea de segurana para


X[1, 2] 20 LEIA(X[1, 2]) intrprete de Libras.
X[1, 3] 3 LEIA(X[2, 3])
... ...
Matriz e estrutura de repetio

Um professor possui 4 alunos em sua turma.


Para cada aluno, deseja cadastrar a nota de 2
avaliaes. Ao final da digitao, espera ver a
mdia obtida por cada aluno.

Algoritmo Medias
Var
N: Vetor[1..4, 1..2] de REAL rea de segurana para
s, m: REAL intrprete de Libras.
i, j: INTEIRO
para i de 1 at 4 faa
s0
para j de 1 ate 2 faca
ESCREVA (Digite nota , j, do aluno , i, :)
LEIA (N[i, j])
s s + N[i, j]
fimpara
ms/2
ESCREVA(Media do aluno ,
i, = , m) rea de segurana para
intrprete de Libras.
fimpara
fimalgoritmo
Finalizando

Tema: Reviso de contedo.


O que um registro?

Varivel que permite trabalhar com diferentes


tipos de dados.

Produto
descricao Caneta
precoCusto 1.00 rea de segurana para
intrprete de Libras.
precoVenda 2.00
Definindo um tipo registro
tipo
Produto = registro
descricao: CARACTERE
precoCusto: REAL
precoVenda: REAL
fimregistro

Para se trabalhar com


registro deve-se, inicialmen- rea de segurana para
te, definir este novo tipo de intrprete de Libras.
dado.
Criao de um registro

Var
p: Produto
e: Vetor[1..15] de Produto
M: Vetor[1..3, 1..10] de Produto

Aps a definio do novo


tipo, um registro criado rea de segurana para
como uma varivel qualquer. intrprete de Libras.
Armazenando valores em um registro
Deve-se informar o nome da varivel, seguido de
um ponto e do nome do campo desejado.
estoque.descricao Caneta
estoque.pCusto 1.0
estoque.pVenda 2.0

Varivel estoque
descricao Caneta
rea de segurana para
pCusto 1.00 intrprete de Libras.
pVenda 2.00
Problema com vetor de registro

descricao Caneta Lpis Caderno Lapiseira ... Papel A4


pCusto 1.00 0.5 15.00 4.5 ... 18.00
pVenda 2.00 0.9 23.00 6.0 ... 29.00
1 2 3 4 ... 15

Uma loja necessita cadastrar


os 15 produtos que
comercializa. Depois, rea de segurana para
necessita saber o lucro intrprete de Libras.
gerado pela venda de cada
produto.
Soluo (em portugol)

Algoritmo Lucro
tipo Produto = registro
descricao: CARACTERE
compra: REAL
venda: REAL
fimregistro
Var
e: Vetor[1..15] de Produto rea de segurana para
l: Real intrprete de Libras.
i: INTEIRO
para i de 1 ate 15 faa
ESCREVA (Descrio? )
LEIA (e[i].descricao)
ESCREVA (Preo de custo? )
LEIA (e[i].compra)
ESCREVA (Preo de venda? )
LEIA (e[i].venda)
l e[i].venda e[i].compra
ESCREVA (Lucro de , i, rea de segurana para
intrprete de Libras.
=, l)
fimpara
fimalgoritmo
Problema com registro e matriz

Uma empresa deseja controlar o estoque de


suas 3 filiais. Cada filial pode comercializar 15
produtos (nome, preo de custo e preo de
venda). Deseja saber o lucro obtido em cada
filial (ou seja, somar o
lucro gerado pelos 15
produtos em cada filial).
rea de segurana para
intrprete de Libras.
Soluo (portugol - para)

Algoritmo Filiais
tipo Produto = registro
desc: CARACTERE
compra: REAL
venda: REAL
fimregistro
Var
e: Vetor[1..15, 1..3] de rea de segurana para
Produto intrprete de Libras.
s: REAL
i, j: INTEIRO
para i de 1 at 15 faa
para j de 1 at 3 faa
LEIA(e[i, j].desc)
LEIA(e[i, j].compra)
LEIA(e[i, j].venda)
fimpara
fimpara
rea de segurana para
intrprete de Libras.
para i de 1 at 3 faa
s0
para j de 1 at 15 faa
s s + e[j, i].pvenda e[j, i].compra
fimpara
ESCREVA(Total da filial , i, = , s)
fimpara
fimalgoritmo
rea de segurana para
intrprete de Libras.

Você também pode gostar