(Microsoft PowerPoint - Programa\347\343o Avan\347ada)
(Microsoft PowerPoint - Programa\347\343o Avan\347ada)
(Microsoft PowerPoint - Programa\347\343o Avan\347ada)
- 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