Metodologia e Linguagem de Programação - 2015.1 - Aula 1

958 visualizações

Publicada em

Metodologia e Linguagem de Programação - 2015.1 - Aula 1

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
958
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
29
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Metodologia e Linguagem de Programação - 2015.1 - Aula 1

  1. 1. Metodologia e Linguagem de Programação Prof.º Thyago Maia 2015.1
  2. 2. Objetivos Aula 1: Introdução • Apresentar a disciplina • Apresentar o conceito de “Paradigma de Programação“ • Apresentar os principais paradigmas de programação 2
  3. 3. Apresentação
  4. 4. Apresentação • Professor: Thyago Maia Tavares de Farias – Doutorando em Computação pelo CIn / UFPE – Mestre em Informática pelo PPGI / DI / UFPB – Bacharel em Ciência da Computação – UFPB – Currículo Lattes: http://lattes.thyagomaia.net – E-Mail: contato@thyagomaia.com 4
  5. 5. Apresentação • Foco da disciplina  Apresentar o paradigma de orientação a objetos como uma técnica para elaboração de projetos e implementação de sistemas de softwares de qualidade;  Introduzir o suporte ferramental relacionados à linguagem de programação Java; 5
  6. 6. Apresentação • Avaliações (3 estágios): – 1º estágio: • Prova (50% discursiva, 50% prática) (0 a 10 pontos); – 2º estágio: • Prova (50% discursiva, 50% prática) (0 a 10 pontos); – 3º estágio: • Prova (50% discursiva, 50% prática) (0 a 10 pontos); – Média Final: (Maior nota (1º ou 2º estágio) + Nota do 3º Estágio) / 2; 6
  7. 7. Apresentação • Ausência em Provas, Final e Presença – Ausência em Provas: • O aluno só poderá se ausentar em uma das duas primeiras atividades (1º ou 2º estágio); • A presença será obrigatória na prova do 3º estágio; • Não há provas de reposição de estágio; – Final: • Prova (50% discursiva, 50% prática) (0 a 10 pontos); • Todo o conteúdo dos três estágios; – Presença • Limite de faltas: 20 horas (10 aulas); 7
  8. 8. Apresentação • Unipê Virtual (Ferramenta de Educação a Distância) – Material da disciplina (Slides, notas de aula, indicação de livros, etc.); – Divulgação e submissão das práticas em laboratório (exercícios de fixação e de avaliação); – Ferramenta para comunicação oficial (avisos, lembretes, divulgação de datas, divulgação de notas, etc.); – http://academico.unipe.br 8
  9. 9. Apresentação • Sites auxiliares: – http://facebook.com/profthyagomaia – http://twitter.com/thyagomaia – http://www.slideshare.net/thyagomaia 9
  10. 10. Apresentação • Software que será utilizado no curso: – Eclipse IDE (a partir do 2º estágio) • http://www.eclipse.org 10
  11. 11. Apresentação • Para ter sucesso na disciplina: – Procure estar presente em todas as aulas • Alguns exercícios poderão valer pontos para a nota de um determinado estágio! – Se faltou, visite o sistema acadêmico e cheque o material da aula que você perdeu; – Dúvidas? Entre em contato através das ferramentas de comunicação do sistema acadêmico (chat, fórum, mensagens, etc.); – Pratique... Pratique... Pratique... 11
  12. 12. Paradigmas de Programação
  13. 13. Paradigmas de Programação  Uma linguagem de programação (LP) = Notação formal para descrição de algoritmos em um computador;  É necessário entender as organizações das LP, com ênfase na compreensão dos seus conceitos abstratos e dos seus elementos de representação; 13
  14. 14. Paradigmas de Programação  Cada LP pode se relacionar com um método de projeto específico;  Cada linguagem de programação pode forçar um certo estilo de programação;  Tais estilos são chamados de paradigmas de programação; 14
  15. 15. Paradigmas de Programação  Principais paradigmas:  Programação Procedural  Programação Funcional  Programação Declarativa  Programação Orientada a Objetos 15
  16. 16. Paradigmas de Programação  Programação Procedural (Estruturado):  Estilo de programação convencional (descrita no aprendizado em algoritmos);  Programas são decompostos em “passos” de processamento;  Rotinas são usadas na modularização de passos específicos;  Ex.: Pascal e C; 16
  17. 17. Paradigmas de Programação  Programação Procedural: 17 program Teste; var a, b:integer; begin writeln('Digite um número para 7'); readln(a); writeln('Digite o número para 6'); readln(b); if (a > b) then { Se 7 é maior que 6 então } writeln('7 é maior que 6') else { Senão… } if (a < b) then writeln('6 é maior que 7') else writeln('6 é igual à 7'); end.
  18. 18. Paradigmas de Programação  Programação Funcional:  Tem origem na teoria de funções matemáticas;  Processamento através de expressões e funções;  Ex.: ML, Scheme e LISP; 18
  19. 19. Paradigmas de Programação  Programação Funcional (Ex.: LISP): 19 (defun fatorial (n) (do ((i n (- i 1)) (resultado 1 (* resultado i))) ((= i 0) resultado)))
  20. 20. Paradigmas de Programação  Programação Declarativa:  Uma descrição declarativa substitui a decomposição de instrução em “passos”;  São similares a uma especificação;  Ex.: PROLOG, OPS5 E CLIPS; 20
  21. 21. Paradigmas de Programação  Programação Declarativa (Ex.: PROLOG): 21 hanoi(N) :- move(N, left, center, right). move(0, _, _, _) :- !. move(N, A, B, C) :- M is N-1, move(M, A, C, B), inform(A, B), move(M, C, B, A). inform(X, Y) :- write('move a disc from the '),write(X), write(' pole to the '), write(Y), write(' pole'), nl.
  22. 22. Paradigmas de Programação  Programação Orientada a Objetos:  Enfatiza a definição de classes de objetos;  Objetos são estruturas de dados contendo lógica;  Objetos interagem a partir da troca de mensagens;  Ex.: Smalltalk, Eiffel e Java; 22
  23. 23. Exemplo de aplicação de dois paradigmas (Estruturado e OO)
  24. 24. Exemplo  Problema: Faça uma classe Java que lê as medidas dos lados de um retângulo e escreve sua área e perímetro. 24
  25. 25. Solução usando o paradigma estruturado 25
  26. 26. Solução usando o paradigma orientado a objeto  O paradigma OO propõe que a solução de qualquer problema pode ser obtida seguindo estas etapas:  Procurar classes existentes no problema;  Determinar as características e responsabilidades de cada classe;  Instanciar objetos de cada classe;  Estabelecer como ocorrerá a interação entre os objetos; 26
  27. 27. Solução usando o paradigma orientado a objeto  Para o problema em questão, podemos definir as classes Retângulo e Janela (que será a classe que irá obter os dados solicitados e gerenciar os objetos); 27
  28. 28. Solução usando o paradigma orientado a objeto 28
  29. 29. Solução usando o paradigma orientado a objeto 29
  30. 30. Solução usando o paradigma orientado a objeto 30
  31. 31. Solução usando o paradigma orientado a objeto 31
  32. 32. Explore o assunto!
  33. 33. Explore o assunto! • Referências – ASCENCIO, A. F. G., CAMPOS, E. A. V. Fundamentos da Programação de Computadores : Algoritmos, Pascal, C/C++ e Java - 2. ed. / 2008 - São Paulo (SP): Pearson Prentice Hall, 2008. 33
  34. 34. Explore o assunto! • Referências – MANSOOUR, I. H. Paradigmas de Linguagens I. [Internet]. [citado em 2014 Feb 04]. Disponível em: https://www.inf.pucrs.br/~gustavo/disciplinas/pli/ material/paradigmas-aula12.pdf. 34

×