9
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 1 Introdução à Programação Linguagens de Programação Algoritmos Alguns dos slides utilizados nessa aula foram gentilmente cedidos pelo Prof. Paulo Borba e Prof. Adriano Sarmento uma linguagem que pode ser traduzida para a linguagem entendida pelo computador 10010010 10001110 a = 10; a = a + 1; ? 10010010 10001110 Linguagem imprecisa conduzem a enganos

Linguagens de Programação Introdução à Programação Algoritmosrmfl/ip/02-LinguagensAlgoritmos.pdf · de origami Nível de detalhe pode ser inadequado . Graduação em Ciência

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 1

    Introdução à Programação Linguagens de Programação

    Algoritmos

    Alguns dos slides utilizados nessa aula foram gentilmente cedidos pelo Prof. Paulo Borba e Prof. Adriano Sarmento

      uma linguagem que pode ser traduzida para a linguagem entendida pelo computador

    10010010 10001110

    a = 10; a = a + 1; ?

    10010010 10001110

    Linguagem imp

    recisa

    conduzem a en

    ganos

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 2

    Inadequação entre o nível de detalhe exigido pelo leitor e o utilizado na formulação da frase

      difícil em geral   fácil para estudante de origami

    Nível de detal

    he pode

    ser inadequado

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 3

    se idade < 18 então

    pode dirigir

    senão

    não pode dirigir

    001011101100…

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 4

    Compilação

    a = 10; a = a + 1; Compilador

    10010010 10001110

    Código- fonte Código de máquina

    a = 10; a = a + 1; Interpretador

    10010010 Código- fonte

    Código de máquina

    10001110

    Interpretação

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 5

    deve ter uma estrutura bem estabelecida quanto à ordem em que seus passos são executados

    algoritmos paralelos: duas ou mais seqüências de passos independentes

    Sandwich de queijo passo1: corte o pão em duas partes passo2: abra o pão passo3: insira o queijo no pão passo4: feche o pão

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 6

    Sandwich de queijo e verdura (paralelo) passo1: corte o pão em duas partes passo2: corte o tomate passo3: corte a cebola passo4: abra o pão passo5: insira o queijo no pão passo6: insira o tomate no pão passo7: insira a cebola no pão passo8: feche o pão

    A informação sobre o estado do programa em execução deve ser suficiente para determinar univocamente as ações a serem tomadas em cada passo

    Não deve requerer criatividade, bastando a capacidade de seguir instruções

    A informação sobre o estado do programa em execução deve ser suficiente para determinar univocamente as ações a serem tomadas em cada passo

    Não deve requerer criatividade, bastando a capacidade de seguir instruções

    Alimentar Animais passo1: conduza o leão e o coelho para seus refeitórios passo2: alimente o coelho com cenoura passo3: alimente o leão com carne

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 7

    Dados dois números quaisquer, as operações de soma, subtração, multiplicação e divisão são algoritmos ?

    A operação de divisão não é um algoritmo

    0.3333... 1

    3

    Em que sentido os passos descritos a seguir falham em construir um algoritmo ? passo1: retire uma moeda do bolso e coloque sobre a mesa passo2: retorne ao passo 1

    Processo chegará ao fim quando o bolso não tiver mais moedas !

    Ambiguidade !!! Nenhuma indicação sobre a conduta a adotar quando não houver mais moedas

    Primitivas e suas regras usadas para representar precisamente idéias complexas constitui uma Linguagem de programação

      Sistema notacional que permite expressar idéias informalmente durante o desenvolvimento do algoritmo

      regras da linguagem formal relaxadas

      estrutura sintático-semânticas semelhantes (menos formais) às usadas pelas linguagens de programação

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 8

      Selecionar uma, dentre duas, ações, conforme valor da condição   se o produto interno bruto tiver aumentado, compre ações

    ordinárias; caso contrário, venda ações ordinárias

      compre ações ordinárias se o produto interno bruto tiver aumentado; caso contrário venda-as

      compre ou venda ações ordinárias dependendo do crescimento ou queda, respectivamente, do produto interno bruto

      se (aumento do produto interno bruto) então (compre ações ordinárias) senão (venda ações ordinárias)

      Ex:   dividir total por 366 ou 365, conforme o ano seja bissexto ou

    não, respectivamente

    se (ano bissexto) então (dividir total por 366) senão (dividir total por 365)

      Sintaxe abreviada   se (condição) então (ação)

      Ex: se as vendas diminuírem, reduza em 5% o preço

    se (vendas diminuírem) então (reduzir em 5% o preço)

      Ex:   Determine se o aluno foi reprovado (nota menor que 5) ou

    aprovado

      Seleções aninhadas

    se (nota >= 5) então (aluno aprovado) senão (aluno reprovado)

    se (nota >= 5) então se (nota >= 7) então (aluno aprovado) senão (fazer prova final)

    senão (aluno reprovado)

      Importância da Edentação

    se (nota >= 5) então {se (nota >= 7) então (aluno aprovado) senão (fazer prova final)} senão (aluno reprovado)

    se (nota >= 5) então se (nota >= 7) então (aluno aprovado) senão (fazer prova final)

    senão (aluno reprovado)

  • Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação

    Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 9

      Nos permite referenciar valores através de nomes que fazem sentido

    associe celsius ao valor 25 associe fahrenheit ao valor (9/5) x Celsius + 32 se (fahrenheit >= 5) então (quente)

    senão (frio)

    se (((9/5) x 25 + 32) >= 5) então (quente) senão (frio)

      Execução recorrente de uma seqüência de comandos enquanto uma condição permanecer verdadeira

      Ex: havendo ingressos para vender, permanecer vendendo ingressos enquanto (houver ingressos) faça (vender um ingresso)