SlideShare a Scribd company logo
1 of 14
Download to read offline
Programando em Python


       Claudio Esperança
Por que programar?

 É divertido
      Melhor que usar programas feitos por outros
      Fazer programas = resolver quebra-cabeças
      Programação como arte
 É útil
      Programação como ferramenta
      Pode ser aplicado a quase qualquer atividade
           Arte / Ciência / Filosofia / Entretenimento
Algoritmos e Programas
 Algoritmo = método para solucionar um problema
 Estruturas de dados = método para organizar informações
 Programa = algoritmos + estruturas de dados expressos de forma a ser
entendidos pelo computador
 Programas tipicamente processam dados de entrada e produzem dados de saída




               Entra                                    Saída
                                 Programa
                da
Linguagem de Programação
 Linguagem artificial com sintaxe e semântica bem definidos
 Usada para exprimir programas
 Mais “técnica” do que linguagens naturais
 Menos “técnica” do que a linguagem nativa dos computadores
(linguagem de máquina)
Compiladores
 Programas que traduzem programas escritos em linguagem de
programação para programas equivalentes escritos em linguagem de máquina
 O primeiro é chamado de programa fonte, enquanto que o segundo é
 chamado de programa objeto



    Program                                       Programa
       a                Compilador                 objeto
     fonte
Link-Editores
 O programa-objeto nem sempre está pronto para ser executado
       Outros trechos de código precisam ser incluídos
            Bibliotecas
            Subprogramas
 Programa executável é montado por um programa chamado
link-editor ou linking-loader
       Compilador normalmente chama o link-editor automaticamente
Link-Editores


    Prog
    objeto 1
                                                 Programa
                      Link Editor
                                                 executável
Prog
objeto N


               Biblioteca           Biblioteca
Interpretadores

 Simulam uma “máquina virtual”
 Programa fonte é lido, entendido e as
instruções são executadas imediatamente


   Entrada         Interpretador      Saída




                  Programa
                    fonte
Esquemas Híbridos
 Compilador gera código para uma máquina virtual (pseudo-código)
 Máquina virtual é executada separadamente lendo pseudo-código e
interpretando-o




     Prog.             Dados
     Fonte             Entrada
                                       Interpretador        Saída

                        Prog
  Compilador
                        objeto
Por que Python?
 Simples o suficiente para um curso introdutório
 Muitos recursos
      Orientação a Objetos
      Escalável (módulos, classes, controle de exceções)
      Biblioteca embutida extensa e grande número de módulos
    fornecidos por terceiros
 Grande variedade de aplicações
 Linguagem interpretada (script)
 Multi-plataforma
 Grátis!
 Comunidade bastante grande
O que vamos precisar
 Uma implementação da linguagem
     http://www.python.org
     Implementação pronta para baixar (windows)
     Linux normalmente já vem com python
      instalado
 Um editor de textos
     Qualquer editor serve
     Ambiente IDLE inclui um editor
          Incluído na distribuição windows
Python Interativo

 Rode o interpretador
 Digite comandos python
 Cada comando é executado imediatamente

[cancer]~> python
Python 2.4.1 (#1, May 16 2005, 15:19:29)
[GCC 4.0.0 20050512 (Red Hat 4.0.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "alo!"
alo!
>>>
Executando um programa
                 Python
 Escreva um programa python
 Invoque o interpretador para executá-lo



  [cancer]~> cat prog.py
  print "alo!"
  [cancer]~> python prog.py
  alo!
Executando um programa Python

 Interfaces gráficas normalmente já associam os
  sufixos .py e .pyc com o interpretador

More Related Content

What's hot

Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
Gleison Rodrigues
 

What's hot (20)

Aplicativo aula01
Aplicativo aula01Aplicativo aula01
Aplicativo aula01
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
Python como primeira linguagem de programação
Python como primeira linguagem de programaçãoPython como primeira linguagem de programação
Python como primeira linguagem de programação
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
C++ introducao
C++ introducaoC++ introducao
C++ introducao
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
Gerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - CompiladoresGerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - Compiladores
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7
 
Python tutorial-ed3
Python tutorial-ed3Python tutorial-ed3
Python tutorial-ed3
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 
Coding Dojo e Test Driven Development
Coding Dojo e Test Driven DevelopmentCoding Dojo e Test Driven Development
Coding Dojo e Test Driven Development
 
Tipos de Software - Informática para Concursos
Tipos de Software - Informática para ConcursosTipos de Software - Informática para Concursos
Tipos de Software - Informática para Concursos
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Python
 
Linguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos IntrodutóriosLinguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos Introdutórios
 
Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python
 

Viewers also liked

Atividade 2.8 poster
Atividade 2.8 posterAtividade 2.8 poster
Atividade 2.8 poster
Maria Meire
 

Viewers also liked (17)

Sociedad y desarrollo en méxico
Sociedad y desarrollo en méxicoSociedad y desarrollo en méxico
Sociedad y desarrollo en méxico
 
Química industrial y sustentable
Química industrial y sustentableQuímica industrial y sustentable
Química industrial y sustentable
 
Derechos fundamentales aplus
Derechos fundamentales aplusDerechos fundamentales aplus
Derechos fundamentales aplus
 
Teorias modernas de aprendizaje
Teorias modernas de aprendizajeTeorias modernas de aprendizaje
Teorias modernas de aprendizaje
 
Estrategia de precios y valor
Estrategia de precios y valorEstrategia de precios y valor
Estrategia de precios y valor
 
Control estadistico de calidad cd09103 2012
Control estadistico de calidad cd09103 2012Control estadistico de calidad cd09103 2012
Control estadistico de calidad cd09103 2012
 
Ingenieria de control mr
Ingenieria de control mrIngenieria de control mr
Ingenieria de control mr
 
Ciencias del servicio en las tecnologias de informacion 2013
Ciencias del servicio en las tecnologias de informacion 2013Ciencias del servicio en las tecnologias de informacion 2013
Ciencias del servicio en las tecnologias de informacion 2013
 
Diseño de arquitectura de soluciones
Diseño de arquitectura de solucionesDiseño de arquitectura de soluciones
Diseño de arquitectura de soluciones
 
Interconectividad avanzada
Interconectividad avanzadaInterconectividad avanzada
Interconectividad avanzada
 
Seguridad en redes ii
Seguridad en redes iiSeguridad en redes ii
Seguridad en redes ii
 
Derecho de las obligaciones 2
Derecho de las obligaciones 2Derecho de las obligaciones 2
Derecho de las obligaciones 2
 
Finanzas internacionales aplus
Finanzas internacionales aplusFinanzas internacionales aplus
Finanzas internacionales aplus
 
Atividade 2.8 poster
Atividade 2.8 posterAtividade 2.8 poster
Atividade 2.8 poster
 
Salarios y honorarios
Salarios y honorariosSalarios y honorarios
Salarios y honorarios
 
Anexos
AnexosAnexos
Anexos
 
Pensamiento critico cel2015
Pensamiento critico cel2015Pensamiento critico cel2015
Pensamiento critico cel2015
 

Similar to Programando em python introducao

Construção de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfConstrução de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdf
Gerhard Saboia
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
Ray Fran Pires
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing
Jorge Cardoso
 
Aula 03 isc -softwares-hardwares-arquiteturas
Aula 03   isc -softwares-hardwares-arquiteturasAula 03   isc -softwares-hardwares-arquiteturas
Aula 03 isc -softwares-hardwares-arquiteturas
Fábio Andrade
 
LIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de AlgoritmosLIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de Algoritmos
Rafael Martins
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
Grupython Ufla
 
02 Introdução à programação.pptx
02 Introdução à programação.pptx02 Introdução à programação.pptx
02 Introdução à programação.pptx
william Sarti José
 

Similar to Programando em python introducao (20)

Construção de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfConstrução de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdf
 
Paradigmas de Linguagem
Paradigmas de LinguagemParadigmas de Linguagem
Paradigmas de Linguagem
 
Programação Python na Iot
Programação Python na IotProgramação Python na Iot
Programação Python na Iot
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdf
 
Conceitos Fundamentais de Programacao
Conceitos Fundamentais de ProgramacaoConceitos Fundamentais de Programacao
Conceitos Fundamentais de Programacao
 
Code Masters
Code MastersCode Masters
Code Masters
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
 
Aula1 - introdução à programação
Aula1 - introdução à programaçãoAula1 - introdução à programação
Aula1 - introdução à programação
 
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
Aula 03 isc -softwares-hardwares-arquiteturas
Aula 03   isc -softwares-hardwares-arquiteturasAula 03   isc -softwares-hardwares-arquiteturas
Aula 03 isc -softwares-hardwares-arquiteturas
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Introdução à linguagem python
Introdução à linguagem pythonIntrodução à linguagem python
Introdução à linguagem python
 
LIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de AlgoritmosLIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de Algoritmos
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
02 Introdução à programação.pptx
02 Introdução à programação.pptx02 Introdução à programação.pptx
02 Introdução à programação.pptx
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
 

More from samuelthiago

Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_v
samuelthiago
 
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_ivInterface grafica em_java_parte_iv
Interface grafica em_java_parte_iv
samuelthiago
 
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_iiiInterface grafica em_java_parte_iii
Interface grafica em_java_parte_iii
samuelthiago
 
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_iiInterface grafica em_java_parte_ii
Interface grafica em_java_parte_ii
samuelthiago
 
Interface grafica em_java_parte_i
Interface grafica em_java_parte_iInterface grafica em_java_parte_i
Interface grafica em_java_parte_i
samuelthiago
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_ii
samuelthiago
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
samuelthiago
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_java
samuelthiago
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
samuelthiago
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)
samuelthiago
 

More from samuelthiago (20)

Eclipse i (1)
Eclipse i (1)Eclipse i (1)
Eclipse i (1)
 
Html básico
Html básicoHtml básico
Html básico
 
Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_v
 
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_ivInterface grafica em_java_parte_iv
Interface grafica em_java_parte_iv
 
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_iiiInterface grafica em_java_parte_iii
Interface grafica em_java_parte_iii
 
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_iiInterface grafica em_java_parte_ii
Interface grafica em_java_parte_ii
 
Interface grafica em_java_parte_i
Interface grafica em_java_parte_iInterface grafica em_java_parte_i
Interface grafica em_java_parte_i
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_ii
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_java
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)
 
Java 08
Java 08Java 08
Java 08
 
Java 07
Java 07Java 07
Java 07
 
Java 06
Java 06Java 06
Java 06
 
Java 05
Java 05Java 05
Java 05
 
Java 04
Java 04Java 04
Java 04
 
Java 03
Java 03Java 03
Java 03
 
Java 02
Java 02Java 02
Java 02
 
Java 01
Java 01Java 01
Java 01
 

Programando em python introducao

  • 1. Programando em Python Claudio Esperança
  • 2. Por que programar?  É divertido  Melhor que usar programas feitos por outros  Fazer programas = resolver quebra-cabeças  Programação como arte  É útil  Programação como ferramenta  Pode ser aplicado a quase qualquer atividade  Arte / Ciência / Filosofia / Entretenimento
  • 3. Algoritmos e Programas  Algoritmo = método para solucionar um problema  Estruturas de dados = método para organizar informações  Programa = algoritmos + estruturas de dados expressos de forma a ser entendidos pelo computador  Programas tipicamente processam dados de entrada e produzem dados de saída Entra Saída Programa da
  • 4. Linguagem de Programação  Linguagem artificial com sintaxe e semântica bem definidos  Usada para exprimir programas  Mais “técnica” do que linguagens naturais  Menos “técnica” do que a linguagem nativa dos computadores (linguagem de máquina)
  • 5. Compiladores  Programas que traduzem programas escritos em linguagem de programação para programas equivalentes escritos em linguagem de máquina  O primeiro é chamado de programa fonte, enquanto que o segundo é chamado de programa objeto Program Programa a Compilador objeto fonte
  • 6. Link-Editores  O programa-objeto nem sempre está pronto para ser executado  Outros trechos de código precisam ser incluídos  Bibliotecas  Subprogramas  Programa executável é montado por um programa chamado link-editor ou linking-loader  Compilador normalmente chama o link-editor automaticamente
  • 7. Link-Editores Prog objeto 1 Programa Link Editor executável Prog objeto N Biblioteca Biblioteca
  • 8. Interpretadores  Simulam uma “máquina virtual”  Programa fonte é lido, entendido e as instruções são executadas imediatamente Entrada Interpretador Saída Programa fonte
  • 9. Esquemas Híbridos  Compilador gera código para uma máquina virtual (pseudo-código)  Máquina virtual é executada separadamente lendo pseudo-código e interpretando-o Prog. Dados Fonte Entrada Interpretador Saída Prog Compilador objeto
  • 10. Por que Python?  Simples o suficiente para um curso introdutório  Muitos recursos  Orientação a Objetos  Escalável (módulos, classes, controle de exceções)  Biblioteca embutida extensa e grande número de módulos fornecidos por terceiros  Grande variedade de aplicações  Linguagem interpretada (script)  Multi-plataforma  Grátis!  Comunidade bastante grande
  • 11. O que vamos precisar  Uma implementação da linguagem  http://www.python.org  Implementação pronta para baixar (windows)  Linux normalmente já vem com python instalado  Um editor de textos  Qualquer editor serve  Ambiente IDLE inclui um editor  Incluído na distribuição windows
  • 12. Python Interativo  Rode o interpretador  Digite comandos python  Cada comando é executado imediatamente [cancer]~> python Python 2.4.1 (#1, May 16 2005, 15:19:29) [GCC 4.0.0 20050512 (Red Hat 4.0.0-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "alo!" alo! >>>
  • 13. Executando um programa Python  Escreva um programa python  Invoque o interpretador para executá-lo [cancer]~> cat prog.py print "alo!" [cancer]~> python prog.py alo!
  • 14. Executando um programa Python  Interfaces gráficas normalmente já associam os sufixos .py e .pyc com o interpretador