Programação I




Programação de Computadores e
          Algoritmos
         25/08/2011
Linguagens de Programação
●   É um método padronizado para expressar
    instruções, ordens, a um computador.
●   Antigamente os computadores eram
    programados “diretamente” alterando-se
    posições de chaves e contatos elétricos e
    eletrônicos. Evoluíram para as linguagens
    modernas.
●   Podem ser classificadas em diversas
    ordens:
Quanto ao nível
●   Baixo nível: muito próximo ao que o
    computador entende e por isso
    dificilmente pode ser usado em
    computadores diferentes. Usa
    mnemônicos como comandos:
       ●   Ex: Linguagem de máquina e Assembly
Quanto ao nível
variable:
   .message      db   "Olá,
Mundo!$"
code:
   mov   ah, 9
   mov   dx, offset .message
   int   0x21
   ret
Quanto ao nível
●   Alto nível: Mais próximo à linguagem
    humana.
       ●   Ex: Java e FORTRAN


       program ola
       print*,"Olá Mundo!"
       end program ola
Quanto ao nível
●   Médio nível: intermediário entre o baixo e
    o alto nível.
       ●   Ex: C


       int main()
       {
            printf("Olá, Mundo!n");
       }
Quanto à execução
●   Os programas são escritos em arquivos
    no formato texto (legíveis pelo homem), e
    podem ser interpretados e/ou compilados
    para gerar arquivos executados em
    formato binário (legíveis pela máquina).
●   Estes dois processos: interpretação e
    compilação podem ser estendidos a
    outros, mas basicamente são capazes de
    gerar os programas que usamos.
Processo de compilação

10 Print “Olá, Mundo!”




     Código Fonte             Interpretador




011010011100101001001110100
110110001000101000101101101           Olá, Mundo!
011101110111010100111010101
001001000011110000111000111
111000011010100111010100010



      Executável
      (memória)
Processo de compilação
                                           011010
                                           110110
int main()                                 001010
{
   printf("Olá, Mundo!n");
}
                                           011010
                                           110110
                                           001010
                                                    Linkeditor
     Código Fonte             Compilador




011010011100101001001110100
110110001000101000101101101                Olá, Mundo!
011101110111010100111010101
001001000011110000111000111
111000011010100111010100010



      Executável
Processo de compilação
        Run Time
Pseudolinguagem
●   Linguagem de “programação”
    simplificada, usada para ignorarmos
    detalhes de uma linguagem real.
●   Toda (pseudo)linguagem deve ser bem
    definida tanto em sintaxe quanto em
    semântica.
Pseudolinguagem
●   Sintaxe: Conjunto de regras a serem
    seguidas para a escrita do
    algoritmo/programa; como começa, como
    termina, como escrever os comandos,
    como definir variáveis, etc.
●   Semântica: O que é feito quando
    encontrar um comando.
Trabalho
●   Escolha uma linguagem de programação
    e pesquise as suas palavras reservadas;
●   Pesquise linguagens de programação
    usadas para criar linguagens de
    programação.
●   Você também pode definir uma linguagem
    de programação. Indique duas ocasiões
    onde pode ser necessária uma nova
    linguagem de pogramação.

Linguagens de programação

  • 1.
    Programação I Programação deComputadores e Algoritmos 25/08/2011
  • 2.
    Linguagens de Programação ● É um método padronizado para expressar instruções, ordens, a um computador. ● Antigamente os computadores eram programados “diretamente” alterando-se posições de chaves e contatos elétricos e eletrônicos. Evoluíram para as linguagens modernas. ● Podem ser classificadas em diversas ordens:
  • 3.
    Quanto ao nível ● Baixo nível: muito próximo ao que o computador entende e por isso dificilmente pode ser usado em computadores diferentes. Usa mnemônicos como comandos: ● Ex: Linguagem de máquina e Assembly
  • 4.
    Quanto ao nível variable: .message db "Olá, Mundo!$" code: mov ah, 9 mov dx, offset .message int 0x21 ret
  • 5.
    Quanto ao nível ● Alto nível: Mais próximo à linguagem humana. ● Ex: Java e FORTRAN program ola print*,"Olá Mundo!" end program ola
  • 6.
    Quanto ao nível ● Médio nível: intermediário entre o baixo e o alto nível. ● Ex: C int main() { printf("Olá, Mundo!n"); }
  • 7.
    Quanto à execução ● Os programas são escritos em arquivos no formato texto (legíveis pelo homem), e podem ser interpretados e/ou compilados para gerar arquivos executados em formato binário (legíveis pela máquina). ● Estes dois processos: interpretação e compilação podem ser estendidos a outros, mas basicamente são capazes de gerar os programas que usamos.
  • 8.
    Processo de compilação 10Print “Olá, Mundo!” Código Fonte Interpretador 011010011100101001001110100 110110001000101000101101101 Olá, Mundo! 011101110111010100111010101 001001000011110000111000111 111000011010100111010100010 Executável (memória)
  • 9.
    Processo de compilação 011010 110110 int main() 001010 { printf("Olá, Mundo!n"); } 011010 110110 001010 Linkeditor Código Fonte Compilador 011010011100101001001110100 110110001000101000101101101 Olá, Mundo! 011101110111010100111010101 001001000011110000111000111 111000011010100111010100010 Executável
  • 10.
  • 11.
    Pseudolinguagem ● Linguagem de “programação” simplificada, usada para ignorarmos detalhes de uma linguagem real. ● Toda (pseudo)linguagem deve ser bem definida tanto em sintaxe quanto em semântica.
  • 12.
    Pseudolinguagem ● Sintaxe: Conjunto de regras a serem seguidas para a escrita do algoritmo/programa; como começa, como termina, como escrever os comandos, como definir variáveis, etc. ● Semântica: O que é feito quando encontrar um comando.
  • 13.
    Trabalho ● Escolha uma linguagem de programação e pesquise as suas palavras reservadas; ● Pesquise linguagens de programação usadas para criar linguagens de programação. ● Você também pode definir uma linguagem de programação. Indique duas ocasiões onde pode ser necessária uma nova linguagem de pogramação.