12.07.2015 Views

(Microsoft PowerPoint - Programa\347\343o Avan\347ada)

(Microsoft PowerPoint - Programa\347\343o Avan\347ada)

(Microsoft PowerPoint - Programa\347\343o Avan\347ada)

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Prof. Natalia Castro FernandesMestrado em Telecomunicações – UFF2º semestre/2012


Ementa do Curso Conceitos básicos de programação Orientação a objetos Linguagem Python Simulação com o NS-3 Programação para redes definidas por software (?)


Avaliação 2 provas – 40% da nota Trabalhos em sala – 20 % da nota Trabalho final – 40 % da nota


Por que programar? Dissertação de mestrado Realizar testes Fazer simulações Armazenar dados Analisar dados Gerar gráficos Desenvolver novos módulos Etc.;


Programação AprendizadoPersistênciaDedicação


Qual linguagem usar? A que melhor resolver o seu problema E se eu não sei qual é a melhor linguagem para resolvero 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 simplesManutenção de códigoCompreensão do código2. Comente o seu código Utilize variáveis com nomes intuitivosComente na instanciação a funcionalidade da variável, casonão seja absolutamente intuitivo Explique com comentários o porquê de suas escolhas empontos 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 roda VantagensDesenvolvimento de código mais rápidoUtilização de código testado5. Alta coesão e baixo acoplamento Acoplamento = Quão fortemente um elemento estáconectado, tem conhecimento ou depende de outroselementos Coesão = Quão estritamente um elemento está relacionado efocado com suas responsabilidades ConsequênciasEvite elementos que façam coisas demaisDefina 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 leituraTentar manter o código com até 3 níveis de indentação Divida o código em pequenas funções7. Códigos repetitivos ou com função específicadevem ser escritos como funções


10 regras básicas de programação8. Não faça o código todo para depois testarTeste suas funções antes de utilizá-lasComportamento normalLimites inferiores e superiores de entradas e saídasEntradas não esperadas9. Faça um bom tratamento de erros10. 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 umalinguagem de programaçãoEntradaProgramaSaída


Linguagem de programação Linguagem artificial com sintaxe e semântica bemdefinidos Linguagem de ProgramaçãoLinguagem debaixo nívelLinguagem dealto nívelSimplicidadeLinguagemde máquinaLinguagem deprogramaçãoLinguagemnatural


Mais algumas definições Programa fonte Código escrito na linguagem de programação Programa objeto Código transformado linguagem de máquina semligação com códigos de bibliotecas e subprogramas Programa executável Programa formado pela ligação dos objetos e que podeser executado pelo computador


Mais algumas definiçõesProgramafonteCompiladorProgramaobjetoLinkeditorProgramaexecutável...ProgramaobjetoProgramaobjetoBibliotecas


Mais algumas definições Interpretador Programa fonte é lido, entendido e as instruções sãoexecutadas imediatamente ExemploMatlabPython


Mais algumas definições Esquema básicoProgramafonteInterpretadorSaída Esquema híbridoEntradasProgramafonteCompiladorProgramaobjetoInterpretadorSaídaEntradas


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 Digiteprint ‘Hello World!’help() quitquit()


Executando um programa emPython Abra um editor de texto Digiteprint “Hello World!” Abra novamente o terminal Digitepython meu_programa.py


Exercício Descreva, em linguagem natural, um algoritmo para:1. Descobrir o valor máximo de uma lista2. Calcular média de uma lista3. Ordenar uma lista

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!