Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Elementos de Programação PDF
Apostila Elementos de Programação PDF
EDIO N 1 - 2007
Gesto e Execuo
Contedo e Tecnologia
Elementos de Programao
SUMRIO
AULA 1 - MANIPULAO DE ARRAYS....................................................................9
AULA 2 - TRABALHANDO COM REGISTROS........................................................21
AULA 3 - PROGRAMAO ORIENTADA A OBJETOS..........................................30
AULA 4 - INTRODUO A UML...............................................................................42
Elementos de Programao
Apresentao
Este livro didtico contm a disciplina de Elementos de Programao.
O material apresenta aos alunos do EAD um passo adiante na construo de
programas para computador. Voc ser submetido a um novo desafio: obter os
conhecimentos mais atuais para o desenvolvimento de sistemas e principalmente
ampliar o grande nmero de informaes para um bom desempenho como
programador.
Voc poder concluir que atualmente a atividade de programar computadores
uma tarefa ampla, atravs de uma abordagem cada vez mais multidisciplinar e
exigindo do profissional uma viso cada vez mais integrada de todos os elementos
envolvidos.
O principal objetivo deste curso voc obter esta viso ampla (alguns
autores referem-se viso holstica). Sero apresentados aspectos importantes que
faro uma composio estruturada para uma programao mais poderosa.
importante ressaltar que o livro foi desenvolvido com o objetivo de oferecer
um aprendizado independente, que est inerente aos estudos do EAD, e o contedo
foi revisado com o intuito de oferecer uma linguagem simples, objetiva e estimulante.
Lembre-se que a sua passagem por esta disciplina ser tambm
acompanhada pelo Sistema de Ensino Tupy Virtual, seja por correio postal, fax,
telefone, e-mail ou Ambiente Virtual de Aprendizagem.
Sempre entre em contato conosco quando surgir alguma dvida ou
dificuldade.
Elementos de Programao
Elementos de Programao
Carta do Professor
A programao de computadores divertida. Algumas vezes a
programao uma cincia elegante. Ela tambm sobre a
construo e o uso de novas ferramentas de software. A
programao tambm sobre pessoas: qual o problema que
realmente o meu cliente espera que eu resolva? Como eu
posso fazer isso mais fcil, para que os usurios se
comuniquem com o meu programa? A programao tambm me
leva a aprender tpicos desde a qumica orgnica at as
campanhas de Napoleo.
(Bentley, 1988)
Caro aluno,
com esta mensagem que eu desejo iniciar este novo mdulo. Voc estar
aqui, significa que j superou os primeiros passos na programao de computadores
e concluiu que no to complexa como os outros comentavam. Na verdade,
assim como outras atividades em nossa vida, a programao de computadores
tornou-se uma cincia elegante, ou seja, possui uma maturidade que nos favorece
aprender e criar solues poderosas.
Nas primeiras duas aulas deste curso, faremos um avano na lgica de
programao, aprendendo a trabalhar com arrays e tambm sobre registros. Esses
dois assuntos ampliam a forma como trabalhamos com variveis em nossos
programas e permite solues especficas para problemas estruturados mais
complexos. A terceira aula que possui uma caracterstica especial: voc ter o
primeiro contato com uma nova abordagem na construo de programas, a
programao orientada a objetos. Esse assunto recebe uma aura de grande
importncia diante dos desafios atuais, mas amplifica as preocupaes dos
iniciantes em programao, j que fornece um novo enfoque na interpretao e
construo de programas.
Elementos de Programao
Elementos de Programao
Cronograma de Estudo
Acompanhe no cronograma abaixo os contedos das aulas, e atualize as
possveis datas de realizao de aprendizagem e avaliaes.
Semana
Carga horria
Aula
Data / Avaliao
_/_ a _/_
_/_ a _/_
Programao Orientada a
Objetos
_/_ a _/_
Programao Orientada a
Objetos (cont.)
_/_ a _/_
16
Introduo UML
_/_ a _/_
Elementos de Programao
Plano de Estudos
Ementa
Continuidade do curso de Lgica de Programao. Arrays, vetores e matrizes.
Trabalhar com registros. Programao orientada a objetos, aspectos iniciais e
elementos fundamentais. Introduo UML e representao grfica de solues
baseadas em objetos. Programao Visual e componentes grficos para a
construo de sistemas.
Objetivos da Disciplina
Geral
Continuar os conhecimentos sobre lgica de programao;
Compreender as bases da programao orientada a objetos;
Obter uma viso geral sobre a notao UML;
Conhecer o processo e os componentes na programao visual de sistemas
Especficos
Aprender como trabalhar com estruturas de programao, com parte das
solues baseadas em programao estruturada;
Conhecer os elementos principais do desenvolvimento de sistemas orientados
a objetos, principalmente no que se refere s formas diferentes para a
composio de solues baseadas em computador;
Entender e conhecer como um programa orientado a objeto emprega os
elementos programao e quais seus benefcios em relao programao
estruturada;
Aprender os componentes bsicos para a modelagem de sistemas usando a
UML.
.
Carga Horria: 40 horas.
Elementos de Programao
Aula 1
MANIPULAO DE ARRAYS
Objetivos da aula
Ao final desta aula, voc dever ser capaz de:
multidimensionais (matrizes);
Contedos da aula
Acompanhe os assuntos desta aula, se preferir, ao terminar,
assinale o contedo j estudado.
Arrays
Arrays Multidimensionais
10
Elementos de Programao
11
Elementos de Programao
12
Elementos de Programao
13
Elementos de Programao
14
Elementos de Programao
15
Elementos de Programao
3 ARRAYS MULTIDIMENSIONAIS
At agora vimos como trabalhar com um grande volume de dados usando
arrays unidimensionais (ou vetores). Mas em alguns casos, apenas uma dimenso
no suficiente para representar adequadamente a informao no algoritmo. Alm
disso, comum desejarmos associar as informaes para a comparao de dados.
Veja o exemplo que podemos ter (tabela 1):
Tabela 1 Associao de informaes para comparao de dados
Vendas Janeiro
Vendas Fevereiro
$ 1.000,00
$ 1.100,00
$ 2.500,00
$ 2.200,00
16
Elementos de Programao
17
Elementos de Programao
4.3 PROCEDIMENTO
1. Executar o software Portugol;
2. Apague a linha escrever "PORTUGOL IDE
6-12-2006";
4. Declare as variveis:
variavel inteiro idades [ 10 ] , contar , total , acima , abaixo
variavel real media
5. Inicialize as variveis
total <- 0
acima <- 0
abaixo <- 0
18
Elementos de Programao
proximo
19
Elementos de Programao
SNTESE
Nesta aula realizamos o primeiro passo para o desenvolvimento de solues
mais complexas. O uso de arrays uma abordagem muito comum, principalmente
em solues que exigem o tratamento de um grande volume de informaes, apesar
de que tambm comum seu uso em pequenas solues.
Veja que o array estende as capacidades de manipulao de dados na
linguagem e uso, e sua utilizao facilita no tratamento de informaes de forma
estruturada.
O conhecimento em estruturas mais complexas apenas comeou.
Vamos em frente!
20
Elementos de Programao
EXERCCIOS PROPOSTOS
1)
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________
2)
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________
3)
___________________________________________________________________
___________________________________________________________________
_______________
21
Elementos de Programao
Aula 2
Contedos da aula
Acompanhe os assuntos desta aula, se preferir, ao
terminar, assinale o contedo j estudado.
22
Elementos de Programao
Nome
Endereo
Campos
Bairro
Cidade
Estado
Idade
Salvar
Cancelar
23
Elementos de Programao
24
Elementos de Programao
25
Elementos de Programao
26
Elementos de Programao
27
Elementos de Programao
28
Elementos de Programao
SNTESE
O conceito de variveis compostas um instrumento de grande importncia
na programao de computadores. Primeiro, porque o uso permite realizar um
conjunto de tarefas de forma rpida e organizada; segundo, porque permite o
armazenamento de informaes de diferentes tipos de dados.
Varivel composta , na verdade, uma ampliao das capacidades de um
array, este permite o armazenamento de informaes apenas do mesmo tipo; aquela
(varivel composta ou registro) permite o armazenamento de informaes com tipos
de dados diferentes. Como o processamento das informaes realizado na
memria RAM do computador, sua utilizao permite um nvel de resposta de
processamento altamente performtico.
Ficamos aqui com o final dos tpicos relacionados programao
estruturada.
Prepare-se que, na prxima aula, voc ter contato com uma nova
abordagem de programao, muito poderosa e uma resposta para as
complexidades atuais dos negcios.
Fique firme na obteno desse conhecimento e nos encontramos na prxima
aula. At l.
29
Elementos de Programao
EXERCCIOS PROPOSTOS
1) Apresente quatro exemplos de aplicao de variveis compostas.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________
30
Elementos de Programao
Aula 3
PROGRAMAO ORIENTADA A
OBJETOS
Objetivos da aula
Ao final desta aula, voc dever ser capaz de:
Contedos da aula
Acompanhe os assuntos desta aula, se preferir, ao
termino, assinale o contedo j estudado.
O que a programao orientada a objetos?
O desafio da OOP
A histria da OOP
Terminologia
Vantagens e Desvantagens
Prezado(a) aluno(a),
com grande satisfao que lhe dou boas-vindas a
um assunto to instigante: a programao orientada a objetos.
Procuraremos, nessa aula, oferecer-lhe uma viso geral do mtodo
de programao e buscaremos fazer com que perceba as vantagens
de sua adoo. Espero que voc se sinta motivado a absorver estes
assuntos to relevantes para suas atividades como profissional.
Novamente, bem-vindo(a) e bons estudos.
31
Elementos de Programao
32
Elementos de Programao
33
Elementos de Programao
34
Elementos de Programao
35
Elementos de Programao
4 TERMINOLOGIA
4.1 ABSTRAO DE DADOS
Um recurso que recebeu destaque na OOP chama-se programao com tipos
de dados abstratos cujos tipos fornecem a implementao dos conceitos da OOP,
chamados encapsulamento e modularidade.
Como vimos anteriormente, os tipos de dados so utilizados como uma
operao comum na programao de computadores. Na declarao de uma
varivel, definimos o tipo de dados para armazenamento, delimitando, dessa forma,
o conjunto de valores que podem ser armazenados.
As linguagens de programao oferecem um conjunto de tipos de dados
bsicos e pr-definidos (tambm chamados de tipos primitivos), mas algumas
linguagens oferecem a construo de tipos especficos e complexos, so as
variveis compostas heterogneas que vimos na segunda aula do mdulo. Esse tipo
de dado complexo abstrai os dados armazenados na varivel.
Na OOP cria-se um novo tipo de dado chamado objeto, que pode conter, alm
de atributos especficos, dados e procedimentos embutidos. Nesse tipo de dado, o
programador se preocupa apenas em saber como utilizar os recursos disponveis
pelo objeto, sem a necessidade de saber como o objeto foi construdo e como
funciona os procedimentos internos.
Com essa abordagem, conseguimos obter uma verdadeira abstrao de
dados, ou seja, o usurio conhece apenas o necessrio para seu uso, sem precisar
conhecer detalhes complexos do objeto.
36
Elementos de Programao
4.2 ENCAPSULAMENTO
A abordagem de programao usando tipos de dados abstratos inclui o
conceito de encapsulamento que, basicamente, esconde e protege as
informaes contidas no objeto. O encapsulamento consiste em ocultarmos ao
usurio o funcionamento interno de uma classe.
4.3 OBJETOS
Os objetos so reconhecidos como uma entidade autnoma que combina a
representao da informao (estruturas de dados) e meios de sua manipulao
(procedimentos), uma vez que possuem capacidade de processamento e
armazenam um estado local, usando variveis encapsuladas no objeto.
Um objeto composto de:
4.4 MENSAGENS
Um objeto sozinho no muito til e geralmente aparece como componente de
um grande programa que contm muitos outros objetos. Pela interao desses
objetos, pode-se obter uma grande funcionalidade e comportamentos mais
complexos. Objetos de software interagem e comunicam-se com os outros por
mensagens, formadas por trs componentes bsicos:
Elementos de Programao
37
4.5 MTODOS
Um mtodo implementa algum aspecto do comportamento do objeto.
Comportamento a forma como um objeto age e reage, em termos das suas trocas
de estado e troca de mensagens.
Um mtodo uma funo ou procedimento definido na classe e tipicamente
pode acessar o estado interno de um objeto da classe para realizar alguma
operao.
4.6 CLASSES
Objetos de estrutura e comportamento idnticos so descritos como
pertencendo a uma classe, de tal forma que a descrio de suas propriedades pode
ser feita de uma s vez, de forma concisa, independente do nmero de objetos
idnticos em termos de estrutura e comportamento que possam existir em uma
aplicao. A noo de um objeto equivalente ao conceito de uma varivel em
programao convencional, pois especifica uma rea de armazenamento, enquanto
a classe vista como um tipo abstrato de dados, uma vez que representa a
definio de um tipo.
Cada objeto criado, a partir de uma classe, denominado de instncia dessa
classe. Uma classe prov toda a informao necessria para construir e utilizar
objetos de um tipo particular, ou seja, descreve a forma da memria privada e como
se realizam as operaes das suas instncias. Os mtodos residem nas classes,
uma vez que todas as instncias de uma classe possuem o mesmo conjunto de
mtodos, a mesma interface.
4.7 HERANA
O mecanismo de herana permite a reutilizao das propriedades de uma
classe na definio de outra. A classe mais generalizada chamada superclasse e a
mais especializada, subclasse.
38
Elementos de Programao
4.8 POLIMORFISMO
Polimorfismo refere-se capacidade de dois ou mais objetos responderem
mesma mensagem, cada um a seu prprio modo. A utilizao da herana torna-se
fcil com o polimorfismo.
4.9 SIMILARIDADES ENTRE A PROGRAMAO ESTRUTURADA E A OOP
possvel identificarmos similaridades entre a programao estruturada e a
programao orientada a objetos, com o objetivo de facilitar o entendimento do
conceitos de OOP, observe a tabela 2:
Tabela 2 Comparao bsica entre Programao Estruturada e OOP
Programao Estruturada
OOP
Tipos de dados
Classes
Varivel
Objetos
Funo/Procedimento
Operao/Mtodo
Chamada de funo
Envio de mensagem
39
Elementos de Programao
Microsoft, cuja verso atual, baseada em .NET, oferecia formas de construo que
se utilizavam de conceitos baseados em objetos, mas no havia na linguagem
suporte aos padres que a OOP oferece. Esse tipo de linguagem e mtodo de
programao conhecido como programao orientada a eventos.
As linguagens mais populares que suportam efetivamente a programao
orientada a objetos so: Java (Pura), C++ (Hbrida), SmallTalk (Pura), Object Pascal
(Pura) e C# (Pura). As linguagens consideradas puras, no suporte OOP,
nasceram com base nos padres da OOP e as linguagens consideradas hbridas
so linguagens que nasceram no modelo de programao estruturada e evoluram
para suportar os recursos da OOP.
SNTESE
Nesta aula voc percebeu a dimenso da programao orientada a objetos.
uma abordagem atual e que atende s demandas atuais do mundo globalizado.
O primeiro assunto que abordamos procurou lhe fornecer a percepo das
diferenas entre a programao estruturada e a programao orientada a objetos. A
programao estruturada possui limitaes para os desafios atuais porque:
Modular;
Extensvel;
40
Elementos de Programao
Reutilizvel;
41
Elementos de Programao
42
Elementos de Programao
Aula 4
INTRODUO A UML
Objetivo da Aula
Ao final desta aula, voc dever ser capaz de:
Contedo da Aula
Acompanhe os assuntos desta aula, se preferir, ao
terminar, assinale o contedo j estudado.
O que UML?
43
Elementos de Programao
orientada a objetos.
Desejo-lhe uma excelente aula.
1 PORQUE MODELAR APLICAES
Diante da quantidade de detalhes e conhecimentos que o programador precisa
manter em mente, podemos afirmar que, semanalmente, novas tecnologias e
recursos so disponibilizados pela indstria de software, fazendo com que a
experincia e o conhecimento fiquem obsoletos com grande velocidade e facilidade.
Modelar uma soluo para um sistema de computador tem como principal
finalidade simplificar a realidade (Pencer, 2002), ou seja, fornecer uma
representao visual da interpretao de um problema. O ditado popular que uma
imagem vale mais que mil palavras a afirmativa que nos remete necessidade da
modelagem de aplicaes.
Diante das complexidades atuais do mundo dos negcios e da amplitude que
um programa de computador pode atingir, fundamental a adoo de uma
representao visual da soluo. O modelo de uma aplicao para computador
oferece a mesma importncia de um projeto de arquitetura para a construo civil. A
aplicao modelada ser um ingrediente fundamental nas relaes entre os
profissionais envolvidos na construo do programa, desde o cliente que solicitou a
soluo at os programadores que efetivamente iro desenvolv-la.
Devemos ainda ressaltar que, no caso de um programa de computador, vrios
pontos de vista so necessrios para compreender o modelo apresentado. Dessa
forma, significa que um modelo nunca suficiente e podemos utilizar vrios modelos
visuais conectados entre si, para tornar possvel entender qualquer aspecto do
sistema.
1.1 COMPONENTES DE UM MODELO COMPUTACIONAL
A importncia da modelagem de um sistema est baseada nos seguintes
elementos: visualizao, especificao, construo e documentao (Pencer, 2002).
44
Elementos de Programao
45
Elementos de Programao
Os modelos fornecem uma linguagem comum que poder ser utilizada por
vrios profissionais, contendo vrios pontos de vista, mas mantendo uma
viso ampla do sistema todo.
46
Elementos de Programao
47
Elementos de Programao
48
Elementos de Programao
49
Elementos de Programao
Viso
de
Processo:
fornece
as
informaes
relacionadas
ao
50
Elementos de Programao
51
Elementos de Programao
52
Elementos de Programao
Basicamente,
esses
dois
diagramas
descrevem
53
Elementos de Programao
54
Elementos de Programao
Vrios
autores
buscam
apresentar
vises
mais
claras
sobre
os
55
Elementos de Programao
56
Elementos de Programao
57
Elementos de Programao
58
Elementos de Programao
59
Elementos de Programao
SNTESE
Com certeza a UML um assunto amplo, que exige dedicao e estudo
especfico e dedicado. Nesta aula tivemos por principal meta lhe oferecer uma ampla
viso da modelagem de sistemas usando a UML, apresentando um nvel genrico
de detalhes de sua implementao.
Reforo que uma notao importante, muito utilizada atualmente,
independente das plataformas de tecnologias envolvidas. Lembre-se de que a UML
um padro para a modelagem de aplicaes e o conhecimento aqui adquirido
poder servir como base para participao de projetos de sistemas orientados a
objetos.
Modelos so normalmente representados por representaes grficas,
usando algum tipo de notao, que define um conjunto de regras na forma de
smbolos grficos e conexes visuais. O principal objetivo dos modelos facilitar o
entendimento da estrutura complexa de um sistema.
Usando modelos tambm conseguimos obter consistncia durante o processo
de desenvolvimento, pois estabelecem padres que sero mantidos durante todo o
tempo do projeto. Isso particularmente importante, pois a comunicao entre os
participantes de uma equipe um dos principais fatores de insucesso de um projeto
de software.
A UML (Unified Modeling Language) uma notao para a construo de
solues orientadas a objetos e consiste em um conjunto de diagramas que
representam diferentes vises do projeto de software.
Nesta aula obtivemos uma viso geral sobre a UML e seus componentes.
Voc pde perceber as vantagens e as facilidades que a notao oferece. Perceba
ainda que toda proposta da UML baseia-se em modelos interdependentes, que
fornecem elementos visuais facilitadores do entendimento e da conduo de um
projeto de software.
Chegamos ao final de mais um mdulo. Espero que voc tenha atingido seus
objetivos e que utilize os conhecimentos aqui apresentados como um apoio para
evoluir o seu domnio sobre o processo de desenvolvimento de sistemas.
Um grande abrao e at a prxima.
Prof. Larcio da Cruz Loureiro
60
Elementos de Programao
EXERCCIOS PROPOSTOS
1) Apresente os mtodos principais que deram a origem para a UML.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________
2)
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________
3)
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________
61
Elementos de Programao
REFERNCIAS
FORBELLONE, A. e EBERSPACHER, H. Lgica de programao: a construo
de algoritmos e estrutura de dados. 2.ed. So Paulo: Makron Books, 2000.
GILLEANES T. A. GUEDES. UML: uma abordagem prtica. So Paulo: Novatec,
2004.
GRADY BOOCH, JAMES RUMBAUGH E IVAR JACOBSON. UML: Guia do
usurio. Rio de Janeiro: Campus, 2005.
JIM KEOGH, MARIO GRANNINI. OOP desmistificado - programao orientada a
objetos. Rio de Janeiro: Altabooks, 2005.
LAFORE, ROBERT. Aprenda em 24 horas estrutura de dados e algoritmo. Rio
de Janeiro: Campus, 1999.
SINTES, ANTHONY. Aprenda em 21 dias programao orientada a objetos. So
Paulo: Makron Books, 2002.
TOM PENDER. Livro UML a bblia. Rio de Janeiro: Campus / Elsevier, 2004.
VILLAS, MARCOS VIANNA. Estruturas de dados - conceitos e tcnicas de
implementao. Rio de Janeiro: Campus BB, 1999.