Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação
|
|
- Raul Marreiro Salgado
- 8 Há anos
- Visualizações:
Transcrição
1 Java Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação 1
2 Tabelas para quê? As tabelas são utilizadas quando se pretende armazenar e manipular um grande número de dados do mesmo tipo Exemplo: analisar a temp. máxima de cada um dos últimos 100 anos float ano1; float ano2; float ano3;... float ano100; Impraticável O ideal seria termos uma estrutura de dados que nos permitisse armazenar os 100 valores utilizando uma única variável ultimoscemanos ano 1 ano 2 ano 3 ano 4 ano 99 ano 100 2
3 Declaração Em Java, as tabelas são tratadas como objetos. Assim, é necessário: Declarar uma variável do tipo tabela Instanciar a tabela utilizando o operador new A declaração de uma tabela tem a seguinte sintaxe: Dimensão Sintaxe Exemplos 1 Tipo[] nomedatabela; int[] vetorinteiros; ou Tipo nomedatabela[]; Ponto[] vetorpontos; 2 Tipo[][] nomedatabela; int[][] matrizinteiros; ou Tipo nomedatabela[] []; Ponto[][] matrizpontos; n Tipo[]...[] nomedatabela; ou Tipo nomedatabela[]...[]; 3
4 Instanciação: operador new Na declaração de tabelas não se especifica o tamanho de cada dimensão O tamanho de cada dimensão é indicado quando se instancia a tabela O tamanho máximo da dimensão pode ser qualquer expressão do tipo inteiro A instanciação de uma tabela tem a seguinte sintaxe: Dim. Sintaxe Exemplos 1 new Tipo[dimensão]; vetorinteiros = new int[23]; vetorpontos = new Ponto[5]; 2 new Tipo[dimensão1] [dimensão2]; matrizinteiros = new int[2][5] ; matrizponto = new Ponto[20][4]; n new Tipo[dimensão1]... [dimensãon]; 4
5 Instanciação: valores iniciais Os elementos de uma tabela de tipos primitivos são automaticamente iniciados com o valor por omissão boolean char Tipo Valor false \u0000 byte, short, int, long 0 float, double 0.0 Uma tabela de objetos comporta-se como uma tabela de referências Os elementos de uma tabela de objetos são automaticamente iniciados com a referência null 5
6 Instanciação: valores iniciais tabela de tipos primitivos int[] vetor = new int[3]; vetor double[] vetor = new double[3]; vetor
7 Instanciação: valores iniciais tabela de objetos Ponto[] vetor = new Ponto[3]; vetor... null null null... Objeto do tipo Ponto[] Dimensão 1 com tamanho 3 vetor... for (int i = 0; i < 3; i++) vetor[i] = new Ponto(i, i + 1);... x = 0 y = 1 x = 1 y = 2 x = 2 y =
8 Índices Os índices de uma tabela variam entre 0 e (tamanho da tabela -1) int[] vetor = new int[7]; vetor[0] = 5; vetor[1] = 7; vetor[2] = 2; vetor[3] = 1; vetor[4] = 5; vetor[5] = 0; vetor[6] = -1; Os elementos de uma tabela são indexados a partir do valor 0 O índice máximo é igual a (tamanho da tabela 1) vetor índices 8
9 Índices e Acesso Os elementos de uma tabela são indexados colocando entre parêntesis rectos o índice que se pretende aceder nomedatabela[índice] Atribuição de um valor a um elemento da tabela Exemplo: vetor[3] = 10; Aceder a um elemento da tabela Exemplo: x = vetor[0]; System.out.println(x); // mostra 5 System.out.println(vetor[3]); //mostra 10 9
10 Acesso O interpretador do Java verifica sempre se os índices são válidos Quando se utiliza um índice inválido o Java gera uma exceção (erro) do tipo ArrayIndexOutOfBoundsException O tamanho da tabela não pode ser alterado após a instanciação Para saber qual o tamanho da tabela utiliza-se o atributo especial length (atributo só de leitura) Exemplo: for(int i = 0; i < vetor.length; i++) vetor[i] = new Ponto(i, i + 1); 10
11 Instanciação na iniciação É possível criar uma tabela a partir de um conjunto de valores iniciais Exemplos: int[] notas = {10, 15, 2, 17, 8; double[][] matriz = {{1, 2, 3, {4, 5, 6; Ponto[] vetor = {new Ponto(0, 1), null, new Ponto(2, 3); O tamanho da tabela é determinado a partir dos seus valores iniciais 11
12 Tabelas multidimensionais Em Java, uma tabela com dimensão superior a 1 é considerada uma tabela de tabelas. Exemplo: Uma tabela bi-dimensional 2x3 é considerada como sendo uma tabela com um máximo de 2 elementos sendo cada elemento uma tabela de tamanho 3 Ponto[][] matriz = new Ponto[2][3]; Objeto do tipo Ponto[][] de dimensão 2 e com 2 elementos Objeto do tipo Ponto[] de dimensão 1 e com 3 elementos matriz Objeto do tipo Ponto[] de dimensão 1 e com 3 elementos 12
13 Tabelas multidimensionais public class TabelasDemo1 { public static void main(string[] args) { int[][] matriz = new int[3][4]; Determina o tamanho da 1ª dimensão int linhas = matriz.length; int colunas = matriz[0].length; Determina o tamanho da 2ª dimensão for (int i = 0; i < linhas; i++) for (int j = 0; j < colunas; j++) matriz[i][j] = (int)(math.random() * 100 % 100); 13
14 Tabelas multidimensionais public class TabelasDemo2 { public static void main(string[] args) { int[][] matriz = {{1, 2, {3, 4, 5, {6, 7, 8; for (int i = 0; i < matriz.length; i++) { for (int j = 0; j < matriz[0].length; j++) System.out.print(matriz[i][j] + \t ); System.out.println(); O resultado do exemplo não é o esperado. Onde está o erro? 14
15 Tabelas multidimensionais Exemplo do slide anterior corrigido public class TabelasDemo2 { public static void main(string[] args) { int[][] matriz = {{1, 2, {3, 4, 5, {6, 7, 8; for (int i = 0; i < matriz.length; i++) { for (int j = 0; j < matriz[i].length; j++) System.out.print(matriz[i][j] + \t ); System.out.println();
16 Tabelas multidimensionais O exemplo seguinte mostra uma forma pouco usual (mas possível) utilizada para instanciar uma tabela multidimensional public class TabelasDemo3 { public static void main(string[] args) { double[][][] m; m = new double[4][][]; for (int i = 0; i < m.length; i++) { m[i] = new double[i * 2 + 1][]; for (int j = 0; j < m[i].length; j++) m[i][j] = new double[(j + 1) * 2]; Qual a dimensão da tabela criada? Como se encontra organizada a memória após a execução do ciclo for? 16
17 Classe Ponto public class Ponto { private int x; private int y; public Ponto(int x, int y){ setx(x); sety(y); //Construtor por cópia public Ponto(Ponto p){ setx(p.x); sety(p.y); public int getx(){ return x; public int gety(){ return y; public void setx(int x){ this.x = x; public void sety(int y){ this.y = y; public boolean igual(ponto p){ return this.x==p.x && this.y==p.y; 17
18 Manipulação de tabelas Exemplo: leitura e escrita public class LeituraEscrita { public static void main(string[] args) { Ponto[]vetor = new Ponto[10]; //Leitura int x, y; for(int i = 0; i < vetor.length; i++) { System.out.print( Introduza o valor de X: ); x = UserInput.readInt(); System.out.print( Introduza o valor de Y: ); y = UserInput.readInt(); vetor[i] = new Ponto(x, y); //Escrita for(int i = 0; i < vetor.length; i++) { System.out.println( P( + vetor[i].getx() +, + vetor[i].gety() + ) ); 18
19 Manipulação de tabelas As tabelas são tratadas como se fossem objetos. Assim, é possível realizar: Atribuições entre tabelas do mesmo tipo Passar tabelas por parâmetro Devolver uma tabela como resultado de um método O que acontece na atribuição entre tabelas do mesmo tipo? public class TabelasDemo4 { public static void main(string[] args) { int[] v1 = {1, 2, 3, 4, 5; int[] v2 = new int[5]; v2 = v1; v1[0] = 3; v2[1] = -1; escrever(v1); escrever(v2); public static void escrever(int[] v){ System.out.print( Vetor = "); for (int i = 0; i < v.length; i++) System.out.print(v[i] + "\t"); System.out.println(); vetor = vetor =
20 Manipulação de tabelas Se pretendermos copiar todos os elementos de uma tabela para outra, devemos copiar elemento a elemento 20
21 Manipulação de tabelas Cópia de tabelas de tipos primitivos public class CopiaTabelasTiposPrimitivos { public static void main(string[] args){ public static void escrever(int[] v){ int[] vetor = new int[3]; for (int i=0; i < vetor.length; i++) vetor[i] = i + 1; System.out.print( vetor: "); escrever(vetor); for (int i = 0; i < v.length; i++) System.out.print( v[ +i+ ]= +v[i]); System.out.println(); int[] copia = new int[3]; for (int i=0; i<vetor.length; i++) copia[i] = vetor[i]; copia[2] = 100; System.out.print( vetor: "); escrever(vetor); System.out.print( Cópia: "); escrever(copia); vetor: v[0]= 1 v[1]= 2 v[2]= 3 vetor: v[0]= 1 v[1]= 2 v[2]= 3 Cópia: v[0]= 1 v[1]= 2 v[2]=
22 Manipulação de tabelas Cópia de tabelas de referências (objetos) public class CopiaTabelasReferencias { public static void main(string[] args){ Ponto[] vetor = new Ponto[3]; for (int i=0; i < vetor.length; i++) vetor[i] = new Ponto(0, i); System.out.println("vetor"); escrever(vetor); Ponto[] copia = new Ponto[3]; for (int i=0; i<vetor.length; i++) copia[i]= vetor[i]; copia[0].sety(100); System.out.println( vetor: "); escrever(vetor); System.out.println( Cópia: "); escrever(copia); public static void escrever(ponto[] v){ for (int i=0; i<v.length; i++) { System.out.print("V["+i+"]="); System.out.println( P( + vetor[i].getx() +, + vetor[i].gety() + ) ); vetor V[0]=P(0, 0) V[1]=P(0, 1) V[2]=P(0, 2) vetor: V[0]=P(0, 100) V[1]=P(0, 1) V[2]=P(0, 2) Cópia: V[0]=P(0, 100) V[1]=P(0, 1) V[2]=P(0, 2) É isto que pretendemos? 22
23 Manipulação de tabelas Alternativa ao exemplo anterior (método arraycopy) public class CopiaTabelasReferencias { public static void main(string[] args){ Ponto[] vetor = new Ponto[3]; for (int i=0; i < vetor.length; i++) vetor[i] = new Ponto(0, i); System.out.println("vetor"); escrever(vetor); Ponto[] copia = new Ponto[3]; System.arraycopy(vetor, 0, copia, 0, vetor.length); copia[0].sety(100); System.out.println( vetor: "); escrever(vetor); System.out.println( Cópia: "); escrever(copia); public static void escrever(ponto[] v){ for (int i=0; i<v.length; i++) { System.out.print("V["+i+"]="); System.out.println( P( + vetor[i].getx() +, + vetor[i].gety() + ) ); vetor V[0]=P(0, 0) V[1]=P(0, 1) V[2]=P(0, 2) vetor: V[0]=P(0, 100) V[1]=P(0, 1) V[2]=P(0, 2) Cópia: V[0]=P(0, 100) V[1]=P(0, 1) V[2]=P(0, 2) É isto que pretendemos? 23
24 Manipulação de tabelas Para facilitar a operação de cópia de tabelas, a classe System fornece o método: void arraycopy(object src, int src_pos, Object dst, int dst_pos, int length) No entanto, nos exemplos dos dois slides anteriores é realizada apenas uma cópia superficial do objetos: Apenas são copiadas as referências dos objetos Não é realizada uma cópia de cada objeto 24
25 Manipulação de tabelas Cópia de tabelas de referências (objetos) cópia efetiva dos objetos public class CopiaTabelasReferencias { public static void main(string[] args){ Ponto[] vetor = new Ponto[3]; for (int i=0; i < vetor.length; i++) vetor[i] = new Ponto(0, i); System.out.println("vetor"); escrever(vetor); Ponto[] copia = new Ponto[3]; for (int i=0; i<vetor.length; i++) copia[i]= new Ponto(vetor[i]); copia[0].sety(100); System.out.println( vetor: "); escrever(vetor); System.out.println( Cópia: "); escrever(copia); public static void escrever(ponto[] v){ for (int i=0; i<v.length; i++) { System.out.print("V["+i+"]="); System.out.println( P( + vetor[i].getx() +, + vetor[i].gety() + ) ); vetor V[0]=P(0, 0) V[1]=P(0, 1) V[2]=P(0, 2) vetor: V[0]=P(0, 0) V[1]=P(0, 1) V[2]=P(0, 2) Cópia: V[0]=P(0, 100) V[1]=P(0, 1) V[2]=P(0, 2) 25
26 Cópia de objetos for (int i = 0; i < vetor.length; i++) copia[i] = new Ponto(vetor[i]); O construtor por cópia é uma das formas possíveis de fazermos cópias de objetos Mais tarde abordaremos outras formas de realizar a cópia de objetos 26
27 Manipulação de tabelas Passagem de tabelas por parâmetro (passagem por referência) public class TabelasComoParametro { public static void main(string[] args){ public static void modificar(int[] v){ int[] vetor = new int[3]; for (int i=0; i < vetor.length; i++) vetor[i] = i + 1; for (int i = 0; i < v.length; i++) v[i] *= -1; System.out.print( vetor: "); escrever(vetor); modificar(vetor); System.out.print( vetor: "); escrever(vetor); public static void escrever(int[] v){ for (int i = 0; i < v.length; i++) System.out.print( v[ +i+ ]= +v[i]); System.out.println(); vetor: v[0]= 1 v[1]= 2 v[2]= 3 vetor: v[0]= -1 v[1]= -2 v[2]= -3 27
28 Manipulação de tabelas Devolução de uma tabela como resultado de um método public class DevolucaoTabelas { public static void main(string[] args){ public static void escrever(int[] v){ int[] vetor; vetor = iniciar(); System.out.print( main: "); escrever(vetor); for (int i = 0; i < v.length; i++) System.out.print( v[ +i+ ]= +v[i]); System.out.println(); public static int[] iniciar(){ int v[] = new int [3]; for (int i = 0; i < v.length; i++) v[i] = i + 1; System.out.print( inic: "); escrever(v); inic: v[0]=1v[1]=2v[2]=3 main: v[0]=1v[1]=2v[2]=3 return v; 28
29 Algoritmos de pesquisa em tabelas unidimensionais (vetores) Pesquisa sequencial Em vetores não ordenados Em vetores ordenados Pesquisa binária (apenas para vetores ordenados) 29
30 Pesquisa sequencial em vetores não ordenados Compara cada um dos elementos do vetor com o elemento a pesquisar A pesquisa termina quando o elemento for encontrado ou quando tiverem sido percorridos todos os elementos do vetor O método devolve a posição do elemento a pesquisar caso este exista e -1 em caso contrário 30
31 Pesquisa sequencial em vetores não ordenados //Versão 1 public static int pesquisar(int v[], int x){ int i = 0; while(i < v.length - 1 && v[i]!= x) i++; if(i < v.length && v[i] == x) return i; return -1; //Versão 2 public static int pesquisar(int v[], int x){ for(int i = 0; i < v.length; i++) if(v[i] == x) return i; return -1; 31
32 Pesquisa sequencial em vetores não ordenados public class PesquisaNaoOrdenada{ public static void main(string[] args){ int[] vetor = {4, 3, 6, 0, 2; int pos = pesquisar(vetor, 4); if(pos!= -1) System.out.println(pos); else System.out.println( Elemento não encontrado ); public static int pesquisar(int v[], int x){... 32
33 Pesquisa sequencial em vetores ordenados A pesquisa termina quando o elemento for encontrado, ou quando for encontrado um elemento superior ao elemento procurado Caso os elementos do vetor sejam todos inferiores ao elemento procurado, o algoritmo termina quando for alcançado o último elemento do vetor 33
34 Pesquisa sequencial em vetores ordenados //Versão 1 public static int pesquisar(int v[], int x){ int i = 0; while(i < v.length - 1 && v[i]< x) i++; if(i < v.length && v[i] == x) return i; return -1; //Versão 2 public static int pesquisar(int v[], int x){ int i; for(i = 0; i < v.length - 1 && v[i]< x; i++); if(v[i] == x) return i; return -1; 34
35 Pesquisa sequencial em vetores ordenados public class PesquisaOrdenada{ public static void main(string[] args){ int[] vetor = {1, 3, 4, 7, 8; int pos = pesquisar(vetor, 4); if(pos!= -1) System.out.println(pos); else System.out.println( Elemento não encontrado ); public static int pesquisar(int v[], int x){... 35
36 Pesquisa binária (vetores ordenados) Consiste em dividir sucessivamente o vetor ao meio, verificando se o elemento procurado é igual ao elemento que se encontra na posição central, e em caso contrário, verificar em que metade do vetor se deve continuar a procurar o elemento 36
37 Pesquisa binária vetores ordenados baixo = 0 alto = n - 1 enquanto baixo <= alto meio = (baixo + alto) / 2 se v[meio] == x devolve meio senão se x > v[meio] baixo = meio + 1 senão alto = meio - 1 devolve -1 37
38 Pesquisa binária vetores ordenados (exemplo 1) N = 7 Elemento a pesquisar x = 8 vetor x < vetor[meio] baixo meio alto vetor x > vetor[meio] baixo meio alto 38
39 Pesquisa binária vetores ordenados (exemplo 1) N = 7 Elemento a pesquisar x = 8 vetor baixo alto meio x == vetor[meio] devolve meio (2) 39
40 Pesquisa binária vetores ordenados (exemplo 2) N = 7 Elemento a pesquisar x = 35 vetor x > vetor[meio] baixo meio alto vetor x < vetor[meio] baixo meio alto 40
41 Pesquisa binária vetores ordenados (exemplo 2) N = 7 Elemento a pesquisar x = 35 vetor x > vetor[meio] baixo meio alto vetor Devolve -1 alto baixo 41
42 Pesquisa binária vetores ordenados public static int pesquisabinaria(int v[], int x){ int baixo = 0, alto = v.length - 1, meio; while(baixo <= alto){ meio = (baixo + alto) / 2; if(v[meio] == x) return meio; else if(x > v[meio]) baixo = meio + 1; else alto = meio 1; return -1; 42
43 Pesquisa binária vetores ordenados public class Pesquisa{ public static void main(string[] args){ int[] vetor = {1, 3, 4, 7, 8; int pos = pesquisabinaria(vetor, 4); if(pos!= -1) System.out.println(pos); else System.out.println( Elemento não encontrado ); public static int pesquisabinaria (int v[], int x){... 43
44 Ordenação de vetores O principal objectivo da ordenação de vetores é permitir pesquisas mais rápidas... Algoritmos de ordenação que abordaremos: Troca direta Seleção Borbulhamento (Bubble Sort) 44
45 Ordenação por troca direta Compara cada elemento do vetor com todos os que se encontram nas posições seguintes. Sempre que encontrar um elemento de menor valor troca os dois elementos Nota: estamos a assumir que se pretende ordenar os elementos por ordem crescente 45
46 Ordenação por troca direta Considerando um vetor v com n elementos para i = 0 até i < n - 1 para j = i + 1 até j < n se v[j] < v[i] então troca v[j] com v[i] 46
47 Ordenação por troca direta Exemplo i = 0 v j=1 j=2 j=3 j=4 Troca 47
48 Ordenação por troca direta Exemplo i = 0 v j=5 No final da 1ª iteração o menor elemento do vetor encontra-se na posição 0 48
49 Ordenação por troca direta Exemplo i = 1 v j=2 Troca 49
50 Ordenação por troca direta Exemplo i = 1 v j=3 j=4 Troca 50
51 Ordenação por troca direta Exemplo i = 1 v j=5 No final da 2ª iteração o 2º menor elemento do vetor encontra-se na posição 1 51
52 Ordenação por troca direta Exemplo i = 2 v j=3 Troca 52
53 Ordenação por troca direta Exemplo i = 2 v j=4 Troca 53
54 Ordenação por troca direta Exemplo i = 2 v j=5 No final da 3ª iteração o 3º menor elemento do vetor encontra-se na posição 2 54
55 Ordenação por troca direta Exemplo i = 3 v j=4 Troca 55
56 Ordenação por troca direta Exemplo i = 3 v j=5 Troca 56
57 Ordenação por troca direta Exemplo i = 3 v No final da 4ª iteração o 4º menor elemento do vetor encontra-se na posição 3 57
58 Ordenação por troca direta Exemplo i = 4 v j=5 Troca 58
59 Ordenação por troca direta Exemplo i = 4 v No final da 5ª iteração o 5º menor elemento do vetor encontra-se na posição 4 59
60 Ordenação por troca direta Nº de comparações = ( ) n n 1 2 Nº de trocas Nº de comparações 60
61 Ordenação por troca direta public static void ordenartrocadireta(int v[]){ int aux; for(int i = 0; i < v.length - 1; i++) for(int j = i + 1; j < v.length; j++) if(v[j] < v[i]){ aux = v[j]; v[j]= v[i]; v[i]= aux; Invocação: ordenartrocadireta(v); 61
62 Ordenação por seleção Procura o menor elemento do vetor e coloca-o por troca na posição 0 do vetor, a seguir procura o 2º menor elemento e coloca-o por troca na posição 1,... e assim sucessivamente Nota: estamos a assumir que se pretende ordenar os elementos por ordem crescente 62
63 Ordenação por seleção para i = 0 até i < n-1 posmenor = i para j = i+1 até j < n se(v[j] < v[posmenor]) posmenor = j; se(posmenor!= i) troca v[posmenor] com v[i] 63
64 Ordenação por seleção Exemplo i = 0 posmenor = 0 posmenor = 4 v j=1 j=2 j=3 j=4 j=5 v
65 Ordenação por seleção Exemplo i = 1 posmenor = 1 posmenor = 2 posmenor = 4 v j=2 j=3 j=5 j=4 v
66 Ordenação por seleção Exemplo i = 2 posmenor = 2 v j=2 j=3 j=4 66
67 Ordenação por seleção Exemplo i = 3 posmenor = 3 posmenor = 5 v j=4 j=5 v
68 Ordenação por seleção Exemplo i = 4 posmenor = 4 posmenor = 5 v j=5 v
69 Ordenação por seleção versus Ordenação por troca direta O número de comparações é o mesmo O algoritmo de ordenação por seleção é mais eficiente que o algoritmo de ordenação por troca direta uma vez que em cada iteração é realizada uma troca no máximo No algoritmo de ordenação por seleção o número de trocas é sempre menor do que n-1 69
70 Ordenação por seleção public static void ordenarselecao(int v[]){ int aux, posmenor; for(int i = 0; i < v.length - 1; i++){ posmenor = i; for(int j = i + 1; j < v.length; j++) if(v[j] < v[posmenor]) posmenor = j; if(posmenor!= i){ aux = v[posmenor]; v[posmenor] = v[i]; v[i] = aux; Invocação: ordenarselecao(v); 70
71 Borbulhamento (Bubble Sort) Compara cada um dos elementos do vetor com o que se encontra na posição seguinte. Sempre que dois elementos estiverem desordenados troca os seus valores, terminando o algoritmo quando ocorrer uma iteração sem trocas (o que significa que o vetor está ordenado) Nota: estamos a assumir que se pretende ordenar os elementos por ordem crescente 71
72 Bubble Sort i = n-1 trocou = verdadeiro enquanto i > 0 && trocou trocou = falso para j = 0 até j < i if (v[j] > v[j+1]) trocou = verdadeiro troca v[j]com v[j+1] i-- 72
73 Bubble Sort i = 5 trocou = false v j=0 j=1 trocou = true v j=2 trocou = true 73
74 Bubble Sort i = 5 v j=3 trocou = true v j=4 trocou = true 74
75 Bubble Sort i = v No final da 1ª iteração o maior elemento do vetor encontra-se na última posição (posição 5) 75
76 Bubble Sort i = 4 trocou = false v j=0 j=1 j=2 trocou = true v j=3 trocou = true 76
77 Bubble Sort i = v No final da 2ª iteração o 2º maior elemento do vetor encontra-se na penúltima posição (posição 4) 77
78 Bubble Sort i = 3 trocou = false v j=0 j=1 trocou = true v j=2 78
79 Bubble Sort i = v No final da 3ª iteração o 3º maior elemento do vetor encontra-se na posição 3 do vetor 79
80 Bubble Sort i = 2 trocou = false v j=0 trocou = true v j=1 80
81 Bubble Sort i = v No final da 4ª iteração o 4º maior elemento do vetor encontra-se na posição 2 do vetor 81
82 Bubble Sort i = 1 trocou = false v j=0 82
83 Bubble Sort i = v No final da 5ª iteração o 5º maior elemento do vetor encontra-se na posição 1 do vetor 83
84 Bubble Sort Nº de comparações ( ) n n 1 2 Nº de trocas máximas Nº de comparações 84
85 Algoritmos de ordenação Em termos globais a ordenação por seleção e o Bubble Sort são mais eficientes que a ordenação por troca direta Para escolher o algoritmo a utilizar pode adotar-se o seguinte critério: Se n 30: Ordenação por seleção Se n > 30: Bubble Sort 85
86 Bubble sort public static void bubblesort(int v[]){ int aux, i = v.length - 1; boolean trocou = true; while(i > 0 && trocou) { trocou = false; for(int j = 0; j < i; j++) if(v[j] > v[j + 1]){ trocou = true; aux = v[j]; v[j] = v[j + 1]; v[j + 1] = aux; i--; Invocação: bubblesort(v); 86
87 Bibliografia Thinking in Java 3rd Edition Iniciação de arrays - Capítulo 4 (pág ) P.O.O. Em Java 2 Arrays Capítulo 2 (pág. 60 a 63) 87
Unidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Leia mais3 Classes e instanciação de objectos (em Java)
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia maisNoções sobre Objetos e Classes
Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão
Leia maisARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Leia maisPOO Programação Orientada a Objetos. Classes em Java
+ POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos
Leia maisA Linguagem Java. Alberto Costa Neto DComp - UFS
A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisConversão de Tipos e Arrays
Conversão de Tipos e Arrays Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Conversão de Tipos Permite converter
Leia mais5 Caso de estudo O cartão fidelidade
5 Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante
Leia maispublic Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.
import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)
Leia maisCurso Java Starter. www.t2ti.com 1
1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para
Leia maispublic void setdata(data d) { data = d;
class Data... public class Compromisso private Data data; private int hora; private String descricao; /**java.lang.string*/ public Compromisso() public Compromisso(Data data, int hora, String descricao)
Leia maisAlgoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31
APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados
Leia maisAnálise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Leia maisSintaxe Básica de Java Parte 1
Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa
Leia maisESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado
Leia maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia mais15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido
PARTE III: Java e OO - detalhes Membros de classe e instâncias Pacotes Visibilidade Classes aninhadas Membros de classe e de instância De classe Static Método não necessita de objeto para ser chamado.
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia maisMétodos de Pesquisa em Memória Primária
Algoritmos e Estrutura de Dados II Métodos de Pesquisa em Memória Primária Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Pesquisa Por pesquisa (procura ou busca) entende-se o ato
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 03 APRESENTAÇÃO: Hoje vamos conhecer o comando switch, o bloco try catch;
Leia maisESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado
Leia maisCapítulo 9. Vetores e Matrizes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 9 Vetores e Matrizes Objetivos do Capítulo Apresentar os dois tipos fundamentais de estruturas de dados estáticas disponíveis no Java: os vetores e as matrizes. Indicar como os vetores podem ser
Leia maisCriar a classe Aula.java com o seguinte código: Compilar e Executar
Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void
Leia maisUniversidade Federal de Uberlândia
Universidade Federal de Uberlândia Programação Orientada a Objetos I Introdução a Java Sintaxe básica OO Prof. Fabiano Azevedo Dorça Em Java, cada classe dá origem a um arquivo.java contendo o código fonte.
Leia maisAlgoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maisCapítulo 2. Fundamentos de Java
Capítulo 2. Fundamentos de Java 1/52 Índice 2.1 - Variáveis Tipos Escopo Inicialização Casting Literais 2.2 - Operadores Aritméticos Relacionais Bit a Bit De atribuição 2.3 - Expressões, statements e blocos
Leia maisProva de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)
Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois
Leia maisPADI 2015/16. Aula 1 Introdução à Plataforma.NET
PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win
Leia maisAlgoritmos e Programação II. Sobrecarga
Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque
Leia maisBacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java
Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre
Leia maisImplementação de Classe e Auto-Relacionamento em Java
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida
Leia maisAula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/
Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.
Leia maisParadigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33
PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisEncapsulamento de Dados
Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam
Leia maisCURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Leia maisExercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
Leia maisOrganização de programas em Java. Vanessa Braganholo vanessa@ic.uff.br
Organização de programas em Java Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Java! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisJava - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br
Java - Introdução Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda O que é Java? Sun / Oracle. IDE - NetBeans. Linguagem Java; Maquina Virtual; Atividade Prática. Identificando Elementos
Leia maisUniversidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática
Programação Orientada a Objectos - 28/29; P. Prata, P. Fazendeiro 2 A tecnologia Java Uma ideia base da linguagem JAVA é a de que um programa em JAVA deve poder ser executado em qualquer tipo de computador
Leia maisTécnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Leia maisPesquisa em Memória Primária. Prof. Jonas Potros
Pesquisa em Memória Primária Prof. Jonas Potros Pesquisa em Memoria Primária Estudo de como recuperar informação a partir de uma grande massa de informação previamente armazenada. A informação é dividida
Leia maisUniversidade da Beira Interior. Sistemas Distribuídos
Folha 6-1 Sincronização de Threads A sincronização de Threads em Java é baseada no conceito do Monitor (de Hoare). Cada objecto Java tem associado um monitor (ou lock ) que pode ser activado se a palavra
Leia maisMódulo 06 Desenho de Classes
Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.
Leia maisProjeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario
Projeto de sistemas em Java Algoritmos e Programação I Aula 25 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Agora que já estamos manipulando com mais
Leia maisLição 9 Trabalhando com bibliotecas de classes
Lição 9 Trabalhando com bibliotecas de classes Introdução à Programação I 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Explicar o que é programação orientada a objetos e alguns de seus
Leia maisDesenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Leia maisÁrvores Binárias e Busca. Jeane Melo
Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto
Leia maisPesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º
Pesquisa Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) Ficheiro (ou tabela) Campos Nome Endereço Telefone Antunes, João A. R. P. António Viera, 23 720456
Leia maisGuia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Leia maisJava 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Leia maisUnidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01
Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir
Leia maisComandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }
Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver
Leia maisProjeto de Software Orientado a Objeto
Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software
Leia maisRoteiro 1: Dados, variáveis, operadores e precedência
1. Introdução Universidade Federal do ABC Disciplina: Processamento da Informação (BC-0505) Assunto: Dados, variáveis, operadores e precedência Roteiro 1: Dados, variáveis, operadores e precedência Nesta
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisALGORITMO I VARIÁVEIS INDEXADAS
VARIÁVEIS INDEXADAS Array Auxiliadora Freire Slide 1 Array: Conjunto de informações do mesmo tipo, cada informação é representada na memória do computador por uma variável. O nome de qualquer variável
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.
Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisLinguagem de Programação I. Orientação a Objetos em Java
Linguagem de Programação I Orientação a Objetos em Java Roteiro Introdução Classes e Objetos Declaração de Classes e Instanciação de um Objeto de uma Classe Declarando métodos com parâmetros Atributos,
Leia maisProgramação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...
Programação Na Web Linguagem Java Parte II Sintaxe António Gonçalves break com o nome do bloco Nome do bloco Termina o bloco class class Matrix Matrix { private private int[][] int[][] mat; mat; public
Leia maisEsta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha
Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha conhecimento avançado de C. Exemplo em C: Faça um programa que
Leia maisEstrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como
Leia maisModificador static e Pacotes. Alberto Costa Neto DComp - UFS
Modificador static e Pacotes Alberto Costa Neto DComp - UFS 1 Roteiro Modificador static Pacotes 2 Modificador static Instanciando a classe Funcionário matricula nome cpf salario salario-min getmatricula()
Leia maisÍndice. Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial
Índice i Índice Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial 1. A Estrutura Abstrata de Dados Lista... 1 1.1. Definição... 1 1.2. Implementação de Listas utilizando armazenamento
Leia maisinsfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes
Leia maisBSI UFRPE Prof. Gustavo Callou gcallou@gmail.com
BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados
Leia maisJAVA. Fabrício de Sousa fabbricio7@yahoo.com.br
JAVA Fabrício de Sousa fabbricio7@yahoo.com.br Agenda 2 Características Ambientes de Desenvolvimento Sintaxe Comentários Tipos de dados primitivos Caracteres especiais Variáveis Operadores Aritméticos
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia maisProgramação Visual TIC - 3PA. Lista de Exercícios 02
Programação Visual TIC - 3PA Lista de Exercícios 02 Professor: Edwar Saliba Júnior 1) Elabore um programa para simular uma conta de poupança. Crie uma classe contacorrente com os seguintes atributos: saldo,
Leia maisProgramação de Computadores I. Ponteiros
Ponteiros Prof. Edwar Saliba Júnior Outubro de 2012 Unidade 13 Ponteiros 1 Identificadores e Endereços Na linguagem C, uma declaração de variável faz associação entre um identificador e endereços de memória;
Leia maisKeeper of Knowledge. Capítulo 1 Conceitos Básicos do Java
Capítulo 1 Conceitos Básicos do Java INTRODUÇÃO O objectivo deste tutorial é ensinar as regras básicas de programação em Java e facilitar a aprendizagem dos capítulos que se seguem. Qualquer dúvida sobre
Leia maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maisA ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
Leia maisPragmática das Linguagens de Programação 2004/2005
Instituto Superior Técnico Pragmática das Linguagens de Programação 2004/2005 Segundo Exame 11/2/2005 Número: Turma: Nome: Escreva o seu número em todas as folhas do teste. O tamanho das respostas deve
Leia maisTemplates e Pilhas. 1. Introdução
Templates e Pilhas 1. Introdução Templates ou Generics é considerado uma forma de polimorfismo [1]. É uma forma de programar onde o tipo do dado não é considerado. Programa-se para um tipo de dado indefinido.
Leia maisAula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.
Aula 04 Operadores e Entrada de Dados Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Operadores: Aritméticos; Atribuição; Concatenação;
Leia maisMétodos de Pesquisa 472
472 Métodos de Pesquisa 473 Objetivos e Caracterizações Para que se possa falar em algoritmos de pesquisa, é necessário inicialmente introduzir a noção de mapeamento que é uma das mais primitivas em programação.
Leia mais17 - Funções e Procedimentos em C Programação Modular
17 - Funções e Procedimentos em C Programação Modular Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 17
Leia maisBC0501 Linguagens de Programação
BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda
Leia maisProgramação de Computadores II TCC 00.174
Programação de Computadores II TCC 00.174 Profs.: Leandro A. F. Fernandes (Turma A1) & Marcos Lage (Turma B1) (Turma A1) www.ic.uff.br/~laffernandes (Turma B1) www.ic.uff.br/~mlage Conteúdo: Representação
Leia maisAnálise de complexidade
Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura
Leia maisThreads e Concorrência em Java (Material de Apoio)
Introdução Threads e Concorrência em Java (Material de Apoio) Professor Lau Cheuk Lung http//www.inf.ufsc.br/~lau.lung INE-CTC-UFSC A maioria dos programas são escritos de modo seqüencial com um ponto
Leia maisArrays. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul
Professor: Ricardo Luis dos Santos IFSUL 2015 Arrays ou vetores são estruturas de dados que armazenam usualmente uma quantidade fixa de dados de um determinado tipo Também são conhecidos como estruturas
Leia mais7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.
Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Leia maisProcessamento da Informação Teoria. Algoritmos e Tipos de dados
Processamento da Informação Teoria Algoritmos e Tipos de dados Semana 01 Prof. Jesús P. Mena-Chalco 24/04/2013 (*) Slides adaptados das aulas do Prof. Harlen Costa Batagelo Algumas definições de algoritmo
Leia maisProgramação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos
Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva Classes O conjunto de requisições que um objeto pode cumprir é determinado
Leia maisBusca. Pesquisa sequencial
Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
Leia mais