Passos:
1. Ir em Arquivo, Exportar Projeto , Para ZIP
2. Selecionar o projeto a ser exportado:
3. Na caixa de texto "Construir ZIP", copiar o caminho (path) do ZIP a ser gerado
4. Clicar em exportar.
O arquivo terá sido gerado no caminho informado.
5. Abra o Windows Explorer e cole o caminho copiado no passo (3)
O arquivo estará na pasta informada.
terça-feira, 12 de novembro de 2019
quinta-feira, 29 de outubro de 2015
2015/2-AED2: TAD Árvore Digital + Tabela Hash
package br.pit.aed2.arvoredigital;
import java.util.HashMap;
import java.util.Map;
public class No {
char caractere; // o caractere do no
Map<Character, No> subnos; // o conjunto de subnos
boolean ehTerminal = false;
boolean ehRaiz = false;
int contPalavras = 0;
// construtor: criar o objeto
public No(char caractere){ // parametro caractere
this.caractere = caractere;
// HashMap: tabela hash (char: No)
this.subnos = new HashMap<Character, No>();
}
@Override
public String toString() {
// operador ternário
return caractere + (ehRaiz?"["+contPalavras+"]":"")+
"->" + subnos.values().toString().
replace('[', ' ').replace(']', ' ');
//+ " -> [" + subnos + "]";
}
// inserir palavra
public boolean inserirPalavra(String palavra){
if (possuiPalavra(palavra)){
System.out.println("Palavra jah existe na arvore!");
return false;
}
if (palavra.length() == 0){ // se a palavra estiver vazia
this.ehTerminal = true;
return true; } // retornar true (palavra inserida)
char letra = palavra.charAt(0); // obter a primeira letra
if (palavra.length() > 1){ // se o tamanho do restante da palavra for > 1
palavra = palavra.substring(1);}// atualizar a palavra (restante dos caracteres)
else { palavra = "";} // senao deixar a palavra vazia
No no = subnos.get(letra); // obter o no a partir da letra
if (no == null){ // se o nó não existir
no = new No(letra); // criar um novo nó
subnos.put(letra, no);// adicionar o novo nó na lista de subnos do no corrente
}
boolean res = no.inserirPalavra(palavra);// inserir o restante da palavra dentro do novo no
if (ehRaiz){
contPalavras++;
}
return res;
}
// obter no
// existe palavra
public boolean possuiPalavra(String palavra){
if (palavra.length() == 0){// se a palavra tiver tamanho zero (ACHOU!)
return (this.ehTerminal);// retorna se o no eh terminal ou nao
}
char letra = palavra.charAt(0);// obter o primeiro caractere
if (palavra.length() > 1){// se a palavra tiver tamanho superior a 1
palavra = palavra.substring(1);// remover a letra lida da palavra
} else {
palavra = "";}// senao atualizar a palavra para vazio
No no = subnos.get(letra);// obter o no a partir do caractere
if (no == null){ return false;}// se o no nao existir retornar falso
else {
return no.possuiPalavra(palavra);}// senao verificar a palavra a partir do no encontrado
}
}
import java.util.HashMap;
import java.util.Map;
public class No {
char caractere; // o caractere do no
Map<Character, No> subnos; // o conjunto de subnos
boolean ehTerminal = false;
boolean ehRaiz = false;
int contPalavras = 0;
// construtor: criar o objeto
public No(char caractere){ // parametro caractere
this.caractere = caractere;
// HashMap: tabela hash (char: No)
this.subnos = new HashMap<Character, No>();
}
@Override
public String toString() {
// operador ternário
return caractere + (ehRaiz?"["+contPalavras+"]":"")+
"->" + subnos.values().toString().
replace('[', ' ').replace(']', ' ');
//+ " -> [" + subnos + "]";
}
// inserir palavra
public boolean inserirPalavra(String palavra){
if (possuiPalavra(palavra)){
System.out.println("Palavra jah existe na arvore!");
return false;
}
if (palavra.length() == 0){ // se a palavra estiver vazia
this.ehTerminal = true;
return true; } // retornar true (palavra inserida)
char letra = palavra.charAt(0); // obter a primeira letra
if (palavra.length() > 1){ // se o tamanho do restante da palavra for > 1
palavra = palavra.substring(1);}// atualizar a palavra (restante dos caracteres)
else { palavra = "";} // senao deixar a palavra vazia
No no = subnos.get(letra); // obter o no a partir da letra
if (no == null){ // se o nó não existir
no = new No(letra); // criar um novo nó
subnos.put(letra, no);// adicionar o novo nó na lista de subnos do no corrente
}
boolean res = no.inserirPalavra(palavra);// inserir o restante da palavra dentro do novo no
if (ehRaiz){
contPalavras++;
}
return res;
}
// obter no
// existe palavra
public boolean possuiPalavra(String palavra){
if (palavra.length() == 0){// se a palavra tiver tamanho zero (ACHOU!)
return (this.ehTerminal);// retorna se o no eh terminal ou nao
}
char letra = palavra.charAt(0);// obter o primeiro caractere
if (palavra.length() > 1){// se a palavra tiver tamanho superior a 1
palavra = palavra.substring(1);// remover a letra lida da palavra
} else {
palavra = "";}// senao atualizar a palavra para vazio
No no = subnos.get(letra);// obter o no a partir do caractere
if (no == null){ return false;}// se o no nao existir retornar falso
else {
return no.possuiPalavra(palavra);}// senao verificar a palavra a partir do no encontrado
}
}
package br.pit.aed2.arvoredigital;
public class ProgramaPrincipal {
public static void main(String[] args) {
// link No: http://pastebin.com/4cKNbn1q
// Criar uma lista de palavras para ser inserido
String [] palavras = {"casa", "coisa", "caderno", "porta"};
// criar o nó raiz da arvore digital
No raiz = new No('*'); raiz.ehRaiz = true;
System.out.println("Exibindo a AD criada: ");
System.out.println(raiz);// exibir a arvore
// inserir uma palavra de teste
System.out.println("Inserindo uma palavra: book");
raiz.inserirPalavra("book");
System.out.println(raiz);// exibir a arvore
// inserir outra palavra de teste
System.out.println("Inserindo uma palavra: table");
raiz.inserirPalavra("table");
System.out.println(raiz);// exibir a arvore
// para cada uma das palavras na lista
System.out.println("Inserindo a lista de palavras: " + palavras);
for (String p: palavras){
raiz.inserirPalavra(p);// inserir a palavra
System.out.println(raiz);// exibir a arvore
}
// exibir a arvore final
// parte 2:
// a) adicionar um contador de palavras na árvore
// b) criar um metodo para verificar se um prefixo existe na arvore
// c) criar um metodo para listar todas as palavras que contem um prefixo
// d) criar um método para excluir uma palavra da árvore
// e) criar um método para listar todas as palavras da árvore
// f) criar um metodo para encontrar a maior e menor palavras
// g) criar um método para encontrar o nó com a maior quantidade de descendentes
// h) criar um método para exibir a quantidade total de letras
// i) criar um método para exibir as palavras da árvore de forma invertida (ex. casa -> asac)
}
}
2015/2 - AED2: Árvore Digital em Groovy
Operações:
- Inserir palavra
- Buscar por nó
- remover palavra
- verificar se prefixo existe em árvore
- listar todas as palavras que possuem um prefixo
class No implements Comparable{
char caractere
def nos = [:]
def isTerminal = false
def isRoot = false
int numWords = 0
// nos.sort(it.caractere)
public String toString(){
def sb = ''<<''
if (isRoot){
sb <<= '{numWords: ' + numWords + '] '
}
sb <<= caractere
sb <<= " -> "
sb <<= nos
return sb
//this.properties
}
int compareTo(obj){
return caractere - obj.caractere
}
def inserirPalavra(palavra){
if (palavra.length() == 0){
isTerminal = true
return true
}
char letra = palavra[0]
if (palavra.length() > 1){
palavra = palavra.substring(1)
} else {
palavra = ""
}
def no = nos.get(letra)
if (no == null){
no = new No(caractere: letra)
nos.putAt(letra, no)
}
if (isRoot){
numWords++
}
return no.inserirPalavra(palavra)
}
def existePalavra(palavra){
if (palavra.length() == 0){
return true
}
char letra = palavra[0]
if (palavra.length()>1){
palavra = palavra.substring(1)
} else {
palavra = ''
}
def no = obterNo(letra)
if (no != null){
return no.existePalavra(palavra)
} else {
return false
}
}
def obterNo(letra){
for (no in nos){
if (no.caractere == letra){
return no
}
}
return null
}
}
def a = new No(caractere: '*', isRoot: true)
def b = new No(caractere: 'b')
def f = new No(caractere: 'f')
println 'Arvore digital vazia'
println a
def palavra = 'casa'
a.inserirPalavra(palavra)
println 'Arvore digital com uma palavra'
println a
def palavras = ["the", "book", "table", "tablet"]
for (l in palavras){
println 'Adding word: ' + l
a.inserirPalavra(l)
}
println a
- Inserir palavra
- Buscar por nó
- remover palavra
- verificar se prefixo existe em árvore
- listar todas as palavras que possuem um prefixo
class No implements Comparable{
char caractere
def nos = [:]
def isTerminal = false
def isRoot = false
int numWords = 0
// nos.sort(it.caractere)
public String toString(){
def sb = ''<<''
if (isRoot){
sb <<= '{numWords: ' + numWords + '] '
}
sb <<= caractere
sb <<= " -> "
sb <<= nos
return sb
//this.properties
}
int compareTo(obj){
return caractere - obj.caractere
}
def inserirPalavra(palavra){
if (palavra.length() == 0){
isTerminal = true
return true
}
char letra = palavra[0]
if (palavra.length() > 1){
palavra = palavra.substring(1)
} else {
palavra = ""
}
def no = nos.get(letra)
if (no == null){
no = new No(caractere: letra)
nos.putAt(letra, no)
}
if (isRoot){
numWords++
}
return no.inserirPalavra(palavra)
}
def existePalavra(palavra){
if (palavra.length() == 0){
return true
}
char letra = palavra[0]
if (palavra.length()>1){
palavra = palavra.substring(1)
} else {
palavra = ''
}
def no = obterNo(letra)
if (no != null){
return no.existePalavra(palavra)
} else {
return false
}
}
def obterNo(letra){
for (no in nos){
if (no.caractere == letra){
return no
}
}
return null
}
}
def a = new No(caractere: '*', isRoot: true)
def b = new No(caractere: 'b')
def f = new No(caractere: 'f')
println 'Arvore digital vazia'
println a
def palavra = 'casa'
a.inserirPalavra(palavra)
println 'Arvore digital com uma palavra'
println a
def palavras = ["the", "book", "table", "tablet"]
for (l in palavras){
println 'Adding word: ' + l
a.inserirPalavra(l)
}
println a
2015/2: ALP - Estruturas de Repetição: Exercício 1
Problema 1
Entrada: dois números naturais A e B informados pelo usuário
Saída: Se A for maior que B:
Informar se A é divisível por B (A/B?)
Senao:
Informar todos os múltiplos de A de zero até B
Solução:
- Linguagem natural
- Pseudocodigo
- Código fonte em C
Linguagem natural
1) Solicitar do usuário dois numeros naturais (A e B)
2) Ler as duas entradas (A e B)
3) Se A for maior que B
3.1) Calcular o resto da divisão de A por B
3.2) Se o resto for zero
3.2.1) Informar que B divide A
3.3) Senão
3.3.1) Informar que B NÃO divide A
4) Senao (A é menor ou igual a B)
4.1) Para cada número de zero até B de A em A
4.1.1) Exibir o número
Ex: A=8, B=3-> testar se A é divisível por B -> não é divisivel (8 MOD 3 != 0)
Ex: A=5, B=34-> listar os multiplos de A de zero até B -> 0, 5, 10, 15 ... 30
Pseudocódigo
algoritmo "semnome"
// Função :
// Autor :
// Data : 28/10/2015
// Seção de Declarações
var
a, b, c, r: inteiro
inicio
// Seção de Comandos
escreval("Digite dois numeros naturais:")
leia(a)
leia(b)
se a > b entao // a maior que b
r <- a mod b // resto da div. de a por b
se r = 0 entao
escreval("B divide A")
senao
escreval("B NAO divide A")
fimse
senao // a menor ou igual a b
para c de 0 ate B passo a faca
escreval(c)
fimpara
fimse
fimalgoritmo
Código Fonte em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
// variaveis
int a, b, c, r;
// entrada
printf("Digite dois números inteiros:");
scanf("%d %d", &a, &b);
// processamento
if (a > b){
r = a % b; // modulo
if (r == 0){
printf("B divide A\n");
} else {
printf("B NAO divide A\n");
}
} else{
for (c = 0; c <= b; c = c + a){
printf("%d\n", c);
}
}
system("PAUSE");
return 0;
}
Entrada: dois números naturais A e B informados pelo usuário
Saída: Se A for maior que B:
Informar se A é divisível por B (A/B?)
Senao:
Informar todos os múltiplos de A de zero até B
Solução:
- Linguagem natural
- Pseudocodigo
- Código fonte em C
Linguagem natural
1) Solicitar do usuário dois numeros naturais (A e B)
2) Ler as duas entradas (A e B)
3) Se A for maior que B
3.1) Calcular o resto da divisão de A por B
3.2) Se o resto for zero
3.2.1) Informar que B divide A
3.3) Senão
3.3.1) Informar que B NÃO divide A
4) Senao (A é menor ou igual a B)
4.1) Para cada número de zero até B de A em A
4.1.1) Exibir o número
Ex: A=8, B=3-> testar se A é divisível por B -> não é divisivel (8 MOD 3 != 0)
Ex: A=5, B=34-> listar os multiplos de A de zero até B -> 0, 5, 10, 15 ... 30
Pseudocódigo
algoritmo "semnome"
// Função :
// Autor :
// Data : 28/10/2015
// Seção de Declarações
var
a, b, c, r: inteiro
inicio
// Seção de Comandos
escreval("Digite dois numeros naturais:")
leia(a)
leia(b)
se a > b entao // a maior que b
r <- a mod b // resto da div. de a por b
se r = 0 entao
escreval("B divide A")
senao
escreval("B NAO divide A")
fimse
senao // a menor ou igual a b
para c de 0 ate B passo a faca
escreval(c)
fimpara
fimse
fimalgoritmo
Código Fonte em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
// variaveis
int a, b, c, r;
// entrada
printf("Digite dois números inteiros:");
scanf("%d %d", &a, &b);
// processamento
if (a > b){
r = a % b; // modulo
if (r == 0){
printf("B divide A\n");
} else {
printf("B NAO divide A\n");
}
} else{
for (c = 0; c <= b; c = c + a){
printf("%d\n", c);
}
}
system("PAUSE");
return 0;
}
terça-feira, 27 de outubro de 2015
2015/2 - PAA: Knapsack Usando Estratégia Gulosa (Groovy)
import static java.math.RoundingMode.*
def knapsackCont = { list, maxWeight = 15.0 ->
for (item in list) {
item.benefit = item.value/item.weight
item.benefit = (item.benefit as BigDecimal).setScale(2, HALF_UP)
}
println 'before sort: ' + list
list.sort{ it.weight / it.value }
println 'after sort: ' + list
def remainder = maxWeight
println 'max weight: ' + maxWeight
List sack = []
for (item in list) {
if (item.weight < remainder) {
sack << [item]
} else {
sack << [item]
break
}
remainder -= item.weight
println 'remainder: ' + remainder
}
sack
}
def possibleItems = [
[name:'green', weight:12, value:4, benefit: 0],
[name:'gray', weight:1, value:2, benefit: 0],
[name:'yellow', weight:4, value:10, benefit: 0],
[name:'blue', weight:2, value:2, benefit: 0],
[name:'orange', weight:1, value:1, benefit: 0],
]
def contents = knapsackCont(possibleItems)
println "Total Value: ${contents*.value.sum()}"
contents.each {
printf(" name: %-7s weight: ${it.weight} value: ${it.value} benefit: ${it.benefit}\n", it.name)
}
def knapsackCont = { list, maxWeight = 15.0 ->
for (item in list) {
item.benefit = item.value/item.weight
item.benefit = (item.benefit as BigDecimal).setScale(2, HALF_UP)
}
println 'before sort: ' + list
list.sort{ it.weight / it.value }
println 'after sort: ' + list
def remainder = maxWeight
println 'max weight: ' + maxWeight
List sack = []
for (item in list) {
if (item.weight < remainder) {
sack << [item]
} else {
sack << [item]
break
}
remainder -= item.weight
println 'remainder: ' + remainder
}
sack
}
def possibleItems = [
[name:'green', weight:12, value:4, benefit: 0],
[name:'gray', weight:1, value:2, benefit: 0],
[name:'yellow', weight:4, value:10, benefit: 0],
[name:'blue', weight:2, value:2, benefit: 0],
[name:'orange', weight:1, value:1, benefit: 0],
]
def contents = knapsackCont(possibleItems)
println "Total Value: ${contents*.value.sum()}"
contents.each {
printf(" name: %-7s weight: ${it.weight} value: ${it.value} benefit: ${it.benefit}\n", it.name)
}
sexta-feira, 16 de outubro de 2015
2015-2 - Programação Web - Exercício com HTML5
https://jsfiddle.net/tueaanfh/
<nav>
<a href="/html/">HTML</a> |
<a href="/css/">CSS</a> |
<a href="/js/">JavaScript</a> |
<a href="/jquery/">jQuery</a>
</nav>
<article>
<header>
<h1>What Does WWF Do?</h1>
<p>WWF's mission:</p>
</header>
<figure>
<img src="pic_mountain.jpg" alt="The Pulpit Rock" width="304" height="228">
<figcaption>Fig1. - The Pulpit Rock, Norway.</figcaption>
</figure>
<p>WWF's mission is to stop the degradation of our planet's natural environment,
and build a future in which humans live in harmony with nature.</p>
Video:
<video width="320" height="240" controls>
<source src="http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<br/><br/>
Audio:
<audio controls>
<source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<br/><br/>
</article>
<aside>
<h4>Epcot Center</h4>
<p>The Epcot Center is a theme park in Disney World, Florida.</p>
</aside>
<details>
<summary>Copyright 1999-2014.</summary>
<p> - by Refsnes Data. All Rights Reserved.</p>
<p>All content and graphics on this web site are the property of the company Refsnes Data.</p>
</details>
Youtube:
<iframe width="420" height="315"
src="http://www.youtube.com/embed/XGSy3_Czz8k?autoplay=1">
</iframe>
<footer>
<p>Posted by: Hege Refsnes</p>
<p>Contact information: <a href="mailto:someone@example.com">
someone@example.com</a>.</p>
</footer>
<nav>
<a href="/html/">HTML</a> |
<a href="/css/">CSS</a> |
<a href="/js/">JavaScript</a> |
<a href="/jquery/">jQuery</a>
</nav>
<article>
<header>
<h1>What Does WWF Do?</h1>
<p>WWF's mission:</p>
</header>
<figure>
<img src="pic_mountain.jpg" alt="The Pulpit Rock" width="304" height="228">
<figcaption>Fig1. - The Pulpit Rock, Norway.</figcaption>
</figure>
<p>WWF's mission is to stop the degradation of our planet's natural environment,
and build a future in which humans live in harmony with nature.</p>
Video:
<video width="320" height="240" controls>
<source src="http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<br/><br/>
Audio:
<audio controls>
<source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<br/><br/>
</article>
<aside>
<h4>Epcot Center</h4>
<p>The Epcot Center is a theme park in Disney World, Florida.</p>
</aside>
<details>
<summary>Copyright 1999-2014.</summary>
<p> - by Refsnes Data. All Rights Reserved.</p>
<p>All content and graphics on this web site are the property of the company Refsnes Data.</p>
</details>
Youtube:
<iframe width="420" height="315"
src="http://www.youtube.com/embed/XGSy3_Czz8k?autoplay=1">
</iframe>
<footer>
<p>Posted by: Hege Refsnes</p>
<p>Contact information: <a href="mailto:someone@example.com">
someone@example.com</a>.</p>
</footer>
quinta-feira, 1 de outubro de 2015
AED2: Eclipse (Java) Exportando e Importando Projetos do Eclipse
Como Exportar projetos Java no Eclipse
1) Selecionar o projeto no Eclipse, botão direito, Export
2) Selecionar General, Archive File
3) Selecionar o projeto a ser exportado e definir o caminho do arquivo destino ZIP
O projeto deverá ser exportado com sucesso no formato ZIP.
Como Importar projetos Java em Eclipse
1) Selecionar o projeto, botão direito, Import
2) Selecionar General, Existing Projects into Workspace:
3) Selecione o botão rádio "Select archive file", clique em Browse selecione o arquivo ZIP contendo o projeto zipado
4) Os projetos contidos no arquivo ZIPado devem aparecer na lista de projetos.
Obs: Caso o projeto já exista no Workspace do Eclipse, ele não poderá ser importado.
Assinar:
Postagens (Atom)










