TÉCNICAS DE PROGRAMAÇÃO 1
INTRODUÇÃO A ALGORITMOS
2015.2
Morganna Carmem Diniz
Resumo
Para implementar a solução de um
problema no computador é necessário que
seja encontrada uma forma de descrever esta
solução de uma forma clara e precisa.
É preciso que encontrar uma sequência finita
de passos que transformem os argumentos de
entrada em resultados, permitindo que o
problema possa ser resolvido de maneira
automática. Esta sequência de passos é
chamada de algoritmo.
Receita
O que é uma receita?
Receita
O que é uma receita culinária?
É uma descrição de um conjunto de passos ou
ações que fazem a combinação de um conjunto
de ingredientes com vista a obter um produto
gastronômico particular.
Exemplo: Receita
Como fritar um ovo?
Escreva a receita de como fritar um ovo.
http://2.bp.blogspot.com/_OFyaJo13D8/R2reXIEhGuI/AAAAAAAAABc/d0qCeI9J0_Q/s400/ovo_frito.jpg
Receita
Como fritar um ovo?
Ingredientes
Receita
(Conjunto de
Ações)
Como fritar um ovo?
Se perguntarmos as instruções de como fritar
um ovo, muitas pessoas dariam as instruções
que foram seguidas no vídeo : Como fritar um
ovo sem lógica (vídeo visto e comentado em
aula).
http://www.youtube.com/watch?v=nEUtVuv0kHo
Neste vídeo a atriz interpretou as instruções de
acordo com o seu entendimento.
Análise do Problema – Ovo frito
Nem sempre ao seguir as receitas tem-se o
resultado
esperado.
Isso
se
deve
basicamente a três fatores
o Ingredientes inadequados
o Má compreensão das instruções das
receitas
o Instruções incompletas ou ambíguas.
O mesmo problema aparece
elaboração de um algoritmo.
ao
na
Análise do Problema – Ovo frito
Para que não ocorra os problemas no
entendimento da solução do problema é
necessário:
1) Definir bem o problema.
2) Procurar
a compreensão correta do
problema.
3) Eliminar
possíveis
ambiguidades
e
assegurar o entendimento completo das
especificações de entrada e saída.
4) Estudar
métodos
de
resolução
e
estabelecemos uma estratégia para obter a
sua solução.
Receita
Como fritar um ovo?
Ingredientes
Receita
(Conjunto de
Ações)
Receita
Como fritar um ovo?
Ovo
Manteiga
Sal
1- Derreta a manteiga numa
frigideira
2- Dê uma batidinha na casca
do ovo e coloque o conteúdo do
ovo na frigideira
3- Frite o ovo até que a borda
fique ligeiramente dourada e a
gema cozida
4- Salgue depois de pronto
Como fritar um ovo
Fazendo uma analogia entre a solução do
problema de “Como fritar um ovo? ” e um
algoritmo temo sequência abaixo.
Entrada
Instruções
Produto final
Algoritmo
Um algoritmo é um conjunto finito e bem
definido de instruções que atuam sobre uma
entrada de forma a produzir a saída esperada.
Solucionando assim o problema.
Passos para o desenvolvimento
de um Algoritmo
Passo1: Definição do problema.
Passo2: Procurar a compreensão correta do problema
Passo3: Eliminar possíveis ambigüidades e assegurar
do entendimento completo das especificações de
entrada e saída com quem especificou o problema.
Passo 4: Escolher uma amostra significativa de dados,
definindo as especificações de entrada.
Passo 5: Determinar a saída desejada correspondente
aos dados de entrada, definindo as especificações de
saída.
Passo 6: Estudar métodos de resolução e estabelecer
uma estratégia para obter a sua solução.
Características de um algoritmo
Finitude: um algoritmo deve sempre terminar após um
número finito de passos.
Definição dos passos que descrevem a solução
do problema: cada passo de um algoritmo deve ser
precisamente definido. As ações devem ser definidas
rigorosamente e sem ambiguidades.
Entradas: zero ou mais entradas. (Dados sobre os
quais as ações são aplicadas)
Saídas: uma ou mais saídas (Resultado das ações)
Características de um algoritmo
Eficiência: Um algoritmo deve ser eficiente. Isto
significa que todas as operações devem ser
suficientemente básicas de modo que possam ser
em princípio executadas com precisão em um
tempo finito por um ser humano usando papel e
lápis.
Formas para descrever um
Algoritmo
Pode-se descrever um algoritmo de três formas:
o
Linguagem Natural: Os algoritmos são expressos
diretamente em linguagem natural (o português, por
exemplo);
o
Fluxograma: Representação gráfica que emprega
formas geométricas padronizadas para indicar as
diversas ações e decisões que devem ser
executadas para resolver o problema;
o
Pseudocódigo:
Emprega
uma
linguagem
intermediária entre a linguagem natural e uma
linguagem de programação para descrever os
algoritmos.
Exemplo: Problema
Dado o problema abaixo, veremos como
descrever um algoritmo em Linguagem Natural:
A partir das três notas de um aluno, calcular sua
média aritmética e determinar se ele foi aprovado
ou reprovado, levando em consideração que a
média para aprovação deve ser pelo menos 5,0.
Construindo Algoritmo Linguagem natural
A partir das três notas de um aluno, calcular sua média
aritmética e determinar se ele foi aprovado ou reprovado,
levando em consideração que a média para aprovação
deve ser pelo menos 5,0.
Obter as três notas de um aluno (Nota1, Nota2, Nota3)
Construindo Algoritmo Linguagem natural
A partir das três notas de um aluno, calcular sua média
aritmética e determinar se ele foi aprovado ou reprovado,
levando em consideração que a média para aprovação
deve ser pelo menos 5,0.
Obter as três notas de um aluno (Nota1, Nota2, Nota3)
Calcular a média aritmética das 3 notas
media = (Nota1+Nota2+Nota3)/3,0
Construindo Algoritmo Linguagem natural
A partir das três notas de um aluno, calcular sua média
aritmética e determinar se ele foi aprovado ou reprovado,
levando em consideração que a média para aprovação
deve ser pelo menos 5,0.
Obter as três notas de um aluno (Nota1, Nota2, Nota3)
Calcular a média aritmética das 3 notas
media = (Nota1+Nota2+Nota3)/3,0
Comparar a média com o valor 5,0
Se media for maior ou igual a 5,0 escrever “aprovado”
Caso contrário, escrever “reprovado”
Algoritmo - Fluxograma
• Para descrever um algoritmo com o Fluxograma
temos que definir a Linguagem Gráfica, que utiliza
formas geométricas diferentes que implicam ações
(instruções, comandos) distintas
Exemplo: Problema
Dado o problema abaixo, veremos como
descrever um algoritmo com um Fluxograma:
A partir das três notas de um aluno, calcular
sua média aritmética e determinar se ele foi
aprovado ou reprovado, levando em conta que a
média para aprovação deve ser pelo menos 5,0.
Construindo Algoritmo Fluxograma
A partir das três notas de um aluno, calcular
sua média aritmética e determinar se ele foi
aprovado ou reprovado, levando em conta que a
média para aprovação deve ser pelo menos 5,0.
Início
Ler 3 notas
(n1,n2,n3)
Construindo Algoritmo Fluxograma
A partir das três notas de um aluno, calcular
sua média aritmética e determinar se ele foi
aprovado ou reprovado, levando em conta que a
média para aprovação deve ser pelo menos 5,0.
Início
Ler 3 notas
(n1,n2,n3)
Calcular média
Média =
(n1+n2+n3)/3
Construindo Algoritmo Fluxograma
A partir das três notas de um aluno, calcular sua média aritmética e
determinar se ele levando em conta que a média para aprovação deve
ser pelo menos 5,0.foi aprovado ou reprovado.
Início
Ler 3 notas (n1,n2,n3)
Calcular média
Média = (n1+n2+n3)/3
V
Se Média >= 5
Escrever Aprovado
F
Escrever Reprovado
Fim
Algoritmo - Fluxograma
Início
Ler 3 notas
(n1,n2,n3)
Calcular média
Média =
(n1+n2+n3)/3
V
Se Média >= 5
Escrever
Aprovado
F
Escrever
Reprovado
Fim
Algoritmo - Pseudocódigo
• Para
descrever
um
algoritmo
com
o
Pseudocódigo deve ser definido uma linguagem
intermediária entre a linguagem natural e uma
linguagem de programação para descrever as
instruções.
Exemplo: Problema
Dado o problema abaixo, veremos como
descrever um algoritmo em Pseudocódigo:
A partir das três notas de um aluno, calcular
sua média aritmética e determinar se ele foi
aprovado ou reprovado, levando em conta que a
média para aprovação deve ser pelo menos 5,0.
Construindo Algoritmo Pseudocódigo
A partir das três notas de um aluno, calcular sua
média aritmética e determinar se ele foi aprovado ou
reprovado, levando em conta que a média para
aprovação deve ser pelo menos 5,0.
variáveis
média, nota1, nota2, nota3 : real;
início
leia(nota1, nota2, nota3);
...
fim.
Construindo Algoritmo Pseudocódigo
A partir das três notas de um aluno, calcular sua
média aritmética e determinar se ele foi aprovado ou
reprovado, levando em conta que a média para
aprovação deve ser pelo menos 5,0.
variáveis
média, nota1, nota2, nota3 : real;
início
leia(nota1, nota2, nota3);
média ← (nota1+nota2+nota3)/3;
...
fim.
Construindo Algoritmo Pseudocódigo
A partir das três notas de um aluno, calcular sua
média aritmética e determinar se ele foi aprovado ou
reprovado, levando em conta que a média para
aprovação deve ser pelo menos 5,0.
variáveis
média, nota1, nota2, nota3 : real;
início
leia(nota1, nota2, nota3);
média ← (nota1+nota2+nota3)/3;
se (média >= 5,0) então
imprima(“Aluno Aprovado”);
caso contrário
imprima(“Aluno Reprovado”);
fim.
Referências
D.D Salvetti e L.M. Barbosa, Algoritmos,
Pearson Makron Books, 1998.
Notas de aulas do curso presencial de Técnicas
de Programação1 - UNIRIO - Desenvolvidos
pelas professoras: Geiza Maria Hamazaki da
Silva e Adriana C. F Alvim – primeiro semestre
de 2011.
Download

Aula 01 - parte 02