programação em python
DESCRIPTION
Programação em Python. Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012. Por que programar?. Realizar testes Fazer simulações Armazenar dados Analisar dados Gerar gráficos Desenvolver novos módulos Etc.;. Programação. Aprendizado. Persistência. - PowerPoint PPT PresentationTRANSCRIPT
Programação em Python
Prof. Natalia Castro FernandesEngenharia de Telecomunicações – UFF
2º semestre/2012
Por que programar?Realizar testesFazer simulaçõesArmazenar dadosAnalisar dadosGerar gráficosDesenvolver novos módulosEtc.;
ProgramaçãoAprendizado
Persistência
Dedicação
Qual linguagem usar?A que melhor resolver o seu problema
E se eu não sei qual é a melhor linguagem para resolver o meu problema?Desempenho computacional?Programação simples?Algum sistema específico?
10 regras básicas de programação1. Simplicidade
Busque sempre a solução mais simples Manutenção de código Compreensão do código
2. Comente o seu códigoUtilize variáveis com nomes intuitivos
Comente na instanciação a funcionalidade da variável, caso não seja absolutamente intuitivo
Explique com comentários o porquê de suas escolhas em pontos críticos do código
10 regras básicas de programação
3. Indente o seu código
10 regras básicas de programação4. Use padrões de projeto
Não reinvente a rodaVantagens
Desenvolvimento de código mais rápido Utilização de código testado
5. Alta coesão e baixo acoplamentoAcoplamento = Quão fortemente um elemento está
conectado, tem conhecimento ou depende de outros elementos
Coesão = Quão estritamente um elemento está relacionado e focado com suas responsabilidades
Consequências Evite elementos que façam coisas demais Defina bem qual a funcionalidade de um elemento
10 regras básicas de programação6. Não escreva códigos profundamente
aninhados (Muitos ifs dentro de ifs)Dificuldade de leitura
Tentar manter o código com até 3 níveis de indentação Divida o código em pequenas funções
7. Códigos repetitivos ou com função específica devem ser escritos como funções
10 regras básicas de programação8. Não faça o código todo para depois testar
Teste suas funções antes de utilizá-las Comportamento normal Limites inferiores e superiores de entradas e saídas Entradas não esperadas
9. Faça um bom tratamento de erros
10.O Google é o seu melhor amigo
Algumas definiçõesAlgoritmo
Método para solucionar um problemaEstruturas de dados
Método para organizar informaçõesPrograma
(Algoritmos + estruturas de dados ) expressos com uma linguagem de programação
Programa
Entrada
Saída
Linguagem de programaçãoLinguagem artificial com sintaxe e semântica
bem definidosLinguagem de Programação
Linguagem de máquina
Linguagem natural
Linguagem de
programação
SimplicidadeLinguagem de alto nível
Linguagem de baixo
nível
Mais algumas definiçõesPrograma fonte
Código escrito na linguagem de programaçãoPrograma objeto
Código transformado linguagem de máquina sem ligação com códigos de bibliotecas e subprogramas
Programa executávelPrograma formado pela ligação dos objetos e
que pode ser executado pelo computador
Mais algumas definições
Programa fonte
Link editor
Compilador
Programa objeto
Programa executáve
l
Programa objeto
Programa objeto
...
Bibliotecas
Mais algumas definiçõesInterpretador
Programa fonte é lido, entendido e as instruções são executadas imediatamente
Exemplo Matlab Python
Mais algumas definiçõesEsquema básico
Esquema híbrido
Interpretador
Programa fonte
Saída
Entradas
Interpretador
Programa fonte
Saída
Entradas
Compilador
Programa objeto
PythonLinguagem interpretadaOrientação a objetoMultiplataformaGratuitoBiblioteca embutida extensaGrande variedade de aplicaçõesBoa documentaçãoGrande comunidade
Ambiente de trabalhoLinux
Python nativoWindows
Implementação pronta para baixar
Editor de textoPreferencialmente, com suporte a Python
Ambiente interativo Interação com o interpretador
Entendendo:Entre no terminalDigite pythonDigite
print ‘Hello World!’
help() quit
quit()
Executando um programa em PythonAbra um editor de texto
Digite print “Hello World!”
Abra novamente o terminalDigite
python meu_programa.py
ExercícioDescreva, em linguagem natural, um
algoritmo para:
1. Descobrir o valor máximo de uma lista
2. Calcular média de uma lista
3. Ordenar uma lista