Programação em
Python
Rodrigo de Toledo
IM/DCC
Pergunta aos alunos
 Quantos já programaram antes?

Quais linguagens?
 Quantos tem computador em casa?
 Qual Sistema Operacional?
 Quantos são calouros?
 Quantos estão repetindo esta matéria?

Por que?
 Quem não veio direto do 2º grau?
 Estudou aonde?
 Nível de inglês?
Motivação
 Informática

Raciocínio lógico puro
 algoritmo
Criatividade máxima
 (exatas e humanas)

 Profissão do século XXI
Todos programam
 Avanços tecnológicos das outras áreas

Por que programar?
 É útil
 Programação como ferramenta
 Pode ser aplicado a quase qualquer atividade

Arte / Ciência / Filosofia / Entretenimento
 É divertido
 Melhor que usar programas feitos por outros
 Fazer programas = resolver quebra-cabeças
 Programação como arte
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
Entrada
Programa
Saí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)
Diferença entre linguagem
interpretada e compilada
 Compilador traduz do código fonte (ex: Pascal ou C++) para um
executável (linguagem de máquina)
Programa
fonte
Compilador
Programa
objeto
 Simulam uma “máquina virtual”
 Programa fonte é lido, entendido e as instruções são executadas
imediatamente
Entrada
Interpretador
Programa
fonte
Saída
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)
 Vamos usar versão 2.x


Exemplo (XP): “Windows x86 MSI Installer (2.7)”
Linux normalmente já vem com python
instalado
 Um editor de textos
 Qualquer editor serve
 Ambiente IDLE inclui um editor
Python Interativo
 Linha de comando
 Rode o interpretador
 Digite comandos python
 Cada comando é executado imediatamente
[xpto]~> 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
[xpto]~> cat prog.py
print "alo!"
[xpto]~> python prog.py
alo!
Executando um programa Python
 Interfaces gráficas normalmente já associam os
sufixos .py e .pyc com o interpretador
Dicas
 Matéria totalmente acumulativa
 Dedicação

Ex: jogador de futebol
 Exercícios para casa desde a segunda aula!!!
 “Cair a ficha”
 Cuidado com a liberdade
2010.2
(professor Rodrigo)
 Duas turmas

Eng. Elétrica



Segundas, 8h~10h, H228
Terças, 13h~15h, H228 (?)
Eng. Petróleo


Terças, 8h~10h, F2016
Quartas, 13h~15h, F215
 Muitos feriados

Concentrados na segunda (4) e terça (3)
Como funciona a disciplina
• Monitoria (*)
• Laboratório (*)
• Avaliação (*)
–
–
–
–
• Ementa (*)
P1 + P2
PF
2ª chamada
Avaliação prática (*)
(*) Será confirmado nas próximas semanas
–
–
–
–
–
–
–
Tipos Básicos
Comandos Básicos
Listas
Tuplas e Strings
Dicionários
Funções
Recursão ppt odp ps
Material de referência
 Homepage do curso:
http://orion.lcg.ufrj.br/python/
 Curso criado pelo professor Claudio Esperança

 Possíveis adaptações minhas:

Serão disponibilizadas online (*)
 Para quem já sabe programar:

Google Python Class
 Outros links na homepage
(*) Endereço a ser definido
Download

Por que Python? - DCC