A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Avançada Prof. Natalia Castro Fernandes

Apresentações semelhantes


Apresentação em tema: "Programação Avançada Prof. Natalia Castro Fernandes"— Transcrição da apresentação:

1 Programação Avançada Prof. Natalia Castro Fernandes
Mestrado em Telecomunicações – UFF 2º semestre/2012

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

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

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

5 Programação Aprendizado Persistência Dedicação

6 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?

7 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

8 10 regras básicas de programação

9 Indente o seu código

10 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

11 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

12 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

13

14 Algumas definições Programa Algoritmo Estruturas de dados Programa
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 Entrada Saída

15 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

16 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

17 Mais algumas definições
Programa fonte Compilador Programa objeto Link editor Programa executável ... Programa objeto Programa objeto Bibliotecas

18 Mais algumas definições
Interpretador Programa fonte é lido, entendido e as instruções são executadas imediatamente Exemplo Matlab Python

19 Mais algumas definições
Esquema básico Esquema híbrido Interpretador Programa fonte Saída Entradas Programa fonte Compilador Programa objeto Interpretador Saída Entradas

20 Python Linguagem interpretada Orientação a objeto Multiplataforma
Gratuito Biblioteca embutida extensa Grande variedade de aplicações Boa documentação Grande comunidade

21 Ambiente de trabalho Linux Windows Editor de texto Python nativo
Implementação pronta para baixar Editor de texto Preferencialmente, com suporte a Python

22 Ambiente interativo Interação com o interpretador Entendendo:
Entre no terminal Digite python Digite print ‘Hello World!’ help() quit quit()

23 Executando um programa em Python
Abra um editor de texto Digite print “Hello World!” Abra novamente o terminal python meu_programa.py

24 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


Carregar ppt "Programação Avançada Prof. Natalia Castro Fernandes"

Apresentações semelhantes


Anúncios Google