Logica Da Programaçao
Logica Da Programaçao
Logica Da Programaçao
1. Introdução
Para que uma pessoa possa trabalhar com sistemas e programas, ela precisa utilizar-se de
lógica de programação. Segundo Moraes (2000), lógica de programação consiste na técnica
de encadear pensamentos para atingir determinado objetivo. Esse artigo visa demonstrar a
utilização da lógica de programação na resolução de problemas, com uma apresentação das
formas utilizadas para representá-la no capítulo seguinte.
A lógica de programação tem como função a resolução de problemas, então uma boa forma
de praticar é utilizá-la na resolução de problemas do cotidiano. Um exemplo seria retirar
um objeto de uma caixa fechada e depois fechá-la, os passos seriam abrir a caixa; retirar o
objeto de dentro da caixa; fechar a caixa. Observa-se que existe uma ordem para resolver
determinado problema: eu não poderia retirar o objeto da caixa antes de abri-la.
Vale ressaltar a importância de passar a lógica no papel para o desenvolvimento da mesma.
Como exemplo será utilizado um programa que se aprende a fazer na escola, conhecido
como Máximo Divisor Comum ou MDC:
MDC de a e b
1 se b = 0, então o MDC de a e b é a
2 caso contrário, o MDC de a e b é igual o MDC de b e o resto da divisão
de a por b
É possível não compreender a lógica acima, no entanto na escola se aprende a fazer essa
conta no caderno que não é nada mais que lógica de programação no papel. Com a prática
consegue-se fazer a conta de cabeça, ou seja, dominou a lógica daquele programa.
No último exemplo pode-se notar a utilização da instrução “se” e caso contrário (“senão”)
além da “é igual” . Essas instruções são uma das formas mais comuns de representar a
lógica de programação, que será visto logo a seguir.
3. Representando a Lógica
A estrutura de decisão é composto por instruções que fazem com que o programa proceda
de uma ou outra maneira, de acordo com decisões baseadas em função dos dados ou
resultados anteriores. As estruturas de decisão mais utilizadas são “Se Então”, “Se Então
Senão” e “Caso Selecione”.
A estrutura “Se Então” é sucedida por um comando, se a condição é satisfeita então o
comando será executado. Como exemplo, um dado algoritmo é utilizado para determinar se
um número é par em linguagem hipotética.
Diagramas de blocos é uma forma eficaz de representar os passos lógicos, permitindo uma
fácil visualização do fluxo de um algoritmo. Um diagrama é composto por uma seqüência
de símbolos padronizados e bem definidos. No exemplo acima é possível observar três
deles.
Outros símbolos serão apresentados nesse artigo de acordo com o momento que eles
aparecerem.
A próxima estrutura de decisão a ser apresentada é a “Se Então Senão”. A diferença dessa
estrutura com a anterior é que um comando também é executado quando a condição não for
cumprida. Utilizando o exemplo anterior, agora caso a divisão por dois não tiver resto zero
o número em questão será ímpar.
Em diagrama:
Agora em diagrama:
4. UML
A UML é uma linguagem para a modelagem de sistemas sejam eles de baixo, médio ou de
alta complexidade. Sua estrutura é formada em grande parte de elementos da programação
orientada a objetos como classes, pacotes, herança, entre outros. Apesar disso a UML não é
restrita ao território das linguagens orientadas a objeto, podendo ser utilizado para os mais
diversos projetos, como os de programação paralela e modelando também sistemas
transacionais.
4.1 Histórico da UML
Até algum tempo atrás o que dominava as linguagens era o paradigma estruturado, o qual
basicamente é composto de três estruturas: seqüência, repetição e seleção. No meio da
década de 80 a situação começa a se inverter, com o mecado começando a adotar o
paradigma orientado a objetos, o qual é consolidado na década de 90.
Para se projetar sistemas baseados em tal paradigma, surgem diversas metodologias. Uma
delas foi criada por James Rumbaught que se destacava na anáise orientada a objeto. Outra
surgiu devido a Grady Booch, que era melhor para o projeto orientado a objetos. Após o
lançamento destas duas metodologias, os autores tentarem se unir para fazer uma
metodologia unificada. Para auxiliar esta tarefa Ivar Jacobson, criador da engenharia de
software orientada a objetos se juntou a eles.
Em 1997 os três completaram um esboço (draft) da UML 1.0 e mandaram para a OMG,
organização que lida com a definição de metodologias orientadas a objeto. Neste mesmo a
especificação foi adotada e aos poucos ela se consolidou como a metodologia dominante
para a maior parte dos projetos de software existentes.
Para que um sistema de software seja corretamente escrito a UML emprega diversos tipos
de diagramas, cada um com um propósito específico. Estes diversos tipos de diagramas
totalizam 13 e são divididos em três categorias: Estrutura, Comportamento e Interação.
Diagramas de estrutura: diagrama de classe, diagrama de objeto, diagrama de componente,
diagrama de estrutura composta, diagrama de pacote e diagrama de distribuição.
Diagramas de comportamento: diagrama de caso de uso, diagrama de atividade e diagrama
de máquina de estado.
Diagramas de interação: diagrama de seqüência, diagrama de comunicação, diagrama de
temporização e diagrama de panorama de interação.
Cada um destes diagramas desempenha e um papel e para demonstrar um pouco da
importância deles, alguns exemplos serão vistos em seguida.
Este diagarama faz parte dos diagramas de comportamento, os quais têm sua
importância por mostrar o comportamento de um dado objeto, processo de negócio.
Segundo Miller (2003), diagramas de casos de uso descrevem o que um sistema faz do
ponto de vista de um observador externo ao em vez de como faz. Esta característica torna-
se de suma importância, pois permite a qualquer pessoa que olhar o diagrama percebe como
ele se comporta e quais são suas principais atividades.
Um exemplo de caso de uso é o da figura abaixo que ilustra um paciente marcando uma
consulta num sonsutório médico.
Figura 1. Caso de uso para um sistema de clínica de saúde (Miller, 2003)
Apenas observando-se o diagrama pode-se observar que o cliente deve marcar ou cancelar
uma consulta com a pessoa que organiza os horários de consulta (scheduler), tem que
requisitar medicação com um médico e ainda pagar a conta com o gerente. Neste caso de
uso observa-se quais atores interagem com o sistema, dando uma visão geral do próprio
sistema.
Os diagramas de classe são diagramas estruturais, o que significa que seu propósito
é demonstrar a estrutura de algum componente ou característica do sistema, neste classo as
classes. Isto evidencia a importância desse diagrama, pois classes são muito importante e
um observador externo ao em vez de como faz. Esta característica torna-se de suma
importância, pois permite a qualquer pessoa que olhar o diagrama percebe como ele se
comporta e quais são suas principais atividades.
Um exemplo de caso de uso é o da figura abaixo que ilustra um paciente marcando uma
consulta num sonsutório médico.em projetos orientados a objetos, uma vez que elas é que
dão o esqueleto de um objeto, a qual se bem projetada favorece o reuso e a flexibilidade no
projeto de software
Figura 2. Diagrama de classe de um catálogo de revenda (Miller, 2003)
A figura 2 mostra um diagrama de classe de um catálogo de revenda. Tal diagrama mostra a
estrutura das classes e o relacionamento entre elas, evidenciando assim a interligação que
existe no sistema e como ele está organizado.