O documento compara a programação estruturada e orientada a objetos, destacando suas principais características e vantagens. A programação estruturada estrutura programas em sequência, decisão e iteração, enquanto a orientada a objetos é baseada na interação entre objetos através de mensagens. Ambos os paradigmas possuem vantagens como a reutilização de código.
2. Faça um comparativo entre a Programação
Estruturada e a Programação Orientada a Objetos
e cite as vantagens de cada uma.
A
O Paradigma Estruturado preconiza que todos os programas possíveis podem ser
reduzidos a apenas três estruturas: sequência, decisão e iteração. Tendo, na prática,
sido transformada na Programação modular, a Programação estruturada orienta os
programadores para a criação de estruturas simples em seus programas, usando as
sub-rotinas e as funções. Foi a forma dominante na criação de software entre a
programação linear e a programação orientada por objetos. Apesar de ter sido sucedida
pela programação orientada por objetos, pode-se dizer que a programação estruturada
ainda é marcantemente influente, uma vez que grande parte das pessoas ainda
aprendem programação através dela.
Vantagens:
Os problemas podem ser quebrados em vários subproblemas, a boa legibilidade e a boa
compreensão da estrutura deste paradigma motivam os programadores a iniciarem a
programação pelo modelo estruturado.
Desvantagens:
Os dados são separados das funções;
Mudanças na estrutura dos dados acarreta alteração em todas as funções
relacionadas. Gera sistemas difíceis de serem mantidos;
3. O Paradigma Orientado a Objetos é baseada na composição e interação
de diversas unidades de softwares denominados objetos. O
funcionamento de um software orientado a objetos se dá através do
relacionamento e troca de mensagens entre esses objetos. Esses objetos
são classes, e nessas classes os comportamentos são chamados de
métodos e os estados possíveis da classe são chamados de atributos.
Nos métodos e nos atributos também são definidas as formas de
relacionamento com outros objetos.
Vantagens:
Esse paradigma possui todas as vantagens do paradigma imperativo entre
outras: a alteração de um módulo não incorre na modificação de outros
módulos; quanto mais um módulo for independente, maior a chance dele
poder ser reutilizado em outra aplicação.
Desvantagens:
Por exigir formas de pensar relativamente complexas, a programação
orientada a objetos até hoje ainda não é bem compreendida ou usada pela
maioria.
https://fit.faccat.br/~guto/artigos/Artigo_Paradigmas_de_Programacao.pdf
http://www.youtube.com/watch?v=PQRjQPEEZi0
http://danielettinger.files.wordpress.com/2010/12/monografia.pdf
4. B
Quais são as principais características da
programação estruturada?
• Os programas são mais fácil de entender.
• Prevê um melhor controle sobre o fluxo de execução do código,
quando comparado com a programação imperativa.
• Os programas ficam melhores documentados internamente.
www.devmedia.com.br/introducao-a-programacao-estruturada/24951
www.criarweb.com/artigos/707.php
www.youtube.com/watch?v=PQRjQPEEZi0
5. C
Quais são as principais características da
programação orientada a objetos?
•
A principal característica da orientação a objeto é a forte interação entre
dados (objetos) e funções.
•
Encapsulamento (Separar em partes, facilidade de manutenção, crescer
com segurança, proteção de propriedades através do controle de
acesso - Public, private, protected)
•
Abstração (Reaproveitamento do código, herança, especialização)
http://www.slideshare.net/danielrpgj30/curso-de-programao-orientada-a-objetos
http://www.youtube.com/watch?v=RrTop5DTP0k
6. Explique a principal diferença e a principal
similaridade entre um procedimento e uma função
E
na programação.
Está no fato de que uma função obrigatoriamente retorna um valor
enquanto o procedimento não retorna, ou seja, ele apenas executa
uma ação.
Fonte:
http://www.inf.pucrs.br/~fldotti/lapro1/prfun.htm
http://www.slideshare.net/adrianots/estrutura-de-dados-aula-42
http://dicaspro.blogspot.com.br/2008/06/funo-e-procedimento.html
7. F
Explique o principio da modularização
aplicado na programação estruturada.
A modularização é um conceito onde o sistema ou software é divido
em partes distintas. E cada parte compõe uma função e o
ferramental necessário para um programa ser mais legível, com uma
melhor manutenção e melhor desempenho por meio da
programação estruturada.
Fonte:
http://quetalumprograma.wordpress.com/modularizacao/
http://www.paim.pro.br/hall/html/funcoes/modularizacao-1.htm
http://pt.wikipedia.org/wiki/Modularidade
12. I
Aplicando o princípio da especialização,
identifique uma classe e pelo menos três
subclasses que fariam parte dela.
Uma classe representa um conjunto de objetos que possuem atributos e
métodos em comuns, e a partir dela, podemos ter subclasses como na imagem:
http://sistemas.riopomba.ifsudestemg.edu.br/dcc/materiais/1662272077_POO.pdf
http://www.javaprogressivo.net/2012/10/Heranca-em-Javao-que-e--para-que-serve-exemplos--quando-usar.html
http://www.javaprogressivo.net/2012/10/Video-aula-sobre-Heranca-extends-e-Construtores-da-superclasse.html