Você está na página 1de 26

Algoritmos e

Programação
2

O que é um algoritmo?
• É um caminho para a solução de um problema.

Problema Algoritmo Solução


3

No contexto computacional...
• “É um conjunto finito de regras, bem definidas, para a
solução de um problema em tempo finito.”

• Exemplo:
• Algoritmo para sacar dinheiro no caixa automático:
• Inserir cartão
• Colocar senha
• Escolher opção “Saque”
• Inserir valor a ser sacado
• Retirar dinheiro
• Finalizar a operação
4

Importante:

A solução de um problema não é única, portanto...

Posso ter diferentes algoritmos para problemas iguais!

Exemplos?
5

Contextualizando...

Problema Algoritmo Linguagem de Programação

Solução Computacional
6

Por que Elaborar Algoritmos?


• Diante da solução do problema de uma maneira lógica,
basta aplicar sobre uma Linguagem de Programação
(independente de qual seja).

• Exemplos de linguagens: Java, C, Delphi, Visual Basic,...

• De nada adianta conhecer a sintaxe de uma linguagem se


não sabemos como elaborar algoritmos!!
7

Exercitando...
• Como seria um algoritmo para preparar um sanduíche?
8

Algoritmo do Sanduíche
• Passo 1: Pegar o Pão
• Passo 2: Cortar o pão ao meio
• Passo 3: Pegar e passar a manteiga
• Passo 4: Pegar e cortar alface e tomate
• Passo 5: Colocar a alface e tomate no pão
• Passo 6: Pegar o queijo
• Passo 7: Colocar o queijo no pão
• Passo 8: Fechar sanduíche
9

Exercitando...
• Como seria um algoritmo para mostrar a multiplicação de
dois números ?
10

Algoritmo
(descrição narrativa)
• Passo 1: Receber dois números
• Passo 2: Multiplicar os números
• Passo 3: Mostrar o resultado obtido na multiplicação
11

Exercitando...
• Dados três valores positivos, a, b e c, determine a sua
média aritmética, harmônica, geométrica e ponderada
com pesos de 1, 2 e 3 respectivamente.
• Quais as tarefas a serem executadas para a solução deste problema?
12

Solução
1. Obter os valores para a, b e c.
2. Calcular a média aritmética.
abc
3. Calcular a média harmônica. ma 
3
4. Calcular a média geométrica.
Calcular a média ponderada. 3
5. mh 
6. Comunicar os resultados. 1/ a 1/ b 1/ c
7. Terminar. mg  3 a.b.c
1a  2b  3c
mp 
1 2  3
13

Exercitando...
• Selecione exemplos do cotidiano, tais como:
• Ir para o trabalho e/ou universidade
• Acordar e se vestir pela manhã
• Sacar dinheiro de um caixa eletrônico
• Trocar uma lâmpada
• Liste as diversas etapas necessárias para efetuar essas
ações.
14

O que pode se observar na construção do


algoritmo

• Seqüência de passos
• Condições de término
• Repetições
15

Importante Lembrar que...


• Algoritmos NÃO se aprendem:
• Copiando algoritmos
• Estudando algoritmos

• Algoritmos SÓ se aprendem:
• Construindo algoritmos
• Testando algoritmos
16

Formas de Representação de um Algoritmo


• Descrição Narrativa: linguagem natural
• Vantagem: facilidade
• Desvantagem: múltiplas interpretações

• Fluxograma: símbolos gráficos


• Vantagem: fácil entendimento
• Desvantagem: deve-se aprender a simbologia do
fluxograma

• Pseudocódigo ou Portugol: seguir determinadas regras


para se descrever como solucionar um problema
• Vantagem: fácil passar para uma linguagem de
programação
• Desvantagem: aprender as regras do pseudocódigo
17

Símbolos do fluxograma
18

Como ficaria o algoritmo da


multiplicação em fluxograma?
19

Multiplicação

• Passo 1: Receber dois números


• Passo 2: Multiplicar os números
• Passo 3: Mostrar o resultado obtido na
multiplicação
20

Em pseudocódigo
Algoritmo Multiplicacao
n1,n2,m: inteiros
Inicio
Escrever(“Digite dois numeros”)
Leia n1,n2
m=n1*n2
Escrever(“Multiplicacao: ”,m)
Fim
21

Passos na construção de
algoritmos – DICAS
1) Ler atentamente o enunciado (Conhecer o problema).
2) Retirar do enunciado a relação das entradas dos dados.
3) Retirar do enunciado a relação das saídas de dados.
4) Determinar o que deve ser feito para transformar as
entradas determinadas nas saídas especificadas.
5) Construir o algoritmo.
6) Testar (executar) o algoritmo.
22

Passos na construção de algoritmos – DICAS


• Conhecer o problema
• Inicialmente é importante pensar um pouco sobre o que exatamente
precisa ser resolvido. Neste momento a ideia é focar no que deve ser
obtido, nas restrições existentes, etc.
• Exemplos: fazer um mousse de chocolate; somar dois números

• Identificar os dados de entrada


• Para identificar os dados de entrada, deve-se responder: quais valores ou
informações precisam ser conhecidos para resolver o problema? Que
valores ou informações mudariam para diferentes instâncias do problema?
• Exemplo: quantidade de chocolate, açúcar, etc; dois números inteiros
23

Passos na construção de algoritmos – DICAS


• Identificar os dados de saída
• Qual o resultado ou resultados esperados?
• Exemplo: quantidade de mousse; um valor inteiro representando a soma

• Determinar o que deve ser feito para transformar as


entradas determinadas nas saídas especificadas
• observar regras e limitações
• Exemplo: para fazer o merengue, tem que bater a clara sozinha; os dois números
tem que ser inteiros
• identificar ações a serem realizadas
• Exemplo: picar o chocolate; realizar a soma
• eliminar ambiguidades
• Exemplo: o chocolate tem que ser meio amargo; o usuário precisa fornecer os
dois números
24

Passos na construção de algoritmos – DICAS

• Construir o algoritmo
• Deve-se pensar os diversos passos para resolver o problema.
• Normalmente é possível resolver o problema de mais de uma maneira, ou
seja, é possível ter mais de um algoritmo para resolver o mesmo problema.
• Para aprender a programar, é preciso construir algoritmos (sem medo de
errar e sem se contentar com a primeira solução):
• O primeiro contato com programação é difícil, é preciso perseverança.
• Não se aprende apenas lendo algoritmos!
25

Passos na construção de algoritmos – DICAS

• Testar o algoritmo
• Fundamental realizar o chamado teste de mesa!
• Sim! É para testar sem usar o computador!
• Não tenha preguiça de fazer o algoritmo no papel e fazer o teste de mesa.
Muita dor de cabeça será evitada na hora de criar o programa!
26

Teste de Mesa
• O teste de mesa é feito:
• escolhendo valores para as variáveis de entrada, seguindo cada uma das
etapas do algoritmo e verificando a correção da(s) saída(s).

• OBS: Com programas, pode-se usar o recurso de depuração (debug),


mas esse é usado para detectar problemas. A área de Engenharia de
Software tem estudos que mostram que quanto antes um erro for
detectado, menor é o custo de correção.

Você também pode gostar