Download - 2016 1 Aula1 Algoritmos
-
7/25/2019 2016 1 Aula1 Algoritmos
1/33
Introduo a Programao
Kate Revoredo
1
-
7/25/2019 2016 1 Aula1 Algoritmos
2/33
Desenvolvimento de Sistemas
Entendimento do Problema
Modelagem da Soluo do Problema Implementao da Soluo do Problema
Validao da Soluo do Problema
-
7/25/2019 2016 1 Aula1 Algoritmos
3/33
Desenvolvimento de Sistemas
Entendimento do Problema
Modelagem da Soluo do Problema Implementao da Soluo do Problema
Validao da Soluo do Problema
-
7/25/2019 2016 1 Aula1 Algoritmos
4/33
Modelagem da soluo do problema
Soluodo
ProblemaProblema
Problema
Resolvido
-
7/25/2019 2016 1 Aula1 Algoritmos
5/33
Modelagem da soluo do problema
Algoritmo_____________________________________________
_____________________________________________Problema
Problema
Resolvido
Algoritmo uma sequencia ordenada e finita de etapas,cuja execuo passo a passo resolve um determinado
problema.
-
7/25/2019 2016 1 Aula1 Algoritmos
6/33
Algoritmo
AlgoritmoIr ao caixa;
Passar o carto;Digitar a senha;Escolher saque;Informar o valor;Pegar dinheiro;
Sacar dinheiro
-
7/25/2019 2016 1 Aula1 Algoritmos
7/33
Algoritmo
AlgoritmoLigar o computador;
Entrar no Netflix;Escolher genero;Ler descries;Ler avaliaes;Escolher filme;
Assistir filme
-
7/25/2019 2016 1 Aula1 Algoritmos
8/33
Algoritmo
Algoritmo
Passar em TP1
-
7/25/2019 2016 1 Aula1 Algoritmos
9/33
Lgica de Programao
Lgica de programao consiste em planejar e definir
corretamente os comandos a serem inseridos no algoritmo
de modo a resolver o problema.
-
7/25/2019 2016 1 Aula1 Algoritmos
10/33
Lgica de Programao
Algoritmo
Fritar um ovo
Como fritar um ovo sem lgica: http://www.youtube.com/watch?v=nEUtVuv0kHo
-
7/25/2019 2016 1 Aula1 Algoritmos
11/33
Lgica de Programao
Algoritmo
Fritar um ovo
-
7/25/2019 2016 1 Aula1 Algoritmos
12/33
Lgica de ProgramaoNem sempre ao seguir o algoritmo tem-se o resultado
esperado. Isso se deve basicamente a trs fatores
Entradas inadequadas;
M compreenso do algoritmo;
Algoritmo incompleto ou ambguo;
-
7/25/2019 2016 1 Aula1 Algoritmos
13/33
Lgica de ProgramaoPara que o problema seja solucionado corretamente
necessrio
Definir bem o problema
Procurar a compreenso correta do problema.
Eliminar possveis ambiguidades e assegurar o entendimento
completo das especificaes de entrada e sada.
Estudar mtodos de resoluo e estabelecemos uma
estratgia para obter a sua soluo.
-
7/25/2019 2016 1 Aula1 Algoritmos
14/33
Lgica de Programao
AlgoritmoDerreter a manteiganuma frigideira;Dar uma batidinha nacasca do ovo e colocar ocontedo do ovo nafrigideira;Fritar o ovo at que aborda fique ligeiramentedourada e a gemacozida;Salgar depois de pronto.
Fritar um ovo
-
7/25/2019 2016 1 Aula1 Algoritmos
15/33
Passos para o desenvolvimento de um Algoritmo
Passo1:Definio do problema.
Passo2:Procurar a compreenso correta do problemaPasso3: Eliminar possveis ambiguidades e assegurar do
entendimento completo das especificaes de entrada esada com quem especificou o problema.
Passo 4:Escolher uma amostra significativa de dados, definindoas especificaes de entrada.Passo 5: Determinar a sada desejada correspondente aos
dados de entrada, definindo as especificaes de sada.
Passo 6: Estudar mtodos de resoluo e estabelecer umaestratgia para obter a sua soluo.
-
7/25/2019 2016 1 Aula1 Algoritmos
16/33
Caractersticas de um algoritmo
Finitude: um algoritmo deve sempre terminar aps umnmero finito de passos.
Definio dos passos que descrevem a soluo doproblema: cada passo de um algoritmo deve ser
precisamente definido. As aes devem ser definidasrigorosamente e sem ambiguidades.
Entradas: zero ou mais entradas. (Dados sobre os quais
as aes so aplicadas)
Sadas: uma ou mais sadas (Resultado das aes)
-
7/25/2019 2016 1 Aula1 Algoritmos
17/33
Caractersticas de um algoritmo
Eficincia:Um algoritmo deve ser eficiente. Isto significa
que todas as operaes devem ser suficientementebsicas de modo que possam ser em princpio
executadas com preciso em um tempo finito por um ser
humano usando papel e lpis.
-
7/25/2019 2016 1 Aula1 Algoritmos
18/33
Formas para descrever um AlgoritmoPode-se descrever um algoritmo de trs formas:
Linguagem Natural: Os algoritmos so expressos
diretamente em linguagem natural (o portugus, porexemplo);
Fluxograma: Representao grfica que empregaformas geomtricas padronizadas para indicar as
diversas aes e decises que devem ser executadaspara resolver o problema;
Pseudocdigo: Emprega uma linguagem intermediriaentre a linguagem natural e uma linguagem deprogramao para descrever os algoritmos.
-
7/25/2019 2016 1 Aula1 Algoritmos
19/33
Exemplo: ProblemaDado o problema abaixo, veremos como descrever um
algoritmo emLinguagem Natural:
A partir das trs notas de um aluno, calcular suamdia aritmtica e determinar se ele foi aprovado ou
reprovado, levando em considerao que a mdia
para aprovao deve ser pelo menos 5,0.
-
7/25/2019 2016 1 Aula1 Algoritmos
20/33
Construindo Algoritmo - Linguagem natural
A partir das trs notas de um aluno, calcular sua mdia
aritmtica e determinar se ele foi aprovado ou reprovado,levando em considerao que a mdia para aprovao deve
ser pelo menos 5,0.
Obter as trs notas de um aluno (Nota1, Nota2, Nota3)
-
7/25/2019 2016 1 Aula1 Algoritmos
21/33
Construindo Algoritmo - Linguagem naturalA partir das trs notas de um aluno, calcular sua mdia
aritmtica e determinar se ele foi aprovado ou reprovado,
levando em considerao que a mdia para aprovao deve
ser pelo menos 5,0.
Obter as trs notas de um aluno (Nota1, Nota2, Nota3)
Calcular a mdia aritmtica das 3 notas
media = (Nota1+Nota2+Nota3)/3,0
-
7/25/2019 2016 1 Aula1 Algoritmos
22/33
Construindo Algoritmo - Linguagem naturalA partir das trs notas de um aluno, calcular sua mdia
aritmtica e determinar se ele foi aprovado ou reprovado,
levando em considerao que a mdia para aprovao deve
ser pelo menos 5,0.
Obter as trs notas de um aluno (Nota1, Nota2, Nota3)
Calcular a mdia aritmtica das 3 notas
media = (Nota1+Nota2+Nota3)/3,0
Comparar a mdia com o valor 5,0
Se media for maior ou igual a 5,0 escrever aprovado
Caso contrrio, escrever reprovado
-
7/25/2019 2016 1 Aula1 Algoritmos
23/33
Algoritmo - Fluxograma
Para descrever um algoritmo com o Fluxograma temos que
definir a Linguagem Grfica, que utiliza formas geomtricasdiferentes que implicam aes (instrues, comandos)
distintas
-
7/25/2019 2016 1 Aula1 Algoritmos
24/33
Exemplo: ProblemaDado o problema abaixo, veremos como descrever um
algoritmo com umFluxograma:
A partir das trs notas de um aluno, calcular suamdia aritmtica e determinar se ele foi aprovado ou
reprovado, levando em conta que a mdia para
aprovao deve ser pelo menos 5,0.
-
7/25/2019 2016 1 Aula1 Algoritmos
25/33
Construindo Algoritmo - FluxogramaA partir das trs notas de um aluno, calcular sua
mdia aritmtica e determinar se ele foi aprovado ou
reprovado, levando em conta que a mdia paraaprovao deve ser pelo menos 5,0.
Incio
Ler 3 notas
(n1,n2,n3)
-
7/25/2019 2016 1 Aula1 Algoritmos
26/33
Construindo Algoritmo - Fluxograma
A partir das trs notas de um aluno, calcular sua
mdia aritmticae determinar se ele foi aprovado oureprovado, levando em conta que a mdia para
aprovao deve ser pelo menos 5,0.
Incio
Ler 3 notas
(n1,n2,n3)
Calcular mdia
Mdia =
(n1+n2+n3)/3
-
7/25/2019 2016 1 Aula1 Algoritmos
27/33
Construindo Algoritmo - Fluxograma
A partir das trs notas de um aluno, calcular sua mdia aritmtica e
determinar se ele levando em conta que a mdia para aprovao deve ser
pelo menos 5,0.foi aprovado ou reprovado.
Incio
Fim
Ler 3 notas (n1,n2,n3)
Escrever ReprovadoEscrever Aprovado
Calcular mdia
Mdia = (n1+n2+n3)/3
Se Mdia >= 5V F
-
7/25/2019 2016 1 Aula1 Algoritmos
28/33
Algoritmo - Fluxograma
Incio
Fim
Ler 3 notas(n1,n2,n3)
Escrever
Reprovado
Escrever
Aprovado
Calcular mdia
Mdia =
(n1+n2+n3)/3
Se Mdia >= 5V F
-
7/25/2019 2016 1 Aula1 Algoritmos
29/33
Algoritmo - Pseudocdigo
Para descrever um algoritmo com o Pseudocdigo deve
ser definido uma linguagem intermediria entre alinguagem natural e uma linguagem de programao
para descrever as instrues.
-
7/25/2019 2016 1 Aula1 Algoritmos
30/33
Exemplo: ProblemaDado o problema abaixo, veremos como descrever um
algoritmo emPseudocdigo:
A partir das trs notas de um aluno, calcular suamdia aritmtica e determinar se ele foi aprovado ou
reprovado, levando em conta que a mdia para
aprovao deve ser pelo menos 5,0.
-
7/25/2019 2016 1 Aula1 Algoritmos
31/33
Construindo Algoritmo - Pseudocdigo
A partir das trs notas de um aluno, calcular sua mdia
aritmtica e determinar se ele foi aprovado oureprovado, levando em conta que a mdia para
aprovao deve ser pelo menos 5,0.
variveis
mdia, nota1, nota2, nota3 : real;
incio
leia(nota1, nota2, nota3);
...
fim.
-
7/25/2019 2016 1 Aula1 Algoritmos
32/33
Construindo Algoritmo - Pseudocdigo
A partir das trs notas de um aluno,calcular sua mdia
aritmtica e determinar se ele foi aprovado oureprovado, levando em conta que a mdia para
aprovao deve ser pelo menos 5,0.
variveis
mdia, nota1, nota2, nota3 : real;
incio
leia(nota1, nota2, nota3);
mdia (nota1+nota2+nota3)/3;...
fim.
-
7/25/2019 2016 1 Aula1 Algoritmos
33/33
Construindo Algoritmo - Pseudocdigo
A partir das trs notas de um aluno, calcular sua mdia
aritmtica e determinar se ele foi aprovado oureprovado, levando em conta que a mdia para
aprovao deve ser pelo menos 5,0.variveis
mdia, nota1, nota2, nota3 : real;incio
leia(nota1, nota2, nota3);
mdia (nota1+nota2+nota3)/3;
se (mdia >= 5,0) ento
imprima(Aluno Aprovado);
caso contrrio
imprima(Aluno Reprovado);
fim.