• Nenhum resultado encontrado

LINGUAGEM DE PROGRAMAÇÃO JAVA: AULA 2

N/A
N/A
Protected

Academic year: 2019

Share "LINGUAGEM DE PROGRAMAÇÃO JAVA: AULA 2"

Copied!
41
0
0

Texto

(1)
(2)
(3)

• A palavra algoritmo vem do sobrenome do matemático persa Abu Abdullah Muhammad ibn Musa al-Khwarizmi

• Viveu no século IX

Algoritmo é a tradução em Latim de al-Khwarizmi

(4)

DESENVOLVENDO ALGORITMOS

• Modelagem do mundo real utilizando uma linguagem de programação:

• abstração seguido de formalização

• descrição: mundo sintático

• em uma linguagem de programação

• representação: mundo computacional

• em tempo de execução

(5)

• Algoritmos fazem parte do nosso dia-a-dia

• Trocar os pneus de um carro

• Sacar dinheiro em um banco 24 horas

(6)

ALGORITMO PARA TROCAR UM

PNEU

1: desligar o carro

2: pegar ferramentas (chave e macaco) 3: pegar estepe

4: suspender o carro com o macaco

5: desenroscar os 4 parafusos do pneu furado 6: colocar o estepe

7: enroscar os 4 parafusos

(7)

24H

1: Inserir o cartão 2: Retirar o cartão 3: Digitar a senha

4: Selecionar a opção de saque 5: Solicitar a quantia desejada

6: Inserir o cartão para confirmação 7: Retirar o cartão

(8)

ALGORITMO PARA FAZER UM

BOLO

1: Coletar os ingredientes 2: Misturar em uma tigela 3: Untar a forma

4: Despejar a mistura na forma 5: Colocar a forma em um forno 6: Retirar a forma após 30 min

(9)
(10)

DEFININDO PARADIGMA

• Modelo, norma, padrão [Dicionários]

• Suposições compartilhadas! É a forma como percebemos o mundo...

(11)

PROGRAMAÇÃO

• Ao longo da evolução, algumas linguagens de programação introduziram novas formas de solucionar problemas

• O paradigma de uma linguagem de programação é a sua identidade.

• Corresponde a um conjunto de características que, juntas, definem como ela opera e resolve os problemas.

(12)

PARADIGMAS DE

PROGRAMAÇÃO

• Quando uma linguagem de programação é criada, a partir das suas características, ela é categorizada em um ou mais paradigmas.

• Alguns dos principais paradigmas utilizados hoje no mercado:

• Funcional

• Lógico

• Declarativo

• Imperativo

Orientado a objetos

(13)

PROGRAMAÇÃO: FUNCIONAL

• É um paradigma de programação baseada em funções matemáticas

• Pode-se pensar na programação funcional como simplesmente avaliação de expressões

• Paradigma funcional tem sido mais usado academicamente que no desenvolvimento de software.

• Funcionamento

• O programador define uma função para resolver um problema e passa essa função para o computador

• Uma função pode envolver várias outras funções em sua definição

• O computador funciona como uma calculadora que avalia as expressões escritas pelo programador: lê, calcula e mostra o resultado

(14)

PARADIGMAS DE

PROGRAMAÇÃO: LÓGICO

Paradigma Lógico

• Muito utilizado em aplicações de inteligência artificial, robótica

• Esse paradigma chega no resultado esperado a partir de avaliações lógico-matemáticas.

(15)

PROGRAMAÇÃO: LÓGICO

• Programar em lógica envolve:

• Declarar alguns fatos a respeito de objetos e seus relacionamentos,

• Definir algumas regras sobre os objetos e seus relacionamentos e

(16)

PARADIGMAS DE

PROGRAMAÇÃO: DECLARATIVO

• É baseado no lógico e funcional.

• Linguagens declarativas descrevem o que fazem e não exatamente como suas instruções funcionam.

• Algumas linguagens com esse paradigma:

(17)

PROGRAMAÇÃO: IMPERATIVO

• O paradigma estruturado (também chamado de imperativo), determina que qualquer problema pode ser solucionado utilizando três estruturas:

• sequencial

• condicional

• iterativa (repetição)

• Neste paradigma procura-se “quebrar” (dividir) um problema complexo em pequenas partes que trabalharão em conjunto para solucionar o problema abordado

• Algumas linguagens com esse paradigma:

• Pascal

(18)

PARADIGMAS DE PROGRAMAÇÃO:

ORIENTADO A OBJETOS

• Esse é, entre todos, talvez o mais difundido.

• É uma subclassificação do paradigma imperativo

• Nele, implementa-se um conjunto de classes que definem objetos. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento entre eles.

• Algumas linguagens com esse paradigma:

(19)

ORIENTADO A EVENTOS

• Toda linguagem que faz uso de interface gráfica é baseada nesse paradigma.

• Nele, o fluxo de execução do software é baseado na ocorrência de eventos externos, normalmente disparados pelo usuário.

(20)

PARADIGMAS DE PROGRAMAÇÃO:

ORIENTADO A EVENTOS

• Por exemplo, imagine essa interface gráfica:

(21)
(22)

PROGRAMAÇÃO ORIENTADA A

OBJETOS

• Pressupõe que um software é organizado como uma coleção de objetos que incorporam estrutura e comportamento próprios

• Vantagens

• Objetos fornecem uma visão intuitiva do negócio

• Possibilita a reutilização de componentes

• Favorece a redução de manutenção

(23)

OBJETOS

• Paradigma de programação baseado no conceito de classes e objetos.

• As classes são elementos onde dados e procedimentos são agrupados, segundo seu objetivo, para um determinado sistema.

• Quando uma classe é usada como um tipo de dado para a criação de uma variável, esta é chamada de objeto.

• No paradigma da orientação a objetos, os procedimentos e funções são chamados de métodos.

(24)

FUNDAMENTOS POO

O que é POO ?

• Classe;

• Objeto;

• Método;

• Encapsulamento;

• Abstração;

• Herança;

• Sobrecarga e sobrescrita de Métodos;

(25)

• Um objeto representa algo do mundo real:

• concreto ou abstrato;

• A percepção dos seres humanos é dada através dos objetos;

• Um objeto é uma entidade que exibe algum comportamento bem definido.

(26)

DEFININDO OBJETOS

• Um objeto representa algo do mundo real:

• Concreto: Música, Operação Bancária

• ou abstrato: Pessoa, avião, casa

• A percepção dos seres humanos é dada através dos objetos;

• Um objeto é uma entidade que exibe algum comportamento bem definido.

(27)

• Objetos são compostos de

• Atributos

• dados que definem o estado do objeto

• Métodos

• procedimentos que alteram o estado do objeto

• Exemplo de objeto:

(28)

O OBJETO “CARRO”

• Para construir o objeto “carro”, teremos de abstrair seus atributos e funções:

• um carro pode ter os seguintes recursos ou atributos:

• cor, velocidade, combustível, tamanho, modelo

• um carro pode:

(29)

• Como descrever os objetos no mundo computacional?

(30)

POO EM JAVA

• Objetos (computacionais) são caracterizados por atributos e métodos:

• atributos são as propriedades de um objeto.

• métodos são as ações que um objeto pode realizar

• a execução de um método muda os valores dos atributos do objeto responsável pela execução

• neste caso dizemos que o objeto mudou de estado

(31)

• Classes são especificações para objetos;

• Uma classe serve de modelo para vários objetos semelhantes que possuem os mesmos tipos de informação em seu estado e tem os mesmos

comportamentos;

• Uma Classe é uma fabrica de objetos idênticos no que diz respeito a sua interface e

(32)

CLASSES EM JAVA: EXEMPLO

• Java oferece recursos linguísticos para especificar (descrever) classes: class Nome_da_Classe {

atributos métodos }

(33)
(34)

ABSTRAÇÃO

• Focalizar o essencial ignorando propriedades e métodos fora do escopo.

• A abstração deve ser sempre com algum objetivo, porque o objetivo determina o que é e o que não é importante.

• Quando queremos diminuir a complexidade de algo, selecionamos parte do que estamos querendo;

(35)

Exemplo:

• Um coelho para sua dona tem os atributos cor e aparência

(36)

HERANÇA

(37)
(38)

ENCAPSULAMENTO

• É a capacidade de restringir o acesso a elementos de uma classe utilizando qualificadores;

(39)

• Poli→várias;

• Morfos→formas;

• O conceito de polimorfismo está associado a Herança;

(40)

SOBRECARGA DE MÉTODOS

• Sobrecarregar um método é permitir que se utilize o mesmo nome de chamada para operar sobre uma variedade de tipos de dados.

• Pode-se ter diversos métodos declarados com o mesmo nome dentro de uma classe, entretanto, tais métodos possuem tipos e quantidades de parâmetros diferentes entre si.

public static void setTamanhoRetangulo(int lado){ this.altura = (double) lado;

this.largura = lado; }

public static void setTamanhoRetangulo (double alt, int larg){ this.altura = alt;

(41)

• Pode-se definir métodos com o mesmo nome, recebendo os mesmos

argumentos, porem a sua implementação é realizada de forma diferente. Chamamos isso de sobrescrita.

• OBS.: Isso acontece para classes diferentes.

public static int soma(int a){

return a+a;

}

public static int soma(int b){

return b+b+b;

Referências

Documentos relacionados

tenha sido escrito por um amigo e de resto você nunca teve qualquer sentimento em relação a qualquer palavra, as palavras o aborrecem mais do que qualquer outra coisa então como

Dessa forma, logo após a ingestão de água ou uma refeição com alimentos cozidos com água fluoretada, ocorreria um aumento momentâneo na concentração de fluoreto na saliva,

A proposta aqui apresentada prevê uma metodologia de determinação da capacidade de carga de visitação turística para as cavernas da região de Bulhas D’Água

Os maiores coeficientes da razão área/perímetro são das edificações Kanimbambo (12,75) e Barão do Rio Branco (10,22) ou seja possuem uma maior área por unidade de

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

demands of daily life, have a higher correlation with the risk of falls than maximum strength tests, this study aims to determine the prevalence of falls and resulting fractures

“responsabilidade pela solicitação de abertura de processo de flexibilização de jornada de trabalho ao Reitor, nos termos desta Resolução, de forma conjunta ou

A pesquisa pretende analisar como as pessoas são tratadas nas organizações, mostrando práticas de gestão de pessoas nas empresas pertencentes a uma rede de indústrias moveleiras,