Universidade Federal Rural de Pernambuco Professor: Abner Corrêa Barros
abnerbarros@gmail.com
Introdução à Computação
Algoritmo – Textual
“Um algoritmo pode ser definido como uma seqüência de passos que visam atingir um objetivo bem definido”.[Forbellone/
Eberspächer]
“Um algoritmo é a descrição de um padrão de comportamento, expressado em termos de um repertório bem definido e finito de ações primitivas, as quais damos por certo que
Um algoritmo descreve de maneira concisa e não ambígua os passos necessários à execução com sucesso de uma determinada tarefa
Pode ser descrito em linguagem textual (pseudo código) ou através de símbolos gráficos (fluxogramas)
Deve possuir no mínimo um estado inicial, ponto de partida, e um estado final, objetivo a ser alcançado
A passagem do estado inicial ao final podem exigir a execução de zero a n passos intermediários ( n < ∞).
Cada passo do algoritmo esta associado a uma ação necessária para que se possa alcançar o
Um algoritmo tem um caráter imperativo no qual a ocorrência do nome de uma ação também é chamada de comando.
Em outras palavras, um algoritmo é uma norma executável para atingir um certo efeito desejado (obter uma solução para certo tipo de problema).
Introdução
Exemplo:
Algoritmo para atender a porta
1. Campainha toca
2. Direcionar-se à porta
3. Destrancar a porta
4. Abrir a porta
Uma ação pode representar um conjunto de outros ações, representado assim uma rotina mais complexa.
Exemplo:
Abrir a porta =
1. Girar a chave
2. Acionar a maçaneta
3. Puchar ou empurrar a porta
Exemplos de algoritmos (na vida prática):
o
Manuais de uso
o
Instruções de montagem
oReceitas de cozinha
o
Informações de como chegar a um
lugar
Um algoritmo DEVE ser determinístico, ou seja, dadas as mesmas condições deve produzir, depois de
executado, os mesmos resultados.
Estado inicial
Estado Final Passos
Intermediários
Passos
Intermediários
Condições do ambiente
Principais Conectivos ou Tipos de Comandos
• Seqüência Simples de Comandos (ação direta)
Atribuir, somar, dividir, ler, escrever, etc
• Conectivo Condicional
Se (condição) então (ação) senão (ação)
• Conectivo Repetitivo
Repetir (ação) n vezes
• Conectivo Repetitivo Condicional
Exemplo: Trocar a lâmpada
Pegar uma escada
Posicionar a escada embaixo da lâmpada
Buscar uma lâmpada nova
Subir na escada
Retirar a lâmpada velha
Colocar a lâmpada nova
Seqüência Simples de Comandos
Exemplo: Manutenção nas lâmpadas
Ligar interruptor
Se lâmpda não acende então
Trocar a lâmpada
Senão
verificar outra lâmpada
Conectivo Condicional – se/então
Exemplo: Manutenção nas lâmpadas
Repetir 10 vezes
Ligar interruptor
Se lâmpada não acende então
Trocar a lâmpada
Senão
verificar outra lâmpada
Conectivo Repetitivo
Exemplo: Manutenção nas lâmpadas
Enquanto houver lâmpadas por verificar, faça
Ligar interruptor
Se lâmpda não acende então
Trocar a lâmpada Senão
Conectivo Repetitivo Condicional
Exemplo: Manutenção nas lâmpadas
Faça
Ligar interruptor
Se lâmpda não acende então
Trocar a lâmpada
Senão
verificar outra lâmpada
Enquanto houver lâmpadas por verificar
Conectivo Repetitivo Condicional
Inicio Buscar Escada
Posicionar Escada
Buscar Lâmpada
Retirar Lâmpada Velha
Colocar Lâmpada Nova
Inicio
Ligar Lâmpada
Lâmpada Acendeu?
Ir até próximo interruptor
Trocar Lâmpada
Falta testar
Sim
Sim
Não
Descreva um algoritmo para resolver uma equação de segundo grau
Descreve um algoritmo para, dado um conjunto de dados numéricos em ordem aleatória, ordená-los de forma crescente
Descreva um algorítmo para efetuar a divisão de dois números fornecidos pelo usuário
Exercícios
Descreva um algoritmo que resolva a seguinte situação:
•
Um senhor, infelizmente bastante gordo, está numa das margens de um rio com uma raposa, uma dúzia de galinhas e um saco de milho. O senhor pretende atravessar o rio com
Exercícios
Resolução:
1.
Atravesse as galinhas.
2.
Retorne sozinho.
3.
Atravesse a raposa.
4.
Retorne com as galinhas.
5.
Atravesse o milho.
6.
Retorne sozinho.
7.