Escolar Documentos
Profissional Documentos
Cultura Documentos
ESTRUTURAÇÃO DE
ALGORITMOS
PROF. MSC. VICTOR MANUEL RIVA DE OLIVEIRA
V I C TO R O L I V E I R A 4 @ P R O F E S S O R . M U LT I V I X . E D U . B R
A U L A A D A P TA D A A PA R T I R D O M AT E R I A L C E D I D O P E L A
P R O F ª M A R I A N A A LT O É M E N D E S
1
Algoritmo
2
Algoritmo
Antes de construir um algoritmo, pare para pensar e
identificar:
o Quais dados são necessários para começar o algoritmo?
Que dados ele vai precisar para executar? – ENTRADA
o Quais são os cálculos que precisam ser feitos e quais
decisões precisam ser tomadas? – PROCESSAMENTO
o Quais dados devem ser exibidos para o usuário? – SAÍDA
3
Algoritmo
❖ Características
o Finalidade Única;
oTamanho finito;
o Tempo de execução finito;
o Imutabilidade;
o Não dá margem à dupla interpretação (não ambíguo);
o Capacidade de receber dado(s) de entrada do mundo exterior;
o Pode gerar informações de saída para o mundo externo.
4
Algoritmo
❖ Requisitos
o Definição Rigorosa para evitar ambiguidade na sua interpretação. Isto
pode ser conseguido usando um pequeno conjunto de instruções de
significado único e propósito geral que permitam escrever qualquer
algoritmo.
Exemplos: ler, escrever, se/então/senão, repetir.
5
Algoritmo
❖ Requisitos
o Portabilidade: evitar dependências de características
específicas de uma linguagem de programação, ou de um
computador. Exemplo: cálculo de potências e raízes.
6
Algoritmo
❖Estratégias para Diminuir a Complexidade
7
Algoritmo
Podemos definir um algoritmo como: uma sequência de
passos que visa atingir um objetivo bem definido; ou seja, os
conceitos de algoritmo são bem amplos, sendo importante
salientar que qualquer tarefa que siga determinado padrão
pode ser descrita por um algoritmo.
8
Método para a construção de
algoritmos
a) Ler atentamente o enunciado, destacando os pontos mais
importantes;
b) Definir os dados de entrada, ou seja, quais dados serão
fornecidos;
c) Definir o processamento, ou seja, quais cálculos serão
efetuados e quais as restrições para esses cálculos. O
processamento é responsável pela transformação dos
dados de entrada em dados de saída;
9
Método para a construção de
algoritmos
d) Definir os dados de saída, ou seja, quais dados serão
gerados depois do processamento;
e) Construir o algoritmo utilizando um dos tipos descritos na
próxima seção;
f) Testar o algoritmo realizando simulações.
10
Representação dos algoritmos
❖Descrição Narrativa:
o Faz uso do português normal, sem tirar, nem por, com o objetivo
de descrever os passos principais da solução para um problema.
Uma receita de bolo, por exemplo, é uma descrição narrativa. Outros
exemplos são tomar banho e calcular a média de um
aluno.
11
Representação dos algoritmos
12
Representação dos algoritmos
13
Representação dos algoritmos
❖Descrição Narrativa:
o Vantagem?
o Desvantagens?
14
Representação dos algoritmos
❖Descrição Narrativa:
o Vantagem? Todos falamos e conhecemos o português e
sabemos, de alguma forma, fazer uma descrição, uma lista de atividades.
o Desvantagens? Não há um padrão! Cada pessoa pode escrever como
quiser (em tópicos, sem tópicos, usando verbos no infinitivo ou não, etc).
Outra desvantagem é a imprecisão, uma vez que a especificação pode
não ficar clara ou ficar ambígua, ou seja, cada um pode interpretar de
uma forma.
o Por exemplo, em algumas receitas de bolo você pode encontrar a frase “leve
ao forno até assar”. Algumas pessoas poderiam saber exatamente quando
o bolo está assado, outras pessoas não. Levando a pergunta “e aí, quando o
bolo estará assado?” Por último, há o perigo de se escrever muito para dizer
pouca coisa ou da pessoa não saber se expressar bem e ser confusa na
escrita.
15
Representação dos algoritmos
❖Fluxograma:
o Consiste em analisar o enunciado do problema e escrever, utilizando
símbolos gráficos predefinidos, os passos a serem seguidos para
resolução do problema.
16
17
18
Representação dos algoritmos
❖Fluxograma:
o Vantagem?
o Desvantagens?
19
Representação dos algoritmos
❖Fluxograma:
o Vantagem? Utiliza blocos e diagramas para indicar o que deve ser feito
pelo algoritmo (o entendimento de elementos gráficos normalmente é
mais fácil que o entendimento de textos). Padrão mundial definido e
conhecido.
o Desvantagens? Fica complexo quando o algoritmo é mais extenso. O
algoritmo resultante não apresenta muitos detalhes, o que pode
dificultar sua transcrição para um programa.
20
Representação dos algoritmos
❖Fluxograma:
21
Representação dos algoritmos
❖Fluxograma:
22
Representação dos algoritmos
❖Fluxograma:
23
Representação dos algoritmos
❖Fluxograma:
24
Representação dos algoritmos
❖Linguagem Algorítmica ou Pseudocódigo:
25
Representação dos algoritmos
❖Linguagem Algorítmica ou Pseudocódigo:
o Algoritmo para calcular a média
26
Representação dos algoritmos
❖Linguagem Algorítmica ou Pseudocódigo:
27
Representação dos algoritmos
❖Linguagem Algorítmica ou Pseudocódigo:
28
Representação dos algoritmos
❖Linguagem Algorítmica ou Pseudocódigo:
29
Representação dos algoritmos
❖Linguagem Algorítmica ou Pseudocódigo:
30
Representação dos algoritmos
❖Linguagem Algorítmica ou Pseudocódigo/Fluxograma:
31
Representação dos algoritmos
❖Linguagem Algorítmica ou Pseudocódigo:
o Vantagem? A transcrição para qualquer linguagem de
programação é quase que direta. Ela é a forma de representação mais
poderosa de todas porque nela é possível definir, com riqueza de
informações, quais os dados que serão utilizados, o tipo dos mesmos e
até se eles serão agrupados (estruturados) de alguma forma (para
formar conjuntos).
32
Representação dos algoritmos
❖Exercícios
Representar os algoritimos abaixo das três maneiras
estudadas
1. Faça um algoritmo para mostrar o resultado da multiplicação de dois
números.
2. Faça um algoritmo para mostrar o resultado da divisão de dois
números.
3. Faça um algoritmo para calcular a média aritmética entre duas notas
de um aluno e para mostrar a situação desse aluno, que pode ser
aprovado ou reprovado.
4. Faça um algoritmo para calcular o novo salário de um funcionário.
Sabe-se que os funcionários que possuem salário atual até R$ 500,00
terão aumento de 20%, os demais terão aumento de 10%.
33
Representação dos algoritmos
1.
34
Representação dos algoritmos
2.
35
Representação dos algoritmos
4.
36
Representação dos algoritmos
❖Exercícios
Representar o algortimo em descrição narrativa, fluxograma e
pseudocódigo
37
Algoritmos
ESTRUTURAÇÃO DE
ALGORITMOS
PROF. MSC. VICTOR MANUEL RIVA DE OLIVEIRA
V I C TO R O L I V E I R A 4 @ P R O F E S S O R . M U LT I V I X . E D U . B R
A U L A A D A P TA D A A PA R T I R D O M AT E R I A L C E D I D O P E L A
P R O F ª M A R I A N A A LT O É M E N D E S
38