220 likes | 325 Views
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.
E N D
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 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ção • Simplicidade • Busque sempre a solução mais simples • Manutenção de código • Compreensão do código • Comente o seu código • Utilize 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 • Use padrões de projeto • Não reinvente a roda • Vantagens • Desenvolvimento de código mais rápido • Utilização de código testado • Alta coesão e baixo acoplamento • Acoplamento = 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ção • 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 • Códigos repetitivos ou com função específica devem ser escritos como funções
10 regras básicas de programação • 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 • Faça um bom tratamento de erros • O Google é o seu melhor amigo
Algumas definições • Algoritmo • Método para solucionar um problema • Estruturas de dados • Método para organizar informações • Programa • (Algoritmos + estruturas de dados ) expressos com uma linguagem de programação Programa Saída Entrada
Linguagem de programação • Linguagem artificial com sintaxe e semântica bem definidos • Linguagem de Programação Linguagem de baixo nível Linguagem de alto nível Simplicidade Linguagem de máquina Linguagem de programação Linguagem natural
Mais algumas definições • Programa fonte • Código escrito na linguagem de programação • Programa objeto • Código transformado linguagem de máquina sem ligação com códigos de bibliotecas e subprogramas • Programa executável • Programa formado pela ligação dos objetos e que pode ser executado pelo computador
Mais algumas definições Programa fonte Compilador Link editor Programa objeto Programa executável ... Programa objeto Programa objeto Bibliotecas
Mais algumas definições • Interpretador • Programa fonte é lido, entendido e as instruções são executadas imediatamente • Exemplo • Matlab • Python
Mais algumas definições • Esquema básico • Esquema híbrido Interpretador Programa fonte Saída Entradas Interpretador Compilador Programa objeto Programa fonte Saída Entradas
Python • Linguagem interpretada • Orientação a objeto • Multiplataforma • Gratuito • Biblioteca embutida extensa • Grande variedade de aplicações • Boa documentação • Grande comunidade
Ambiente de trabalho • Linux • Python nativo • Windows • Implementação pronta para baixar • Editor de texto • Preferencialmente, com suporte a Python
Ambiente interativo • Interação com o interpretador • Entendendo: • Entre no terminal • Digite python • Digite • print ‘Hello World!’ • help() • quit • quit()
Executando um programa em Python • Abra um editor de texto • Digite • print “Hello World!” • Abra novamente o terminal • Digite • python meu_programa.py
Exercício • Descreva, em linguagem natural, um algoritmo para: • Descobrir o valor máximo de uma lista • Calcular média de uma lista • Ordenar uma lista