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
![Page 1: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/1.jpg)
Programação em Python
Prof. Natalia Castro FernandesEngenharia de Telecomunicações – UFF
2º semestre/2012
![Page 2: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/2.jpg)
Por que programar?Realizar testesFazer simulaçõesArmazenar dadosAnalisar dadosGerar gráficosDesenvolver novos módulosEtc.;
![Page 3: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/3.jpg)
ProgramaçãoAprendizado
Persistência
Dedicação
![Page 4: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/4.jpg)
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?
![Page 5: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/5.jpg)
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
![Page 6: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/6.jpg)
10 regras básicas de programação
![Page 7: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/7.jpg)
3. Indente o seu código
![Page 8: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/8.jpg)
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
![Page 9: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/9.jpg)
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
![Page 10: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/10.jpg)
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
![Page 11: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/11.jpg)
![Page 12: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/12.jpg)
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
![Page 13: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/13.jpg)
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
![Page 14: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/14.jpg)
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
![Page 15: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/15.jpg)
Mais algumas definições
Programa fonte
Link editor
Compilador
Programa objeto
Programa executáve
l
Programa objeto
Programa objeto
...
Bibliotecas
![Page 16: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/16.jpg)
Mais algumas definiçõesInterpretador
Programa fonte é lido, entendido e as instruções são executadas imediatamente
Exemplo Matlab Python
![Page 17: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/17.jpg)
Mais algumas definiçõesEsquema básico
Esquema híbrido
Interpretador
Programa fonte
Saída
Entradas
Interpretador
Programa fonte
Saída
Entradas
Compilador
Programa objeto
![Page 18: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/18.jpg)
PythonLinguagem interpretadaOrientação a objetoMultiplataformaGratuitoBiblioteca embutida extensaGrande variedade de aplicaçõesBoa documentaçãoGrande comunidade
![Page 19: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/19.jpg)
Ambiente de trabalhoLinux
Python nativoWindows
Implementação pronta para baixar
Editor de textoPreferencialmente, com suporte a Python
![Page 20: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/20.jpg)
Ambiente interativo Interação com o interpretador
Entendendo:Entre no terminalDigite pythonDigite
print ‘Hello World!’
help() quit
quit()
![Page 21: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/21.jpg)
Executando um programa em PythonAbra um editor de texto
Digite print “Hello World!”
Abra novamente o terminalDigite
python meu_programa.py
![Page 22: Programação em Python](https://reader036.vdocuments.pub/reader036/viewer/2022062305/56814ff8550346895dbdc1f8/html5/thumbnails/22.jpg)
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