• Nenhum resultado encontrado

Estrutura - aula 01

N/A
N/A
Protected

Academic year: 2021

Share "Estrutura - aula 01"

Copied!
40
0
0

Texto

(1)

INSTITUTO FEDERAL DE

EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

BAHIA

Estrutura de Dados

Prf. Msc. Igor de Oliveira Costa

INSTITUTO FEDERAL DE

EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

(2)

Introdução a Estrutura de Dados

(3)

• Podemos definir uma estrutura de dados como um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente, facilitando sua busca e modificação;

• Uma estrutura de dados mantém os

dados organizados seguindo alguma lógica e disponibiliza operações para o usuário manipular

os dados;

(4)

• Algoritmo e Implementação

– Um algoritmo é uma sequência de passos que resolve algum problema ou alcança algum

objetivo;

– O Algoritmo diz o que deve ser feito;

– Implementação é definição de como os passos do algoritmo serão executados;

(5)

Exercícios

• Construa um algoritmo que escreva “Olá IFBA”. • Determine qual é a idade que o usuário faz no

ano atual. Para isso solicite o ano de nascimento do usuário e o ano atual.

• A partir de 3 notas fornecidas de um aluno, informe se ele foi aprovado, ficou de

recuperação ou foi reprovado.

– a média de aprovação é >= 7.0;

– a média de recuperação é >= 5.0 e < 7.0; e – a média do reprovado é < 5.0

(6)

Exercícios

• Faça um algoritmo que calcule a velocidade média de um carro, para isso informa a

distância e o tempo para percorrer a distância informada.

• A loja tabajara está vendendo seus produtos em 5 (cinco) prestações sem juros. Faça um programa em Java que receba um valor de uma compra e mostre o valor das prestações.

(7)
(8)

O que é Orientação a Objetos?

Orientação a Objetos é um paradigma de programação baseado na composição e interação entre diversas unidade de software chamadas objetos.

Esse paradigma foi introduzido com o objetivo de reduzir o grande problema em modelar o mundo real na área computacional.

(9)

Principais conceitos

• Na programação orientada a objetos existem alguns pilares que são primordiais, são eles:

– Encapsulamento – Herança

(10)

O que seria uma classe?

• É um molde ou especificação de um possível objeto

(11)

O que seria um objeto?

• Um objeto é uma construção de software que encapsula estado e comportamento. Os

objetos permitem que você modele seu software em termos reais e abstração.

(12)

Analogia

Classe

(13)

Tipos primitivos da linguagem Java

• Tipos lógicos: boolean

– Em Java um tipo lógico é definido pela palavra boolean, e pode assumir dois valores: true ou false.

• Tipos textuais: char e String

– Caracteres simples são representados pelo tipo char;

– Palavras são representadas por uma sequência de dados do tipo char, agrupadas em um tipo

(14)

• Os números inteiros são divididos em quatro tipos: byte, short, int e long;

– O tipo byte é o de menor alcance entre os inteiros. Ele consome apenas um byte (8 bits) e pode guardar valores entre -128 e 127;

– O tipo short guarda inteiros de 2 bytes (16 bits) e pode guardar números entre -32.768 a 32.767;

– O tipo int é o tipo de dado mais comum. Ele consome 4 bytes (32 bits) e guarda valores entre -2.147.483.648 e 2.147.483.647.

– Long é o tipo de dado com maior alcance entre os inteiros. Consequentemente, também é o que ocupa mais espaço (8 bytes ou 64 bits).

(15)

Tipos primitivos da linguagem Java

• Tipos numéricos de ponto flutuante: float e

double

– Um valor fracionário pode ser representado em Java através dos tipos float e double;

– A diferença entre os dois está no tamanho de cada um:

• float: 32 bits; • double: 64 bits;

(16)

Convenções de codificação

• Classes e interfaces: A primeira letra deve ser maiúscula e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra interna deve ser maiúscula. Um padrão conhecido como (camelCase).

(17)

• Métodos: A primeira letra deve ser minúscula, e depois as primeiras letras das outras

palavras devem ser maiúsculas.

• Variáveis: Como nos métodos, começando

com a letra minúscula. Utilizar nomes curtos e representativos.

(18)

• Constantes – constantes devem ter todas as suas letras em maiúsculo, com o símbolo de underline para separa as palavras

(19)

Operadores Lógicos e Aritiméticos

Operador Função

++ Incrementa o valor da variável em uma unidade. Exemplo: i++; contador++;

- - Diminui o valor da variável em uma unidade. Exemplo: i--; contador--;

+ - Operadores aritméticos * / % Multiplicação, divisão, resto == != Igualdade e desigualdade

^ Potência

&& AND

(20)

Promoção e Casting

• A linguagem Java não suporta atribuições

arbitrárias entre variáveis de tipos diferentes; • Ou seja, Java é fortemente tipada;

• Quando atribuímos um valor a uma variável, e esse valor é incompatível com o tipo de dado

definido para a variável, ocorrerá uma conversão; • Quando o processo de conversão for automático,

(21)

• Exemplo de Promoção

(22)

• Exemplo de Casting

(23)

• Para transformar uma String em Int, double ou Float, utilizamos o método parse.

• Ex:

(24)

Métodos

• Os métodos determinam o comportamento dos objetos de um classe. Quando um método é

invocado, se diz que o objeto está recebendo uma mensagem (para executar uma ação).

• O método pode ter ou um retorno, no caso de não ter um retorno o método é declarado como

void:

– public void inserirNome(String nome){

(25)

• Caso tenha retorno o método deve ser declarado com o tipo do retorno:

(26)

• A chamada do método é feita através de instanciação do objeto:

(27)

Modificadores

• Quando trabalhamos com encapsulamento em orientação a objetos temos que verificar como os atributos e métodos de uma

determinada classe ficará visível a outras classes do programa, para isso existem os modificares, são eles:

– Public – Private – Protected

(28)

Construtores

• Os construtores são uma espécie de método que são responsáveis por criar o objeto em memória, ou seja, instanciar a classe que foi definida;

(29)

• Esses construtores podem ter parâmetros ou não;

• Por padrão o Java já cria esse construtor sem parâmetros para todas as Classes, então você não precisa fazer isso se irá utilizar apenas

construtores sem parâmetros;

• Os construtores podem ser inicializado com parâmetros, assim quando se cria o objeto ele já terá os atributos definidos;

(30)
(31)

Get e Set - Métodos Acessores

• O encapsulamento "protege" os atributos ou métodos dentro de uma classe, portanto,

devemos prover meios para acessar tais

membros quando eles são particulares, ou seja, quando possuem o modificador private. • Esses métodos são a criação de métodos

(32)

• Nomeamos um método acessor com set toda vez que este método for modificar algum

campo ou atributo de uma classe, ou seja, se não criarmos um método acessor set para

algum atributo, isso quer dizer que este atributo não deve ser modificado;

• Nomeamos um método acessor com get toda vez que este método for verificar algum

campo ou atributo de uma classe.

(33)
(34)

Estrutura de dados (Vetores)

• Vetores são estruturas de dados que

armazenam usualmente uma quantidade fixa de dados de um certo tipo;

• Os vetores em Java, assim como em outras linguagens é inicializado por 0;

• Internamente, um vetor armazena diversos valores, cada um associado a um número que se refere à posição de armazenamento, e é

(35)

• Os vetores são estruturas indexadas, em que cada valor que pode ser armazenado em uma certa posição (índice) é chamado de elemento do vetor;

• Cada elemento do vetor pode ser utilizado individualmente de forma direta, ou seja, pode ser lido ou escrito diretamente, sem nenhuma regra ou ordem preestabelecida;

(36)

• Cada posição de um vetor é unicamente identificada por um valor inteiro positivo, linear e sequencialmente numerado;

• Ex.: a[i], corresponde ao i-ésimo elemento do vetor a, sendo que o valor da variável i deve pertencer ao intervalo dos índices do vetor: ((i >= 0) && (i < a.length)).

(37)

• Declaração de Vetores

• Representação

(38)

• Podemos também armazenar um objeto em nosso vetor, no entanto, este seria limitado pelo tamanho do vetor.

(39)
(40)

Referências

Documentos relacionados

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

O castigo da personagem Parente é permanecer com a indumentária feminina ao ser amarrado, pois a identificação desta em um corpo de homem pelo público provocaria o riso,

As ações que mais auxiliaram nestes resultados foram a avaliação, durante os contatos semanais e nas reuniões mensais com a equipe, da programação de parto

O educador administrador escolar formado nessa perspectiva tem a possibilidade de adotar uma postura gerencial pautada na ação comunicativa, mesmo que seja,

VALLE JUNIOR (2008) diagnosticando o uso potencial dos solos em 196 microbacias localizadas na bacia do rio Uberaba, para microbacias que predominam o Latossolos

Nos pacientes obesos mórbidos submetidos à cirurgia bariátrica pela técnica Bypass Gástrico em Y de Roux (RYGB) com colocação ou não do anel de sylastic na porção

Um vetor de ru´ıdo branco, possui cada elemento como um ru´ıdo branco, e pode ser considerado como o vetor de estados de um sistema estoc´ astico, chamado de processo de

Outros mecanismos de inclusão social e de economia foram inseridos no PNPB como o estímulo e fortalecimento da agricultura familiar com a criação do Selo de Combustível