Buscar

[Prof. Emiliana]aula02

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Conceitos e Representação de Algoritmos
Programação de Computadores I
Emiliana Mara Lopes Simões
simoes.eml@gmail.com
Universidade Federal de Ouro Preto
agosto 2009
Definição de Algoritmo
“Um conjunto finito de regras que provê uma seqüência de
operações para resolver um tipo de problema específico”
[Knuth]
“Seqüência ordenada, e não ambigua, de passos que levam à
solução de um dado problema” [Tremblay]
Definição de Algoritmo
“Um conjunto finito de regras que provê uma seqüência de
operações para resolver um tipo de problema específico”
[Knuth]
“Seqüência ordenada, e não ambigua, de passos que levam à
solução de um dado problema” [Tremblay]
Importância do Estudo dos Algoritmos
. . . antes que o computador possa executar uma tarefa, deve
ser fornecido um algoritmo que instrua exatamente o que deve
ser feito . . .
A noção de algoritmo é básica para toda a programação de
computadores
Importância do Estudo dos Algoritmos
. . . antes que o computador possa executar uma tarefa, deve
ser fornecido um algoritmo que instrua exatamente o que deve
ser feito . . .
A noção de algoritmo é básica para toda a programação de
computadores
Exemplos de Algoritmos
Apesar de ser um termo novo para vocês, fazemos uso
constantemente de algoritmos em nosso cotidiano
Exemplos:
Instruções para se utilizar um aparelho eletrodoméstico
Uma receita de bolo
Como ir de casa até a Universidade
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Trocar uma lâmpada
Passo 1: Pegar uma lâmpada nova
Passo 2: Pegar uma escada
Passo 3: Posicionar a escada embaixo da lâmpada queimada
Passo 4: Subir na escada com a lâmpada nova na mão
Passo 5: Retirar a lâmpada queimada
Passo 6: Colocar a lâmpada nova
Passo 7: Descer da escada
Passo 8: Testar o interruptor
Passo 9: Guardar a escada
Passo 10: Jogar a lâmpada velha no lixo
Exemplos de Algoritmos
Retirar moedas do bolso
Passo 1: Retire uma moeda do bolso e coloque sobre a mesa
Passo 2: Retorne ao Passo 1
Problema: E quando não houver mais moedas no bolso?
Ambigüidade
Exemplos de Algoritmos
Retirar moedas do bolso
Passo 1: Retire uma moeda do bolso e coloque sobre a mesa
Passo 2: Retorne ao Passo 1
Problema: E quando não houver mais moedas no bolso?
Ambigüidade
Exemplos de Algoritmos
Retirar moedas do bolso
Passo 1: Retire uma moeda do bolso e coloque sobre a mesa
Passo 2: Retorne ao Passo 1
Problema: E quando não houver mais moedas no bolso?
Ambigüidade
Características
Ter fim
Ser efetivo
Não dar margem à dupla interpretação (Ambigüidade)
Ter zero ou mais informações de entrada
Ter uma ou mais informações de saída
Vantagens
A partir do algoritmo o programador poderá implementá-lo em
qualquer linguagem de programação
ALGORITMO + LING. DE PROGRAMAÇÃO = PROGRAMA
Dificuldades
Difícil para iniciantes saber o que o computador pode ou não
fazer
Criação de algoritmos é um processo não automático e tem
muito de arte
Pode haver mais de uma solução para um problema
Exemplo
Dispõe-se de 2 vasilhas com capacidades marcadas de 9 e 4
litros respectivamente. Mostre a seqüência de passos
necessários para colocar numa terceira vasilha de medida
desconhecida um volume de 6 litros.
Formas de Representação
A representação de algoritmos requer alguma forma de
linguagem
Dentre as formas de representação mais conhecidas, tem-se:
Descrição narrativa
Fluxograma
Pseudocódigo, também conhecido como linguagem
estruturada ou Portugol
Descrição Narrativa
Algoritmos expressos diretamente em linguagem natural
(Português)
Exemplo: Cálculo da média de um aluno
Obter as notas da primeira e da segunda prova
Calcular a média aritmética entre as duas notas
Se a média for maior ou igual a 6.0, o aluno foi aprovado,
senão ele foi reprovado
Descrição Narrativa
Algoritmos expressos diretamente em linguagem natural
(Português)
Exemplo: Cálculo da média de um aluno
Obter as notas da primeira e da segunda prova
Calcular a média aritmética entre as duas notas
Se a média for maior ou igual a 6.0, o aluno foi aprovado,
senão ele foi reprovado
Descrição Narrativa
Algoritmos expressos diretamente em linguagem natural
(Português)
Exemplo: Cálculo da média de um aluno
Obter as notas da primeira e da segunda prova
Calcular a média aritmética entre as duas notas
Se a média for maior ou igual a 6.0, o aluno foi aprovado,
senão ele foi reprovado
Descrição Narrativa
Exemplo: Trocar um pneu
Afrouxar ligeiramenteas porcas
Suspender o carro
Retirar as porcas e o pneu
Colocar o pneu reserva
Apertar as porcas
Abaixar o carro
Dar o aperto final nas porcas
Descrição Narrativa
Vantagem:
O português é bastante conhecido por nós
Desvantagem:
Imprecisão
Extensão, isto é, escreve-se muito para dizer pouca coisa
Fluxograma
Utilização de símbolos gráficos padronizados para representar
algoritmos
Fluxograma
Exemplo: Cálculo da média de um aluno
Fluxograma
Exemplo: Cálculo da soma de dois números
Fluxograma
Vantagens:
Uma das ferramentas mais conhecidas
Figuras dizem mais que palavras
Padrão mundial
Desvantagens:
Pouca atenção aos dados, não oferecendo recursos para
descrevê-los e representá-los
Complica a medida que o algoritmo cresce
Pseudocódigo
Este método procura misturar as facilidades da linguagem
natural com a precisão das linguagens de programação
Exemplo: Cálculo da média de um aluno
Pseudocódigo
Exemplo: Determinar o maior de dois números
Pseudocódigo
Vantagens:
Usa o português como base
Pode-se definir quais e como os dados vão estar estruturados
Passagem quase que imediata do algoritmo para uma
linguagem de programação qualquer
Desvantagens:
Não padronizado
Exercícios
Escreva os algoritmos na forma descrição narrativa para fritar
um ovo
Escreva os algoritmos utilizando fluxogramas:
Obter a soma (S) e o produto (P) de dois valores (A; B)
inseridos por teclado, logo imprima o resultado.
Calcular a área (A) de um retângulo. A base (B) e a altura (H)
do retângulo são inseridos por teclado. Escrever o resultado.
Escrever os pseudocódigos para:
Dados 2 valores por teclado mostrar em ordem de menor a
maior
Dado um número, responder se ele é positivo ou negativo

Outros materiais