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