Algoritmo
Profª Fabiana
[email protected]
Aplicabilidade da Programação
Presente em todas as áreas da
computação:
Hardware;
Sistemas Operacionais;
Análise de Sistemas;
Banco de Dados;
Desenvolvimento Web;
Redes de Computadores;
Etc.
Programadores Usando a
Criando
= resolvedores tecnologia à
Soluções
de problemas nosso favor
Escrever
soluções para Instruções Codificar
a máquina
Lógica de
programação
SEQUÊNCIA LÓGICA:
Estes pensamentos devem ser descritos como uma
sequência de instruções, que devem ser seguidas
em ordem para se cumprir uma determinada
tarefa;
Passos executados até se atingir um objetivo ou
solução de um problema
INSTRUÇÃO:
Cada um dos passos, cada uma das ações a tomar
(obedecendo a sequência lógica) para ir resolvendo
o problema, ou para ir executando a tarefa;
Uma só instrução não resolve problemas.
Fazer omelete
EXEMPLO: para “fazer omelete”
Instruções:
“quebrar ovos”,
“bater ovos”,
“pôr sal”,
“ligar fogão”,
“pôr óleo na frigideira”,
“pôr frigideira no fogo”,
“fritar ovos batidos”
Quanto às instruções isoladas:
Só “quebrar ovos”, ou só “pôr óleo na
frigideira”, não é suficiente para
cumprir a tarefa “fazer omelete”
Quanto à sequência lógica:
Se executarmos “fritar ovos batidos”
antes de “bater ovos”, ou pior, antes de
“quebrar ovos”, não iremos cumprir a
tarefa “fazer omelete”
Lógica de
programação
ALGORITMO:
Sequência finita de passos, seguindo uma
sequência lógica que levam à execução de uma
tarefa;
Claro e preciso.
É uma sequência de instruções para que se possa
resolver um problema ou realizar uma tarefa de
forma eficiente.
Exemplo: Manual de Instruções
Exemplo de algoritmo
Quando uma dona de casa prepara um bolo, segue
uma receita, que nada mais é do que um algoritmo em
que cada instrução é um passo a ser seguido para que
o prato fique pronto com sucesso:
1.Bata 4 claras em neve
2.Adicione 2 xícaras de açúcar
3.Adicione 2 colheres de farinha de trigo, 4 gemas, uma
colher de fermento e duas colheres de chocolate
4.Bata por 3 minutos
5.Unte uma assadeira com margarina e farinha de trigo
6.Coloque o bolo para assar por 20 minutos
11
Lógica de
programação
Determinar o problema.
Dividir a solução nas três fases:
ENTRADA PROCESSAMENTO SAÍDA
Exemplo:
Problema: calcular a média de dois números
Dados de entrada: os números, N1, N2
Processamento: somar os dois números e dividir
a soma por 2 N1 + N2
2
Dados de saída: a média
12
Lógica de
programação
Algoritmo
1.Receber o primeiro número
2.Receber o segundo número
3.Somar todos os números
4.Dividir a soma por 2
5.Mostrar o resultado da divisão
O que é entrada, processamento e saída?
13
Algoritmos e Lógica de Programação
Formas de representação de
algoritmos:
Descrição Narrativa;
Fluxograma;
Pseudocódigo.
Algoritmos e Lógica de Programação
o Descrição Narrativa
Caso 01 – Lavar o cabelo:
1.Molhar o cabelo;
2.Aplicar o xampú;
3.Massagear;
4.Enxaguar.
Algoritmos e Lógica de Programação
o Descrição Narrativa
Exercício:
Caso 02 – Trocar uma
lâmpada queimada.
Caso 03 – Trocar o pneu
furado de um carro.
Algoritmos e Lógica de Programação
o Fluxograma
Representação gráfica, onde formas geométricas
diferentes implicam ações distintas
Algoritmos e Lógica de Programação
o Fluxograma
Principais Formas:
= Início e Fim do Fluxograma
= Fluxo de Dados
= Operação de Entrada de Dados
= Operação de Saída de Dados
= Operação de Atribuição (Processamento)
= Decisão
Algoritmos e Lógica de Programação
o Fluxograma
Exemplo: Início
N1,
N2
Média
(N1+N2)/2
Média
Fim
Algoritmos e Lógica de Programação
Pseudocódigo ou Português Estruturado
ou Portugol
Algoritmos podem ser descritos através
de uma linguagem que se assemelha
àquela que usamos para nos comunicar.
Algoritmos e Lógica de Programação
Exemplo:
Algoritmo Soma
Var
n1, n2, S : Inteiro
Início
Escreva (“Entre com o primeiro valor: ”)
Leia (N1)
Escreva (“Entre com o segundo valor: ”)
Leia (N2)
S <- N1 + N2
Escreva (“Soma =“, S)
Fim.
Entrada e Saída
Todo algoritmo necessita de uma
forma de obtenção dos dados de
entrada do problema, assim como
uma forma de comunicação da
saída por ele produzida.
Para tal, os algoritmos contam com
instruções de entrada e saída.
Entrada e Saída
a instrução de leitura é leia
leia (nome)
a instrução de saída é escreva.
escreva (nome)
Entrada e Saída
Comandos de Entrada e Saída de Dados:
Entrada de Dados
Ex : Leia (X);
Leia (A, XPTO, Nota);
Saída de Dados
Ex : Escreva (Y);
Escreva (“Bom Dia”, Nome);
Entrada e Saída
É interessante frisar que a instrução de
escrita não é usada apenas para escrever o
resultado do algoritmo, mas sim para
escrever qualquer informação que
auxilie a comunicação entre o
algoritmo e o “mundo exterior”.
Algoritmos e Lógica de Programação
Representação de Algoritmo na forma Estruturada :
Algoritmo<nome_do_algoritmo>;
Var
<declaração_de_variáveis>;
Inicio
<corpo_do_algoritmo>;
Fim.
Algoritmos e Lógica de Programação
Onde :
Programa: É uma forma que indica o início da
definição de um algoritmo em forma de
pseudocódigo.
<nome_do_algoritmo> : É um nome simbólico
dado ao algoritmo com a finalidade de distingui-lo
dos demais.
<declaração_de_variávei> : Consiste no campo
de declaração das variáveis utilizadas no algoritmo.
Início e Fim : Palavras que delimitam o começo e o
término do conjunto de instruções do corpo do
algoritmo.
Exercício
Exibir a seguinte mensagem na tela
para o usuário: “Olá, seja bem-
vindo”
Agora exibir a mensagem + o nome
do usuário
Variável
Representa uma posição na memória,
onde pode ser armazenado um dado;
Durante a execução do algoritmo, pode
ter seu valor alterado;
As regras para nomes de variáveis
mudam de uma linguagem para outra
Variável
Possui um nome, tipo e um valor;
O nome de uma variável deve ser
único, isto é, identificar, de forma
única, a variável no algoritmo.
O tipo de uma variável define os
valores que podem ser armazenados
na variável.
O conteúdo/valor de uma variável é
o que ela armazena.
Variável
É IMPORTANTE lembrar que uma
variável só pode armazenar um valor
de cada vez.
No entanto, ela pode assumir vários
valores distintos do mesmo tipo
durante a execução do algoritmo.
Variável
Variáveis devem ser declaradas antes
de serem utilizadas
Ao declarar uma variável, o
computador reserva um espaço na
memória para ela
A memória é constituída de bytes, que
são conjuntos de 8 bits
Cada tipo de variável ocupa um
tamanho diferente na memória, isso
varia para cada linguagem de
programação
Exemplo:
“Calcular a média de dois números”
PSEUDOCÓDIGO: VARIÁVEIS:
Leia (N1) mais clareza no pseudocódigo
Leia (N2)
MEDIA <- (N1+N2) / 2
Escreva (MEDIA)
VARIÁVEL
Variável
O ato de se criar uma variável é conhecido
como declaração de variável.
No pseudocódigo, declaramos uma
variável usando uma sentença da seguinte
forma:
var nome : tipo
Variável
O primeiro caractere do nome de uma
variável não poderá ser, em hipótese
alguma, um número. Sempre deverá ser
uma letra;
O nome de uma variável não poderá possuir
espaços em branco;
Não poderá ser nome de uma variável uma
palavra reservada;
Não poderão ser utilizados outros caracteres
a não ser letras e números, com exceção do
caractere underline “_”.
Variável
Exemplos de declaração de
variáveis:
var fruta : caractere
var letra : caractere
var resultado : logico
var altura : real
var idade : inteiro
Variável
Quais dos seguintes nomes são
válidos como nomes de variáveis?
_12234 xyz_2
fruta _
X123 ____
maria bonita x123
inicio 123y
fru?ta 1 1_2
xed var
Atribuição
Atribui o valor da direita à variável da
esquerda
MEDIA <- (N1+N2) / 4
(Lê-se media recebe N1+...)
Neste caso, estamos atribuindo o
resultado da fórmula à variável média;
Outros Exemplos:
a <- 3;
a <- x;
Atribuição
Uma variável só pode receber um
valor do seu tipo
Exemplo:
N1 (int)
N1 <- 7,5
Tipos de Dados
Os dados manipulados por um algoritmo podem
possuir natureza distinta, isto é, podem ser
números, letras, frases, etc.
Dependendo da natureza de um dado, algumas
operações podem ou não fazer sentido quando
aplicadas a eles.
O tipo de um dado define o conjunto de
valores ao qual o dado pertence, bem como o
conjunto de todas as operações que podem atuar
sobre qualquer valor daquele conjunto de
valores.
Tipos de Dados
Inteiro: os números inteiros são
escritos apenas como a
concatenação dos dígitos 0, 1, 2, 3,
4, 5, 6, 7, 8 e 9, tal como em 5,
100 e 1678.
Números negativos são
representados com o sinal “−” na
frente do número, tal como −23.
Tipos de Dados
Real: os números reais são
caracterizados por possuírem uma
parte inteira e uma parte
fracionária.
Por exemplo 3.141596
Note que um “ponto” e não uma
vírgula é usado para separar as
partes inteira e fracionária
Tipos de Dados
Os números reais incluem os números inteiros
No entanto, para evitar ambiguidades na
escrita de algoritmos, assumimos que todo
número escrito sem a parte fracionária é
do tipo inteiro.
Por exemplo, 5 e 5.0 se referem ao mesmo número (cinco),
mas o primeiro é do tipo inteiro e o segundo, do tipo real.
Assim como os números inteiros negativos,
números reais negativos são representados
com o sinal “−” na frente do número, tal como
3.141596.
Tipos de Dados
Caractere: consiste de um único símbolo ou de
uma concatenação de símbolos do alfabeto.
Este alfabeto inclui todas as letras do alfabeto
romano, todos os dígitos, 0, 1, . . . , 9 e os
caracteres de pontuação, tais como ?, ., . . .,
entre muitos outros símbolos.
Os elementos do conjunto de valores do tipo
caractere devem ser escritos, nos algoritmos,
entre aspas duplas, como, por exemplo, "a”,
"Esta e uma frase formada por
caracteres”.
Tipos de Dados
Quando vamos atribuir um número
qualquer sem a parte decimal
(fracionada) a uma variável, quando
utilizar o tipo inteiro e quando
utilizar o tipo caractere???
Tipos de Dados
Logico: inclui apenas os valores
lógicos falso e verdadeiro.
Nós estudaremos este tipo em
maiores detalhes mais adiante.
Operadores Aritméticos
Exemplos:
MEDIA = (N1+N2+N3+N4) / 4
Algoritmos e Lógica de Programação
o Pseudocódigo ou Português Estruturado
Métodos para Construção de Algoritmo:
Ler atentamente o enunciado;
Retirar do enunciado a relação das entradas de
dados;
Retirar do enunciado a relação das saídas de dados;
Determinar o que deve ser feito para transformar as
entradas determinadas nas saídas especificadas.
Construção do algoritmo.
Algoritmos e Lógica de Programação
Exercício
1) Tendo como dados de entrada a altura
de uma pessoa, construa um algoritmo que
calcule seu peso ideal, utilizando a seguinte
fórmula:
peso ideal = (72.7*altura) – 58
Algoritmos e Lógica de Programação
Exercício
2) Faca um algoritmo que receba como entrada
uma determinada temperatura em graus Celsius
e mostre a temperatura em fahrenheit
OBS: Fahrenheit = (9/5)*(Celsius) + 32
Algoritmos e Lógica de Programação
Exercício
3) Tendo como entrada o total vendido por
um funcionário no mês de abril, faça um
algoritmo que mostre a sua comissão e
salário bruto neste mês, sabendo que o seu
salário base é R$1.200,00 e sua comissão é
de 10% sobre o total vendido