Algoritmos Básicos
Algoritmos
Princípios de Desenvolvimento de Algoritmos
Profa. Dra. Cecir Almeida Farias
# Conteúdo
- Algoritmo;
- Funcionamento do algoritmo;
- Sintaxe Básica;
- Comandos de Entrada e Saída.
- Exercícios.
Algoritmos
“Algoritmo é uma seqüência ordenada, e não ambígua,
de passos de passos que levam a solução de um
problema.”
Tremblay, 1983)
(
Algoritmos
• Onde aplicamos?
– Ao atravessar uma rua
– Ao trocar um pneu
– Na preparação de um sanduiche
– O nosso corpo funciona segundo um algoritmo
– Ao renovarmos o documento dos nossos carros
– Ao calcular fórmulas matemáticas
– Automatizar tarefas repetitivas
# Funcionamento do Software
Monitor
Teclado
in
Software
out
Para execução do programa são associados dois fluxos:
- Entrada de Dados (ex.: teclado - padrão);
- Saída de Dados (ex.: monitor - padrão).
# Escrevendo algoritmos
• Agora que já conhecemos como funciona o fluxo de
execução do software e como representar/armazenar os
dados, podemos escrever nossos algoritmos.
Atenção: Excelente prática !!
> Antes de escrever nossos algoritmos vamos
definir a “estratégia” a ser adotado, ou seja,
definir o objetivo do algoritmo e as metas para
solução do problema.
# Problema
Problema:
• Pegar dois números, calcular e exibir a soma destes
números
Objetivo: Calcular a soma de dois números
Metas: obter os números, somar e exibir;
Memória: numero, numero e soma.
Regras:
• Próximos slides !!
Exemplo – Passos para somar dois números
Pegar o primeiro número;
Pegar o segundo número;
Somar o primeiro número com o segundo;
Mostrar o resultado da soma;
8
# Excelente prática de programação
Regras para ser feliz na “criação” de software:
• É de fundamental importância parar e entender o
problema;
• Antes de começar a escrever, monte uma “estratégia”;
• Depois de montar a estratégia comece a escrever.
• Lembre-se sempre !! Não tente resolver um problema
que ainda não entendeu !!
# Excelente prática de programação:
Esquema Tático:
1. Definir objetivo do algoritmo;
2. Definir metas para atingir objetivo;
3. Espaços necessários para atingir objetivo
(memória);
4. Regras para execução (seguindo nomenclatura).
# Primeira regra
• Para escrever algoritmos, percebemos que as
instruções deve ser executadas em sequência, uma
após a conclusão da outra;
• Como podemos definir isso ?! Através do bloco de
comandos “inicio – fim”. Todas as instruções
definidas dentro do bloco de comandos serão
executadas em sequência;
• “inicio – fim”, representa um comando.
Exemplo
• Atravessar a rua
• Quais os passos necessários ??
Algoritmo – atravessar rua
Algoritmo atravessar_rua;
Inicío
• Passo 1 - Olhar para direita;
• Passo 2 - Ver se vem carro;
• Passo 3 - Olhar para esquerda;
• Passo 4 - Ver se vem carro;
• Passo 5 - Se não vier carro;
• Passo 6 - Atravessar a rua;
• Passo 7 - Chegar no outro lado da rua.
fim.
Exemplo
• Quais os passos necessários para preparar um
bolo ??
Algoritmo – preparação de um bolo
Algoritmo preparar_bolo
Inicío
Passo 1 - Pegar todos os ingredientes:
– 1 x de leite
– 1 x de açúcar
– 200 gr. de manteiga
– 1 xic. farinha de trigo
– 3 ovos
Passo 2 - Bater todos os ingredientes
Passo 3 - Pre-aquecer o forno por 15 minutos
Passo 4 - Colocar a massa numa forma
Passo 5 - Levar a forma ao forno por 40 minutos
Passo 6 - Retirar forma do forno, deixar esfriar e servir.
Fim.
Exercício
• Preparar um misto quente.
• Quais os passos ?
# Onde armazenar os dados ??!!
> Antes de começar a desenvolver
seu algoritmos, é preciso definir
quais são os espaços que deseja
reservar na memória.
> Os dados são armazenadas na
memória do computador (RAM);
> Ao fechar o programa e/ou desligar
a máquina todas as informações são
perdidas;
Exemplo – Passos para somar dois números
Algoritmo soma
Numero1, numero2, soma
Início
Pegar o primeiro número;
Pegar o segundo número;
Somar o primeiro número com o segundo;
Mostrar o resultado da soma;
Fim.
18
# Interação com o usuário
Instrução (comando) Escreva:
• Serve para escrever mensagem (ns) no
dispositivo de saída ativo (padrão: Monitor);
Exemplo:
escreva (‘Oi, usuário, qual seu nome? ’);
# Interação com o usuário
Instrução (comando) Leia:
• Serve para ler dado(s) do dispositivo de entrada
ativo (padrão: teclado) e armazenar na memória;
• Em qualquer lugar da memória ?! Não, deve ser
armazenados nos lugares definidos.
Exemplo:
leia (nome);
# Problema
Problema:
• Ler um número do usuário, calcular e exibir o
dobro deste número.
# Solução !!
Algoritmo Memória
numero, dobro: inteiro
inicio
escreva(‘Informe o numero: ‘);
leia(numero);
dobro numero * 2;
escreva(‘Dobro do numero = ‘, dobro);
fim.
Exercício
1. Faça um algoritmo para trocar uma lâmpada
2. Faça um algoritmo para saír de casa e ír para a
UFCG
3. Faça um algoritmo para sacar dinheiro no banco 24
horas
4. Faça um algoritmo para mostrar o resultado da
divisão de dois números
5. Faça um algoritmo para calcular a média aritmética
entre três notas de um aluno e mostrar sua
situação, que pode ser aprovado ou reprovado.
6. Faça um algoritmo que calcule a área de um
quadrado. Sabe-se que : A = lado * lado.