Você está na página 1de 28

ALGORITMOS E

LÓGICA DE PROGRAMAÇÃO
AULA 03
REPRESENTAÇÕES DE ALGORITMOS
Indagação Inicial

Como um algoritmo pode ser representado?

Se existe mais de uma forma, qual a


melhor?
Citação

“Saber as fases e as estratégias de resolução de um


problema auxilia a construir novas ferramentas mentais
para compreender e resolver novos problemas. Quanto
mais praticar, mais ferramentas terá e mais problemas
conseguirá resolver.”

(PIVA JUNIOR et al., 2012, p. 33).


Introdução
É uma boa prática escrever um algoritmo utilizando alguma linguagem.

Isso auxilia na documentação do que será programado.

Essa linguagem deve ser:


bem próxima à língua cotidiana;
conveniente e amigável ao usuário; e
diferente da linguagem de computador.

Logo, o tipo de algoritmo não é entendível pelo computador.


Introdução
Mas se o computador não entende, para que escrever um
algoritmo?

O algoritmo ajuda o programador a estudar um problema antes de


tentar escrevê-lo em linguagem de programação.

Os três tipos mais usados são:


#1: Descrição narrativa
#2: Fluxograma
#3: Pseudocódigo ou Portugol
Formas – Descrição Narrativa
A descrição narrativa consiste em:
analisar o enunciado do problema,
escrever os passos a serem seguidos para solucionar o problema,
utilizando uma linguagem natural (português, por exemplo).

Não é necessário aprender nenhum conceito


novo.

A linguagem natural abre espaço para


interpretações diversas, o que pode dificultar a
transcrição para uma linguagem de programação.
Exemplo
Faça um algoritmo para mostrar o resultado da
multiplicação de dois números.

Em descrição narrativa:

Passo #1: Receber os dois números que serão multiplicados.

Passo #2: Multiplicar os números.

Passo #3: Mostrar o resultado obtido na multiplicação.


Formas – Fluxograma
O fluxograma consiste em:
analisar o enunciado do problema,
escrever os passos a serem seguidos para solucionar o problema,
utilizando símbolos gráficos predefinidos (tabela a seguir).

O entendimento de elementos gráficos é mais


fácil que o entendimento de textos.

É necessário aprender a simbologia dos


fluxogramas e, além disso, o algoritmo não
apresenta muitos detalhes, dificultando a
transcrição para um programa.
Exemplo
Faça um algoritmo para mostrar o resultado da multiplicação de
dois números.

N1,
INÍCIO
Em fluxograma: N2

M = N1 *
N2

M FIM
Formas – Fluxograma
Conjuntos de símbolos utilizados em um fluxograma:
Símbolo Significado

Indica o início ou o fim de um algoritmo.

Indica o sentido do fluxo de dados, conectando


os símbolos ou blocos existentes.

Indica cálculos e atribuições de valores.

Representa a entrada de dados.

Representa a saída de dados.

Indica tomada de decisão, podendo ter desvios.


Formas – Pseudocódigo
O pseudocódigo, ou Portugol, consiste em:
analisar o enunciado do problema,
escrever os passos a serem seguidos para solucionar o problema,
utilizando regras predefinidas.

A passagem do algoritmo para qualquer


linguagem de programação é quase imediata.

É necessário aprender as regras do pseudocódigo.


Formas – Pseudocódigo
Comandos do pseudocódigo:
Comando Função
var Declaração de variáveis
inicio Abre o bloco de programação
escreva() Comando para realizar um output.
leia() Comando para realizar um input.
se() Comando de desvio de fluxo
fimalgoritmo Fecha o bloco de programação
Exemplo
Algoritmo Multiplicação
Faça um algoritmo
VAR
para mostrar o N1, N2, M: REAL

resultado da INÍCIO
ESCREVA (“Digite o primeiro número: ”)
multiplicação de LEIA (N1)
dois números. ESCREVA (“Digite o segundo número: ”)
LEIA (N2)
M  N1 * N2
Em pseudocódigo: ESCREVA (“Resultado da multiplicação:
”, M)
FIMALGORITMO
Exercitando
1. Faça um algoritmo para mostrar o resultado da divisão
de dois números.

a. Em descrição narrativa;
b. Em fluxograma;
c. Em pseudocódigo.
Exercitando – Gabarito
Em descrição narrativa:

Passo #1: Receber os dois números que serão divididos.

Passo #2: Se o segundo número for igual a zero, então não


poderá haver divisão; senão, dividir os dois números.

Passo #3: Mostrar o resultado obtido na divisão.


Exercitando – Gabarito
Em fluxograma:
INÍCIO N1, N2

D = N1 / N2 D

Não

N2 = 0

Sim Impossível
dividir FIM
Exercitando – Gabarito
Em pseudocódigo:

Algoritmo Divisão
VAR
N1, N2, D: REAL
INÍCIO
ESCREVA (“Digite o primeiro número: ”)
LEIA (N1)
ESCREVA (“Digite o segundo número: ”)
LEIA (N2)
SE (N2 = 0)
ENTÃO ESCREVA (“Impossível dividir”)
SENÃO
D  N1 / N2
ESCREVA (“Resultado da divisão: ”, D)
FIMSE
FIMALGORITMO
Exercitando
2. Faça um algoritmo para calcular a média aritmética
entre duas notas de um aluno e mostrar a situação
desse aluno (>= 6, aprovado; < 6 reprovado).

a. Em descrição narrativa;
b. Em fluxograma;
c. Em pseudocódigo.
Exercitando – Gabarito
Em descrição narrativa:

Passo #1: Receber as duas notas.

Passo #2: Calcular a média aritmética.

Passo #3: Mostrar a média aritmética.

Passo #4: Se a média aritmética for maior ou igual a seis, então a situação do aluno
é aprovado; senão é reprovado.

Passo #5: Mostrar a situação do aluno.


Exercitando – Gabarito
INÍCIO N1, N2
Em fluxograma:
M = (N1+N2)/2

Sim Não
Aprovado M >= 6 Reprovado

FIM
Exercitando – Gabarito
Em pseudocódigo:

Algoritmo Aprovação
VAR
N1, N2, M: REAL
INÍCIO
ESCREVA (“Digite a primeira nota: ”)
LEIA (N1)
ESCREVA (“Digite a segunda nota: ”)
LEIA (N2)
M  (N1 + N2) / 2
ESCREVA (“Média das notas é: ”, M)
SE (M >= 6)
ENTÃO ESCREVA (“Aprovado”)
SENÃO ESCREVA (“Reprovado”)
FIMSE
FIMALGORITMO
Exercitando
3. Faça um algoritmo para calcular o novo salário de um
funcionário. Quem recebe até R$ 880, terá um aumento
de 20%, os demais terão aumento de 10%.

a. Em descrição narrativa;
b. Em fluxograma;
c. Em pseudocódigo.
Exercitando – Gabarito
Em descrição narrativa:

Passo #1: Receber o salário atual do funcionário.

Passo #2: Se o salário for até R$ 880, então calcula o aumento de 20%;
senão, calcula o aumento de 10%.

Passo #3: Mostrar o novo salário.


Exercitando – Gabarito
Em fluxograma:
INÍCIO SAL_ATUAL

NOVO_SAL = Sim Não NOVO_SAL =


SAL_ATUAL
SAL_ATUAL * SAL_ATUAL *
1,20
<= 880 1,10

NOVO_SAL

FIM
Exercitando – Gabarito
Em pseudocódigo:

Algoritmo Aumento
VAR
SAL_ATUAL, SAL_NOVO: REAL;
INÍCIO
ESCREVA (“Digite o salário atual: ”)
LEIA (SAL_ATUAL)
SE (SAL_ATUAL <= 880)
ENTÃO SAL_NOVO  SAL_ATUAL * 1.20
SENÃO SAL_NOVO  SAL_ATUAL * 1.10
FIMSE
ESCREVA (“O salário novo é: R$ ” , SAL_NOVO)
FIMALGORITMO
Pós Aula
1. Faça a representação algorítmica em linguagem
natural, fluxograma e pseudocódigo das situações
abaixo:
1. Receba dois números e indique a diferença do maior para o
menor.
2. Receba dois números e indique qual é o maior e o menor ou
se são iguais.
3. Receba a distância percorriga (km) e e quantidade de
combustível gasta (l), calcule e imprima o consumo médio do
carro.
Referências
(Cap 1-2) ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene
Aparecida Veneruchi de. Fundamentos da programação de
computadores: algoritmos, Pascal, C/C++ (padrão ANSI) e Java. 3. ed.
São Paulo: Pearson Prentice Hall, 2012.

(Cap. 2) GUIMARÃES, Ângelo de Moura; LAGES, Newton Alberto de


Castilho. Algoritmos e estruturas de dados. Rio de Janeiro: LTC,
1994.

(Cap. 1-2) PIVA JUNIOR, Dilermando et al. Algoritmos e


programação de computadores. Rio de Janeiro: Elsevier, 2012.

Você também pode gostar