You are on page 1of 33

Algoritmos e Programação

de Computadores I
2 - Formas de representação
de algoritmos

Profª. Veronice de Freitas


veronice@jr.eti.br
http://www.jr.eti.br/veronice

Veronice - http://www.jr.eti.br/veronice 1
Algoritmos e Programação de Computadores I

Objetivo
• Apresentar as formas de representação
de algoritmos.

Veronice - http://www.jr.eti.br/veronice 2
Algoritmos e Programação de Computadores I

Estrutura da Apresentação
• Algoritmos:
– Definição de algoritmo
– Formas de representação:
• Narrativa
• Fluxograma
• Pseudocódico
– Estruturas básicas de controle
• Exercícios:

Veronice - http://www.jr.eti.br/veronice 3
Algoritmos e Programação de Computadores I

Algoritmos
• "...é uma seqüência finita de passos que
devem ser seguidos para a realização de
uma tarefa (atingir um objetivo). “

• Palavras chaves:
- Seqüência ( Ordem )
- Finita
- Objetivo

Veronice - http://www.jr.eti.br/veronice 4
Algoritmos e Programação de Computadores I

algoritmos
• Formas de representação
– Descrição narrativa
– Fluxograma convencional
– Pseudocódigo

• Estruturas básicas de controle


– Seqüência simples
– Alternativas
– Repetição

Veronice - http://www.jr.eti.br/veronice 5
Algoritmos e Programação de Computadores I

Descrição narrativa - Exemplo

Troca de um pneu furado • Tomando um banho


– Afrouxar ligeiramente as – Entrar no banheiro
porcas – Tirar a roupa
– Suspender o carro – Entrar na água
– Retirar o pneu reserva – Ensaboar-se
– Colocar o pneu reserva – Sair da água
– Abaixar o carro – Fechar a torneira
– Dar o aperto final nas – Enxugar-se
porcas
– Vestir-se

Veronice - http://www.jr.eti.br/veronice 6
Algoritmos e Programação de Computadores I

Teste seletivo
• TESTE SELETIVO: seleciona instruções a
serem executadas ou não em função de um
teste condicional.

SE <condição> ENTÃO

Veronice - http://www.jr.eti.br/veronice 7
Algoritmos e Programação de Computadores I

Descrição narrativa - Exemplo


• Cálculo da média de um aluno
Obter as notas da primeira e da segunda prova
Calcular a média aritmética entre as duas notas

se a média for maior que 7 então


o aluno foi aprovado
senão
o aluno foi reprovado

Veronice - http://www.jr.eti.br/veronice 8
Algoritmos e Programação de Computadores I

Melhorando a visualização dos


algoritmos

• IDENTAÇÃO: usada para representar


instruções subordinadas que dependem do
resultado de outras para serem executadas.

Veronice - http://www.jr.eti.br/veronice 9
Algoritmos e Programação de Computadores I

Descrição narrativa - Exemplo


Receita de bolo Receita de bolo
Misturar os ingredientes Misturar os ingredientes
Unte a forma com manteiga Unte a forma com manteiga
Despeje a mistura na forma
Despeje a mistura na forma
se houver coco ralado Se houver coco ralado então
despeje sobre a mistura
então despeje sobre a mistura
Leve a forma no forno
Leve a forma no forno
Enquanto não corar faça
Enquanto não corar
Deixe a forma no forno
Deixe a forma no forno retire do forno
retire do forno Deixe esfriar
Deixe esfriar

Veronice - http://www.jr.eti.br/veronice 10
Algoritmos e Programação de Computadores I

Nível de detalhamento
• Algoritmo 1 • Algoritmo 2
Abrir a torneira do chuveiro
Molhar o cabelo
Entrar na água
Colocar shampoo
Molhar o cabelo
Massagear Abrir o shampoo
Enxaguar Colocar um pouco na mão
Secar o cabelo Levar à cabeça
Massagear
Enxaguar
× ABSTRAÇÃO
Sair da água
Ø DETALHAMENTO Fechar o chuveiro
Secar o cabelo

Veronice - http://www.jr.eti.br/veronice 11
Algoritmos e Programação de Computadores I

Algoritmo Æ lavar o cabelo


• Pergunta: Se não tiver
shampoo?
MOLHAR O CABELO
• O algoritmo não SE TIVER SHAMPOO ENTÃO
conseguirá executar COLOCAR SHAMPOO
uma instrução e,
portanto, não MASSAGEAR
funcionará ENXAGUAR
corretamente.
SECAR O CABELO
• Solução: Tratar a
exceção de não ter
shampoo.

Veronice - http://www.jr.eti.br/veronice 12
Algoritmos e Programação de Computadores I

Algoritmo Æ lavar o cabelo


SE TIVER SHAMPOO ENTÃO
MOLHAR O CABELO
COLOCAR SHAMPOO
MASSAGEAR
ENXAGUAR
SE NÃO FICOU LIMPO ENTÃO
COLOCAR O SHAMPOO
MASSAGEAR
ENXAGUAR
SE NÃO FICOU LIMPO ENTÃO
COLOCAR O SHAMPOO
MASSAGEAR
ENXAGUAR
SE NÃO FICOU LIMPO ENTÃO
...
( até quando?)
??? Algoritmo infinito???

Veronice - http://www.jr.eti.br/veronice 13
Algoritmos e Programação de Computadores I

Algoritmo Æ Estrutura de Repetição

• Repetição Ö seleciona um determinado


conjunto de instruções que serão repetidas
ou não em função de um teste condicional.

• Estrutura de Repetição:

ENQUANTO <condição> FAÇA

Veronice - http://www.jr.eti.br/veronice 14
Algoritmos e Programação de Computadores I

Algoritmo Æ lavar o cabelo


Solução estruturada
Estrutura de Repetição Ö ENQUANTO <condição> FAÇA
SE TIVER SHAMPOO ENTÃO
MOLHAR O CABELO
COLOCAR SHAMPOO
MASSAGEAR
ENXAGUAR
ENQUANTO NÃO FICOU LIMPO FAÇA
COLOCAR SHAMPOO
MASSAGEAR
ENXAGUAR
SECAR O CABELO
Veronice - http://www.jr.eti.br/veronice 15
Algoritmos e Programação de Computadores I

Algoritmo: Seqüência simples


• Descascar as batatas para jantar

“traga a cesta com batatas do porão”;


“traga a panela do armário”;
A1
“descasque as batatas”;
“devolva a cesta ao porão”

Veronice - http://www.jr.eti.br/veronice 16
Algoritmos e Programação de Computadores I

Algoritmo: Seqüência simples


• Descascar as batatas para jantar

“traga a cesta com batatas do porão”;


“traga a panela do armário”;
A2 Se “saia é clara”
então “coloca o avental”;
“descasque as batatas”;
“devolva a cesta ao porão”

Veronice - http://www.jr.eti.br/veronice 17
Algoritmos e Programação de Computadores I

“traga a cesta com batatas do


porão”;
⎧ “traga a panela do armário”;
13 ⎪

vezes ⎨ “descasque as batatas”;

⎪⎩ ...
“descasque as batatas”;
“devolva a cesta ao porão”

Veronice - http://www.jr.eti.br/veronice 18
Algoritmos e Programação de Computadores I

“traga a cesta com batatas do porão”;


“traga a panela do armário”;

24 ⎪ “descasque as batatas”;

vezes ⎨ ...

⎪⎩ “descasque as batatas”;

“devolva a cesta ao porão”

Veronice - http://www.jr.eti.br/veronice 19
Algoritmos e Programação de Computadores I

“traga a cesta com batatas do porão”;


“traga a panela do armário”;
Se “saia é clara” então “coloque o
avental”
⎧ Se “número de batatas é insuficiente“

A3
então “descasque as batatas”;

50
⎨ Se “número de batatas é insuficiente“

vezes então “descasque as batatas”;
⎪⎩ ...
Se “número de batatas é insuficiente“
então “descasque as batatas”;
“devolva a cesta ao porão”

Veronice - http://www.jr.eti.br/veronice 20
Algoritmos e Programação de Computadores I

Algoritmo: Repetição

“traga a cesta com batatas do porão”;


“traga a panela do armário”;
Se “saia é clara” então “coloque o avental”
enquanto “número de batatas é insuficiente“ faça
“descasque as batatas”;
“devolva a cesta ao porão”

Veronice - http://www.jr.eti.br/veronice 21
Algoritmos e Programação de Computadores I

Algoritmos: RESUMO
• Sequenciação: as instruções do algoritmo são
executadas numa seqüência pré-estabelecida. Todas
as instruções são executadas.
• Seleção: o fluxo de instruções a serem executadas
é escolhido em função do resultado da avaliação de
uma condição (algumas instruções podem ser
executadas, enquanto outras não).
• Repetição: possibilita a execução de um conjunto de
instruções mais de uma vez.
• Algoritmo: combina os três tipos de estruturas a fim
de atingir um objetivo.

Veronice - http://www.jr.eti.br/veronice 22
Algoritmos e Programação de Computadores I

Fluxograma convencional
• É a representação gráfica de algoritmos, onde
diferentes formas geométricas implicam ações
(instruções, comandos)

• Não se preocupa com detalhes de


implementação do programa Æ ex: tipo de
variáveis usadas.

Veronice - http://www.jr.eti.br/veronice 23
Algoritmos e Programação de Computadores I

Fluxograma convencional
• Terminal: indica o ponto onde começa ou
termina o fluxo de um programa.
• Processamento: indica a operação
aritmética ou cálculo de uma fórmula,
atribuições de valores etc.
• Display:- para informações exibidas no
vídeo.
• Teclado: informações recebidas por um
computador.
• decisão: indica verificação ou comparação
em forma de uma pergunta, podendo ocorrer
uma das resposta: sim ou não.
• Setas: indica o sentido do processamento.
• Conector: utilizado quando é preciso
particionar o diagrama.
Veronice - http://www.jr.eti.br/veronice 24
Algoritmos e Programação de Computadores I

Fluxograma - Exemplo
Início

N1, N2

Media Å (N1+N2)/2

N S
Media >=7

“Reprovado” “Aprovado”

Fim
Veronice - http://www.jr.eti.br/veronice 25
Algoritmos e Programação de Computadores I

Pseudocódigo
• Esta forma de representação de algoritmos
é rica em detalhes, como a definição dos
tipos de variáveis no algoritmo e, por por
assemelhar bastante à forma em que os
programas são escritos, encontra-se muita
aceitação.

• Pseudolinguagem ( não executável


diretamente pelo computador ) que
permite a representação de algoritmos de
forma padronizada, inteligível e estruturada.
Veronice - http://www.jr.eti.br/veronice 26
Algoritmos e Programação de Computadores I

Pseudocódigo - Estrutura
Algoritmo <nome do algoritmo>
<Declaração_de_variáveis>
Início
<corpo do programa>
fim

Veronice - http://www.jr.eti.br/veronice 27
Algoritmos e Programação de Computadores I

Pseudocódigo - Estrutura
• Algoritmo: é uma palavra que indica o início da
definição de um algoritmo em forma de pseudocódigo.
• <nome do algoritmo>: é o nome simbólico dado ao
algoritmo com a finalidade de distingui-lo dos demais.
• <declaração_de_variáveis>: usado para dizer de
que tipo serão as informações manipuladas pelos
comandos.
• Inicio e fim: são respectivamente palavras que
delimitam início e termino do conjunto de instruções
do corpo do algoritmo.

Veronice - http://www.jr.eti.br/veronice 28
Algoritmos e Programação de Computadores I

Pseudocódigo - Exemplo
Algoritmo Media
Var
N1, N2, MEDIA : real;
inicio
leia (N1, N2);
MEDIA Å (N1 + N2) /2;
se MEDIA > 7 Então
escreva (“Aprovado”);
Senão
escreva(“Reprovado”);
fim se.
fim
Veronice - http://www.jr.eti.br/veronice 29
Algoritmos e Programação de Computadores I

Exercícios – algoritmo seqüencial


• 1) Faça um algoritmo que calcule o valor da
mensalidade que um aluno deve pagar. O
algoritmo deve ler o nome do aluno, número
de créditos que ele faz e o valor unitário do
crédito. O algoritmo deverá imprimir o nome
do aluno e o valor da mensalidade que ele
deve pagar.

• 2) Faça um algoritmo que calcule a média


aritmética de um aluno com 5 notas.
Veronice - http://www.jr.eti.br/veronice 30
Algoritmos e Programação de Computadores I

Exercícios – algoritmo seqüencial


3)Faça um algoritmo que calcule a média
ponderada de um aluno com 3 notas. A fórmula
de cálculo com os respectivos pesos é a
seguinte:

média = 3*nota1 + 4*nota2 + 3*nota3


10
O algoritmo deverá ler o nome do aluno e suas
3 notas e imprimir o nome e a média final do
aluno.

Veronice - http://www.jr.eti.br/veronice 31
Algoritmos e Programação de Computadores I

Exercícios – algoritmo seqüencial


• 4) O preço de um automóvel é calculado
pela soma do preço de fábrica com o preço
dos impostos (45 % do preço de fábrica) e
com a porcentagem dos vendedores (28 %
do preço de fábrica). Faça um algoritmo que
imprima o nome do automóvel e seu preço
final.

• Exemplo: (VALOR_AUT*45)/100
Veronice - http://www.jr.eti.br/veronice 32
Algoritmos e Programação de Computadores I

Bibliografia

SALIBA, Walter Luiz Caram. Técnicas de


Programação: uma abordagem estruturada.
– São Paulo: McGraw-Hill, 1992.

Guimarães / Lages. Algoritmos e Estrutura


de Dados.

Veronice - http://www.jr.eti.br/veronice 33

You might also like