2016 1 aula1 algoritmos

Upload: caio-loureiro

Post on 01-Mar-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 2016 1 Aula1 Algoritmos

    1/33

    Introduo a Programao

    Kate Revoredo

    [email protected]

    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.